使用多个参考滤波器的帧内视频编解码
文献发布时间:2023-06-19 19:27:02
相关申请的交叉引用
本申请是申请日为2020年5月5日、申请号为202080031962.7、发明名称为“使用多个参考滤波器的帧内视频编解码”的发明专利申请的分案申请。
技术领域
本专利文件涉及视频处理技术、设备和系统。
背景技术
尽管视频压缩取得了进步,但是在互联网和其他数字通信网络中,数字视频仍占用的最大带宽。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
描述了与在帧内(intra)编解码期间使用插值滤波器的数字视频编码和解码相关的设备、系统和方法。
在一个示例方面,公开了一种视频处理方法。该方法包括提供一种视频处理方法,包括:基于规则,确定是否使用4抽头插值滤波器以用于视频的当前视频单元的当前视频块和该视频的比特流之间的转换,其中使用比特流中的帧内模式来编解码当前视频块;以及基于该确定来执行转换。
在另一示例方面,公开了另一种视频处理方法。该方法包括:对于视频的当前视频单元的当前视频块和视频的比特流之间的转换,通过将插值滤波器应用于参考样点,使用插值滤波器生成帧内预测块,其中参考样点根据规则来确定;以及使用预测块执行转换。
在又一方面,公开了一种视频编码器装置,包括被配置为实施上述方法的处理器。
在又一方面,公开了一种视频解码器装置,包括被配置为实施上述方法的处理器。
在又一方面,公开了一种计算机可读介质。计算机可读介质上存储有用于执行上述方法之一的代码。
在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面和特征。
附图说明
图1示出了33种帧内预测方向的示例。
图2示出了新的和旧的帧内预测模式的示例。
图3示出了67种帧内预测模式的帧内模式索引的示例。
图4A示出了4x8和8x4个CU的子分区(partition)的示例。
图4B示出了除4x8、8x4和4x4之外的CU的子分区的示例。
图5示出了帧内模式的示例。
图6和7是视频处理装置的示例的框图。
图8A至8C是基于所公开技术的一些实施方式的视频处理的示例方法的流程图。
具体实施方式
在本文档中使用章节标题是为了便于理解,并且不将章节中公开的实施例限制为仅该章节。此外,尽管参考多功能视频编解码或其他特定视频编解码器描述了某些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,虽然一些实施例详细描述了视频编解码步骤,但是应当理解,撤销编码的相应解码步骤将由解码器实施。此外,术语视频处理包含视频编解码或压缩、视频解码或解压缩以及视频转码,其中视频像素从一种压缩格式表示为另一种压缩格式或以不同的压缩比特率表示。
1.概述
本文档与视频编解码技术相关。具体而言,它与视频编解码中的帧内编解码过程相关。它可以应用于现有的视频编解码标准(如HEVC),或待定的标准(多功能视频编解码)。它也可能适用于未来的视频编解码标准或视频编解码器。
2.初步讨论
视频编解码标准主要是通过熟知的ITU-T和ISO/IEC标准的发展演变而来的。ITU-T制作了H.261和H.263,ISO/IEC制作了MPEG-1和MPEG-4视觉,这两个组织联合制作了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于其中利用时间预测加变换编解码的混合视频编解码结构。为了探索超过HEVC的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(JVET)。此后,JVET采用了许多新方法,并将其输入到名为联合探索模型(JEM)的参考软件中。JVET会议每季度同时举行一次,并且与HEVC相比,新的编解码标准的目标是比特率降低50%。新的视频编解码标准在2018年4月的JVET会议上被正式命名为多功能视频编解码(VVC),VVC测试模型(VTM)的第一个版本在那时发布。随着对VVC标准化的不断努力,新的编解码技术在每次JVET会议上都被采用到VVC标准中。VVC工作草案和测试模型VTM在每次会议后都会更新。VVC项目现在的目标是在2020年7月的会议上的技术完成(FDIS)。
2.1HEVC/H.265中的帧内预测
帧内预测包括使用先前在所考虑的颜色通道中重构的样点为给定的TB(变换块)生成样点。亮度和色度通道的帧内预测模式是单独用信号通知的,经由“DM_CROMIC”模式,色度通道帧内预测模式可选地依赖于亮度通道帧内预测模式。尽管帧内预测模式是在PB(预测块)级别发信号通知的,但是根据CU的残差四叉树层次结构,帧内预测过程是在TB级别应用的,从而允许在CU内一个TB的编解码对下一个TB的编解码有影响,并且因此减少了到用作参考值的样点的距离。
HEVC包括35种帧内预测模式——DC模式、平面(Planar)模式和33种定向或“角度”帧内预测模式。图1中示出了33种角度帧内预测模式。
图1示出了33种帧内预测方向的示例。
对于与色度颜色通道相关联的PB,帧内预测模式被指定为平面、DC、水平、垂直、“DM_CROMIC”模式或有时对角模式“34”。
注意:对于色度格式4:2:2和4:2:0,色度PB可能(分别)与两个或四个亮度PB重叠;在这种情况下,DM_CROMIC的亮度方向取自这些亮度PB的左上方。
DM_CROMIC模式指示亮度颜色通道PB的帧内预测模式应用于色度颜色通道PB。因为这是相对常见的,所以intra_CHROMA_pred_mode的最可能模式编解码方案偏向于选择该模式。
2.2VCC中的67种帧内预测模式
为了捕获自然视频中呈现的任意边缘方向,VTM 4中的定向帧内模式的数量从在HEVC使用的33种扩展到65种。HEVC中没有的新定向模式在图2中用虚线箭头表示,平面和DC模式保持不变。
这些更密集的定向帧内预测模式适用于所有块尺寸以及应用于亮度和色度帧内预测两者。
帧内预测模式和相关联的帧内预测模式索引是:平面(0)或DC(1)、垂直(50)、HOR(18)、左上模式(34)、右上模式(66)。
图2示出了新的和旧的帧内预测模式的示例。
图3示出了67种帧内预测模式的帧内模式索引的示例。
2.3非正方形块的广角帧内预测(Wide-angle intra prediction for non-square blocks,WAIP)
传统的角度帧内预测方向被定义为以顺时针方向从45度到-135度。在VTM4中,对于非正方形块,几种传统的角度帧内预测模式被适应性地替换为广角帧内预测模式。被替换的模式使用原始模式索引来发信号,在解析之后,原始模式索引被重新映射到广角模式的索引。帧内预测模式的总数不变,即67,并且帧内模式编解码方法不变。
2.4帧内子分区(Intra sub-partitions,ISP)
帧内子分区工具根据块尺寸将亮度帧内预测块垂直或水平划分为2或4个子分区。例如,ISP的最小块尺寸是4x8(或8x4)。如果块尺寸大于4x8(或8x4),则相对应的块被划分为4个子分区。图4A-4B示出了两种可能性的示例。所有子分区都满足至少有16个样点的条件。
图4A示出了4x8和8x4CU的子分区的示例。
图4B示出了除4x8、8x4和4x4CU之外的CU的子分区的示例。
对于每个子分区,通过将残差信号添加到预测信号来获得重构样点。这里,通过诸如熵解码、逆量化和逆变换之类的过程来生成残差信号。因此,每个子分区的重构样点值可用于生成下一个子分区的预测,并且每个子分区被重复处理。此外,要处理的第一个子分区包含CU的左上角样点,然后继续向下(水平分割)或向右(垂直分割)。结果,用于生成子分区预测信号的参考样点仅位于线的左侧和上方。所有子分区共享相同的帧内模式。
2.5模式相关帧内平滑(Mode Dependent Intra Smoothing,MDIS)和4抽头参考样点插值滤波器
四抽头帧内插值值滤波器用于提高定向帧内预测准确度。在HEVC中,两抽头双线性插值滤波器已经被用于在定向预测模式中生成帧内预测块(即,排除平面和DC预测器)。在VTM4中,简化的6比特4抽头高斯插值滤波器和6比特4抽头DCT-IF色度滤波器仅用于定向帧内模式。非定向帧内预测过程未被修改。4抽头滤波器的选择是根据提供非分数位移的定向帧内预测模式的MDIS条件来执行的,即除了以下模式之外的所有定向模式:2、HOR_IDX、DIA_IDX、VER_IDX、66……
根据帧内预测模式,执行以下参考样点处理:
1.定向帧内预测模式被分类为以下组之一:
A.垂直或水平模式(HOR-IDX、VER-IDX),
B.表示45度倍数的角度的对角模式(2、DIA_IDX、VDIA_IDX…),
C.剩余的定向模式;
2.如果定向帧内预测模式被分类为属于组A,则不对参考样点应用滤波器以生成预测样点;
3.否则,如果模式落入组B,则可以对参考样点应用[1,2,1]参考样点滤波器(取决于MDIS条件),以根据选择的方向将这些滤波值进一步复制到帧内预测器中,但是不应用插值滤波器;
4.否则,如果模式被分类为属于组C,则仅将帧内参考样点插值滤波器应用于参考样点,以根据选择的方向生成落入参考样点之间的分数或整数位置的预测样点(不执行参考样点滤波)。
2.5.1 VVC规范/工作草案中的帧内参考样点插值滤波器
以下文本摘自VVC工作草案JVET-M1001-v7。
8.4.4.2.7 INTRA_ANGULAR2..INTRA_ANGULAR66帧内预测模式的规范.
该过程的输入是:
–帧内预测模式predModeIntra,
–指定帧内预测参考线索引的变量refIdx,
–指定变换块宽度的变量nTbW,
–指定变换块高度的变量nTbH,
–指定参考样点宽度的变量refW,
–指定参考样点高度的变量refH,
–指定编解码块宽度的变量nCbW,
–指定编解码块高度的变量nCbH,
–指定当前块的颜色分量的变量cIdx,
–相邻样点p[x][y],其中x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx。
该过程的输出是修改的帧内预测模式predModeIntra和预测样点predSamples[x][y],其中x=0..nTbW-1,y=0..nTbH-1。
变量nTbS设置为等于(Log2(nTbW)+Log2(nTbH))>>1。
变量nW和nH推导如下:
–如果IntraSubPartitionsSplitType等于ISP_NO_SPLIT或cIdx不等于0,则应用以下:
nW=nTbW (8-125)
nH=nTbH(8-126)
–否则(IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,而cIdx等于0),则应用以下:
nW=nCbW (8-127)
nH=nCbH(8-128)
变量whRatio设置为等于Abs(Log2(nW/nH))。
变量wideAngle被设置为等于0。
对于非正方形块(nW不等于nH),帧内预测模式predModeIntra修改如下:
–如果以下所有条件均为真,则wideAngle设置为等于1,predModeIntra设置为等于(predModeIntra+65)。
–nW大于nH
–predModeIntra大于或等于2
–predModeIntra小于(whRatio>1)?(8+2*whRatio):8
–否则,如果以下所有条件均为真,则wideAngle设置为等于1,predModeIntra设置为等于(predModeIntra-67)。
–nH大于nW
–predModeIntra小于或等于66
–predModeIntra大于(whRatio>1)?(60-2*whRatio):60
变量filterFlag推导如下:
–如果以下一个或多个条件为真,则filterFlag设置为等于0。
–predModeIntra等于INTRA_ANGULAR2、INTRA_ANGULAR34或INTRA_ANGULAR66
–refIdx不等于0
–IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,并且cIdx等于0,并且predModeIntra大于或等于INTRA_ANGULAR34,并且nW大于8
–IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,并且cIdx等于0,并且predModeIntra小于INTRA_ANGULAR34,并且nH大于8。
–否则,则应用以下:
–变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。
–变量intraHorVerDistThres[nTbS]在表1中指定。
–变量filterFlag推导如下:
–如果minDistVerHor大于或等于intraHorVerDistThres[nTbS]或者wideAngle等于1,则filterFlag设置为等于1。
–否则,filterFlag设置为等于0。
表1–各种变换块尺寸nTbS的intraHorVerDistThres[nTbS]的规范
作为本申请的图5的(VVC)——帧内预测方向(信息量大(informative))
作为本申请的图5示出了93种预测方向,其中虚线方向与仅应用于非正方形块的广角模式相关联。
表2指定了predModeIntra和角度参数intraPredAngle之间的映射表。
表2–intraPredAngle的规范
反角参数invAngle基于intraPredAngle导出,如下所示:
其中相位(phase)=0.31并且j=0.3的插值滤波器系数fC[phase][j]和fG[phase][j]在表3中指定。
表3–插值滤波器系数fC和fG的规范
/>
其中x=0..nTbW-1,y=0..nTbH-1的预测样点predSamples[x][y]的值推导如下:
–如果predModeIntra大于或等于34,则应用以下有序步骤:
1.参考样点阵列ref[x]被指定为如下:
–应用以下:
ref[x]=p[-1-refIdx+x][-1-refIdx],
其中x=0..nTbW+refIdx(8-130)
–如果intraPredAngle小于0,则主参考样点阵列扩展如下:
–当(nTbH*intraPredAngle)>>5小于-1时,
ref[x]=
p[-1-refIdx][-1-refIdx+((x*invAngle+128)>>8)],
其中x=-1..(nTbH*intraPredAngle)>>5(8-131)
ref[((nTbH*intraPredAngle)>>5)-1]=
ref[(nTbH*intraPredAngle)>>5] (8-132)
ref[nTbW+1+refIdx]=ref[nTbW+refIdx] (8-133)
–否则,
ref[x]=p[-1-refIdx+x][-1-refIdx],其中x=
nTbW+1+refIdx..refW+refIdx(8-134)
ref[-1]=ref[0](8-135)
–附加样点ref[refW+refIdx+x],
其中x=1..(Max(1,nTbW/nTbH)*refIdx+1)推导如下:
ref[refW+refIdx+x]=p[-1+refW][-1-refIdx](8-136)
2.其中x=0..nTbW–1,y=0..nTbH–1的预测样点predSamples[x][y]的值推导如下:
–索引变量iIdx和乘法因子iFact推导如下:
iIdx=((y+1+refIdx)*intraPredAngle)>>5+refIdx(8-137)
iFact=((y+1+refIdx)*intraPredAngle)&31(8-138)
–如果cIdx等于0,则应用以下:
–其中j=0..3的插值滤波器系数fT[j]推导如下:
fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j](8-139)
–预测样点的值predSamples[x][y]推导如下:
–否则(cIdx不等于0),根据iFact的值,则应用以下:
–如果iFact不等于0,预测样点的值predSamples[x][y]推导如下:
predSamples[x][y]=
((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+1
6)>>5(8-141)
–否则,预测样点的值predSamples[x][y]推导如下:
predSamples[x][y]=ref[x+iIdx+1] (8-142)
–否则(predModeIntra小于34),则应用以下有序步骤:
1.参考样点阵列ref[x]被指定为如下:
–应用以下:
ref[x]=p[-1-refIdx][-1-refIdx+x],其中
x=0..nTbH+refIdx(8-143)–如果intraPredAngle小于0,则主参考样点阵列扩展如下:
–当(nTbW*intraPredAngle)>>5小于-1,
ref[x]=
p[-1-refIdx+((x*invAngle+128)>>8)][-1-refIdx],
其中x=-1..(nTbW*intraPredAngle)>>5(8-144)
ref[((nTbW*intraPredAngle)>>5)-1]=
ref[(nTbW*intraPredAngle)>>5] (8-145)
ref[nTbG+1+refIdx]=ref[nTbH+refIdx] (8-146)
–否则,
ref[x]=p[-1-refIdx][-1-refIdx+x],其中
x=nTbH+1+refIdx..refH+refIdx (8-147)
ref[-1]=ref[0] (8-148)
–附加样点ref[refH+refIdx+x],
其中x=1..(Max(1,nTbW/nTbH)*refIdx+1)推导如下:
ref[refH+refIdx+x]=p[-1+refH][-1-refIdx](8-149)
2.其中x=0..nTbW-1,y=0..nTbH–1的预测样点predSamples[x][y]的值推导如下:
–索引变量iIdx和乘法因子iFact推导如下:
iIdx=((x+1+refIdx)*intraPredAngle)>>5 (8-150)
iFact=((x+1+refIdx)*intraPredAngle)&31(8-151)
–如果cIdx等于0,则应用以下:
–其中j=0..3的插值滤波器系数fT[j]推导如下:
fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j](8-152)
–预测样点predSamples[x][y]的值推导如下:
–否则(cIdx不等于0),根据iFact的值,则应用以下:
–如果iFact不等于0,预测样点predSamples[x][y]的值推导如下:
predSamples[x][y]=
((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5(8-154)
–否则,预测样点predSamples[x][y]的值推导如下:
predSamples[x][y]=ref[y+iIdx+1](8-155)
2.5.2采用JVET-N0435
在过去的JVET-N会议上,JVET-N0435被用于使WAIP与MDIS和参考样点插值滤波器的使用相协调。如果广角模式表示非分数偏移。广角模式中有8种模式满足这个条件,它们是[-14,-12,-10,-6,72,76,78,80]。当通过这些模式预测块时。提出直接从参考缓冲区中的特定样点进行复制,而不应用任何插值。相反,参考滤波器有条件地应用于这些模式,以平滑预测器。通过这种修改,减少了需要平滑的样点数量。此外,它将传统预测模式和广角模式中的非分数模式的设计对齐。
2.5.3 JVET-N 0435中相对应的修改工作草案
以下文本摘自由JVET-N0435提供的修改后的VVC工作草案。修改用加粗斜体突出显示。
8.4.4.2.1.常规帧内样点预测
该过程的输入是:
–指定当前变换块的左上样点相对于当前图片的左上样点的样点位置(xTbCmp,yTbCmp),
–指定帧内预测模式的变量predModeIntra,
–指定变换块宽度的变量nTbW,
–指定变换块高度的变量nTbH,
–指定编解码块宽度的变量nCbW,
–指定编解码块高度的变量nCbH,
–指定当前块的颜色分量的变量cIdx。
该过程的输出是预测样点predSamples[x][y],其中x=0..nTbW–1,y=0..nTbH–1。
变量refW和refH如下推导:
–如果IntraSubPartitionsSplitType等于ISP_NO_SPLIT或者cIdx不等于0,则应用以下:
refW=nTbW*2(8-103)
refH=nTbH*2 (8-104)
–否则(IntraSubPartitionsSplitType不等于ISP_NO_SPLIT并且cIdx等于0),则应用以下:
refW=nCbW*2 (8-105)
refH=nCbH*2 (8-106)
指定帧内预测参考线索引的变量refIdx推导如下:
对于参考样点p[x][y]的生成,x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx,应用以下有序步骤:
1.调用在条款8.4.4.2.2中指定的参考样点可用性标记过程,其中以样点位置(xTbCmp,yTbCmp)、帧内预测参考线索引refIdx、参考样点宽度refW、参考样点高度refH、颜色分量索引cIdx作为输入,并且以参考样点RefFILT[x][y](其中x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx)作为输出。
2.当其中x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1–refIdx的至少一个样点refUnfilt[x][y]被标记为“不可用于帧内预测”时,调用条款8.4.4.2.3中指定的参考样点替换过程,其中以帧内预测参考线索引refIdx、参考样点宽度refW、参考样点高度refH、参考样点refnfilet[x][y](其中x=-1–refIdx,y=-1-refIdx..refH–1以及x=-refIdx..refW–1,y=-1-refIdx)和颜色分量索引cIdx作为输入,并且以修改后的参考样点refenfilt[x][y](其中x=-1–refIdx,y=-1-refIdx..refH–1以及x=-refIdx..refW–1,y=-1-refIdx)作为输出。
3.调用条款8.4.4.2.4中指定的参考样点滤波过程,其中以帧内预测参考线索引refIdx、变换块宽度nTbW和高度nTbH、参考样点宽度refW、参考样点高度refH、
根据predModeIntra的帧内样点预测过程应用如下:
–如果predModeIntra等于INTRA_PLANAR,则调用在条款8.4.4.2.5中指定的相应帧内预测模式处理,其中以变换块宽度nTbW、变换块高度nTbH和参考样点阵列p作为输入,并且输出是预测样点阵列predSamples。
–否则,如果predModeIntra等于INTRA_DC,则调用在条款8.4.4.2.6中指定的相应帧内预测模式处理,其中以变换块宽度nTbW、变换块高度nTbH和参考样点阵列p作为输入,并且输出是预测样点阵列predSamples。
–否则,如果predModeIntra等于INTRA_LT_CCLM、INTRA_L_CCLM或INTRA_T_CCLM,则调用在条款8.4.4.2.8中指定的相应帧内预测模式处理,其中,以帧内预测模式predModeIntra、设置为等于(xTbCmp,yTbCmp)的样点位置(xTbC,yTbC)、变换块宽度nTbW和高度nTbH,以及参考样点阵列p作为输入,并且输出是预测样点阵列predSamples。
–否则,调用在条款8.4.4.2.7中指定的相应帧内预测模式处理,其中,
以帧内预测模式predModeIntra、帧内预测参考线索引refIdx、变换块宽度nTbW、变换块高度nTbH、参考样点宽度refW、参考样点高度refH、编解码块宽度nCbW和高度nCbH、
当下列所有条件都为真时,调用在条款8.4.4.2.9中指定的位置相关的预测样点滤波过程,其中以帧内预测模式predModeIntra、变换块宽度nTbW和变换块高度nTbH,预测样点predSamples[x][y](其中x=0..nTbW–1,y=0..nTbH-1)、参考样点宽度refW、参考样点高度refH、参考样点p[x][y](其中x=-1,y=-1..refH–1以及x=0..refW–1,y=-1)、颜色分量索引cIdx作为输入,并且输出为修改后的预测样点阵列predSamples:
–IntraSubPartitionsSplitType等于ISP_NO_SPLIT或cIdx不等于0
–refIdx等于0或cIdx不等于0
–下列条件之一为真:
–predModeIntra等于INTRA_PLANAR
–predModeIntra等于INTRA_DC
–predModeIntra等于INTRA_ANGULAR18
–predModeIntra等于INTRA_ANGULAR50
–predModeIntra小于或等于INTRA_ANGULAR10
–predModeIntra大于或等于INTRA_ANGULAR58
8.4.4.2.4.参考样点滤波过程
该过程的输入是:
–指定帧内预测参考线索引的变量refIdx,
–指定变换块宽度的变量nTbW,
–指定变换块高度的变量nTbH,
–指定参考样点宽度的变量refW,
–指定参考样点高度的变量refH,
–(未滤波的)相邻样点refUnfilt[x][y],其中x=-1-refIdx,y=
-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx,
–指定当前块的颜色分量的变量cIdx,。
该过程的输出是参考样点p[x][y],其中x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx。
变量filterFlag推导如下:
–如果以下所有条件均为真,则filterFlag设置为等于1:
–refIdx等于0
–nTbW*nTbH大于32
–cIdx等于0
–IntraSubPartitionsSplitType等于ISP_NO_SPLIT
–否则,filterFlag设置为等于0。
对于参考样点p[x][y]的推导,应用以下:
–如果filterFlag等于1,则滤波的样点值p[x][y](其中x=-1,y=
-1..refH–1以及x=0..refW-1,y=-1)推导如下:
p[-1][-1]=(refUnfilt[-1][0]+2*refUnfilt[-1][-1]+refUnfilt[0][-1]+2)>>2(8-111)
p[-1][y]=(refUnfilt[-1][y+1]+2*refUnfilt[-1][y]+refUnfilt[-1][y-1]+2)>>2,对于y=0..refH-2(8-112)p[-1][refH-1]=refUnfilt[-1][refH-1](8-113)
p[x][-1]=(refUnfilt[x-1][-1]+2*refUnfilt[x][-1]+refUnfilt[x+1][-1]+2)>>2,对于x=0..refW-2 (8-114)
p[refW-1][-1]=refUnfilt[refW-1][-1] (8-115)
–否则,参考样点值p[x][y]被设置为等于未滤波样点值refFilt[x][y],其中,x=-1-refIdx,y=-1-refIdx..refH–1以及x=-refIdx..refW
–1,y=-1-refIdx。
8.4.4.2.7.INTRA_ANGULAR2..INTRA_ANGULAR66帧内预测模式的规范
该过程的输入是:
–帧内预测模式predModeIntra,
–指定帧内预测参考线索引的变量refIdx,
–指定变换块宽度的变量nTbW,
–指定变换块高度的变量nTbH,
–指定参考样点宽度的变量refW,
–指定参考样点高度的变量refH,
–指定编解码块宽度的变量nCbW,
–指定编解码块高度的变量nCbH,
–指定当前块的颜色分量的变量cIdx,
–相邻样点p[x][y],其中x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx。
变量nTbS设置为等于(Log2(nTbW)+Log2(nTbH))>>1。
变量nW和nH推导如下:
–如果以下一个或多个条件为真,则
–predModeIntra等于INTRA_ANGULAR2、INTRA_ANGULAR34或
INTRA_ANGULAR66
–refIdx不等于0
–否则,则应用以下:
–变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。
–变量intraHorVerDistThres[nTbS]在表1中指定。
–变量filterFlag推导如下:
–如果minDistVerHor大于或等于intraHorVerDistThres[nTbS]
–否则,filterFlag设置为等于0。
表1–各种变换块尺寸nTbS的intraHorVerDistThres[nTbS]的规范
1.由实施例解决的问题的示例
在帧内预测设计的当前设计中存在几个问题,如下所述。
·4抽头插值滤波器用于各种种类的块尺寸。对于如4x4的小的块尺寸,使用4抽头插值滤波器可能会带来太多的计算复杂性。
·6比特4抽头DCT-IF色度滤波器FC用于具有特定块尺寸和识别的预测模式的ISP编解码块。更具体地说,在JVET-M1001-v7的第8.4.4.2.7节中,如果以下一个或多个条件为真,则filterFlag被设置为等于0(这意味着将使用表3中的插值滤波器系数fC)。
–IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,并且cIdx等于0,并且predModeIntra大于或等于INTRA_ANGULAR34,并且nW大于8
–IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,并且cIdx等于0,并且predModeIntra小于INTRA_ANGULAR34,并且nH大于8。
·用于插值的参考样点被参考线索引错误地计算,例如,索引变量iIdx和乘法因子iFact推导如下:iIdx=((y+1+refIdx)*intraPredAngle)>>5+refIdx
4.实施例和技术的示例列表
下面的详细发明应该被认为是解释一般概念的示例。这些发明不应该被狭隘地解释。此外,这些发明可以以任何方式组合。
在以下描述中,“Fc”表示4抽头DCT-IF色度滤波器,“F
在以下描述中,“块”可表示VVC中定义的CU/PU/TU。块可以包含不同的颜色分量,诸如Y/U/V分量或R/G/B分量,或者仅对应于一个颜色分量。该方法可以适用于块的颜色分量,或者块的所有颜色分量。块的宽度和高度分别表示为W和H。
支持对一个视频单元(例如,一个块(brick)/片(tile)/片组/条带(slice))进行
1.可以预定义用于帧内预测过程的多个插值滤波器。
a)可替代地,一个或多个插值滤波器集合的指示可以以序列/图片/条带/其他视频单元级别来发信号通知。
i.在一个示例中,它们可以在SPS/VPS/PPS/图片标头/条带标头/APS/片组标头/片标头等中被发信号通知等。
b)要使用的插值滤波器可以从一个视频单元改变到另一个视频单元。
i.在一个示例中,视频单元可以是序列/图片/视图/条带/片组/片/块/CTU行/CTU/CU/PU/TU/VPDU。
ii.在一个示例中,选择的指示
c)多个插值滤波器的选择可以取决于块尺寸。
d)多个插值滤波器的选择可以取决于颜色分量。
e)多个插值滤波器的选择可以取决于编解码方法。
i.在一个示例中,编解码方法可以包括正常帧内预测方法、ISP、仿射帧内预测方法、MRL等等。
2.提出是否使用4抽头插值滤波器(例如,4抽头三次滤波器,或DCT-
IF色度滤波器、或高斯滤波器等)可以取决于块尺寸。
a)在一个示例中,是否使用4抽头插值滤波器可以取决于TU的宽度或高度。
i.在一个示例中,当W或H大于阈值T1(例如,T1=8)时,可以使用4抽头插值滤波器。
ii.可选的,当W或H等于或小于阈值T2(例如,T2=32)时,可以使用4抽头插值滤波器。
iii.可替代地,此外,4抽头插值滤波器可以对其他块禁用。
b)在一个示例中,是否使用4抽头插值滤波器可以取决于TU的尺寸。
i.在一个示例中,当W*H大于阈值T1时,可以使用4抽头插值滤波器,其中T1是阈值。
1.在一个示例中,T1=32,这意味着4x4/8x4/4x8/2x8/8x2/16x2/2x16/1x16/16x1/32x1/1x32块可以不使用4抽头插值滤波器。
ii.可替代地,当W*H等于或小于阈值T2(例如,T2=64)时,可以使用4抽头插值滤波器。
iii.可替代地,此外,4抽头插值滤波器可以对其他块禁用。
c)在一个示例中,当W大于T1并且H大于T2时(例如,T1=8,T2=8),可以使用4抽头插值滤波器。
i.在一个示例中,4x4/4x8/8x8块可以不应用4抽头插值滤波器。
ii.可替代地,当W不大于T1并且H不大于阈值T2(例如,T1=64,T2=64)时,可以使用4抽头插值滤波器。
iii.可替代地,此外,4抽头插值滤波器可以对其他块禁用。
d)当不允许4抽头插值滤波器时,可以使用2抽头滤波器(例如,
2抽头双线性滤波器)。
i.在一个示例中,双线性/线性滤波器可以用于小尺寸的TU。
1.在一个示例中,对于小于或等于N个(诸如,N=32)像素的TU尺寸(例如,宽度*高度),双线性滤波器可用于在定向预测模式中生成帧内预测块。在一个示例中,4x4/8x4/4x8/2x8/8x2/16x2/2x16/1x16/16x1/32x1/1x32TU可以使用双线性滤波器。
e)在一个示例中,上述阈值对于所有颜色分量可以是相同的。
i.可替代地,阈值可以取决于颜色分量。
3.提出是否使用4抽头滤波器F
a)在一个示例中,F
i.在一个示例中,F
ii.在一个示例中,F
iii.在一个示例中,F
iv.在一个示例中,对于ISP编解码的亮度块,如果一个子分区的帧内预测模式索引满足特定条件(诸如大于或等于INTRA_ANGULAR34),并且子分区宽度大于8,则启用F
1.此外,可替代地,对于ISP编解码的亮度块,如果一个子分区的帧内预测模式索引满足特定条件(诸如小于INTRA_ANGULAR34)并且子分区高度大于8,则启用F
2.此外,可替代地,对于ISP编解码的亮度块的其他情况,可以禁用F
v.在一个示例中,对于ISP编解码的亮度块,如果一个子分区的帧内预测模式索引满足特定条件(诸如大于或等于INTRA_ANGULAR34)并且块宽度(即,CU)大于8,则可以启用F
1.此外,可替代地,对于ISP编解码的亮度块,如果一个子分区的帧内预测模式索引满足特定条件(诸如小于INTRA_ANGULAR34)并且块宽度(即,CU)高度大于8,则可以启用F
2.此外,可替代地,对于ISP编解码的亮度块的其他情况,可以禁用F
b)在一个示例中,F
i.在一个示例中,F
ii.在一个示例中,F
c)当F
i.在一个示例中,可以对尺寸为W*H<=T(诸如T=32)的帧内编解码(或ISP编解码)块使用F
ii.在一个示例中,可以对预测模式大于或等于垂直预测模式(诸如VVC中的帧内模式34)并且块宽度W iii.在一个示例中,可以对预测模式小于垂直预测模式(诸如VVC中的帧内模式34)并且块高度H 4.对于ISP编解码块(例如,CU),如何选择插值滤波器或应用于参考样点的其他滤波器可以取决于CU的尺寸。 a)可替代地,如何选择插值滤波器或应用于参考样点的其他滤波器可以取决于子分区的尺寸。 5.用于插值的参考样点可以取决于参考线索引。 a)在一个示例中,索引变量iIdx和乘法因子iFact可以由iIdx=((y+1+refIdx)*intraPredAngle)>>5导出,其中refIdx表示参考样点所在的参考线索引,intraPredAngle从帧内预测模式和如VVC工作草案JVET-M1001-v7中所定义的查找表2导出。 6.所提出的方法可以应用于所有或某些颜色成分。 a)在一个示例中,所提出的方法可以应用于仅亮度分量。 b)在一个示例中,所提出的方法可以应用于亮度、Cb和Cr分量。 c)在一个示例中,所提出的方法可以应用于YCbCr 4:4:4格式的亮度、Cb和Cr分量。 d)在一个示例中,所提出的方法可以应用于用于RGB格式的R、G和B分量。 5.实施例 以下实施例基于VVC工作草案JVET-M1001-v7。 5.1实施例#1 下面的实施例用于本发明描述的 新添加的部分以加粗斜体突出显示,删除的文本前后都有双括号。 8.4.4.2.7.INTRA_ANGULAR2..INTRA_ANGULAR66帧内预测模式的规范 其中x=0..nTbW-1,y=0..nTbH-1的预测样点的值predSamples[x][y]推导如下: –如果predModeIntra大于或等于34,则应用以下有序步骤: 1.参考样点阵列ref[x]被指定为如下: –应用以下: ref[x]=p[-1-refIdx+x][-1-refIdx], 其中x=0..nTbW+refIdx (8-130) –如果intraPredAngle小于0,则主参考样点阵列扩展如下: –当(nTbH*intraPredAngle)>>5小于-1时, ref[x]= p[-1-refIdx][-1-refIdx+((x*invAngle+128)>>8)],其中x=-1..(nTbH*intraPredAngle)>>5 (8-131) ref[((nTbH*intraPredAngle)>>5)-1]= ref[(nTbH*intraPredAngle)>>5](8-132) ref[nTbW+1+refIdx]=ref[nTbW+refIdx](8-133) –否则, ref[x]=p[-1-refIdx+x][-1-refIdx],其中x= nTbW+1+refIdx..refW+refIdx(8-134) ref[-1]=ref[0] (8-135) –附加样点ref[refW+refIdx+x], 其中x=1..(Max(1,nTbW/nTbH)*refIdx+1)推导如下: ref[refW+refIdx+x]=p[-1+refW][-1-refIdx](8-136) 2.其中x=0..nTbW–1,y=0..nTbH–1的预测样点的值predSamples[x][y]推导如下: –索引变量iIdx和乘法因子iFact推导如下: iIdx=((y+1+refIdx)*intraPredAngle)>>5+refIdx(8-137) iFact=((y+1+refIdx)*intraPredAngle)&31 (8-138) –如果cIdx等于0并且nTbW*nTbH大于M,则应用以下: –其中j=0..3的插值滤波器系数fT[j]推导如下: fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j](8-139) –预测样点的值predSamples[x][y]推导如下: –否则[[(cIdx不等于0)]],根据iFact的值,则应用以下: –如果iFact不等于0,预测样点的值predSamples[x][y]推导如下: predSamples[x][y]= ((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16) >>5 (8-141) –否则,预测样点的值predSamples[x][y]推导如下: predSamples[x][y]=ref[x+iIdx+1](8-142) –否则(predModeIntra小于34),则应用以下有序步骤: 3.参考样点阵列ref[x]被指定为如下: –应用以下: ref[x]=p[-1-refIdx][-1-refIdx+x],其中 x=0..nTbH+refIdx(8-143) –如果intraPredAngle小于0,则主参考样点阵列扩展如下: –当(nTbW*intraPredAngle)>>5小于-1, ref[x]=p[-1-refIdx+((x*invAngle+128)>>8)][-1-refIdx],其中x=-1..(nTbW*intraPredAngle)>>5 (8-144) ref[((nTbW*intraPredAngle)>>5)-1]= ref[(nTbW*intraPredAngle)>>5](8-145) ref[nTbG+1+refIdx]=ref[nTbH+refIdx](8-146) –否则, ref[x]=p[-1-refIdx][-1-refIdx+x],其中 x=nTbH+1+refIdx..refH+refIdx(8-147) ref[-1]=ref[0] (8-148) –附加样点ref[refH+refIdx+x], 其中x=1..(Max(1,nTbW/nTbH)*refIdx+1)推导如下: ref[refH+refIdx+x]=p[-1+refH][-1-refIdx](8-149) 4.其中x=0..nTbW-1,y=0..nTbH–1的预测样点的值predSamples[x][y]推导如下: –索引变量iIdx和乘法因子iFact推导如下: iIdx=((x+1+refIdx)*intraPredAngle)>>5 (8-150) iFact=((x+1+refIdx)*intraPredAngle)&31 (8-151) –如果cIdx等于0并且nTbW*nTbH大于M,则应用以下: –其中j=0..3的的插值滤波器系数fT[j]推导如下: fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j] (8-152) –预测样点的值predSamples[x][y]推导如下: –否则(cIdx不等于0),根据iFact的值,则应用以下: –如果iFact不等于0,预测样点的值predSamples[x][y]推导如下: predSamples[x][y]= ((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16) >>5(8-154) –否则,预测样点的值predSamples[x][y]推导如下: predSamples[x][y]=ref[y+iIdx+1] (8-155) 在一个示例中,M被设置为32或16。 5.2实施例#2 下面的实施例用于本发明描述的 新添加的部分以加粗斜体突出显示,删除的文本前后都有双括号。 8.4.4.2.7.INTRA_ANGULAR2..INTRA_ANGULAR66帧内预测模式的规范 …… 变量filterFlag推导如下: –如果以下一个或多个条件为真,则filterFlag设置为等于0。 –predModeIntra等于INTRA_ANGULAR2、INTRA_ANGULAR34或INTRA_ANGULAR66 –refIdx不等于0 –如果cIdx等于0,并且predModeIntra大于或等于INTRA_ANGULAR34,并且[[nW]] –否则,如果cIdx等于0,并且predModeIntra小于INTRA_ANGULAR34,并且[[nH]] –否则,则应用以下: –变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。 –变量intraHorVerDistThres[nTbS]在表1中指定。 –变量filterFlag推导如下: –如果minDistVerHor大于或等于intraHorVerDistThres[nTbS][[并且RefFilterFlag等于1]] –否则,filterFlag设置为等于0。 可替代地,可以应用以下: 8.4.4.2.7.INTRA_ANGULAR2..INTRA_ANGULAR66帧内预测模式的规范 …… 变量filterFlag推导如下: –如果以下一个或多个条件为真,则filterFlag设置为等于0。 –predModeIntra等于[[INTRA_ANGULAR2,INTRA_ANGULAR34or INTRA_ANGULAR66]] –refIdx不等于0 –IntraSubPartitionsSplitType不等于ISP_NO_SPLIT[[并且cIdx等于0]],并且predModeIntra大于或等于INTRA_ANGULAR34,并且[[nW]] –IntraSubPartitionsSplitType不等于ISP_NO_SPLIT[[并且cIdx等于0]],并且predModeIntra小于INTRA_ANGULAR34,并且[[nH]] –否则,则应用以下: –变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。 –变量intraHorVerDistThres[nTbS]在表1中指定。 –变量filterFlag推导如下: –如果minDistVerHor大于或等于intraHorVerDistThres[nTbS][[并且RefFilterFlag等于1]] –否则,filterFlag设置为等于0。 5.3实施例#3 下面的实施例用于本发明描述的 新添加的部分以加粗斜体突出显示,删除的文本前后都有双括号。 8.4.4.2.7.INTRA_ANGULAR2..INTRA_ANGULAR66帧内预测模式的规范 …… 变量filterFlag推导如下: –如果以下一个或多个条件为真,则filterFlag设置为等于0。 –predModeIntra等于[[INTRA_ANGULAR2,INTRA_ANGULAR34or INTRA_ANGULAR66]] –refIdx不等于0 –IntraSubPartitionsSplitType不等于ISP_NO_SPLIT[[并且cIdx等于0]],并且predModeIntra大于或等于INTRA_ANGULAR34,并且[[nW]] –IntraSubPartitionsSplitType不等于ISP_NO_SPLIT[[并且cIdx等于0]],并且predModeIntra小于INTRA_ANGULAR34,并且[[nH]] –否则,则应用以下: –变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。 –变量intraHorVerDistThres[nTbS]在表1中指定。 –变量filterFlag推导如下: –如果minDistVerHor大于或等于intraHorVerDistThres[nTbS][[并且RefFilterFlag等于1]] –否则,filterFlag设置为等于0。 5.4实施例#4 下面的实施例用于本发明描述的 新添加的部分以 8.4.4.2.7.INTRA_ANGULAR2..INTRA_ANGULAR66帧内预测模式的规范 …… 其中x=0..nTbW–1,y=0..nTbH-1的预测样点的值predSamples[x][y]推导如下: –如果predModeIntra大于或等于34,则应用以下有序步骤: 1.参考样点阵列ref[x]被指定为如下: –应用以下: ref[x]=p[-1-refIdx+x][-1-refIdx], 其中x=0..nTbW+refIdx(8-130) –如果intraPredAngle小于0,则主参考样点阵列扩展如下: –当(nTbH*intraPredAngle)>>5小于-1时, ref[x]= p[-1-refIdx][-1-refIdx+((x*invAngle+128)>>8)], 其中x=-1..(nTbH*intraPredAngle)>>5 (8-131) ref[((nTbH*intraPredAngle)>>5)-1]= ref[(nTbH*intraPredAngle)>>5](8-132) ref[nTbW+1+refIdx]=ref[nTbW+refIdx](8-133) –否则, ref[x]=p[-1-refIdx+x][-1-refIdx],其中x= nTbW+1+refIdx..refW+refIdx(8-134) ref[-1]=ref[0] (8-135) –附加样点参考ref[refW+refIdx+x], 其中x=1..(Max(1,nTbW/nTbH)*refIdx+1)推导如下: ref[refW+refIdx+x]=p[-1+refW][-1-refIdx](8-136) 2.其中x=0..nTbW–1,y=0..nTbH–1的预测样点的值predSamples[x][y]推导如下: –索引变量iIdx和乘法因子iFact推导如下: iIdx=((y+1+refIdx)*intraPredAngle)>>5+refIdx(8-137) iFact=((y+1+refIdx)*intraPredAngle)&31 (8-138) –如果cIdx等于0,则应用以下: –其中j=0..3的插值滤波器系数fT[j]推导如下: fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j](8-139) –预测样点的值predSamples[x][y]推导如下: –否则(cIdx不等于0),根据iFact的值,则应用以下: –如果iFact不等于0,预测样点的值predSamples[x][y]推导如下: predSamples[x][y]= ((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16) >>5(8-141) –否则,预测样点的值predSamples[x][y]推导如下: predSamples[x][y]=ref[x+iIdx+1] (8-142) 图6是视频处理装置600的框图。装置600可用于实施本文描述的一种或多种方法。装置600可以具体体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置600可以包括一个或多个处理器602、一个或多个存储器604和视频处理硬件606。一个或多个处理器602可以被配置成实施本文档中描述的一种或多种方法。一个或多个存储器604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件606可以用于在硬件电路中实施本文档中描述的一些技术。 图7是其中可以实施所公开的技术的视频处理系统的框图的另一个示例。图7是示出示例视频处理系统700的框图,其中可以实施本文公开的各种技术。各种实施可以包括系统700的一些或全部组件。系统700可以包括用于接收视频内容的输入702。视频内容可以以原始或未压缩格式接收,例如8或10比特多分量像素值,或者可以以压缩或编码格式接收。输入702可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口,和诸如Wi-Fi或蜂窝接口的无线接口。 系统700可以包括编解码组件704,其可以实施本文档中描述的各种解码或编码方法。编解码组件704可以降低从输入702到编解码组件704的输出的视频的平均比特率,以生成视频的比特流。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件704的输出可以被存储,或者通过连接的通信(如组件706所示)被传输。组件708可以使用在输入端702接收的视频的存储的或传达的比特流(或编码的)表示,以用于生成发送到显示接口710的像素值或可显示的视频。从比特流表示生成用户可观看的视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且将由解码器来执行与编解码的的结果相反的相对应的解码工具或操作。 外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以具体体现在各种电子设备中,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。 所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实施该工具或模式,但是不一定基于该工具或模式的使用来修改得到的比特流。也就是说,当视频处理工具或模式基于决定或确定而启用时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,将使用基于决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。 所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在一个示例中,当禁用视频处理工具或模式时,编码器将不会在视频块到视频的比特流表示的转换中使用该工具或模式。在另一个示例中,当禁用视频处理工具或模式时,解码器将在知道比特流没有被使用基于决定或确定而禁用的视频处理工具或模式修改的情况下处理比特流。 在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到相对应的比特流表示的转换期间应用,反之亦然。当前视频块的比特流表示可以例如对应于比特流中的共同定位或分布在不同位置的比特,如被语法所定义的。例如,宏块可以根据变换和编解码的误差残差值来编码,并且还可以使用比特流中的标头和其他字段中的比特来编码。 图8A是视频处理的示例方法810的流程图。方法810包括,在步骤812,基于规则,确定是否使用4抽头插值滤波器以用于视频的当前视频单元的当前视频块和视频的比特流之间的转换,其中使用比特流中的帧内模式来编解码当前视频块。方法810还包括,在步骤814,基于该确定执行转换。 图8B是视频处理的示例方法820的流程图。方法820包括,在步骤822,使用对于视频的视频单元的、来自一个或多个插值滤波器集合的插值滤波器,为该视频单元的当前视频块生成帧内预测块。方法820还包括,在步骤824,使用预测块执行在当前视频块和视频的比特流之间使用的转换。 图8C是视频处理的示例方法830的流程图。方法830包括,在步骤832,使用插值滤波器通过将插值滤波器应用于参考样点,为视频的当前视频单元的当前视频块和视频的比特流之间的转换生成帧内预测块,其中参考样点根据规则来确定。方法830还包括,在步骤834,使用预测块执行转换。 在一些实施例中,视频编解码方法,例如方法810至830,可以使用如参考图6或7描述的在硬件平台上实施的装置来实施。应当理解,通过允许使用本文档中公开的技术,所公开的方法和技术将有益于结合在诸如智能手机、膝上型电脑、桌上型电脑和类似设备的视频处理设备内的视频编码器和/或解码器实施例。 可以使用以下基于子句的格式来描述各种技术和实施例。第一条款集合描述了前一部分中公开的技术的某些特征和方面。 1.一种视频处理方法,包括:对于视频的当前视频块和当前视频块的比特流表示之间的转换,确定在转换期间要使用的一个或多个插值滤波器,其中该一个或多个插值滤波器来自用于视频的多个插值滤波器;以及使用一个或多个插值滤波器执行转换。 2.根据条款1所述的方法,其中,比特流表示被配置为携带多个插值滤波器的指示。 3.根据条款2的方法,其中,比特流表示在序列参数集级别或视频参数集级别或图片参数集级别或图片标头或条带标头或条带标头或自适应参数集级别或片组标头或片标头携带指示。 4.根据条款所述1所述的方法,其中,多个插值滤波器是预定义的,并且比特流表示排除了多个插值滤波器的显式指示。 5.根据条款1至4中任一项所述的方法,其中,在不同视频单元的转换期间使用多个插值滤波器的不同集合。 6.根据条款5所述的方法,其中,视频单元对应于视频序列或视频图片或视频视图或视频片组或视频片或视频块或视频编解码树单元行或视频编解码单元或视频预测单元或视频变换单元或VPDU。 7.根据条款1至6中任一项所述的方法,其中,多个插值滤波器基于当前视频块的尺寸或当前视频块的颜色分量标识符或用于当前视频块转换的编解码方法。 第4节第1项中披露了第1-7条的其他示例。 8.一种视频处理方法,包括:基于规则,确定在视频的当前视频块和当前视频块的比特流表示之间的基于帧内预测的转换中是否使用4抽头插值滤波器;基于确定是否使用4抽头插值滤波器来执行转换。 9.根据条款8所述的方法,其中4抽头插值滤波器是4抽头三次滤波器。 10.根据条款8所述的方法,其中,4抽头插值滤波器是离散余弦变换插值滤波器。 11.根据条款8所述的方法,其中,4抽头插值滤波器是高斯滤波器。 12.根据条款8至11中任一项所述的方法,其中,该规则根据当前视频块的尺寸来指定是否使用4抽头插值。 13.根据条款12所述的方法,其中,尺寸是当前视频块的以像素为单位的宽度。 14.根据条款12所述的方法,其中,尺寸是当前视频块的以像素为单位的高度。 15.根据条款8至11中任一项所述的方法,其中,规则根据当前视频块的变换单元的尺寸来指定是否使用4抽头插值。 16.根据条款12至15中任一项所述的方法,其中,规则指定在尺寸高于第一阈值T1或低于第二阈值T2的情况下使用4抽头插值滤波器。 17.根据条款8至16中任一项所述的方法,其中,规则指定在4抽头插值滤波器不用于转换的情况下使用2抽头滤波器。 18.根据条款16-17中任一项所述的方法,其中,第一阈值或第二阈值具有取决于当前视频块所属的颜色分量的值。 19.根据条款11所述的方法,其中,规则基于当前视频块的尺寸和/或预测模式指定是否使用4抽头插值滤波器。 20.根据条款19所述的方法,其中,规则进一步使用当前视频块的颜色分量信息来指定是否使用4抽头插值滤波器。 第4节第2-3项中披露了第8-20条的其他示例。 21.一种视频处理方法,包括:对于视频的当前视频块和当前视频块的比特流表示之间的转换确定在转换期间使用的插值滤波器;将插值滤波器应用于使用规则确定的参考样点;以及使用应用的结果来执行转换。 22.根据条款21所述的方法,其中,规则指定将参考样点确定为参考线索引refIdx的函数。 23.根据条款22所述的方法,其中,规则指定基于用于当前视频块的帧内预测角度来确定参考样点。 24.根据条款1至23中任一项所述的方法,其中,由于当前视频块是亮度视频块,所以该方法被应用于当前视频块。 25.根据条款1至23中任一项所述的方法,其中,由于当前视频块是颜色视频块,所以该方法被应用于当前视频块。 26.根据条款25所述的方法,其中,由于当前视频块是Cb视频块,所以该方法被应用于当前视频块。 27.根据条款25所述的方法,其中,由于当前视频块是R(红色)视频块,所以该方法被应用于当前视频块。 第4节第4-5项中披露了第21-27条的其他示例。 28.一种视频处理装置,包括被配置为实施条款1至27中的一个或多个的处理器。 29.一种其上存储有代码的计算机可读介质,当由处理器执行时,该代码使得处理器实施条款1至27中任一项或多项中的方法。 第二条款集合描述了在前一部分中公开的技术的某些特征和方面,例如示例实施1-6。 1.一种视频处理方法,包括:基于规则,确定是否使用4抽头插值滤波器以用于视频的当前视频单元的当前视频块和视频的比特流之间的转换,其中使用比特流中的帧内模式来编解码当前视频块;以及基于确定执行转换。 2.根据条款1所述的方法,其中,4抽头插值滤波器对应于三次滤波器、离散余弦变换插值滤波器或高斯滤波器。 3.根据条款1或2所述的方法,其中,规则基于当前视频块的变换块(TB)的宽度(W)或高度(H)中的至少一个来指定是否使用4抽头插值滤波器。 4.根据条款3所述的方法,其中,规则指定在宽度(W)或高度(H)大于第一阈值(T1)或等于或小于第二阈值(T2)的情况下使用4抽头插值滤波器。 5.根据条款1或2所述的方法,其中,规则基于视频块的变换块(TB)的尺寸来指定是否使用4抽头插值滤波器,TB具有宽度(W)和高度(H)。 6.根据条款5所述的方法,其中,规则指定在TB的尺寸大于第一阈值T1或等于或小于第二阈值T2的情况下使用4抽头插值滤波器,尺寸对应于W和H的乘积。 7.根据条款3所述的方法,其中,规则指定在视频块的变换块(TB)的宽度大于第一阈值T1并且变换块(TB)的高度大于第二阈值T2的情况下使用4抽头插值滤波器。 8.根据条款3所述的方法,其中,规则指定在视频块的变换块(TB)的宽度不大于第一阈值T1并且变换块(TB)的高度不大于第二阈值T2的情况下使用4抽头插值滤波器。 9.根据条款3至8中任一项所述的方法,其中,规则指定为当前视频单元的另一块禁用4抽头插值滤波器。 10.根据条款1所述的方法,其中,规则指定在4抽头插值滤波器不用于转换的情况下使用2抽头滤波器。 11.根据条款10所述的方法,其中,2抽头滤波器对应于双线性或线性滤波器。 12.根据条款4、6、7和8中任一项所述的方法,其中,第一阈值或第二阈值对于当前视频单元的颜色分量具有相同的值。 13.根据条款4、6、7和8中任一项所述的方法,其中,第一阈值或第二阈值具有取决于所述当前视频单元的颜色分量的值。 14.根据条款1所述的方法,其中,规则基于预测信息和/或当前视频块的尺寸来指定是否使用对应于高斯滤波器的4抽头插值滤波器。 15.根据条款14所述的方法,其中,取决于当前视频块或当前视频块的变换块的尺寸,规则指定是否对使用帧内编解码或帧内子分区(ISP)编解码进行编解码的当前视频块使用高斯滤波器。 16.根据条款15所述的方法,其中,规则指定在当前视频块或当前视频块的变换块的宽度(W)或高度(H)大于阈值(T)的情况下使用高斯滤波器。 17.根据条款15所述的方法,其中,规则指定在当前视频块或当前视频块的变换块的宽度(W)和高度(H)的乘积大于阈值(T)的情况下使用高斯滤波器。 18.根据条款17所述的方法,其中,阈值(T)被确定为第一阈值(T1)和第二阈值(T2)的乘积。 19.根据条款15所述的方法,其中,规则指定,在子分区的帧内预测模式索引大于或等于预定义的角度预测模式并且子分区的宽度大于某个值T的情况下,对于使用ISP编解码进行编解码的当前视频块,使用高斯滤波器。 20.根据条款15所述的方法,其中,规则指定,在子分区的帧内预测模式索引小于预定义的角度预测模式并且子分区的高度大于某个值T的情况下,对于使用ISP编解码进行编解码的当前视频块,使用高斯滤波器。 21.根据条款19或20所述的方法,其中,T等于8。 22.根据条款15所述的方法,其中,规则指定对于使用帧内子分区(ISP)编解码进行编解码的至少一些亮度块不使用高斯滤波器。 23.根据条款14所述的方法,其中,规则指定:取决于应用于当前视频块的一个或多个预测模式、当前视频块的宽度(W)和/或高度(H)、当前视频块的变换块、或者当前视频块的子分区,是否对使用帧内编解码或帧内子分区(ISP)编解码进行编解码的当前视频块使用高斯滤波器。 24.根据条款15所述的方法,其中,规则指定在具有预测模式的当前视频块大于或等于垂直预测模式并且宽度(W)大于阈值(T)的情况下使用高斯滤波器。 25.根据条款15所述的方法,其中,规则指定在具有预测模式的当前视频块小于垂直预测模式并且高度(H)大于N个样点的情况下使用高斯滤波器,N是正整数。 26.根据条款14所述的方法,其中,规则指定在没有根据规则使用高斯滤波器的情况下,对使用帧内编解码或帧内子分区(ISP)编解码进行编解码的当前视频块使用离散余弦变换插值滤波器、三次滤波器或双线性滤波器。 27.根据条款26所述的方法,其中,规则指定在当前视频块的宽度(W)和高度(H)的乘积大于阈值(T)的情况下使用离散余弦变换插值滤波器、三次滤波器或双线性滤波器。 28.根据条款26所述的方法,其中,规则指定在具有预测模式的当前视频块大于或等于垂直预测模式并且当前视频块的宽度(W)小于阈值(T)的情况下使用离散余弦变换插值滤波器、三次滤波器或双线性滤波器。 29.根据条款26所述的方法,其中,规则指定在具有预测模式的当前视频块小于垂直预测模式并且当前视频块的高度(H)小于阈值(T)的情况下使用离散余弦变换插值滤波器、三次滤波器或双线性滤波器。 30.根据条款1至29中任一项所述的方法,其中,方法被应用于当前视频单元的所有或仅某些颜色分量。 31.根据条款30所述的方法,其中,方法被应用于当前视频单元的亮度分量。 32.根据条款30所述的方法,其中,方法被应用于当前视频单元的亮度、Cb和Cr分量。 33.根据条款30所述的方法,其中,方法被应用于当前视频单元的YCbCr 4:4:4格式的亮度、Cb和Cr分量。 34.根据条款30所述的方法,其中,方法被应用于当前视频单元的RGB格式的红、绿、蓝分量。 35.一种视频处理方法,包括:使用对于视频的视频单元的、来自一个或多个插值滤波器集合的插值滤波器,为视频单元的当前视频块生成帧内预测块;以及使用预测块执行在当前视频块和视频的比特流之间使用的转换。 36.根据条款35所述的方法,插值滤波器是预定义的。 37.根据条款35所述的方法,其中,比特流包括视频单元级别的插值滤波器的指示。 38.根据条款37所述的方法,其中,比特流包括在序列参数集(SPS)级别、视频参数集(VPS)级别、图片参数集(PPS)级别、图片标头、条带标头、自适应参数集(APS)级别、片组标头、子图像或片标头的插值滤波器的指示。 39.根据条款35至38中任一项所述的方法,其中,插值滤波器被包括在第一集合中,第一集合不同于为视频的另一视频单元确定的插值滤波器的第二集合。 40.根据条款35所述的方法,其中,视频单元对应于序列、图片、子图片、层、条带、片组、片、块、编解码树单元行、编解码树单元、编解码单元、编解码块、预测单元、预测块、变换单元、变换块或视频处理数据单元(VPDU)。 41.根据条款35至40中任一项所述的方法,其中,基于当前视频块的尺寸、当前视频单元的颜色分量或用于当前视频块的转换的编解码方法中的至少一个,为视频单元选择插值滤波器。 42.根据条款35至41中任一项所述的方法,其中,方法被应用于当前视频单元的所有或仅某些颜色分量。 43.根据条款42所述的方法,其中,方法被应用于当前视频单元的亮度分量。 44.根据条款42所述的方法,其中,方法被应用于当前视频单元的亮度、Cb和Cr分量。 45.根据条款42所述的方法,其中,方法被应用于当前视频单元的YCbCr 4:4:4格式的亮度、Cb和Cr分量。 46.根据条款42所述的方法,其中,方法被应用于当前视频单元的RGB格式的红、绿、蓝分量。 47.一种视频处理方法,包括:使用插值滤波器通过将插值滤波器应用于参考样点,为视频的当前视频单元的当前视频块和视频的比特流之间的转换生成帧内预测块,其中参考样点根据规则来确定;以及使用预测块执行转换。 48.根据条款47所述的方法,其中,规则指定将参考样点确定为参考线索引的函数。 49.根据条款47所述的方法,其中,规则指定基于用于当前视频块的帧内预测角度来确定参考样点。 50.根据条款47至49中任一项所述的方法,其中,参考样点的索引变量(iIdx)由等式iIdx=((y+1+refIdx)*intraPredAngle)>>5导出,其中refldx表示指示参考样点的位置的参考线索引,并且intraPredAngle从当前视频块的帧内预测模式导出。 51.根据条款47至50中任一项所述的方法,其中,方法被应用于当前视频单元的所有或仅某些颜色分量。 52.根据条款51所述的方法,其中,方法被应用于当前视频单元的亮度分量。 53.根据条款51所述的方法,其中,方法被应用于当前视频单元的亮度、Cb和Cr分量。 54.根据条款51所述的方法,其中,方法被应用于当前视频单元的YCbCr 4:4:4格式的亮度、Cb和Cr分量。 55.根据条款51所述的方法,其中,方法被应用于当前视频单元的RGB格式的红、绿、蓝分量。 所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实施该工具或模式,但是不一定基于该工具或模式的使用来修改得到的比特流。也就是说,当视频处理工具或模式基于决定或确定而启用时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,将使用基于决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。 所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在一个示例中,当禁用视频处理工具或模式时,编码器将不会在视频块到视频的比特流表示的转换中使用该工具或模式。在另一个示例中,当禁用视频处理工具或模式时,解码器将在知道比特流没有被使用基于决定或确定而禁用的视频处理工具或模式修改的情况下处理比特流。 在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到相对应的比特流表示的转换期间应用,反之亦然。当前视频块的比特流表示可以例如对应于比特流中的共同定位或分布在不同位置的比特,如被语法所定义的。例如,宏块可以根据变换和编解码的误差残差值来编码,并且还可以使用比特流中的标头和其他字段中的比特来编码。 从前述内容,将会理解,为了说明的目的,这里已经描述了当前公开的技术的具体实施例,但是在不脱离本发明的范围的情况下,可以进行各种修改。因此,除了所附权利要求之外,当前公开的技术不受限制。 本专利文件中描述的主题和功能操作的实施可以在各种系统、数字电子电路或计算机软件、固件或硬件中实施,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施可以被实施为一个或多个计算机程序产品,即,编码在有形和非暂时性计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实施机器可读传播信号的物质组合、或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。 计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、专用于所讨论的程序的单个文件中、或在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在一台计算机上、或者位于一个站点或跨多个站点分布并通过通信网络互连的多台计算机上执行。 本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,该可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,例如,现场可编程门阵列或专用集成电路,并且装置也可以被实施为该专用逻辑电路。 举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),以从其接收数据或向其传送数据、或两者兼有。然而,计算机不需要这样的设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如,EPROM、EEPROM和闪速存储器设备。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。 意图说明书以及附图仅被认为是示例性的,其中示例性意味着示例。如这里所使用的,“或”的使用意图包括“和/或”,除非上下文清楚地另外指明。 尽管本专利文件包含许多细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例的特定特征的描述。本专利文件中在单独实施例的上下文中描述的一些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实施或者在任何合适的子组合中实施。此外,尽管特征可以在上文中被描述为在一些组合中起作用,并且甚至最初被如此要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。 类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该理解为要求以所示的特定顺序或序列顺序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。此外,本专利文件中描述的实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这种分离。 仅描述了几个实施和示例,并且可以基于本专利文件中描述和示出的内容做出其他实施、增强和变化。
- 使用多个参考滤波器的帧内视频编解码
- 使用多个参考滤波器的帧内视频编解码