CN112385220A - 视频编码系统中处理具有分割限制之视频图像的方法和装置 - Google Patents

视频编码系统中处理具有分割限制之视频图像的方法和装置 Download PDF

Info

Publication number
CN112385220A
CN112385220A CN201980045882.4A CN201980045882A CN112385220A CN 112385220 A CN112385220 A CN 112385220A CN 201980045882 A CN201980045882 A CN 201980045882A CN 112385220 A CN112385220 A CN 112385220A
Authority
CN
China
Prior art keywords
current block
partitioning
block
threshold
allowed
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
CN201980045882.4A
Other languages
English (en)
Other versions
CN112385220B (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 CN202210908604.0A priority Critical patent/CN115379213A/zh
Publication of CN112385220A publication Critical patent/CN112385220A/zh
Application granted granted Critical
Publication of CN112385220B publication Critical patent/CN112385220B/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/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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供在视频编码或解码系统中的视频处理方法和装置,用于处理被分割成具有一个或多个分割约束的块的视频图像。视频编码或解码系统接收当前块的输入数据,以及检查是否允许根据第一和第二约束使用预定义的分割类型对当前块进行分割。第一约束将从当前块分割的每个子块限制为完全包含在一个管线单元中,以及第二约束限制从当前块分割的每个子块包含一个或多个完整的管线单元。管线单元是设计用于管线处理的视频图像中的非重叠单元。如果由预定义分割类型分割的任一子块违反第一和第二约束,则当前块不由预定义分割类型分割。视频编码或解码系统对当前块进行编码或解码。

Description

视频编码系统中处理具有分割限制之视频图像的方法和装置
相关引用
本发明要求以下申请的优先权:在2018年7月14日递交的申请号为62/698,114,标题为“Pipeline Unit Constraints on BT and TT”的美国临时专利申请;在2018年7月15日递交的申请号为62/698,173,标题为“Pipeline Unit Constrains on Binary Tree andTernary Tree”的美国临时专利申请;在2018年8月31日递交的申请号为62/725,314,标题为“Pipeline Unit Constraints on Binary Tree and Ternary Tree”的美国临时专利申请;在2018年9月5日递交的申请号为62/727,052,标题为“Pipeline Unit Constraints onBinary Tree and Ternary Tree”的美国临时专利申请;在2018年10月12日递交的申请号为62/744,701,标题为“Pipeline Unit Constraints on Binary Tree and TernaryTree”的美国临时专利申请;在2018年11月2日递交的申请号为62/754,714,标题为“Pipeline Unit Constraints on Binary Tree and Ternary Tree”的美国临时专利申请,其全部内容以引用方式并入本公开。
技术领域
本发明涉及在视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法和装置。具体地,本发明涉及基于分割约束确定块的一个或多个分割类型的有效性,以及通过有效分割类型对块进行分割。
背景技术
高效率视频编解码(High Efficiency Video Coding,HEVC)标准是在ITU-T研究组的视频编解码专家组成的联合协作小组(Joint Collaborative Team on VideoCoding,JCT-VC)开发的最新视频编解码标准。HEVC标准依赖于基于块的编解码结构,该结构将每个视频图像分成多个非重叠的方形编解码树单元(Coding Tree Unit,简称CTU),也称为最大编解码单元(Largest Coding Units,简称LCU)。视频图像或片段中的每个单独CTU以光栅扫描顺序处理。在HEVC主文档中,CTU的最大和最小大小由序列参数集(SequenceParameter Set,简称SPS)中发送的语法元素指定。使用四分树(quadtree,简称QT)分割结构每个CTU被进一步递归地分割为一个或多个非重叠编解码单元(Coding Units,简称CU),以适应各种局部特性。在QT分割结构的每个分割深度处,N×N块是单叶CU或分成具有相等大小N/2×N/2的四个较小块。具有M×M像素样本大小的CTU是四分树编解码树的根节点,以及四个M/2xM/2块是从根节点分割的子四分树节点。四个M/2xM/2块中的每一个可成为通过另一个QT分割而分割的父节点,以使四个子节点在每个空间维度中被进一步减小一半的大小。如果编解码树节点没有被进一步分割,则其被称为叶CU。叶CU大小被限制为大于或等于最小允许CU大小,其也在SPS中指定。图1中示出了递归四分树分割结构的示例,其中实线指示CTU 10中的CU边界。
一旦CTU被分割为叶CU,根据用于预测的PU分割类型,每个叶CU被进一步分成一个或多个预测单元(Prediction Units,简称PU)。与用于CU的递归四分树分割不同,每个叶CU可仅被分割一次以形成多个PU。PU作为用于共享预测信息的基本代表块,相同的预测过程被应用于PU中的所有像素。预测信息以PU为基础传送给解码器。在基于PU分割类型获得由预测过程生成的残差数据之后,根据另一四分树分割结构属于叶CU的残差数据被分割为一个或多个变换单元(Transform Unit,简称TU),用于将残差数据变换为紧凑的数据表示的变换系数。图1中的虚线表示CTU 100中的TU边界。TU是用于对残差数据或变换系数应用变换和量化的基本代表块。对于每个TU,具有与TU相同大小的变换矩阵被应用于残差数据以生成变换系数,以及以TU为基础这些变换系数被量化和被传送到解码器。
术语编解码树块(Coding Tree Block,简称CTB),编码块(Coding block,简称CB),预测块(Prediction Block,简称PB)和变换块(Transform Block,简称TB)被定义为指定与CTU,CU,PU和TU分别相关联的一个颜色分量的二维(2-D)样本数组。例如,CTU由一个亮度(luminance,简称luma)CTB,两个色度(chrominance,简称chroma)CTB以及与其相关的语法元素组成。类似的关系对CU,PU和TU有效。在HEVC系统中,相同的四分树分割结构通常被应用于亮度和色度分量,除非达到色度块的最小尺寸。
二元树(Binary-tree,简称BT)分割结构是四分树分割结构的替代结构,其递归地将块分成两个较小的块。ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的联合视频探索小组(Joint Video Exploration Team,简称JVET)目前正在探索被称为通用视频编解码(Versatile Video Coding,简称VVC)的下一代视频编解码标准。联合探索模型(JointExploration Model,简称JEM)采用了一些有前景的新编解码工具进行进一步研究。一种称为四分树加二元树(QuadTree plus Binary Tree,简称QTBT)结构的新分割结构平衡了四分树分割结构和二元树分割结构的编解码效率和编解码复杂度。示例性QTBT结构如图2A所示,其中CTU首先由四分树结构分割,然后是二元树分割结构。CU可通过四分树分割被递归地分割,直到当前CU大小达到允许的最小四分树叶节点大小。如果叶四分树块大小不大于最大允许二元树根节点大小,则每个叶四分树块可通过二元树分割来分割。二元树分割可被递归地应用,直到当前CU大小、宽度或高度达到最小允许二元树叶节点大小、宽度或高度或二元树深度达到最大允许二元树深度。只有水平对称分割和垂直对称分割是QTBT分割中允许的两种二元树分割类型。来自QTBT分割的所得叶CU可被用于预测和变换处理而无需任何进一步的分割。
图2A示出根据QTBT分割结构的块分割结构的示例,图2B示出用于图2A中所示的QTBT分割结构的相应编解码树图。图2A和图2B中的实线表示四分树分割,而虚线表示二元树分割。在二元树结构的每个分割节点(即,非叶节点)中,标志指示使用哪种分割类型,0表示水平对称分割,1表示垂直对称分割。对于在I型片段中被编解码的CTU,用于色度CTB的QTBT编解码树代表可与用于对应的亮度CTB的QTBT编解码树代表不同。对于在P型和B型片段中被编解码的CTU,相同的QTBT编解码树代表被应用于色度CTB和亮度CTB。在QTBT分割结构中,允许的最小四分树叶节点大小,允许的最大二元树根节点大小,允许的最小二元树叶节点宽度和高度以及允许的最大二元树深度和高度在高级语法中指示,例如SPS。
多类型树(Multi-Type-Tree,简称MTT)分割结构通过在MTT分割结构的第二级别中允许二元树(Binary-Tree,简称BT)分割和三元树(Ternary-Tree,简称TT)分割来扩展QTBT分割结构中的两级树结构的概念。MTT分割结构首先由四分树分割来分割CTU,以及由子树结构进一步分割四分树叶节点。子树结构可包含二元树分割和三元树分割。例如,每个四分树叶节点可由BT或TT分割被进一步分割。由BT或TT分割所分割的块可进一步由另一个BT或TT分割来分割,直到达到最大深度或最小尺寸。子树叶节点是用于预测和变换的编解码单元,以及将不被进一步分割。图3示出MTT分割结构中使用的五种分割类型,其中分割类型包括四分树分割类型30,二元树分割类型32和34,以及三元树分割类型36和38。垂直中心侧三元树分割类型36和水平中心侧三元树分割类型38将块分成三个较小的块,所有这些块在一个空间维度上具有减小的尺寸,同时在另一个空间维度中保持相同的大小。
发明内容
在视频编码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法和装置包括:接收与当前视频图像中的当前块相关联的输入数据,确定管线单元的管线单元大小,确定是否允许根据分割约束使用预定义的分割类型将当前块分割为多个子块,通过允许的分割类型将当前块分割,以及根据当前块的块分割结构对当前块进行编码或解码。管线单元是设计用于管线处理的当前视频图像中的非重叠单元,以及管线单元大小的示例被设置为最大变换块(Transform Block,简称TB)大小。管线单元大小可根据视频压缩标准基于文档或级别被隐式地定义。在一个示例中,对于4:2:0的颜色格式,管线单元大小是64×64的亮度分量,或者32×32的色度分量。第一约束限制从当前块分割的每个子块被完全包含在一个管线单元中,以及第二约束限制从当前块分割的每个子块包含一个或多个完整的管线单元。如果由预定义分割类型分割的任何子块违反第一和第二约束,则预定义分割类型被禁止用于分割当前块。预定义分割类型可从四分树分割,水平二元树分割,垂直二元树分割,水平三元树分割和垂直三元树分割中选择。当前块可以是CTU,CU或TU。视频处理方法和装置的一些实施例还考虑再访问约束,其中再访问约束在通过预定义分割类型处理从当前块分割的子块时禁止在离开管线单元之后重新访问当前块中的任一管线单元。如果违反再访问约束,则预定义分割类型不被允许用于对当前块进行分割。
视频处理方法和装置的一些实施例允许非方形管线单元,以及在一实施例中,管线单元的多个可允许管线单元大小由管线单元面积限定。例如,管线单元面积为4096,因此允许的管线单元大小为64x64,128x32和32x128。根据各种实施例,非方形管线单元的使用被预定义,导出或在序列,图像,片段,方格(tile),CTU或CTU行(row)级别中发出。
视频编码系统中的视频处理的方法和装置的变形根据基于两个阈值的分割约束来确定每个块的块分割结构。视频处理方法包括接收与当前视频图像中的当前块相关联的输入数据,通过将当前块的宽度、当前块的高度或当前块的宽度和高度与阈值W和阈值H中的一个或两个相比较,确定是否预定义的分割类型被允许用于将当前块分割为多个子块,使用允许的分割类型分割当前块,以及根据当前块的块分割结构对当前块进行编码或解码。阈值W和H是正整数,以及基于文档或级别根据视频压缩标准被预定义或隐式地定义。预定义分割类型可从水平二元树分割,垂直二元树分割,水平三元树分割和垂直三元树分割中选择。在一实施例中,如果当前块的宽度大于W以及当前块的高度小于或等于H,则水平二元树分割不被允许,如果宽度小于或等于W以及高度大于H,则垂直二元树分割不被允许。在一实施例中,如果宽度大于W,则水平三元树分割不被允许,以及如果高度大于H,则垂直三元树分割不被允许。在另一实施例中,如果宽度大于或等于W以及高度除以4小于H,则水平三元树分割不被允许,如果高度大于或等于H且宽度除以4小于W,则垂直三元树分割不被允许。在另一实施例中,如果宽度大于W且高度大于H但是高度除以4小于H,则水平三元树分割不被允许,以及如果高度大于H且宽度大于W但宽度除以4小于W,则垂直三元树分分割不被允许。在另一实施例中,如果宽度大于或等于W且高度大于H但高度除以4小于H,则水平三元树分割不被允许,如果高度大于或等于H以及宽度大于W但宽度除以4小于W,则垂直三元树分割不被允许。在另一实施例中,如果宽度大于W且高度大于H且高度除以4不是H的倍数,则水平三元树分割不被允许,如果高度大于H且宽度大于W但宽度除以4不是W的倍数,垂直三元树分割不被允许。
在一些实施例中,管线单元被定义为具有等于W的宽度和等于H的高度,以及管线单元大小是W和H的乘积。在一实施例中,如果当前块的大小是管线单元大小的两倍,则三元树分割不被允许。在另一实施例中,当当前块的大小是管线单元大小的两倍时,除非所有进一步的分割方向相同以及块的中心子块被二元树分割,否则三元树分割不被允许。在另一实施例中,如果当前块的大小是管线单元大小的四倍,或者如果当前块的大小小于管线单元大小,则预定义分割类型被允许,其中预定义分割类型从四分树,二元树和三元树分割中选择。
视频处理方法和装置的一些实施例还考虑再访问约束,如果再访问约束被违反,则预定义分割类型不被允许。当处理通过预定义分割类型从当前块分割的子块时,再访问约束禁止在离开管线单元之后再次访问当前块中的任一管线单元。
本公开的各方面还提供了一种在视频编码系统或视频解码系统中实现的装置,以及该装置将当前块分割为具有分割约束的多个子块。该装置的实施例在视频编码或解码系统的块分割模块中实现,以根据第一和第二约束确定一个或多个预定义的分割类型是否被允许。如果由预定义分割类型分割的任一子块违反第一和第二约束,则预定义分割类型不被允许用于分割当前块。该装置的另一实施例根据两个阈值确定一个或多个预定义的分割类型是否被允许。
本公开的各方面还提供了一种存储程序指令的非暂时性计算机可读介质,所述程序指令用于使装置的处理电路执行视频编码处理以对具有分割约束的当前块进行编码或解码。通过阅读以下具体实施方案的描述,本发明的其他方面和特征对于所属技术领域的技术人员将变得显而易见。
附图说明
将参考以下附图详细描述作为示例提出的本公开的各种实施例,其中相同的附图标记表示相同的组件,以及其中:
图1示出用于根据四分树分割结构将编码树单元(Coding Tree Unit,简称CTU)分割成编解码单元(Coding Unit,简称CU)以及将每个CU分割成一个或多个变换单元(Transform Unit)的示例性编解码树。
图2A示出根据四分树加二元树(QuadTree plus Binary Tree,简称QTBT)分割结构的示例性分割结构。
图2B示出与图2A中的QTBT分割结构相对应的编解码树结构。
图3示出在示例性多类型树(Multi-Type Tree,简称MTT)分割结构中使用的五种分割类型。
图4示出根据本发明的实施例当方形VPDU被用于处理每个CTU的CU时满足分割约束的CTU的一些示例性块分割结构。
图5示出根据本发明实施例的当方形VPDU用于处理每个CTU中的CU时违反分割约束的CTU的一些示例性块分割结构。
图6A示出根据本发明实施例的满足再访问约束的CTU的示例性块分割结构。
图6B示出根据本发明实施例的违反再访问约束的CTU的示例性块分割结构。
图7示出根据本发明实施例的当方形和非方形VPDU被用于处理每个CTU中的CU时满足分割约束的CTU的一些示例性块分割结构。
图8示出根据本发明实施例的当方形和非方形VPDU被用于处理每个CTU中的CU违反分割约束的CTU的一些示例性块分割结构。
图9A示出根据本发明实施例的当当前块大小是VPDU大小的两倍时允许垂直三元树分割的示例。
图9B示出根据本发明实施例的当当前块大小是VPDU大小的两倍时允许垂直三元树分割的另一示例。
图10示出根据本发明实施例的使用填充的样本来预测当前块以跨越管线单元边界替换重构的相邻样本。
图11示出使用填充的样本来替换当前VPDU内但在图像边界外的样本的实施例。
图12A示出HEVC标准中支持的33个角度帧内预测模式。
图12B示出65个角度帧内预测模式的示例。
图13是示出用于利用分割约束对当前视频图像中的当前块进行编码或解码的视频处理方法的实施例的流程图。
图14是示出用于利用分割约束对当前视频图像中的当前块进行编码或解码的视频处理方法的另一实施例的流程图。
图15示出了结合根据本发明实施例的视频处理方法的视频编码系统的示例性系统框图。
图16示出了结合根据本发明实施例的视频处理方法的视频解码系统的示例性系统框图。
具体实施方式
容易理解的是,如本文附图中一般描述和说明的本发明的组件可以以各种不同的配置来布置和设计。因此,如附图所示,本发明的系统和方法的实施例的以下更详细的描述并非旨在限制所要求保护的本发明的范围,而仅仅代表本发明的所选实施例。
本说明书中对“实施例”,“一些实施例”或类似语言的引用意味着结合实施例描述的具体特征,结构或特性可以包括在本发明的至少一实施例中。因此,贯穿本说明书在各个地方出现的短语“在实施例中”或“在一些实施例中”不一定都指代相同的实施例,这些实施例可单独地实现或者与一个或多个其他实施例结合实现。此外,所描述的特征,结构或特性可在一个或多个实施例中以任何合适的方式组合。然而,所属技术领域的技术人员将认识到,可在没有一个或多个具体细节的情况下或者利用其他方法,组件等来实践本发明。在其他情况下,未示出或详细描述公知的结构或操作,以避免模糊本发明的各方面。
虚拟管线数据单元(Virtual Pipeline Data Unit,简称VPDU)被定义为用于管线处理的基本单元,以及VPDU在以下描述中也被称为管线单元。通过将视频图像分割为多个非重叠的VPDU以用于管线处理,连续的VPDU可由多个管线级别同时处理。VPDU是方形单元,例如,每个VPDU包含MxM个亮度像素或NxN个色度像素,或者VPDU是非方形单元。VPDU的维度可定义为诸如4096个像素的面积或诸如64×64的大小。在硬件解码器中,每个VPDU被一个接另一个的管线级别处理,直到每个VPDU由视频解码的所有管线级别处理。硬件解码器中的不同管线级别同时处理不同的VDPU。将VPDU大小限制在尺寸限制内是硬件实现中的关键设计问题,因为VPDU大小与大多数管线级别中的缓冲区大小大致成比例。VPDU大小的实施例被设置为等于最大变换块(Transform Block,简称TB)大小,其对于HEVC硬件解码器是32×32亮度像素或16×16色度像素。然而,为了提高整体编解码效率,预计在下一代视频编解码标准中,最大TB大小将被扩大。例如,亮度的最大TB大小从32x32扩展到64x64,色度的最大TB大小以4:2:0颜色格式从16x16扩展到32x32。因此,当颜色格式为4:2:0时,下一代视频编解码标准的VPDU大小将被放大到用于亮度的64x64或用于色度的32x32,这是HEVC标准所要求的VPDU大小的四倍。与仅采用四分树分割的HEVC标准相比,使用四分树,二元树和三元树分割的CTU分割实现了额外的编解码增益。当128x128的CTU通过二元树分割或三元树分割被分割时,所需的VPDU大小将增加到128x128亮度像素或64x64色度像素。与HEVC标准相比,现在VPDU大小大16倍,这大大增加了视频处理中每个管线级别所需的缓冲区大小。
为了减少下一代视频编解码标准中所需的VPDU大小,本发明的一些实施例设置分割约束以根据当前块和一个或多个相应的管线单元之间的关系限制将被应用于当前块的一个或多个预定义的分割类型。一些其他实施例设置分割约束以根据当前块的宽度和高度中的一个或两个来限制将被应用于当前块的一个或多个预定义分割类型。当前块可以是CTU、CU或TU。待编码或解码的视频图像被分成非重叠的CTU,以及每个CTU包含一个或多个用于管线处理的管线单元。管线单元的实施例具有等于最大变换块大小的大小。在另一实施例中,管线单元大小在序列级别,图像级别,片段级别或块级别中被明确地发送。在又一实施例中,根据相应的视频压缩标准,基于文档或级别管线单元大小被隐式地定义。
第一约束:每个管线单元包含完整的一个或多个子块第一约束是分割约束的实施例,其根据当前块和一个或多个相应的管线单元之间的关系限制将被应用于当前块的一个或多个预定义的分割类型。当前块是CTU、CU或TU,以及当前块可被进一步分割,例如,如果当前块是CU,则CU的分割深度小于最大允许CU深度,类似地,如果当前块是TU,则TU的分割深度小于最大允许TU深度。在另一示例中,如果当前块是CU,则当前块大于最小允许CU大小,以及如果当前块是TU,则当前块大于最小允许TU大小。第一约束限制每个管线单元包含完整的四分树,二元树或三元树块分割。块分割是通过四分树,二元树或三元树分割从当前块分割的子块,以及块分割可以是CU或TU。换句话说,第一约束将从当前块分割的每个子块限制为完全包含在一个管线单元中。例如,管线单元在分割操作之后包含一个或多个CU,以及这些CU必须完全在管线单元内。在子树分割过程中,通过四分树,二元树或三元树分割从当前块分割的子块中的所有样本,其大小小于或等于管线单元,应该在同一个管线单元中。根据第一约束,当当前块等于或小于管线单元且当前块在一个管线单元内时,四分树分割,二元树分割和三元树分割皆被允许用于分割当前块,因为从当前块分割的所有子块仍包含在同一管线单元中。在第一约束的示例性实施例中,当将要通过四分树分割,二元树分割或三元树分割来分割的当前块的大小大于管线单元的大小时,视频编码器或解码器检查若在子树分割操作之后,由当前块分割的每个子块中的所有样本是否都在同一管线单元中,以及检查只有当每个子块中的所有样本都在同一管线单元中时此子树分割操作才被允许。根据第一约束的另一示例,管线单元在分割操作之后包含一个或多个完整的TU。
通过遵守在管线单元中包含完整CU或TU的第一约束,管线单元边界也是CU边界或TU边界。换句话说,CU或TU不能穿越管线单元边界,以及管线单元边界的每个段也必须属于CU边界或TU边界。根据第一约束,管线单元边界必须与CU边界或TU边界对齐。
第二约束:每个子块包含完整的一个或多个管线单元第二约束是分割约束的另一实施例,其根据当前块和一个或多个相应的管线单元之间的关系限制将被应用于当前块一个或多个预定义的分割类型。当前块是可被进一步分割的CTU、CU或TU。例如,如果当前块是CU,则CU的分割深度小于最大允许CU深度,或者CU的大小大于最小允许CU大小,类似地,如果当前块是TU,TU的分割深度小于最大允许TU深度,或者TU的大小大于最小允许TU大小。第二约束限制每个四分树,二元树或三元树块分割以包含完整的管线单元。块分割是通过四分树,二元树或三元树分割从当前块分割的子块,以及块分割可以是CU或TU。例如,当CU在子树分割操作之后包含一个或多个管线单元时,这些管线单元完全在CU内。当由分割操作产生的每个子块仍包括一个或多个完整的管线单元时,仅四分树分割,二元树分割或三元树分割被允许用于对当前块进行分割。在第二约束的实施例中,同一管线单元中的所有样本被包括在通过四分树分割,二元树分割或三元树分割来分割的相同子块中,该子块具有大于或等于管线单元的大小。
采用第一和第二约束的分割约束对于通过预定义分割类型从CTU分割的每个CU,必须满足先前描述的第一和第二约束之一。如果通过预定义分割类型从当前块分割的任一子块违反第一和第二约束,则预定义分割类型不被允许用于对当前块进行分割。例如,一个或多个CU完全包含在管线单元中,或者一个或多个管线单元完全包含在同一CU中,其中通过四分树分割,二元树分割或三元树分割,每个CU从CTU被分割。
图4示出在分割约束的限制下的有效二元树分割或三元树分割的一些示例。在该实施例中,方形VPDU被用于处理从图4所示的CTU 40,42,44,46和48分割的CU。每个CTU具有128×128的大小,以及由虚线指示的每个方形VPDU的大小为64x64。CTU 40未被分割,因此它包含四个完整的VPDU,以及CTU 42和44都通过二元树分割被分成两个CU,因此CTU 42和44中的每个CU包含两个完整的VPDU。CTU 40,42和44的块分割结构满足分割约束,因为根据第二约束每个得到的CU包含一个或多个完整的VPDU。四个VPDU完全包含在CTU 40的得到的CU中,以及两个VPDU完全包含在CTU 42和44的得到的CU中。通过四分树分割首先CTU 46和48被分割,通过垂直三元树分割CTU 46的左上分割被进一步分割,以及通过水平三元树分割CTU 48的左上分割被进一步分割。这两个CTU 46和48的块分割结构也满足分割约束,因为根据第一约束每个VPDU包含一个或多个完整的CU。
图5示出在分割约束的限制下无效二元树分割或三元树分割的一些示例。由虚线指示的相同方形VPDU(每个具有64×64的大小)被用于处理大小为128×128的CTU,如图5所示。CTU 502和504分别通过垂直三元树分割和水平三元树分割来分割,因为每个CU不包含一个或多个完整的VPDU以及每个VPDU不包含一个或多个完整的CU,所以得到的CU违反了所提出的约束。通过二元树分割CTU 506和508首先被分割,然后另一个二元树分割在相同方向上进行。第二个二元树分割无效,因为得到的CU违反了分割约束。CTU 506的左半部分中的每个CU或CTU 508的上半部分中的每个CU不包含一个或多个完整的方形VPDU,以及CTU506的左半部分中的每个VPDU或CTU 508的上半部分中的每个VPDU不包含一个或多个完整的CU。从CTU 506或508分割的一个或多个CU违反第一和第二约束。在如CTU 510和512所示的示例中,这两个CTU先通过二元树分割进行分割,然后子块在相同方向上进行三元树分割,因为所得到的CU违反分割约束,所以在此二元树分割之后应用的三元树分割是被禁止的。CTU 510的左半部分中的三个CU中的每一个或CTU 512的上半部分中的三个CU中的每一个都未完全包含在管线单元中,且这些CU中的每一个都不包含一个或多个完整的管线单元。CTU 514和516通过二元树分割进行分割,然后在不同方向上进行三元树分割。这种三元树分割也是无效的,因为每个得到的CU不包含一个或多个完整的VPDU,以及每个VPDU不包含一个或多个完整的CU。
采用再访问约束的分割约束分割约束的一些实施例是根据再访问约束来评估预定义分割类型的有效性,其通过预定义分割类型禁止从当前块分割后的子块的处理顺序发生离开管线单元,然后再次访问管线单元的情况。如果违反再访问约束,则预定义分割类型不被允许用于对当前块进行分割。当子块的处理需要在离开管线单元之后再次访问管线单元时,违反了重新访问约束。图6A和图6B示出CTU的两个示例性块分割结构,其中一个满足再访问约束而另一个违反再访问约束。在图6A和图6B中,每个128×128块被分成四个方形TU,每个TU大小为64×64。图6A和图6B中的虚线是相应CTU内的TU边界,以及相应CTU内的实线是CU边界。管线单元被设置为64x64以及与TU对齐。图6A中的CTU通过水平三元树被分割成三个CU,以及三个CU的处理顺序不需要再次访问任一管线单元。例如,当处理左上方管线单元或右上方管线单元中的CU时,上行和左侧CU的重构数据可用,以及在离开左上方或右上方管线单元后不需要再次访问左上方或右上方的管线单元。因此,图6A中所示的块分割结构满足再访问约束。图6B中的CTU通过垂直三元树被分割成三个CU;但是,三个CU的处理顺序需要再次访问管线单元。因此,图6B中所示的块分割结构违反了再访问约束。
两个阈值W和H的约束通过分析第一、第二和再访问约束以及有效和无效块分割结构的上述示例来约束两个阈值W和H,允许或禁止应用特定分割以对块进行分割取决于块宽度,块高度,或块宽度和块高度。例如,当管线单元大小为N×N的情况下,N的示例为64,当块宽度大于N时水平三元树分割被禁止,当块高度大于N时垂直三元树分割被禁止,当块宽度大于N且块高度小于或等于N时,水平二元树分割被禁止,当块宽度小于或等于N和块高度大于N时,垂直二元树分割被禁止。为了概括如前所述的VPDU的概念,两个阈值W和H被用来表示VPDU的宽度和高度,以及通过将当前块的宽度和高度中的一个或两个与这两个阈值中的一个或两个进行比较,一个或多个预定义的分割类型被确定为有效或无效。
以下实施例根据阈值W和H中的一个或两个来确定预定义分割类型对于当前块的分割是有效还是无效。两个阈值W和H是正整数,其可以是预定义值,在序列,图像,片段或方格级别中的发送值,导出值或分别等于最大变换块宽度和最大变换块高度。例如,W被预定义为32或64,以及H被预定义为32或64。阈值W和H的示例由CTU大小和片段类型中的一个或组合隐式地导出。最大变换块宽度和高度可以是最大亮度变换的宽度和高度或最大色度变换的宽度和高度。在分割当前块之前,块宽度和块高度中的一个或两个被与对应的阈值W或/和H进行比较。在约束三元树(Ternary-Tree,简称TT)分割的第一实施例中,如果当前块的块宽度大于W且块高度大于H,则TT分割不被允许用于对当前块进行分割。在约束二元树(Binary-tree,简称BT)分割的实施例中,如果当前块的块宽度大于W且块高度小于或等于H,则水平BT分割不被允许用于分割当前块。如果当前块的块高度大于H且块宽度小于或等于W,则垂直BT分割不被允许用于分割当前块。
在约束TT分割的第二实施例中,如果当前块的块宽度大于或等于W且块高度除以4小于H,则水平TT分割不被允许用于分割当前块。类似地,如果块宽度除以4小于W且块高度大于或等于H,则垂直TT分割不允许用于分割当前块。在约束TT分割的第三实施例中,如果块宽度大于W,块高度大于H,块高度除以4小于H,则水平TT分割不被允许用于分割当前块。同样,如果块宽度大于W,且块宽度除以4小于W,且块高度大于H,则垂直TT分割不被允许用于分割当前块。在约束TT分割的第四实施例中,如果当前块的块宽度大于或等于W,且块高度如果大于H且块高度除以4小于H,则水平TT分割不被允许用于分割当前块。如果块宽度大于W,块宽度除以4小于W,且块高度大于或等于H,则垂直TT分割不被允许用于分割当前块。在约束TT分割的第五实施例中,如果当前块的块宽度大于W,且块高度大于H,且块高度除以4不是H的倍数,则水平TT分割不被允许。如果当前块的块宽度大于W,且块宽度除以4不是W的倍数,且块高度大于H,则垂直TT分割不被允许。
上述实施例可应用为规范约束,其中至少分割语法可根据宽度和/或高度与W和/或H的比较结果来推断,以及分割语法不在视频比特流中发送。例如,根据约束TT分割的第一实施例,如果当前块的块宽度大于W且块高度大于H,则当前块的TT分割语法不被发送或解析,如TT分割语法被推断为不分割。根据约束BT分割的实施例,如果当前块的块宽度大于W且块高度等于或小于H,则当前块的水平BT分割或BT分割方向不被发送或解析。水平BT分割被推断为不分割或BT分割方向被推断为垂直分割。如果当前块的块高度大于H且块宽度等于或小于W,则当前块的垂直BT分割或BT分割方向不被发送或解析。垂直BT分割被推断为不分割或者BT分割方向被推断为水平分割。在实现约束TT分割的第二实施例的示例中,如果当前块的块宽度大于或等于W且块高度除以4小于H,则当前块的水平TT分割语法不被发送或解析。当前块的水平TT分割被推断为不分割。如果块宽度除以4小于W且块高度大于或等于H,则当前块的垂直TT分割语法不被发送或解析。当前块的垂直TT分割被推断为不分割。在实现约束TT分割的第三实施例的示例中,如果当前块的块宽度大于W,且块高度大于H,且块高度除以4小于H,则当前块的水平TT分割语法不被发送或解析。水平TT分割语法被推断为不分割。如果当前块的块宽度大于W,且块宽度除以4小于W,且块高度大于H,则当前块的垂直TT分割语法不被发送或解析。垂直TT分割语法被推断为不分割。对于约束TT分割的第四实施例,如果当前块的块宽度大于或等于W,且块高度大于H且块高度除以4小于H,则水平TT分割语法不被发送或解析,因为它被推断为不分割。如果当前块的块宽度大于W且块宽度除以4小于W,且块高度大于或等于H,则垂直TT分割语法不被发送或解析,因为它被推断为不分割。对于通过规范约束实现的约束TT分割的第五实施例,如果当前块的块宽度大于W,且块高度大于H且块高度除以4不是H的倍数,则水平TT分割语法不被发送或解析,因为它被推断为不分割。类似地,如果当前块的块宽度大于W且块宽度除以4不是W的倍数,且块高度大于H,则垂直TT分割语法不被发送或解析,因为它被推断为不分割。
有效或无效分割类型的示例分割当前块的一些实施例遵循从以下约束中选择的分割约束的列表,其中分割类型被允许或不被允许用于分割当前块取决于当前块的大小、宽度或高度、得到的子块的大小、或得到的子块的处理顺序。对于以下约束中4:2:0颜色格式,管线单元被定义为64x64的亮度分量,或32x32的色度分量。
1.TT分割不能被用于分割128x128 CTU。
2.TT分割不能被用于分割128xN块或Nx128块,其中N是小于或等于64的正整数。3.水平BT分割不能被用于分割128xN块。128xN块的块宽度为128,块高度为N,其中N是小于或等于64的正整数。
4.垂直BT分割不能被用于分割Nx128块。Nx128块的块宽度为N,块高度为128,其中N是小于或等于64的正整数。
5.如果得到的色度CU中的任一小于PxQ,则色度块不被允许分割。PxQ的示例是4x4,这意味着4x2,2x4和2x2的色度CU不被允许。
6.若分割后得到的子块大小等于128x128,128x64或64x128,则该分割类型是被允许的。
7.如果得到的分割CU处理顺序不能满足CTU中的z扫描约束,则BT分割和TT分割不能被允许用于分割当前块。例如,垂直BT分割不被允许用于对128x128 CTU进行分割,因为128x128 CTU的MxN块的编解码顺序不是z扫描顺序。
非方形管线单元管线单元是用于管线处理的基本单元,以及为了支持灵活计算,根据一些实施例,每个管线单元可以是方形或非方形。管线单元内的所有CU被一起处理,而处理顺序中的另一个管线单元内的任何CU不被插入。预定义管线单元的大小或面积,以序列、图像、片段、方格、CTU、CTU行级别的方式被发送或导出。例如,VPDU的面积被预定义为等于16384,4096或1024个像素。预定义VPDU大小的示例被设置为等于最大变换单元大小,诸如HEVC标准中的32x32或VVC标准中的64x64。基于相应视频压缩标准的文档或级别,隐式地定义的VPDU大小或面积的示例被导出。
与方形管线单元类似,第一和第二约束可被用于限制某些分割行为,以及在每个子树分割深度的块分割期间必须满足第一和第二约束之一。换句话说,不允许在任一子树分割深度处违反第一和第二约束。在第一约束中,当当前块的大小等于或小于VPDU大小或面积时,四分树、二元树或三元树分割被允许用于分割当前块。在第二约束中,仅在子树分割之后当子块的所有大小或面积等于VPDU大小或VPDU面积乘以某正整数时,四分树、二元树或三元树分割才被允许。在子树分割之后当从当前块分割的一组子块的大小或面积等于VPDU大小或VPDU面积乘以某正整数时,第二约束的另一实施例仅允许四分树、二元树或三元树分割。该组子块包括按连续顺序处理的和一起处理的所有子块,以及该组子块的大小或面积小于当前块。在一实施例中,如果当前块的大小或面积是VPDU大小或VPDU面积的两倍,则该当前块可通过四分树分割或二元树分割来分割,但不能通过三元树分割来分割。例如,CTU大小为128x128,VPDU面积定义为4096,因此允许的VPDU大小为64x64,128x32和32x128,然后大小为128x64或64x128的当前块不能使用三元树分割进行分割。如果当前块的大小或面积是VPDU大小或VPDU面积的四倍,则四分树,二元树和三元树分割皆可被用于分割当前块。
在第二约束的另一实施例中,如果当前块大小或面积是VPDU大小或VPDU面积的两倍,则当前块只能通过四分树分割或二元树分割来分割,而不能通过三元树分割来分割。如果当前块大小或面积大于VPDU大小或VPDU面积的两倍,则所有四分树分割,二元树分割和三元树分割可被用于分割当前块。根据第一约束,如果当前块大小小于VPDU大小或VPDU面积,则四分树分割、二元树分割和三元树分割皆可被用于分割当前块。
第二约束的另一实施例检查当前块大小或面积是否是VPDU大小或VPDU面积的两倍,以及如果当前块大小或面积是VPDU大小或面积的两倍,则三元树分割不被允许用于分割当前块。如果当前块的大小或面积大于VPDU大小或VPDU面积的两倍,则三元树分割被允许用于分割当前块。在该实施例中,如果当前块的大小或面积小于VPDU大小或VPDU面积,则三元树分割不被允许用于分割当前块。
图7示出了当非方形VPDU可用于处理每个CTU中的CU时的有效块分割结构的一些示例。VPDU面积设置为4096,因此允许的VPDU大小为64x64,128x32和32x128,CTU大小为128x128。CTU 702通过四分树分割来分割,CTU704和706通过二元树分割来分割,以及CTU708和710通过三元树分割来分割。这五个CTU 702,704,706,708和710中的每个CU大于或等于VPDU面积4096,以及每个CU包含一个或多个完整的VPDU。方形VPDU用于处理CTU702中的CU,而非方形VPDU用于处理CTU 708和710中的CU。CTU 704和706可由方形或非方形VPDU处理。通过三元树分割来分割的CTU 708中的中心分割和CTU 710中的中心分割可由方形或非方形VPDU处理。CTU 712和714首先由水平二元树分割进行分割,然后其中一个分割由垂直二元树分割被进一步分割,而另外一个由水平二元树分割被进一步分割。这两个CTU的块分割结构是有效的,因为CTU 712和714得到的CU等于一个可允许的VPDU大小的大小,以及每个CU包含一个完整的VPDU。CTU 716由水平二元树分割进行分割,然后每个分割通过另一个水平二元树分割被进一步分割。此块分割结构有效,因为得到的CU恰好包含一个大小等于128x32的完整VPDU。CTU 718首先由水平三元树分割来分割,以及中心分割通过垂直二元树分割被进一步分割。得到的CU包含一个完整的128x32VPDU或一个完整的64x64VPDU。
当通过方形VPDU处理CTU时,如图5所示的CTU 502,504,506和508的块分割结构被禁止,但是如果通过非方形VPDU处理CTU时,则这些块分割结构被允许。无论CTU是由方形还是非方形VPDU处理,CTU 510,512,514和516的块分割结构都被禁止。
图8示出了当非方形VPDU可用于处理每个CTU中的CU时无效块分割结构的一些其他示例。可允许的VPDU大小与图7中的示例相同,包括64x64,128x32和32x128,以及CTU802,804,806和803的CTU大小是128x128。CTU 802通过水平二元树分割来分割,然后每个分割通过水平三元树分割被进一步分割。不允许在水平二元树分割之后进行水平三元树分割,因为没有可允许的VPDU大小可包含从水平三元树分割分割出的一个或多个完整CU。CTU804首先通过水平二元树分割来分割,然后每个分割通过垂直三元树分割来分割。由于生成的CU的处理顺序违反了“再次访问管线单元”约束,因此不允许在水平二元树分割之后进行垂直三元树分割。从CTU分割的CU的处理顺序必须确保在离开VPDU后不允许再次访问VPDU,无论使用方形还是非方形VPDU。在这种情况下,即使32x128 VPDU包含两个完整的CU,包括CTU 804中的左上CU和左下CU,左下CU的解码过程可能需要等待左上CU的解码过程。例如,如果CTU 804中的左下CU以帧内预测模式被编码,则它需要左上CU的相邻重构样本,这引入了额外的等待时间,因为这两个CU在相同的VPDU中。在另一例子中,CTU 806首先通过水平三元树分割来分割,以及中心分割通过另一水平三元树分割被进一步分割。由于并非所有VPDU都包含一个或多个完整CU,因此得到的CU违反第一约束,以及由于并非所有CU都包含一个或多个完整VPDU,因此得到的CU也违反第二约束。CTU 808通过水平三元树分割进行分割,然后中心分割通过垂直三元树分割来分割。垂直三元树分割被禁止,因为垂直三元树分割的得到CU不完全包含在具有任一允许大小的VPDU中。
在根据第二约束确定三元树分割是否被允许的一实施例中,如果当前块大小或面积是VPDU大小或VPDU面积的两倍,则三元树分割被允许,除非所有进一步的二元树或三元树分割方向皆相同以及当前块的中心子块亦通过二元树分割来分割。在图9A和图9B中示出了该实施例的两个示例。在图9A中,首先当前块通过垂直三元树分割被分割,然后当前块的中心子块通过垂直二元树分割被分割。在图9A和图9B中,三元树分割由实线示出,二元树分割由虚线示出。在图9B中,通过垂直三元树分割当前块被分割为三个第一层子块,通过垂直三元树分割当前块的中心第一层子块被进一步分割为三个第二层子块,然后通过垂直二元树分割中心第二层子块被再次分割。
在第二约束的一实施例中,如果当前块的大小或面积是VPDU大小或面积的两倍,则当前块不能被进一步分割。在另一实施例中,如果当前块的大小或面积是VPDU大小或面积的两倍,以及用于二元树分割的默认最大分割深度是N,则当前块的二元树的最大分割深度是M,其中0≤M<N。例如,如果N=3,则M为0,1或2。例如,VPDU面积为4096,对于大小为128x64或64x128的当前块,当前块的二元树分割的最大分割深度M小于二元树分割的默认最大分割深度N。
非方形VPDU的使用可在序列、图像、片段、方格、CTU或CTU行级别或子树分割中被预定义,导出,或发送。在一示例性实施例中,如果当前块被进一步分割,则标志被用来确定当前块中非方形VPDU的使用。在另一实施例中,非方形VPDU的使用由当前块大小或面积导出。在又一实施例中,非方形VPDU的使用由当前块比率导出,其中当前块比率利用将块宽度除以块高度或者将块高度除以块宽度来计算。在另一实施例中,非方形VPDU的使用由当前子树分割深度导出。
管线单元外部的参考样本一些实施例将本发明的分割约束用于帧内或帧间预测工具。根据一实施例,当当前块的预测需要跨越管线单元边界的重构的相邻样本时,可以应用填充方法来生成填充的样本。图10示出当需要跨越VPDU边界的重构的相邻样本来处理当前CU时生成填充的样本的示例。当前CU 100的右边界和底边界在VPDU边界106和108上。预测当前CU 100所需的重构的相邻样本102和104在预测过程期间被填充的样本替换。填充方法可以与用于生成填充样本以在CTU或图像边界上替换参考样本的填充方法相同。填充方法在垂直或水平方向上应用,或者在垂直和水平方向上应用。在另一实施例中,当跨越管线单元边界的重构的相邻样本对于当前块的帧内或帧间预测是必需的时,那些重构的相邻样本被视为不可用。帧内预测是指使用不同颜色分量中的左上或右下相邻样本的角度帧内预测,线性模型预测或线性模型预测方法或使用帧内预测和帧间预测的组合预测。
图像边界外的管线单元的样本对于跨图像边界的管线单元,图像边界外的样本在CTU或图像边界处被填充。图11示出用跨越图像边界的VPDU的填充样本替换图像边界外的样本的示例。当前CU 112跨越图像边界116,和图像边界116外的样本114由填充的样本替换。填充的样本可通过在垂直或水平方向或垂直和水平方向上填充来生成。
最大TT大小和最大BT大小最大TT大小(max_TT_size)可被定义为限制将三元树分割应用于尺寸大于该最大TT大小的任一CU。最大TT大小被设置为MxN,以及它可以是预定义值,在序列,图像,片段或方格级别中传输的发送值,导出值或等于最大变换块大小。最大TT大小的示例被隐式地从CTU大小或片段类型中导出。最大变换块大小可以分别是用于亮度块或色度块的最大亮度变换大小或最大色度变换大小。例如,最大TT大小被设置为等于64x64,如果当前CU大于64x64,例如,当前CU的大小是128x128,128x64或64x128时,则当前CU不能通过水平三元树分割或垂直三元树分割被进一步分割。
最大BT大小(max_BT_size)可被定义为限制将二元树分割应用于大于该最大BT大小的任一CU,二元树分割包括对称BT分割,非对称BT分割,水平BT分割和垂直BT分割。最大BT大小是M×N块,其中MxN是诸如64×64的预定义值,在序列,图像,片段或方格级别中传输的发送值,导出值或最大变换块大小。最大BT大小可根据CTU大小和片段类型中的一个或组合来导出。最大变换块大小是亮度块的最大亮度变换大小或色度块的最大色度变换大小。一个示例是当最大BT的大小等于64x64,且当前CU大于64×64时,例如,如果当前CU是128x128,128x64或64x128,则当前CU不能被任何BT分割分割。
或者,最大BTT大小(max_BTT_size)被定义为限制将BT分割和TT分割应用于分割任一块大小大于max_BTT_size。包括对称BT和非对称BT分割的BT分割和TT分割不能被应用于大于最大BTT大小的CU。max_BTT_size是MxN,其中MxN是预定义值,在序列,图像,片段或方格级别中的发送值,导出值或等于最大变换块大小。最大变换块大小可以是亮度块的最大亮度变换大小或者色度块的最大色度变换大小。一个最大BTT大小的示例是根据CTU大小和片段类型中的一个或组合导出。若当前CU大小大于最大的BTT大小时,不能通过水平BT分割,垂直BT分割,水平TT分割或垂直TT分割来分割当前CU。
最大允许子树分割深度在子树分割的一些实施例中,当当前子树深度等于或小于最大允许子树分割深度减去阈值N时,三元树分割被允许用于分割当前块。在解码器侧阈值N被隐式地指示和推断,以及当当前子树深度大于最大允许子树分割深度减去N时,用于选择TT分割类型的指示符不存在。例如,当前子树分割深度为S,最大允许子树分割深度表示为M,当S≤(M-N)时,TT分割被允许用于分割当前块,其中M>N≥0。此外,如果当前子树分割深度大于(M-N),则用于选择三元树分割的指示符不存在。根据当前片段的片段类型或颜色分量或当前片段的时间层ID,另一实施例中的当前片段中的块的阈值N被自适应地确定。在编码器和解码器侧阈值N被隐式地确定和推断,以及当当前子树分割深度大于最大允许子树分割深度减去N时,用于选择三元树分割类型的指示符不存在。例如,对于帧内片段中的块,阈值是N1,对于帧间片段中的块,阈值是N2。假设当前子树分割深度表示为S,以及最大允许子树分割深度表示为M。如果当前片段是帧内片段,当S≤(M-N1)时,三元树分割被允许用于分割当前片段中的当前块,一旦S>(M-N1),则用于选择三元树分割类型的指示符不存在。类似地,如果当前片段是帧间片段,则当S≤(M-N2)时,三元树分割被允许用于分割当前片段中的当前块,以及一旦S>(M-N2),用于选择三元树分割类型的指示符不存在。
多树深度一些实施例定义多树深度(MTDepth)以计算二元树分割和三元树分割的分割深度。在定义通过二元树分割所分出的两个子块的MTDepth的实施例中,子块的MTDetph是其父块的MTDepth加1;然而,由三元树分割所分出的第一和第三子块的MTDepth是其父块的MTDepth加2,而由三元树分割所分出的第二子块的MTDepth是其父块的MTDepth加上1。由三元树分割所分出的第二子块是中心分割,其大小大于每个侧分割的大小。在另一实施例中,MTDepth以与前一实施例相同的二元树分割方式计数,但是当通过三元树分割计数MTDepth时,通过三元树分割从父块中分割出的所有三个子块的MTDepth是父块的MTDepth加1。在又一实施例中,在每个二元树分割之后MTDepth递增1,而在每个三元树分割之后MTDepth递增2。通过三元树分割分割出的第一,第二和第三子块的MTDepth是其父块的MTDepth加2。
MTDepth可被用作在编解码CU分割类型或分割方向时选择上下文模型的标准。在一实施例中,当前CU的深度由加权的四分树深度(QTDepth×m)和加权的多树深度(MTDepth×n)之和定义。上下文模型的选择基于当前、左侧和上方CU的深度之间的关系。例如,如果左侧和上方CU的深度都大于当前CU的深度,则当前CU的上下文模型索引是2;如果只有左侧或上方CU的深度大于当前CU的深度,则上下文模型索引为1;否则,当前CU的上下文模型索引为0。一个示例中加权因子m是1,加权因子n也是1,另一示例中加权因子m是2,加权因子n是1。在另一实施例中,当前CU的所选上下文模型索引是(QTDepth xm+MTDepth xn)。
MTDepth可用于指示当前CU是否被进一步分割。在一实施例中,如果通过BT和TT分割的最大允许CU分割深度被设置为k,则如果当前块的MTDepth大于最大允许CU分割深度k,则当前块不被进一步分割。在另一实施例中,如果当前块的MTDepth大于或等于最大允许CU分割深度k,则当前块不被进一步分割。
多树深度(MTDepth)的实施例用于确定是否对分割节点发送差值量化参数(Quantization Parameter,简称QP)。例如,在视频比特流中根据分割节点的四分树深度(quadTreeDepth)和多树深度(MTDepth)有条件地发送用于分割节点的差值QP。最大差值QP信令深度(diff_cu_qp_delta_depth)是预定义的、导出的或在片段级别、图像级别、方格级别和/或序列级别中发送的,以限制用于发送差值QP的最大深度。在差值QP被启用的情况下,对于深度小于或等于最大深度QP信令深度的叶CU,以及叶CU具有至少一个非零系数或至少一个转义调色板(escape palette),发送差值QP。对于深度等于最大差值QP信令深度的分割节点(例如,不是叶CU),在该分割节点中至多发送一个差值QP。如果叶CU中的一个具有至少一个非零系数或至少一个转义调色板,则发送差值QP。发送的差值QP由分割节点内的所有叶CU共享。当第一cbf等于第一值时,差值QP在第一个编码块标志(cbf)之后被发送,或者当第一转义调色板标志等于第二值时,差值QP在第一转义调色板标志之后被发送,其中第一值表示CU具有至少一个非零系数,第二值表示CU具有至少一个转义调色板。例如,当使用对CU最新发送的QP值对CU进行编码或解码时,IsCuQpDeltaCoded(即,IsCuQpDeltaCoded=0)被设置。以下伪代码示出根据quadTreeDepth和MTDepth有条件地发送差值QP的各种实施例。
Figure BDA0002888240950000251
其中K and N是预定义的整数,一些示例是K=2和N=1,K=0和N=0,以及K=1和N=1。
Figure BDA0002888240950000252
其中L是预定义的整数,比如L=2或L=1。
在变换单元级别发送差值QP(CuQpDeltaVal)的语法与HEVC标准中使用的语法相似,如下所示:
Figure BDA0002888240950000261
其中,差值QP(CuQpDeltaVal)基于绝对值(cu_qp_delta_abs)和符号标志(cu_qp_delta_sign_flag)被导出,以及最后QP值根据参考QP和差值Q P(CuQpDeltaVal)被重构。当符号标志不出现,其可被推断为0,以及当绝对值出现,变量IsCuQpDeltaCoded andCuQpDeltaVal按照以下导出:
IsCuQpDeltaCoded=1
CuQpDeltaVal=cu_qp_delta_abs*(1-2*cu_qp_delta_sign_flag)
在一实施例中,当对亮度和色度分量单独确定CU分割结构时,对亮度和色度分量分别发送最大差值QP信令深度(diff_cu_qp_delta_depth)。在另一实施例中,即使当对亮度和色度分量单独确定CU分割结构时,亮度和色度分量共享最大差值QP信令深度。在又一实施例中,当对亮度和色度分量单独确定CU分割结构时,将色度分量的最大差值QP信令深度设置为取决于亮度分量的值。例如,色度分量的最大差值QP信令深度是亮度分量的最大差值QP信令深度减去整数值,例如1或2。MTDepth的实施例可被用于导出分割节点的面积。例如,分割节点的面积(cbArea)计算如下:
cbArea=(最大CU面积)>>(QT深度×m+MTDepth×n)。
其中m和n是四分树深度和多树深度的加权因子,例如,m是1,n是1,或者m是2,n是1。
以下示例性实施例中的假设根据分割节点的面积(cbArea)有条件地发送差值QP,以及使用三元树分割。根据实施例,对通过三元树分割所分出的所有三个分割节点发送差值QP。在另一实施例中,仅对由作为中心分割的三元树分割所分出的的第二分割节点发送一个差值QP,以及不存在被编解码为用于第一和第三分割节点的新差值QP。在第一分割节点中使用的QP可以是最后的QP,在第二分割节点中使用的QP是使用发送的差值QP导出的,以及该导出的QP也在第三分割节点中使用。在又一实施例中,三个三元树分割可具有自己的差值QP,即,对于由三元树分割所分出的三个分割节点,可以发送至多三个差值QP。
仿射子块分割限制本发明的实施例还限制仿射编解码块的子块大小。当CU以传统的仿射模式编解码时,CU被分成几个子块。如果子块大小是4×4,则相应的色度块大小是2×2,这是不希望的。在一实施例中,仿射编解码块子块大小被固定为8×8或大于8×8,以确保色度子块大于或等于4×4。
六个MPM和六十四个剩余模式HEVC标准支持35个帧内预测模式,包括33个角度模式,DC模式和平面模式。根据从35种模式中选择的一种帧内预测模式,当前块的帧内预测子从相邻参考样本中被导出。如果选择角度模式,则当前块中的每个样本的值可通过根据所选角度模式的预测方向从参考样本外推样本来预测。如果选择平面模式,则当前块中的每个样本的值可通过假设具有从相邻块的边界样本导出的水平和垂直平滑梯度的振幅表面来计算。如果选择DC模式,则当前块的每个样本的值是参考样本的平均值。从当前块的上方或左侧相邻块的先前解码模式明确地或推断出所选择的帧内预测模式。上方和左侧相邻块的帧内预测模式包括在一组三个最可能模式(Most Probale Mode,简称MPM)中。第一MPM标志被发送以指示所选模式是否与三个MPM中的一个相同,如果是,则另一个标志被发送以指示选择三个MPM中的哪一个;如果第一个MPM标志为假,则使用5位固定长度码字显式地发送所选模式。HEVC标准中使用的33个角度模式如图12A所示,其中H表示水平模式的方向,V表示垂直模式的方向。预期下一代视频编解码标准中的帧内预测模式的数量扩展到包括DC,平面和65个角度模式的67种模式,如图12B所示。每个角度模式可由模式H+k或模式V+k表示,其中k=0,+-1,+-2,......+-16。模式H-16和模式V-16是相同的模式,因为该模式是指从左上角到当前块的中心的预测方向。图12B示出65个角度帧内预测模式,在图12A中的HEVC 33角度模式之间具有另外的32个角度模式。
一实施例选择6个帧内预测模式作为MPM和64个剩余模式,其中6个MPM包括从下一代视频编解码标准的67个帧内预测模式中选择的3个模式,以及3个附加模式。剩余的64种模式可使用6位元固定长度编解码进行编解码。附加模式的示例是角度模式,例如宽角度模式。宽角度模式可从45度和225度之外的模式中选择,例如,在图12B中,宽角度模式是低于模式H+16的帧内模式或者在模式V+16右侧的帧内模式。在另一示例中,附加模式是接近垂直,水平或对角线模式的模式。附加模式可通过减小垂直,水平或对角线模式附近的模式之间的角度差来导出。在另一示例中,附加模式是平面模式的变化,例如,附加模式使用与平面模式中使用的不同的右下位置像素来导出。具有不同右下位置像素的不同平面模式被添加到MPM。附加模式的另一示例是混合两种或更多种原始模式的组合模式,例如,垂直模式加平面模式,水平模式加平面模式,垂直模式加DC模式,或者水平模式加DC模式。
示例性流程图图13示出在视频编码或解码系统中实现的视频处理方法的示例性实施例的流程图。图像首先被分割为多个非重叠块,例如编解码树单元(Coding TreeUnit,简称CTU),以及通过递归分割结构每个块被进一步分割为一个或多个非重叠叶块,例如叶编解码单元(Coding Unit,简称CU)。该示例性实施例中的视频编码或解码系统通过首先在步骤S1302中接收与当前块相关联的输入数据来处理当前视频图像中的当前块。管线单元的管线单元大小被确定以决定一个或多个分割类型的有效性,其中管线单元被定义为设计用于管线处理的当前视频图像中的非重叠单元。在步骤S1304中选择预定义的分割类型用于将当前块分割成多个子块,以及在步骤S1306和步骤1308中检查该预定义的分割类型对于分割当前块是否有效或无效。在步骤S1306中检查由预定义分割类型分割的每个子块是否满足第一和第二约束之一。第一约束限制从当前块分割的每个子块完全包含在一个或多个管线单元中,以及第二约束限制从当前块分割的每个子块包含一个或多个完整的管线单元。如果任一子块违反第一和第二约束,则在步骤S1312中将该预定义分割类型设置为无效分割类型,如果所有子块满足第一和第二约束中的至少一个,则步骤S1308进一步检查是否子块满足再访问约束,其中再访问约束禁止在处理当前块的子块时离开管线单元后重新访问当前块中的任一管线单元。如果子块在步骤1308中满足再访问约束,则步骤S1310将预定义分割类型设置为有效分割类型;否则,步骤S1312将预定义分割类型设置为无效分割类型。在步骤S1314中,视频编码或解码系统检查是否需要检查用于分割当前块的另一分割类型的有效性,例如,视频编码器或解码器首先检查水平二元树分割是否有效,然后视频编码器或解码器进一步检查垂直二元树分割,水平三元树分割和垂直三元树分割中的一个或多个的有效性。如果需要检查另一个预定义的分割类型,则流程图重复从S1304到S1314的步骤。如果不需要检查更多分割类型,则使用有效分割类型之一将当前块自适应地分割成子块,或者在步骤S1316中不分割当前块。在步骤S1318中视频编码或解码系统检查当前块中的任一子块是否需被进一步分割,如果该子块被进一步分割,则在步骤S1320中将子块设置为当前块,以及重复从步骤S1304至步骤S1316的处理。如果不存在需被分割的子块,则在步骤S1322中根据当前块的块分割结构对当前块进行编码或解码。
图14示出可在视频编码或解码系统中实现的视频处理方法的另一示例性实施例的流程图。在步骤S1402中,视频编码或解码系统接收当前视频图像中的当前块的输入数据。两个整数阈值W和H被确定以判断哪种分割类型有效。在步骤S1404中选择用于将当前块分割为子块的预定义分割类型,以及在步骤S1406中,通过将当前块的宽度,高度或宽度和高度与阈值W和H中的一个或两个比较来确定用于分割当前块的预定义分割类型的有效性。在步骤S1408中,视频编码或解码系统使用允许的分割类型自适应地将当前块分割成多个子块。步骤S1410检查当前块中是否存在需被进一步分割的子块,在步骤S1412中,如果存在需被进一步分割的子块,则将子块设置为当前块,以及通过步骤S1404到步骤S1410处理该当前块。如果不存在需被分割的子块,则在步骤S1414中根据当前块的块分割结构对当前块进行编码或解码。
示例性系统框图图15示出视频编码器1500的示例性系统框图,该视频编码器1500实现了利用分割约束来分割当前块的各种实施例。块结构分割模块1510接收视频图像的输入数据,以及确定要编码的视频图像中的每个块的块分割结构。首先块结构分割模块1510中,当前视频图像被分为非重叠块,以及每个块被进一步由递归分割结构分为叶块,例如,块结构分割模块自适应地将当前视频图像中的每个非重叠CTU分割为叶CU用于预测处理。根据本发明的各种实施例,块结构分割模块1510接收与当前视频图像中的当前块相关联的输入数据,以及检查是否一个或多个预定义的分割类型被允许用于分割当前块。当前块可以是当前CTU,从当前CTU分割的CU,或者TU。在一些实施例中,如果从当前块分割的每个子块满足第一和第二约束中的至少一个,则预定义的分割类型被允许,其中第一约束限制每个子块被完全包含在一个管线单元中,以及第二约束约束限制每个子块包含一个或多个完整的管线单元。管线单元是设计用于管线处理的当前视频图像中的非重叠单元,以及根据视频压缩标准基于文档或级别管线单元大小被预定义或隐式地定义。例如,管线单元大小设置为最大变换块(Transform Block,简称TB)大小。块结构分割模块1510使用允许的分割类型自适应地分割当前块。如果由预定义分割类型分割的任一子块违反第一和第二约束,则预定义分割类型不允许被用于分割当前块。通过将当前块的宽度,高度或两者的宽度和高度与阈值W和阈值H中的一个或两个进行比较,块结构分割模块1510的一些其他实施例检查是否预定义的分割类型被允许用于分割当前块。阈值W的示例是64和阈值H的示例也是64。如果存在可用于对当前块进行分割的两个或更多个允许的分割类型,则块结构分割模块1510的实施例系统地测试允许分割类型以及根据速率失真优化(Rate DistortionOptimization,简称RDO)结果选择分割类型。信息对应于当前块的所选择的分割类型,例如在视频比特流中发送的分割结构,以便解码器对当前块进行解码。通过帧内预测模块1512中的帧内预测或帧间预测模块1514中的帧间预测当前视频图像中的每个叶块被预测以移除空间冗余或时间冗余。帧内预测模块1512基于当前图像的重构的视频数据提供当前叶块的帧内预测子。帧间预测模块1514执行运动估计(Motion Estimation,简称ME)和运动补偿(Motion Compensation,简称MC)以基于来自其他一个或多个视频图像提供当前叶块的预测子。开关1516选择帧内预测模块1512或帧间预测模块1514以将预测子提供给加法器1518以形成预测误差,也称为残差。当前叶块的残差由变换(Transform,简称T)模块1520进一步处理,随后是量化(Quantization,简称Q)模块1522。然后,经过变换和量化的残差信号由熵编码器1534编码以形成视频比特流。然后,视频比特流与辅助信息一起打包。当前叶块的经变换和量化的残差信号由逆量化(Inverse Quantization,简称IQ)模块1524和逆变换(Inverse Transform,简称IT)模块1526处理以恢复预测残差。如图15所示,残差通过在重构(Reconstruction,简称REC)模块1528处加回所选择的预测子来恢复,以产生重构的视频数据。重构的视频数据可存储在参考图像缓冲器(Reference Picture Buffer,简称Ref.Pict.Buffer)1532中,并且被帧间预测模块1514用于预测其他图像。来自REC 1528的重构的视频数据可能由于编码处理而受到各种损害,因此,在重构的视频数据被存储在参考图像缓冲器1532中之前,将环内处理滤波器1530应用于重构的视频数据,以进一步提高图像质量。
用于解码由图15的视频编码器1500生成的视频比特流的对应视频解码器1600在图16中示出。视频解码器1600的输入由熵解码器1610解码以解析和恢复经过变换的和量化残差信号和其他系统信息。块结构分割模块1612根据本发明的各种实施例确定每个视频图像中的每个块的块分割结构。在一些实施例中,如果由预定义分割类型分割的任一子块违反第一和第二约束,则当前块不被预定义分割类型分割。第一约束将通过预定义分割类型从当前块分割的每个子块限制为完全包含在一个管线单元中,以及第二约束限制每个子块包含一个或多个完整管线单元。管线单元是设计用于管线处理的当前视频图像中的非重叠单元,以及管线单元的大小被预定义或隐式地确定。在块结构分割模块1612的一些其他实施例中,根据当前块的宽度,高度或宽度和高度与阈值W和阈值H中的一个或两个之间的比较结果,当前块不被预定义的分割类型分割。当前块可以是CTU,从CTU分割的CU,或TU。解码器1600的解码过程类似于编码器1500处的重构回路,除了解码器1600仅需要帧间预测模块1616中的运动补偿预测。每个叶块由帧内预测模块1614或帧间预测模块1616解码,开关1618根据解码的模式信息选择帧内预测子或帧间预测子。通过逆量化(InverseQuantization,简称IQ)模块1622和逆变换(Inverse Transform,简称IT)模块1624与每个叶块相关联的变换和量化的残差信号被恢复。通过在REC 1620中加回预测子而恢复的残差信号被重构以产生重构的视频。通过环路处理滤波器(Filter)1626重构的视频被进一步处理以生成最终的解码视频。如果当前解码的视频图像是参考图像,则当前解码的视频图像的重构的视频也被存储Ref.Pict.Buffer 1628用于解码顺序中的后续图像。
图15和图16中的视频编码器1500和视频解码器1600的多个组件可由硬件组件,被配置为执行存储在内存中的程序指令的一个或多个处理器,或硬件和处理器的组合来实现。例如,处理器执行程序指令以控制与当前视频图像相关联的输入数据的接收。处理器配备单个或多个处理核心。在一些示例中,处理器执行程序指令以执行编码器1500和解码器1600中的一些组件中的功能,以及与处理器电耦合的内存被用于存储程序指令,对应于重构的数据的信息,和/或编码或解码过程中的中间数据。在一些实施例中,内存包括非暂时性计算机可读介质,诸如半导体或固态内存,随机存取内存(Random Access Memory,简称RAM),只读存储器(Read-Only Memory,简称ROM),硬盘,光盘或其他合适的存储介质。内存还可以是上面列出的两个或更多个非暂时性计算机可读介质的组合。如图15和图16所示,编码器1500和解码器1600可在相同的电子设备中实现,因此如果在同一电子设备中实现,则编码器1500和解码器1600的各种功能组件可被共享或重用。本发明的任一实施例可在编码器1500的块结构分割模块1510和/或解码器1600的块结构分割模块1612中实现。或者,任一实施例可实现为耦合的电路编码器1500的块结构分割模块1510,和/或解码器1600的块结构分割模块1612,以便提供熵解码器1610或块结构分割模块1612所需的信息。
具有一个或多个分割约束的所提出的视频处理方法可被应用为编码器和解码器的规范约束,或者可被应用为编码器非规范约束。对于规范约束的示例,如果特定分割类型或分割不被允许,则用于确定是否选择或分割的分割语法不被发送,以及其被推断为固定值或导出值。对于编码器非规范约束的示例,如果特定分割类型或分割不被允许,则分割语法仍被发送给对应的解码器,但是分割语法的值是固定或导出的值。
具有一个或多个分割约束的视频处理方法的实施例可在整合到视频压缩芯片中的电路或整合到视频压缩软件中的程序代码中实现,以执行上述处理。例如,当前块的块分割结构的确定可在计算机处理器,数字信号处理器(Digital Signal Processor,简称DSP),微处理器或现场可程序设计门阵列(Field Programmable Gate Array,简称FPGA)上将要执行的程序代码中实现。通过执行定义本发明所体现的具体方法的机器可读软件代码或固件代码,这些处理器可被配置为执行根据本发明的具体任务。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他具体形式实施。所描述的例子仅在所有方面被认为是说明性的而不是限制性的。因此,本发明的范围由权利要求而不是前面的描述来指示。属于权利要求的等同物的含义和范围的所有变化将被包括在其范围内。

Claims (24)

1.一种视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,该方法包括:
接收与当前视频图像中的当前块相关的输入数据;
确定多个管线单元的管线单元大小,其中所述多个管线单元是所述当前视频图像中设计为用于管线处理的多个非重叠单元;
确定是否预定义分割类型被允许用于根据所述分割约束将所述当前块分割成多个子块,其中所述分割约束包括第一约束和第二约束,所述第一约束限制从所述当前块分割出的所述多个子块中每个都被完全包含在管线单元中,所述第二约束限制从所述当前块分割出的所述多个子块中的每个都包含一个或多个管线单元,以及如果由所述预定义分割类型分割出的任一子块违反了所述第一约束和所述第二约束,所述预定义分割类型不被允许用于分割所述当前块;
使用允许分割类型对所述当前块进行分割;以及
根据所述当前块的块分割结构对所述当前块进行编码或解码。
2.如权利要求1所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,所述预定义分割类型从四分树分割,水平二元树分割,垂直二元树分割,水平三元树分割,以及垂直三元树分割中选择。
3.如权利要求1所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,所述当前块是编解码树单元,编解码单元,或变换单元。
4.如权利要求1所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,所述管线单元大小被设置为最大变换块大小。
5.如权利要求1所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,根据视频压缩标准,所述管线单元大小基于文档或级别被隐式地定义。
6.如权利要求1所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,对于4:2:0的颜色格式,所述管线单元大小被设置为64x64的亮度分量或32x32的色度分量。
7.如权利要求1所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,进一步通过考虑再访问约束来确定是否允许预定义分割类型,以及如果所述再访问约束被违反则不允许所述预定义分割类型,其中所述再访问约束禁止当处理从所述当前块分割出的所述多个子块时在离开所述管线单元之后再次访问所述当前块的任一管线单元。
8.如权利要求1所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,当多个非方形管线单元被允许时,所述管线单元大小包括多个允许管线单元大小。
9.如权利要求1所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,所述多个管线单元是方形管线单元或非方形管线单元,以及所述非方形管线单元的使用是预定义的,导出的,或在序列、图像、片段、方格、编解码树单元或编解码树单元行级别中发送的。
10.一种视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,所述方法包括:
接收与当前视频图像中的当前块相关的输入数据;
确定两个阈值W和H,其中阈值W和H均是正整数;
根据分割约束确定是否预定义分割类型被允许用于将所述当前块分割为多个子块,其中所述分割约束对应将所述当前块的宽度和所述当前块的高度,或所述当前块的所述宽度和所述高度与所述阈值W和H中的一个或两个相比较得到的比较结果;
使用允许分割类型对所述当前块进行分割,其中如果所述比较结果指示所述预定义分割类型不被允许,则所述预定义分割类型不被用于分割所述当前块;以及
根据所述当前块的块分割结构对所述当前块进行编码或解码。
11.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,根据视频压缩标准,所述两个阈值W和H基于文档或级别被预定义或隐式地定义。
12.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,当所述当前块的所述宽度大于所述阈值W和所述当前块的所述高度小于或等于所述阈值H时,水平二元树分割不被允许,以及当所述当前块的所述宽度小于或等于所述阈值W和所述当前块的所述高度大于所述阈值H时,垂直二元树分割不被允许。
13.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,当所述当前块的所述宽度大于所述阈值W时,水平三元树分割不被允许,以及如果所述当前块的所述高度大于所述阈值H时,垂直三元树分割不被允许。
14.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,当所述当前块的所述宽度大于或等于所述阈值W和所述当前块的所述高度除以4小于所述阈值H时,水平三元树分割不被允许,以及当所述当前块的所述高度大于或等于所述阈值H和所述当前块的所述宽度除以4小于所述阈值W时,垂直三元树分割不被允许。
15.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,当所述当前块的所述宽度大于所述阈值W和所述当前块的所述高度大于所述阈值H但所述高度除以4小于所述阈值H时,水平三元树分割不被允许,以及当所述当前块的所述高度大于所述阈值H和所述当前块的所述宽度大于所述阈值W但所述宽度除以4小于所述阈值W时,垂直三元树分割不被允许。
16.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,当所述当前块的宽度大于或等于所述阈值W和所述当前块的所述高度大于所述阈值H但所述高度除以4小于所述阈值H时,水平三元树分割不被允许,以及当所述当前块的所述高度大于或等于所述阈值H和所述当前块的所述宽度大于所述阈值W但所述宽度除以4小于所述阈值W时,垂直三元树分割不被允许。
17.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,当所述当前块的所述宽度大于所述阈值W和所述当前块的所述高度大于所述阈值H以及所述高度除以4不是阈值H的倍数时,水平三元树分割不被允许,以及当所述当前块的所述高度大于所述阈值H和所述当前块的所述宽度大于所述阈值W但所述宽度除以4不是所述阈值W的倍数时,垂直三元树分割不被允许。
18.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,根据所述比较结果至少一分割语法被推断,以及所述分割语法不在视频比特流中发送。
19.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,管线单元被定义为包括等于所述阈值W的宽度和等于所述阈值H的高度,管线单元大小是所述阈值W和所述阈值H的乘积,所述预定义分割类型三元树分割,以及当所述当前块的一大小是所述管线单元大小的两倍时,所述预定义分割类型不被允许。
20.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,管线单元被定义为包括等于所述阈值W的宽度和等于所述阈值H的高度,管线单元大小是所述阈值W和所述阈值H的乘积,所述当前块的大小是所述管线单元大小的两倍,以及除非所有的进一步分割方向都相同且所述当前块的中心子块通过二元树分割被分割,否则三元树分割不被允许。
21.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,管线单元被定义为包括等于所述阈值W的宽度和等于所述阈值H的高度,管线单元大小是所述阈值W和所述阈值H的乘积,以及当所述当前块的大小是所述管线单元大小的四倍时或当所述当前块的大小小于所述管线单元大小时,所述预定义分割类型被允许,其中预定义分割类型从四分树、二元树和三元树分割中选择。
22.如权利要求10所述的视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,其特征在于,管线单元被定义为包括等于所述阈值W的宽度和等于所述阈值H的高度,确定是否预定义分割类型被允许用于分割所述当前块可进一步考虑再访问约束,以及如果所述再访问约束被违反时,则所述预定义分割类型不被允许,其中所述再访问约束禁止当处理从所述当前块分割出的所述多个子块时在离开所述管线单元之后再次访问所述当前块的任一管线单元。
23.一种视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理装置,其中,所述装置包括一个或多个电子电路,被设置为:
接收与当前视频图像中的当前块相关的输入数据;
确定多个管线单元的管线单元大小,其中所述多个管线单元是所述当前视频图像中设计为用于管线处理的多个非重叠单元;
确定是否预定义分割类型被允许用于根据所述分割约束将所述当前块分割成多个子块,其中所述分割约束包括第一约束和第二约束,所述第一约束限制从所述当前块分割出的所述多个子块中每个都被完全包含在管线单元中,所述第二约束限制从所述当前块分割出的所述多个子块中的每个都包含一个或多个管线单元,以及如果由所述预定义分割类型分割出的任一子块违反了所述第一约束和所述第二约束,所述预定义分割类型不被允许用于分割所述当前块;
使用允许分割类型对所述当前块进行分割;以及
根据所述当前块的一块分割结构对所述当前块进行编码或解码。
24.一种存储程序指令的非暂时性计算机可读介质,所述程序指令使得装置的处理电路执行视频编解码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法,以及所述方法包括:
接收与当前视频图像中的当前块相关的输入数据;
确定多个管线单元的管线单元大小,其中所述多个管线单元是所述当前视频图像中设计为用于管线处理的多个非重叠单元;
确定是否预定义分割类型被允许用于根据所述分割约束将所述当前块分割成多个子块,其中所述分割约束包括第一约束和第二约束,所述第一约束限制从所述当前块分割出的所述多个子块中每个都被完全包含在一管线单元中,所述第二约束限制从所述当前块分割出的所述多个子块中的每个都包含一个或多个管线单元,以及如果由所述预定义分割类型分割出的任一子块违反了所述第一约束和所述第二约束,所述预定义分割类型不被允许用于分割所述当前块;
使用允许分割类型对所述当前块进行分割;以及
根据所述当前块的块分割结构对所述当前块进行编码或解码。
CN201980045882.4A 2018-07-14 2019-07-12 对具有分割约束的视频图像进行编码或解码的方法和装置 Active CN112385220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210908604.0A CN115379213A (zh) 2018-07-14 2019-07-12 视频编码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法和装置

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201862698114P 2018-07-14 2018-07-14
US62/698,114 2018-07-14
US201862698173P 2018-07-15 2018-07-15
US62/698,173 2018-07-15
US201862725314P 2018-08-31 2018-08-31
US62/725,314 2018-08-31
US201862727052P 2018-09-05 2018-09-05
US62/727,052 2018-09-05
US201862744701P 2018-10-12 2018-10-12
US62/744,701 2018-10-12
US201862754714P 2018-11-02 2018-11-02
US62/754,714 2018-11-02
PCT/CN2019/095855 WO2020015592A1 (en) 2018-07-14 2019-07-12 Methods and apparatuses of processing video pictures with partition constraints in a video coding system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210908604.0A Division CN115379213A (zh) 2018-07-14 2019-07-12 视频编码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法和装置

Publications (2)

Publication Number Publication Date
CN112385220A true CN112385220A (zh) 2021-02-19
CN112385220B CN112385220B (zh) 2022-12-09

Family

ID=69164260

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980045882.4A Active CN112385220B (zh) 2018-07-14 2019-07-12 对具有分割约束的视频图像进行编码或解码的方法和装置
CN202210908604.0A Pending CN115379213A (zh) 2018-07-14 2019-07-12 视频编码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210908604.0A Pending CN115379213A (zh) 2018-07-14 2019-07-12 视频编码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法和装置

Country Status (6)

Country Link
US (1) US20210329233A1 (zh)
EP (1) EP3818701A4 (zh)
CN (2) CN112385220B (zh)
BR (1) BR112021000667A8 (zh)
TW (1) TWI708502B (zh)
WO (1) WO2020015592A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3111340A1 (en) * 2018-09-03 2020-03-12 Huawei Technologies Co., Ltd. A video encoder, a video decoder and corresponding methods
US20210377553A1 (en) * 2018-11-12 2021-12-02 Interdigital Vc Holdings, Inc. Virtual pipeline for video encoding and decoding
US20200252608A1 (en) * 2019-02-05 2020-08-06 Qualcomm Incorporated Sub-partition intra prediction
WO2020164479A1 (en) * 2019-02-11 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Video block partition based on quinary tree
US11677969B2 (en) * 2019-03-22 2023-06-13 Tencent America LLC Method and apparatus for video coding
WO2021023262A1 (en) 2019-08-06 2021-02-11 Beijing Bytedance Network Technology Co., Ltd. Using screen content coding tool for video encoding and decoding
CN114342400A (zh) 2019-09-02 2022-04-12 北京字节跳动网络技术有限公司 基于色彩格式的编解码模式确定
CN114365488A (zh) * 2019-09-09 2022-04-15 北京字节跳动网络技术有限公司 视频编解码块的递归划分
KR102649584B1 (ko) 2019-09-21 2024-03-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로마 인트라 모드에 기초한 크기 제한
CN113286152B (zh) 2020-02-20 2023-05-23 腾讯美国有限责任公司 视频解码方法、装置、计算机设备及存储介质
EP4094441A4 (en) * 2020-04-01 2023-08-16 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR SAMPLE EXTRACTION AND FILLING FOR SUB-SAMPLING FILTERING FOR CROSS-COMPONENT LINEAR MODEL PREDICTION
US20210314567A1 (en) * 2020-04-04 2021-10-07 Qualcomm Incorporated Block partitioning for image and video coding
WO2021207055A1 (en) 2020-04-05 2021-10-14 Bytedance Inc. High level control of filtering in video coding
KR20230004797A (ko) * 2020-05-01 2023-01-06 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 파티션 신택스를 위한 엔트로피 코딩
WO2023236775A1 (en) * 2022-06-06 2023-12-14 Mediatek Inc. Adaptive coding image and video data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017088093A1 (en) * 2015-11-23 2017-06-01 Mediatek Singapore Pte. Ltd. On the smallest allowed block size in video coding
CN107836117A (zh) * 2015-07-15 2018-03-23 联发科技(新加坡)私人有限公司 用于视频和图像编解码的有条件的二叉树块分割结构的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4688279B2 (ja) * 2000-11-21 2011-05-25 富士通株式会社 動画像の空間解像度自動設定方法及び装置
CN103796032A (zh) * 2012-10-31 2014-05-14 朱洪波 逐行或逐列帧内预测
WO2017088170A1 (en) * 2015-11-27 2017-06-01 Mediatek Inc. Entropy coding the binary tree block partitioning structure
US10230961B2 (en) * 2016-06-03 2019-03-12 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US10779004B2 (en) * 2016-10-12 2020-09-15 Mediatek Inc. Methods and apparatuses of constrained multi-type-tree block partition for video coding
US20180109812A1 (en) * 2016-10-14 2018-04-19 Media Tek Inc. Block partitioning using tree structures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107836117A (zh) * 2015-07-15 2018-03-23 联发科技(新加坡)私人有限公司 用于视频和图像编解码的有条件的二叉树块分割结构的方法
WO2017088093A1 (en) * 2015-11-23 2017-06-01 Mediatek Singapore Pte. Ltd. On the smallest allowed block size in video coding

Also Published As

Publication number Publication date
EP3818701A4 (en) 2022-07-20
WO2020015592A1 (en) 2020-01-23
BR112021000667A8 (pt) 2023-02-07
CN115379213A (zh) 2022-11-22
US20210329233A1 (en) 2021-10-21
TW202007157A (zh) 2020-02-01
CN112385220B (zh) 2022-12-09
EP3818701A1 (en) 2021-05-12
BR112021000667A2 (pt) 2021-04-13
TWI708502B (zh) 2020-10-21

Similar Documents

Publication Publication Date Title
CN112385220B (zh) 对具有分割约束的视频图像进行编码或解码的方法和装置
EP3516869B1 (en) Method and apparatus for intra chroma coding in image and video coding
CN109792519B (zh) 基于帧内预测模式的图像处理方法及其装置
RU2718164C1 (ru) Способы и устройства для обработки видео данных с условным направлением сигнала информации параметра квантования
CN108713320B (zh) 视频编码中限制块尺寸的视频数据处理方法与装置
KR102585509B1 (ko) 비디오 프로세싱 시스템에서 크로마 양자화 파라미터 도출의 방법 및 장치
AU2023202344A1 (en) Position dependent intra prediction combination extended with angular modes
KR20190103167A (ko) 비디오 코딩을 위한 인트라 예측 기법들
US10681354B2 (en) Image encoding/decoding method and apparatus therefor
KR20190052097A (ko) 영상 처리 방법 및 이를 위한 장치
WO2020175965A1 (ko) 인트라 예측 기반 비디오 신호 처리 방법 및 장치
JP2024056945A (ja) 符号化ユニットを復号および符号化する方法、装置およびプログラム
CN114747216A (zh) 多重转换选择的发信技术
CN113728632A (zh) 视频编码、解码方法及系统
CN114586347A (zh) 用于基于交叉分量相关性来减小视频编码中的重构误差的系统和方法
CN113632479B (zh) 越界节点视频数据的处理方法及装置
KR20210038289A (ko) 참조샘플 구성 방법 및 영상 복호화 장치

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

Effective date of registration: 20220531

Address after: Chinese Taiwan jhubei City, Hsinchu County Taiwan Yuan Street No. five 3 floor 7

Applicant after: MEDIATEK Inc.

Address before: Hsinchu Science Park Road Taiwan Hsinchu city China Dusing No. 1

Applicant before: MEDIATEK Inc.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant