首页> 中国专利> 受约束的帧内预测和统一的MPM列表生成

受约束的帧内预测和统一的MPM列表生成

摘要

一种用于对已编码视频流中的当前块进行编码的参考样本选择方法,使用至少一个处理器,包括:确定是否启用受约束的帧内预测CIP模式;确定当前块的相邻样本是否属于采用帧内块复制IBC编码的编码块;当确定出所述相邻样本属于采用IBC编码的编码块时,选择所述相邻样本作为参考样本;及,基于所述参考样本,使用帧内预测编码对所述当前块进行编码。

著录项

  • 公开/公告号CN113170102A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利权人 腾讯美国有限责任公司;

    申请/专利号CN201980073717.X

  • 发明设计人 赵欣;李翔;赵亮;刘杉;

    申请日2019-11-12

  • 分类号H04N19/105(20060101);H04N19/11(20060101);H04N19/159(20060101);H04N19/52(20060101);H04N19/61(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人陈世华;王琦

  • 地址 美国加利福尼亚州帕洛阿尔托公园大道2747号

  • 入库时间 2023-06-19 11:55:48

说明书

引用并入

本申请要求于2018年11月14日提交的、申请号为62/767,472、发明名称为"增强的受约束的帧内预测"的美国临时申请的优先权,于2019年1月5日提交的、申请号为62/788,834、发明名称为“统一的MPM列表生成方案”的美国临时申请的优先权,于2019年2月13日提交的、申请号为62/805,163、发明名称为“协调的MPM列表生成方案”的美国临时申请的优先权,以及于2019年11月4日提交的、申请号为16/672,665、发明名称为“增强的受约束的帧内预测”的美国申请的优先权,其全部内容通过引用并入本申请中。

技术领域

本申请涉及先进的视频编解码技术,尤其涉及一种实施受约束的帧内预测和统一的MPM列表生成方法。

背景技术

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),致力于研究开发超过HEVC标准的未来视频编码技术标准的潜在需求。2017年10月,他们发出了联合呼吁,征集针对具有超出HEVC(CfP)能力的视频压缩的提案。截至2018年2月15日,分别提交了针对标准动态范围(SDR)的共22个CfP响应、针对高动态范围(HDR)的12个CfP响应和针对360种视频类别的12个CfP响应。2018年4月,在122运动图象专家组(MPEG)/第十次JVET会议上,对所有收到的CfP响应都进行了评估。作为此次会议的结果,JVET正式启动了超过HEVC的下一代视频编码的标准化。新的标准被命名为通用视频编码(VVC),并且JVET被重新命名为联合视频专家组。

发明内容

根据实施例,一种用于对已编码视频流中的当前块进行编码的参考样本选择方法,使用至少一个处理器,包括:确定是否启用受约束的帧内预测CIP模式;确定当前块的相邻样本是否属于采用帧内块复制IBC编码的编码块;当确定出所述相邻样本属于采用IBC编码的编码块时,选择所述相邻样本作为参考样本;及,基于所述参考样本,使用帧内预测编码对所述当前块进行编码。

根据实施例,一种用于对已编码视频流中的当前块进行编码的参考样本选择设备,包括:至少一个存储器,用于存储程序代码;至少一个处理器,用于读取所述程序代码,根据所述程序代码的指令进行操作,所述程序代码包括:第一确定代码,用于确定是否启用受约束的帧内预测CIP模式;第二确定代码,用于确定当前块的相邻样本是否属于采用帧内块复制IBC编码的编码块;选择代码,用于当确定出所述相邻样本属于采用IBC编码的编码块时,选择所述相邻样本作为参考样本;及,编码代码,用于基于所述参考样本,使用帧内预测编码对所述当前块进行编码。

根据实施例,一种非暂时性计算机可读介质,其上存储有程序代码,所述程序代码包括至少一个指令,当所述至少一个指令由用于对已编码视频流中的当前块进行编码的参考样本选择设备的至少一个处理器执行时,使得所述至少一个处理器:确定是否启用受约束的帧内预测CIP模式;确定当前块的相邻样本是否属于采用帧内块复制IBC编码的编码块;当确定出所述相邻样本属于采用IBC编码的编码块时,选择所述相邻样本作为参考样本;及,基于所述参考样本,使用帧内预测编码对所述当前块进行编码。

附图说明

根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将进一步明确,其中:

图1示出了根据本申请实施例的四叉树二叉树(QTBT)结构的示意图;

图2示出了可用于受约束的帧内预测的相邻样本示例;

图3示出了根据本申请实施例的用于导出α和β的样本位置的示例;

图4示出了根据本申请实施例的最小亮度值和最大亮度值之间的直线;

图5示出了根据本申请实施例的HEVC中的帧内预测模式;

图6示出了根据本申请实施例的在VVC草案2中定义的87个帧内预测模式;

图7示出了根据本申请实施例的相邻CU的位置;

图8示出了根据本申请实施例的在多线帧内预测中使用的参考线的示例;

图9A-9B示出了根据本申请实施例的4×4块内针对样本位置(0,0)和(0,1)的PDPC权重的示例;

图10示出了根据本申请实施例的4×8和8×4块的示例性划分;

图11示出了根据本申请实施例的除了4×8、8×4和4×4块之外的所有块的示例性划分;

图12示出了根据本申请实施例的通信系统的简化框图的示意图;

图13示出了根据本申请实施例的在流环境中放置视频编码器和解码器的示意图;

图14示出了根据本申请实施例的视频解码器的简化框图的示意图;

图15示出了根据本申请实施例的视频编码器的简化框图的示意图;

图16示出了根据本申请实施例的视频编码方法的流程图;

图17是根据本申请实施例的计算机系统的示意图。

具体实施方式

本申请各个实施例可以单独使用,或者按照任何顺序进行结合。并且,每个实施例可以由处理电路(例如,至少一个处理器或者至少一个集成电路)来实施。在一个示例中,至少一个处理器执行存储在非易失性计算机可读介质中的程序。

在HEVC中,通过使用称为编码树的四叉树结构,将编码树单元(CTU)分割成编码单元(CU),以适应各种局部特性。在叶CU级上,确定是否使用图片间(时间)或图片内(空间)预测对编码图片区域进行编码。根据预测单元(PU)分割类型,可以将每个叶CU进一步分割成一个、两个或四个PU。在一个PU内,应用相同的预测过程,并且以PU为基础,将相关信息发送到解码器。在通过基于PU分割类型应用预测过程获得残差块之后,根据与CU的编码树类似的另一四叉树结构,可以将CU分区成变换单元(TU)。HEVC结构的特征之一是,它具有多个分区概念,包括CU、PU和TU。在HEVC中,CU或TU可以只是正方形,而对于帧间预测块,PU可以是正方形或者矩形。在HEVC后期,有一些提案对于帧内预测和变换,也允许使用矩形PU。这些提案没有被HEVC采纳,而是被用于JEM中。

在图片边界处,HEVC采用隐式四叉树分割,使得块将保持四叉树分割,直到大小适合该图片边界。

根据本申请实施例,四叉树二叉树(QTBT)结构可以去除多个分区类型的概念。例如,QTBT结构可以去除CU、PU和TU概念的分离,并且可以支持更加灵活的CU分区形状。在QTBT块结构中,CU可以具有正方形或矩形形状。如图1所图示的示例中所示,首先由四叉树结构对编码树单元(CTU)进行分区。通过二叉树结构,进一步对四叉树叶节点进行分区。在二叉树分割中,有两种分割类型,即对称水平分割和对称垂直分割。二叉树叶节点可以被称为编解码单元(CU),并且该片段可被用于预测和变换处理,而无需任何进一步的分区。这意味着,CU、PU和TU在QTBT编解码块结构中具有相同的块大小。在VCC中,CU有时由不同颜色分量的编解码块(CB)组成,例如,在4:2:0色度格式的P和B条带的情况下,一个CU包含一个亮度CB和两个色度CB,并且CU有时由单个分量的CB组成,例如,在I条带的情况下,一个CU仅包含一个亮度CB或仅包含两个色度CB。

以下参数可用于QTBT分区方案:

CTU大小:四叉树的根节点大小,与HEVC中的概念相同

MinQTSize:允许的最小四叉树叶节点大小

MaxBTSize:允许的最大二叉树根节点大小

MaxBTDepth:允许的最大二叉树深度

MinBTSize:允许的最小二叉树叶节点大小

在QTBT分区结构的一个示例中,将CTU大小设定为两个对应64×64色度样本块的128×128亮度样本,将MinQTSize设定为16×16,将MaxBTSize设定为64×64,将MinBTSize(针对宽度和高度两者)设定为4×4,并且将MaxBTDepth设定为4。四叉树分区首先应用于CTU以生成四叉树叶节点。四叉树叶节点可具有从16×16(即,MinQTSize)到128×128(即,CTU大小)的大小。如果四叉树叶节点是128×128,则其不会被二叉树进一步分割,因为其大小超过MaxBTSize(即64×64)。否则,四叉树叶节点可以由二叉树进一步进行分区。因此,四叉树叶节点也可以是二叉树的根节点,并且其二叉树深度为0。当二叉树深度达到MaxBTDepth(即,4)时,不考虑进一步的分割。当二叉树节点的宽度等于MinBTSize(即,4)时,不考虑进一步的水平分割。类似地,当二叉树节点的高度等于MinBTSize时,不考虑进一步的垂直分割。通过预测和变换处理,进一步处理二叉树的叶节点,而无需任何进一步的分区。在JEM中,最大CTU大小是256×256亮度样本。

图1的左部分图示了通过使用QTBT进行块分区的示例,图1的右部分图示了对应的树表示。实线指示四叉树分割,虚线指示二叉树分割。在二叉树的每个分割(即,非叶)节点中,可以发信号通知一个标志以指示使用了哪种分割类型(即,水平或垂直)。例如,0可以指示水平分割,1可以指示垂直分割。对于四叉树分割,不需要指示分割类型,因为四叉树分割水平地和垂直地分割块,从而产生具有相等大小的4个子块。

此外,QTBT方案支持亮度和色度具有单独的QTBT结构的能力。当前,对于P条带和B条带,一个CTU中的亮度CTB和色度CTB共享相同的QTBT结构。然而,对于I条带,通过QTBT结构将亮度CTB分区成CU,并且通过另一QTBT结构将色度CTB分区成色度CU。这意味着,I条带中的CU由亮度分量的编解码块或两个色度分量的编解码块组成,并且P条带或B条带中的CU由所有三个颜色分量的编解码块组成。

在HEVC中,限制对小块进行帧间预测,以减少运动补偿的存储器访问,使得对于4×8块和8×4块,不支持双向预测,并且对于4×4块不支持帧间预测。在JEM的QTBT中,这些限制被去除。

可使用受约束的帧内预测(CIP,Constrained Intra Prediction)来避免空间重建误差传播,这种空间重建误差传播是由具有编码器-解码器失配参考像素的空间帧内预测而引起的。当在传输帧间编码条带中发生数据包丢失时,可能会出现编码器-解码器失配参考像素可能出现。它们还可能在使用有损解码器侧存储器压缩时出现。这种空间噪声传播是固定模式的噪声,并且非常明显,乃至不可接受。因此,受约束的帧内预测不仅用于启用不可靠网络上的稳健视频传输,而且允许解码器使用其自己的有损解码器侧存储器压缩技术。

HEVC的受约束的帧内预测方案与H.264/MPEG-4AVC的类似。当启用受约束的帧内预测时,帧间预测样本被标记为不可用于帧内预测,如图2所示。

图2示出了所提出的受约束的帧内预测中相邻样本的可用性判定的示例。如果参考样本来自帧间编码块,则将其标记为“不可用于帧内预测”。否则,将其标记为“可用于帧内预测”。上右、上左、左和下左样本的可用性,以类似方式导出。然后,从来自帧内编码块的可用参考样本中,填充不可用参考样本。

在当前VVC测试模式VTM-3.0中,重新使用HEVC中相同的方案CIP。

为了减少交叉分量冗余,可以在VTM中使用交叉分量线性模型(CCLM,Cross-Component Linear Model)预测模式。在CCLM模式中,可使用如下等式1中的线性模型,基于相同CU的已重建亮度样本,来预测色度样本:

pred

其中pred_C(i,j)表示CU中的预测色度样本,并且rec_L(i,j)表示相同CU的下采样已重建亮度样本。通过使当前块周围的相邻已重建亮度和色度样本之间的回归误差最小化来导出参数α和β,如等式2和等式3所示:

其中,L(n)表示下采样的上相邻已重建亮度样本和左相邻已重建亮度样本,C(n)表示上相邻已重建色度样本和左相邻已重建色度样本,并且N的值等于当前色度编解码块的宽度和高度的最小值的两倍。对于具有正方形形状的编解码块,可以直接应用上述两个等式。对于非正方形编解码块,较长边界的相邻样本可以首先进行二次采样,来获得与较短边界相同数量的样本。图3示出了CCLM模式中涉及的左样本和上样本的位置以及当前块的样本的示例。

回归误差最小化计算作为解码过程的一部分执行,而不仅仅作为编码器搜索操作。结果,没有语法用于将α和β值传送到解码器。

当启用受约束的帧内预测CIP时,如果上相邻参考样本中的任一个来自未经帧内编码的块,那么将整个上参考行标记为不可用且不考虑用于导出CCLM的参数。如果左相邻参考样本中的任一个来自未经帧内编码的块,那么将整个左参考列标记为不可用且不考虑用于导出CCLM的参数。

对于色度帧内模式编解码,总共允许6个帧内模式用于色度帧内模式编解码。这些模式包括五个传统的帧内模式和一个交叉分量线性模型模式CCLM。

在JVET-L0191中,提出用直线方程代替LMS算法来导出线性模型参数α和β。两个点(亮度色度对)是相邻亮度样本集内的最小值(A)和最大值(B),如图4所描绘的。

其中,线性模型参数α和β如下根据等式4获得:

在VTM-3.0中,避免使用除法,而用乘法和移位来代替。在JVET-L0340中,提出了一种多向CCLM(MDLM)模式。代替使用左参考样本和上参考样本来导出CCLM中使用的模型参数,在MDLM中仅使用参考样本的一侧来导出模型参数。

图5中示出了在HEVC中使用的帧内预测模式。在HEVC中,总共35个帧内预测模式其,中,模式10是水平模式,模式26是竖直模式,模式2、18和34是对角线模式。帧内预测模式可以由三个最可能模式(MPM)和其余32个模式来表示。

在VVC的一些进展中,总共有95个帧内预测模式,如图6所示,其中,模式18是水平模式,模式50是竖直模式,模式2、34和66是对角模式。模式-1至-14和模式67至80可以称为广角帧内预测(WAIP)模式。

为了对帧内模式进行编码,可以基于相邻块的帧内模式来构建大小为3的最可能模式(MPM)列表。该MPM列表将被称为MPM列表或主MPM列表。如果帧内模式不是来自MPM列表,则发信号通知标志以指示帧内模式是否属于已选模式。

下面示出了MPM列表生成过程的示例。这里,leftIntraDir用于指示左块中的模式,并且aboveIntraDir用于指示上块中的模式。如果左块当前不可用,leftIntraDir或aboveIntraDir将被设置为DC_IDX。此外,变量“offset”和“mod”是分别设置为29和32的常数值。

●If(leftIntraDir==aboveIntraDir&&leftIntraDir>DC_IDX)

○MPM[0]=leftIntraDir;

○MPM[1]=((leftIntraDir+offset)%mod)+2;

○MPM[2]=((leftIntraDir-1)%mod)+2;

●Else if(leftIntraDir==aboveIntraDir)

○MPM[0]=PLANAR_IDX;

○MPM[1]=DC_IDX;

○MPM[2]=VER_IDX;

●Else if(leftIntraDir!=aboveIntraDir)

○MPM[0]=leftIntraDir;

○MPM[1]=aboveIntraDir;

○If(leftIntraDir>0&&aboveIntraDir>0)

■MPM[2]=PLANAR_IDX;

○Else

■MPM[2]=(leftIntraDir+aboveIntraDir)<2?VER_IDX:

DC_IDX;

在VTM-3.0中,对于邻近参考线(也称为零参考线)和非邻近参考线(也称为非零参考线),将MPM列表的大小设置为6。用于导出6个MPM候选的邻近模式的位置,对于邻近和非邻近参考线,也是相同的,如图7所示。在图7中,块A表示当前编解码单元的左相邻编解码单元,块B表示当前编解码单元的上相邻编解码单元,变量candIntraPredModeA和candIntraPredModeB分别指示块A和B的相关帧内预测模式。candIntraPredModeA和candIntraPredModeB最初被设置为INTRA_PLANAR。如果块A(或B)被标记为可用,则candIntraPredModeA(或candIntraPredModeB)被设置为块A(或B)的实际帧内预测模式。

对于邻近参考线和非邻近参考线,MPM候选导出过程可以不同。对于零参考线,如果两个相邻模式都是平面(Planar)模式或DC模式,则可以使用默认模式来构建MPM列表,其中,2个模式是平面模式和DC模式,剩余的4个模式是角度模式(也称为角度默认模式)。对于非零参考线,如果两个相邻模式都是平面模式或DC模式,则使用6个角度默认模式来构建MPM列表。MPM列表导出过程的示例如下所示,其中x=0..5的candModeList[x]表示6个MPM候选,IntraLumaRefLineIdx[xCb][yCb]表示要预测的块的参考线索引,IntraLumaRefLineIdx[xCb][yCb]可以是0、1或3。

如果candIntraPredModeB等于candIntraPredModeA并且candIntraPredModeA大于INTRA_DC,则x=0..5的candModeList[x]如下导出:

如果IntraLumaRefLineIdx[xCb][yCb]等于0,则以下适用:

candModeList[0]=candIntraPredModeA

candModeList[1]=INTRA_PLANAR

candModeList[2]=INTRA_DC

candModeList[3]=2+((candIntraPredModeA+61)%64)

candModeList[4]=2+((candIntraPredModeA-1)%64)

candModeList[5]=2+((candIntraPredModeA+60)%64)

否则(IntraLumaRefLineIdx[xCb][yCb]不等于0),则以下适用:

candModeList[0]=candIntraPredModeA

candModeList[1]=2+((candIntraPredModeA+61)%64)

candModeList[2]=2+((candIntraPredModeA-1)%64)

candModeList[3]=2+((candIntraPredModeA+60)%64)

candModeList[4]=2+(candIntraPredModeA%64)

candModeList[5]=2+((candIntraPredModeA+59)%64)

否则,如果candIntraPredModeB不等于candIntraPredModeA并且candIntraPredModeA或candIntraPredModeB大于INTRA_DC,则以下适用:

变量minAB和maxAB如下导出:

minAB=candModeList[(candModeList[0]>candModeList[1])?1:0]

maxAB=candModeList[(candModeList[0]>candModeList[1])?0:1]

如果candIntraPredModeA和candIntraPredModeB两者都大于INTRA_DC,则x=0..5的candModeList[x]如下导出:

candModeList[0]=candIntraPredModeA

candModeList[1]=candIntraPredModeB

如果IntraLumaRefLineIdx[xCb][yCb]等于0,则以下适用:

candModeList[2]=INTRA_PLANAR

candModeList[3]=INTRA_DC

如果maxAB-minAB在2到62(含)的范围内,则以下适用:

candModeList[4]=2+((maxAB+61)%64)

candModeList[5]=2+((maxAB-1)%64)

否则,以下适用:

candModeList[4]=2+((maxAB+60)%64)

candModeList[5]=2+((maxAB)%64)

否则(IntraLumaRefLineIdx[xCb][yCb]不等于0),则以下适用:

如果maxAB-minAB等于1,则以下适用:

candModeList[2]=2+((minAB+61)%64)

candModeList[3]=2+((maxAB-1)%64)

candModeList[4]=2+((minAB+60)%64)

candModeList[5]=2+(maxAB%64)

否则,如果maxAB-minAB等于2,则以下适用:

candModeList[2]=2+((minAB-1)%64)

candModeList[3]=2+((minAB+61)%64)

candModeList[4]=2+((maxAB-1)%64)

candModeList[5]=2+((minAB+60)%64)

否则,如果maxAB-minAB大于61,则以下适用:

candModeList[2]=2+((minAB-1)%64)

candModeList[3]=2+((maxAB+61)%64)

candModeList[4]=2+(minAB%64)

candModeList[5]=2+((maxAB+60)%64)

否则,以下适用:

candModeList[2]=2+((minAB+61)%64)

candModeList[3]=2+((minAB-1)%64)

candModeList[4]=2+((maxAB+61)%64)

candModeList[5]=2+((maxAB-1)%64)

否则(candIntraPredModeA或candIntraPredModeB大于INTRA_DC),x=0..5的candModeList[x]如下导出:

如果IntraLumaRefLineIdx[xCb][yCb]等于0,则以下适用:

candModeList[0]=candIntraPredModeA

candModeList[1]=candIntraPredModeB

candModeList[2]=1-minAB

candModeList[3]=2+((maxAB+61)%64)

candModeList[4]=2+((maxAB-1)%64)

candModeList[5]=2+((maxAB+60)%64)

否则(IntraLumaRefLineIdx[xCb][yCb]不等于0),则以下适用:

candModeList[0]=maxAB

candModeList[1]=2+((maxAB+61)%64)

candModeList[2]=2+((maxAB-1)%64)

candModeList[3]=2+((maxAB+60)%64)

candModeList[4]=2+(maxAB%64)

candModeList[5]=2+((maxAB+59)%64)

否则,以下适用:

如果IntraLumaRefLineIdx[xCb][yCb]等于0,则以下适用:

candModeList[0]=candIntraPredModeA

candModeList[1]=(candModeList[0]==INTRA_PLANAR)?INTRA_DC:

INTRA_PLANAR

candModeList[2]=INTRA_ANGULAR50

candModeList[3]=INTRA_ANGULAR18

candModeList[4]=INTRA_ANGULAR46

candModeList[5]=INTRA_ANGULAR54

否则(IntraLumaRefLineIdx[xCb][yCb]不等于0),则以下适用:

candModeList[0]=INTRA_ANGULAR50

candModeList[1]=INTRA_ANGULAR18

candModeList[2]=INTRA_ANGULAR2

candModeList[3]=INTRA_ANGULAR34

candModeList[4]=INTRA_ANGULAR66

candModeList[5]=INTRA_ANGULAR26

多线帧内预测被提出,将更多的参考线用于帧内预测。编码器可以确定并且发信号通知哪条参考线被用于生成帧内预测器。在多线帧内预测的示例中,可以在帧内预测模式之前发信号通知参考线索引,并且在发信号通知非零参考线索引的情况下,仅可以允许最可能的模式。在图8中,描绘了4条参考线,其中,每条参考线均由六段(即,段A至F)连同左上方参考样本组成。此外,段A和段F可以分别用来自段B和段E的最接近的样本填充。

可以将位置相关预测组合(PDPC,Position dependent intra predictioncombination)应用于以下帧内模式而不用发信号通知:平面、DC模式、WAIP模式、水平、垂直、左下角度模式(模式2)及其8个邻近角度模式(模式3至模式10),以及右上角度模式(模式66)及其8个邻近角度模式(模式58至模式65)。

根据以下等式5中所示的PDPC表达式,使用帧内预测模式(DC模式、平面、角)和参考样本的线性组合来预测位置(x,y)处的预测样本pred(x,y):

pred(x,y)=(wL×R

其中Rx,-1、R-1,y分别表示位于当前样本(x,y)的顶部的参考样本和左边的参考样本,并且R-1,-1表示位于当前块的左上角的参考样本。

对于DC模式,对于具有宽度和高度的块,如下计算权重,如以下等式6所示:

wT=32>>((y<<1)>>nScale),wL=32>>((x<<1)>>nScale),wTL=(wL>>4)+(wT>>4) (等式6)

其中nScale=(log2(width)–2+log2(height)–2+2)>>2,其中wT表示位于具有相同水平坐标的上参考线中的参考样本的加权因子,wL表示位于具有相同垂直坐标的左参考线中的参考样本的加权因子,并且wTL表示当前块的左上参考样本的加权因子,nScale指定了加权因子沿轴线减小的速度(wL从左到右减小或wT从上到下减小),即加权因子递减率,并且在当前设计中该速度沿x轴(从左到右)和y轴(从上到下)是相同的。此外,32表示相邻样本的初始加权因子,并且该初始加权因子也是被分配给当前CB中左上样本的上(左或左上)加权,并且PDPC过程中,相邻样本的加权因子应等于或小于该初始加权因子。

对于平面模式,wTL=0,而对于水平模式,wTL=wT;对于垂直模式,wTL=wL。可仅利用加法和移位来计算PDPC权重。可使用等式5在单个步骤中计算pred(x,y)的值。

图9A图示了一个4×4块内(0,0)位置的DC模式PDPC权重(wL,wT,wTL),并且图9B图示了一个4×4块内(1,0)位置的DC模式PDPC权重(wL,wT,wTL)。

如果将PDPC应用于DC模式、平面模式、水平模式和垂直帧内模式,则不需要额外边界滤波器,诸如HEVC DC模式边界滤波器或水平/垂直模式边缘滤波器。

图9A图示了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。

根据本申请实施例,如表1中所示,帧内子分区(ISP)编码模式根据块大小维度将亮度帧内预测块竖直或水平地划分为2个或4个子分区。图10和图11示出了两种示例性可能。例如,根据本申请一实施例,图10示出了可以应用于4×8和8×4块的示例性划分。根据本申请另一实施例,图11示出了可以应用于除了4×8、8×4和4×4块之外的所有块的示例性划分。图10和图11示出的所有子分区均满足具有至少16个样品的条件。

表1:子分区的数量取决于块大小

对于每个子分区,可以通过由编码器发送的熵解码系数来生成残余信号,然后对系数进行反向量化和反向变换。随后可以对子分区进行帧内预测,最终通过将残余信号添加到预测信号,可以获得该子分区的相应重建样本。因此,每一个子分区的重建值可以用于生成下一子分区的预测。可以针对其它子分区重复上述此过程。此外,所有子分区可以共享相同的帧内模式。

基于帧内模式和所利用的分割,可以使用两种不同类别的处理顺序,其可以称为正常处理顺序和反向处理顺序。在正常处理顺序中,待处理的第一子分区是包含CU的左上样本的子分区,然后正常处理顺序继续向下(水平分割)或向右(竖直分割)。结果,用于生成子分区预测信号的参考样本只能位于参考线的左侧和上方。另一方面,反向处理顺序可以从包含CU的左下样本的子分区开始并继续向上,或者从包含CU的右上样本的子分区开始并继续向左。

ISP算法仅使用作为MPM列表的一部分的帧内模式来进行测试。因此,如果块使用ISP,则可以推断MPM标志为一。此外,如果将ISP用于某个块,则可以修改MPM列表以排除DC模式,并且对ISP水平分割的水平帧内模式和竖直分割的竖直帧内模式进行优先级排序。

图12是根据本申请公开的实施例的通信系统(1200)的简化框图。通信系统(1200)包括至少两个终端(1210-1220),这两个终端通过网络(1250)互连。对于单向数据传输,第一终端(1210)可对本地视频数据进行编码以通过网络(1250)传输到第二终端(1220)。第二终端(1220)可从网络(1250)接收已编码视频数据,对已编码视频数据进行解码并显示已恢复的视频数据。单向数据传输在媒体服务等应用中是较常见的。

在另一实施例中,通信系统(1200)包括支持已编码视频数据的双向传输的另一对终端(1230,1240),所述双向传输例如发生在视频会议期间。对于双向数据传输,每个终端(1230,1240)可对本地采集的视频数据进行编码,以通过网络(1250)传输到另一终端。每个终端(1230,1240)还可接收另一终端传输的已编码视频数据,且可对所述已编码视频数据进行解码,并在本地显示设备上显示已恢复的视频数据。

在图2的实施例中,终端(1210-1240)可被示例为服务器、个人计算机和智能电话,但本申请并不限于此。本申请公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络(1250)表示在终端(1210-1240)之间传送已编码视频数据的任何数量的目的网络,包括例如有线和/或无线通信网络。通信网络(1250)可在电路交换和/或分组交换信道中交换数据。典型的网络可包括电信网络、局域网、广域网和/或互联网。出于本申请讨论的目的,除非在下文中有所解释,否则网络(1250)的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。

作为实施例,图13示出视频编码器和视频解码器在流式传输环境中的放置方式,例如流系统300。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。

流式传输系统可包括采集子系统(1313),所述采集子系统可包括数码相机等视频源(1301),所述视频源创建例如未压缩的视频图片流(1302)。相较于已编码的视频码流,样本流(1302)被描绘为粗线以突出数据量更高,视频图片流(1302)可由耦接到照相机(1301)的电子装置(1320)处理。编码器(1303)可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于样本流,已编码的视频码流(1304)被描绘为细线以突出数据量较低,其可存储在流式服务器(1305)上以供将来使用。至少一个流式客户端(1306,1308)可以访问流式服务器(1305),来检索已编码的视频码流(1304)的副本(1307,1309)。客户端(1306)可包括视频解码器(1310)。视频解码器(1310)对已编码的视频码流的传入副本(1307)进行解码,且产生输出视频样本流(1311),可在显示屏(1312)或其他呈现装置(未描绘)上呈现。在一些流式传输系统中,可根据某些视频编码/压缩标准,对已编码的视频码流(1304,1307,1309)进行编码。该些标准的实施例包括ITU-T H.265。在本申请实施例中,正在开发的视频编码标准非正式地称为下一代视频编码(Versatile VideoCoding,VVC),本申请实施例可用于VVC标准的上下文中。

图14是根据本申请公开的实施例的视频解码器(1310)的框图。

接收器(1410)可接收由视频解码器(1310)解码的至少一个已编码视频序列;在同一实施例或另一实施例中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(1412)接收已编码视频序列,所述信道可以是硬件/软件链路,通向存储已编码的视频数据的存储装置。接收器(1410)可接收已编码的视频数据以及其它数据,例如,已编码音频数据和/或辅助数据流,可转发到它们各自的使用实体(未标示)。接收器(1410)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(1415)可耦接在接收器(1410)与熵解码器/解析器(1420)(此后称为“解析器”)之间。当接收器(1410)从具有足够带宽和可控性的存储/转发装置,或从等时同步网络,接收数据时,缓冲存储器(1415)可以不需要,或可以较小。为了在互联网等最大努力分组网络上使用,也可能需要缓冲存储器(1415),所述缓冲存储器可相对较大且可具有自适应性大小。

视频解码器(1310)可包括解析器(1420)以根据已编码视频序列重建符号(1421)。这些符号的类别包括用于管理视频解码器(1310)的操作的信息,以及用以控制显示屏(1312)等显示装置的潜在信息,所述显示装置不是解码器的组成部分,但可耦接到解码器,如图14中所示。用于显示装置的控制信息可以是辅助增强信息(SupplementalEnhancement Information,SEI消息)或视频可用性信息(Video Usability Information,VUI)的参数集片段(未标示)。解析器(1420)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循各种原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等等。解析器(1420)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(Group ofPictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。熵解码器/解析器还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。

解析器(1420)可对从缓冲存储器(1415)接收的视频序列执行熵解码/解析操作,从而创建符号(1421)。解析器(1420)可以接收已编码数据,选择性地对特定符号(1421)进行解码。另外,解析器(1420)可以确定特定符号(1421)是否被提供给运动补偿预测单元(1453)、缩放器/逆变换单元(1451)、帧内预测单元(1452),或者环路滤波器(1456)。

取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(1421)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(1420)根据从已编码视频序列解析出的子群控制信息进行控制。为了简洁起见,未描述解析器(1420)与下文的多个单元之间的此类子群控制信息流。

除已经提及的功能块以外,视频解码器(1310)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。

第一单元是缩放器/逆变换单元(1451)。缩放器/逆变换单元(1451)从解析器(1420)接收作为符号(1421)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(1451)可输出包括样本值的块,所述样本值可输入到聚合器(1455)中。

在一些情况下,缩放器/逆变换单元(1451)的输出样本可属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(1452)提供。在一些情况下,帧内图片预测单元(1452)采用从当前(部分已重建)图片缓冲器(1458)提取的已重建信息,生成大小和形状与正在重建的块相同的周围块。在一些情况下,聚合器(1455)基于每个样本,将帧内预测单元(1452)生成的预测信息添加到由缩放器/逆变换单元(1451)提供的输出样本信息中。

在其它情况下,缩放器/逆变换单元(1451)的输出样本从属于帧间编码,以及潜在地从属于运动补偿块。在此情况下,运动补偿预测单元(1453)可访问参考图片存储器(1457)以提取用于预测的样本。在根据从属于块的符号(1421)对提取的样本进行运动补偿之后,这些样本可由聚合器(1455)添加到缩放器/逆变换单元(1451)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(1453)从参考图片存储器(1457)内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号(1421)的形式而供运动补偿预测单元(1453)使用,所述符号(1421)例如是包括X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(1457)提取的样本值的内插、运动矢量预测机制等等。

聚合器(1455)的输出样本,可在环路滤波器单元(1454)中由各种环路滤波技术进行处理。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频序列(也称作已编码视频码流)中的参数,且所述参数作为来自解析器(1420)的符号(1421)可用于环路滤波器单元(1454)。然而,在其他实施例中,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。

环路滤波器单元(1454)的输出可以是样本流,所述样本流可输出到显示屏(1312)以及存储在参考图片存储器(1457),以用于后续的帧间图片预测。

一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。举例来说,一旦对应于当前图片的已编码图片被完全重建,且已编码图片(通过例如解析器(1420))被识别为参考图片,则当前图片缓冲器(1458)可变为参考图片存储器(1457)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片缓冲器。

视频解码器(1310)可根据例如ITU-T H.265标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。具体地说,配置文件可从视频压缩技术或标准中可用的所有工具中选择某些工具作为在所述配置文件下可供使用的仅有工具。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical ReferenceDecoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。

在本申请实施例中,接收器(1410)可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。所述附加数据可由视频解码器(1310)用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。

图13是根据本申请公开的实施例的视频编码器(1303)的框图。

视频编码器(1303)可从视频源(1301)(并非视频编码器的一部分)接收视频样本进行编码,所述视频源可采集视频图像。

视频源(1301)可提供将由视频编码器(1303)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601Y CrCB、RGB……)和任何合适取样结构(例如Y CrCb 4:2:0、Y CrCb4:4:4)。在媒体服务系统中,视频源(1301)可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源(1301)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括至少一个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。

根据本申请实施例,视频编码器(1303)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(1543)。施行适当的编码速度是控制器(1550)的一个功能。在一些实施例中,控制器(1550)控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(1550)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。控制器(1550)可用于具有其它合适的功能,这些功能涉及针对某一系统设计优化的视频编码器(1303)。

在一些实施例中,视频编码器(1303)在本领域技术人员所称的“编码环路”中进行操作。作为简单的描述,在本申请实施例中,编码环路可包括编码器(1530)(后面成为源编码器)的编码部分(负责基于待编码的输入图片和参考图片创建符号)和嵌入于视频编码器(1303)中的(本地)解码器(1533)。解码器(1533)以类似于(远程)解码器创建样本数据的方式重建符号以创建样本数据(因为在本申请所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的样本流(样本数据)输入到参考图片存储器(1534)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(1534)中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)也用于一些相关技术。

“本地”解码器(1533)的操作可与例如已在上文结合图14详细描述视频解码器(1310)的“远程”解码器相同。然而,另外简要参考图15,当符号可用且熵编码器(1545)和解析器(1420)能够无损地将符号编码/解码为已编码视频序列时,视频解码器(1310)的熵解码部分,包括信道(1412)、接收器(1410)、缓冲存储器(1415)和解析器(1420)在内,可能无法完全在本地解码器(1533)中实施。

此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。出于此原因,本申请侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。

在操作期间,在一些实施例中,源编码器(1530)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考图片”的至少一个先前已编码图片,所述运动补偿预测编码对输入图片进行预测性编码。以此方式,编码引擎(1532)对输入图片的像素块与参考图片的像素块之间的差异进行编码,所述参考图片可被选作所述输入图片的预测参考。

本地视频解码器(1533)可基于源编码器(1530)创建的符号,对可指定为参考图片的图片的已编码视频数据进行解码。编码引擎(1532)的操作可为有损过程。当已编码视频数据可在视频解码器(图15中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(1533)复制解码过程,所述解码过程可由视频解码器对参考图片执行,且可使重建的参考图片存储在参考图片高速缓存(1534)中。以此方式,视频编码器(1303)可在本地存储重建的参考图片的副本,所述副本与将由远端视频解码器获得的重建参考图片具有共同内容(不存在传输误差)。

预测器(1535)可针对编码引擎(1532)执行预测搜索。即,对于将要编码的新图片,预测器(1535)可在参考图片存储器(1534)中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(1535)可基于样本块-逐像素块的方式执行操作,以找到合适的预测参考。在一些情况下,根据预测器(1535)获得的搜索结果可确定,输入图片可具有从参考图片存储器(1534)中存储的多个参考图片取得的预测参考。

控制器(1550)可管理源编码器(1530)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。

可在熵编码器(1545)中对所有上述功能单元的输出进行熵编码。熵编码器(1545)根据例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。

传输器(1540)可缓冲由熵编码器(1545)创建的已编码视频序列,从而为通过通信信道(1560)进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器(1540)可将来自视频编码器(1530)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。

控制器(1550)可管理编码器(1303)的操作。在编码期间,控制器(1550)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种图片类型:

帧内图片(I图片),其可以是不将序列中的任何其它图片用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。所属领域的技术人员了解I图片的变体及其相应的应用和特征。

预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。

双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。

源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已已编码块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。

视频编码器(1303)可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(1303)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。

在本申请实施例中,传输器(1540)可在传输已编码的视频时传输附加数据。视频编码器(1530)可将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/SNR增强层、冗余图片和切片等其它形式的冗余数据、SEI消息、VUI参数集片段等。

在整个本公开中,CCLM可以指上述单模型CCLM,或在例如JVET-L0251中提出的多模型CCLM,或在JVET-L0340中描述的多方向CCLM。

在VTM-3.0中,当启用CIP时,如果上相邻参考样本中的任一个来自未经帧内编码的块,那么将整个上参考行标记为不可用且不考虑用于导出CCLM的参数。类似地,在VTM-3.0中,当启用CIP时,如果左相邻参考样本中的任一个来自未经帧内编码的块,那么将整个左参考列标记为不可用且不考虑用于导出CCLM的参数。因此,可能存在经帧内编码的相邻样本但未用于导出CCLM的参数,这是对编解码性能的限制。

此外,在VTM-3.0中,当启用CIP时,如果相邻块由帧内块复制(IBC)(或者也被称为当前图片参考(CPR))进行编码,则该相邻块被标记为“不可用”,因此IBC编码块的相邻已重建样本不能用于当前块的帧内预测。即使对于不具有参考帧的第一帧进行编解码时,第一帧中的帧内编码块也会发生这种情况,并且这是不期望的。此外,如果IBC使用相同条带的块进行预测,则重建仍可用作后续块的参考样本,而不会对使用CIP的不同条带的数据包丢失所引起的错误传播造成任何干扰。

此外,在VTM-3.0中,对于ISP模式被禁用的邻近参考线、ISP模式被启用的邻近参考线,以及非邻近参考线,MPM列表候选导出过程是不同的,并且在每种情况下,MPM列表候选导出过程是复杂的,而在编解码性能方面没有明确的益处。

因此,根据本申请实施例,当启用CIP时,在CCLM模式中,不管在上行(和/或左列)中是否存在任何帧间编码块,如果相邻参考样本属于帧内编码和/或IBC编码的块,则它们可用于导出在CCLM中使用的模型参数。

在本申请一个实施例中,进一步限制了相邻参考样本的总数需要是2的幂。

可以按照某种给定的顺序,对相邻样本位置进行扫描,例如,从左下到左上扫描,接着从左上到右上扫描,如果属于帧内编码块和/或IBC编码块的参考样本的总数沿扫描次序为N,那么仅沿扫描次序的前1<

在本申请实施例中,当使用多模型CCLM时,如果所述相邻参考样本属于帧内编码和/或IBC编码的块,则所有相邻参考样本可用于导出多组CCLM模型参数。

在一个示例中,用于导出多组模型参数的相邻参考样本被分为两组。最小的N个样本用于导出在多模型CCLM中使用的一组模型参数。最大的M个样本用于导出在多模型CCLM中使用的另一组模型参数。在一个示例中,M和N是2的幂。

根据本申请实施例,当启用CIP时,如果相邻样本属于IBC编码的编解码块,则将其标记为可用于帧内预测,并且可用于导出不具有可用参考样本的相邻位置(例如,使用帧间编解码模式重建相邻位置的样本),这也称为参考样本填充过程,并且该相邻样本也可以用作当前块的帧内预测的参考样本。

在本申请实施例中,当启用CIP时,如果相邻样本属于IBC编码的编解码块,那么在将IBC中使用的块向量应用于此相邻样本位置的顶部上,并且块向量指向当前条带/图块/图块组外部的位置之外,将此相邻样本标记为不可用,且其不能用于当前块的帧内预测。

在另一实施例中,当启用CIP时,如果相邻样本属于IBC编码的编解码块,那么在将IBC中使用的块向量应用于此相邻样本位置的顶部上且块向量指向当前条带/图块/图块组内的位置之后,将此相邻样本标记为可用,且其可用作当前块的帧内预测的参考样本。

在本申请实施例中,当启用CIP时,如果相邻样本属于IBC编码的相邻编解码块,那么在将IBC中使用的块向量应用于相邻块的顶部上,且相邻块的样本的一部分指向当前条带/图块/图块组外部的位置之外,将此相邻样本标记为不可用,且其不能用于当前块的帧内预测。

在本申请实施例中,当启用CIP时,如果相邻样本属于IBC编码的相邻编解码块,那么在将IBC中使用的块向量应用于相邻块的顶部上,且相邻块的全部样本指向当前条带/图块/图块组内的位置之外,将此相邻样本标记为不可用,且其不能用于当前块的帧内预测。

根据本申请实施例,当使用IBC模式对相邻块进行编码时,向其分配默认帧内预测模式(IPM)或导出的IPM,并且所分配的IPM可用于导出当前块的最可能模式。

在一个实施例中,当分配默认IPM时,它可以是平面模式、DC模式。

在另一实施例中,当分配导出的IPM时,首先由IBC模式中使用的块向量(BV)识别参考块,然后将所识别的参考块的IPM用作所分配的IPM。

在一示例中,如果以IBC模式对所识别的参考块进行编码,那么由相关联的BV识别另一参考块,并且将所识别的另一参考块的IPM用作所分配的IPM。

在另一示例中,如果也以IBC模式对所识别的参考块进行编码,那么由相关联的BV识别另一参考块,此过程迭代达到给定次数,除非IPM已经被识别,那么所识别的IPM用作所分配的IPM,否则默认帧内预测模式(例如,平面模式或DC模式)用作所分配的IPM。迭代次数的示例值包括1、2、3、4。

在另一示例中,如果以IBC模式对所识别的参考块进行编码,那么分配默认帧内预测模式,且将此默认帧内预测模式用作所分配的IPM。默认帧内预测模式的示例包括:平面模式、DC模式。

在另一实施例中,当分配导出的IPM时,首先由IBC模式中使用的块向量识别参考块,然后对参考块的重建样本执行边缘检测,并且基于边缘检测导出IPM,最后,将导出的IPM用作所分配的IPM。

在本申请各个实施例中,最近参考线的线索引可以为0,且最近参考线可称为零参考线或邻近参考线。其它线可称为非零参考线或非邻近参考线。candModeList表示MPM列表,RefLineIdx表示当前块的参考线索引,candIntraPredModeA和candIntraPredModeB表示左相邻模式和上相邻模式。如果一个相邻模式不是平面模式或DC模式,或者一个相邻模式正在根据给定的预测方向生成预测样本,例如当前VVC草案2中定义的帧内预测模式2~66,则该模式被称为角度模式。如果一种模式不指示定向帧内预测,例如平面模式或DC模式,则该模式被称为非角度模式。每个帧内预测模式与模式编号(也称为帧内预测模式索引)相关联。举例来说,在当前VVC工作草案中,平面模式、DC模式、水平帧内预测模式和垂直帧内预测模式分别与模式编号0、1、18和50相关联。在本申请实施例中,MPM列表中第一候选的MPM索引表示为0,并且第二候选的MPM索引表示为1。

变量minAB和maxAB可以如下导出:

candModeList[0]=candIntraPredModeA

candModeList[1]=candIntraPredModeB

minAB=candModeList[(candModeList[0]>candModeList[1])?1:0]

maxAB=candModeList[(candModeList[0]>candModeList[1])?0:1

可根据以下任一情况设置两个变量offset和mod:

offset=61,mod=64;

offset=62,mod=65;

根据本申请实施例,零参考线和非零参考线可以共享相同的MPM列表构建过程,并且保持相同的候选次序。平面模式和DC模式可以以索引0和1首先插入到MPM列表中。

在本申请实施例中,当MPM列表的大小是N时,MPM列表中的所有候选可用于零参考线,而最后N-K个MPM候选(除了前两个MPM候选之外)可用于非零参考线MPM列表。在此示例中,N可为正整数,例如3、4、5、6、7或8,且K也可为正整数,其中K小于N,例如1、2、3、4。在示例中,如果N被设置为6,则所有6个MPM候选可用于零参考线,而MPM索引大于1的最后4个MPM候选可用于非零参考线MPM列表。

在另一实施例中,当MPM列表的大小为N时,只有前N-K个MPM候选可用于零参考线,而只有MPM索引大于1的最后N-L个MPM候选可用于非零参考线。在该示例中,N可以是大于3的正整数,例如4、5、6、7或8。K和L也可以是正整数,其中K和L均小于N,例如1、2、3、4。

在另一实施例中,可以在MPM标志和MPM索引之后发信号通知参考线索引。如果MPM索引被发信号通知并且大于阈值Th,则发信号通知参考线索引。否则,参考线索引可以导出为默认值,例如0。Th可以是整数,例如0、1或2。

在另一实施例中,MPM索引的信令被上下文编码,并且上下文取决于相邻块是否被角度预测模式编码。

在另一实施例中,MPM索引的信令被上下文编码,并且上下文取决于相邻块的MPM索引(和/或MPM标志)。

在本申请实施例中,MPM索引的第一个二进制数(或前两个二进制数)被上下文编码,并且上下文取决于相邻块的MPM索引(和/或MPM标志)

在另一实施例中,MPM索引的前两个二进制数被上下文编码,并且MPM索引的其它二进制数被旁路编码。

在另一实施例中,这里使用的相邻块与用于MPM列表生成的相邻块相同。

在另一实施例中,MPM索引的上下文取决于相邻块的MPM标志是否为真以及相邻块的MPM索引的值。

在本申请实施例中,对于MPM索引的第一个二进制数(或前两个二进制数),使用3个上下文。如果相邻块的两个MPM标志都为真并且MPM索引等于或小于1(或0),则使用一个上下文;否则,如果相邻块的MPM标志中只有一个为真并且MPM索引等于或小于1(或0),则使用第二个上下文。否则,使用第三个上下文。

在本申请实施例中,对于MPM索引的第二个二进制数,使用3个上下文。如果相邻块的两个MPM标志都为真并且MPM索引等于1(或0),则使用一个上下文;否则,如果相邻块的MPM标志中只有一个为真并且MPM索引等于1(或0),则使用第二个上下文。否则,使用第三个上下文。

在本申请实施例中,对于MPM索引的第一个二进制数(或前两个二进制数),使用2个上下文。如果相邻块的MPM标志中的至少一个为真并且MPM索引等于或小于1(或0),则使用一个上下文。否则,使用第二个上下文。

在本申请实施例中,对于MPM索引的第二个二进制数,使用2个上下文。如果相邻块的至少一个MPM标志为真并且MPM索引等于1(或0),则使用一个上下文;否则,使用另一上下文。

根据本申请实施例,对于帧内模式编码,可以发信号通知一个标志:当前块(或编解码单元)的帧内预测模式是否是角度模式。当发信号通知的标志指示当前帧内预测模式是非角度模式时,可以发信号通知一个以上的二进制数以指示使用哪个非角度模式。

在本申请实施例中,发信号通知的标志指示当前帧内预测模式为非角度模式,可以发信号通知另一标志以指示当前模式是否为平面模式。

在一个实施例中,当发信号通知的模式是平面模式或DC模式时,可以使用一个标志来发信号通知是否应用PDPC。

在本申请实施例中,如果发信号通知的模式是平面模式,则可以发信号通知另一标志以指示使用哪个帧内平滑滤波器或不使用哪个帧内平滑滤波器。在一个示例中,可以将两个帧内平滑滤波器用于平面模式,一个是3型[1,2,1]滤波器,另一个是5型[1,2,2,2,1]滤波器。

在另一实施例中,如果发信号通知的模式是非角度模式,则可以发信号通知另一标志以指示使用哪个非角度模式。

在本申请实施例中,使用多于2个的非角度模式,并且采用截断的一元编解码来发信号通知使用哪个非角度模式。在一个示例中,截断的一元码字被旁路编码。

在另一实施例中,可以使用四个非角度模式,它们是平面模式、DC模式、加权平面和垂直模式,以及加权平面和水平模式。

在本申请实施例中,加权平面和垂直模式是指将平面模式帧内预测和垂直帧内预测应用于当前块,并且生成两个预测样本块,然后对这两个生成的预测样本块进行相等加权(或非相等加权)以生成最终预测值。

在本申请实施例中,加权平面和水平模式是指将平面模式帧内预测和水平帧内预测应用于当前块,并且生成两个预测样本块,然后对这两个生成的预测样本块进行相等加权(或非相等加权)以生成最终预测值。

在另一实施例中,可以使用新的非角度模式,其可以是两个非角度模式的加权和,或者可以是一个非角度模式和一个角度模式的加权和。这里,两个模式的加权和可以指两个模式的预测值被加权相加,以生成新的预测值。

在本申请实施例中,两个非角度模式包括平面模式和DC模式。

在本申请实施例中,加权可以是固定数,例如[1,1]或预定义数。

在本申请实施例中,加权可以取决于当前块内的相对样本位置。

根据本申请实施例,平面模式和DC模式可以以固定的索引k1和k2插入到MPM列表中,其中k1和k2都是非负整数,并且k1

在本申请实施例中,平面模式可以以固定的索引0插入到MPM列表中。

在本申请实施例中,当参考线索引发信号通知为0时,对于MPM索引的第一个二进制数,使用2个上下文。如果至少一个相邻块满足以下条件:

1)MPM标志为真,

2)参考线索引为0,

3)MPM索引小于Th,

那么可以使用第一个上下文。否则,可以使用第二个上下文。Th可以是正整数,例如1、2或3。

在另一实施例中,当参考线索引被发信号通知为0时,对于MPM索引的第一个二进制数,仅使用1个上下文。

在另一实施例中,如果上述相邻块超出当前CTU行,则上述相邻块可被标记为不可用于MPM索引上下文导出。

在本申请实施例中,平面模式和DC模式可以以固定的索引0和2插入到MPM列表中。

在另一实施例中,平面模式和DC模式可以以固定的索引0和3插入到MPM列表中。

在另一实施例中,平面模式和DC模式可以以固定的索引0和1插入到MPM列表中。

在本申请实施例中,当参考线索引被发信号通知为0并且ISP模式关闭时,MPM索引的前三个二进制数可以被上下文编码,并且其它二进制数可以被旁路编码。

在本申请实施例中,多于一个的上下文可以用于第一个二进制数,诸如2或3,并且一个上下文可以用于第二个二进制数,并且一个上下文可以用于第三个二进制数。

在本申请实施例中,当参考线索引被发信号通知为0并且ISP模式开启时,MPM索引的前两个二进制数可以被上下文编码。

在本申请实施例中,多于一个的上下文可以用于第一个二进制数,诸如2或3,并且一个上下文可以用于第二个二进制数。

在本申请实施例中,当参考线索引被发信号通知为非零时,MPM索引的第一个二进制数可以被上下文编码,并且MPM索引的其它二进制数可以被旁路编码。

在另一实施例中,DC模式可以以固定的索引k插入到MPM列表中。k可以是非负整数,例如2或3。1个上下文可用于第k(或第(k+1))个二进制数的熵编解码,其指示是否应用DC模式。

在本申请实施例中,当参考线索引被发信号通知为0时,MPM索引的第一个二进制数和第k或第(k+1)个二进制数可以被上下文编码,其它二进制数可以被旁路编码。

在另一实施例中,当参考线索引被发信号通知为0时,MPM索引的第1~第k(或第k+1)个二进制数可以被上下文编码,其它二进制数可以被旁路编码。

在本申请实施例中,对于MPM列表的默认模式,垂直模式(例如模式50)或水平模式(例如模式18)可以以索引1插入到MPM列表中。

在本申请实施例中,对于MPM列表的默认模式,垂直和水平模式(诸如模式50和模式18)可以分别以索引1和2或分别以索引2和1插入到MPM列表中。

在本申请实施例中,MPM列表的默认模式可以是(平面模式、垂直模式、DC模式、水平模式、模式2、模式34)。

在本申请实施例中,MPM列表的默认模式可以是(平面模式、垂直模式、水平模式、DC模式、模式2、模式34)。

以上实施例可应用于ISP模式被禁用的邻近参考线、ISP模式被启用的邻近参考线和非邻近参考线的帧内模式编解码。

在本申请实施例中,对于ISP模式被禁用的邻近参考线、ISP模式被启用的邻近参考线和非邻近参考线,可以共享相同的MPM列表构建过程,并且可以保持相同的候选次序。

在本申请实施例中,对于ISP模式被启用的邻近参考线,可以不应用DC模式。

在本申请实施例中,对于非邻近参考线,可以不应用平面模式和DC模式。

第一标志(例如主模式标志)可以被编码以指示是否选择主模式,主模式可以包括至少一个角度模式(例如平面模式)和至少一个非角度模式(例如垂直模式或水平模式)。

在本申请实施例中,如果选择主模式,例如主模式标志被发信号通知为真,则可以发信号通知第二标志或索引以指示选择哪个主模式。

在本申请实施例中,用于对主模式标志或索引的二进制数进行编码的上下文取决于相邻主模式标志或索引的对应二进制数的值。

在本申请实施例中,标志可以被上下文编码,并且上下文取决于主模式标志的值。

在本申请实施例中,主模式包括平面模式、水平模式和垂直模式中的一个。

在另一实施例中,主模式包括平面模式、水平模式和垂直模式两者。

在另一实施例中,主模式包括平面模式、DC模式、水平模式和垂直模式两者。

在本申请实施例中,如果未选择主模式,则可发信号通知第三MPM标志以指示是否使用MPM模式。

在本申请实施例中,如果使用MPM模式,则可发信号通知第四MPM索引以指示使用哪个MPM模式。

在另一实施例中,如果不使用MPM模式,则可发信号通知第五非MPM索引以指示使用哪个非MPM模式。

下面描述VVC草案3条款8.2.2上修改的MPM列表生成过程的示例。该过程的输入是:亮度位置(xCb,yCb),其指定相对于当前图片的左上亮度样本的当前亮度编解码块的左上样本,变量cbWidth,其指定亮度样本中的当前编解码块的宽度,变量CbHeight,其指定亮度样本中的当前编解码块的高度。

在该过程中,可以导出亮度帧内预测模式IntraPredModeY[xCb][yCb]。以下示出该过程的示例:

1.x=0..5的candModeList[x]如下导出:

-如果candIntraPredModeB等于candIntraPredModeA并且candIntraPredModeA大于INTRA_DC,则x=0..5的candModeList[x]如下导出:

-candModeList[0]=INTRA_PLANAR

candModeList[1]=INTRA_DC

candModeList[2]=candIntraPredModeA

candModeList[3]=2+((candIntraPredModeA+61)%64)

candModeList[4]=2+((candIntraPredModeA-1)%64)

candModeList[5]=2+((candIntraPredModeA+60)%64)

-否则,如果candIntraPredModeB不等于candIntraPredModeA并且candIntraPredModeA或candIntraPredModeB大于INTRA_DC,则以下适用:

-变量minAB和maxAB如下导出:

minAB=Min(candIntraPredModeA,candIntraPredModeB)

maxAB=Max(candIntraPredModeA,candIntraPredModeB)

-如果candIntraPredModeA和candIntraPredModeB两者都大于INTRA_DC,则x=0..5的candModeList[x]如下导出:

candModeList[0]=INTRA_PLANAR

candModeList[1]=INTRA_DC

-

candModeList[2]=candIntraPredModeA

candModeList[3]=candIntraPredModeB

-如果maxAB-minAB在2到62(含)的范围内,则以下适用:

candModeList[4]=2+((maxAB+61)%64)

candModeList[5]=2+((maxAB-1)%64)

-否则,以下适用:

candModeList[4]=2+((maxAB+60)%64)

candModeList[5]=2+((maxAB)%64)

-否则(candIntraPredModeA或candIntraPredModeB大于INTRA_DC),x=0..5的candModeList[x]如下导出:

-

candModeList[0]=INTRA_PLANAR

candModeList[1]=INTRA_DC

candModeList[2]=maxAB

candModeList[3]=2+((maxAB+61)%64)

candModeList[4]=2+((maxAB-1)%64)

candModeList[5]=2+((maxAB+60)%64)

-否则,以下适用:

-

candModeList[0]=INTRA_PLANAR

candModeList[1]=INTRA_DC

candModeList[2]=INTRA_ANGULAR50

candModeList[3]=INTRA_ANGULAR18

candModeList[4]=INTRA_ANGULAR2

candModeList[5]=INTRA_ANGULAR34

图16是用于选择用于对已编码视频码流中的当前块进行编码的参考样本的示例方法1600的流程图。在一些实施方案中,图16的至少一个方法框可以由解码器1310执行。在一些实施方案中,图16的至少一个方法框可以由与解码器1310分离或包括解码器1310的另一设备或一组设备来执行,例如编码器1303。

如图16所示,方法1600可以包括确定是否启用受约束的帧内预测(CIP)模式(框1610)。

如图16所示,如果不启用CIP模式(框1610-否),则方法1600可返回到框1610。

如图16中进一步所示,如果启用CIP模式(框1610-是),则方法1600可以包括确定当前块的相邻样本是否属于IBC编码的编码块(框1620)。

如图16所示,如果当前块的相邻样本不属于IBC编码的编码块(框1610-否),则方法1600可返回到框1610。

如图16中进一步所示,如果当前块的相邻样本属于IBC编码的编码块(框1610-是),则方法1600可以包括选择相邻样本作为参考样本(框1630)。

如图16中进一步所示,方法1600可以包括基于参考样本,使用帧内预测编码对当前块进行编码(框1640)。

在本申请实施例中,相邻样本可以包括第一相邻样本,并且方法1600可进一步包括:确定当前块的第二相邻样本属于帧间预测编码的编码块;当确定出第二相邻样本属于帧间预测编码的编码块时,选择第一相邻样本作为参考样本。然后,使用该参考样本,对当前块执行帧内预测。

在本申请实施例中,方法1600可以进一步包括:确定启用了交叉分量线性模型(CCLM)模式;确定相邻样本是否属于IBC编码的编码块或帧内预测编码的编码块;当确定出相邻样本属于IBC编码的编码块或帧内预测编码的编码块时,基于参考样本导出CCLM模型参数。

在本申请实施例中,相邻样本可以被包括在多个相邻样本中,并且方法1600可以进一步包括:确定启用了多模型CCLM模式;以及基于多个相邻样本,导出多个CCLM模型参数集。

在本申请实施例中,相邻样本可以被包括在已分配帧内预测模式(IPM)的相邻块中,并且所分配的IPM可用于导出当前块的最可能模式(MPM)。

在本申请实施例中,所分配的IPM可以包括默认IPM,并且默认IPM可以包括平面模式或DC模式。

在本申请实施例中,所分配的IPM可以包括导出的IPM,并且导出的IPM可以包括第二参考块的IPM,第二参考块由IBC编解码中使用的块向量来识别。

在本申请实施例中,方法1600可以进一步包括:从多条参考线中确定包括所述参考样本的参考线,多条参考线包括邻近参考线和多个非邻近参考线;确定多个候选帧内预测模式IPM;使用多个候选帧内预测模式,生成最可能模式MPM列表;其中,当参考线为所述邻近参考线时,MPM列表包括多个候选IPM的全部;当所述参考线为多个非邻近参考线中的一个时,MPM列表包括多个候选IPM的子集。其中,该子集中候选IPM个数小于多个候选IPM的总数。

在本申请实施例中,DC模式可以以固定的MPM索引插入到MPM列表中。

在本申请实施例中,平面模式和DC模式可以插入到MPM列表中,并且平面模式的MPM索引可以小于DC模式的MPM索引。

在本申请实施例中,编码可以包括:生成第一标志,第一标志指示当前块的帧内预测模式IPM是角度模式还是非角度模式,其中,当第一标志指示当前块的IPM是非角度模式时,使用多个二进制数来发信号通知非角度模式的标识。

在本申请实施例中,当第一标志指示当前块的IPM是非角度模式时,还包括:生成第二标志,第二标志指示IPM是否为平面模式。

虽然图16示出了方法1600的示例方框,在一些实施方式中,方法1600可以包括其他方框、更少的方框、不同的方框,或者和图16所示排列方式不同的方框。此外,或者可替代地,方法1600的两个或者更多方框可以并行执行。

此外,所述的方法可以由处理电路(例如,至少一个处理器或至少一个集成电路)实现。在一个示例中,至少一个处理器执行存储在非暂时性计算机可读介质中的程序,来实现所述的至少一个方法。

上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在至少一个计算机可读介质中。例如,图17示出了计算机系统(1700),其适于实现所公开主题的某些实施例。

所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由至少一个计算机中央处理单元(CPU),图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。

所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。

图17所示的用于计算机系统(1700)的组件本质上是示例性的,并不用于对实现本申请实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机系统(1700)的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。

计算机系统(1700)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出),对至少一个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。

人机界面输入设备可包括以下中的至少一个(仅绘出其中一个):键盘(1701)、鼠标(1702)、触控板(1703)、触摸屏(1710)、数据手套(1204)、操纵杆(1705)、麦克风(1706)、扫描仪(1707)、照相机(1708)。

计算机系统(1700)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激至少一个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏(1710)、数据手套(1204)或操纵杆(1705)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(1709)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管(CRT)屏幕、液晶显示(LCD)屏幕、等离子屏幕、有机发光二极管(OLED)的屏幕,其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。

计算机系统(1700)还可以包括人可访问的存储设备及其相关介质,如包括具有CD/DVD的CD/DVD ROM/RW 1720或类似介质1721的光学介质、拇指驱动器1722、可移动硬盘驱动器或固体状态驱动器1723,诸如磁带和软盘(未示出)的传统磁介质,诸如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。

本领域技术人员还应当理解,结合所公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。

计算机系统(1700)还可以包括通往至少一个通信网络(1755)的接口。例如,网络(1755)可以是无线的、有线的、光学的。网络(1755)还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。网络(1755)还包括以太网、无线局域网、蜂窝网络(GSM、3G、4G、5G、LTE等)等局域网、电视有线或无线广域数字网络(包括有线电视、卫星电视、和地面广播电视)、车载和工业网络(包括CANBus)等等。某些网络(1755)通常需要外部网络接口适配器(1754),用于连接到某些通用数据端口或外围总线(1749)(例如,计算机系统(1700)的USB端口);其它系统通常通过连接到如下所述的系统总线集成到计算机系统(1700)的核心(例如,以太网接口集成到PC计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络(1755)中的任何一个,计算机系统(1700)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如CAN总线到某些CAN总线设备),或双向的,例如通过局域或广域数字网络到其它计算机系统。上述的每个网络(1755)和网络接口(1754)可使用某些协议和协议栈。

上述的人机界面设备、人可访问的存储设备以及网络接口(1754)可以连接到计算机系统(1700)的核心(1740)。

核心1740可包括至少一个中央处理单元(CPU)1741、图形处理单元(GPU)1742、以现场可编程门阵列(FPGA)1743形式的专用可编程处理单元、用于特定任务的硬件加速器1744等。这些设备以及只读存储器(ROM)1745、随机存取存储器(RAM)1746、内部大容量存储器1747,例如内部非用户可存取硬盘驱动器、固态硬盘(SSD)等,可通过系统总线1248进行连接。在某些计算机系统中,可以以至少一个物理插头的形式访问系统总线1248,以便可通过额外的CPU、GPU等进行扩展。外围装置可直接附接到核心的系统总线1248,或通过外围总线1749进行连接。外围总线的体系结构包括外部控制器接口(PCI)、USB等。

CPU 1741、GPU 1742、FPGA 1743和加速器1744可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM 1745或RAM 1746中。过渡数据也可以存储在RAM 1746中,而永久数据可以存储在例如内部大容量存储器1747中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与至少一个CPU 1741、GPU 1742、大容量存储器1747、ROM 1745、RAM 1746等紧密关联。

所述计算机可读介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本申请的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。

作为实施例而非限制,具有体系结构1700的计算机系统,特别是核心1740,可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供执行包含在至少一个有形的计算机可读介质中的软件的功能。这种计算机可读介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心1740的特定存储器,例如核心内部大容量存储器1747或ROM1745。实现本申请的各种实施例的软件可以存储在这种设备中并且由核心1740执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心1740特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(1846)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器1744)中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。本申请包括任何合适的硬件和软件组合。

虽然本申请已对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本申请的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本申请的原则,因此属于本申请的精神和范围之内。

附录A:首字母缩略词

HEVC:高效视频编码

HDR:高动态范围

SDR:标准动态范围

VVC:通用视频编码

JVET:联合视频开发团队

CIP:受约束的帧内预测

CCLM:交叉分量线性模型

MPM:最可能模式

WAIP:广角帧内预测

CU:编码单元

PU:预测单元

PDPC:位置相关预测组合

ISP:帧内子分区

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号