CN118509582A - 视频编解码装置方法和相关装置 - Google Patents

视频编解码装置方法和相关装置 Download PDF

Info

Publication number
CN118509582A
CN118509582A CN202410511998.5A CN202410511998A CN118509582A CN 118509582 A CN118509582 A CN 118509582A CN 202410511998 A CN202410511998 A CN 202410511998A CN 118509582 A CN118509582 A CN 118509582A
Authority
CN
China
Prior art keywords
equal
block
root block
root
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410511998.5A
Other languages
English (en)
Inventor
林芷仪
庄子德
陈庆晔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN118509582A publication Critical patent/CN118509582A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了一种视频编解码的方法和装置。根据本发明的一种方法,在编码器侧接收包括一个亮度分量和一个或多个420或422色度格式的色度分量的根块,或者在解码器侧接收包括根块的压缩数据。当满足一个或多个条件时,为根块内的所有子块确定目标模式类型。条件包括子块色度分量的宽度等于2或大小小于16。如果没有为包围根块的图像区域选择帧内模式类型,则目标模式类型对应于帧内或帧间模式类型,否则目标模式类型对应于帧内模式类型。根块中的子块被相应地编码或解码。

Description

视频编解码装置方法和相关装置
【相关申请的交叉引用】
本发明要求于2019年8月23日提交的序列号为62/890,723的美国临时专利申请和于2019年9月26日提交的序列号为62/906,435的美国临时专利申请的优先权。通过引用整体并入本文。
【技术领域】
本发明涉及视频编码中的小块(small block)的预测模式选择。特别地,本发明公开了提高小块的处理速度的技术。
【背景技术】
高效视频编解码(HEVC)标准是在ITU-T视频编解码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)标准化组织的联合视频项目,尤其是与称为视频编码联合协作团队(JCT-VC)的合作伙伴关系开发的。在HEVC中,一个切片被分割为多个编解码树单元(CTU)。在主配置文件中,CTU的最小和最大大小由序列参数集(SPS)中的语法元素指定。允许的CTU大小可以是8x8、16x16、32x32或64x64。对于每个切片,将根据光栅扫描顺序处理切片内的CTU。
CTU被进一步分割成多个编解码单元(CU)以适应各种局部特征。用表示为编解码树的四叉树将CTU分割为多个CU。假设CTU大小为MxM,其中M是64、32或16的值之一。CTU可以是单个CU(即不分割(split)),也可以分割成四个大小相等的较小单元(即每个为M/2x M/2),对应于编解码树的节点。如果单元是编解码树的叶节点,则这些单元将成为CU。否则,可以重复四叉树分割过程,直到节点的大小达到SPS(Sequence Parameter Set,简写为序列参数集)中指定的最小允许CU大小为止。该表示导致由图1中的编解码树(也称为分区树结构)120所指定的递归结构。图1中示出了CTU分区110,其中实线指示CU边界。在CU级别做出使用图片间(Inter-picture)(时间)或图片内(Intra-picture)(空间)预测对图片区域进行解码的决定。由于最小CU大小可以为8x8,因此在不同的基本预测类型之间进行切换的最小粒度为8x8。
此外,根据HEVC,可以将每个CU分割为一个或多个预测单元(PU)。PU与CU一起用作共享预测信息的基本代表块。在每个PU内部,应用相同的预测过程,并且基于PU将相关信息发送到解码器。可以根据PU分割类型将CU分成一个、两个或四个PU。HEVC定义了用于将CU分成PU的八种形状,如图2所示,包括MxM、MxM/2、M/2xM、M/2xM/2、MxM/4(U)、MxM/4(D)、M/4xM(L)和M/4xM(R)分割类型。与CU不同,根据HEVCPU可以仅分割一次。第二行(row)中所示的分割对应于不对称分割,其中两个分割部分具有不同的大小。
在通过基于PU分割类型的预测过程获得残差块之后,可以根据另一种四叉树结构将CU的预测残差分割为变换单元(TU),该四叉树结构类似于如图1所示的CU的编解码树。实线表示CU边界,虚线表示TU边界。TU是具有用于应用整数变换和量化的残差或变换系数的基本代表性块。对于每个TU,应用具有与TU相同大小的一个整数变换以获得残差系数。在以TU为基础量化之后,将这些系数发送到解码器。
术语编解码树块(CTB)、编解码块(CB)、预测块(PB)和变换块(TB)被定义为指定分别与CTU、CU、PU和TU相关联的一个颜色分量的2-D样本阵列。因此,CTU由一个亮度CTB、两个色度CTB和相关的语法元素组成。类似的关系对CU、PU和TU有效。树分割通常同时应用于亮度和色度,但是当达到色度的某些最小尺寸时例外。
另外,提出了二叉树块分割结构。在所提出的分割处理中,可以递归地将块分割成两个较小的块。图3示出了不同的分割类型。最有效和最简单的是对称的水平和垂直分割(即,M/2xM和MxM/2),如图3中前两个分割类型所示。因此,作为范例,我们仅使用这两种分割类型。
对于大小为M×N的给定块,发信(signal)标志以指示其是否被分成两个较小的块。如果标志指示分割,则发信另一语法元素以指示使用哪种分割类型。如果使用水平分割,则将给定块分成两个大小为M×N/2的块;否则将给定块分成两个大小为M/2×N的块。可以迭代二叉树分割过程,直到块的大小(宽度或高度)达到在诸如SPS的高级语法中定义的最小允许块大小(宽度或高度)。由于二叉树具有两种分割类型(即水平和垂直),因此应指示最小允许块宽度和高度。当分割将导致块高度小于指示的最小高度时,隐含地应用非水平分割(Non-horizontal splitting)。当分割将导致块宽度小于指示的最小宽度时,隐含地应用非垂直分割(Non-vertical splitting)。
图4示出了块分割410及其对应的二叉树420的示例。在二叉树的每个分割节点(即,非叶节点)中,使用一个标志来指示使用哪种分割类型(水平或垂直),其中0表示水平分割,1表示垂直分割。
二叉树结构可用于将图像区域分割为多个较小的块,诸如将切片分割为CTU,将CTU分割为CU,将CU分割为PU,或将CU分割为TU,等等。二叉树可以用于将CTU分割为CU,其中二叉树的根节点是CTU,二叉树的叶节点是CU。叶节点可以通过预测和变换编解码进一步处理。为了简化,不存在从CU到PU或从CU到TU的进一步分割,这意味着CU等于PU并且PU等于TU。因此,换句话说,二叉树的叶节点是用于预测和转换编解码的基本单元。
QTBT结构
二叉树结构比四叉树结构更灵活,因为可以支持更多的分割形状,这也是编解码效率改进的来源。但是,编码复杂度也会增加,以便选择最佳的分割形状。为了平衡复杂性和编码码效率,已经公开了一种组合四叉树和二叉树结构的方法,也称为四叉树加二叉树(QTBT)结构。根据QTBT结构,CTU(或I切片的CTB)是四叉树的根节点,CTU首先由四叉树分割,其中一个节点的四叉树分割可以迭代,直到节点达到允许的最小四叉树叶节点大小(即MinQTSize)。如果四叉树叶节点大小不大于最大允许二叉树根节点大小(即,MaxBTSize),则可以通过二叉树进一步对其进行分割。可以迭代一个节点的二叉树分割,直到节点达到最小允许二叉树叶节点大小(即,MinBTSize)或最大允许二叉树深度(即,MaxBTDepth)。二叉树叶节点,即CU(或用于I切片的CB)将用于预测(例如,图像内或图像间预测)并且在没有任何进一步分割(partition)的情况下进行变换。二叉树分割中有两种分割类型:对称水平分割和对称垂直分割。在QTBT结构中,允许的最小四叉树叶节点大小、允许的最大二叉树根节点大小、允许的最小二叉树叶节点宽度和高度以及允许的最大二叉树深度可以在高级语法中,例如在SPS中指示。图5示出了块分割510及其对应的QTBT 520的示例。实线表示四叉树分割,虚线表示二叉树分割。在二叉树的每个分割节点(即,非叶节点)中,一个标志指示使用哪种分割类型(水平或垂直),0可以指示水平分割,1可以指示垂直分割。
上述QTBT结构可用于将图像区域(例如,切片、CTU或CU)分割为多个较小的块,例如将切片分割为CTU,将CTU分割为CU,将CU分割为PU,或将CU分割为TU等。例如,QTBT可以用于将CTU分割为CU,其中QTBT的根节点是CTU,其通过QTBT结构分割为多个CU,并且CU通过预测和变换编解码进一步处理。为了简化,不存在从CU到PU或从CU到TU的进一步分割。这意味着CU等于PU并且PU等于TU。因此,换句话说,QTBT结构的叶节点是用于预测和变换的基本单元。
QTBT结构的示例如下所示。对于大小为128x128的CTU,允许的最小四叉树叶节点大小设置为16x16,允许的最大二叉树根节点大小设置为64x64,允许的最小二叉树叶节点宽度和高度都设置为4,并且允许的最大二叉树深度设置为4。首先,CTU由四叉树结构分割,叶四叉树单元可以具有从16x16(即,允许的最小四叉树叶节点大小)到128x128(等于CTU大小,即,没有分割)。如果叶四叉树单元是128x128,则由于大小超过允许的最大二叉树根节点大小64x64,因此无法通过二叉树进一步分割。否则,叶四叉树单元可以通过二叉树进一步分割。叶四叉树单元也是根二叉树单元,其二叉树深度为0。当二叉树深度达到4(即,如所指示的最大允许二叉树)时,隐含地暗示不分割。当相应二叉树节点的块具有等于4的宽度时,隐含地暗示非水平分割。当相应二叉树节点的块具有等于4的高度时,隐含地暗示非垂直分割。通过预测(图像内(Intra picture)或图像间(Inter picture))和变换编解码进一步处理QTBT的叶节点。
对于I-切片(I-slice),QTBT树结构通常应用亮度/色度分离编解码。例如,QTBT树结构分别应用于I-切片的亮度和色度分量,并且同时应用于P-和B-切片的亮度和色度(除非达到色度的某些最小大小)。换句话说,在I-切片中,亮度CTB具有其QTBT结构的块分割,并且两个色度CTB具有另一个QTBT结构的块分割。在另一示例中,两个色度CTB还可以具有它们自己的QTBT结构块分割。
【发明内容】
公开了一种视频编码和解码的方法和装置。根据本发明的一种方法,在编码器侧接收包括一个亮度分量和一个或多个420或422色度格式的色度分量的根块(root block),或者在解码器侧接收包括根块的压缩数据,其中,根块由一个或多个子块组成,这些子块是通过使用单个分区树(partition tree)对一个编解码区域进行分区而得到的。当满足一个或多个条件时,为根块内的所有所述一个或多个子块确定目标模式类型,其中所述一个或多个条件包括,一个子块的所述一个或多个色度分量的第一宽度等于2,并且如果没有为包围根块的图像区域选择帧内类型模式(Intra type mode)(亦称为帧内模式类型(Intramode type)),则目标模式类型对应于帧内类型模式或帧间类型模式(Inter type mode)(亦称为帧间模式类型(Inter mode type)),否则,目标模式类型对应于帧内类型模式。根据目标模式类型,根块中的所述一个或多个子块在编码器侧被编码或在解码器侧被解码。
在一个实施例中,一个子块的所述一个或多个色度分量的第一宽度等于2对应于一个情况,即根块的所述一个亮度分量的第二宽度等于8并且该根块的单个分区树包括二元垂直分区(binary vertical partition)。在另一实施例中,一个子块的所述一个或多个色度分量的第一宽度等于2对应于一个情况,即根块的所述一个亮度分量的第二宽度等于16,并且所述根块的单个分区树包括三元垂直分区(ternary vertical partition)。
在一个实施例中,当根块为420色度格式时,一个子块的所述一个或多个色度分量的第一宽度等于2对应于一个情况,即根块的所述一个亮度分量的第二宽度和高度分别等于8和16,并且用于根块的单个分区树包括二元垂直分区,对于根块的所述一个亮度分量的第二宽度和高度等于16,并且用于根块的单个分区树包括三元垂直分区,根块的所述一个亮度分量的第二宽度和高度分别等于4和32,并且根块的单个分区树包括二元或三元水平分区,或者根块的所述一个亮度分量的第二宽度和高度分别等于4和64,并且用于根块的单个分区树包括三元水平分区。
在一个实施例中,当根块为422色度格式时,一个子块的所述一个或多个色度分量的第一宽度等于2对应于一个情况,即根块的所述一个亮度分量的第二宽度和高度等于8,并且所述根块的单个分区树包括二元垂直分区;根块的所述一个亮度分量的第二宽度和高度分别等于16和8,并且所述根块的单个分区树包括三元垂直分区;根块的所述一个亮度分量的第二宽度和高度分别等于4和16,并且所述根块的单个分区树包括二元或三元水平分区;或者根块的所述一个亮度分量的第二宽度和高度分别等于4和32,并且所述根块的单个分区树包括三元水平分区。
在一个实施例中,如果没有为包围根块的图像区域选择帧内类型模式,则在编码器侧发信第一语法或在解码器侧解析第一语法以指示帧内类型模式或帧间类型为根块选择模式。
编解码区域可以对应于编解码树单元。图像区域可以对应于切片。在这种情况下,切片报头中的第二语法在编码器侧发信或在解码器侧进行解析以指示切片的编码解码类型。
还公开了用于对具有单个分区树的小块进行模式类型约束的另一种方法和装置。根据该方法,当满足一个或多个条件时,确定针对根块内的所有子块的目标模式类型。条件包括一个子块的色度分量的第一块大小小于16。如果没有为包围根块的图像区域选择帧内类型模式,则目标模式类型对应于帧内类型模式或帧间类型模式,否则目标模式类型对应于帧内类型模式。
在一个实施例中,用于一个子块的所述一个或多个色度分量的第一块大小等于4。例如,该条件可以对应于420色度格式的根块,其块大小为64并且根块的单个分区树包括四叉树分区、三元垂直分区、三元水平分区、二元垂直分区或二元水平分区。
在另一实施例中,用于一个子块的所述一个或多个色度分量的第一块大小等于8。
【附图说明】
图1示出了使用四叉树结构来将编解码树单元(CTU)分割为编解码单元(CU)的块分割的示例。
图2示出了根据高效视频编解码(HEVC)的非对称运动分区(asymmetric motionpartition,简写为AMP),其中AMP定义了将CU分为PU的八个形状。
图3示出了由二叉树分割结构使用的各种二元分割类型的示例,其中可以使用分割类型将一个块递归地分割成两个较小的块。
图4示出了块分割及其对应的二叉树的示例,其中在二叉树的每个分割节点(即,非叶节点)中,一种语法用于指示使用哪种分割类型(水平或垂直),其中0表示水平分割,1表示垂直分割。
图5示出了块分割及其对应的QTBT的示例,其中实线表示四叉树分割,而虚线表示二叉树分割。
图6示出了参考亮度块的位置的示例,该参考亮度块可以是根块中的第一个亮度块,根块中的最后一个亮度块,覆盖该根块中心位置(表示为BR-C)的亮度块。
图7示出了根据本发明实施例的具有针对小块的受限模式选择的示例性编解码系统的流程图。
图8示出了根据本发明实施例的具有针对小块的受限模式选择的示例性编解码系统的另一流程图。
【具体实施方式】
以下描述是实施本发明的最佳构想模式。进行该描述是出于说明本发明的一般原理的目的,而不应被认为是限制性的。本发明的范围最好通过参考所附的权利要求书来确定。
在帧内预测中,相邻的重构样本被用作当前块的参考样本。如果块大小非常小(例如2x2色度CU),则处理吞吐量受到限制,因为处理器最多只能预测当前块的样本,而不能预测更多。如果有多个小块,则无法提高处理吞吐量。因此,在本发明的一个实施例中,提出了在区域内共享相同的参考样本以改善并行处理。
在以下提出的方法中,定义了共享根CU/根块(share root CU/root block)。根块的左上角位置为sharedRootPos,宽度为sharedRootWidth,高度为sharedRootHeight。根块的推导如下。
在一个实施例中,在分区时,如果当前块可以满足一个或多个预定义条件,并且尚未设置根块,则将根块的位置设置为当前块的左上位置,并且根块的宽度和高度等于当前块的宽度和高度,否则不设置根块。
在一个实施例中,在分区期间,如果子块之一可以满足一个或多个预定义条件,并且尚未设置根块,则将根块的左上位置设置为当前块的左上位置,并且根块的宽度和高度等于当前块的宽度和高度;否则,不设置根块。
上面提到的预定义条件可以与当前块的大小(或面积)有关。在一个实施例中,预定条件对应于大小是否小于等于(或小于)预定阈值TH。阈值可以是4、8、16、32、64、128、256、512、1024、2048和4096。
如果存在根块并且在根块内使用帧内模式,则在帧内预测模式下共享参考样本,根据当前块和根块推导用于正常帧内模式、LM模式和/或CIIP模式的参考样本;否则,参考样本将以原始方式推导。
在一个实施例中,根块不应超过帧边界。
在一个实施例中,共享根块的位置也将用于MPM推导。
在一个实施例中,共享根块可用于亮度和色度分量。
在一个实施例中,共享根块仅可用于亮度分量。
在一个实施例中,共享根块仅可用于色度分量。
在一个实施例中,对于一个图块/切片/图片/图块组/视频序列,存在一个标志以指示当前的图块/切片/图片/图块组/视频序列是否需要确定根块。在一个实施例中,在解析度小于1080P的序列中,该高级别标志被设置为假。
当启用帧内块复制(Intra Block Copy,简写为IBC)模式时:
a.在一个实施例中,在共享树和独立树(separate tree)中,从IBC块的块向量(BV)推导的参考块不能与根块重叠(overlap);
b.在另一个实施例中,仅在共享树中,从IBC块的块向量(BV)推导的参考块不能与根块重叠;以及
c.在另一个实施例中,仅在独立树中,从IBC块的块向量(BV)推导的参考块不能与根块重叠。
如果推导的色度BV(或色度和亮度BV)会使参考色度块(或色度和亮度块)与相应的色度根块(或色度和亮度根块)重叠:
在一个实施例中,在双树(dual tree)中,色度块(或色度和亮度块两者)不能使用IBC模式。
在另一实施例中,在双树或共享树或两者中,推导的色度BV(或色度和亮度BV两者)将在水平/垂直方向或水平和垂直方向上延伸,以使得参考色度块不要与相应的色度根块(或色度和亮度根块)重叠。
在一个实施例中,延伸方向取决于重叠区域的宽度和高度,如果宽度大于或等于高度,则BV将沿垂直方向延伸;否则,BV将在水平方向上延伸。
在另一个实施例中,在双树或共享树或两者中,与对应的色度根块(或色度和亮度根块两者)重叠的参考色度块(或色度和亮度块两者)的样本将替换为填充样本。
在另一个实施例中,仅当位置在根块之外时才可以使用IBC合并候选。
在另一个实施例中,当定位相邻块时,IBC合并候选推导将使用根块的边界。
如果在I切片中应用了独立树分区(也称为双树),则亮度和色度分量可以使用不同的树分区。对于色度树分区,最小的CU大小可能是2x2,这太小了,会降低吞吐量。
在一个实施例中,最小的色度CU大小受大小/面积、宽度/高度或深度的约束。例如,最小色度CU大小可以设置为等于16(以色度样本分辨率为单位)。在另一个示例中,最小色度CU宽度或高度可以设置为等于4。
大小约束可以是仅编码器更改(encoder only change)或规范更改(normativechange)。
在另一个实施例中,根CU概念可以仅应用于亮度树、仅应用于色度树或用于亮度树和色度树两者。例如,根CU仅应用于色度树。根色度CU大小的阈值为64、32或16。对于此根色度CU,将启用进一步的CU分割。然而,对于该根CU内的子CU,参考样本被共享用于帧内预测和/或LM。
如果分区树是共享的(例如,在切片间(Inter-slice)或I切片中使用共享树分区进行共享树分区),则提出了不同的方法来避免小色度帧内块或减少连续色度帧内块之间的数据依赖性。
方法1:根块内的模式约束
在另一个实施例中,确定根块,并且该根块内的所有块必须具有相同的预测模式。
在一个实施例中,相同模式意味着根块内的所有块必须为帧内/IBC预测模式或帧间预测模式。
亮度分量可以进一步分割为较小的块,并且色度分量的分割遵循亮度块。对于根块内的帧内预测块,色度块将使用根块的顶部和左侧边界来生成帧内预测子,这将导致连续色度块之间的数据依赖性较小。在一个实施例中,对于该色度CU,所有子CU可以使用一个TU。
当启用帧内块复制(Intra Block Copy,简写为IBC)模式时:
·如果推导的色度BV将使参考色度块与相应的色度根块重叠:
i.在一实施例中,在双树中,色度块不能使用IBC模式。
ii.在另一实施例中,在双树、共享树或两者中,推导的色度BV将在水平/垂直方向或水平和垂直方向上延伸,以使参考色度块不与对应的色度根块重叠。
iii.在另一个实施例中,在双树、共享树或两者中,与相应色度根块重叠的参考色度块的样本将被填充样本(padded sample
)替换。
在一个实施例中,对于子CU必须具有相同预测模式的根CU,每个CU的预测模式被约束为相同。例如,每个CU的预测模式语法仍然被发信。但是,它们应相同。在一个实施例中,根CU内的预测模式应相同是比特流一致性(conformance)。在另一实施例中,发信根块中的第一CU的预测模式。对于根块中的其余CU,不会发信预测模式。在一个示例中,仅帧间模式CU需要发信跳过标志和相关语法。如果CU已经被推断为帧内CU,则跳过标志被推断为假(false)。
方法2:禁止在根块中进行色度分割
在确定根块的情况下,可以将该根块的亮度分量进一步分割为较小的块,但是该根块的色度分量不能进一步分割,这导致多个亮度块对应于一个色度块。该根块内的块不必具有相同的预测模式。
在一个实施例中,可以发信非分割(non-split)色度CU的预测模式。
在另一个实施例中,可以推断非分割色度CU的预测模式。
如果推断出该根CU内的色度块的预测模式,则确定参考亮度块。参考亮度块可以是根块中的第一个亮度块、根块中的最后一个亮度块、覆盖根块中心位置(例如,右下中心,例如图6中的BR-C块)的亮度块、根块中面积最大的亮度块、覆盖根块四个角之一的亮度块、根块中的第一个帧内编解码的亮度块或根块中第一个帧间编解码的亮度块。如果启用了IBC,则参考块可以是第一个IBC编解码的亮度块、最后一个IBC编解码的亮度块或在根块中具有预定义位置(例如中心位置)的亮度块。
在一个实施例中,如果参考亮度块是帧内预测,则将根据参考亮度块来推导色度块的帧内预测模式。
在另一个实施例中,如果参考亮度块是帧内预测,则色度块的帧内预测模式将是预定义模式,例如,DC或平面。
在一个实施例中,如果参考亮度块是帧内预测,则将色度块视为非ISP(IntraSub-partition Prediction,帧内子分区预测)模式。
在另一实施例中,对于色度块,其预测模式可以被显式地发信并且可以与亮度块不同。
在一个实施例中,如果参考亮度块是帧间预测,则色度块的MV是从亮度块的MV推导的。
在一个实施例中,推断为帧间预测模式的非分割色度CU不能是合并模式。
在一个实施例中,被推断为帧间预测模式的非分割色度CU不能是子块变换(sub-block transform,简写为SBT)模式。
在一个实施例中,被推断为帧间预测模式的非分割色度CU无法应用解码器侧运动矢量微调(decoder-side motion vector refinement,简写为DMVR),并且参考MV是微调之前/之后的MV。
在一个实施例中,被推断为帧间预测模式的非分割色度CU不能是三角形模式。
在另一个示例中,对应的亮度CU的加权平均亮度MV可以用于该色度CU。所有CU的权重可以相同,或者取决于CU面积。在一个实例中,如果对应的亮度CU使用子块模式(例如,ATMVP模式或仿射模式或MV平面模式),则色度CU也使用相同的模式但具有更大的CU尺寸。在另一示例中,色度MV被显式地发信。
当根块内的亮度块具有帧间和帧内预测模式时,可以应用一些约束来推导色度帧内预测模式。
在一个实施例中,色度分量可以是组合帧内帧间预测(CIIP)模式。
在一个实施例中,参考块只能是帧间模式。帧间预测模式信息可以从第一个亮度帧间块、最后一个帧间亮度块或具有最大面积的亮度帧间块继承。
在一个实施例中,如果参考亮度块是帧内预测模式,则不允许线性模型(LM)模式。
在另一个实施例中,可以有条件地推断出非分割色度CU的预测模式。如果参考亮度块是帧间预测模式,则将色度CU推断为帧间预测模式,并且运动信息从参考亮度块继承。如果参考亮度块不是帧间模式,则将发信未分割色度CU的预测模式。
当启用帧内块复制(IBC)模式时,只能选择具有BV的IBC块,其不会使参考色度块与相应的色度根块重叠。在另一个实施例中,只能选择具有BV的IBC块,其不会使参考亮度和色度块与对应的亮度和色度根块重叠。
在另一个实施例中,如果所选择的参考亮度块是IBC模式,则推导的亮度参考块不能与根块重叠。
在另一个实施例中,如果所选择的参考亮度块是IBC模式,并且如果推导的亮度参考块与根块重叠,则亮度BV将被扩展。
在另一个实施例中,如果所选择的参考亮度块是IBC模式,并且如果推导的亮度参考块与根块重叠,则仅推导的色度BV将被扩展。
方法3:模式约束并有条件地禁止在根块内进行色度分割
在另一个实施例中,确定根块;该根块的亮度分量可以进一步分割为较小的块;根块的色度分量是否可以进一步分割,取决于相同根块内亮度块的预测模式和相应的色度块大小。
在一个实施例中,如果当前根块内的所有块均为帧间预测模式,则色度分量的分割遵循亮度块。如果当前根块内的所有块均为帧内/IBC模式,则该根块的色度分量无法进一步分割,这将导致多个亮度块与一个色度块相对应。同样,由于4x4亮度分区中不支持帧间模式(Inter mode),因此,当一个分区节点具有一个或多个亮度块大小等于4x4的子节点时,该节点被推断为非帧间模式(帧内或IBC模式)。
在一个实施例中,发信标志mode_constraint_flag以指示根块的预测模式。根块内的所有块应为帧间预测模式或帧内/IBC预测模式。例如,当mode_constraint_flag等于1时,根块中的所有块都是帧间编解码块,否则,根块中的所有块都是帧内/IBC编解码的块。
是否解码mode_constraint_flag取决于变量modeTypeCondition。变量modeTypeCondition的推导如下:
–若以下条件之一为真,modeTypeCondition设置为等于0
–slice_type==I且qtbtt_dual_tree_intra_flag等于1
–modeTypeCurr不等于MODE_TYPE_ALL
–否则,若以下条件之一为真,modeTypeCondition设置为等于1
–cbWidth*cbHeight等于THRES且split_qt_flag等于1
–cbWidth*cbHeight等于THRES且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR或
SPLIT_TT_VER
–cbWidth*cbHeight等于(THRES>>1)且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或
SPLIT_BT_VER
–否则,若以下条件之一为真,modeTypeCondition设置为等于
1+(slice_type!=I?1:0)
–cbWidth*cbHeight等于THRES且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或
SPLIT_BT_VER
–cbWidth*cbHeight等于(THRES<<1)且
MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
–否则,modeTypeCondition设置为等于0。
在以上推导中,MttSplitMode[x0][y0][mttDepth]代表多类型树(multi-typetree,简写为MTT)中的编解码单元的水平和垂直二元和三元分割。变量THRES的推导如下:
若颜色格式为4:4:4,THRES设置为等于16,
否则,若颜色格式为4:2:2,THRES设置为等于32,
否则,若颜色格式为4:2:0,THRES设置为等于64。
在另一实施例中,变量THRES的推导如下:
若颜色格式为4:4:4,THRES设置为等于8/16/32/64,
否则,若颜色格式为4:2:2,THRES设置为等于16/32/64/128,
否则,若颜色格式为4:2:0,THRES设置为等于32/64/128/256。
在另一实施例中,色度格式(chroma format)用作决定modeTypeCondition的条件之一。用于422色度格式和420色度格式的modeTypeCondition推导是不同的。当色度格式等于444色度格式时,modeTypeCondition始终设置为0。modeTypeCondition的推导如下:
–若chroma_format_idc等于1(当使用4:2:0色度格式时),变量modeTypeCondition的推导如下:
–若以下条件之一为真,modeTypeCondition设置为等于0
–slice_type==I且qtbtt_dual_tree_intra_flag等于1
–modeTypeCurr不等于MODE_TYPE_ALL
–否则,若以下条件之一为真,modeTypeCondition设置为等于1
–cbWidth*cbHeight等于64且split_qt_flag等于1
–cbWidth*cbHeight等于64且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
–cbWidth*cbHeight等于32且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_BT_VER(在另一实施例中,该条件可被移除)
–否则,若以下条件之一为真,modeTypeCondition设置为等于1+(slice_type!=I?1:0)
–cbWidth*cbHeight等于64且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_BT_VER
–cbWidth*cbHeight等于128且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
在另一实施例中,增加以下两个条件:
–cbWidth等于8且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_VER
–cbWidth等于16且split_qt_flag
等于0且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
在另一实施例中,增加以下4个条件:
–cbWidth等于8且cbHeight
等于16且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER
–cbWidth等于16且cbHeight
等于16且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
–cbWidth等于4且cbHeight
等于32且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_TT_HOR
–cbWidth等于4且cbHeight
等于64且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR
–否则,modeTypeCondition设置为等于0
–否则,若chroma_format_idc等于2(当使用4:2:2色度格式时),变量modeTypeCondition的推导如下:
–若以下条件之一为真,modeTypeCondition设置为等于0
–slice_type==I且qtbtt_dual_tree_intra_flag等于1
–modeTypeCurr不等于MODE_TYPE_ALL
–否则,若以下条件之一为真,modeTypeCondition设置为等于1
–cbWidth*cbHeight等于64且split_qt_flag等于1
–cbWidth*cbHeight等于64且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
–cbWidth*cbHeight等于32且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_BT_VER
在一个实施例中,modeTypeCondition设置如下所示:
–否则,若以下条件之一为真,modeTypeCondition设置为等于
1+(slice_type!=I?1:0)
–cbWidth等于8且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_VER
–cbWidth等于16且split_qt_flag
等于0且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER在另一实施例中,modeTypeCondition设置如下所示:
–否则,若以下条件之一为真,modeTypeCondition设置为等于
1+(slice_type!=I?1:0)
–cbWidth等于8且cbHeight
等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER
–cbWidth等于16且cbHeight
等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
–cbWidth等于4且cbHeight
等于16且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_TT_HOR
–cbWidth等于4且cbHeight
等于32且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR
–否则,modeTypeCondition设置为等于0
–否则,若chroma_format_idc等于3(当使用4:4:4色度格式),变量
modeTypeCondition设置为0。
–否则,(当使用单色(monochrome)时,chroma_format_idc等于0),变量modeTypeCondition设置为等于0。
在另一实施例中,色度格式用作确定modeTypeCondition的条件之一。用于422色度格式和420色度格式的modeTypeCondition推导是不同的。当色度格式等于444色度格式时,modeTypeCondition总设置为0。modeTypeCondition的推导如下:
–若以下条件之一为真,modeTypeCondition设置为等于0
–slice_type==I且qtbtt_dual_tree_intra_flag等于1
–modeTypeCurr不等于MODE_TYPE_ALL
–chroma_format_idc等于0或3
–否则,若以下条件之一为真,modeTypeCondition设置为等于1
–cbWidth*cbHeight等于64且split_qt_flag等于1
–cbWidth*cbHeight等于64且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
–cbWidth*cbHeight等于32且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_BT_VER
–否则,以下条件之一为真,modeTypeCondition设置为等于
1+(slice_type!=I?1:0)
–若chroma_format_idc等于1且cbWidth*cbHeight等于64且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或
SPLIT_BT_VER
–若chroma_format_idc等于1且cbWidth*cbHeight等于128且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR或
SPLIT_TT_VER
在一个实施例中,增加以下两个条件:
–cbWidth等于8且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_VER
–cbWidth等于16且split_qt_flag等于0
且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER在另一实施例中,增加以下8个条件:
–若chroma_format_idc等于1且cbWidth等于8且cbHeight
等于16且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER
–若chroma_format_idc等于1且cbWidth等于16且cbHeight
等于16且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
–若chroma_format_idc等于1且cbWidth等于4且cbHeight
等于32且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_TT_HOR
–若chroma_format_idc等于1且cbWidth等于4且cbHeight
等于64且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR
–若chroma_format_idc等于2且cbWidth等于8且cbHeight
等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER
–若chroma_format_idc等于2且cbWidth等于16且cbHeight
等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
–若chroma_format_idc等于2且cbWidth等于4且cbHeight
等于16且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_TT_HOR
–若chroma_format_idc等于2且cbWidth等于4且cbHeight
等于32且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR–否则,modeTypeCondition设置为等于0
在该实施例中,仅当使用4:2:0色度格式时,才可以将modeTypeCondition设置为2。因此,仅在使用4:2:0色度格式时才发信/解析mode_constraint_flag。当色度格式不是4:2:0时,不发信mode_constraint_flag。另外,仅当使用4:2:0或4:2:2色度格式时,才能将modeTypeCondition设置为1。因此,当使用4:2:0或4:2:2色度格式时,根块类型将被推断为MODE_TYPE_INTRA。对于4:2:2色度格式,modeTypeCondition只能为0或1。对于4:4:4色度格式,modeTypeCondition只能为0。对于4:2:0色度格式,modeTypeCondition只能为0或1或2。
在另一个实施例中,约束不是由CB大小定义的(例如cbWidth*cbHeight)。相反,它是通过考虑cbWidth、cbHeight、SubWidthC、SubHeightC来定义的,其中SubWidthC、SubHeightC是由色度格式定义的。可以如下推导modeTypeCondition。是否解码mode_constraint_flag取决于变量modeTypeCondition。变量modeTypeCondition的推导如下:
–若以下条件之一为真,modeTypeCondition设置为等于0
–slice_type==I且qtbtt_dual_tree_intra_flag等于1
–modeTypeCurr不等于MODE_TYPE_ALL
–否则,若以下条件之一为真,modeTypeCondition设置为等于1
–cbWidth*cbHeight等于64且split_qt_flag等于1
–cbWidth*cbHeight等于64且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
–cbWidth*cbHeight等于32且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_BT_VER
–否则,若以下条件之一为真,modeTypeCondition设置为等于
1+(slice_type!=I?1:0)
–(cbWidth/SubWidthC)*(cbHeight/SubHeightC)
等于16且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_BT_VER
–(cbWidth/SubWidthC)*(cbHeight/SubHeightC)
等于32且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
在上文中,modeTypeCurr表示当前块的modeType。变量modeType指定是否可以使用帧內(即MODE_INTRA)、IBC(即MODE_IBC)、调色板(即MODE_PLT)和帧间解码模式(即MODE_TYPE_ALL),或是否仅可以使用帧內、IBC和调色板编解码模式(即MODE_TYPE_INTRA),或者是否仅可以使用帧间编解码模式(即MODE_TYPE_INTER)來编解码编解码树節點內的编解码單元。
在一个实施例中,增加以下两个条件:
–(cbWidth/SubWidthC)等于4且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_VER
–(cbWidth/SubWidthC)等于8且split_qt_flag
等于0且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
在另一实施例中,增加以下4个条件:
–(cbWidth/SubWidthC)等于4且(cbHeight/SubHeightC)
等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER
–(cbWidth/SubWidthC)等于8且(cbHeight/SubHeightC)
等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
–(cbWidth/SubWidthC)等于2且(cbHeight/SubHeightC)
等于16且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_TT_HOR
–(cbWidth/SubWidthC)等于2且(cbHeight/SubHeightC)
等于32且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR
–否则,modeTypeCondition设置为等于0
在另一实施例中,约束并非由cb大小(例如cbWidth*cbHeight)定义。它的定义考虑色度格式、cbWidth、cbHeight、SubWidthC、SubHeightC,其中SubWidthC、SubHeightC通过色度格式定义。modeTypeCondition可如下导出。变量modeTypeCondition的推导如下:
–若以下条件之一为真,modeTypeCondition设置为等于0
–slice_type==I且qtbtt_dual_tree_intra_flag等于1
–modeTypeCurr不等于MODE_TYPE_ALL
–chroma_format_idc==0
–chroma_format_idc==3
–否则,若以下条件之一为真,modeTypeCondition设置为等于1
–(cbWidth/SubWidthC)*(cbHeight/SubHeightC)等于16且
split_qt_flag等于1
–(cbWidth/SubWidthC)*(cbHeight/SubHeightC)等于16且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR或
SPLIT_TT_VER
–(cbWidth/SubWidthC)*(cbHeight/SubHeightC)等于8且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或
SPLIT_BT_VER
–否则,若以下条件之一为真,modeTypeCondition设置为等于
1+(slice_type!=I?1:0)
–(cbWidth/SubWidthC)*(cbHeight/SubHeightC)等于16且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或
SPLIT_BT_VER
–(cbWidth/SubWidthC)*(cbHeight/SubHeightC)等于32且
MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR或
SPLIT_TT_VER
在一个实施例中,增加以下两个条件:
–(cbWidth/SubWidthC)等于4且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_VER
–(cbWidth/SubWidthC)等于8且split_qt_flag
等于0且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER在另一实施例中,增加以下4个条件:
–(cbWidth/SubWidthC)等于4且(cbHeight/SubHeightC)
等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER
–(cbWidth/SubWidthC)等于8且(cbHeight/SubHeightC)
等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
–(cbWidth/SubWidthC)等于2且(cbHeight/SubHeightC)
等于16且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_TT_HOR
–(cbWidth/SubWidthC)等于2且(cbHeight/SubHeightC)
等于32且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR
–否则,modeTypeCondition设置为等于0
在另一实施例中,约束并非由cb大小(例如cbWidth*cbHeight)定义。相反,它的定义考虑chroma_format_idc、cbWidth、cbHeight、SubWidthC、SubHeightC,其中SubWidthC、SubHeightC通过色度格式定义。modeTypeCondition可如下导出。变量modeTypeCondition的推导如下:
–若以下条件之一为真,modeTypeCondition设置为等于0
–slice_type==I且qtbtt_dual_tree_intra_flag等于1
–modeTypeCurr不等于MODE_TYPE_ALL
–chroma_format_idc==0
–chroma_format_idc==3
–否则,若以下条件之一为真,modeTypeCondition设置为等于1,导出如下:
变量minLuma设置为等于:
–(cbWidth*cbHeight)>>2,若MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR或SPLIT_TT_VER或split_qt_flag等于1
–(cbWidth*cbHeight)>>1,若MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或SPLIT_BT_VER
–否则,cbWidth*cbHeight。
变量minChroma设置为等于minLuma/(SubWidthC*SubHeightC)。在一个实施例中,
–modeTypeCondition设置为等于0,若minChroma大于8.
–否则,modeTypeCondition设置为等于1+(slice_type==I||minLuma==16?)0:1
在另一实施例中,变量minLumaWidth设置为等于:
–cbWidth>>2,若MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
–cbWidth>>1,若MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER或split_qt_flag等于1
–否则,cbWidth。
变量minChromaWidth设置为等于minLumaWidth/SubWidthC。
变量minLumaHeight设置为等于:
–cbHeight>>2,若MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR
–cbHeight>>1,若MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或split_qt_flag等于1
–否则,cbHeight。
变量minChromaHeight设置为等于minLumaHeight/SubHeightC。
–modeTypeCondition设置为等于0,若minChroma is higher than 8且minChromaWidth大于2且minChromaHeight大于8.
–否则,modeTypeCondition设置为等于1+(slice_type==I||minLuma==16?)0:1
在另一实施例中,变量minLumaWidth设置为等于:
–cbWidth>>2,若MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER且split_qt_flag等于0
–cbWidth>>1,若MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER或split_qt_flag等于1
-否则,cbWidth。
变量minChromaWidth设置为等于minLumaWidth/SubWidthC。
–modeTypeCondition设置为等于0,若minChroma is higher than 8且minChromaWidth大于2。
–否则,modeTypeCondition设置为等于1+(slice_type==I||minLuma==16?)0:1
在另一实施例中,约束并非由cb大小(例如cbWidth*cbHeight)定义。它的定义考虑cbWidth、cbHeight、SubWidthC、SubHeightC,其中SubWidthC、SubHeightC通过色度格式定义。modeTypeCondition可如下导出。变量modeTypeCondition的推导如下:
–若以下条件之一为真,modeTypeCondition设置为等于0
–slice_type==I且qtbtt_dual_tree_intra_flag等于1
–modeTypeCurr不等于MODE_TYPE_ALL
–否则,若以下条件之一为真,modeTypeCondition设置为等于1
–cbWidth*cbHeight等于64,cbWidth*cbHeight小于64*
SubWidthC*SubHeightC,且split_qt_flag等于1
–cbWidth*cbHeight等于64,cbWidth*cbHeight小于64*
SubWidthC*SubHeightC,且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
–cbWidth*cbHeight等于32,cbWidth*cbHeight小于32*
SubWidthC*SubHeightC,且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_BT_VER
–否则,若以下条件之一为真,modeTypeCondition设置为等于
1+(slice_type!=I?1:0)
–cbWidth*cbHeight小于32*SubWidthC*
SubHeightC且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_BT_VER
–cbWidth*cbHeight小于64*SubWidthC*
SubHeightC且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_TT_HOR或SPLIT_TT_VER
在一个实施例中,增加以下两个条件:
–cbWidth等于4*SubWidthC且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_VER
–cbWidth等于8*SubWidthC且split_qt_flag
等于0且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
在另一实施例中,增加以下4个条件:
–cbWidth等于4*SubWidthC且cbHeight等于8*
SubHeightC且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER
–cbWidth等于8*SubWidthC且cbHeight等于8*
SubHeightC且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER
–cbWidth等于2*SubWidthC且cbHeight等于16*
SubHeightC且MttSplitMode[x0][y0][mttDepth]
等于SPLIT_BT_HOR或SPLIT_TT_HOR
–cbWidth等于2*SubWidthC且cbHeight等于32*
SubHeightC且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR
–否则,modeTypeCondition设置为等于0
在另一个实施例中,当使用单色(monochrome)时,modeTypeCondition始终设置为等于0。
当modeTypeCondition等于2时,将对mode_constraint_flag进行解码,并且根据mode_constraint_flag来设置modeType。当modeTypeCondition等于1时,modeType推断为MODE_TYPE_INTRA,则根块内的所有块都是帧内/IBC预测的。当modeTypeCondition等于0时,不会更改modeType。语法表如下:
表1.示例的语法表
在一个实施例中,不管颜色格式如何,如果子块之一的色度CB大小小于16个色度样本,并且尚未设置根块,则根块的左上位置设置为当前块的左上角位置,并且根块的宽度和高度等于当前块的宽度和高度,否则不设置根块。阈值可以是4、8、16、32、64、128、256、512、1024、2048和4096。
当根块被确定为帧间模式时,不允许4x4亮度块分区。因此,不允许产生亮度块大小等于4x4的一个或多个子子块(children sub-block)的块分割。该块分区标志的语法被跳过并推断为未按块分区的类型分割。
在一个实施例中,当modeTypeCurr等于MODE_TYPE_INTER时,当CU/CB面积等于32时,BT分割是不允许的,而当CU/CB面积等于64时,TT分割是不允许的。由父分区节点(parent partition node)决定modeTypeCurr并传递给当前节点。因此,根据从父节点传递的变量(modeTypeCurr),当CU/CB分别等于32或64时,分别不允许使用BT分割或TT分割。禁止分区意味着不发信分割语法,并且将其推断为0。例如,当modeTypeCurr等于MODE_TYPE_INTER且cbWidth*cbHeight分别等于32或64时,分别将allowBtSplit或allowTtSplit设置为等于0/假(false)。
方法4:当禁止色度分区分割时的去块修改
在帧间切片(或共享树)中,如果包含亮度分量和色度分量的根块具有不同的分割,则将对亮度和色度的去块处理进行分离。也就是说,色度块/CU不能重复使用亮度块/CU的边界强度(Boundary Strength,简写为Bs)设置。色度块/CU的边界强度(Bs)设置将单独设置,然后对色度分量应用过滤。
在一个实施例中,如果当前CU是色度CU,并且相邻CU是亮度CU,则色度分量的边界强度(BS)值将被设置为2。
在一个实施例中,如果当前CU是色度CU,并且相邻CU是亮度CU,则色度分量的边界强度(BS)值将被设置为1。
方法5:禁止色度分区分割时简化二次变换(reduced secondary transform,简写为RST)修改
在帧间切片(或共享树)中,如果根块包含具有不同分区的亮度分量和色度分量,则根区域中亮度块和色度块的RST决策不同。
在一个实施例中,RST不应用于根块中的色度块且不在其中发信。
在另一个实施例中,如果块宽度和块高度都大于2个色度样本,则仅对根块中的色度块应用RST并发信。
根块中的非零系数水平设置与双树中的设置相同。
例如,对于根块中的亮度块,将阈值更改为LFNST_SIG_LUMA,对于根块中的色度块,将阈值更改为LFNST_SIG_CHROMA,其中LFNST_SIG_LUMA和LFNST_SIG_CHROMA分别是亮度和色度分量的阈值。
在根块中推导的上下文变量(context variables)也与双树中的设置相同。
例如,如果在单树(single tree)中,mts索引小于2,并且当前块在根块中,则上下文变量将增加1;否则(在单树中,mts索引小于2,但当前块不在根块中),上下文变量将不会增加1。
方法6:禁止色度分区分割时的帧内子分区预测(intra subpartitionprediction,简写为ISP)修改
对于根块中的亮度块,将没有色度子分区。
方法7:禁止色度分区分割时的变量QP(Delta QP,简写为DQP)修改在单树中,不会在根块的色度块中发信cu等级变量QP。
方法8:禁止色度分区分割时的预测模式发信
可以推断出根块中发信的预测模式。
-未启用IBC时:
对于根块中的亮度块:
–在一个实施例中,如果亮度块的左上位置与根块的左上位置不同,并且根块是帧内/IBC预测模式,则将预测模式推断为帧内预测模式,不需要语法发信以指示预测模式。
–在一个实施例中,如果亮度块的左上位置与根块的左上位置不同,并且根块是帧间预测模式,则将预测模式推断为帧间预测模式,则不需要语法发信。
对于色度块:
–在一个实施例中,将预测模式推断为帧内预测模式。
-启用IBC时:
对于根块中的亮度块:
–在一个实施例中,如果亮度块的左上位置与根块的左上位置不同,并且根块是帧间预测模式,则将亮度块推断为帧间预测模式,则不需要发信语法。
–在一个实施例中,如果亮度块的左上位置与根块的左上位置不同,并且根块是帧内/IBC预测模式,并且当前块中不允许IBC,则将预测模式推断为帧内预测模式,则不需要发信语法。
在一个实施例中,如果亮度块的左上位置与根块的左上位置不同,则如果根块是帧内/IBC预测模式,并且如果在当前块中允许IBC,则仅需要发信IBC预测标志。如果IBC预测标志为真(true),则预测模式为IBC模式。
在一个实施例中,如果亮度块的左上位置与根块的左上位置不同,则如果根块是帧内/IBC预测模式,并且如果在当前块中允许IBC,仅需要发信预测模式标志。如果预测模式标志为真(true),则预测模式为帧内模式。
对于色度块,在一个实施例中,如果当前块中不允许IBC且将预测模式推断为帧内预测模式,则不需要发信语法。在一个实施例中,如果在当前块中允许IBC,则仅需要发信IBC预测标志。如果IBC预测标志为真,则预测模式为IBC模式。在一个实施例中,如果在当前块中不允许IBC,则仅需要发信预测模式标志。如果预测模式标志为真,则预测模式为帧内模式。
方法9:禁止色度分区分割时的跳过标志发信
可以如下推断根块中发信的预测模式。
-未启用IBC时:
对于根块中的亮度块:
–在一个实施例中,如果亮度块的左上位置与根块的左上位置不同,并且根块处于帧内/IBC模式,则无需发信跳过标志(skip flag),并推断跳过标志为假。
对于色度块,无法应用跳过模式,因此不需要跳过标志的语法。
-启用IBC时:
对于根块中的亮度块:
–在一个实施例中,如果亮度块的左上位置与根块的左上位置不同,则如果根块是帧内/IBC模式并且当前块中不允许IBC,则跳过标志不需要被发信,并被推断为假。
在另一个实施例中,如果跳过标志为真,并且亮度块的左上位置与根块的左上位置不同,根块为帧内/IBC模式,则当前块的预测模式被推断为IBC模式,无需发信IBC标志。否则(如果跳过标志为真,并且亮度块的左上位置与根块的左上位置不同,根块为帧间模式),则将当前块的预测模式推断为帧间模式。
对于色度块,不能应用跳过模式,因此不需要跳过标志的语法。
上面提到的切片可以是一个切片、一个图块、一个图块组或一张图片。
在VTM-6中,采用局部双树来防止小色度帧内CU,以提高处理吞吐量。例如,如果通过三叉树(TT)分割来分割128个亮度样本CU,并且以帧内模式对SCIPU进行编解码,则SCIPU是局部双树。在此SCIPU中,色度块无法分割,并导致8x4(即32个色度样本)CU。
在局部双树或SCIPU的概念中,它试图不使色度CU小于16个色度样本。然而,在不违反约束的情况下(即,不具有色度样本小于16个样本的色度CU),可以将32个色度样本CU进一步分成两个16个色度样本CU。为了提高编解码效率,可以将这种色度CU通过二叉树(BT)分割分割为两个色度CU。例如,可以分为两个4x4色度CU或两个8x2色度CU。同样,如果SCIPU/局部双树大小的亮度样本大小为8x16,色度样本大小为4x8,则可以将其进一步分割为两个4x4色度CU或两个2x8色度CU。为此,在一个实施例中,修改了BT分割约束。当前节点/CU的树类型等于DUAL_TREE_CHROMA并且SCIPU modeType等于MODE_TYPE_INTRA时,并且(cbWidth/SubWidthC)*(cbHeight/SubHeightC)等于32,或者大于或等于32,则不必禁止使用BT(即可以应用BT)。但是,当当前节点/CU的树类型等于DUAL_TREE_CHROMA并且SCIPUmodeType等于MODE_TYPE_INTRA,并且(cbWidth/SubWidthC)*(cbHeight/SubHeightC)/2小于16个样本时,BT为不允许的。在另一个示例中,当当前节点/CU的树类型等于DUAL_TREE_CHROMA并且SCIPU modeType等于MODE_TYPE_INTRA,并且(cbWidth/SubWidthC)*(cbHeight/SubHeightC)小于或等于16时,禁止使用BT。
在一个实施例中,原始语法的一部分如下所示。变量allowBtSplit的推导如下:
若一个或多个下述条件为真,allowBtSplit设置为等于FALSE:
–cbSize小于或等于MinBtSizeY
–cbWidth大于maxBtSize
–cbHeight大于maxBtSize
–mttDepth大于或等于maxMttDepth
–treeType等于DUAL_TREE_CHROMA且(cbWidth/SubWidthC)*
(cbHeight/SubHeightC)小于或等于16
–treeType等于DUAL_TREE_CHROMA且modeType等于MODE_TYPE_INTRA。
语法可被修改如下。变量allowBtSplit的推导如下:
若一个或多个下述条件为真,allowBtSplit设置为等于FALSE:
–cbSize小于或等于MinBtSizeY
–cbWidth大于maxBtSize
–cbHeight大于maxBtSize
–mttDepth大于或等于maxMttDepth
–treeType等于DUAL_TREE_CHROMA且(cbWidth/SubWidthC)
*(cbHeight/SubHeightC)小于或等于16
–treeType等于DUAL_TREE_CHROMA且modeType等于MODE_TYPE_INTRA且(cbWidth/SubWidthC)*(cbHeight/
SubHeightC)小于或等于16。
在另一实施例中,增加两个条件:
–btSplit等于SPLIT_BT_VER且treeType等于DUAL_TREE_CHROMA且cbWidth/SubWidthC小于或等于4
–btSplit等于SPLIT_BT_VER且treeType等于DUAL_TREE_CHROMA且modeType等于MODE_TYPE_INTRA且the cbWidth/SubWidthC小于或等于4
在另一实施例中,增加两个条件:
–btSplit等于SPLIT_BT_VER且treeType等于DUAL_TREE_CHROMA且cbWidth/SubWidthC小于或等于4且cbHeight/SubHeightC小于或等于8
–btSplit等于SPLIT_BT_VER且treeType等于DUAL_TREE_CHROMA且modeType等于MODE_TYPE_INTRA且cbWidth/SubWidthC小于或等于4且cbHeight/SubHeightC小于或等于8。
或者,可以如下修改语法。变量allowBtSplit的推导如下:
若一个或多个下述条件为真,allowBtSplit设置为等于FALSE:
–cbSize小于或等于MinBtSizeY
–cbWidth大于maxBtSize
–cbHeight大于maxBtSize
–mttDepth大于或等于maxMttDepth
–treeType等于DUAL_TREE_CHROMA且(cbWidth/SubWidthC)*
(cbHeight/SubHeightC)小于或等于16
–//treeType等于DUAL_TREE_CHROMA且modeType等于MODE_TYPE_INTRA//,其中“//”对中的文本表示删除。
在另一实施例中,增加一个条件:
–btSplit等于SPLIT_BT_VER且treeType等于DUAL_TREE_CHROMA且cbWidth/SubWidthC小于或等于4
在另一实施例中,增加一个条件:
–btSplit等于SPLIT_BT_VER且treeType等于DUAL_TREE_CHROMA且cbWidth/SubWidthC小于或等于4且cbHeight/SubHeightC小于或等于8。
因此,提出了当色度CU大小为32个色度样本时,使色度CU能够在帧内类型SCIPU或局部双树中进一步分割(例如BT分割)。
可以在编码器和/或解码器中实现任何前述提出的方法。例如,可以在编码器和/或解码器的帧内预测或块分割中实现任何所提出的方法。可替代地,任何提出的方法可以被实现为耦合到编码器和/或解码器的帧内预测或块分区的电路,以便提供帧内预测或块分区所需的信息。
图7示出了根据本发明实施例的具有针对小块的受限模式选择的示例性编码和解码系统的流程图。流程图中所示的步骤以及本公开中的其他后续流程图可被实现为可在编码器侧和/或解码器侧的一个或多个处理器(例如,一个或多个CPU)上执行的程序码。流程图中所示的步骤也可以基于硬件来实现,例如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。根据该方法,在步骤710中,在编码器侧接收根块,或者在解码器侧接收包括该根块的压缩数据,其中,该根块由使用单个分区树对解码区域进行分区而得到的一个或多个子块组成,并且根块包括一个亮度分量和一个或多个420或422色度格式的色度分量。当满足一个或多个条件时,在步骤720中,一个目标模式类型用于根块内的所有所述一个或多个子块,其中所述一个或多个条件包括,对于所述一个或多个色度分量,一个子块的第一宽度等于2,其中,如果未为包围根块的图像区域选择帧内类型模式,则目标模式类型对应帧内类型模式或帧间类型模式,否则目标模式类型对应帧内类型模式。在步骤730,根块中的所述一个或多个子块在编码器侧根据目标模式类型被编码,或者根块中的所述一个或多个子块在解码器侧根据目标模式类型被解码。
图8示出了根据本发明的实施例的具有针对小块的受限模式选择的示例性编解码系统的另一流程图。根据该方法,在步骤810中,在编码器侧接收根块,或者在解码器侧接收包括根块的压缩数据,其中,该根块由一个或多个子块组成,该一个或多个子块是通过使用单个分区树分割编码解码区域而得到的,并且根块包括一个亮度分量和一个或多个420或422色度格式的色度分量。当满足一个或多个条件时,在步骤820中,一个目标模式类型用于根块内的所有所述一个或多个子块,其中所述一个或多个条件包括所述一个或多个色度分量的第一子块大小小于16,其中,如果没有为包围根块的图像区域选择帧内类型模式,则目标模式类型对应帧内类型模式或帧内类型模式,否则,目标模式类型对应帧内类型模式。在步骤830中,根块中的所述一个或多个子块根据编码器侧的目标模式类型被编码,或者根块中的所述一个或多个子块在解码器侧根据目标模式类型被解码。
所示的流程图旨在说明根据本发明的视频编解码的示例。本领域技术人员可以修改每个步骤、重新布置步骤、分割步骤或组合步骤以实践本发明,而不背离本发明的精神。在本公开中,已经使用特定的语法和语义来说明用于实现本发明的实施例的示例。本领域技术人员可以通过用等同的语法和语义替换语法和语义来实践本发明,而不脱离本发明的精神。
呈现以上描述是为了使本领域技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对本领域技术人员将是显而易见的,并且本文中定义的一般原理可以应用于其他实施例。因此,本发明无意限于所示出和描述的特定实施例,而是与本文所公开的原理和新颖特征相一致的最广范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解可以实施本发明。
如上所述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电路电路或集成到视频压缩软件中的程序代码,以执行本文所述的处理。本发明的实施例还可以是将在数字信号处理器(DSP)上执行以执行本文描述的处理的程序代码。本发明还可涉及由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(FPGA)执行的许多功能。通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码,可以将这些处理器配置为执行根据本发明的特定任务。可以以不同的编程语言和不同的格式或样式来开发软件代码或固件代码。也可以针对不同的目标平台来编译软件代码。然而,不同的编解码格式、软件代码的样式和语言以及配置代码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的示例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前述描述来指示。落在权利要求的等同含义和范围内的所有改变均应包含在其范围之内。

Claims (21)

1.一种视频编解码方法,该方法包括:
在编码器侧接收根块或在解码器侧接收包括该根块的压缩数据,其中,该根块由一个或多个子块组成,该一个或多个子块是使用分区树对一个编解码区域进行分区而得到的,并且该根块包括一个亮度分量和420或422色度格式的一个或多个色度分量;
当对于该一个或多个色度分量,一个子块的第一宽度等于2时,为该根块内的所有该一个或多个子块确定目标模式类型,并且如果该目标模式类型未推断为帧内模式类型,则确定该目标模式类型是否对应该帧内模式类型或帧间模式类型;以及
在该编码器侧根据该目标模式类型对该根块中的该一个或多个子块进行编码,或者在该解码器侧根据该目标模式类型对该压缩数据进行解码,以重构该根块中的该一个或多个子块;
其中当该一个或多个子块的亮度块大小等于4*4时,该目标模式类型被推断为帧内模式类型。
2.根据权利要求1所述的视频编解码方法,其中,对于该一个或多个色度分量,一个子块的该第一宽度等于2对应于一个情况,其中对于该一个亮度分量,该根块的第二宽度等于8,并且该根块的该分区树包括二元垂直分区。
3.根据权利要求1所述的视频编解码方法,其中,对于该一个或多个色度分量,一个子块的该第一宽度等于2对应于一个情况,其中对于该一个亮度分量,该根块的第二宽度等于16,并且该根块的该单个分区树包括三元垂直分区。
4.根据权利要求1所述的视频编解码方法,其中,当该根块为420色度格式时,对于该一个或多个色度分量,一个子块的该第一宽度等于2对应于一个情况,即对于该一个亮度分量,该根块的第二宽度和高度分别等于8和16,并且该根块的该分区树包括二元垂直分区;对于该一个亮度分量,该根块的该第二宽度和该高度等于16,并且该根块的该分区树包括三元垂直分区;对于该一个亮度分量,该根块的该第二宽度和该高度分别等于4和32,并且该根块的该分区树包括二元或三元水平分区;或者对于该一个亮度分量,该根块的该第二宽度和该高度分别等于4和64,并且该根块的该分区树包括该三元水平分区。
5.根据权利要求1所述的视频编解码方法,其中,当该根块为422色度格式时,对于该一个或多个色度分量,一个子块的该第一宽度等于2对应于一个情况,即对于该一个亮度分量,该根块的第二宽度和高度等于8,并且该根块的该分区树包括二元垂直分区;对于该一个亮度分量,该根块的该第二宽度和该高度分别等于16和8,并且该根块的该分区树包括三元垂直分区;对于该一个亮度分量,该根块的该第二宽度和该高度分别等于4和16,并且该根块的该分区树包括二元或三元水平分区;或者对于该一个亮度分量,该根块的该第二宽度和该高度分别等于4和32,并且该根块的该分区树包括该三元水平分区。
6.根据权利要求1所述的视频编解码方法,其中,如果未针对包围该根块的该图像区域选择该帧内模式类型,则在该编码器侧发信第一语法或在该解码器侧解析该第一语法以指示为该根块选择了帧内模式类型或帧间模式类型。
7.根据权利要求1所述的视频编解码方法,其中,该编解码区域对应于编解码树单元。
8.根据权利要求1所述的视频编解码方法,其中,该图像区域对应于切片。
9.根据权利要求8所述的视频编解码方法,其中,切片报头中的第二语法在该编码器侧发信或在该解码器侧被解析,以指示该切片的编解码类型。
10.一种视频编解码装置,该装置包括一个或多个电子电路或处理器,用于:
在编码器侧接收根块或在解码器侧接收包括该根块的压缩数据,其中,该根块由一个或多个子块组成,该一个或多个子块是使用分区树对一个编解码区域进行分区而得到的,并且该根块包括一个亮度分量和420或422色度格式的一个或多个色度分量;
当对于该一个或多个色度分量,一个子块的第一宽度等于2时,为该根块内的所有该一个或多个子块确定目标模式类型,并且如果该目标模式类型未推断为帧内模式类型,则确定该目标模式类型是否对应该帧内模式类型或帧间模式类型;以及
在该编码器侧根据该目标模式类型对该根块中的该一个或多个子块进行编码,或者在该解码器侧根据该目标模式类型对该压缩数据进行解码,以重构该根块中的该一个或多个子块;
其中当该一个或多个子块的亮度块大小等于4*4时,该目标模式类型被推断为帧内模式类型。
11.一种视频编解码方法,该方法包括:
在编码器侧接收根块或在解码器侧接收包括该根块的压缩数据,其中,该根块由一个或多个子块组成,该一个或多个子块是使用分区模式对一个编解码区域进行分区而得到的,并且该根块包括一个亮度分量和420或422色度格式的一个或多个色度分量;
当该一个或多个色度分量的一个子块的第一块大小小于16时,为该根块内的所有该一个或多个子块确定目标模式类型,并且如果该目标模式类型未推断为帧内模式类型,则确定该目标模式类型是否对应该帧内模式类型或帧间模式类型;以及
在该编码器侧根据该目标模式类型对该根块中的该一个或多个子块进行编码,或者该解码器侧根据该目标模式类型对该压缩数据进行解码,以在重构该根块中的该一个或多个子块;
其中当该一个或多个子块的亮度块大小等于4*4时,该目标模式类型被推断为帧内模式类型。
12.根据权利要求11所述的视频编解码方法,其中,针对一个子块的该一个或多个色度分量的该第一块大小等于4或8,并且当该根块为420色度格式时,针对该根块的该一个亮度分量的第二块大小为等于64,并且用于该根块的该单个分区树包括四叉树分区、三元垂直分区、三元水平分区、二元垂直分区或二元水平分区。
13.根据权利要求11所述的视频编解码方法,其中,针对一个子块的该一个或多个色度分量的该第一块大小等于8。
14.根据权利要求13所述的视频编解码方法,其中,当该根块为420色度格式时,该根块的该一个亮度分量的第二块大小等于128,并且该根块的该单个分区树包括三元垂直分区或三元水平分区。
15.根据权利要求13所述的视频编解码方法,其中,当该根块为422色度格式时,该根块的该一个亮度分量的第二块大小等于64,并且该根块的该单个分区树包括四叉树分区、三元垂直分区或三元水平分区。
16.根据权利要求13所述的视频编解码方法,其中,当该根块为422色度格式时,该根块的该一个亮度分量的第二块大小等于32,并且该根块的该单个分区树包括二元垂直分区或二元水平分区。
17.根据权利要求11所述的视频编解码方法,其中,如果没有为包围该根块的该图像区域选择该帧内模式类型,则在该编码器侧发信第一语法或在该解码器侧解析该第一语法以指示为根块选择了帧内模式类型或帧间模式类型。
18.根据权利要求11所述的视频编解码方法,其中,该编解码区域对应于编解码树单元。
19.根据权利要求11所述的视频编解码方法,其中,该图像区域对应于切片。
20.根据权利要求19所述的视频编解码方法,其中,切片报头中的第二语法在该编码器侧发信或在该解码器侧被解析,以指示该切片的编解码类型。
21.一种视频编解码装置,该装置包括一个或多个电子电路或处理器,用于:
在编码器侧接收根块或在解码器侧接收包括该根块的压缩数据,其中,该根块由一个或多个子块组成,该一个或多个子块是使用分区模式对一个编解码区域进行分区而得到的,并且该根块包括一个亮度分量和420或422色度格式的一个或多个色度分量;
当该一个或多个色度分量的一个子块的第一块大小小于16时,为该根块内的所有该一个或多个子块确定目标模式类型,并且如果该目标模式类型未推断为帧内模式类型,则确定该目标模式类型是否对应该帧内模式类型或帧间模式类型;以及
在该编码器侧根据该目标模式类型对该根块中的该一个或多个子块进行编码,或者在该解码器侧根据该目标模式类型对该压缩数据进行解码,以重构该根块中的该一个或多个子块;
其中当该一个或多个子块的亮度块大小等于4*4时,该目标模式类型被推断为帧内模式类型。
CN202410511998.5A 2019-08-23 2020-08-21 视频编解码装置方法和相关装置 Pending CN118509582A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962890723P 2019-08-23 2019-08-23
US62/890,723 2019-08-23
US201962906435P 2019-09-26 2019-09-26
US62/906,435 2019-09-26
PCT/CN2020/110561 WO2021036939A1 (en) 2019-08-23 2020-08-21 Method and apparatus of partitioning small size coding units with partition constraints
CN202080040261.XA CN113906737B (zh) 2019-08-23 2020-08-21 具有分割限制条件的小尺寸编码单元分割方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080040261.XA Division CN113906737B (zh) 2019-08-23 2020-08-21 具有分割限制条件的小尺寸编码单元分割方法和装置

Publications (1)

Publication Number Publication Date
CN118509582A true CN118509582A (zh) 2024-08-16

Family

ID=74684161

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410511998.5A Pending CN118509582A (zh) 2019-08-23 2020-08-21 视频编解码装置方法和相关装置
CN202080040261.XA Active CN113906737B (zh) 2019-08-23 2020-08-21 具有分割限制条件的小尺寸编码单元分割方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080040261.XA Active CN113906737B (zh) 2019-08-23 2020-08-21 具有分割限制条件的小尺寸编码单元分割方法和装置

Country Status (8)

Country Link
US (1) US20220286714A1 (zh)
EP (2) EP4044592A3 (zh)
KR (1) KR20220047853A (zh)
CN (2) CN118509582A (zh)
BR (2) BR122022005759A2 (zh)
MX (2) MX2022002126A (zh)
TW (1) TWI751657B (zh)
WO (1) WO2021036939A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9112526B2 (en) * 2011-06-15 2015-08-18 Sony Corporation Binarization of DQP using separate absolute value and sign (SAVS) in CABAC
CN116248873A (zh) * 2016-10-10 2023-06-09 三星电子株式会社 通过块映射来对图像进行编码或解码的方法和装置
WO2021023261A1 (en) 2019-08-06 2021-02-11 Beijing Bytedance Network Technology Co., Ltd. Size restriction based on color format
JP7381722B2 (ja) 2019-09-02 2023-11-15 北京字節跳動網絡技術有限公司 カラーフォーマットに基づいたコーディングモード決定
CN118055248A (zh) 2019-09-21 2024-05-17 北京字节跳动网络技术有限公司 处理视频数据的方法、装置以及计算机可读记录介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
US20140376611A1 (en) * 2013-06-21 2014-12-25 Qualcomm Incorporated Adaptive color transforms for video coding
WO2016154963A1 (en) * 2015-04-01 2016-10-06 Mediatek Inc. Methods for chroma coding in video codec
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
CA3025490A1 (en) * 2016-05-28 2017-12-07 Mediatek Inc. Method and apparatus of current picture referencing for video coding using affine motion compensation
US10674165B2 (en) * 2016-12-21 2020-06-02 Arris Enterprises Llc Constrained position dependent intra prediction combination (PDPC)
EP3656127A1 (en) * 2017-07-19 2020-05-27 Fraunhofer Gesellschaft zur Förderung der Angewand Apparatus and method of coding of pictures
WO2019023200A1 (en) * 2017-07-24 2019-01-31 Arris Enterprises Llc INTRA-MODE JVET CODING
KR20200057082A (ko) * 2017-10-09 2020-05-25 애리스 엔터프라이지즈 엘엘씨 적응적 동일하지 않은 가중 평면 예측
WO2021023261A1 (en) * 2019-08-06 2021-02-11 Beijing Bytedance Network Technology Co., Ltd. Size restriction based on color format
EP4005215A4 (en) * 2019-08-15 2022-10-26 Beijing Dajia Internet Information Technology Co., Ltd. LOW CHROMINANCE BLOCK SIZE RESTRICTION IN VIDEO CODING
JP7494289B2 (ja) * 2019-08-15 2024-06-03 バイトダンス インコーポレイテッド 異なるパーティション構造をもつパレット・モード

Also Published As

Publication number Publication date
EP4044592A3 (en) 2022-12-21
CN113906737B (zh) 2024-05-14
TWI751657B (zh) 2022-01-01
CN113906737A (zh) 2022-01-07
US20220286714A1 (en) 2022-09-08
BR112022003469A2 (pt) 2022-05-24
MX2022003795A (es) 2022-05-25
MX2022002126A (es) 2022-05-18
EP4011066A1 (en) 2022-06-15
BR122022005759A2 (pt) 2022-06-07
TW202127880A (zh) 2021-07-16
EP4044592A2 (en) 2022-08-17
EP4011066A4 (en) 2023-10-18
KR20220047853A (ko) 2022-04-19
WO2021036939A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
CN108605130B (zh) 一种用于对与区块相关的符号进行熵编解码的方法和装置
CN107836117B (zh) 一种块分割的方法及装置
CN113906737B (zh) 具有分割限制条件的小尺寸编码单元分割方法和装置
TWI720584B (zh) 視訊處理系統中色度量化參數導出的方法以及裝置
US20180077417A1 (en) Method and Apparatus of Encoding Decision for Encoder Block Partition
TW201921953A (zh) 在圖像或視頻編碼系統中處理圖像的方法和裝置
WO2020140876A1 (en) Method and apparatus of luma-chroma separated coding tree coding with constraints
CN113228638B (zh) 在区块分割中条件式编码或解码视频区块的方法和装置
US11785258B2 (en) Methods and apparatus for signaling coding unit partitioning of video data
TW201941616A (zh) 用於視訊編解碼的優化分割結構的方法和裝置
WO2020098786A1 (en) Method and apparatus of luma-chroma separated coding tree coding with constraints
CN113632479A (zh) 越界节点视频数据的处理方法及装置
US20220224890A1 (en) Method and Apparatus of Partitioning Small Size Coding Units with Partition Constraints
KR20220042243A (ko) 분할 제약을 갖는 소형 크기 코딩 단위의 분할 방법 및 장치
WO2023198013A1 (en) Methods and apparatus of cu partition using signalling predefined partitions in video coding
TWI761166B (zh) 圖像和視訊編解碼中發信切片分割資訊之方法和裝置
WO2023197832A1 (en) Method and apparatus of using separate splitting trees for colour components in video coding system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination