用于视频解码的方法和装置、存储介质和计算机设备转让专利

申请号 : CN201980025045.5

文献号 : CN113228661B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵亮赵欣李翔刘杉

申请人 : 腾讯美国有限责任公司

摘要 :

一种用于视频编码/解码的帧内‑帧间预测模式和自适应帧内‑帧间预测模式的改进方案,包括:在帧内‑帧间模式下选择加权集合,以及应用位置相关帧内预测组合以修改帧间预测样本和帧间编码的编码单元的重建样本中的至少一个。

权利要求 :

1.一种用于视频解码的方法,其特征在于,所述方法由至少一个处理器执行,所述方法包括:

在帧内‑帧间模式下,确定针对帧内预测模式的原始位置相关预测组合PDPC滤波过程与针对帧内‑帧间模式下的帧间PDPC滤波过程,是否使用了不同的多个PDPC初始加权因子,如果是,则选择针对所述帧内‑帧间模式下的帧间PDPC滤波过程的加权集合;以及应用所述帧内‑帧间模式下的帧间PDPC滤波过程,以修改帧间预测样本和帧间编码的编码单元CU的重建样本中的至少一个。

2.根据权利要求1所述的方法,其特征在于,其中,应用所述帧内‑帧间模式下的帧间PDPC包括仅修改所述帧间编码的CU的亮度分量。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于确定编码块CB通过合并模式被编码而以信号发送帧间位置相关帧内预测组合标志interPDPCFlag。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在应用包括去块、样本自适应偏移SAO和自适应环路滤波器ALF的环路内去块滤波器中的任一者之前,将所述帧内‑帧间模式下的帧间PDPC应用于多个重建样本。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将默认帧内预测模式分配给当前编码块CB,以及将所述默认帧内预测模式应用于所述当前CB之后的CB以用于进行至少帧内模式编码和最可能模式MPM导出。

6.根据权利要求5所述的方法,其特征在于,所述默认帧内预测模式为平面帧内模式或DC帧内模式。

7.根据权利要求1‑6任意一项所述的方法,其特征在于,所述方法还包括:将PDPC滤波器集合应用于除了所述帧间预测样本之外的其他帧间预测样本中的至少一个,和除了所述帧间编码的CU的重建样本之外的其他帧间编码的CU的重建样本中的至少一个;

其中,所述PDPC滤波器集合中的每一个PDPC滤波器是针对多个块大小中的相应块大小来限定的。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:以信号发送指示是否应用PDPC的至少一个帧间位置相关帧内预测组合标志interPDPCFlag;

确定所述interPDPCFlag是否被设置为等于真;

响应于确定所述interPDPCFlag被设置为等于第一值,以信号发送第二标志,所述第二标志指示在帧间预测之后要在帧间预测样本和帧间编码的CU的重建样本中的至少一个应用至少一个PDPC滤波器,其中,所述第一值指示所述interPDPCFlag被设置为等于真;以及响应于确定所述interPDPCFlag被设置为等于第二值,确定从帧间预测样本和帧间编码的CU的重建样本中的至少一个排除PDPC,其中,述第二值指示所述interPDPCFlag被设置为不等于真。

9.根据权利要求1所述的方法,其特征在于,所述方法还包括:以信号通知所述加权集合中的加权是否彼此相等;以及响应于确定用所述信号指示所述加权不相等,根据相邻块是否是被帧内编码、被帧间编码和被帧内‑帧间编码中的任一者来在PDPC滤波中对帧间预测进行加权。

10.根据权利要求1所述的方法,其特征在于,所述帧内‑帧间模式包括在帧间预测之上直接应用PDPC滤波过程。

11.根据权利要求10所述的方法,其特征在于,所述在帧间预测之上直接应用PDPC滤波过程包括:

pred(x,y)=(w_intra*wL×R‑1,y+w_intra*wT×Rx,‑1–w_intra*wTL×R‑1,‑1+(N–w_intra*wL–w_intra*wT+w_intra*wTL)×InterPred(x,y)+N/2)>>log2(N),其中,InterPred指示输入帧间预测,w_intra是根据相邻块是否是被帧内编码、被帧间编码和被帧内‑帧间编码中的至少一个而从预定义值集合中选择的,并且其中,N指示8、16、32、64、128和256中的一个。

12.根据权利要求1所述的方法,其特征在于,若将PDPC应用于DC帧内模式、平面帧内模式、水平帧内模式和竖直帧内模式,则不需要附加的边界滤波器。

13.一种用于视频解码的装置,其特征在于,所述装置包括选择单元和修改单元:所述选择单元,用于在帧内‑帧间模式下,确定针对帧内预测模式的原始位置相关预测组合PDPC滤波过程与针对帧内‑帧间模式下的帧间PDPC滤波过程,是否使用了不同的多个PDPC初始加权因子,如果是,则选择针对所述帧内‑帧间模式下的帧间PDPC滤波过程的加权集合;以及

所述修改单元,用于应用所述帧内‑帧间模式下的帧间PDPC滤波过程,以修改帧间预测样本和帧间编码的编码单元CU的重建样本中的至少一个。

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1‑12中任意一项所述的方法。

15.一种计算机设备,其特征在于,所述设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行如权利要求1‑12中任意一项所述的方法。

说明书 :

用于视频解码的方法和装置、存储介质和计算机设备

[0001] 相关申请的交叉应用
[0002] 本申请要求于2018年11月14日提交的美国临时申请第62/767,228 号和2019年1月3日提交的美国临时申请第62/788,056号以及2019年 11月4日提交的美国申请第16/
673,097号的优先权。在此,上述申请中的每一个的全部内容通过引用明确地并入本申请
中。

技术领域

[0003] 本公开涉及视频处理,尤其是涉及用于视频解码的方法和装置。

背景技术

[0004] ITU‑T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)在 2013(版本1)、2014(版本2)、2015(版本3)和2016(版本4)中公布了H.265/HEVC(高效视频编码)标准。2015年,
这两个标准组织共同形成JVET(联合视频探索组(JointVideo Exploration Team,JVET)),
以探索开发超越HEVC的下一视频编码标准的潜力。2017年10月,这两个标准组织发布了关
于具有超越HEVC的能力的视频压缩的联合建议征求书(Call for Proposal,CfP)。到2018
年2月15日,分别提交了关于标准动态范围(standard dynamic range,SDR)的总共22个CfP
响应、关于高动态范围(high dynamic range,HDR)的12个CfP响应以及关于 360个视频类
别的12个CfP响应。2018年4月,在122MPEG/第10次 JVET会议中评估了所有接收到的CfP响
应。这次会议的结果是,JVET 正式地发起了超越HEVC的下一代视频编码的标准化过程。新
标准被命名为多功能视频编码(Versatile Video Coding,VVC),并且JVET被重新命名为联
合视频专家组。
[0005] 来自VVC草案2的以下子句描述了PDPC,其中,nScale用于指定加权因子递减速率,并且式8‑77、8‑78、8‑82和8‑83中的“32”指定初始加权因子。
[0006] 位置相关帧内预测组合处理的输入可以是
[0007] ‑帧内预测模式predModelntra,
[0008] ‑指定变换块宽度的变量nTbW,
[0009] ‑指定变换块高度的变量nTbH,
[0010] ‑指定参考样本宽度的变量refW,
[0011] ‑指定参考样本高度的变量refH,
[0012] ‑预测样本predSamples[x][y],其中x=0..nTbW‑1并且y=0..nTbH‑1,
[0013] ‑相邻样本p[x][y],其中x=‑1,y=‑1..refH‑1以及x=0..refW‑1,y =‑1,
[0014] ‑指定当前块的颜色分量的变量cIdx。
[0015] 该处理的输出是经修改的预测样本predSamples[x][y],其中x= 0..nTbW‑1,y=0..nTbH‑1。
[0016] 根据cIdx的值,如下设置函数clip1Cmp:
[0017] ‑如果cIdx等于0,则将clip1Cmp设置为等于Clip1Y。
[0018] ‑否则,则将clip1Cmp设置为等于Clip1C。
[0019] 将变量nScale设置为((Log2(nTbW)+Log2(nTbH)‑2)>>2)。
[0020] 如下得出参考样本阵列mainRef[x]和sideRef[y],其中x=0..refW并且y=0..refH:
[0021] mainRef[x]=p[x][‑1]
[0022] sideRef[y]=p[‑1][y]
[0023] 如下得出变量refL[x][y]、refT[x][y]、wT[y]、wL[x]和wTL[x][y],其中x=0..nTbW‑1,y=0..nTbH‑1:
[0024] ‑如果predModeIntra等于INTRA_PLANAR、INTRA_DC、 INTRA_ANGULAR18或INTRA_ANGULAR50,则以下适用:
[0025] refL[x][y]=p[‑1][y]
[0026] refT[x][y]=p[x][‑1]
[0027] wT[y]=32>>((y<<1)>>nScale)
[0028] wL[x]=32>>((x<<1)>>nScale)
[0029] wTL[x][y]=(predModeIntra==INTRA_DC)?((wL[x]>>4)+(wT[
[0030] y]>>4)):0
[0031] 否则,如果predModeIntra等于INTRA_ANGULAR2或 INTRA_ANGULAR66,则以下适用:
[0032] refL[x][y]=p[‑1][x+y+1]
[0033] refT[x][y]=p[x+y+1][‑1]
[0034] wT[y]=(32>>1)>>((y<<1)>>nScale)
[0035] wL[x]=(32>>1)>>((x<<1)>>nScale)
[0036] wTL[x][y]=0
[0037] 否则,如果predModeIntra小于或等于INTRA_ANGULAR10,则适用以下排序的步骤:
[0038] ‑根据intraPredMode使用如条款8.2.4.2.7中规定的invAngle如下得出变量dXPos[y]、dXFrac[y]、dXInt[y]和dX[y]:
[0039] dXPos[y]=((y+1)*invAngle+2)>>2
[0040] dXFrac[y]=dXPos[y]&63
[0041] dXInt[y]=dXPos[y]>>6
[0042] dX[y]=x+dXInt[y]
[0043] 如下得出变量refL[x][y]、refT[x][y]、wT[y]、wL[x]和wTL[x][y]:
[0044] refL[x][y]=0    (886)
[0045] refT[x][y]=(dX[y]<refW‑1)?
[0046] ((64‑dXFrac[y])*mainRef[dX[y]]+dXFrac[y]*mainRef[dX[
[0047] y]+1]+32)>>6     (887)
[0048] :0
[0049] wT[y]=(dX[y]<refW‑1)?32>>((y<<1)>>nScale):0(888)
[0050] wL[x]=0   (889)
[0051] wTL[x][y]=0
[0052] 否则,如果predModeIntra大于或等于INTRA_ANGULAR58,则适用以下排序的步骤:
[0053] ‑根据intraPredMode使用如条款8.2.4.2.7中规定的invAngle如下得出变量dYPos[x]、dYFrac[x]、dYInt[x]和dY[x]:
[0054] dYPos[x]=((x+1)*invAngle+2)>>2
[0055] dYFrac[x]=dYPos[x]&63
[0056] dYInt[x]=dYPos[x]>>6
[0057] dY[x]=x+dYInt[x]
[0058] ‑如下得出变量refL[x][y]、refT[x][y]、wT[y]、wL[x]和wTL[x][y]:
[0059] refL[x][y]=(dY[x]<refH‑1)?
[0060] ((64‑dYFrac[x])*sideRef[dY[x]]+
[0061] dYFrac[x]*sideRef[dY[x]+1]+32)>>6
[0062] :0
[0063] refT[x][y]=0
[0064] wT[y]=0
[0065] wL[x]=(dY[x]<refH‑1)?32>>((x<<1)>>nScale):0
[0066] wTL[x][y]=0
[0067] ‑否则,将refL[x][y]、refT[x][y]、wT[y]、wL[x]和wTL[x][y]均设置为等于0。
[0068] 如下得出经滤波的样本filtSamples[x][y]的值,其中x=0..nTbW‑1, y=0..nTbH‑1:
[0069] filtSamples[x][y]=cliplCmp((refL[x][y]*wL+refT[x][y]*wT‑p[‑1][‑1
[0070] ]*wTL[x][y]+
[0071] (64‑wL[x]‑wT[y]+wTL[x][y])*predSamples[x][y]+32)
[0072] >>6)
[0073] 对于帧内编码块的色度分量,编码器从包括平面(模式索引0)、DC (模式索引1)、水平(模式索引18)、竖直(模式索引50)、对角(模式索引66)的五个模式中选择最佳色度预
测模式,以及选择帧内预测模式的直接复制以用于相关联的亮度分量(即DM模式)。色度的
帧内预测模式数与帧内预测方向之间的映射在表1中示出:
[0074] 表1‑色度的帧内预测模式与帧内预测方向之间的映射
[0075]
[0076] 为了避免重复模式,根据相关联的亮度分量的帧内预测模式来分配除了DM之外的四个模式。当色度分量的帧内预测模式数是4时,将亮度分量的帧内预测方向用于色度分量
的帧内预测样本生成。当色度分量的帧内预测模式数不是4并且其与亮度分量的帧内预测
模式数相同时,将66帧内预测方向用于色度分量的帧内预测样本生成。
[0077] 使用用于帧间图片预测的合并模式来向块指示:运动数据是推断出的而不是用信号明确表示的。首先构建候选运动参数的合并候选列表,然后用信号表示标识要使用的候
选的索引。
[0078] 合并候选列表包括非子CU合并候选列表和子CU合并候选列表。基于空间相邻运动矢量、并置时间运动矢量和基于历史的运动矢量来构建非子CU合并候选。子CU合并候选列
表包括仿射合并候选和ATMVP合并候选。子CU合并候选用于为当前CU得出多个MV,且当前CU
中的样本的不同部分可以具有不同的运动矢量。
[0079] 使用跳过模式来针对块指示:运动数据是推断出的而不是用信号明确表示的,以及预测残差为零,即,不传输变换系数。在帧间图片预测切片中的每个CU的开始处,用信号
表示skip_flag,该slip_flag暗示以下:
[0080] ·使用合并模式来得出运动数据
[0081] ·比特流中不存在残差数据
[0082] 多假设帧内‑帧间预测将一个帧内预测和一个合并索引预测进行组合,即,帧内‑帧间预测模式。在合并CU中,针对合并模式以信号发送一个标志以在标志为真时从帧内候
选列表中选择帧内模式。对于亮度分量,根据包括DC模式、平面模式、水平模式和竖直模式
的4个帧内预测模式得出帧内候选列表,并且取决于块形状,帧内候选列表的大小可以为3
或4。当CU宽度大于CU高度的两倍时,从帧内模式列表中移除水平模式,并且当CU高度大于
CU宽度的两倍时,从帧内模式列表中移除竖直模式。使用加权平均来对通过帧内模式索引
选择的一个帧内预测模式和通过合并索引选择的一个合并索引预测进行组合。对于色度分
量,总是在没有额外的信令的情况下应用DM。
[0083] 如下描述用于组合预测的权重。当选择了DC模式或平面模式或者编码块(Coding Block,CB)宽度或高度小于4时,应用相等的权重。对于CB宽度和高度大于或等于4的那些
CB,当选择了水平/竖直模式时,首先将一个CB竖直地/水平地分成四个等面积区域。被表示
为(w_intrai, w_interi)的每个权重集将被应用到对应区域,其中,i为1到4并且 (w_
intra1,w_inter1)=(6,2),(w_intra2,w_inter2)=(5,3),(w_intra3, w_inter3)=(3,
5)并且(w_intra4,w_inter4)=(2,6)。(w_intra1,w_inter1) 用于最接近参考样本的区域
并且(w_intra4,w_inter4)用于最远离参考样本的区域。然后,通过将两个加权预测相加并
右移3比特,可以计算组合预测。此外,如果随后的相邻CB是帧内编码的,则可以针对它们的
帧内模式编码保存用于预测器的帧内假设的帧内预测模式。
[0084] 当前,对于亮度分量,对于帧内‑帧间预测模式,采用最多达4个帧内预测模式,这引入了太多的复杂性。
[0085] 当前,对于帧内‑帧间模式,使用一个缓冲器来存储帧间预测值,并且添加一个附加缓冲器来存储帧内预测值,这增加了解码器存储器成本。
[0086] 对于当前的帧内‑帧间模式,需要执行帧内预测和帧间预测二者,并且在帧内预测处理中涉及乘法,这对于解码器来说增加了额外的复杂性。
[0087] 对于当前的帧内‑帧间模式,对于不同块大小,加权是固定值,这可能不是最佳的并且可以被改进。
[0088] 在多假设中应用的加权(w_intra,w_inter)是根据块内的样本的相对位置来选择的。然而,这种选择可能不是非常可靠或灵活的。
[0089] 因此,需要解决上述问题的技术解决方案。

发明内容

[0090] 包括一种方法和一种装置,该装置包括:存储器,该存储器被配置成存储计算机程序代码;以及一个或更多个硬件处理器,该硬件处理器或处理器被配置成访问计算机程序
代码并且按照计算机程序代码所指示的进行操作。计算机程序包括:选择代码,该选择代码
被配置成使处理器在帧内‑帧间模式下选择加权集合;以及应用代码,该应用代码被配置成
使处理器应用位置相关帧内预测组合(PDPC)以修改帧间预测样本和帧间编码的编码单元
(CU)的重建样本中的至少一个。
[0091] 根据示例性实施方式,应用代码还被配置成使处理器应用PDPC包括仅修改帧间编码的CU的亮度分量。
[0092] 根据示例性实施方式,发信号代码还被配置成使处理器响应于确定编码块(CB)通过合并模式被编码而以信号发送帧间位置相关帧内预测组合标志interPDPCFlag。
[0093] 根据示例性实施方式,应用代码还被配置成使处理器在应用包括去块、样本自适应偏移(SAO)及自适应环路滤波器(ALF)的环路内去块滤波器中的任一者之前将PDPC应用
于多个重建样本。
[0094] 根据示例性实施方式,程序代码还包括分配代码,该分配代码被配置成使处理器将默认帧内预测模式分配给当前编码块(CB),并且应用代码还被配置成使处理器将默认帧
内预测模式应用于所述当前CB之后的CB以用于进行至少帧内模式编码和最可能模式(MPM)
导出。
[0095] 根据示例性实施方式,应用代码还被配置成使处理器将PDPC滤波器集合应用于除了所述帧间预测样本之外的帧间预测样本和除了所述帧间编码的CU的重建样本之外的帧
间编码的CU的重建样本中的至少一个,PDPC滤波器集合中的每一个PDPC滤波器是针对多个
块大小的相应块大小限定的。
[0096] 根据示例性实施方式,发信号代码还被配置成使处理器进行以下操作:以信号发送指示是否应用PDPC的至少一个interPDPCFlag;确定 interPDPCFlag是否被设置为等于
真;响应于确定interPDPCFlag被设置为等于第一值,以信号发送第二标志,该第二标志指
示在帧间预测之后要在帧间预测样本和帧间编码的CU的重建样本中的至少一个应用至少
一个PDPC滤波器;以及响应于确定interPDPCFlag被设置为等于第二值,确定从帧间预测样
本和帧间编码的CU的重建样本中的至少一个排除 PDPC。
[0097] 根据示例性实施方式,程序代码还包括:发信号代码,该发信号代码被配置成使处理器选择所述加权集合中的加权是否彼此相等;以及加权代码,该加权代码被配置成使处
理器响应于确定信号指示加权不相等而根据相邻块是否是被帧内编码、被帧间编码和被帧
内‑帧间编码中的任一者而在PDPC滤波中对帧间预测进行加权。
[0098] 根据示例性实施方式,帧内‑帧间模式没有帧内预测,并且帧内‑帧间模式包括在帧间预测之上直接应用PDPC,并且在帧间预测之上直接应用 PDPC包括:
[0099] pred(x,y)=(w_intra*wL×R‑1,y+w_intra*wT×Rx,‑1‑w_intra*wTL×R‑1,‑1+ (N‑w_intra*wL‑w_intra*wT+w_intra*wTL)×InterPred(x,y)+N/2)>>log2(N)
[0100] 其中InterPred指示输入帧间预测,w_intra是根据相邻块是否是被帧内编码、被帧间编码和被帧内‑帧间编码中的至少一个而从预定义值集合中选择的,并且其中,N指示
8、16、32、64、128和256中的一个。
[0101] 由此可见,在进行视频解码时,在帧内‑帧间模式下选择加权集合;以及应用PDPC以修改帧间预测样本和帧间编码的CU的重建样本中的至少一个。从而在多假设中应用的加
权(w_intra,w_inter)可以与相邻块是帧内编码的还是帧间编码的具有相关性。例如通过
考虑上方相邻块或左侧相邻块是帧内编码的还是帧间编码的,可以更高效地选择加权。

附图说明

[0102] 根据以下详细描述和附图,所公开的主题的另外的特征、性质和各种优点将更明显,在附图中:
[0103] 图1是根据实施方式的通信系统的简化框图的示意图;
[0104] 图2是根据实施方式的流式传输系统的示意图;
[0105] 图3是根据实施方式的视频解码器的功能框图的示意图;
[0106] 图4是根据实施方式的视频编码器的功能框图;
[0107] 图5是HEVC和JEM中使用的帧内预测模式的示意图;
[0108] 图6是DC模式PDPC针对一个4×4块内的(0,0)位置和(1,0)位置进行加权的示意图;
[0109] 图7A是在HEVC中使用的帧内预测模式的示意图;
[0110] 图7B是实施方式中在VVC中的帧内预测模式的示意图;
[0111] 图8是根据一实施方式的流程图;
[0112] 图9是根据另一实施方式的流程图;
[0113] 图10是根据另一实施方式的流程图;
[0114] 图11是根据另一实施方式的流程图;
[0115] 图12是根据一实施方式的计算机系统的示意图。

具体实施方式

[0116] 以下讨论的所提出的特征可以单独使用或者以任何顺序组合使用。此外,实施方式可以通过处理电路(例如,一个或更多个处理器或者一个或更多个集成电路)实现。在一
个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。在本公开内
容中,最可能模式 (most probable mode,MPM)可以指主要MPM、次要MPM、或者主要MPM和次
要MPM两者。
[0117] 图1示出了根据本公开内容的实施方式的通信系统100的简化框图。通信系统100可以包括经由网络105互连的至少两个终端102和103。对于数据的单向传输,第一终端103
可以在本地位置处对视频数据进行编码,以经由网络105传输至另一终端102。第二终端102
可以从网络105 接收另一终端的已编码的视频数据,对已编码的数据进行解码并且显示经
恢复的视频数据。单向数据传输在媒体服务应用等中可能是常见的。
[0118] 图1示出了第二对终端101和104,其被提供用于支持例如在视频会议期间可能发生的编码的视频的双向传输。对于数据的双向传输,每个终端101和104可以对在本地位置
捕获的视频数据进行编码,以经由网络105传输至另一终端。每个终端101和104还可以接收
由另一终端传输的已编码的视频数据,可以解码已编码的数据,并且可以在本地显示设备
处显示经恢复的视频数据。
[0119] 在图1中,终端101、102、103和104可以被图示为服务器、个人计算机和智能电话,但是本公开内容的原理不限于此。本公开内容的实施方式适用于膝上型计算机、平板电脑、
媒体播放器和/或专用视频会议设备。网络105表示在终端101、102、103和104之间传送已编
码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络105 可以在电
路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或互
联网。出于本论述的目的,除非在下文中有所解释,否则网络105的架构和拓扑对于本公开
内容的操作来说可能是无关紧要的。
[0120] 作为所公开的主题的应用的示例,图2示出了视频编码器和视频解码器在流式传输环境中的放置方式。所公开的主题可以同等地适用于其他支持视频的应用,包括例如视
频会议,数字TV,在包括CD、DVD、存储棒等的数字介质上存储压缩视频等。
[0121] 流式传输系统可以包括采集子系统203,该采集子系统可以包括诸如数码相机的视频源201,该视频源创建例如未压缩的视频样本流213。相较于已编码的视频比特流,被描
绘为粗线以强调高数据量的样本流213 可以由耦接至相机201的编码器202进行处理。编码
器202可以包括硬件、软件或其组合以实现或实施如下更详细地描述的所公开的主题的各
方面。相较于样本流,被描绘为细线以强调较低数据量的经编码的视频比特流204可以存储
在流式传输服务器205上以供将来使用。一个或更多个流式传输客户端212和207可以访问
流式传输服务器205以检索经编码的视频比特流204的副本208和206。客户端212可以包括
视频解码器211,该视频解码器对经编码的视频比特流的传入副本208进行解码,并且创建
可以在显示器209或其他呈现设备(未描绘)上呈现的输出视频样本流210。在一些流式传输
系统中,可以根据某些视频编码/压缩标准对视频比特流204、206和208进行编码。这些标准
的示例在上面被提及并且在本文中进一步被描述。
[0122] 图3可以是根据本发明的实施方式的视频解码器300的功能框图。
[0123] 接收器302可以接收要由解码器300解码的一个或更多个编解码器视频序列;在同一实施方式或另一实施方式中,一次接收一个已编码的视频序列,其中每个已编码的视频
序列的解码独立于其他已编码的视频序列。可以从信道301接收已编码的视频序列,该信道
可以是通向存储已编码的视频数据的存储设备的硬件/软件链路。接收器302可以接收已编
码的视频数据以及其他数据,例如,可以转发到它们各自的使用实体 (未描绘)的已编码音
频数据和/或辅助数据流。接收器302可以将已编码的视频序列与其他数据分开。为了防止
网络抖动,缓冲存储器303可以耦接在接收器302与熵解码器/解析器304(此后称为“解析
器”)之间。当接收器302从具有足够带宽和可控性的存储/转发设备或从等时同步网络接收
数据时,可能不需要缓冲存储器303,或者缓冲存储器303可以是小的。为了在诸如互联网的
业务分组网络上使用,可能需要缓冲存储器 303,缓冲存储器303可以相对大并且可以有利
地具有自适应大小。
[0124] 视频解码器300可以包括解析器304以根据熵编码视频序列重建符号313。这些符号的类别包括用于管理解码器300的操作的信息,以及潜在地包括用于控制诸如显示器312
的呈现设备的信息,该呈现设备不是解码器的组成部分,而是可以耦接至解码器。用于呈现
设备的控制信息可以是辅助增强信息(SEI(Supplemental Enhancement Information,
SEI) 消息)或视频可用性信息(Video Usability Information,VUI)参数集片段(未描绘)
的形式。解析器304可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的
编码可以根据视频编码技术或标准进行,并且可以遵循本领域技术人员公知的原理,包括:
可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等。
解析器304可以基于与群组对应的至少一个参数,从已编码视频序列提取用于视频解码器
中的像素的子群组中的至少一个子群组的子群组参数集。子群组可以包括:图片群组
(Groups of Picture,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换
单元(Transform Unit, TU)、预测单元(Prediction Unit,PU)等。熵解码器/解析器还可以
从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等。
[0125] 解析器304可以对从缓冲存储器303接收的视频序列执行熵解码/解析操作,从而创建符号313。解析器304可以接收已编码的数据,并且选择性地对特定符号313进行解码。
此外,解析器304可以确定特定符号 313是否将被提供到运动补偿预测单元306、缩放器/逆
变换单元305、帧内预测单元307或环路滤波器311。
[0126] 取决于已编码视频图片或部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其他因素,符号313的重建可以涉及多个不同单元。涉及哪些单元
以及涉及方式可以通过由解析器304 从已编码的视频序列解析的子群组控制信息来控制。
出于简洁起见,未描述解析器304与下面的多个单元之间的这样的子组群控制信息流。
[0127] 除了已经提及的功能块以外,视频解码器300可以在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实现方式中,这些单元中的许多单元彼此紧密
交互并且至少可以部分地彼此集成。然而,出于描述所公开的主题的目的,概念上细分为下
面的功能单元是适当的。
[0128] 第一单元是缩放器/逆变换单元305。缩放器/逆变换单元305从解析器304接收作为符号313的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化
缩放矩阵等。缩放器/逆变换单元305 可以输出包括可以输入到聚合器310中的样本值的
块。
[0129] 在一些情况下,缩放器/逆变换305的输出样本可以属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可以使用来自当前图片的先前重建部分的预测性信
息。这样的预测性信息可以由帧内图片预测单元307提供。在一些情况下,帧内图片预测单
元307使用从当前(部分重建的)图片309提取的周围已经重建的信息来生成与正在重建的
块的大小和形状相同的块。在一些情况下,聚合器310基于每个样本将帧内预测单元307已
经生成的预测信息添加到由缩放器/逆变换单元305提供的输出样本信息。
[0130] 在其他情况下,缩放器/逆变换单元305的输出样本可以属于经帧间编码的并潜在地经运动补偿的块。在这样的情况下,运动补偿预测单元 306可以访问参考图片缓冲器308
以提取用于预测的样本。在根据属于块的符号313对提取的样本进行运动补偿之后,这些样
本可以由聚合器310 添加到缩放器/逆变换单元的输出(在这种情况下被称为残差样本或
残差信号),从而生成输出样本信息。运动补偿预测单元从其提取预测样本的参考图片存储
器内的地址可以由运动矢量控制,运动矢量以符号313的形式供运动补偿单元使用,符号
313可以具有例如X、Y和参考图片分量。运动补偿还可以包括在使用子样本精确运动矢量
时,从参考图片存储器提取的样本值的内插、运动矢量预测机制等。
[0131] 聚合器310的输出样本可以在环路滤波器单元311中被各种环路滤波技术采用。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术由被包括在已编码视频比特流
中的参数进行控制并且作为来自解析器304的符号313可用于环路滤波器单元311,然而视
频压缩技术还可以响应于在对已编码图片或已编码视频序列的先前(按解码顺序)部分进
行解码期间获得的元信息,以及响应于先前重建并经环路滤波的样本值。
[0132] 环路滤波器单元311的输出可以是样本流,样本流可以输出到呈现设备312以及存储在参考图片存储器308中以在将来的图片间预测中使用。
[0133] 一旦完全重建,某些已编码的图片就可以用作参考图片以用于将来预测。一旦已编码图片被完全重建并且已编码图片(通过例如解析器304) 被识别为参考图片,则当前参
考图片309可以变为参考图片缓冲器308 的一部分,并且可以在开始对随后的已编码图片
进行重建之前重新分配新的当前图片存储器。
[0134] 视频解码器300可以根据可以记录在诸如ITU‑T H.265建议书的标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术文档或标准中指定的并且
具体地在其中的配置文档中指定的视频压缩技术或标准的语法的意义上,已编码视频序列
可以符合由正使用的视频压缩技术或标准指定的语法。对于合规性,还要求已编码的视频
序列的复杂度在由视频压缩技术或标准的层级限定的范围内。在一些情况下,层级限制最
大图片大小、最大帧速率、最大重建样本速率(以例如每秒兆个样本为单位进行测量)、最大
参考图片大小等。在一些情况下,由层级设置的限制可以通过假想参考解码器
(Hypothetical Reference Decoder,HRD)规范以及在已编码的视频序列中用信号表示的
HRD缓冲器管理的元数据来进一步限定。
[0135] 在实施方式中,接收器302可以连同已编码视频一起接收附加(冗余)数据。附加数据可以被包括为已编码的视频序列的一部分。附加数据可以由视频解码器300使用来正确
地对数据进行解码和/或较准确地重建原始视频数据。附加数据可以是例如时间、空间或信
噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。
[0136] 图4可以是根据本公开内容的实施方式的视频编码器400的功能框图。
[0137] 编码器400可以从视频源401(其不是编码器的一部分)接收视频样本,该视频源可以采集要由编码器400进行编码的视频图像。
[0138] 视频源401可以提供要由源编码器(403)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适位深度(例如: 8位、10位、12位……)、任何色彩
空间(例如BT.601 Y CrCb、RGB……) 和任何合适采样结构(例如Y CrCb 4:2:0、Y CrCb 4:
4:4)。在媒体服务系统中,视频源401可以是存储先前已准备的视频的存储设备。在视频会
议系统中,视频源401可以是采集本地图像信息作为视频序列的相机。可以将视频数据提供
为多个单独的图片,在按次序观看时这些图片被赋予运动。图片自身可以被组织为空间像
素阵列,其中,取决于所使用的采样结构、色彩空间等,每个像素可以包括一个或更多个样
本。本领域技术人员可以容易地理解像素与样本之间的关系。以下描述侧重于样本。
[0139] 根据实施方式,编码器400可以实时或在由应用所要求的任何其他时间约束下,将源视频序列的图片编码且压缩成已编码的视频序列410。施行适当的编码速度是控制器402
的一个功能。控制器控制如下所述的其他功能单元,并且在功能上耦接至这些单元。出于简
洁起见,未描绘耦接。由控制器设置的参数可以包括:速率控制相关参数(图片跳过、量化
器、率失真优化技术的λ值、...)、图片大小、图片群组(group of picture, GOP)布局、最大
运动矢量搜索范围等。本领域技术人员可以容易地识别控制器402的其他功能,因为它们可
能属于针对特定系统设计而优化的视频编码器400。
[0140] 一些视频编码器以本领域技术人员容易识别为“编码环路”的方式进行操作。作为非常简化的描述,编码环路可以包括:编码器403(此后称为“源编码器”)(负责基于要编码
的输入图片和参考图片创建符号) 的编码部分,以及嵌入在编码器400中的(本地)解码器
406,该解码器406重建符号以创建(远程)解码器也将创建的样本数据(因为在所公开的主
题中考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。将重建
的样本流输入至参考图片存储器405。由于符号流的解码产生与解码器位置(本地或远程)
无关的位精确结果,因此参考图片缓冲器内容在本地编码器与远程编码器之间也是位精确
的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器在解码期间使用预测时
将“看到”的样本值完全相同。参考图片同步性(以及在例如由于信道误差而无法维持同步
性的情况下产生的漂移)的这种基本原理对于本领域技术人员来说是公知的。
[0141] “本地”解码器406的操作可以与已经在上面结合图3详细描述的“远程”解码器300的操作相同。然而,还简要地参照图4,当符号可用并且由熵编码器408和解析器304能够无
损地将符号编码/解码为已编码的视频序列时,包括信道301、接收器302、缓冲存储器303和
解析器304 的解码器300的熵解码部分可能不能完全在本地解码器406中实现。
[0142] 此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术,也必然需要以基本上相同的功能形式存在于对应的编码器中。由于编码器技术与全面地描述
的解码器技术互逆,因此可以简化对编码器技术的描述。仅在某些区域中需要并且在下面
提供更详细的描述。
[0143] 作为其操作的一部分,源编码器403可以执行运动补偿预测编码,其参考来自视频序列中指定为“参考帧”的一个或更多个先前已编码的帧来预测地编码输入帧。以此方式,
编码引擎407对输入帧的像素块与可以被选作输入帧的预测参考的参考帧的像素块之间的
差异进行编码。
[0144] 本地视频解码器406可以基于由源编码器403创建的符号对可以被指定为参考帧的帧的已编码视频数据进行解码。编码引擎407的操作可以有利地是有损处理。当已编码的
视频数据可以在视频解码器(图4中未示出)处被解码时,重建的视频序列通常可以是带有
一些误差的源视频序列的复制品。本地视频解码器406复制解码处理,该解码处理可以由视
频解码器对参考帧执行,并且可以使重建的参考帧存储在参考图片高速缓存405中。以此方
式,编码器400可以本地存储重建的参考帧的副本,副本与将由远端视频解码器获得的重建
的参考帧具有共同内容(不存在传输误差)。
[0145] 预测器404可以针对编码引擎407执行预测搜索。即,对于要编码的新帧,预测器404可以在参考图片存储器405中搜索可以用作新图片的适当预测参考的样本数据(作为候
选参考像素块)或特定元数据,例如参考图片运动矢量、块形状等。预测器404可以基于样本
块逐像素块操作,以找到合适的预测参考。在一些情况下,如由预测器404获得的搜索结果
所确定的,输入图片可以具有从参考图片存储器405中存储的多个参考图片提取的预测参
考。
[0146] 控制器402可以管理源编码器403的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
[0147] 所有上述功能单元的输出可以在熵编码器408中经历熵编码。熵编码器通过根据本领域技术人员已知的技术(例如霍夫曼编码、可变长度编码、算术编码等)对符号进行无
损压缩,将由各种功能单元生成的符号转换成已编码视频序列。
[0148] 传输器409可以缓冲由熵编码器408创建的已编码视频序列,从而为经由通信信道411进行传输做准备,该通信信道可以是通向将存储已编码视频数据的存储设备的硬件/软
件链路。传输器409可以将来自源编码器403的已编码视频数据与要传输的其他数据合并,
该其他数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
[0149] 控制器402可以管理编码器400的操作。在编码期间,控制器402 可以为每个已编码图片分配某一已编码图片类型,但这可能影响可以应用于相应图片的编码技术。例如,通
常可以将图片分配为以下任一种图片类型:
[0150] 帧内图片(I图片),其可以是在不将序列中的任何其他帧用作预测源的情况下可以被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码
器刷新(Independent Decoder Refresh) 图片。本领域技术人员了解I图片的那些变型及
其相应的应用和特征。
[0151] 预测性图片(P图片),其可以是可以使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0152] 双向预测性图片(B图片),其可以是可以使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本
值。类似地,多个预测性图片可以使用多于两个参考图片和相关联的元数据以用于单个块
的重建。
[0153] 源图片通常可以在空间上细分为多个样本块(例如,各自4×4、8×8、 4×8或16×16个样本的块)并且逐块进行编码。这些块可以参考通过应用于块的相应的图片的编码分
配来确定的其他(已经编码)块进行预测性编码。例如,I图片的块可以进行非预测性编码,
或者这些块可以参考同一图片的已经编码的块来进行预测性编码(空间预测或帧内预测)。
P 图片的像素块可以参考一个先前已编码参考图片经由空间预测或经由时间预测进行非
预测性编码。B图片的块可以参考一个或两个先前已编码参考图片经由空间预测或经由时
间预测进行非预测性编码。
[0154] 视频编码器400可以根据例如ITU‑T H.265建议书的预定视频编码技术或标准执行编码操作。在视频编码器400的操作中,视频编码器400 可以执行各种压缩操作,包括利
用输入视频序列中的时间和空间冗余的预测性编码操作。因此,已编码的视频数据可以符
合由使用的视频编码技术或标准指定的语法。
[0155] 在实施方式中,传输器409可以在传输已编码视频时传输附加数据。视频编码器400可以包括这样的数据作为已编码的视频序列的一部分。附加数据可以包括时间/空间/
SNR增强层、诸如冗余图片和切片的其他形式的冗余数据、辅助增强信息(Supplementary 
Enhancement Information,  SEI)消息、视觉可用性信息(Visual  Usability 
Information,VUI)参数集片段等。
[0156] 图5示出了HEVC和JEM中使用的帧内预测模式。为了采集自然视频中呈现的任意边缘方向,将方向性帧内模式的数目从HEVC中使用的 33个扩展到65个。在HEVC之上JEM中的
附加方向性模式被描绘为图 5所示的右图中的虚线箭头,并且平面模式和DC模式保持不
变。这些更密集的方向性帧内预测模式适用于所有块大小以及亮度和色度帧内预测两者。
如图5所示,与奇数帧内预测模式索引相关联的、由虚线箭头标识的方向性帧内预测模式被
称为奇数帧内预测模式。与偶数帧内预测模式索引相关联的、由实线箭头标识的方向性帧
内预测模式被称为偶数帧内预测模式。在本文档中,图5中的实线或虚线箭头所指示的方向
性帧内预测模式也被称为角度模式。
[0157] 在JEM中,总共67个帧内预测模式用于亮度帧内预测。为了以帧内模式进行编码,基于相邻块的帧内模式来构建大小为6的MPM列表。如果帧内模式不是来自MPM列表,则用信
号发出标志以指示帧内模式是否属于所选模式。在JEM‑3.0中,存在16个选定模式,其按照
每四个角度模式被均匀地选择。在JVET‑D0114和JVET‑G0060中,得出16个次级 MPM以替换
均匀选择的模式。
[0158] 在JEM中,对于亮度分量,在生成处理之前对用于帧内预测样本生成的相邻样本进行滤波。该滤波通过给定帧内预测模式和变换块大小进行控制。如果帧内预测模式是DC或
者变换块大小等于4×4,则不对相邻样本进行滤波。如果给定帧内预测模式与竖直模式(或
水平模式)之间的距离大于预定义阈值,则启用滤波处理。对于相邻样本滤波,使用[1,2, 
1]滤波器和双线性滤波器。
[0159] 位置相关帧内预测组合(position dependent intra prediction combination,PDPC)方法是帧内预测方法,其调用使用经滤波的边界参考样本的HEVC式帧内预测和未经
滤波的边界参考样本的组合。如下计算位于(x,y)处的每个预测样本pred[x][y]:
[0160] pred[x][y]=(wL*R‑1,y+wT*Rx,‑1+wTL*R‑1,‑1+(64‑wL‑wT‑wTL)*pred[x][y]+32)>>6
[0161] (式2‑1)
[0162] 其中Rx,‑1、R‑1,y分别表示位于当前样本(x,y)的上方处和左侧处的未经滤波的参考样本,并且R‑1,‑1表示位于当前块的左上角处的未经滤波的参考样本。如下计算加权:
[0163] wT=32>>((y<<1)>>移位)            (式2‑2)
[0164] wL=32>>((x<<1)>>移位)            (式2‑3)
[0165] wTL=‑(wL>>4)‑(wT>>4)            (式2‑4)
[0166] 移位=(log2(宽度)+log2(高度)+2)>>2      (式2‑5)
[0167] 图6示出了其中DC模式PDPC针对一个4×4块内的(0,0)位置和 (1,0)位置进行加权(wL,wT,wTL)的图700。如果将PDPC应用于 DC帧内模式、平面帧内模式、水平帧内模式和
竖直帧内模式,则不需要附加的边界滤波器,例如HEVC DC模式边界滤波器或水平/竖直模
式边缘滤波器。图6示出了应用于右上对角模式的PDPC的参考样本Rx,‑1、 R‑1,y和R‑1,‑1
的定义。预测样本pred(x’,y’)位于预测块内的(x’,y’) 处。参考样本Rx,‑1的坐标x由x=
x’+y’+1给出,并且参考样本R‑1,y 的坐标y类似地由y=x’+y’+1给出。
[0168] 对于局部亮度补偿(Local Illumination Compensation,LIC),其可以是基于使用缩放因子a和偏移b的用于亮度变化的线性模型。并且针对每个帧间模式编码的编码单元
(coding unit,CU),可以自适应地启用或禁用局部亮度补偿。
[0169] 当针对CU应用LIC时,采用最小平方误差方法以通过使用当前CU 的相邻样本及其对应的参考样本来得出参数a及参数b。更具体地,使用 CU的经二次采样(2∶1二次采样)的
相邻样本和参考图片中的(由当前 CU或子CU的运动信息标识的)对应样本。得出IC参数并
且分别应用于每个预测方向。
[0170] 当利用合并模式对CU进行编码时,以与合并模式中的运动信息复制类似的方式从相邻块复制LIC标志;否则,向CU以信号发送LIC标志以指示是否应用LIC。
[0171] 图7A示出了在HEVC中使用的帧内预测模式900。在HEVC中,存在总共35个帧内预测模式,其中模式10是水平模式,模式26是竖直模式,并且模式2、模式18和模式34是对角模
式。通过三个最可能模式(most probable mode,MPM)和32个剩余模式来用信号表示帧内预
测模式。
[0172] 图7B示出了,在VVC的实施方式中存在总共87个帧内预测模式,其中模式18是水平模式,模式50是竖直模式,并且模式2、模式34和模式66是对角模式。模式‑1至模式‑10以及
模式67至模式76被称为广角帧内预测(Wide‑Angle Intra Prediction,WAIP)模式。
[0173] 根据PDPC表达式,使用帧内预测模式(DC、平面、角度)和参考样本的线性组合来预测位于位置(x,y)处的预测样本pred(x,y):
[0174] pred(x,y)=(wL×R‑1,y+wT×Rx,‑1–wTL×R‑1,‑1+(64–wL–wT +wTL)×pred(x,y)+32)>>6
[0175] 其中,Rx,‑1、R‑1,y分别表示位于当前样本(x,y)的上方和左侧处的参考样本,并且R‑1,‑1表示位于当前块的左上角处的参考样本。
[0176] 对于DC模式,针对具有维度宽度和高度的块,如下计算权重:
[0177] wT=32>>((y<<1)>>nScale),wL=32>>((x<<1)>>nScale),wTL=(wL>>4),
[0178] +(wT>>4)
[0179] 其中,nScale=(1og2(宽度)‑2+1og2(高度)‑2+2)>>2其中,wT表示位于上面参考线内具有相同横坐标的参考样本的加权因子,wL表示位于左侧参考线内具有相同纵坐标
的参考样本的加权因子,并且wTL表示当前块的左上参考样本的加权因子,nScale指定加权
因子沿轴减小(wL从左到右减小或者wT从上到下减小)的速度,即加权因子递减速率,并且
在当前设计中该加权因子递减速率沿x轴(从左到右)和y轴(从上到下)是相同的。并且32表
示相邻样本的初始加权因子,并且初始加权因子也是分配给当前CB中的左上样本的上(左
或左上)加权,并且PDPC 处理中的相邻样本的加权因子应当等于或小于该初始加权因子。
[0180] 对于平面模式而言wTL=0,而对于水平模式而言wTL=wT以及对于竖直模式而言wTL=wL。可以仅利用加法和移位来计算PDPC权重。可以使用式1在单个步骤中进行计算
pred(x,y)的值。
[0181] 图8示出了根据示例性实施方式的流程图1000,其中在S1处,考虑将PDPC应用于帧间编码的CU的重建样本或帧间预测样本。当将PDPC 应用于帧间编码的CU的重建样本或帧
间预测样本时,在PDPC处理中进一步修改帧间编码的CU的重建样本或预测样本。
[0182] 在S2处,以信号发送诸如interPDPCFlag的标志,以指示是否应用 PDPC。根据实施方式,可以在CU级处以信号发送interPDPCFlag以指示是否将PDPC应用于帧间编码的CU的
重建样本或帧间预测样本,以及根据其他实施方式,在TU级处用信号发送interPDPCFlag以
指示是否将PDPC应用于帧间编码的CU的重建样本或帧间预测样本。此外,可以仅当确定当
前CU既不是经帧内编码CU也不是跳过CU时才以信号发送interPDPCFlag。
[0183] 根据实施方式,在S2处,可以仅针对通过合并模式编码的编码块以信号发送interPDPCFlag,并且可以在合并索引之前或之后以信号发送该标志,使得根据实施方式不
将PDPC应用于跳过CU,并且/或者使得既不将PDPC应用于跳过CU也不应用于子块合并CU。
[0184] 在S3处,考虑在帧间编码的CU的重建或帧间预测之后, interPDPCFlag是否被设置为等于真,如果是,则在S4处,将PDPC应用于帧间编码的CU的重建样本或帧间预测样本以
生成帧间编码的CU的重建样本或最终预测值。
[0185] 根据实施方式,在S4处,当将PDPC应用于重建样本时,在应用任何环路内去块滤波器(例如去块、样本自适应偏移(Sample Adaptive Offset,SAO)和自适应环路滤波器
(Adaptive Loop Filter,ALF)等) 之前将PDPC应用于重建样本。
[0186] 根据实施方式,在S3处interPDPCflag被设置为等于真的情况下,在S4处,不将去块和SAO应用于当前CU的上边界和左边界,并且根据其他实施方式,在S3处interPDPCflag
被设置为等于真的情况下,不将除PDPC之外的任何其他滤波器应用于当前CU的上边界和左
边界。
[0187] 否则,在S5处,在帧间编码的CU的重建或帧间预测之后,不将PDPC 应用于帧间编码的CU的重建样本或帧间预测样本,而是替代地,可以使用常规的帧间预测处理。
[0188] 根据实施方式,可以确定并仅对帧间编码的CU的亮度分量应用 PDPC。
[0189] 根据实施方式,在S6处,在将PDPC应用于当前CB的帧间编码的 CU的重建样本或帧间预测样本的情况下,可以确定是否在S7处将默认帧内预测模式分配给当前CB,使得随后
的CB可以使用该默认帧内预测模式以用于进行帧内模式编码和最可能模式(Most 
Probable Mode, MPM)导出。例如,默认帧内预测模式可以是平面模式或DC模式中的任意
者。
[0190] 在S8处,确定针对常规帧内预测模式下所应用的PDPC滤波过程与 S4处的PDPC滤波过程,是否使用不同的多个PDPC初始加权因子 (different initial weighting 
factors of PDPC),如果是,则在S9处,可以针对S4处的PDPC,将加权因子设置为16、8、4、2
或1。根据实施方式,当将PDPC应用于当前CB的帧间编码的CU的重建样本或帧间预测样本
时,可以将帧内预测模式标记为不可用,使得对于随后的相邻块,当前CB不会被视为帧内编
码块,并且对于随后的相邻块,当前CB不会被用于帧内模式编码或MPM导出。
[0191] 根据实施方式,在将PDPC应用于S4处帧间编码的CU的重建样本或帧间预测样本的情况下,可以在S10处考虑加权因子递减速率和/或初始加权因子,并且在S11处将加权因子
递减速率和/或初始加权因子设置为不同的值,而不是帧内预测中的原始PDPC中所使用的
值。
[0192] 根据实施方式,在S11处,可以将加权因子递减速率设置为等于固定值N,其不依赖于当前编码单元的块大小,N可以为等于或大于0的任何整数。例如,可以将N设置为等于0、
1、2、3或4。
[0193] 根据实施方式,在S11处,当块大小(宽度*高度)等于或小于Thres_1 时,可以将加权因子递减速率设置为等于固定值N1。否则,可以将加权因子递减速率设置为等于另一固
定值N2。N1和N2可以是大于或等于0 的任何整数。例如,将N1设置为等于1,并且将N2设置为
等于2。Thres_1 可以是任何正整数,例如32、64、128、256、512或1024。
[0194] 根据实施方式,在S11处,可以将加权因子递减速率设置为等于 ((Log2(nTbW)+Log2(nTbH)+S)>>2),S可以是任何整数,例如‑3、‑2、 ‑1、0、1、2或3。
[0195] 根据实施方式,在S11处,当将PDPC应用于帧间预测样本时,加权因子递减速率对于x轴(从左到右)和y轴(从上到下)可以具有不同的值。例如,沿x轴的加权因子递减速率可
以与当前CB的宽度有关,例如(Log2(nTbH)+S1)>>1,而沿y轴的加权因子递减速率可以与当
前 CB的高度有关,例如(Log2(nTbW)+S2)>>1。S1和S2可以是任何整数,例如‑3、‑2、‑1、0、1、
2或3。
[0196] 此外,关于根据图8的实施方式,可以以包括但不限于SPS(Sequence Parameter Set,序列参数集)、PPS(Picture Parameter Set,图片参数集)、切片头部、CTU头部的高级
语法元素来以信号通知是否允许在帧间预测块或帧间重建块之上应用PDPC,并且可以用信
号发送一个标志以指示是否可以允许在亮度帧间预测块或帧间重建块之上应用PDPC,并且
可以用信号发送另一标志以指示是否允许在色度帧间预测块或帧间重建块之上应用PDPC。
[0197] 图9示出了根据示例性实施方式的流程图1100,该示例性实施方式根据图8的实施方式或与图8的实施方式分开,其中S1、S2、S3和S5 可以是类似的,而在S3处,如果确定标志
被设置为等于真,则在S12处,可以用信号发送第二标志或索引。流程图1100涉及将多个
PDPC滤波器集合应用于帧间预测样本(或帧间编码的CU的重建样本)。可以针对每个块大小
来限定多个PDPC滤波器集合,并且当将PDPC应用于帧间预测样本或帧间编码的CU的重建样
本时,可以将PDPC处理中的预测样本修改为帧间预测样本或帧间编码的CU的重建样本。针
对可以应用 PDPC的编码块用信号通知对PDPC滤波器的选择。
[0198] 在S12处,根据实施方式,可以在S2处用信号发送一个标志,即 interPDPCFlag,以指示是否应用PDPC。如果在S3处interPDPCFlag设置为等于真,则可以用信号发送第二标志
或索引以指示在帧间预测之后利用哪个PDPC滤波器。可以将所指定的滤波器类型应用于帧
间预测样本或帧间编码的CU的重建样本以生成最终帧间预测值或帧间编码的CU 的重建样
本。
[0199] 在S13处,根据实施方式,可以存在N个不同的PDPC滤波器类型,可以利用一元截断编码或固定长度编码来用信号通知这N个不同的 PDPC滤波器类型,其中N可以是任何正整
数,例如2、3或4。
[0200] 在S13处,根据实施方式,PDPC滤波器类型的数目可以取决于编码信息,包括但不限于块宽度、块高度、块宽高比、块面积大小、当前块是单向预测的(uni‑predicted)还是双
向预测的(bi‑predicted)、当前块是使用MERGE模式还是AMVP模式进行编码的。
[0201] 在S13处,根据实施方式,可以通过加权因子递减速率或缩放因子、以及/或者被分配当前块的左上样本的上方和/或左侧、和/或左上加权的初始加权因子来指定不同的PDPC
滤波器类型。例如,可以将加权因子递减速率设置为((Log2(nTbW)+Log2(nTbH)‑2+S)>>2),
其中S可以是任何整数,并且S对于不同的PDPC滤波器类型具有不同的设置。在实施方式中,
可以针对每个PDPC滤波器类型将加权因子递减速率设置为N,其中N可以是任何整数,并且N
对于不同的PDPC滤波器类型可以具有不同的设置。在实施方式中,加权因子递减速率的得
出可以使用当存在N个不同的PDPC滤波器类型时所描述的方法,并且加权因子的初始值可
以是32、16、8、4、2、1或0。在另外的实施方式中,仅加权因子的初始值可以针对不同的PDPC
滤波器类型而不同,并且加权因子的初始值的示例值可以包括但不限于:32、16、8、4、2、1或
0。
[0202] 另外,关于S13,类似于S6和S7,当将PDPC应用于帧间预测样本或帧间编码的CU的重建样本时,可以将默认帧内预测模式分配给当前 CB,使得随后的CB可以使用该默认帧内
预测模式以用于进行MPM导出,并且默认帧内预测模式可以是平面模式或DC模式。
[0203] 图10示出了与被称为帧内‑帧间模式或还被称为帧间‑帧内模式、或者组合式合并和帧内预测模式的多假设帧内‑帧间预测相关的流程图 1200。将相同加权应用于帧内预测
和帧间预测的加权被称为相等加权,例如,(w_intra,w_inter)=(1,1)或(w_intra,w_
inter)=(4,4)都是相等加权,其中w_intra是应用于帧内预测的加权,而w_inter是应用于
帧间预测的加权。
[0204] 在S14处,对于帧内‑帧间模式应用的加权,即w_intra和w_inter,开始确定加权集合的处理,并且用信号通知针对通过帧内‑帧间模式编码的块对加权的选择。在S14处,可以
检查相邻块的参数,并且在S15处,可以用信号发送第一标志以指示是否使用相等加权。根
据实施方式,用于对第一标志进行熵编码的上下文依赖于相邻块是被帧内编码还是被帧间
编码还是被帧内‑帧间编码。根据实施方式,用于对该第一标志进行熵编码的上下文依赖于
上方相邻块和左侧相邻块之一是否被帧内编码。根据实施方式,用于对该第一标志进行熵
编码的上下文依赖于上方相邻块和左侧相邻块之一是被帧内编码还是被帧内‑帧间编码。
根据实施方式,用于对该第一标志进行熵编码的上下文依赖于上方相邻块和左侧相邻块之
一是否被帧间编码。
[0205] 例如,在S16处,可以确定是否满足某些条件。如果利用指示不应用相等加权的值来用信号发送第一标志,则根据相邻块是被帧内编码还是被帧间编码还是帧内‑帧间编码
来选择加权。
[0206] 根据示例性实施方式,如果满足以下描述的示例性条件中的任何条件,则在S17处应用一个加权,例如示例候选加权(w_intra,w_inter)= (3,1),而如果未满足以下描述的
示例性条件中的任何条件,则在S18 处应用一个加权,例如示例候选加权(w_intra,w_
inter)=(1,3)。
[0207] 可以根据以下任意一者来考虑S16处的条件:用于对该第一标志进行熵编码的上下文是否依赖于“上方相邻块和左侧相邻块两者是否均被帧内编码”;用于对该第一标志进
行熵编码的上下文是否依赖于“上方相邻块和左侧相邻块两者是否均被帧内编码或帧内‑
帧间编码”;以及用于对该第一标志进行熵编码的上下文是否依赖于“上方相邻块和左侧相
邻块两者是否均被帧间编码”。然而,根据示例性实施方式,如果用于对该第一标志进行熵
编码的上下文依赖于上方相邻块和左侧相邻块是否均被帧间编码,则与上述其他实施方式
相对照,可以将加权可以设置为 (w_intra,w_inter)=(1,3)。
[0208] 在S19处,可以用信号发送第二标志以指示可以使用候选加权集合中的哪个加权。根据实施方式,用于对第二标志进行熵编码的上下文依赖于相邻块是否被帧内编码还是被
帧间编码还是被帧内‑帧间编码。例如,如果上方相邻块和左侧相邻块两者均被帧内编码,
则可以将上下文值设置为第一值,否则,如果上方相邻块和左侧相邻块之一被帧内编码,则
可以将上下文值设置为第二值,否则,如果上方和左侧相邻块均未被帧内编码,则可以将上
下文值设置为第三值。根据其他实施方式,如果上方相邻块和左侧相邻块两者均被帧内编
码或帧内‑帧间编码,则可以将上下文值设置为第一值,否则,如果上方相邻块和左侧相邻
块之一被帧内编码或帧内‑帧间编码,则可以将上下文值设置为第二值,否则,如果上方相
邻块和左侧相邻块均未被帧内编码,则可以将上下文值设置为第三值。根据实施方式,候选
加权集合可以包括(w_intra,w_inter)=(1,3) 和(w_intra,w_inter)=(3,1)。
[0209] 图11示出了流程图1300,其中,在S20处在帧内‑帧间模式中不使用帧内预测而是在帧间预测之上直接应用PDPC;然而,在PDPC滤波中应用于帧间预测的加权依赖于相邻块
是被帧内编码还是被帧间编码,还是被帧内‑帧间编码。
[0210] 根据实施方式,在S21处,如下在帧间预测之上直接应用PDPC:
[0211] pred(x,y)=(w_intra*wL×R‑1,y+w_intra*wT×Rx,‑1‑w_intra*wTL×R‑1,‑1+(N‑ w_intra*wL‑w_intra*wT+w_intra*wTL)×InterPred(x,y)+N/2)>>log2(N)
[0212] 其中InterPred是输入帧间预测,并且w_intra选自预定义值集合,并且该选择依赖于相邻块是被帧内编码还是被帧间编码还是被帧内‑帧间编码。N的示例值包括8、16、32、
64、128、256。如果相邻块满足该条件,则可以在S22处应用加权1,而如果相邻块不满足该条
件,则可以在 S23处应用加权2。
[0213] 根据实施方式,在S21处,如下在帧间预测之上直接应用PDPC:
[0214] pred(x,y)=(w_intra*wL×R‑1,y+w_intra*wT×Rx,‑1+(N‑w_intra*wL‑w_intrra*
[0215] wT)×InterPred(x,y)+(N/2))>>log2(N)
[0216] 其中InterPred是输入帧间预测,并且w_intra选自预定义值集合,并且该选择依赖于相邻块是被帧内编码还是被帧间编码还是被帧内‑帧间编码。N的示例值包括8、16、32、
64、128、256。如果相邻块满足该条件,则可以在S22处应用加权1,而如果相邻块不满足该条
件,则可以在 S23处应用加权2。
[0217] 根据实施方式,在S21处,如下在帧间预测之上直接应用PDPC:
[0218] pred(x,y)=(w_intra*wL×R‑1,y+w_intra*wT×Rx,‑1+(N*(w_intra+w_inter)‑ w_intra*wL‑w_intra*wT)×InterPred(x,y)+(N/2)*((w_intra+w_inter)))>>(log2(N)+ 
log2(w_intra+w_inter))
[0219] 其中InterPred是输入帧间预测,并且w_intra选自预定义值集合,并且该选择依赖于相邻块是被帧内编码还是被帧间编码还是被帧内‑帧间编码。例如,当w_intra=3并且
w_inter=1时,上述等式可以被重写为:
[0220] pred(x,y)=(3*wL×R‑1,y+3*wT×Rx,‑1+(N*4‑3*wL‑3*wT)×InterPred(x,y)
[0221] +2*N)>>(log2(N)+2)
[0222] N的示例值包括8、16、32、64、128、256。
[0223] 根据实施方式,在S21处,在PDPC中对上参考样本(wT)应用的加权依赖于上方相邻块被帧内编码还是被帧间编码还是被帧内‑帧间编码,并且在PDPC中对左参考样本(wL)应
用的加权依赖于左侧相邻块被帧内编码还是被帧间编码还是被帧内‑帧间编码。
[0224] 根据实施方式,在S21处,如下在帧间预测之上直接应用PDPC:
[0225] pred(x,y)=(w_intraL*wL×R‑1,y+w_intraT*wT×Rx,‑1‑w_intraTL*wTL×R‑1,‑1+ (N‑w_intraL*wL‑w_intraT*wT+w_intraTL*wTL)×InterPred(x,y)+N/2)>>log2(N)
[0226] 其中InterPred是输入帧间预测,并且w_intraL选自预定义值集合,并且该选择依赖于左侧相邻块是被帧内编码还是被帧间编码还是被帧内 ‑帧间编码,w_intraT选自预定
义值集合,并且该选择依赖于上方相邻块是被帧内编码还是被帧间编码还是被帧内‑帧间
编码,w_intraTL选自预定义值集合,并且该选择依赖于左上相邻块是被帧内编码还是被帧
间编码还是被帧内‑帧间编码。N的示例值包括8、16、32、64、128、256。如果相邻块满足该条
件,则可以在S22处应用加权1,而如果相邻块不满足该条件,则可以在S23处应用加权2。
[0227] 根据实施方式,在S21处,如下在帧间预测之上直接应用PDPC:
[0228] pred(x,y)=(w_intraL*wL×R‑1,y+w_intraT*wT×Rx,‑1+(N‑w_intraL*wL‑
[0229] w_intraT*wT)×InterPred(x,y)+N/2)>>log2(N)
[0230] 其中InterPred是输入帧间预测,并且w_intraL选自预定义值集合,并且该选择依赖于左侧相邻块是被帧内编码还是被帧间编码还是被帧内‑帧间编码,w_intraT选自预定
义值集合,并且该选择依赖于上方相邻块是被帧内编码还是被帧间编码还是被帧内‑帧间
编码。N的示例值包括8、 16、32、64、128、256。如果相邻块满足该条件,则可以在S22处应用
加权1,而如果相邻块不满足该条件,则可以在S23处应用加权2。
[0231] 因此,通过本文中描述的示例性实施方式,可以通过这些技术方案来有利地改进上述技术问题。
[0232] 上述技术可以被使用计算机可读指令实现为计算机软件,并且被物理地存储在一个或更多个计算机可读介质中,或者可以通过特别配置的一个或更多个硬件处理器来实现
上述技术。例如,图12示出了适合于实现所公开的主题的某些实施方式的计算机系统1400。
[0233] 计算机软件可以使用任何合适的机器代码或计算机语言来编码,机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,该指令可以由计算机中央
处理单元(central processing unit, CPU)、图形处理单元(Graphics Processing Unit,
GPU)等直接执行或者通过解译、微代码执行等来执行。
[0234] 指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
[0235] 图12中示出的用于计算机系统1400的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的功能或使用范围提出任何限制。部件的配置也不应
当被解释为具有与计算机系统1400的示例性实施方式中示出的部件中的任何一个部件或
部件的组合有关的任何依赖性或要求。
[0236] 计算机系统1400可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音
频输入(诸如:语音、拍打)、视觉输入(诸如:姿势)、嗅觉输入(未示出)的输入。人机接口设
备还可以用于采集不一定与人的有意识输入直接有关的某些媒体,例如,音频(诸如:语音、
音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如
二维视频、包括立体视频的三维视频)。
[0237] 输入人机接口设备可以包括以下中的一个或更多个(仅描绘了每个中的一个):键盘1402、鼠标1404、触控板1403、触摸屏1410、操纵杆 1405、麦克风1406、扫描仪1408、相机
1407。
[0238] 计算机系统1400还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的
人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏1410、或操纵杆1405的触觉反
馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器1409、
头戴式耳机(未描绘))、视觉输出设备(例如,屏幕1410,包括CRT屏幕、LCD屏幕、等离子屏
幕、OLED屏幕,每个屏幕具有或不具有触摸屏输入能力,每个具有或不具有触觉反馈能
力——其中的一些可能能够通过诸如立体图像输出的手段输出二维视觉输出或多于三维
输出;虚拟现实眼镜(未描绘)、全息显示器和烟罐(未描绘))和打印机(未描绘)。可以提供
图形适配器1429以用于与各种输入设备的接口。
[0239] 计算机系统1400还可以包括人类可访问存储设备及其相关联的介质,例如,包括具有CD/DVD等介质1411的CD/DVD ROM/RW 1412 的光学介质、拇指驱动器1413、可移除硬盘
驱动器或固态驱动器1414、遗留磁性介质(例如,磁带和软盘(未描绘))、基于专用ROM/
ASIC/PLD 的设备(例如,安全加密狗(未描绘))等。
[0240] 本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬时信号。
[0241] 计算机系统1400还可以包括到一个或更多个通信网络1415的接口。网络1415可以例如是无线的、有线的、光的。网络1415还可以是局域的、广域的、城域的、车载和工业的、实
时的、延时容忍的等。网络1415 的示例包括:诸如以太网的局域网,无线LAN,包括GSM、3G、
4G、 5G、LTE等的蜂窝网络,包括有线电视、卫星电视和地面广播电视的电视有线或无线广
域数字网络,包括CANBus的车载和工业网络等。某些网络1415通常需要附接至某些通用数
据端口或外围总线1425(例如,计算机系统1400的USB端口)的外部网络接口适配器1427;其
他的通常通过如下所述附接至系统总线而集成到计算机系统1400的核中(例如,集成到PC
计算机系统中的以太网接口或集成到智能电话计算机系统中的蜂窝网络接口)。使用这些
网络中的任何网络,计算机系统1400可以与其他实体进行通信。这样的通信可以是单向仅
接收的(例如,广播电视)、单向仅发送的(例如,到某些CANbus设备的CANbus)、或双向的,例
如,使用局域或广域数字网络到其他计算机系统。可以在如上所述的这些网络1415和网络
接口1427中的每一个上使用某些协议和协议栈。
[0242] 以上提及的人机接口设备、人类可访问存储设备和网络接口1427可以附接至计算机系统1400的核1416。
[0243] 核1416可以包括一个或更多个中央处理单元(Central Processing Unit,CPU)1421、图形处理单元(Graphics Processing Unit,GPU)1422、现场可编程门阵列(Field 
Programmable GateArea,FPGA)1424形式的专用可编程处理单元、用于某些任务的硬件加
速器1426等。这些设备连同只读存储器(Read‑only memory,ROM)1419、随机存取存储器
1418、诸如内部非用户可访问硬盘驱动器、SSD等内部大容量存储装置一起可以通过系统总
线1428连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线
1428,以使得能够通过另外的CPU、GPU 等进行扩展。外围设备可以直接地或通过外围总线
1401附接至核的系统总线1428。外围总线的架构包括PCI、USB等。
[0244] CPU 1421、GPU 1422、FPGA 1424和加速器1426可以执行某些指令,这些指令可以组合起来构成以上提及的计算机代码。该计算机代码可以存储在ROM 1419或RAM 1418中。
过渡数据也可以存储在RAM 1418中,而永久数据可以存储在例如内部大容量存储装置1420
中。可以通过使用高速缓存存储器来实现向存储设备中的任何存储设备的快速存储和检
索,该高速缓存存储器可以与一个或更多个CPU 1421、GPU 1422、大容量存储装置1420、ROM 
1419、RAM 1418等紧密相关联。
[0245] 计算机可读介质可以在其上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,
或者它们可以是计算机软件领域的技术人员公知且可用的类型。
[0246] 作为示例而非限制,具有架构的计算机系统1400——特别是核1416 ——可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行实施在一个或更多个有形计算机可读介质中
的软件而提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量
存储装置相关联的介质,以及具有非暂态性的核1416的某些存储装置,例如,核内部大容量
存储装置1420或ROM 1419。可以将实现本公开内容的各种实施方式的软件存储在这样的设
备中并且由核1416执行。根据特定需要,计算机可读介质可以包括一个或更多个存储设备
或芯片。软件可以使核1416 ——特别是其中的处理器(包括CPU、GPU、FPGA等)——执行本
文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM 1418 中的数据结构以
及根据由软件限定的处理修改这样的数据结构。另外地或替选地,计算机系统可以由于硬
连线的或以其他方式实施在电路(例如,加速器1426)中的逻辑而提供功能,该电路可以代
替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的
情况下,提及软件可以包含逻辑,反之提及逻辑也可以包含软件。在适当的情况下,提及计
算机可读介质可以包含存储用于执行的软件的电路(例如,集成电路(integrated 
circuit,IC))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任
何合适的组合。
[0247] 尽管本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等效物。因此,应当认识到,虽然本文中没有明确示出或描述,
但是本领域技术人员能够设想实施本公开内容的原理并且因此在本公开内容的精神和范
围内的许多系统和方法。