CN112055964A - 用于视频编解码中的独立编码树的语法交错方法和装置 - Google Patents

用于视频编解码中的独立编码树的语法交错方法和装置 Download PDF

Info

Publication number
CN112055964A
CN112055964A CN201980028282.7A CN201980028282A CN112055964A CN 112055964 A CN112055964 A CN 112055964A CN 201980028282 A CN201980028282 A CN 201980028282A CN 112055964 A CN112055964 A CN 112055964A
Authority
CN
China
Prior art keywords
chroma
luma
data unit
coding
block
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.)
Granted
Application number
CN201980028282.7A
Other languages
English (en)
Other versions
CN112055964B (zh
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
Priority to CN202210557360.6A priority Critical patent/CN114845121A/zh
Publication of CN112055964A publication Critical patent/CN112055964A/zh
Application granted granted Critical
Publication of CN112055964B publication Critical patent/CN112055964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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

Landscapes

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

Abstract

本发明一方面提供了一种用于视频编码和解码中的块分割的方法和装置。依据一种方法,使用推断的分割将当前数据单元分割为初始块,而不使用分割语法传信。初始块包括多个初始亮度块和多个初始色度块,并且初始亮度块的尺寸是MxN,M和N是正整数,并且当前数据单元大于MxN以用于亮度分量。确定分割结构,用于将每个初始亮度块和每个初始色度块分别分成一个或多个亮度编码单元和一个或多个色度编码单元。与当前数据单元中的一个初始块相关联的亮度语法和色度语法被发送或被解析,然后与当前数据单元中的一个下一个初始块相关联的亮度语法和色度语法被发送或被解析。

Description

用于视频编解码中的独立编码树的语法交错方法和装置
交叉申请
本申请要求在2018年4月30日提出申请号为62/664,387的美国临时专利申请的优先权;要求在2018年5月3日提出申请号为62/666,177的美国临时专利申请的优先权;要求在2018年5月25日提出申请号为62/676,330的美国临时专利申请的优先权;要求在2018年7月1日提出申请号为62/692,855的美国临时专利申请的优先权;要求在2018年7月18日提出申请号为62/700,265的美国临时专利申请的优先权;要求在2018年8月3日提出申请号为62/714,153的美国临时专利申请的优先权。上述美国临时专利申请整体以引用方式并入本文中。
技术领域
本发明有关于视频编码中的块分割和语法传信(signalling)。特别地,本发明有关于交错的亮度和色度语法传信以及用于决定对亮度和色度块应用共享编码树或独立的编码树的各种推导。
背景技术
高效视频编码(High Efficiency Video Coding,HEVC)标准是在ITU-T视频编码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)标准化组织的联合视频项目下开发的,尤其是与视频编码联合协作组(JCT-VC)合作而开发的。在HEVC中,一个片被分割为多个编码树单元(multiple coding tree units,CTU)。在主配置文件中,CTU的最小和最大尺寸由序列参数集(SPS)中的语法元素指定。允许的CTU尺寸可以是8x8,16x16,32x32或64x64。对于每个切片,依据光栅扫描顺序处理切片内的CTU。
CTU被进一步分割为多个编码单元(CU)以适应各种局部特性。表示为编码树的四叉树用于将CTU分割为多个CU。令CTU尺寸为MxM,其中M是64,32或16的值中的一个。CTU可以是单个CU(即,没有分割)或者可以分成四个相同尺寸的较小单元(即,每个为M/2xM/2),其对应于编码树的节点。如果单元是编码树的叶节点,则单元变为CU。否则,可以迭代四叉树分割过程,直到节点的尺寸达到序列参数集(Sequence Parameter Set,SPS)中指定的最小允许CU尺寸。这种表示产生由图1中的编码树(也称为分割树结构)120指定的递归结构。图1中示出了CTU分割110,其中实线指示CU边界。使用画面间(时间)或画面内(空间)预测来编码图像区域的决定是在CU级别进行的。由于最小CU尺寸可以是8x8,因此用于在不同基本预测类型之间切换的最小粒度是8x8。
此外,依据HEVC,可以将每个CU分割为一个或多个预测单元(prediction units,PU)。与CU耦合,PU用作共享预测信息的基本代表块。在每个PU内部,应用相同的预测过程,并且基于PU将相关信息发送到解码器。可以依据PU分割类型,将CU分成一个,两个或四个PU。如图2所示,HEVC定义了用于将CU分成PU的八种形状,包括2Nx2N,2NxN,Nx2N,NxN,2NxnU,2NxnD,nLx2N和nRx2N分割类型。与CU不同,PU可以仅依据HEVC分割一次。第二行中所示的分割对应于不对称分割,其中两个分割部分具有不同的尺寸。
在透过基于PU分割类型的预测过程获得残差块之后,可以依据另一种四叉树结构将CU的预测残差分割为变换单元(TU)。如图1所示,该四叉树结构类似于CU的编码树。实线表示CU边界,虚线表示TU边界。TU是具有用于应用整数变换和量化的残差或变换系数的基本代表性块。对于每个TU,应用具有与TU相同尺寸的一个整数变换以获得残差系数。在以TU为基础量化之后,将这些系数发送到解码器。
术语编码树块(terms coding tree block,CTB),编码块(coding block,CB),预测块(prediction block,PB)和变换块(transform block,TB)被定义为指定与CTU,CU,PU和TU分别相关联的一个颜色分量的2-D样本数组。因此,CTU由一个亮度CTB,两个色度CTB和相关的语法元素组成。类似的关系对CU,PU和TU有效。树分割通常同时应用于亮度和色度,但是当达到色度的某些最小尺寸时,存在例外情况。
或者,在JCTVC-P1005(D.Flynn,et al,“HEVC Range Extensions Draft 6”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,16th Meeting:San Jose,US,9–17 January 2014,Document:JCTVC-P1005)中提出二叉树块分割结构。所提出的二叉树分割结构中,可以使用如图3所示的各种二进制分割类型,将块递归地分割成两个较小的块。最有效和最简单的是如图3中前两个分割所示的对称的水平和垂直分割。对于尺寸为M×N的给定块,一个标志被发送以指示给定块是否被分成两个较小的块。如果是,则另一语法元素被发送以指示使用哪种分割类型。如果使用水平分割,则将给定块分成两个尺寸为M×N/2的块。如果使用垂直分割,则将给定块分成两个尺寸为M/2×N的块。可以迭代二叉树分割过程,直到分割块的尺寸(宽度或高度)达到最小允许块尺寸(宽度或高度)。可以在诸如SPS的高级语法中定义最小允许块尺寸。由于二叉树具有两种分割类型(即水平和垂直),因此应指示最小允许块宽度和块高度。当分割将导致块高度小于指示的最小值时,隐含地暗示非水平分割。当分割将导致块宽度小于指示的最小值时,隐含地暗示非垂直分割。图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结构
二叉树结构比四叉树结构更灵活,因为可以支持更多的分割形状,这也是编码效率改进的来源。但是,编码复杂度也会增加,以便选择最佳的分割形状。为了平衡复杂性和编码效率,已经公开了一种组合四叉树和二叉树结构的方法,也称为四叉树加二叉树(quadtree plus binary tree,QTBT)结构。依据QTBT结构,CTU(或I切片的CTB)是四叉树的根节点,CTU首先由四叉树分割,其中一个节点的四叉树分割可以迭代,直到节点达到允许的最小四叉树叶节点尺寸(即MinQTSize)为止。如果四叉树叶节点尺寸不大于最大允许二叉树根节点尺寸(即,MaxBTSize),则可以透过二叉树进一步对其进行分割。可以迭代一个节点的二叉树分割,直到节点达到最小允许二叉树叶节点尺寸(即,MinBTSize)或最大允许二叉树深度(即,MaxBTDepth)。二叉树叶节点,即CU(或用于I切片的CB)将用于预测(例如,画面内图像或画面间图像预测)并且在没有任何进一步分割的情况下进行变换。二叉树分割中有两种分割类型:对称水平分割和对称垂直分割。在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时,隐含地暗示非垂直分割。透过预测(画面内图像或画面间图像)和变换编码进一步处理QTBT的叶节点。
对于I切片,QTBT树结构通常应用亮度/色度独立编码。例如,QTBT树结构分别应用于I切片的亮度和色度分量,并且同时应用于P切片和B切片的亮度和色度(除非达到色度的某些最小尺寸)。换句话说,在I切片中,亮度CTB具有QTBT结构的块分割,并且两个色度CTB具有另一个QTBT结构的块分割。在另一示例中,两个色度CTB还可以具有它们自己的QTBT结构块分割。
双边模板MV细化(也称为DMVR)
在一些文献中,双边模板MV细化(Bilateral Template MV Refinement,BTMVR)也称为解码器侧MV细化(Xu Chen,et al.,“Decoder-Side Motion Vector RefinementBased on Bilateral Template Matching”,Joint Video Exploration Team(JVET)ofITU-T SG 16WP 3and ISO/IEC JTC 1/SC29/WG 11,4th Meeting:Chengdu,CN,15–21October 2016,Document:JVET-D0029),公开了基于双边模板匹配的解码器侧运动矢量细化(Decoder-Side Motion Vector Refinement,DMVR)。BTMVR的过程如图6所示,其中块610是当前块。确定当前块610的初始运动向量MV0 620a和MV1 620b。例如,可以从合并候选者导出初始运动矢量。BTMVR过程应用于双预测块。换句话说,MV0指向L0参考图像670a并且MV1指向L1参考图像670b。L0参考图像670a中的L0参考块630a可以位于L0参考图像670a和MV0 620a中的当前块的对应位置610a。类似地,在L1参考图像670b中的L1参考块630b可以位于L1参考图像670b和MV1 620b中的当前块的对应位置610b。透过使用分别由MV0 620a和MV1 620b指向的两个参考块(630a和630b)的双预测来生成模板640,如图6所示。在一个实施例中,双边模板640被计算为L0块630a和L1块630b的平均值,但不限于该实施例。在下一步骤中,它使用双边模板在L0参考图像中的L0参考块周围进行整数运动估计(ME)和分数ME搜索,搜索范围为P像素×Q像素,并找到最小ME成本的位置。ME成本具有许多实施例,一个实施例是绝对差之和(SAD),但不限于该实施例。最小ME成本的最终位置被分配给L0的细化(refined)MV。类似的步骤被应用于定位L1的细化MV。例如,如图6所示,使用模板作为新的当前块并执行运动估计以在L0参考图像660a和L1参考图像660b中找到更好的匹配块(即,细化的参考块650a和细化的参考块650b)。细化MV被称为MV0'660a和MV1'660b,如图6所示。然后细化MV(MV0'和MV1')用于生成当前块的最终双向预测的预测块。
邻近导出的预测偏移(Neighbouring-derived Prediction Offset,NPO)
邻近导出的预测偏移(NPO)是最近开发的新编码工具,用于改进添加预测偏移的运动补偿预测器。透过该偏移,可以考虑帧之间的不同照明条件。使用相邻重建像素(neighbouring reconstructed pixels,NRP)和扩展运动补偿预测子(extended motioncompensated predictors,EMCP)导出偏移。
图7示出了导出偏移的示例性实现。为NRP和EMCP选择的模式分别是左边的N行(columns)(712和722)以及当前PU 710和参考块720顶部的M列(rows)(714和724),其中N和M是预定值。虽然在示例中示出了矩形NRP和EMCP,但是图案可以具有任何尺寸和形状,并且可以依据任何编码参数来确定,例如PU或CU尺寸,只要NRP和EMCP两者使用相同的尺寸和形状。偏移量被计算为NRP的平均像素值减去EMCP的平均像素值。该导出的偏移将应用于整个PU以及运动补偿预测器。
图8示出了导出偏移的另一示例性实现。首先,对于每个相邻位置(即,当前块830的左边界以及顶边界的左侧像素810和上方像素820),NRP中的对应像素减去EMCP中的像素来计算个体偏移。对于左相邻位置810的上述相邻位置820和6,6,6和6的示例性偏移值6,4,2和-2在图8中示出。
在获得相邻位置的偏移值之后,将导出当前PU 830中的每个位置的导出偏移量作为从左侧和上方位置的偏移的平均值,如箭头840所示。例如,在当前PU 830的左上角831处的第一位置,将透过平均来自左侧和上方的偏移(即,(6+6)/2=6)来生成偏移量6。对于右边的下一个位置832,偏移量被推导为5(即,(6+4)/2=5)。可以以光栅扫描顺序相应地处理和生成剩余位置的偏移值。由于相邻像素与边界像素的相关性更高,因此偏移也是如此。依据NPO,偏移可以适应像素位置。导出的偏移将在PU上进行调整,并且与运动补偿预测子一起独立地应用于每个PU位置。
局部照明补偿(Local Illumination Compensation,LIC)
局部照明补偿(LIC)是使用当前块和参考块的相邻样本来执行画面间预测的方法。它基于使用比例因子a和偏移b的线性模型。该方法透过参考当前块和参考块的相邻样本来导出缩放因子a和偏移b。当前块和参考块的相邻样本对应于L形,包括当前块和参考块左侧的相邻像素和上方的相邻像素。在导出缩放因子a和偏移b之后,依据l(x,y)=a*r(x,y)+b导出LIC处理的像素l(x,y),其中r(x,y)对应于运动补偿的参考数据。此外,可以针对每个CU自适应地启用或禁用LIC过程。
关于LIC的更多细节可以在JVET-C1001中找到(Xu Chen,et al.,“AlgorithmDescription of Joint Exploration Test Model 3”,Joint Video Exploration Team(JVET)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC29/WG 11,3rd Meeting:Geneva,CH,26May–1June 2016,Document:JVET-C1001)。
传统的子PU时间运动矢量预测(Sub-PU TMVP)
为了提高编码效率,在合并模式中应用子PU时间运动矢量预测(Sub-PU TMVP)(子PU时间运动矢量预测,也称为高级时间运动矢量预测(ATMVP))模式。也就是说,Sub-PUTMVP是用于合并模式的合并候选。如图9所示,与传统时间候选不同,Sub-PU TMVP模式将当前PU分割为多个Sub-PU,并找到每个Sub-PU的所有对应的时间并置运动向量。尺寸为MxN的当前PU具有(M/P)×(N/Q)个子PU,每个子PU的尺寸为PxQ,其中M可被P整除,并且N可被Q整除。图9对应于当前PU 910被分割为16个子PU的情况(即,M/P=4且N/Q=4)。子PU 0(911)和子PU 1(912)被指示。子PU TMVP的详细算法描述如下。子-PU TMVP的详细算法描述如下。
在步骤1中,对于当前PU 910,针对子PU TMVP模式确定表示为vec_init的“初始运动矢量”。例如,vec_init可以是当前PU 910的第一可用空间相邻块的MV。或者,其他相邻块的MV也可以用作初始运动矢量。传统上,vec_init是空间相邻块中的第一个可用候选者。例如,如果第一可用空间相邻块具有L0和L1 MV,并且LX是用于搜索并置信息的第一列表,则当LX=L0时vec_init使用L0 MV,或者当LX=L1时vec_init使用L1。LX(L0或L1)的值取决于哪个列表(L0或L1)更适合并置信息。如果L0对于并置信息(例如,POC(图像顺序计数)距离比L1更近)更好,则LX等于L0,反之亦然。可以在切片级别,砖级别(brick level),切片组级别或图像级别执行LX分配。
然后开始“并置图像搜索过程”。“并置图像搜索过程”是为Sub-PU TMVP模式中的所有子PU找到主要并置图像。主要并置图像表示为main_colpic。传统上,它首先搜索由第一可用空间相邻块选择的参考图像。然后,在B切片中,它搜索从L0(或L1),参考索引0,然后参考索引1,然后参考索引2依此类推(增加索引顺序)开始的当前图像的所有参考图像。如果它完成搜索L0(或L1),则它搜索另一个列表。在P切片中,它首先搜索由第一可用空间相邻块选择的参考图像。然后,它从参考索引0,然后参考索引1,然后搜索索引2,依此类推(增加索引顺序)开始搜索列表的当前图像的所有参考图像。
在搜索期间,对于每个搜索到的图像,执行名为“可用性检查”的过程。“可用性检查”过程检查由vec_init_scaled指向的当前PU的中心位置周围的并置子PU,其中vec_init_scaled是具有来自vec_init的适当MV缩放的MV。可以使用各种方式来确定“围绕中心位置”。“围绕中心位置”可以对应于中心像素。例如,如果PU尺寸是M*N,则中心等于位置(M/2,N/2)。“围绕中心位置”也可以对应于中心子PU的中心像素。“围绕中心位置”可以是取决于当前PU形状的上述两种方法的混合。在“可用性检查”中,如果检查结果是Inter模式,则可用性为真;否则(检查结果是画面内模式),则可用性为假。在“可用性检查”之后,如果可用性为真,则将当前搜索到的图像标志为主并置图像并且搜索过程结束。如果可用性为真,则使用“围绕中心位置”的MV并针对当前块缩放以导出“默认MV”。如果可用性为假,则它将搜索下一个参考图像。
在“并置图像搜索过程”期间,当vec_init的参考图像不等于原始参考图像时,需要MV缩放。MV缩放过程是使用运动矢量的缩放版本。基于当前图像与vec_init的参考图像,当前图像与和搜索的参考图像之间的时间距离分别缩放MV。在MV缩放之后,缩放的MV被表示为vec_init_scaled。
在步骤2中,对于每个子PU,它还在main_colpic中进一步找到并置位置。假设当前Sub-PU是Sub-PU i,则计算并置位置,如下所示:
collocated location x=Sub-PU_i_x+vec_init_scaled_i_x(integer part)+shift_x,
collocated location y=Sub-PU_i_y+vec_init_scaled_i_y(integer part)+shift_y.
在上述等式中,Sub-PU_i_x表示当前图像内的子PU i的水平左上位置(整数位置),Sub-PU_i_y表示当前图像内的子PU i的垂直左上位置(整数位置),vec_init_scaled_i_x表示vec_init_scaled_i的水平部分,它有整数部分和小数部分,我们在计算中只使用整数部分,而vec_init_scaled_i_y表示vec_init_scaled_i的垂直部分,它有整数部分和小数部分,我们只使用整数部分计算。shift_x表示移位值。shift_x可以是子PU宽度的一半。shift_y表示移位值。在一个示例中,shift_y可以是子PU高度的一半,但是也可以使用其他方法。
最后,在步骤3中,它找到每个子PU的运动信息时间预测子,其被表示为SubPU_MI_i。SubPU_MI_i是来自并置位置x和并置位置y上的collocated_picture_i_L0和collocated_picture_i_L1的运动信息(MI)。这里MI被定义为{MV_x,MV_y,参考列表,参考索引和其他合并模式敏感信息(例如局部照明补偿标志)}的集合。此外,在一个示例中,可以依据并置图像,当前图像和参考图像的并置MV之间的时间距离关系来缩放MV_x和MV_y。如果MI不可用于某些Sub-PU,则将使用围绕中心位置的Sub-PU的MI(换句话说,使用默认MV)。
传统上,候选列表中仅存在一个Sub-PU TMVP候选者。
空间-时间运动矢量预测(STMVP)
在JEM-3.0(Chen et al.,“Algorithm Description of Joint ExplorationTest Model 3”,Joint Video Exploration Team(JVET)of ITU-T SG 16WP 3and ISO/IECJTC 1/SC 29/WG 11,3rd Meeting:Geneva,CH,26May–1June 2016,Document:JVET-C1001),空间-时间运动矢量预测(STMVP)也包括在合并模式编码中。在STMVP中,透过使用时间运动矢量预测器和空间相邻运动矢量,在光栅扫描顺序之后递归地导出子CU的运动矢量。图10说明了STMVP的概念。让我们考虑包含四个4×4子CU,A,B,C和D的8×8CU 1010。当前帧中的相邻N×N块标志为a,b,c和d。子CU A的运动推导透过识别其两个空间相邻开始。第一个相邻是子CU A之上的NxN块(块c)。如果该块c不可用或者是画面内编码,则检查子CUA上方的其他N×N块(从左到右,从块c开始)。第二相邻是子CU A左侧的块(块b)。如果块b不可用或者是画面内编码,则检查子CU A左侧的其他块(从上到下,从块b开始)。从每个列表的相邻块获得的运动信息被缩放到给定列表的第一参考帧。接下来,透过遵循与HEVC中指定的TMVP推导相同的过程来导出子块A的时间运动矢量预测器(TMVP)。位置D处的共同定位块的运动信息被获取并相应地被缩放。最后,在检索和缩放运动信息之后,对每个参考列表分别平均所有可用运动矢量(最多3个)。平均运动矢量被指定为当前子CU的运动矢量。
PMVD模式或FRUC模式
PMVD模式(或称为PMMVD或FRUC(帧速率上转换)模式)是一种编码工具,其可以使用L形模板或双侧模板来细化合并模式的MV并且保存比特MVD。FRUC的细节在JETM3(“Algorithm Description of Joint Exploration Test Model 3”,in Joint VideoExploration Team(JVET)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11:3rdMeeting:Geneva,CH,26May–1June 2016)。与FRFUC相关的特定部分是第2.3.7节:模式匹配的运动矢量推导。
PMVD模式不限于JVET文文件中的描述,使用基于模式的细化作为PMVD行为的任何画面间模式工具也可以表示为PMVD或FRUC模式。
LM色度模式
画面内预测器通常被设计为利用图像中的空间特征,诸如平滑区域(DC模式),垂直线或边缘,水平线或边缘以及对角线或边缘。此外,亮度和色度分量之间经常存在空间相关性。因此,重建的亮度像素可用于导出画面内色度预测。在新兴的高效视频编码(HEVC)中,已经考虑了基于重建的亮度信号的色度画面内预测模式。这种类型的色度画面内预测被称为线性模型(Linear Model,LM))预测。图11标出了LM模式的画面内预测推导。首先,使用图11中的并置亮度块(即,Y块)的相邻重建像素(由圆圈表示)和色度块(即,U或V块)的相邻重建像素(由圆圈表示),以导出块之间的线性模型参数。使用亮度块的参数和重建像素生成色度块的预测像素。在参数推导中,使用与当前亮度块的顶部块边界相邻的顶部重建像素列和与当前亮度块的左块边界相邻的左重建像素行。注意,使用来自左边界的第二左重建像素行而不是紧邻左边界的左行,以匹配色度像素的采样位置。使用亮度块的特定列和行以匹配色度分量的4:2:0采样格式。虽然图11示出了用于4:2:0采样格式的LM色度模式的示例,但是用于其他色度采样格式的LM色度模式也可以类似地导出。
依据LM预测模式,从共同定位块的重建亮度值预测色度值。色度分量可以具有比亮度分量低的空间分辨率。为了将亮度信号用于色度画面内预测,可能必须降低亮度信号的分辨率以与色度分量的分辨率匹配。例如,对于4:2:0采样格式,U和V分量仅具有垂直和水平方向上的样本数量的一半作为亮度分量。因此,必须将垂直和水平方向上的2:1分辨率降低应用于重建的亮度样本。降低分辨率可以透过下采样过程或子采样过程来实现。
在LM色度模式中,对于具有其并置的重构亮度样本Vcol的待预测色度样本V,用于生成LM预测值P的线性模型公式如下:
P=a·Vcol+b
在上面的等式中,a和b被称为LM参数。可以从当前块周围的相邻重构亮度和色度样本导出LM参数,使得不需要在比特流中对参数进行编码。在导出LM参数之后,可以依据线性模型从当前块中的并置重构亮度样本生成色度预测值。例如,如图11所示,如果视频格式是YUV420,则每个8×8编码单元有一个8×8亮度块(1110)和两个4×4色度块(1120和1130)。在图11中,每个小方形对应于当前编码单元(用于亮度的2Nx2N和用于色度的NxN)中被编码的一个像素。首先基于当前编码单元的相邻重建样本导出LM参数,其在图11中表示为圆圈。由于YUV420采样格式,并置的色度位置位于两个对应的垂直亮度样本之间。两个对应的垂直亮度样本之间的平均值用于导出LM参数。对于顶部块边界上方的相邻像素,平均值被垂直方向上的最接近的样本替换,以便减少行缓冲器要求。如图11所示,当前亮度(Y)和色度(U或V)编码单元的相邻像素(如圆圈所示)用于导出各个色度分量的LM参数。导出LM参数之后,基于线性模型和并置的亮度重构样本生成色度预测值。依据视频格式,可以使用平均亮度值代替相应的亮度样本。
虽然QTBT提供灵活的分割并且导致改进的编码性能,但QBQT也增加了计算复杂性。此外,使用更高分辨率视频内容的趋势也导致增加的计算复杂性和高缓冲要求。期望开发用于彩***的块分割和语法传信技术以降低计算复杂性和/或缓冲要求。
发明内容
依据本发明的实施方式,公开了一种在视频编码和解码中用于块分割的方法和装置。依据本发明的一种方法,与当前图像中的当前数据单元相关联的输入数据被接收,其中与当前数据单元相关联的输入数据对应于当前数据单元的像素数据。当前数据单元包括亮度分量和一个或多个色度分量,并且当前数据单元包括亮度数据单元和色度数据单元,或者当前数据单元包括亮度分量块和一个或多个色度分量块。使用推断分割将当前数据单元分割为多个初始块而不进行分割语法传信,其中多个初始块包括多个初始亮度块和多个初始色度块,并且其中初始亮度块的尺寸是MxN,M和N是正整数,以及当前数据单元大于用于亮度分量的MxN。确定分割结构,用于将初始块的初始亮度块和一个或多个初始色度块分别分成一个或多个亮度编码单元(CU)和一个或多个色度CU。与当前数据单元中的一个初始块相关联的一个或多个亮度语法和一个或多个色度语法被发送或被解析,然后与当前数据单元中的一个下一个初始块相关联的一个或多个亮度语法和一个或多个色度语法被发送或被解析。当前数据单元可以对应于CTU(编码树单元)。此外,对于亮度分量,CTU可以具有对应于128×128或256×256的块尺寸,并且M和N等于64。在一个实施例中,如果存在多于一个色度分量,则色度分量数据共享相同的编码树分割。在一个实施例中,当当前切片是I切片时或当当前切片是I切片并且启用非编码树共享时,应用推断的分割。
分割结构可以包括用于每个初始块的独立的编码树,以在每个初始块中分割亮度块和一个或多个初始的色度块。可以使用四叉树(quadtree,QT)将当前数据单元分割为具有块尺寸等于M×N的多个初始亮度块。
在一个实施例中,在与当前数据单元中的一个初始块相关联的一个或多个色度语法之前,与当前数据单元中的一个初始块相关联的一个或多个亮度语法被发送或被解析。
在一个实施例中,MxN对应于预定义或导出的块尺寸,或最大变换单元(transformunitm,TU)尺寸,或与最大TU尺寸或最小TU尺寸相关的尺寸。可以在序列级别,图像级别,切片级别,砖级别,砖片(tile)组级别或砖片级别,与M和N相关的信息可被发送。
在一个实施例中,一个或多个共享或独立语法被发送或被解析以用于当前数据单元,以指示当前数据单元是使用编码树共享还是非编码树共享。如果所述一个或多个共享或独立语法指示当前数据单元使用编码树共享,则当前数据单元内的所有编码单元使用编码树共享。如果所述一个或多个共享或独立语法指示当前数据单元使用非编码树共享,则当前数据单元内的所有编码单元使用非编码树共享。
在一个实施例中,一个或多个共享或独立语法被发送或被解析以用于当前数据单元,以指示当前数据单元是使用编码树共享还是非编码树共享。如果所述一个或多个共享或独立语法指示当前数据单元使用编码树共享,则当前数据单元内的所有编码单元使用编码树共享。如果所述一个或多个共享或独立语法指示当前数据单元使用非编码树共享,则当当前数据单元大于MxN以用于亮度分量时,使用推断分割将当前数据单元分割为多个初始块而不使用分割语法传信;确定分割结构以用于将初始块的初始亮度块和一个或多个初始色度块分别分成一个或多个亮度CU和一个或多个色度CU。
依据另一种方法,使用一个共享树来分割亮度数据单元和色度数据单元,直到亮度数据单元和色度数据单元到达停止节点。如果停止节点大于MxN以用于亮度分量,则停止节点被编码或解码为叶编码单元,M和N是正整数。如果停止节点小于或等于亮度分量的MxN以用于亮度分量,则预测模式被发送或被解析以用于停止节点。
在一个实施例中,如果停止节点的预测模式对应于画面内模式,则一个或多个第一语法被发送或被解析,以指示停止节点是使用编码树共享还是非编码树共享。如果所述一个或多个第一语法指示停止节点使用编码树共享,则将停止节点指定为叶节点。此外,如果所述一个或多个第一语法指示停止节点使用非编码树共享,则进一步分割停止节点。可以在与停止节点相关联的一个或多个色度语法之前,与停止节点相关联的一个或多个亮度语法被发送或被解析。在又一实施例中,如果停止节点的预测模式对应于画面内模式或非画面间模式,则使用非编码树共享进一步对停止节点进行编码。
在另一实施例中,如果停止节点大于用于亮度分量的MxN,则停止节点的预测模式对应于画面内模式,并且停止节点使用编码树共享。在又一实施例中,如果停止节点大于用于亮度分量的MxN,则在停止节点的残差编码中,推断停止节点被分割为多个变换单元。在又一个实施例中,如果停止节点大于用于亮度分量的MxN,则停止节点的预测模式被推断为画面间模式或者不被允许是画面内模式。
附图说明
图1标出了使用四叉树结构将编码树单元(CTU)分割为编码单元(CU)的块分割的示例。
图2标出了依据高效视频编码(HEVC)的非对称运动分割(AMP),其中AMP定义了用于将CU分成PU的八种形状。
图3标出了二叉树分割结构使用的各种二进制分割类型的示例,其中可以使用分割类型将块递归地分割成两个较小的块。
图4示出了块分割及其对应的二叉树的示例,其中在二叉树的每个分割节点(即,非叶节点)中,一种语法用于指示哪种分割类型(水平或垂直)被使用,其中0表示水平分割,1表示垂直分割。
图5示出了块分割及其对应的四叉树加二叉树结构(QTBT)的示例,其中实线指示四叉树分割,虚线指示二叉树分割。
图6示出了双边模板MV细化(BTMVR)过程的示例,其在一些文献中也称为解码器侧MV细化(DMVR)。
图7示出了依据邻域导出预测偏移(Neighbouring-derived Prediction Offset,NPO)过程导出偏移的示例性实现。
图8示出了依据邻域导出预测偏移(NPO)过程导出偏移的另一示例性实现。
图9示出了用于将当前PU分割成多个子PU的子PU TMVP模式的实例,且发现每一子PU的所有对应时间并置运动向量。
图10示出了空间-时间运动矢量预测(STMVP)的概念。
图11标出了LM模式的画面内预测推导的示例。
图12示出了依据本发明实施例的具有块分割的示例性编解码***的流程图。
图13示出了依据本发明实施例的具有块分割的另一示例性编解码***的流程图。
具体实施方式
以下描述是实现本发明的最佳方案。进行该描述是为了说明本发明的一般原理,而不应被视为具有限制意义。参考所附权利要求能最佳确定本发明的范围。
更高分辨率视频格式的使用正成为各种应用的趋势。因此,用于更高分辨率视频格式的视频压缩变得更加重要。在下一代视频编码中,CTU尺寸和最大TU尺寸分别大于64x64和32x32。例如,CTU尺寸可以是128x128或256x256,并且对于亮度,最大TU尺寸可以是64x64或128x128,对于色度分量,最大TU尺寸可以是32x32或64x64。然而,如果我们想要重用HEVC解码器结构(例如32x32或64x64解码器流水线),则可能必须修改一些语法设计或编码/解码算法以支持更大的CTU和更大的TU。
在用于大CTU的视频编码***设计中,如果CTU尺寸大于最大TU尺寸,则存在两种分割方法。一个是隐含地将CTU分成尺寸等于最大TU尺寸,或预定义,导出或发送的尺寸的CU,然后明确地发送CU分割语法。即使当CU尺寸大于最大TU尺寸时,另一个也明确地发送CU分割语法。如果叶CU尺寸大于最大TU尺寸,则在残差编码中,推断当前CU被分成多个TU,其尺寸等于最大TU尺寸,或预定义,导出或发送的尺寸。
在亮度/色度独立编码中,首先编码亮度CTB,然后对色度CTB进行编码(即,Cb和CrCTB)。如果亮度CTB尺寸为128x128或256x256且色度CTB尺寸为64x64或128x128,则具有在每个流水线阶段处理或者每个管道缓冲器中处理64x64亮度纹理/残差缓冲器和/或两个32x32色度纹理残留缓冲器能力的传统的64x64流水线解码器架构是不合适的。例如,128x128亮度CU可以隐式地分割为四个64x64 CU,并且64x64色度CU也可以隐式地分割为四个32x32 CU。然而,在比特流中,顺序地用信号通知四个亮度CU。在解码器中,它不能一起接收64x64亮度纹理/残差和相应的32x32色度纹理/残差,因为32x32色度纹理/残差在4个64x64亮度纹理/残差块之后被发送。因此,传统的64×64流水线解码器架构不适合或需要针对具有大CTU的亮度/色度独立编码进行修改。CTU是用于编码过程的“数据单元”的示例。其他术语也可以用作其他视频编码***中的数据单元。
为了重用传统的64×64(或更小)流水线解码器架构,重新排序与MxN块交错的亮度/色度分量相关语法(例如,残差,量化级别,预测模式,编码参数)的技术在应用亮度/色度独立编码时公开了。MxN块可以是预定义的或导出的块尺寸(亮度样本分辨率中的64×64块),最大TU尺寸,与最大/最小TU尺寸相关的尺寸,或者具有等于MxN的区域的块。MxN还可以在SPS,PPS,切片级别,砖级别,砖片(tile)组级别或砖片级别被发送。为方便起见,MxN块在本公开中也称为“工作块”。可以理解,工作块的亮度分量的尺寸是M×N。工作块的色度分量的尺寸取决于颜色格式。例如,对于YUV420格式,色度(即,U或V)块的尺寸是M/2×N/2。首先,对MxN块内的亮度语法进行编码,然后对与M×N块相关联的色度语法进行编码。在M×N块内,亮度和色度分量可以具有不同的编码树(例如,不同的块分割)。在这种情况下,CTU也被称为在本公开中使用“非编码树共享”。在一个实施例中,当应用独立的编码树时,推断CTU分成多个CU,并且每个CU具有多个M×N块。在一个示例中,四叉树分割用于推断的分割。对于每个M×N块,首先,亮度分量编码树被发送,然后色度分量编码被发送。
在一个示例中,如果亮度CTB尺寸是128x128并且色度CTB尺寸是64x64,并且亮度的最大TU尺寸是64x64并且对于色度是32x32,则推断CTU分成四个CU。四个64x64亮度CU和四个32x32色度CU以交错的方式被发送。例如,64x64亮度CU之后是32x32色度CU(包括一个32x32 Cb CU和一个32x32 Cr CU),并且之后编码三对{64x64亮度CU,32x32色度CU}。64x64亮度CU和32x32色度可以进一步分成子CU。在一个实施例中,仍然可以应用亮度/色度独立编码的概念。64x64亮度CU和32x32色度CU可以具有不同的编码树。换句话说,依据本发明的实施例,独立的树分割可以从64×64-亮度/32×32-色度单元开始而不是从CTU开始。对于色度编码树,Cb和Cr分量数据共享相同的分割树。例如,每个内切片(I切片)CTU首先被隐式地分成64×64亮度单元和32×32-色度单元。然后,每个64x64亮度和32x32色度单元的编码树是分开的,并且在每个64x64亮度单元和32x32色度单元内的色度语法之前,亮度语法被发送。在一个实施例中,在独立的色度编码树中,最小色度CU是4×4或最小色度CU尺寸/区域是16。2x2,4x2,2x4色度CU被禁用。在一个实施例中,上面提出的方法仅应用于I片,其中独立的编码树被应用。对于切片间,不应用所提出的方法。
在一个实施例中,在CTU级别一个或多个语法被发送以指示共享编码树是否应用于整个CTU。如果是,则CTU内的所有CU使用共享编码树。该CTU级标志也可以应用于画面间切片。如果选择独立的树,则CTU是具有独立树编码的画面内CTU。该CTU中的所有CU都是画面内CU,并使用独立的树进行编码。在另一实施例中,如果选择独立的树,则应用上述方法。例如,CTU被推断为分割为MxN个块。对每个M×N块应用独立的树编码。
在另一个实施例中,可以选择大CU(尺寸大于M×N的CU)。CTU不必被推断为分成多个MxN块。MxN块的尺寸可以是预定义的或导出的块尺寸,等于最大TU尺寸,与最大/最小TU尺寸相关的尺寸,或者具有区域等于MxN的块。还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中发送MxN。在该实施例中,CU分割语法在CTU级别中被发送。如果CU尺寸大于MxN,则使用共享编码树。如果CU尺寸等于MxN块,则应用独立的编码树。在一个示例中,亮度CTB尺寸是128x128并且色度CTB尺寸是64x64,并且亮度的最大TU尺寸是64x64并且色度是32x32。CU分割语法在CTU级别被发送。如果叶CU大于64×64(例如,128×128CU),则依据用于残差编码的推断的分割或发送的TU分割语法将CU分成若干个TU。TU尺寸应等于或小于最大TU尺寸。对于每个TU,首先亮度系数被发送,然后色度系数被发送。
如果CU尺寸大于64×64,则应用共享编码树。例如,在128×128CU中,如果分割旗标为真或分割语法指示CU被分割,则使用相同的分割方法同时分割亮度CU和色度CU。换句话说,亮度CU和色度CU共享相同的编码树。它也被称为CU使用“共享编码树”或CU使用“编码树共享”。当CU尺寸等于64x64时,应用独立的编码树。对于64x64块,64x64亮度CU和32x32色度CU可以具有不同的编码树。换句话说,依据该实施例,独立的树分割可以从64×64-亮度/32×32-色度单元开始而不是从CTU开始。对于大于64x64的块,应用共享编码树。
在一个实施例中,在独立的色度编码树中,最小色度CU是4×4或最小色度CU尺寸/区域是16。禁用2x2,4x2,2x4色度CU。在一个实施例中,上面提出的方法仅应用于I片,其中应用独立的编码树。对于画面间切片,不应用上面提出的方法。在一个实施例中,在CTU级别一个或多个语法被发送以指示编码树共享是否应用于整个CTU。如果是,则CTU内的所有CU使用共享编码树。换句话说,CTU的每个CU内的亮度和色度分量共享编码树。
在另一实施例中,对于I切片编码,共享编码树被应用为默认值。分割语法在CTU级别开始发出信号。当CU尺寸大于M×N时,应用共享编码树。如果CU尺寸等于MxN,则一个或多个共享/独立的编码树语法(也称为共享或独立语法)被发送。MxN块可以是预定义或导出的块尺寸,该块尺寸等于最大TU尺寸,或者与最大/最小TU尺寸相关的尺寸。MxN还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被发送。如果选择了编码树共享,则该MxN内的亮度和色度CU分割使用共享编码树。如果应用非编码树共享,则该MxN内的亮度和色度CU分割使用独立的编码树。否则,共享树用于此MxN区域。MxN不能大于最大TU尺寸。
在一个实施例中,在CTU级别一个或多个语法被发送以指示编码树共享是否应用于整个CTU。如果是,则CTU内的所有CU都使用编码树共享。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的所有画面内区域是否使用编码树共享。如果是,则CTU内的所有画面内区域使用共享编码树。在另一实施例中,在CTU级别一个或多个语法被发送以指示MxN尺寸的CTU的内的所有画面内区域是否使用编码树共享。如果是,则CTU内的MxN尺寸内的所有画面内区域使用编码树共享。在这种情况下,每个区域中的亮度和色度分量共享编码树。否则,CTU内MxN尺寸内的所有画面内区域使用非编码树共享。在一个实施例中,在独立的色度编码树中,最小色度CU是4×4。
在另一实施例中,对于I切片编码,共享编码树被应用为默认值。分割语法在CTU级别被发送。如果CU停止分割并且CU尺寸等于或小于MxN,则在每个叶CU中一个或多个共享/独立编码树语法(也称为共享或独立语法)被发送。MxN块的尺寸可以是预定义或导出的块尺寸,或等于最大TU尺寸,或者与最大/最小TU尺寸相关的尺寸。MxN还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被发送。在该实施例中,在CTU级别CU分割语法被发送。当选择共享编码树时,它暗示了画面内CU。如果应用独立的编码树,则在一个或多个共享/独立的编码树语法之后,分割语法和独立的亮度/色度CU编码被发送。在一个示例中,如果选择独立的编码树(即,非编码树共享),则推断第一亮度CU以进行分割。在这种情况下,仅分割模式被发送。在另一示例中,如果未分割亮度CU,则将色度CU推断为分割。在这种情况下,仅分割模式被发送。在一个实施例中,如果CU尺寸等于或小于OxP,则独立的编码树语法不被发送。推断应用共享编码树。OxP可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被预定义或发送。对于大于M×N的叶CU尺寸,应用共享编码树。所提出的方法也可以应用于画面间切片编码。在一个实施例中,在CTU级别一个或多个语法被发送以指示共享编码树是否应用于整个CTU。如果是,则CTU内的所有CU使用共享编码树。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的所有画面内区域是否使用共享编码树。如果是,则CTU内的所有画面内区域使用共享编码树(即,编码树共享)。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的MxN尺寸内的所有画面内区域是否使用共享编码树(即,编码树共享)。如果是,则CTU内的MxN尺寸内的所有画面内区域使用独立的编码树(即,非编码树共享)。在一个实施例中,在独立的色度编码树中,最小色度CU是4×4或者最小色度CU尺寸/区域是16个样本。
在另一实施例中,具有独立的编码树的I切片的CTU尺寸被约束为不大于MxN。MxN可以是预定义或导出的块尺寸,等于最大TU尺寸,或者与最大/最小TU尺寸相关的尺寸。MxN还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中发送。对于层间切片,CTU尺寸可以不受约束地小于或等于MxN。例如,CTU尺寸可以大于画面间切片的MxN。
在本发明中,独立的编码树也可以应用于画面间切片。将独立的编码树应用于画面内编码CU,该CU尺寸等于或小于M×N。MxN块可以是预定义或导出的块尺寸,等于最大TU尺寸,或者与最大/最小TU尺寸相关的尺寸。MxN还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别被发送。当CU大于MxN时,应用共享编码树。如果分割标志为真或分割语法指示CU被分割,则亮度CU和色度CU利用相同的分割而同时为被分割。
当CU等于M×N时,语法被发送以指示独立的编码树(即,非编码树共享)是否应用于该M×N块。在一个示例中,独立的编码树仅用于画面内CU。如果MxN块选择使用独立的编码树,则MxN内部的CU的预测模式都被推断为画面内模式。在另一示例中,将独立的编码树应用于该M×N区域内的画面内区域。如果M×N块选择使用独立的编码树,则使用独立的编码树,该M×N区域内的画面内编码块被推断。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的所有画面内区域是否使用共享编码树。如果是,则CTU内的所有画面内区域使用共享编码树。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的MxN尺寸内的所有画面内区域是否使用共享编码树。如果是,则CTU内的MxN尺寸内的所有画面内区域使用独立的编码树。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的MxN尺寸内的所有画面内区域是否使用画面内编码并使用独立的树编码。如果是,则CTU内的所有CU使用画面内模式编码,并且在每个MxN块内,应用独立的树编码。在一个示例中,推断选择独立树编码的CTU以分成多个M×N块。可以使用QT分割。在一个实施例中,对于独立的色度编码树,最小色度CU是4×4。
在另一实施例中,当CU大于M×N时,应用共享编码树。如果叶CU大于M×N,则不应用独立的编码树(例如,共享编码树)。在残差编码中,推断CU被分成TU。在一个示例中,当CU未被进一步分割时,预测模式被发送。如果选择画面内模式并且CU尺寸等于或小于M×N,则一个或多个其他独立语法被发送。如果进一步分割CU,则应用独立的编码树。在一个示例中,已发送的分割语法用于亮度分量。如果CU未被进一步分割,则它是画面内叶CU。在另一示例中,当CU未被进一步分割时,预测模式被发送。如果画面内模式被选择并且CU尺寸等于或小于M×N,则一个或多个独立的编码树语法(也称为共享或独立语法)被发送以指示该CU是否使用独立的编码树。如果不是,则是画面内叶CU。如果是,则应用独立的编码树。对于CU,亮度分量和色度分量可以具有不同的编码树。在色度分量语法之前,亮度分量语法被发送。该CU内的所有子CU都被推断为画面内模式或非画面间模式。当CU尺寸大于MxN或预测模式是画面间模式(或画面内块复制模式)时,独立的编码树语法(例如,指示是否应用独立编码的标志)不被发送,并将其推断为未应用。在一个示例中,如果选择独立的编码树,则第一亮度CU推断为被分割。在这种情况下,仅分割模式被发送。在另一示例中,如果亮度CU未被分割,则将色度CU推断为分割。在这种情况下,仅分割模式被发送。在另一示例中,当选择画面内模式并且CU尺寸等于或小于M×N时,总是应用独立的编码树。在该CU中,除了CU是最小CU之外,分割语法始终被发送。如果叶CU尺寸大于MxN并且是画面内编码的,则对于残差编码,CU被分成多个TU(例如,透过推断的分割或已发送的TU分割语法),使得TU尺寸应等于或小于最大TU尺寸。对于每个TU,亮度系数被发送,然后色度系数被发送。
在一个实施例中,如果CU尺寸等于或小于OxP,则独立的编码树语法(也称为共享或独立语法)不被发送。推断应用共享编码树。OxP可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被预定义或发送。在一个实施例中,在独立的色度编码树中,最小色度CU是4×4。在一个实施例中,在CTU级别一个或多个语法被发送以指示共享编码树是否应用于整个CTU。如果是,则CTU内的所有CU使用共享编码树。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的所有画面内区域是否使用共享编码树。如果是,则CTU内的所有画面内区域使用独立的编码树。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的MxN尺寸内的所有画面内区域是否使用共享编码树。如果是,则在CTU内的MxN尺寸内的所有画面内区域(例如,尺寸小于或等于MxN且具有画面内模式的叶CU)使用独立的编码树(即,非编码树共享)。在另一实施例中,在CTU级别一个或多个语法被发送以指示CTU是否是具有独立树编码的画面内CTU。如果是,则该CTU中的所有CU都是画面内CU并且用独立的树编码。
在又一实施例中,当CU大于M×N时,应用共享编码树。CU分割语法以CTU级别的信号格式发送。如果CU未被进一步分割并且叶CU大于MxN,则预测模式被推断为画面间模式,或者画面内模式不能被选择(例如,比特流一致性阻止选择画面内模式被选择)。如果CU停止分割并且叶CU等于或小于MxN,则预测模式被发送或导出。如果画面内模式被选择并且CU尺寸等于或小于M×N,则一个或多个独立的编码树语法(也称为共享或独立语法)被发送以指示该画面内CU是否使用独立的编码树。如果否,则将该CU指定为画面内叶CU(即,不再进一步分割)。如果是,则独立的编码树(即,非编码树共享)被应用。对于该CU,亮度分量和色度分量可以具有不同的编码树。在色度分量语法之前,亮度分量语法被发送。该CU内的所有子CU都被推断为画面内模式。当CU尺寸大于M×N或预测模式是画面间模式时,独立的编码树语法(例如,一个标志指示是否应用独立编码)不被发送,并且将其推断为未应用。
在一个实例中,如果选择独立的编码树,则将第一亮度CU推断为分割。在这种情况下,仅分割模式被发送。在另一示例中,如果亮度CU未被分割,则将色度CU推断为分割。仅分割模式被发送。在另一示例中,当画面内模式被选择并且CU尺寸等于或小于M×N时,总是应用独立的编码树(即,非编码树共享)。在该CU中,除了CU是最小CU的情况之外,分割语法始终被发送。在一个实施例中,如果CU尺寸等于或小于0xP,则独立的编码树语法(也称为共享或独立语法)不被发送。推断应用共享编码树。OxP可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被预定义或发送。在一个实施例中,在CTU级别一个或多个语法被发送以指示共享编码树是否应用于整个CTU。如果是,则CTU内的所有CU使用共享编码树。在一个实施例中,在独立的色度编码树中,最小色度CU是4×4。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的所有画面内区域是否使用共享编码树。如果是,则CTU内的所有画面内区域使用独立的编码树。在另一实施例中,在CTU级别一个或多个语法被发送以指示该CTU的MxN尺寸内的所有画面内区域是否使用共享编码树。如果是,则CTU内的MxN尺寸内的所有画面内区域使用独立的编码树。在一个实施例中,在独立的色度编码树中,最小色度CU是4×4。
在又一实施例中,对于层间编码,在M×N块级别中一个或多个独立的树语法被发送。MxN块可以是预定义或导出的块尺寸,等于最大TU尺寸,或者与最大/最小TU尺寸相关的尺寸。MxN还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被发送。如果选择共享树编码,则该MxN区域中的所有CU使用共享树编码。如果选择独立的树编码,则MxN区域内的画面内CU使用独立的树编码。例如,在该MxN区域内,如果CU停止分割,则画面间/画面内模式被发送。如果CU处于画面内模式并且独立的树编码被应用,则用于亮度和色度分量的进一步分割语法被发送。注意,仍然可以应用QT/BTT约束。如果画面内CU透过BT或TT分割而被分割,则亮度和色度编码树只能使用BT和/或TT分割进一步分割。在另一示例中,如果画面内CU透过BT或TT分割而被分割,则可以使用QT,BT和/或TT分割来进一步分割亮度和色度编码树。如果选择独立的树编码,则在独立的色度编码树中,最小色度CU是4×4。
在又一实施例中,对于层间编码,在CTU级别中一个或多个独立的树语法被发送。如果共享编码树被选择,则使用共享树编码对所有CU进行编码。如果独立的树编码(即,非编码树共享)被选择,则该CTU中的画面内CU使用独立的树编码。在另一示例中,如果选择独立的树编码,则除了具有大于M×N的尺寸的画面内CU之外,CTU内的画面内CU使用独立的树编码。例如,当使用共享编码树对尺寸大于M×N的画面内CU进行编码时,画面内CU实际上是叶画面内CU。画面内CU被分成一个或多个TU。TU的尺寸应小于MxN。MxN块可以是预定义或导出的块尺寸,或等于最大TU尺寸,或者与最大/最小TU尺寸相关的尺寸。MxN还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被发送。例如,如果CU停止分割,则发信号通知画面间/画面内模式。如果CU是画面间编码CU或画面内编码CU并且尺寸大于MxN,则其使用共享树编码(即,编码树共享)。如果CU是画面内编码CU并且尺寸小于或等于M×N并且为该CTU选择独立的树编码,则用于亮度和色度分量的进一步分割语法被发送。注意,仍然可以应用QT/BTT约束。如果画面内CU透过BT或TT分割而被分割,则亮度和色度编码树只能使用BT和/或TT分割进一步分割。在另一示例中,如果画面内CU透过BT或TT分割进行分割,则可以使用QT,BT和/或TT分割来进一步分割亮度和色度编码树。如果独立的树编码被选择,则在独立的色度编码树中,最小色度CU是4×4。
在另一实施例中,在I切片编码中,如果亮度CTB尺寸是128x128并且色度CTB尺寸是64x64,并且亮度的最大TU尺寸是64x64并且对于色度是32x32,则即使当CU尺寸大于最大TU尺寸时,CU分割被明确地被发送(例如,在128x128亮度CU和64x64色度CU中发送分割标志)。如果将128x128亮度CU分成四个64x64 CU,则在对第一个64x64CU进行编码之后,对色度分量进行编码/解码。第一个64x64 CU可以进一步拆分为子CU。如果64x64色度CU也被分成四个32x32 CU,则第一个32x32色度CU被编码/解码。第一个32x32色度CU也可以进一步分成子CU。在对第一32x32色度CU进行编码/解码之后,对第二64x64亮度CU进行编码/解码,并且对第二32x32色度CU进行编码/解码,依此类推。如果128x128亮度CU被分成四个64x64 CU但64x64色度未被分成子CU(色度TU被推断为四个32×32TU),则本发明的实施例对第一个64x64亮度CU进行编码/解码,然后对64x64色度CU和第一个32x32色度TU的模式信息进行编码/解码。在对第一个32x32色度TU进行编码/解码之后,对第二个64x64亮度CU进行编码/解码,并对第二个32x32色度TU进行编码/解码,依此类推。
当128x128亮度CU未被分割但是64x64色度CU被分割时,可以应用类似的概念。它首先对128x128亮度CU和第一个64x64亮度TU的模式信息进行编码/解码,然后对64x64色度CU和第一个32x32色度CU的分割语法进行编码/解码。在对第一个32x32色度CU进行编码/解码之后,对第二个64x64亮度TU进行编码/解码,并对第二个32x32色度CU进行编码/解码,依此类推。在另一实例中,如果未分割128x128亮度CU和64x64色度CU,则首先对128x128亮度CU的分割语法和模式信息进行编码/解码,然后对第一64x64亮度TU进行编码/解码。然后,对64×64色度CU和第一32×32色度CU的分割语法和模式信息进行编码/解码。在对第一个32x32色度TU进行编码/解码之后,对第二个64x64亮度TU进行编码/解码,对第二个32x32色度TU进行编码/解码,依此类推。本段中提出的方法和上段也可以应用于Inter-slice。在画面间编解码中,对于每个CU(不限于叶CU),在CTU级一个或多个独立的编码树语法被发送。如果应用独立的编码树,则应用本段和上段中提出的方法。可以将该CU中的所有子CU推断为画面内模式。在一个实施例中,在CTU级别一个或多个语法被发送以指示共享编码树是否应用于整个CTU。如果是,则CTU内的所有CU使用(即,编码树共享)。
在又一实施例中,对于画面间编码,在M×N块级别中确定是否使用独立的树。MxN块可以是预定义或导出的块尺寸,或等于最大TU尺寸,或与最大/最小TU尺寸相关的尺寸,或等于CTU尺寸。还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中发送MxN。当从CTU级编码/解码CU分割时,当对具有等于或大于MxN的CU尺寸(区域,宽度或高度)的画面内编码叶CU进行编码时,一个或多个独立的树语法被发送。如果独立的树被选择,则该画面内CU的区域使用独立的树编码。进一步的亮度/色度独立语法被发送。当CU分割到达MxN区域时,对应于使用独立树的语法被设置为假。当对具有小于M×N的CU尺寸(例如,区域,宽度或高度)的画面内编码叶CU进行编码并且表示使用独立树的语法等于假时,一个或多个独立的树语法被发送。如果独立的树被选择,则该MxN区域中的画面内CU使用独立的树编码。针对画面内CU,另外的亮度/色度独立语法被发送,并且将表示使用独立树的语法设置为等于真。在该MxN区域中,另一个独立的树语法不能被发送。换句话说,MxN区域中的独立树语法只能被发送一次。针对该MxN区域中的所有CU共享发送的语法。如果选择了共享树编码,则该MxN区域中的所有CU都使用共享树编码。如果选择独立的树编码,则该MxN区域中的画面内CU使用独立的树编码。注意,仍然可以应用QT/BTT约束。如果画面内CU透过BT或TT分割而被分割,则亮度和色度编码树的进一步分割仅可使用BT和/或TT分割。在另一示例中,如果画面内CU透过BT或TT分割而被分割,则亮度和色度编码树的进一步分割可以使用QT,BT和/或TT分割。如果独立的树编码被选择,则在独立的色度编码树中,最小色度CU是4×4。
在一个实施例中,独立的编码树不能应用于块尺寸大于M×N的块。MxN块可以是预定义或导出的块尺寸,等于最大TU尺寸,或者与最大/最小TU尺寸相关的尺寸。与MxN相关的尺寸信息也可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被发送。在另一个实施例中,独立的编码树只能应用于块尺寸等于或小于M×N的块。MxN块可以是预定义或导出的块尺寸,等于最大TU尺寸,或者与最大/最小TU尺寸相关的尺寸。MxN还可以在SPS,PPS,切片级别,砖级别,砖片组级别或砖片级别中被发送。当CU尺寸大于M×N时,应用共享编码树分割。在用于亮度和色度的独立分割的原始设计中,亮度和色度块的形状可以是不同的,因此亮度块可以跨越不同的色度块延伸,反之亦然。一个结果是必须独立处理亮度和色度块,并且可能需要将用于预测和重建的缓冲样本保存在存储器中直到整个单元被处理。另一方面,例如,如果所有亮度块不延伸跨越不同的色度块(即,每个亮度块完全在色度块内),则在处理特定色度块和其中的亮度块之后,用于处理该块的缓冲的样本可以被丢弃。为实现此目的,可以多次对亮度和色度应用相同的分割,然后禁用其中一个组件的进一步分割。是否禁用进一步分割可以显式地被发送或从当前块的尺寸或深度隐式地导出。
在一个实施例中,在每个亮度分割标志之前或之后,标志chroma_split_end被发送,指示色度分割是否在此时终止,并且后续分割将仅应用于亮度分量。在chroma_split_end为真之前,色度分割与亮度分割相同。标志chroma_split_end可以用于指示对应的分割标志表示应用于色度分量的最后分割,或者对应的分割标志和后续分割标志不适用于色度分量。在一个示例中,当到达亮度叶CU并且色度分割未被终止时(例如,chroma_split_end全部为假),chroma_split_end被推断为真,这意味着色度分量不再被分割。在另一示例中,当亮度分割到达亮度叶CU并且色度分割未终止时,应用chroma_split语法。色度分量可以进一步分割为更小的CU。当亮度分量是编码四叉树分割,二叉树分割或三元树分割时,可以chroma_split_end可以被发送或被推断。在一个示例中,当亮度分量编码四叉树分割时,可以chroma_split_end可以被发送或被推断。如果QT分割在BT和/或TT分割之前,则意味着当亮度分量进行QT分割时,色度分量需要遵循QT分割或停止分割。当亮度分量进行BT/TT分割时,色度可以自由地使用BT/TT分割。在另一示例中,可以在亮度QT叶CU之前停止色度QT分割,并且可以透过使用BT/TT分割,来进一步分割色度QT叶CU。
在另一实施例中,在每个分割标志之前或之后,标志luma_split_end被发送,以指示亮度分割是否在此时终止。随后的分割将仅应用于色度分量。luma_split_end标志可用于指示对应的分割标志表示应用于亮度组件的最后一个分割,或者对应的拆分标志和后续的拆分标志不适用于亮度组件。在一个示例中,当到达色度叶CU并且亮度分割未终止时(例如,luma_split_end全部为假),将luma_split_end推断为真,这意味着亮度分量不再被分割。在另一示例中,当色度分割到达色度叶CU并且亮度分割未终止时,应用luma_split语法。亮度分量可以进一步分割为更小的CU。在一些实施例中,还可以采用前面提到的chroma_split_end和luma_split_end标志。
可以使用QT深度和BT/TT深度概念。当透过QT/BT/TT分割分割CU时,QT深度/BT深度/TT深度增加1。BT深度和TT深度可以合并为CT深度(编码树-深度)。例如,当透过BT或TT分割来分割CU时,CT深度增加1。在一个实施例中,色度QT-深度不能大于亮度QT-深度加上阈值。阈值可以是零,正值或负值。在阈值等于零的示例中,如果其对应的亮度块的QT深度是2,则色度CU的最大QT深度不能大于2。可以透过语法约束来应用约束,例如,当色度QT深度达到最大QT深度时,没有QT分割语法,或者可以透过编码器约束应用QT分割语法,例如,比特流一致性要求色度QT深度不应大于最大QT深度。类似的约束可以应用于BT深度/TT深度/CT深度或总深度。例如,色度QT深度+CT深度不能大于其对应亮度块的QT深度+CT深度加上阈值。在一个示例中,它仅约束色度QT深度。色度BT/TT/CT深度独立于其对应的亮度CU。
在另一实施例中,使用语法chroma_split_end的类似概念可以透过使用另一种语法设计来实现。例如,首先对亮度编码树进行编码或解码。当对亮度叶CU进行编码时或在对亮度叶CU进行编码之后,对语法进行编码/解析以指示色度叶CU尺寸。语法可以与分割深度(例如,QT深度,BT深度,TT深度,CT深度和/或总深度)相关。例如,可以使用语法chroma_depth_above。如果chroma_depth_above等于0,则意味着使用相同分割的色度CU和亮度CU并且具有相同的CU尺寸。对于4:2:0格式,相同的CU尺寸意味着实际的色度CU尺寸是实际亮度CU尺寸的1/4。如果chroma_depth_above大于0(例如K,K>0),则意味着在深度K之前停止色度CU分割。例如,如果亮度叶CU具有等于3的QT深度并且CT深度等于0,则最大CTU尺寸为128,并且该亮叶CU的尺寸为16x16。如果chroma_depth_above等于1,则意味着色度CU尺寸为32x32。色度CU的QT深度是2。在该示例中,如果在该32×32区域中chroma_depth_above被发送,则chroma_depth_above语法不被发送以用于随后的亮度叶CU。例如,对于尺寸等于16×16(不一定是叶CU)的后续3个亮度QT CU,语法chroma_depth_above不被发送。在下一个32x32区域中的第一个亮度叶CU,语法chroma_depth_above不被发送。可以在第一亮叶CU之后或在32×32区域之后(32x32区域是基于上述示例chroma_depth_above值的示例)色度CU语法可被发送。
在另一实施例中,考虑色度LM模式。由于LM模式是压缩色度分量数据的强大编码工具,因此可以使用上面介绍的方法应用LM模式语法快捷方式。例如,当chroma_split_end等于1或者chroma_depth_above被发送时,可以应用LM语法。
在另一实施例中,提出了自适应色度模式语法。色度模式语法可以是画面内预测模式相关语法,运动信息或变换/残差相关语法。当色度CU尺寸或深度小于,等于或大于对应的亮度CU尺寸或深度时,色度语法次序/码字可以是不同的。例如,如果色度CU尺寸小于对应的亮度CU尺寸或者如果色度CU深度大于对应的亮度CU深度,则DM模式语法向后移动。例如,在最可能模式列表中向后移动DM模式候选,或者在正常语法位置之后移动DM模式语法。
在另一个实施例中,可以在诸如SPS,PPS,VPS或切片报头的高级语法中指定允许对亮度和色度进行统一分割的最大分割深度或最小块尺寸。一旦分割深度超过最大深度,或者块尺寸变得小于最小尺寸,则仅允许进一步分割亮度和色度分量中的一个。在另一实施例中,如果分割深度小于最大分割深度或者块尺寸大于最小块尺寸,则应用亮度和色度的统一分割。一旦分割深度超过最大深度,或者块尺寸变得小于最小尺寸,则应用独立的亮度/色度编码树。
在另一实施例中,亮度CU结构和色度CU结构应在编码单元分割方面具有一些相关性。为了减少编码运行时间并提高编码效率,色度CU分割应遵循亮度CU分割,但色度CU分割可以提前终止或可以进一步分割。例如,如果对应的亮度CU正在使用QT分割/BT垂直分割/BT水平分割,则色度CU具有两个选项。一种是遵循亮度分割类型,另一种是不分割。如果对应的亮度CU为未分割,则可进一步分割色度CU,或者在一个实施例中,分割色度CU不能被分割。可以在某些约束下推断提前终止标志或跟随分割标志。对于一个示例,第一K层,色度CU分割总是遵循亮度CU分割。在另一实例中,当CU尺寸大于MxN时,色度CU分割总是遵循亮度CU分割。在另一示例中,色度QT分割总是遵循亮度QT分割。早期停止标志仅适用于BT分割。
约束可以是自适应的。例如,K,M和N可以由解码的CU或相邻CU导出。
在另一实施例中,仅在色度CU和亮度CU具有相同QT深度时,应用所提出的引导CU分割,这意味着如果其QT叶CU具有相同尺寸,则色度BT分割遵循亮度BT分割。
在另一实例中,色度QT分割总是遵循亮度QT分割(即,共享相同的QT分割),但是对于BT分割没有约束。
注意,在本发明中,使用4:2:0色度格式。因此,对于64x64亮度块,其对应的色度块为32x32。所有描述都基于这种色度格式。所提出的方法还可以应用于不同的色度格式,例如4:4:4,4:2:2,4:0:0。在本发明中,可以一起应用一种或多种方法。
可以在编码器和/或解码器中实现任何前述提出的方法。例如,任何所提出的方法可以在编码器中的熵编码模块或块分割模块中实现,和/或在解码器中的熵解析器模块或块分割模块中实现。或者,任何所提出的方法都可以实作为耦合到编码器中的熵编码模块或块分割模块的电路,和/或解码器中的熵解析器模块或块分割模块,以便提供熵解析器模块或块分割模块所需的信息。
图12示出了依据本发明实施例的具有块分割的示例性编解码***的流程图。流程图中示出的步骤以及本公开中的其他后续流程图可以实现为在编码器侧和/或解码器侧的一个或多个处理器(例如,一个或多个CPU)上可执行的程序代码。流程图中示出的步骤还可以基于诸如被布置为执行流程图中的步骤的一个或多个电子设备或处理器的硬件来实现。依据该方法,在步骤1210中,与当前图像中的当前数据单元相关联的输入数据被接收,其中与当前数据单元相关联的输入数据包括亮度分量和色度分量。在步骤1220中,当当前数据单元大于MxN以用于亮度分量时,使用推断分割而不使用分割语法传信将当前数据单元分割为多个初始块,其中多个初始块中的每一个包括初始亮度块和初始值色度块,其中M和N是正整数。在步骤1230中,确定分割结构以用于将每个初始亮度块和每个初始色度块分别分成一个或多个亮度CU(编码单元)和一个或多个色度CU。在步骤1240中,与当前数据单元中的一个初始块相关联的一个或多个亮度语法和一个或多个色度语法被发送或被解析,然后与当前数据单元中的下一个初始块相关的一个或多个亮度语法或一个或多个色度语法被发送或被解析。
图13示出了依据本发明实施例的具有块分割的另一示例性编码***的流程图。依据该方法,在步骤1310中,接收与当前图像中的当前数据单元相关联的输入数据,其中与当前数据单元相关联的输入数据对应于编码器侧的当前数据单元的像素数据,或与当前数据单元相关联的输入数据对应于解码器侧的当前数据单元的已编码像素数据,并且其中当前数据单元包括亮度分量和色度分量,并且当前数据单元包括亮度数据单元和色度数据单元。在步骤1320中,使用一个共享树来分割亮度数据单元和色度数据单元,直到亮度数据单元和色度数据单元到达停止节点。在步骤1330中,如果停止节点大于MxN以用于亮度分量,则停止节点是编码或解码为叶CU(编码单元),其中M和N是正整数。在步骤1340中,如果停止节点小于或等于MxN以用于亮度分量,则针对停止节点,预测模式被发送或被解析。
所示的流程图旨在示出依据本发明的视频编码的示例。在不脱离本发明的精神的情况下,本领域通常知识者可以修改每个步骤,重新安排步骤,分割步骤,或组合步骤以实施本发明。在本公开中,已经使用特定语法和语义来说明用于实现本发明的实施例的示例。本领域通常知识者可以透过用等同的语法和语义替换语法和语义来实践本发明而不脱离本发明的精神。
呈现以上描述是为了使得本领域通常知识者能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域通常知识者来说是显而易见的,并且这里定义的一般原理可以应用于其他实施例。因此,本发明不限于所示出和描述的特定实施例,而是与符合本文所公开的原理和新颖特征的最宽范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域通常知识者将理解,可以实施本发明。
如上所述的本发明的实施例可以以各种硬件,软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电路或集成到视频压缩软件中的程序代码,以执行这里描述的处理。本发明的实施例还可以是要在数字信号处理器(DSP)上执行的程序代码,以执行这里描述的处理。本发明还可以涉及由计算器处理器,数字信号处理器,微处理器或现场可编程门数组(FPGA)执行的许多功能。这些处理器可以被配置为透过执行定义本发明所体现的特定方法的机器可读软件代码或韧体代码来执行依据本发明的特定任务。软件代码或韧体代码可以用不同的编程语言和不同的格式或样式开发。还可以针对不同的目标平台编译软件代码。然而,软件代码的不同代码格式,样式和语言以及配置代码以执行依据本发明的任务的其他装置将不脱离本发明的精神和范围。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的示例在所有方面都应被视为仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前面的描述表示。在权利要求的含义和等同范围内的所有变化都包含在其范围内。

Claims (24)

1.一种视频编解码方法,由视频编解码***使用,该方法包括:
接收与当前图像中的当前数据单元相关联的输入数据,其中与该当前数据单元相关联的该输入数据包括亮度分量和色度分量;
当当前数据单元大于用于该亮度分量的MxN时,使用推断分割将该当前数据单元分割为多个初始块,而不需要分割语法传信,其中该多个初始块中的每一个包括初始亮度块和初始色度块,并且其中M和N是正整数;
确定分割结构,用于将每个初始块的初始亮度块和初始色度块分别分成一个或多个亮度编码单元和一个或多个色度编码单元;以及
发送或解析与该当前数据单元中的一个初始块相关联的一个或多个亮度语法和一个或多个色度语法,然后发送或解析当前数据单元中与下一个初始块相关联的一个或多个亮度语法以及一个或多个色度语法。
2.根据权利要求1所述的视频编解码方法,其特征在于,该当前数据单元对应于编码树单元。
3.根据权利要求1所述的所述的视频编解码方法,其特征在于,该分割结构包括用于每个初始块的多个独立的编码树,以在每个初始块中分割该初始亮度块和该初始色度块。
4.根据权利要求1所述的视频编解码方法,其特征在于,在与该当前数据单元中的该一个初始块相关联的该一个或多个色度语法之前,与该当前数据单元中的该一个初始块相关联的该一个或多个亮度语法被发送或被解析。
5.根据权利要求1所述的所述的视频编解码方法,其特征在于,使用四叉树,该当前数据单元被分割为该多个初始块,该多个初始块的块尺寸等于MxN以用于亮度分量。
6.根据权利要求1所述的视频编解码方法,其特征在于,MxN对应于预定义或导出的块尺寸,或最大变换单元尺寸,或与最大变换单元尺寸或最小变换单元尺寸相关的尺寸。
7.根据权利要求1所述的视频编解码方法,其特征在于,在序列级别,图像级别,切片级别,砖级别,砖片组级别或砖片级别,与M和N相关的信息被发送。
8.根据权利要求7所述的视频编解码方法,其特征在于,对于该亮度分量,M和N等于64。
9.根据权利要求1所述的视频编解码方法,其特征在于,一个或多个共享或独立语法被发送或被解析以用于该当前数据单元,以指示该当前数据单元是使用编码树共享还是非编码树共享。
10.根据权利要求9所述的视频编解码方法,其特征在于,如果该一个或多个共享或独立语法指示该当前数据单元使用编码树共享,则该当前数据单元内的所有编码单元使用该编码树共享。
11.根据权利要求9所述的视频编解码方法,其特征在于,如果该一个或多个共享或独立语法指示该当前数据单元使用非编码树共享,则该当前数据单元内的所有编码单元使用该非编码树共享。
12.根据权利要求9所述的视频编解码方法,其特征在于,如果该一个或多个共享或独立语法指示该当前数据单元使用非编码树共享,则当该当前数据单元大于用于亮度分量的MxN时,使用推断分割将该当前数据单元分割成多个初始块而不使用分割语法传信,以及确定分割结构,用于将每个初始块的该初始亮度块和该初始色度块分别分成一个或多个亮度编码单元和一个或多个色度编码单元。
13.根据权利要求9所述的视频编解码方法,其特征在于,当当前切片是I切片时或者当该当前切片是I切片且该非编码树共享被使能时,该推断的分割被应用。
14.一种视频编解码装置,分别由视频编码***和视频解码***使用,该装置包括一个或多个电子电路或处理器,用于:
接收与当前图像中的当前数据单元相关联的输入数据,其中与该当前数据单元相关联的该输入数据包括亮度分量和色度分量;
当当前数据单元大于用于该亮度分量的MxN时,使用推断分割将该当前数据单元分割为多个初始块,而不需要分割语法传信,其中该多个初始块中的每一个包括初始亮度块和初始色度块,并且其中M和N是正整数;
确定分割结构,用于将每个初始块的初始亮度块和初始色度块分别分成一个或多个亮度编码单元和一个或多个色度编码单元;以及
发送或解析与该当前数据单元中的一个初始块相关联的一个或多个亮度语法和一个或多个色度语法,然后发送或解析当前数据单元中与下一个初始块相关联的一个或多个亮度语法以及一个或多个色度语法。
15.一种视频编解码方法,由视频编解码***使用,该方法包括:
接收与当前图像中的当前数据单元相关联的输入数据,其中与该当前数据单元相关联的该输入数据对应于该当前数据单元的像素数据,并且其中该当前数据单元包括亮度分量和色度分量,以及该当前数据单元包括亮度数据单元和色度数据单元;
使用一个共享树分割该亮度数据单元和该色度数据单元,直到该亮度数据单元和该色度数据单元到达停止节点;
如果该停止节点大于用于亮度分量的MxN,则将停止节点编码或解码为叶编码单元,M和N是正整数;以及
如果该停止节点小于或等于用于该色度分量的MxN,则发送或解析该停止节点的预测模式。
16.根据权利要求15所述的视频编解码方法,其特征在于,如果该停止节点的该预测模式对应于画面内模式或非画面间模式,则一个或多个第一语法被发送或被解析以指示该停止节点是否使用编码树共享或非编码树共享。
17.根据权利要求16所述的视频编解码方法,其特征在于,如果该一个或多个第一语法指示该停止节点使用该编码树共享,则该停止节点被指定为叶节点。
18.根据权利要求16所述的视频编解码方法,其特征在于,如果该一个或多个第一语法指示该停止节点使用该非编码树共享,则该停止节点被进一步分割。
19.根据权利要求18所述的视频编解码方法,其特征在于,在与该停止节点相关联的一个或多个色度语法之前,与该停止节点相关联的一个或多个亮度语法被发送或被解析。
20.根据权利要求15所述的视频编解码方法,其特征在于,如果该停止节点大于用于该亮度分量的MxN,则该停止节点的该预测模式对应于画面内模式,并且该停止节点使用编码树共享。
21.根据权利要求15所述的视频编解码方法,其特征在于,如果该停止节点的该预测模式对应于画面内模式或非画面间模式,则使用非编码树共享进一步对该停止节点进行编码。
22.根据权利要求15所述的视频编解码方法,其特征在于,如果该停止节点大于用于该亮度分量的MxN,则在该停止节点的残差编码中,该停止节点被推断分割为多个变换单元。
23.根据权利要求15所述的视频编解码方法,其特征在于,如果该停止节点大于用于该亮度分量的MxN,则该停止节点的预测模式被推断为画面间模式或者不被允许为画面内模式。
24.一种视频编解码装置,分别由视频编码***和视频解码***使用,该装置包括一个或多个电子电路或处理器,用于:
接收与当前图像中的当前数据单元相关联的输入数据,其中与该当前数据单元相关联的该输入数据对应于该当前数据单元的像素数据,以及其中该当前数据单元包括亮度分量和色度分量,以及该当前数据单元包括亮度数据单元和色度数据单元;
利用一个共享树分割该亮度数据单元和该色度数据单元,直到该亮度数据单元和该色度数据单元达到停止节点;
如果该停止节点大于用于亮度分量的MxN,则将停止节点编码或解码为叶编码单元,M和N是正整数;以及
如果该停止节点小于或等于用于该色度分量的MxN,则发送或解析该停止节点的预测模式。
CN201980028282.7A 2018-04-30 2019-04-30 用于视频编解码中的独立编码树的语法交错方法和装置 Active CN112055964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210557360.6A CN114845121A (zh) 2018-04-30 2019-04-30 用于视频编解码中的独立编码树的语法交错方法和装置

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201862664387P 2018-04-30 2018-04-30
US62/664,387 2018-04-30
US201862666177P 2018-05-03 2018-05-03
US62/666,177 2018-05-03
US201862676330P 2018-05-25 2018-05-25
US62/676,330 2018-05-25
US201862692855P 2018-07-01 2018-07-01
US62/692,855 2018-07-01
US201862700265P 2018-07-18 2018-07-18
US62/700,265 2018-07-18
US201862714153P 2018-08-03 2018-08-03
US62/714,153 2018-08-03
PCT/CN2019/085273 WO2019210857A1 (en) 2018-04-30 2019-04-30 Method and apparatus of syntax interleaving for separate coding tree in video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210557360.6A Division CN114845121A (zh) 2018-04-30 2019-04-30 用于视频编解码中的独立编码树的语法交错方法和装置

Publications (2)

Publication Number Publication Date
CN112055964A true CN112055964A (zh) 2020-12-08
CN112055964B CN112055964B (zh) 2022-06-07

Family

ID=68386957

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980028282.7A Active CN112055964B (zh) 2018-04-30 2019-04-30 用于视频编解码中的独立编码树的语法交错方法和装置
CN202210557360.6A Pending CN114845121A (zh) 2018-04-30 2019-04-30 用于视频编解码中的独立编码树的语法交错方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210557360.6A Pending CN114845121A (zh) 2018-04-30 2019-04-30 用于视频编解码中的独立编码树的语法交错方法和装置

Country Status (4)

Country Link
US (2) US11115660B2 (zh)
EP (1) EP3785433A4 (zh)
CN (2) CN112055964B (zh)
WO (1) WO2019210857A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220312039A1 (en) * 2021-03-23 2022-09-29 Tencent America LLC Parallel processing in video coding

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102631517B1 (ko) 2018-08-28 2024-01-30 후아웨이 테크놀러지 컴퍼니 리미티드 픽처 분할 방법 및 장치
KR102660160B1 (ko) 2018-11-22 2024-04-24 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측을 위한 조정 방법
EP3907988A4 (en) 2019-01-08 2022-06-29 Huawei Technologies Co., Ltd. Image prediction method, device, apparatus and system and storage medium
CN114208184A (zh) * 2019-08-13 2022-03-18 北京字节跳动网络技术有限公司 基于子块的帧间预测中的运动精度
EP4005215A4 (en) * 2019-08-15 2022-10-26 Beijing Dajia Internet Information Technology Co., Ltd. LOW CHROMINANCE BLOCK SIZE RESTRICTION IN VIDEO CODING
CN114424553A (zh) 2019-09-22 2022-04-29 北京字节跳动网络技术有限公司 基于子块的帧间预测的缩放方法
FI4044599T3 (fi) * 2019-11-05 2024-03-25 Lg Electronics Inc Kuva/videokoodausmenetelmä ja -laite
US11546592B2 (en) * 2020-01-08 2023-01-03 Tencent America LLC Flexible block partitioning for chroma component
US11206416B2 (en) 2020-02-21 2021-12-21 Tencent America LLC Method and apparatus for video coding
US11432018B2 (en) * 2020-05-11 2022-08-30 Tencent America LLC Semi-decoupled partitioning for video coding
US20220286675A1 (en) 2021-03-05 2022-09-08 Tencent America LLC Decoupled transform partitioning
CN117313252B (zh) * 2023-12-01 2024-02-13 山东街景智能制造科技股份有限公司 一种用于定制产品模拟涂装的处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2866900A1 (en) * 2012-04-05 2013-10-10 Qualcomm Incorporated Coded block flag coding
US20130322531A1 (en) * 2012-06-01 2013-12-05 Qualcomm Incorporated External pictures in video coding
CN104221376A (zh) * 2012-04-12 2014-12-17 联发科技(新加坡)私人有限公司 色度子采样格式的块分割方法和装置
WO2015138927A1 (en) * 2014-03-14 2015-09-17 Qualcomm Incorporated Palette-based video coding
US20150326863A1 (en) * 2012-06-29 2015-11-12 Canon Kabushiki Kaisha Method and device for encoding or decoding and image
CN107079160A (zh) * 2014-11-11 2017-08-18 联发科技(新加坡)私人有限公司 对亮度及色度使用单独编码树的视频编码方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
KR100873636B1 (ko) * 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
KR102071577B1 (ko) * 2012-03-20 2020-01-30 삼성전자주식회사 트리 구조의 부호화 단위에 기초한 스케일러블 비디오 부호화 방법 및 그 장치, 트리 구조의 부호화 단위에 기초한 스케일러블 비디오 복호화 방법 및 그 장치
US10158836B2 (en) * 2015-01-30 2018-12-18 Qualcomm Incorporated Clipping for cross-component prediction and adaptive color transform for video coding
MX2021012481A (es) * 2016-03-16 2022-05-30 Hfi Innovation Inc Metodo y aparato de procesamiento de datos de video con tama?o restringido de bloque en codificacion de video.
US10567759B2 (en) * 2016-03-21 2020-02-18 Qualcomm Incorporated Using luma information for chroma prediction with separate luma-chroma framework in video coding
US10609423B2 (en) 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US20200036985A1 (en) * 2016-09-30 2020-01-30 Lg Electronics Inc. Method and apparatus for block partitioning and intra prediction in image coding system
GB2589769B (en) * 2018-07-15 2023-02-15 Beijing Bytedance Network Tech Co Ltd Cross-component coding order derivation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2866900A1 (en) * 2012-04-05 2013-10-10 Qualcomm Incorporated Coded block flag coding
CN104221376A (zh) * 2012-04-12 2014-12-17 联发科技(新加坡)私人有限公司 色度子采样格式的块分割方法和装置
US20130322531A1 (en) * 2012-06-01 2013-12-05 Qualcomm Incorporated External pictures in video coding
US20150326863A1 (en) * 2012-06-29 2015-11-12 Canon Kabushiki Kaisha Method and device for encoding or decoding and image
WO2015138927A1 (en) * 2014-03-14 2015-09-17 Qualcomm Incorporated Palette-based video coding
CN107079160A (zh) * 2014-11-11 2017-08-18 联发科技(新加坡)私人有限公司 对亮度及色度使用单独编码树的视频编码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丁媛媛: "H.264/AVC视频编码关键技术的研究", 《中国优秀硕士论文全文数据库(电子期刊)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220312039A1 (en) * 2021-03-23 2022-09-29 Tencent America LLC Parallel processing in video coding
US11575941B2 (en) * 2021-03-23 2023-02-07 Tencent America LLC Parallel processing in video coding

Also Published As

Publication number Publication date
WO2019210857A1 (en) 2019-11-07
US11115660B2 (en) 2021-09-07
US11589049B2 (en) 2023-02-21
US20210235079A1 (en) 2021-07-29
EP3785433A1 (en) 2021-03-03
CN112055964B (zh) 2022-06-07
EP3785433A4 (en) 2022-02-23
US20210368175A1 (en) 2021-11-25
CN114845121A (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
CN112055964B (zh) 用于视频编解码中的独立编码树的语法交错方法和装置
CA3128424C (en) Interactions between in-loop reshaping and inter coding tools
WO2020228578A1 (en) Method and apparatus of luma most probable mode list derivation for video coding
AU2019217409B2 (en) Method and apparatus of current picture referencing for video coding using adaptive motion vector resolution and sub-block prediction mode
CN117915083A (zh) 块内拷贝模式和帧间预测工具之间的交互
CN113994668A (zh) 基于环路整形的滤波过程
TWI655863B (zh) 視訊處理系統中基於預測子的分割的方法及裝置
KR20180007336A (ko) 영상 부호화/복호화 방법 및 이를 위한 기록 매체
WO2021104474A1 (en) Selective switch for parallel processing
WO2020156464A1 (en) Method and apparatus of combined inter and intraprediction for video coding
JP2024023483A (ja) サブブロックベースのモーション補償を用いたビデオ信号処理方法及び装置
WO2020008329A1 (en) Spatial motion compression
CN113228638B (zh) 在区块分割中条件式编码或解码视频区块的方法和装置
CN114175636A (zh) 自适应参数集中的自适应环路滤波的指示
TWI729458B (zh) 用於視訊編解碼的簡化的合併候選列表的方法和裝置
CN113039782A (zh) 视频编解码中的子块去块方法及装置
TWI718079B (zh) 用於視訊編解碼的簡化子模式的方法和裝置
TWI720470B (zh) 用於視訊編解碼中的獨立編碼樹的語法交錯方法和裝置
WO2020008322A1 (en) Complexity reduction of non-adjacent merge design
RU2812648C2 (ru) Способ и устройство для обработки данных видео и носитель для хранения информации
WO2020228566A1 (en) Method and apparatus of chroma direct mode generation for video coding

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220425

Address after: Hsinchu County, Taiwan, China

Applicant after: MEDIATEK Inc.

Address before: 1 Duxing 1st Road, Hsinchu Science Park, Hsinchu, Taiwan, China

Applicant before: MEDIATEK Inc.

GR01 Patent grant
GR01 Patent grant