CN116918325A - 视频解码器初始化信息信令通知 - Google Patents

视频解码器初始化信息信令通知 Download PDF

Info

Publication number
CN116918325A
CN116918325A CN202280014509.4A CN202280014509A CN116918325A CN 116918325 A CN116918325 A CN 116918325A CN 202280014509 A CN202280014509 A CN 202280014509A CN 116918325 A CN116918325 A CN 116918325A
Authority
CN
China
Prior art keywords
block
sub
blocks
ett
uqt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280014509.4A
Other languages
English (en)
Inventor
张凯
张莉
邓智玭
张娜
王洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance 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 Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN116918325A publication Critical patent/CN116918325A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/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/172Methods 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 picture, frame or field
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了一种用于处理视频数据的机制。使用扩展三叉树(ETT)分割来分割父块以创建三个子块。至少一个子块包括具有不是2的幂的测量值的边。基于子块执行可视媒体数据和比特流之间的转换。

Description

视频解码器初始化信息信令通知
相关申请的交叉引用
本专利申请要求Kai Zhang等人于2021年2月10日提交的题为“扩展编解码树结构”的国际申请No.PCT/CN2021/076469的利益,该申请以引用方式并入本文。
技术领域
本专利文档涉及文件格式的数字音频视频媒体信息的生成、存储和消耗。
背景技术
数字视频在互联网和其他数字通信网络上占据着最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
第一方面涉及一种用于处理视频数据的方法,包括:使用扩展三叉树ETT分割来分割父块以创建三个子块,其中至少一个子块包括具有不是2的幂的测量值的边;和基于子块执行可视媒体数据和比特流之间的转换。
可选地,在任一前述方面中,该方面的另一实现方式提供父块包括宽度W和高度H,其中三个子块包括具有宽度W1和高度H1的近侧子块、具有宽度W2和高度H2的中间子块以及具有宽度W3和高度H3的远侧子块,并且其中W、W1、W2、W3、H、H1、H2和H3都是整数。
可选地,在任一前述方面中,该方面的另一实现方式提供W2不能以W2=2N2的形式表达,其中N2是正整数,或者其中H2不能以H2=2N2的形式表达,其中N2是整数。
可选地,在任一前述方面中,该方面的另一实现方式提供W1是2的幂,或者H1是2的幂。
可选地,在任一前述方面中,该方面的另一实现方式提供ETT分割是垂直ETT分割(ETT-V),其中三个子块的总宽度等于父块的宽度,并且其中三个子块各自的高度等于父块的高度。
可选地,在任一前述方面中,该方面的另一实现方式提供W1等于1/8*W,其中W2等于3/4*W,并且其中W3等于1/8*W。
可选地,在任一前述方面中,该方面的另一实现方式提供三个子块按照从左到右的编解码顺序被编解码。
可选地,在任一前述方面中,该方面的另一实现方式提供ETT分割是水平ETT分割ETT-H,其中三个子块的总高度等于父块的高度,并且其中三个子块各自的宽度等于父块的宽度。
可选地,在任一前述方面中,该方面的另一实现方式提供H1等于1/8*H,其中H2等于3/4*H,并且其中H3等于1/8*H
可选地,在任一前述方面中,该方面的另一实现方式提供三个子块按照从上到下的编解码顺序被编解码。
可选地,在任一前述方面中,该方面的另一实现方式提供仅当父块的一边是2的幂时,才允许ETT分割。
可选地,在任一前述方面中,该方面的另一实现方式提供仅当ETT分割被允许时,ETT分割的指示才被包括在比特流中。
可选地,在任一前述方面中,该方面的另一实现方式提供两个子块具有相同的宽度,另一个子块具有不同的宽度,或者其中两个子块具有相同的高度,另一个子块具有不同的高度。
可选地,在任一前述方面中,该方面的另一实现方式提供所有子块具有不同的宽度,或者其中所有子块具有不同的高度。
可选地,在任一前述方面中,该方面的另一实现方式提供基于父块的ETT分割、子块的索引和子块的尺寸来确定规则是否允许或强制分割子块。
可选地,在任一前述方面中,该方面的另一实现方式提供当父块被ETT分割时,规则强制分割中间子块。
可选地,在任一前述方面中,该方面的另一实现方式提供当中间子块大于阈值时并且当中间子块包含亮度样点时,中间子块被强制分割。
可选地,在任一前述方面中,该方面的另一实现方式提供当ETT是ETT-V时,不允许通过水平划分来分割中间子块,并且其中,当ETT是ETT-H时,不通过垂直划分来分割中间子块。
可选地,在任一前述方面中,该方面的另一实现方式提供当ETT是ETT-V时,中间子块被垂直分割成两个孩子子块,并且其中当ETT是ETT-H时,中间子块被水平分割成两个孩子子块。
可选地,在任一前述方面中,该方面的另一实现方式提供当ETT分割的码字没有在比特流中被信令通知时,ETT分割是从预定义值中被推断。
可选地,在任一前述方面中,该方面的另一实现方式提供仅当父块的高度大于最小高度阈值并且父块的宽度大于最小宽度阈值时,才执行ETT分割。
第二方面涉及一种非暂时性计算机可读介质,包括供视频编解码设备使用的计算机程序产品,计算机程序产品包含存储在非暂时性计算机可读介质上的计算机可执行指令,计算机可执行指令在由处理器执行时使视频编解码设备实施前述方面中任一方面的方法。
第三方面涉及一种用于处理视频数据的装置,包括:处理器;以及其上具有指令的非暂时性存储器,其中指令在由处理器执行时使处理器实施前述方面中任一方面的方法。
为清晰起见,任何一个前述实施例可与任何一个或多个其他前述实施例组合,以在本公开的范围内形成新的实施例。
从以下结合附图和权利要求的详细说明中,可更清楚地理解这些和其他特征。
附图说明
为了更全面地理解本公开的内容,现结合附图和详细说明对参考附图作以下简要说明,附图中相同的参考数字代表相同的部件。
图1为用于视频编解码的示例编码和解码(编解码器)的示意图。
图2为示例性的宏块分割的示意图。
图3为例如根据高效视频编解码(HEVC)对编解码块进行分割的示例模式的示意图。
图4为用于对图片进行分割以对残差进行编解码的示例方法的示意图。
图5为例如根据四叉树二叉树(QTBT)结构对图片进行分割的示例方法的示意图。
图6为多功能视频编解码(VVC)中使用的示例性的分割结构的示意图。
图7为示例性的扩展四叉树(EQT)分割结构的示意图。
图8为示例性的灵活树(FT)分割结构的示意图。
图9为示例性的广义TT(GTT)分割结构的示意图。
图10为示例性的边界分割树的示意图。
图11为音频和视频编解码标准(AVS)第三部分(AVS-3.0)中使用的示例性的分割结构的示意图。
图12为示例性的非对称四叉树(UQT)分割结构的示意图。
图13为UQT分割结构的另一个示例的示意图。
图14为具有四叉树(QT)、二叉树(BT)、EQT和UQT分割的示例性的最大编解码单元(LCU)分割的示意图。
图15为帧内预测(I)条带的示例性的树型编解码结构的示意图。
图16为双向帧间预测(B)和/或单向帧间预测(P)条带的示例性的树型编解码结构的示意图。
图17为示例性的扩展三叉树(ETT)分割结构的示意图。
图18为应用于由ETT分割产生的子块的示例性分割的示意图。
图19为示例性的视频处理系统的框图。
图20为示例性的视频处理装置的框图。
图21为示例性的视频处理方法的流程图。
图22是图示示例性的视频编解码系统的框图。
图23为图示示例性的编码器的框图。
图24为图示示例性的解码器的框图。
图25为示例性的编码器的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的示例性实现方式,但可使用任何数量的技术实施所公开的系统和/或方法,无论是当前已知的技术还是待开发的技术。本公开不应以任何方式限于以下示出的示例性实现方式、附图和技术,包括在此示出和描述的示例性设计和实现方式,而是可以在所附权利要求及其等效的全部范围内进行修改。
多功能视频编解码(VVC),也称为H.266,该术语在某些描述中使用仅是为了便于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。在本文档中,文本的编辑更改是相对于VVC规范或国际标准化组织(ISO)基础媒体文件格式(ISOBMFF)文件格式规范的,通过粗体斜体表示取消的文本,通过粗体下划线表示添加的文本。
本文档涉及图像/视频编解码,尤其涉及视频编解码中使用的分割结构。分割包括将一个大块划分成较小块的机制。所公开的机制可以应用于视频编解码标准,例如高效视频编解码(HEVC)和/或多功能视频编解码(VVC)。这种机制也可以适用于其他视频编解码标准和/或视频编解码器。
视频编解码标准主要通过国际电信联盟(ITU)电信标准化部门(ITU-T)和国际标准化组织(ISO)/国际电工委员会(IEC)标准的发展而演变的。ITU-T制定了H.261标准和H.263标准,ISO/IEC制定了运动图片专家组(MPEG)第一阶段(MPEG-1)和MPEG第四阶段(MPEG-4)视觉标准,并且这两个组织联合制定了H.262/MPEG第二阶段(MPEG-2)视频标准、H.264/MPEG-4高级视频编解码(AVC)标准和H.265/高效视频编解码(HEVC)标准。自H.262以来,视频编解码标准是基于利用时域预测加上变换编解码的混合视频编解码结构。
图1为例如根据HEVC的用于视频编解码的示例编码和解码(编解码器)的示意图。例如,编解码器100提供支持通过编码和/或解码图片将视频文件转换成比特流的功能。编解码器100被概括为描述编码器和解码器两者中采用的组件。编解码器100接收图片流作为视频信令101,并分割图片。当充当编码器时,编解码器100将视频信令101中的图片压缩成编解码的比特流。当充当解码器时,编解码器100从比特流中生成输出视频信令。编解码器100包括通用编解码器控制组件111、变换缩放和量化组件113、图片内估计组件115、图片内预测组件117、运动补偿组件119、运动估计组件121、缩放和逆变换组件129、滤波器控制分析组件127、环路滤波器组件125、解码图片缓冲器组件123以及标头格式化和上下文自适应二进制算术编解码(CABAC)组件131。这些组件如图所示耦合。在图1中,黑线指示要被编码/解码的数据的移动,而虚线指示控制其他组件的操作的控制数据的移动。编解码器100的组件可以都存在于编码器中。解码器可以包括编解码器100的组件的子集。例如,解码器可以包括图片内预测组件117、运动补偿组件119、缩放和逆变换组件129、环路滤波器组件125和解码图片缓冲器组件123。接下来描述这些组件。
视频信令101是已被编解码树分割成像素块的被捕获的视频序列。编解码树采用各种划分模式将像素块细分成更小的像素块。然后这些块可以进一步被细分成更小的块。这些块可以被称为编解码树上的节点。较大的父节点被划分成较小的孩子节点。节点被细分的次数被称为节点/编解码树的深度。在一些情况下,被划分的块可以被包括在编解码单元(CU)中。举例来说,CU可以是CTU的子部分,其含有亮度块、(多个)红色差异色度(Cr)块和(多个)蓝色差异色度(Cb)块以及CU的对应语法指令。划分模式可以包括二叉树(BT)、三叉树(TT)和四叉树(QT),用于根据所采用的划分模式将节点分别分割成两个、三个或四个不同形状的孩子节点。视频信令101被转发到通用编解码器控制组件111、变换缩放和量化组件113、图片内估计组件115、滤波器控制分析组件127和运动估计组件121以进行压缩。
通用编解码器控制组件111被配置为根据应用约束做出与将视频序列的图片编解码为比特流相关的决定。例如,通用编解码器控制组件111管理比特率/比特流尺寸相对于重建质量的优化。可以基于存储空间/带宽可用性和图片分辨率请求来做出这样的决定。通用编解码器控制组件111还根据传输速度来管理缓冲器的利用率,以减轻缓冲器欠载和溢出问题。为了管理这些问题,通用编解码器控制组件111通过控制其他组件来管理分割、预测和滤波。例如,通用编解码器控制组件111可以增加压缩复杂度以提高分辨率和增加带宽使用,或者可以降低压缩复杂度以降低分辨率和带宽使用。因此,通用编解码器控制组件111控制编解码器100的其他组件以平衡视频信令重建质量和比特率的关系。通用编解码器控制组件111创建控制数据,该控制数据控制其他组件的操作。控制数据还被转发到标头格式化和CABAC组件131,以被编解码在比特流中,从而在解码器处信令通知用于解码的参数。
视频信令101还被发送至运动估计组件121和运动补偿组件119进行帧间预测。视频信令101的视频单元(例如,图片、条带、CTU等)可以被划分成多个块。运动估计组件121和运动补偿组件119相对于一个或多个参考图片中的一个或多个块对所接收的视频块执行帧间预测编解码,以提供时域预测。编解码器系统100可执行多个编解码通道,例如,为视频数据的每个块选择合适的编解码模式。
运动估计组件121和运动补偿组件119可以高度集成,但是出于概念上的目的而被分开描述。由运动估计组件121执行的运动估计是生成运动矢量的过程,其估计视频块的运动。举例来说,运动矢量可指定当前块中的编解码对象相对于参考块的位移。参考块是被发现在像素差异方面与要被编解码的块紧密匹配的块。这种像素差异可以由绝对差异之和(SAD)、平方差之和(SSD)或其他差异度量来确定。HEVC采用几种编解码对象,包括CTU、编解码树块(CTB)和CU。例如,CTU可以被划分为CTB,然后再被划分为CB以包含在CU中。CU可被编码为包含预测数据的预测单元(PU)和/或包含CU的变换残差数据的变换单元(TU)。运动估计组件121通过使用率失真分析作为率失真优化过程的一部分来生成运动矢量PU和TU。举例来说,运动估计组件121可确定当前块/帧的多个参考块、多个运动矢量等,且可选择具有最佳率失真特性的参考块、运动矢量等。最佳的率失真特性平衡了视频重建的质量(例如,通过压缩丢失的数据量)和编解码效率(例如,最终编码的尺寸)两者。
在一些示例中,编解码器100可计算存储在解码图片缓冲器组件123中的参考图片的亚整数像素位置的值。例如,视频编解码器100可对参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行插值。因此,运动估计组件121可以相对于全像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动矢量。运动估计组件121通过将PU的位置与参考图片的参考块的位置进行比较来计算帧间编解码条带中的视频块的PU的运动矢量。运动估计组件121将所计算的运动矢量作为运动数据输出到标头格式化和CABAC组件131进行编码,并输出到运动补偿组件119。
由运动补偿组件119执行的运动补偿可包括根据运动估计组件121确定的运动矢量取回或生成参考块。在一些示例中,运动估计组件121和运动补偿组件119可以在功能上集成。在接收到当前视频块的PU的运动矢量后,运动补偿组件119可定位运动矢量指向的参考块。然后,通过从正被编解码的当前块的像素值中减去参考块的像素值,形成像素差值,来形成残差视频块。一般来说,运动估计组件121相对于亮度分量执行运动估计,且运动补偿组件119使用基于色度分量和亮度分量两者的亮度分量计算的运动矢量。参考块和残差块被转发到变换缩放和量化组件113。
视频信令101也被发送至图片内估计组件115和图片内预测组件117。如同运动估计组件121和运动补偿组件119一样,图片内估计组件115和图片内预测组件117可以被高度集成,但是出于概念上的目的而被分开描述。如上所述,作为运动估计组件121和运动补偿组件119在图片之间执行的帧间预测的替代,图片内估计组件115和图片内预测组件117相对于当前图片中的块对当前块进行帧内预测。具体地,图片内估计组件115确定用于编码当前块的帧内预测模式。在一些示例中,图片内估计组件115从多个测试的帧内预测模式中选择合适的帧内预测模式来编码当前块。然后,所选择的帧内预测模式被转发给标头格式化和CABAC组件131进行编码。
例如,图片内估计组件115使用各种测试的帧内预测模式的率失真分析计算率失真值,并选择出测试模式中具有最佳率失真特性的帧内预测模式。率失真分析通常确定编码块和被编码以产生编码块的原始未编码块之间的失真(或误差)量,以及用于产生编码块的比特率(例如,比特数)。图片内估计组件115为各编码块的失真和速率计算比率,以确定哪种帧内预测模式展示了编码块的最佳速率失真值。此外,图片内估计组件115可被配置成使用基于率失真优化(RDO)的深度建模模式(DMM)来对深度图的深度块进行编解码。
当在编解码器上实现时,图片内预测组件117可基于由图片内估计组件115确定的被选定的图片内预测模式从参考块中生成残差块,或当在解码器上实现时,从比特流中读取残差块。残差块包括参考块和原始块之间的值的差异,表示为矩阵。然后,残差块被转发到变换缩放和量化组件113。图片内估计组件115和图片内预测组件117可以对亮度分量和色度分量两者进行操作。
变换缩放和量化组件113被配置为进一步压缩残差块。变换缩放和量化组件113对残差块应用变换,例如离散余弦变换(DCT)、离散正弦变换(DST)或概念上类似的变换,从而产生包含残差变换系数值的视频块。也可以使用小波变换、整数变换、子带变换或其他类型的变换。变换可以将残差信息从像素值域转换到变换域,例如频域。变换缩放和量化组件113还被配置成例如基于频率来缩放变换后的残差信息。这种缩放涉及将缩放因子应用于残差信息,从而以不同的粒度值化不同的频率信息,这影响着重建视频的最终视觉质量。变换缩放和量化组件113还被配置成量化变换系数以进一步降低比特率。量化过程可以减少与一些或所有系数相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些示例中,然后,变换缩放和量化组件113可以执行包括量化的变换系数的矩阵的扫描。量化的变换系数被转发到标头格式化和CABAC组件131,以在比特流中被编码。
缩放和逆变换组件129应用变换缩放和量化组件113的逆操作来支持运动估计。缩放和逆变换组件129应用逆缩放、变换和/或量化来重建像素域中的残差块,例如,残差块后续被用作另一当前块的参考块。运动估计组件121和/或运动补偿组件119可以通过将残差块加回先前的参考块来计算另一个参考块,以用于后面的块/帧的运动估计。将滤波器应用于重建的参考块,以减轻在缩放、量化和变换期间创建的伪影。否则,当预测后续块时,这些伪影会导致不准确的预测(并创建额外的伪影)。
滤波器控制分析组件127和环路滤波器组件125将滤波器应用于残差块和/或重建图像块。例如,来自缩放和逆变换组件129的经变换的残差块可以与来自图片内预测组件117和/或运动补偿组件119的对应参考块组合以重建原始图像块。然后,可以将滤波器应用于重建的图像块。在一些示例中,滤波器可改为应用于残差块。如同图1中的其他组件一样,滤波器控制分析组件127和环路滤波器组件125被高度集成,并且可以一起实现,但是出于概念上的目的而被分开描述。应用于重建的参考块的滤波器被应用于特定的空域区域,并且包括多个参数来调整如何应用这些滤波器。滤波器控制分析组件127分析重建的参考块,以确定应该在哪里应用这种滤波器,并设置对应的参数。这种数据被转发到标头格式化和CABAC组件131,作为用于编码的滤波器控制数据。环路滤波器组件125基于该滤波器控制数据应用这些滤波器。这些滤波器可以包括去块滤波器、噪声抑制滤波器、SAO滤波器和自适应环路滤波器。在不同的示例中,这些滤波器可以被应用于空域/像素域(例如,在重建的像素块上)或频域。
当作为编码器运行时,滤波后的重建图像块、残差块和/或预测块被存储在解码图片缓冲器组件123中,以供后续在前述的运动估计中使用。当作为解码器操作时,解码图片缓冲器组件123存储重建和滤波后的块并将其作为输出视频信令的一部分转发给显示器。解码图片缓冲器组件123可以是能够存储预测块、残差块和/或重建图像块的任何存储器设备。
标头格式化和CABAC组件131从编解码器100的各种组件接收数据,并将这些数据编码为编解码比特流,以向解码器传输。具体而言,标头格式化和CABAC组件131生成各种标头来编码控制数据,例如通用控制数据和滤波控制数据。此外,包括帧内预测和运动数据的预测数据以及具有量化变换系数数据的形式的残差数据都被编码在比特流中。最终比特流包括解码器重建原始分割视频信令101所需的所有信息。这些信息还可包括帧内预测模式索引表(也称为码字映射表)、各种块的编码上下文的定义、最可能的帧内预测模式的指示、分割信息的指示等。可以通过采用熵编解码来编码这些数据。例如,可以通过采用上下文自适应可变长度编解码(CAVLC)、CABAC、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间分割熵(PIPE)编解码或其他熵编解码技术来对信息进行编码。在熵编解码之后,可以将编解码比特流发送到另一设备(例如,视频解码器)或存档以供后续传输或检索。
为了如上所述对图片进行编码和/或解码,首先需要对图片进行分割。图2是示例性宏块分割200的示意图,宏块分割200可以由符合H.264/AVC的分割树结构创建。此类标准中编解码层的核心是宏块,包含16×16的亮度样点块,并且在4:2:0颜色采样的情况下,还包含两个对应的8×8色度样点块。帧内编解码块使用空域预测来利用像素间的空域相关性。两种分割被定义于帧内编解码块,即16×16子块和4×4子块。帧间编解码块通过估计图片间的运动来使用时域预测,而不是空域预测。可以为16×16宏块或任何子宏块分割独立地估计运动。帧间编解码的块可以被分割成16×8子块、8×16子块、8×8子块、8×4子块、4×8子块和/或4×4子块。所有这些值都是在许多样点中测量的。样点是像素处的亮度(光)值或色度(颜色)值。
图3为例如根据HEVC分割编解码块的示例模式300的示意图。在HEVC,图片被分割成多个CTU。通过使用表示为编解码树的四叉树结构将CTU划分成CU,以适应各种局部特性。是使用图片间(时域)预测还是图片内(空域)预测来编解码图片区域的决定是在CU级别处做出的。根据PU划分类型,每个CU可以进一步划分为一个、两个或四个PU。在一个PU内,应用相同的预测过程,并且基于PU将相关信息发送到解码器。在通过应用基于PU划分类型的预测过程获得残差块之后,可以根据类似于CU的编解码树的另一四叉树结构将CU分割成变换单元(TU)。HEVC结构的一个特点是HEVC有多个分割概念,包括CU、PU和TU。
接下来强调使用HEVC的混合视频编解码中涉及的各种特征。HEVC包括CTU,CTU类似于AVC中的宏块。CTU具有由编码器选择的尺寸,并且可以大于宏块。CTU包括亮度编解码树块(CTB)、对应的色度CTB和语法元素。亮度CTB的尺寸(表示为LxL)可以选择L=16、32或64个样点,亮度CTB的尺寸越大,压缩效果越好。然后,HEVC支持使用树结构和类似四叉树的信令将CTB分割成更小的块。
CTU的四叉树语法规定了对应亮度和色度CB的尺寸和位置。四叉树的根与CTU相关联。因此,亮度CTB的尺寸是亮度CB支持的最大尺寸。将CTU分割成亮度和色度CB是被联合信令通知的。一个亮度CB和两个色度CB连同相关的语法一起形成编解码单元(CU)。CTB可以只包含一个CU,或者可以被划分以形成多个CU。每一CU具有相关联的分割为预测单元(PU)和变换单元(TU)树。在CU级别处做出是使用图片间预测还是图片内预测来编解码图片区域的决定。PU分割结构在CU级别处具有根。然后,取决于基本预测类型决定,亮度和色度CB可以在尺寸上被进一步划分,且根据模式300从亮度和色度预测块(PB)预测。HEVC支持从64×64到4×4样点的可变PB尺寸。如图所示,模式300可以将尺寸为M像素乘M像素的CB划分成MxM块、M/2xM块、MxM/2块、M/2xM/2块、M/4xM(左)块、M/4xM(右)块、MxM/4(上)块和/或MxM/4(下)块。应当注意,用于将CB划分成PB的模式300受到尺寸限制。此外,对于图片内预测的CB,仅支持MxM和M/2xM/2。
图4为例如根据HEVC对图片进行分割以对残差进行编解码的示例方法400的示意图。如上所述,通过参考参考块对块进行编解码。当前块和参考块的值之间的差被称为残差。方法400被用来压缩残差。例如,使用块变换对预测残差进行编解码。方法400采用TU树结构403来分割CTB 401和所包括的被用于变换块(TB)应用的CB。方法400示出了将CTB 401细分为CB和TB。实线指示CB边界,虚线指示TB边界。TU树结构403是分割CTB 401的示例四叉树。诸如离散余弦变换(DCT)之类的变换被应用于每个TB。该变换将残差转换成可以使用比未压缩残差更少的数据来表示的变换系数。TU树结构403具有CU级别处的根。亮度CB残差区域可以与亮度TB区域相同,或也可以进一步划分为更小的亮度TB。这同样适用于色度TB。类似于DCT的整数基变换函数被定义用于4×4、8×8、16×16和32×32的正方形TB尺寸。对于亮度图片内预测残差的4×4变换,可替换地规定从DST形式导出的整数变换。
下文讨论了联合探索模型(JEM)中具有较大CTU的四叉树加二叉树块结构。视频编解码专家组(VCEG)和MPEG成立了联合视频探索小组(JVET),以探索HEVC以外的视频编解码技术。JVET采用了许多改进,包括将这些改进集成到名为联合探索模型(JEM)的参考软件中。
图5为例如根据四叉树二叉树(QTBT)结构501对图片进行分割的示例方法500的示意图。图5还示出了QTBT结构501的树表示503。与HEVC中的分割结构不同,QTBT结构501移除了多个分割类型的概念。例如,QTBT结构501移除了CU、PU和TU概念的分离性,并且支持CU分割形状的更大灵活性。在QTBT结构501中,CU可以具有正方形或矩形形状。在方法500中,首先通过四叉树结构分割CTU。四叉树叶节点由二叉树结构进一步分割。对称水平划分和对称垂直划分是二叉树中使用的两种划分类型。二叉树的叶节点被称为CU,并且该分割被用于预测和变换处理,无需进一步分割。这使得CU、PU和TU在QTBT结构501中具有相同的块尺寸。在JEM中,CU有时包括不同颜色分量的CB。例如,在4:2:0色度格式的单向帧间预测(P)和双向帧间预测(B)条带的情况下,一个CU可以包含一个亮度CB和两个色度CB。此外,CU有时包括单一分量的CB。例如,在帧内预测(I)条带的情况下,一个CU可仅包含一个亮度CB或仅包含两个色度CB。
为QTBT分割方案定义了以下参数。CTU尺寸是四叉树的根节点尺寸,这与HEVC中的概念相同。最小四叉树尺寸(MinQTSize)是被允许的最小四叉树叶节点尺寸。最大二叉树尺寸(MaxBTSize)是被允许的最大二叉树根节点尺寸。最大二叉树深度(MaxBTDepth)是被允许的最大二叉树深度。最小二叉树尺寸(MinBTSize)是被允许的最小二叉树叶节点尺寸。
在QTBT结构501的一个示例中,CTU尺寸被设置为具有两个对应的64×64色度样点块的128×128亮度样点,MinQTSize被设置为16×16,MaxBTSize被设置为64×64,MinBTSize(对于宽度和高度两者)被设置为4×4,并且MaxBTDepth被设置为4。首先将四叉树分割应用于CTU,以生成四叉树叶节点。四叉树叶节点的尺寸可以从16×16(最小尺寸)到128×128(CTU尺寸)。如果叶四叉树节点是128×128,由于尺寸超过了MaxBTSize(例如,64×64),该节点将不被二叉树进一步划分。否则,叶四叉树节点可以由二叉树进一步分割。因此,四叉树叶节点也是二叉树的根节点,并且二叉树深度为0。当二叉树深度达到MaxBTDepth(例如,4)时,不再考虑进一步的划分。当二叉树节点的宽度等于MinBTSize(例如,4)时,不再考虑进一步的水平划分。类似地,当二叉树节点的高度等于MinBTSize时,不再考虑进一步的垂直划分。二叉树的叶节点通过预测和变换处理被进一步处理,而无需任何进一步的分割。在JEM中,最大CTU尺寸为256×256亮度样点。
方法500说明了通过使用QTBT结构501对块进行分割的示例,并且树表示503说明了对应的树表示。实线指示四叉树划分,并且虚线指示二叉树划分。在二叉树的每个划分(例如,非叶)节点中,一个标志被信令通知来指示使用哪种划分类型(例如,水平或垂直),其中0指示水平划分,并且1指示垂直划分。对于四叉树划分,不需要指示划分类型,因为四叉树划分总是既水平又垂直地划分块,以产生4个尺寸相等的子块。
此外,QTBT方案支持亮度和色度具有单独的QTBT结构501的能力。例如,在P条带和B条带中,一个CTU中的亮度和色度CTB共享相同的QTBT结构501。然而,在I条带中,亮度CTB被QTBT结构501分割成CU,并且色度CTB被另一个QTBT结构501分割成色度CU。因此,I条带中的CU可包括亮度分量的编解码块或两个色度分量的编解码块。此外,P条带或B条带中的CU包括所有三种颜色分量的编解码块。在HEVC中,对小块的帧间预测进行限制,以减少运动补偿的存储器访问,使得4×8和8×4块不支持双向预测,并且4×4块不支持帧间预测。在JEM的QTBT中,这些限制被移除。
现在讨论VVC的三叉树分割。图6是在VVC中使用的示例性的分割结构的示意图600。如图所示,VVC中支持除四叉树和二叉树之外的划分类型。例如,示意图600包括四叉树分割601、垂直二叉树分割603、水平二叉树分割605、垂直三叉树分割607和水平三叉树分割609。除了四叉树和二叉树之外,这种方法还引入了两个三叉树(TT)分割。
在示例实现方式中,两种级别树被采用,包括区域树(四叉树)和预测树(二叉树或三叉树)。CTU首先被区域树(RT)分割。RT叶可以用预测树(PT)进一步划分。还可以用PT进一步划分PT叶,直到达到最大PT深度。PT叶是基本的编解码单元。为方便起见,PT也可称为CU。在示例实现方式中,CU不能被进一步划分。预测和变换都以与JEM相同的方式被应用于CU。整个分割结构被命名为多类型树。
现在讨论扩展的四叉树。图7是示例性的EQT分割结构的示意图700。对应于块分割过程的EQT分割结构包括用于视频数据的块的扩展四叉树分割过程。扩展的四叉树分割结构表示将视频数据的块分割成最终的子块。当扩展四叉树分割过程决定将扩展四叉树分割应用于块时,该块总是被划分成四个子块。最终子块的解码基于视频比特流。视频数据的块的解码是基于根据导出的EQT结构解码的最终子块。
EQT分割过程可递归应用于块,以生成EQT叶节点。可选地,当EQT应用于某个块时,对于从EQT划分得到的每个子块,可以进一步划分成BT和/或QT和/或TT和/或EQT和/或其他类型的分割树。在一个示例中,EQT和QT可以共享相同的深度递增过程和相同的叶节点尺寸限制。在这种情况下,当节点的尺寸达到最小允许的四叉树叶节点尺寸或节点的EQT深度达到最大允许的四叉树深度时,一个节点的分割可以被隐式终止。或者,EQT和QT可以共享不同的深度增量过程和/或叶节点尺寸的限制。当节点的尺寸达到最小允许的EQT叶节点尺寸或者与该节点相关联的EQT深度达到最大允许的EQT深度时,EQT对该节点的分割可以隐式终止。在一个示例中,可以在序列参数集(SPS)、图片参数集(PPS)、条带标头、CTU、区域、片和/或CU中信令通知EQT深度和/或最小允许EQT叶节点尺寸。
EQT可能不使用应用于正方形块的四叉树分割,例如,块的尺寸为MxN,其中M和N为相等或不相等的非零正整数值。相反,EQT将一个块均等地划分成四个分割,例如M/4×N划分701或M×N/4划分703。划分727和划分729分别示出了划分701和703的一般示例。例如,划分727被划分成M×N1、MxN2、MxN3和MxN4,其中N1+N2+N3+N4=N。此外,划分729被划分成M1×N、M2xN、M3xN和M4xN,其中M1+M2+M3+M4=M
在另一个示例中,EQT能将形状平均划分为四个分割,其中分割尺寸取决于M和N的最大值和最小值。在一个示例中,一个4×32块可被划分为四个4×8子块,而一个32×4块可被划分为四个8×4子块。
在另一个示例中,EQT将一个块平均划分成四个分割,例如两个分割的尺寸等于(M*w0/w)x(N*h0/h),另外两个分割的尺寸等于(M*(w-w0)/w)x(N*(h-h0)/h),如划分705、划分707、划分709和划分711所示。例如,w0和w可以分别等于1和2,使得宽度减半,而高度可以使用不是2:1的其他比率来获得子块。在另一个示例中,h0和h可以分别等于1和2,使得高度减半,而宽度可以使用不是2:1的其他比率。例如,划分705包括固定为M/2的子块宽度,其高度等于N/4或3N/4,上方的两个分割具有较小的高度。例如,划分707包括高度固定为N/2、宽度等于M/4或3M/4的子块,左边的两个分割具有较小的宽度。例如,划分709包括固定为M/2的子块宽度,其高度等于N/4或3N/4,下方的两个分割具有较小的高度。例如,划分711包括高度固定为N/2、宽度等于M/4或3M/4的子块,右边的两个分割具有较小的宽度。
划分713、划分715、划分717、划分719、划分721和划分723示出了四叉树分割的其他示例。例如,划分713、划分715和划分717示出了形状被M×N/4和M/2×N/2划分的选项。例如,划分719、划分721和划分723示出了形状被N×M/4和N/2×M/2划分的选项。
划分725示出了具有不同形状分割的四叉树分割的更一般情况。在这种情况下,划分725被划分成M1xN1、(M-M1)xN1、M1x(N-N1)和(M-M1)x(N-N1)。
图8是示例性的灵活树(FT)分割结构的示意图800。FT分割结构对应于包括用于视频数据的块的FT分割过程的块分割过程。FT分割结构表示将视频数据的块分割成最终子块。当FT分割过程决定对块应用FT分割时,该块被划分成K个子块,其中K可以大于4。可以基于视频比特流对最终子块进行编解码。此外,可以基于根据导出的FT结构解码的最终子块来解码视频数据的块。FT分割过程可以递归地应用于给定的块,以生成FT叶节点。当一个节点达到最小允许FT叶节点尺寸或者与该节点相关联的FT深度达到最大允许FT深度时,该节点的分割被隐式终止。此外,当FT应用于某个块时,可以创建多个子块。由FT创建的每个子块可以进一步被划分成BT、QT、EQT、TT和/或其他类型的分割树。在示例中,可以在SPS、PPS、条带标头、CTU、区域、片和/或CU中信令通知FT深度或FT的最小允许FT叶节点尺寸或最小允许的FT分割尺寸。类似于EQT,由FT分割创建的所有子块可以是相同或不同的尺寸。
示意图800包括示例FT分割结构,其中子块的数量(表示为K)被设置为等于6或8。划分801是K=8、M/4*N/2的分割结构。划分803是K=8、M/2*N/4的分割结构。划分805是K=6、M/2*N/2和M/4*N/2的分割结构。划分807是K=6、M/2*N/2和M/2*N/4的分割结构。
图9为示例性的广义TT(GTT)分割结构的示意图900。对于TT分割结构,沿水平或垂直方向划分的限制可以移除。GTT分割模式可以被定义为水平和垂直两者的划分。划分901采用垂直TT划分后的左划分,以及剩余区域的水平BT划分。划分903采用水平TT划分后的下方划分,以及剩余区域的垂直BT划分。在一些示例中,在某些条件下,可以应用分割EQT、FT和/或GTT分割方法。换句话说,当不满足(多个)条件时,不需要信令通知分割类型。在另一个示例中,EQT、FT和/或GTT分割方法可以用来替换其他分割树类型。在另一个示例中,在某些条件下,EQT、FT和/或GTT分割方法可以仅用作其他分割树类型的替换。在一个示例中,该条件可以基于图片、条带类型、块尺寸、编解码模式和/或块是否位于图片、条带和/或片边界。在一个示例中,可以用与QT相同的方式对待EQT。在这种情况下,当选择QT分割树类型时,可以进一步信令通知详细四叉树分割模式的更多标志/指示。在一些示例中,EQT可以被视为附加的分割模式。在一个示例中,EQT、FT和/或GTT的分割方法的信令通知是有条件的。例如,在一些情况下不使用一种或多种EQP、FT和/或GTT分割方法,并且不信令通知对应于信令通知这些分割方法的比特。
图10为示例性的边界分割树1000的示意图,该边界分割树也被称为多功能边界分割。边界分割树1000是用于VVC和/或音频和视频编解码标准工作组第三部分(AVS-3.0)的示例边界处理方法。由于VVC中的强制四叉树边界分割解决方案没有被优化,因此边界分割树1000使用常规的块分割语法来维持与CABAC引擎的连续性以及匹配图片边界。多功能边界分割具有以下规则(编码器和解码器两者)。由于边界分割树1000对位于块处的边界使用与正常块(非边界)完全相同的分割语法,所以该语法没有改变。如果边界CU被解析为无划分模式,则使用强制边界分割(FBP)来匹配图片边界。在使用强制边界分割(非单一边界分割)之后,不执行进一步的分割。强制边界分割的描述如下。如果块的尺寸大于最大允许的BT尺寸,则使用强制QT执行当前强制分割级别中的FBP。否则,如果当前CU的右下样点位于下方图片边界之下并且没有扩展到右边界,则使用强制水平BT来执行当前强制分割级别中的FBP。否则,如果当前CU的右下样点位于右图片边界的右侧而不在下方边界之下,则使用强制垂直BT来执行当前强制分割级别中的FBP。否则,如果当前CU的右下样点位于右图片边界的右侧并且在下方边界之下,则使用强制QT来执行当前强制分割级别中的FBP。
图11是音频和视频编解码标准(AVS)第三部分(AVS-3.0)中使用的示例分割结构的示意图1100。现在讨论AVS-3.0中的分割。中国音频和视频编解码标准(AVS)工作组由中华人民共和国原工业和信息化部科技司批准成立。以满足快速发展的信息产业的需求为使命,AVS致力于为数字音频和视频的压缩、解压缩、处理和表示制定高质量的技术标准,从而为数字音频-视频设备和系统提供高效、经济的编码/解码技术。AVS可应用于各种重要的信息领域,包括高分辨率数字广播、高密度激光数字存储介质、无线宽带多媒体通信和互联网宽带流媒体。AVS是第二代源编码/解码标准之一,并拥有中国自主知识产权。源编解码技术主要解决来自原始数据和原始源中的编解码和压缩音频、视频的海量数据的问题。因此,AVS被称为数字视频和音频编解码技术,AVS是后续数字传输、存储和广播的前提。此外,AVS是数字视频和音频行业的通用标准。
AVS-3.0采用QT分割1101、垂直BT分割1105、水平BT分割1103、、水平扩展四叉树(EQT)分割1107和垂直EQT分割1109以将最大编解码单元(LCU)划分成多个CU。QT分割、BT分割和EQT分割都可以用于分割树的根、内部节点或叶节点。然而,在任何BT和/或EQT分割之后,QT分割是被禁止的。
图12为示例性的非对称四叉树(UQT)分割结构的示意图1200。UQT分割将尺寸为W×H的块划分成四个尺寸为W1×H1、W2×H2、W3×H3和W4×H4的分割,其中W1、W2、W3、W4、H1、H2、H3、H4都是整数。在一个示例中,至少一个分割与其他分割相比具有不同的块尺寸。在一个示例中,四个分割中只有两个可以具有相等的尺寸,其他两个分割的尺寸彼此不同,并且不同于具有相等大小的两个分割。在一个示例中,所有参数都是2的幂的形式。比如W1=2N1,W2=2N2,W3=2N3,W4=2N4,H1=2M1,H2=2M2,H3=2M3,H4=2M4。在一个示例中,UQT仅在垂直方向上划分一个分割,例如,H1=H2=H3=H4=H。在一个示例中,在划分1201中W1=W/8、W2=W/2、W3=W/8、W4=W/4、H1=H2=H3=H4=H。这种UQT是垂直划分的,并且命名为UQT1-V。在一个示例中,在划分1203中,W1=W/8、W2=W/2、W3=W/4、W4=W/8、H1=H2=H3=H4=H。这种UQT是垂直划分的,并且命名为UQT2-V。在一个示例中,在划分1205中,W1=W/4、W2=W/8、W3=W/2、W4=W/8、H1=H2=H3=H4=H。这种UQT是垂直划分的,并且命名为UQT3-V。在一个示例中,在划分1207中,W1=W/8、W2=W/4、W3=W/2、W4=W/8、H1=H2=H3=H4=H。这种UQT是垂直划分的,并且命名为UQT4-V。
在一个示例中,UQT仅在水平方向上划分一个分割,例如,W1=W2=W3=W4=W。在一个示例中,在划分1209中,H1=H/8、H2=H/2、H3=H/8、H4=H/4、W1=W2=W3=W4=W。这种UQT是水平划分的,并且命名为UQT1-H。在一个示例中,在划分1211中,H1=H/8、H2=H/2、H3=H/4、H4=H/8、W1=W2=W3=W4=W。这种UQT是水平划分的,并且命名为UQT2-H。在一个示例中,在划分1213中,H1=H/4、H2=H/8、H3=H/2、H4=H/8、W1=W2=W3=W4=W。这种UQT是水平分割的,并且命名为UQT3-H。在一个示例中,在划分1215中,H1=H/8、H2=H/4、H3=H/2、H4=H/8、W1=W2=W3=W4=W。这种UQT是水平分割的,并且命名为UQT4-H。
由UQT划分成孩子块的块,可由QT、BT、TT或UQT从父块中划分出来。可以允许UQT分割的块可以是由QT、BT、TT或UQT分割生成的块。允许UQT分割的块可以是由QT、EQT或BT分割生成的块。允许UQT分割的块可以是由UQT、QT、EQT或BT分割生成的块。例如,允许UQT分割的最大块可以是最大的编解码块(例如,编解码树块或编解码树单元)。例如,允许UQT分割的最大块可以是虚拟管线数据单元(VPDU)。例如,允许UQT分割的块可以通过一种或一些特定种类的划分方法从父块中划分出来。例如,被UQT划分成孩子块的块只能被QT从父块中划分出来。在一个示例中,可以允许UQT分割的最大/最小块尺寸和/或可以允许UQT分割的最大比特深度可以在SPS、PPS、视频参数集(VPS)、自适应参数集(APS)、序列标头、图片标头、条带标头、片组标头、CTU行/区域等中被信令通知。在一个示例中,可以允许UQT分割的最大/最小块尺寸和/或可以允许UQT分割的最大比特深度取决于标准的档次/级别/层次。在一个示例中,可以导出可以允许UQT分割的最大/最小块尺寸和/或可以允许UQT分割的最大比特深度,例如,与所允许的QT分割相同。
通过UQT从父块划分的块可以被QT、BT、TT和/或UQT进一步划分成孩子块。例如,通过UQT从父块划分的块可以被BT进一步分割成孩子块。例如,通过UQT从父块划分的块可以被TT进一步划分成孩子块。例如,通过UQT从父块划分的块可以被UQT和/或QT进一步划分成孩子块。例如,通过UQT从父块划分的块不能被QT进一步划分成孩子块。例如,通过UQT从父块划分的块可以被EQT进一步划分成孩子块。在一个示例中,通过UQT从父块划分的块可以被UQT、EQT和BT进一步划分成孩子块。例如,通过UQT从父块划分的块不允许被UQT进一步分割成孩子块。在示例中,通过UQT从父块划分的块可以被EQT和BT进一步划分成孩子块。
当通过UQT将父块划分成孩子块时,孩子块的划分深度可从父块的划分深度导出。在一个示例中,由UQT引起的划分可用于更新QT、BT、TT、UQT和/或MTT深度。在一个示例中,一个或所有孩子块的QT深度等于父块的QT深度加1。在一个示例中,一个或所有孩子块的BT深度等于父块的BT深度加1。在一个示例中,一个或所有孩子块的TT深度等于父块的TT深度加1。在一个示例中,一个或所有孩子块的UQT深度等于父块的UQT深度加1。在一个示例中,一个或所有孩子块的MTT深度等于父块的MTT深度加1。例如,如果父块被BT划分成孩子块,则孩子块的MTT深度等于父块的MTT深度加1。例如,如果父块被TT划分成孩子块,则孩子块的MTT深度等于父块的MTT深度加1。在示例中,一个或所有孩子块的MTT深度等于父块的MTT深度加上K,其中K>1。例如,K=2。在一个示例中,对于不同的孩子块,K可以不同。在一个示例中,K=log2(父块的尺寸/孩子块的尺寸)。例如,在划分1203中,对于W1=W/8、W2=W/2、W3=W/4和W4=W/8的四个孩子块,K分别是3、1、2、3。在一个示例中,不同孩子块的UQT、BT、TT、QT和/或MTT深度增加可以不同。深度的增加取决于孩子块相对于父块的比率。
是否和如何使用UQT可取决于颜色格式(例如4:4:4或4:2:0)和/或颜色分量。是否以及如何使用UQT可取决于亮度和色度编解码树是否分开。在一个示例中,当亮度和色度编解码树分开时,UQT仅可应用于亮度分量。是否应用UQT和/或应用哪种UQT可以从编码器被信令通知到解码器。在一个示例中,VPS、SPS、PPS、图片标头、条带标头、片组标头和/或片标头可用于信令通知是否可以应用UQT。在一个示例中,VPS、SPS、PPS、图片标头、条带标头、片组标头和/或片标头可用于信令通知可以应用哪种UQT。在一个示例中,可以在块中信令通知UQT是否被用于划分块。在一个示例中,可以在块中信令通知哪种UQT被用于划分块。在一个示例中,可以在块中信令通知分割类型的索引,以指示该块是被QT、UQT划分还是未被划分。在示例中,可以进一步信令通知划分方向(水平/垂直)和/或划分模式。在一个示例中,可以在块中信令通知分割类型的索引,以指示块是被BT、TT划分还是被UQT划分。例如,可以有条件地信令通知该索引,例如仅当BT、TT和UQT中的至少一个对于该块有效时。在示例中,可以进一步信令通知划分方向(水平/垂直)和/或划分模式。在一个示例中,可以首先信令通知划分方向的指示,然后信令通知划分模式(例如QT、TT、UQT)。在一个示例中,在块中信令通知标志,以指示块是垂直划分还是水平划分。垂直划分可以是BT垂直划分、TT垂直划分或UQT垂直划分。水平划分可以是BT水平划分、TT水平划分或UQT水平划分。例如,仅当BT、TT或UQT划分该块时,标志才被信令通知。例如,仅当垂直划分和水平划分都对该块有效时,才信令通知该标志。如果只有垂直划分是有效的,则该标志不被信令通知,并且推断水平划分被使用。如果只有水平划分是有效的,则标志不被信令通知,并且推断垂直划分被使用。在一个示例中,在块中信令通知二进制码,以指示使用哪种划分(BT、TT或一种UQT)。在下面的示例中,X代表0或1以及Y=~X(如果X=0,Y=1;如果X=1,Y=0)。在一个示例中,根据先前被信令通知或导出的信息,要被信令通知的候选BT、TT或UQT都是垂直划分或水平划分。在一个示例中,信令通知第一标志来指示是否使用了UQT。例如,被排序来表示BT、TT、UQT1、UQT2、UQT3和UQT4的二进制码字是XX、XY、YXX、YXY、YYX、YYY。在一个示例中,应用截断的一元代码。例如,被排序来表示BT、TT、UQT1、UQT2、UQT3和UQT4的二进制码字是X、YX、YYYX、YYYX、YYYYX、YYYYY。在一个示例中,信令通知第一标志来指示是否使用了BT。如果不使用BT,则信令通知第二标志来指示是否使用UQT。如果使用UQT,则进一步信令通知使用哪种UQT。例如,被排序来表示BT、TT、UQT1、UQT2、UQT3和UQT4的二进制码字是X、YX、YYXX、YYXY、YYYX、YYYY。
在一个示例中,如何信令通知在块中使用哪种划分取决于哪种划分对该块有效。在下面的示例中,X表示0或1并且Y=~X(如果X=0,Y=1;如果X=1,Y=0)。在一个示例中,根据先前被信令通知或导出的信息,要被信令通知的候选BT、TT或UQT都是垂直划分或水平划分。例如,不允许的划分或无效的划分不能从编码器被信令通知到解码器。因此,没有码字来表示不允许的划分或无效的划分。在一个示例中,如果来自BT、TT和UQT的划分中只有一种是有效的,则指示使用哪种划分(BT、TT或一种UQT)的二进制码不被信令通知。在一个示例中,如果来自BT、TT和UQT的划分只有两种是有效的,则信令通知标志以指示使用两个有效划分中的哪一个。在一个示例中,指示哪种划分(BT、TT或一种UQT)的代码被二进制化为截断的一元代码。例如,截断的一元码的最大值是N-1,其中N是有效划分的数量(BT、TT和UQT)。例如,没有码字表示无效划分。换句话说,当构建码字表时,无效划分被跳过。在一个示例中,如果没有UQT是有效的,则指示UQT是否被使用的标志不被信令通知,并且被推断为假。例如,被排序来表示BT和TT的二进制码字是X和Y。在一个示例中,如果只有一种UQT是有效的,并且UQT被信令通知要被使用,则没有进一步的信息被信令通知来指示哪个UQT被使用。有效的UQT被隐式地使用。在一个示例中,如果只有两种UQT是有效的,并且UQT被信令通知使用,则标志被信令通知指示哪个UQT被使用。在一个示例中,如果只有三种UQT是有效的,并且UQT被信令通知要被使用,则信令通知消息来指示使用哪个UQT。例如,被排序来表示这三个UQT的二进制码字是X、YX、YY。在一个示例中,二进制化和/或信令通知方法不根据块中哪种划分是有效的而改变。在符合的比特流中不能选择无效的划分。
用于指示划分类型的二进制串的二进制(位)可通过具有一个或多个上下文的算术编解码进行编解码。在一个示例中,只有二进制串的部分二进制可以用上下文编解码,而剩余的二进制可以用旁路模式编解码(例如,不利用上下文)。在示例中,二进制串的所有二进制可以用上下文来编解码。在示例中,二进制串的所有二进制可以用旁路模式编解码。对于用上下文编解码的二进制,可以使用一个或多个上下文进行编解码。
上下文可取决于二进制的位置或索引、空域/时域相邻块的分割、当前块的当前分割深度(例如,QT深度/BT深度/TT深度/UQT深度/MTT深度)、空域/时域相邻块和/或空域/时域非相邻块的分割深度(例如,QT深度/BT深度/TT深度/UQT深度/MTT深度)、空域/时域相邻块的编解码模式、空域/时域相邻块的宽度/高度、当前块的宽度/高度、条带类型/图片类型/片组类型、颜色分量、来自先前编解码块的分割类型的统计结果,或者以上的组合。
在示例中,如果划分孩子块跨越多个虚拟管线数据单元,则不允许UQT。
在示例中,如果当前块的宽度/高度满足一些条件,则不允许UQT。例如,当前块的宽度和高度是W和H,并且T1、T2和T是一些整数。如果W>=T1且H>=T2,则不允许UQT。如果W>=T1或H>=T2,则不允许UQT。如果W<=T1且H<=T2,则不允许UQT。如果W<=T1或H<=T2,则不允许UQT。如果W×H<=T,则不允许UQT。如果W×H>=T,则不允许UQT。如果H<=T,则不允许水平UQT,例如当T=16时。如果H>=T,则不允许水平UQT,例如当T=128时。如果W<=T,则不允许垂直UQT,例如当T=16时。如果W>=T,不允许垂直UQT,例如当T=128时。T1、T2和T可以在VPS、SPS、PPS、图片标头、条带标头、片组标头和/或片标头中从编码器被信令通知到解码器。T1、T2和T可以取决于颜色分量。例如,对于亮度和色度分量,T1、T2和T可以不同。T1、T2和T可取决于亮度编解码树和色度编解码树是否分开。例如,如果亮度编解码树和色度编解码树是分开的,则T1、T2和T对于亮度和色度分量可以是不同的。例如,当至少一个孩子块由于UQT而不支持变换时,UQT划分无效。例如,当一个块的深度超过UQT划分的允许深度时,UQT划分无效。例如,当任何孩子块尺寸由于UQT划分而超过允许的块尺寸时,UQT划分无效。
如果当前块的宽度/高度满足一些条件,则允许UQT。例如,当前块的宽度和高度是W和H,T1,T2和T是一些整数。如果W>=T1且H>=T2,则允许UQT。如果W>=T1或H>=T2,则允许UQT。如果W<=T1且H<=T2,则允许UQT。如果W<=T1或H<=T2,则允许UQT。如果W×H<=T,则允许UQT。如果W×H>=T,则允许UQT。如果H<=T,则允许水平UQT,例如当T=64时。如果H>=T,则允许水平UQT,例如当T=32时。如果W<=T,则允许垂直UQT,例如当T=64时。如果W>=T,则允许垂直UQT,例如当T=32时。T1、T2和T可以在VPS、SPS、PPS、图片标头、条带标头、片组标头和/或片标头中从编码器被信令通知到解码器。T1、T2和T可以取决于颜色分量。例如,对于亮度和色度分量,T1、T2和T可以不同。T1、T2和T可取决于亮度编解码树和色度编解码树是否分开。例如,如果亮度编解码树和色度编解码树是分开的,则T1、T2和T对于亮度和色度分量可以是不同的。在一个示例中,T1、T2和T可以取决于图片/条带类型。在一个示例中,在P条带/P图片或B条带/B图片上,如果TP1<=H<=TP2,则允许水平UQT,和/或,如果TP1<=W<=TP2,则允许垂直UQT。在I条带/I图片上,如果TI1<=H<=TI2,则允许水平UQT,和/或,如果TI1<=W<=TI2,则允许垂直UQT。在一个示例中,TP1大于TI1。例如,TI1=32,TP1=64,TI2=TP2=64。在一个示例中,TP2小于TI2。例如,TI2=64,TP2=32,TI1=TP1=32。
如果当前块的深度满足一些条件,则不允许UQT。当前块的深度可指QT深度、BT深度、TT深度、UQT深度和/或MTT深度。如果划分深度<=T,则不允许UQT。如果划分深度>=T,则不允许UQT。如果QT划分深度<=T,则不允许UQT。如果QT划分深度>=T,则不允许UQT。如果BT划分深度>=T,则不允许UQT。如果BT划分深度<=T,则不允许UQT。如果TT划分深度>=T,则不允许UQT。如果TT划分深度<=T,则不允许UQT。如果UQT划分深度<=T,则不允许UQT。如果UQT划分深度>=T,则不允许UQT。如果MTT划分深度<=T,则不允许UQT。如果MTT划分深度>=T,则不允许UQT。T可以在VPS、SPS、PPS、图片标头、条带标头、片组标头和/或片标头中从编码器被信令通知至解码器。T可以取决于颜色分量。例如,对于亮度和色度分量,T1、T2和T可以不同。T可以取决于亮度编解码树和色度编解码树是否分开。例如,如果亮度编解码树和色度编解码树是分开的,则T1、T2和T对于亮度和色度分量可以是不同的。
如果当前块的深度满足一些条件,则允许UQT。当前块的深度可指QT深度、BT深度、TT深度、UQT深度或MTT深度。如果划分深度<=T,则允许UQT。如果划分深度>=T,则允许UQT。如果QT划分深度<=T,则允许UQT。如果QT划分深度>=T,则允许UQT。如果BT划分深度>=T,则允许UQT。如果BT划分深度<=T,则允许UQT。如果TT划分深度>=T,则允许UQT。如果TT划分深度<=T,则允许UQT。如果UQT划分深度<=T,则允许UQT。如果UQT划分深度>=T,则允许UQT。如果MTT划分深度<=T,则允许UQT。如果MTT划分深度>=T,则允许UQT。T可以在VPS、SPS、PPS、图片标头、条带标头、片组标头和/或片标头中从编码器被信令通知到解码器。T可以取决于颜色分量。例如,对于亮度和色度分量,T1、T2和T可以不同。T可取决于亮度编解码树和色度编解码树是否分开。例如,如果亮度编解码树和色度编解码树是分开的,则T1、T2和T对于亮度和色度分量可以是不同的。
在一个实施例中,是否以及如何使用UQT可取决于当前块的位置。例如,是否以及如何使用UQT可以取决于当前块是否跨越图片/片/片组的边界。在一个示例中,如果当前块跨越图片/片/片组的下边界,则不允许垂直UQT。
在一个示例中,如果当前块跨越图片/片/片组的下边界,则不允许水平UQT。在一个示例中,如果当前块跨越图片/片/片组的右边界,则不允许垂直UQT。在一个示例中,如果当前块跨越图片/片/片组的右边界,则不允许水平UQT。在一个示例中,如果被UQT划分的孩子块完全在图片/片/片组之外,则该孩子块可以在编码和/或解码过程中被省略。在一个示例中,如果由UQT划分的孩子块部分地在图片/片/片组之外,则以下可以适用。在编码/解码过程中可以省略图片之外的部分。图片内部的部分可以被进一步划分。图片内部的部分可以被编解码为CU。图片内的部分是否被编解码为CU可以取决于该部分的宽度(w)和高度(h)。在一个示例中,如果w=2nw,h=2nh,则图片内的部分可以被编解码为CU,其中nw和nh是整数。在一个示例中,如果由UQT划分的任何孩子块部分地/完全地在图片/片/片组之外,则不允许UQT。在一个示例中,当UQT或某些UQT模式不被允许时,也跳过信令通知对模式的使用的指示。
在一个示例中,仅可使用UQT1-H、UQT2-H、UQT3-V和UQT4-V(分别为划分1209、1211、1205和1207)。例如a=c=2,b=d=4。在一个示例中,当块可以不被划分,并且QT、BT-H、BT-V、TT-H、TT-V、UQT1-H、UQT2-H、UQT3-V和UQT4-V中的至少一个可应用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示块是否被划分。在一个示例中,当块被划分,并且该块可以是QT划分的,并且BT-H、BT-V、TT-H、TT-V、UQT1-H、UQT2-H、UQT3-V和UQT4-V中的至少一个适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示该块是用QT划分还是用其他划分来划分的。在一个示例中,当块不是QT划分的,并且BT-H、TT-H、UQT1-H、UQT2-H中的至少一个适用于该块,并且BT-V、TT-V、UQT3-V和UQT4-V中的至少一个适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示该块是用垂直划分还是水平划分来划分的。在一个示例中,当块是除QT之外的水平划分的,并且BT-H、TT-H中的至少一个可用,并且UQT1-H、UQT2-H中的至少一个适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示该块是否用UQT划分。在一个示例中,当块是除QT之外的垂直划分的,并且BT-V和TT-V中的至少一个可用,并且UQT3-V、UQT4-V中的至少一个适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示该块是否用UQT划分。在一个示例中,当块是用UQT水平划分并且UQT1-H、UQT2-H都适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示该块是用UQT1-H还是UQT2-H划分的。在一个示例中,当块用UQT垂直划分且UQT3-V和UQT4-V都适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示该块是用UQT3-V还是UQT4-V划分的。在一个示例中,UQT1-H的一个或多个孩子块不允许用TT-H进一步划分。例如,高度等于H/2的孩子块不允许用TT-H进一步划分。在一个示例中,UQT2-H的一个或多个孩子块不允许用TT-H进一步划分。例如,高度等于H/2的孩子块不允许用TT-H进一步划分。在一个示例中,UQT3-V的一个或多个孩子块不允许用TT-V进一步划分。例如,宽度等于W/2的孩子块不允许用TT-V进一步划分。在一个示例中,UQT4-V的一个或多个孩子块不允许用TT-V进一步划分。例如,宽度等于W/2的孩子块不允许用TT-V进一步划分。在一个示例中,UQT1-H的一个或多个孩子块不允许用BT-H进一步划分。在一个示例中,UQT2-H的一个或多个孩子块不允许用BT-H进一步划分。在一个示例中,UQT3-H的一个或多个孩子块不允许用BT-H进一步划分。在一个示例中,UQT4-H的一个或多个孩子块不允许用BT-H进一步划分。在一个示例中,UQT1-H的一个或多个孩子块不允许用UQT-H进一步划分。在一个示例中,UQT2-H的一个或多个孩子块不允许用UQT-H进一步划分。在一个示例中,UQT3-H的一个或多个孩子块不允许用UQT-H进一步划分。在一个示例中,UQT4-H的一个或多个孩子块不允许用UQT-H进一步划分。在一个示例中,UQT1-H的一个或多个孩子块不允许被进一步划分。在一个示例中,UQT2-H的一个或多个孩子块不允许被进一步划分。在一个示例中,UQT3-H的一个或多个孩子块不允许被进一步划分。在一个示例中,UQT4-H的一个或多个孩子块不允许被进一步划分。在一个示例中,UQT1-H和UQT2-H中的一个不允许被进一步划分。在一个示例中,UQT1-H和UQT2-H中的一个不允许被进一步水平划分。在一个示例中,UQT3-V和UQT4-V中的一个不允许被进一步划分。在一个示例中,UQT3-V和UQT4-V中的一个不允许被进一步垂直划分。在一个示例中,UQT1-H的一个或多个孩子块不允许用EQT-H进一步划分。在一个示例中,UQT2-H的一个或多个孩子块不允许用EQT-H进一步划分。在一个示例中,UQT3-V的一个或多个孩子块不允许用EQT-H进一步划分。在一个示例中,UQT4-V的一个或多个孩子块不允许用EQT-H进一步划分。在一个示例中,UQT1-H的一个或多个孩子块不允许用EQT-V进一步划分。在一个示例中,UQT2-H的一个或多个孩子块不允许用EQT-V进一步划分。在一个示例中,UQT3-V的一个或多个孩子块不允许用EQT-V进一步划分。在一个示例中,UQT4-V的一个或多个孩子块不允许用EQT-V进一步划分。术语UQT的孩子块可以指用UQT从父块划分的块,或者可以指用UQT从祖先块(例如父块的父块)划分其父块或任何祖先块的块。
在一个示例中,仅可使用UQT1-H和UQT3-V(分别为划分1209和1205)。例如,a=2。在另一个示例中,a=c=4。在一个示例中,当块可以不划分,并且QT、BT-H、BT-V、TT-H、TT-V、UQT1-H和UQT3-V中的至少一个可应用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示块是否被划分。在一个示例中,当块被划分,并且该块可以是QT划分的,并且BT-H、BT-V、TT-H、TT-V、UQT1-H和UQT3-V中的至少一个适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示该块是用QT划分还是用其他划分来划分的。在一个示例中,当块不是QT划分的,BT-H、TT-H和UQT1-H中的至少一个适用于该块,并且BT-V、TT-V和UQT3-V中的至少一个适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示块是用垂直划分还是用水平划分来划分的。在一个示例中,当块是除QT之外的水平划分的,并且BT-H、TT-H中的至少一个可用,并且UQT1-H适用于该块,和/或,当块是除QT之外的垂直划分的,并且BT-V、TT-V中的至少一个可用,并且UQT3-V适用于该块时,可能具有一个或多个上下文的一个二进制被信令通知以指示该块是否用UQT划分。在一个示例中,UQT1-H的一个或多个孩子块不允许用TT-H进一步划分。例如,高度等于H/2的孩子块不允许用TT-H进一步划分。在一个示例中,UQT3-V的一个或多个孩子块不允许用TT-V进一步划分。例如,宽度等于W/2的孩子块不允许用TT-V进一步划分。在一个示例中,UQT1-H的一个或多个孩子块不允许用BT-H进一步划分。在一个示例中,UQT3-V的一个或多个孩子块不允许用BT-V进一步划分。在一个示例中,UQT1-H的一个或多个孩子块不允许用UQT-H进一步划分。在一个示例中,UQT3-V的一个或多个孩子块不允许用UQT-V进一步划分。
划分类型(包括EQT、BT和UQT)的指示可在划分或非划分的指示,和/或QT的指示之后被信令通知。在一个示例中,可以信令通知标志来指示该块是用第一组UQT和BT划分还是用第二组UQT和EQT划分,其中第一和第二组中的UQT模式是不同的。例如,可以信令通知一个标志,以指示在块上是应用了某种UQT还是应用了某种BT。例如,可以信令通知一个标志来指示是否在块上应用了UQT2-V/UQT2-H,或者是否应用了BT-V/BT-H。在示例中,可以信令通知一个标志,以指示在块上是应用了某种UQT还是应用了某种EQT。例如,可以信令通知一个标志,以指示在块上是应用了UQT4-V/UQT4-H,还是应用了EQT-V/EQT-H。例如,可以信令通知一个标志,以指示在块上是应用了UQT2-V/UQT2-H,还是应用了EQT-V/EQT-H。在示例中,可以进一步信令通知划分方向(例如,水平划分或垂直划分)。以上可以用于对I条带/图片中的块进行编解码。在一个示例中,可以信令通知标志,以指示该块是用BT划分还是用第二组UQT和EQT划分。在示例中,如果该块没有从BT中划分出来,则可以进一步信令通知另一个标志来指示UQT或EQT的使用。在示例中,可以进一步信令通知划分方向(例如,水平划分或垂直划分)。在示例中,可以进一步信令通知另一个标志来指示划分方向(例如,水平划分或垂直划分)。在一个示例中,可以进一步信令通知划分模式(例如,EQT或UQT)。以上可用于对P/B条带/图片中的块进行编解码。在示例中,当当前块没有被划分或根据QT被划分时,可以跳过上述标志的信令通知。在示例中,仅当根据QT需要进一步划分和/或不划分当前块时,可以进一步信令通知上述标志。
在一个示例中,是否和/或如何对条带/图片应用UQT划分可取决于条带/图片类型。在一个示例中,M种UQT可以应用于P条带/P图片或B条带/B图片,并且N种UQT可以应用于I条带/I图片。在一个示例中,M小于N。例如,M等于2,并且N等于4。在一个示例中,M等于N,然而,允许的UQT可以不同。例如,UQT2-V/UQT2-H/UQT4-V/UQT4-H可以应用于I条带/I图片。例如,UQT2-V/UQT2-H可以应用于P条带/P图片或B条带/B图片。
UQT划分的信令通知的表示的解释可取决于条带/图片类型。在一个示例中,I条带/I图片中的UQT划分的信令通知的表示可不同于P条带/P图片或B条带/B图片中的UQT划分的信令通知的表示。在一个示例中,可以信令通知一个标志,以指示是否在块上应用某种UQT或某种BT,并且可以在I条带/I图片上应用UQT2-V/UQT2-H/UQT4-V/UQT4-H。在一个示例中,可以信令通知标志,以指示该块是用BT划分还是用第二组UQT和EQT划分,并且UQT2-V/UQT2-H可以应用于P条带/P图片或B条带/B图片。
在一个示例中,是否和/或如何对条带/图片应用UQT划分可取决于条带/图片的时域层。在一个示例中,如果时域层大于阈值,例如2,则不应用UQT。在一个示例中,M种UQT可应用于时域层大于T的图片/条带,并且N种UQT可应用于时域层小于或等于T的图片/条带,其中M小于N。例如,T等于2,M等于2,N等于4。
在一个示例中,是否和/或如何对条带/图片应用UQT划分可取决于该条带/图片是否能被其他条带/图片参考。在一个示例中,如果条带/图片不是其它条带/图片的参考图片,则不在条带/图片上应用UQT。
如果一种UQT不被允许,则不信令通知UQT的指示。在一个示例中,如果任何种类的UQT不被允许,则不信令通知UQT的指示。
如何信令通知分割方法可以取决于图片/条带类型。在一个示例中,在指示是否在I图片/条带中应用BT/EQT的标志之前信令通知指示是否应用UQT的标志,而在指示BT/EQT是否应用于非I图片/条带(例如P/B图片/条带)的标志之后信令通知指示是否应用UQT的标志。在示例中,在指示是否在I图片/条带中应用BT/EQT的标志之后信令通知指示是否应用UQT的标志,而在指示BT/EQT是否应用于非I图片/条带(例如P/B图片/条带)的标志之前信令通知指示是否应用UQT的标志。
在一个示例中,信令通知标志以指示一种以上分割方法(包括UQT)的分割方向。例如,信令通知标志以指示是对UQT、EQT和BT应用垂直分割还是水平分割。
在一个示例中,指示是否应用UQT的标志(表示为UQT_flag)可通过具有(多个)上下文模型的算术编解码进行编解码。在一个示例中,上下文模型的选择可取决于图片/条带类型(例如I图片或P/B图片)。在一个示例中,如果当前图片是I图片,则使用上下文模型。否则(不是I图片),从几个候选上下文模型中选择上下文模型。在一个示例中,上下文模型的选择可以取决于一个或多个相邻块的存在。在一个示例中,上下文模型的选择可以取决于一个或多个相邻块的维度。在以上示例中,相邻块可以包括左相邻块和/或上相邻块。在一个示例中,上下文可以取决于当前块的维度。
图13为例如与AVS-3.0一起使用的UQT分割结构的另一示例的示意图1300。描述了UQT分割,其中父CU被不对称地划分成四个CU。父块被划分成比例为1:4:2:1或1:2:4:1的4个子块。如图1300所示,UQT分割有4种划分类型。WxH的父CU被划分为具有水平UQT的两个WxH/8的CU、一个WxH/4的CU和一个WxH/2的CU,如划分1301和划分1303所示。WxH的父CU也可划分为具有垂直UQT的两个W/8xH的CU、一个W/4xH的CU和一个W/2xH的CU,如划分1305和1307所示。
图14为具有QT、BT、EQT和UQT分割的示例性的LCU分割1400的示意图。与不能在BT和EQT分割之后被使用的QT分割不同,UQT分割可以在BT和EQT分割之后被使用。如果块的长度是沿着从32到64的方向,则UQT可以应用于该方向。在LCU分割1400中示出了一个示例。与BT和EQT分割类似,UQT分割在QT/BT/EQT分割之后有效,而其子块禁止被QT分割划分。对于B/P条带,水平UQT分割只能在当前块的高度为64时应用,并且垂直UQT分割只能在当前块的宽度为64时应用。此外,在B/P条带中只允许1:2:4:1比率的UQT分割。在不是其他帧的参考的B/P帧中,UQT分割不被允许。一个比特被用于信令通知划分模式是否为UQT。
图15为I条带的示例性的树型编解码结构的示意图1500。图16是B和/或P条带的示例性的树型编解码结构的示意图1600。
以下是基于AVS-3.0-第二阶段的UQT的实施例。
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
以下是上下文导出的实施例。定义变量ctxIdxInc来指示uqt_split_flag的上下文模型。块A表示尺寸为Wa*Ha的左相邻块。块B表示尺寸为Wb*Hb的上相邻块。块E表示尺寸为We*He的当前块。ctxIdxInc的导出如下:
如果当前块是I图片,则ctxIdxInc被设置为等于0。
否则,ctxIdxInc的导出如下:
如果(块A存在且Ha<He)和(块B存在且Wb<We),则ctxIdxInc设置为等于2。
否则,如果(块A存在且Ha<He)或(块B存在且Wb<We),则ctxIdxInc被设置为等于1。
然后ctxIdxInc被进一步修改如下:
如果We*He>1024,ctxIdxInc不变;
否则,如果We*He>256,ctxIdxInc增加3;
否则,ctxIdxInc增加6。
以下是通过公开的技术方案解决的示例技术问题。尽管UQT可以提供QT、BT和TT之外的一些分割模式,但是在不同种类的UQT中存在一些冗余。
本文公开了解决以上列出的一个或多个问题的机制。例如,公开了一种使用扩展三叉树(ETT)分割来分割父块的机制。ETT可以是垂直ETT(ETT-V)或水平ETT(ETT-H)。ETT将父块划分成三个子块,这里表示为近侧子块、中间子块和远侧子块。近侧子块分别是ETT-H划分或ETT-V划分中的上方或左侧子块。远侧子块分别是ETT-H划分或ETT-V划分中的下方或右侧子块。在示例中,近侧子块和远侧子块的边的尺寸是父块中对应边的尺寸的1/8。此外,中间子块的边的尺寸是父块中对应边的尺寸的3/4。因此,近侧子块和远侧子块的边都是2的幂,而中间子块的边不是2的幂。例如,父块可以具有尺寸为16的宽度。ETT-V划分产生近侧子块和远侧子块,每个子块的宽度为2(21,2的幂),并且中间子块的宽度为12(不能表示为2x,其中x是正整数)。在一些示例中,近侧子块和远侧子块可以具有不同的尺寸,例如两者的边分别是父块中对应边的尺寸的1/16和3/16。对于ETT-V划分和ETT-H划分,可以分别从左到右和从上到下编解码子块。在示例中,当要划分的父块的边(ETT-V的宽度和ETT-H的高度)是2的幂(例如,2、4、8、16、32等)时,可以使用ETT划分,并且当要划分的父块的边不是2的幂时,不允许使用ETT划分。此外,当ETT由于规则而不被允许时,编码器可以不信令通知比特流中ETT划分的状态(例如,被选择或未被选择)。此外,ETT可以允许或不允许对子块的进一步划分。在示例中,当确定是否进一步划分子块时,有考虑子块尺寸和/或索引的规则。例如,当中间子块包含亮度样点并且大于阈值时,该规则可能需要从ETT划分中进一步划分中间子块。在另一个示例中,规则可以防止对ETT-V创建的中间子块的水平划分,并且防止对ETT-H创建的中间子块的垂直划分。在另一个示例中,规则可以要求在ETT-V创建的中间子块中进行垂直划分,以创建宽度为2的幂的两个孩子子块。在另一个示例中,规则可以要求在ETT-H创建的中间子块中进行水平划分,以创建高度为2的幂的两个孩子子块。此外,可以将码字分配给可能允许的ETT划分,并为不允许的划分移除码字,使得不允许的划分不会在比特流中被信令通知。当只允许一个可能的ETT划分时,也可以省略允许的划分的信令通知。然后,解码器可以推断出ETT划分。此外,可以基于阈值来允许或不允许由ETT导致的子块的划分。这种阈值可以在比特流中被信令通知,或者在编码器和解码器处预先定义。
图17为示例性的ETT分割结构的示意图1700,包括ETT-V划分1701和ETT-H划分1703。如图所示,ETT分割将父块划分成三个子块。例如,ETT-V划分1701创建近侧子块1701a、中间子块1701b和远侧子块1701c。类似地,ETT-H划分1703创建近侧子块1703a、中间子块1703b和远侧子块1703c。每个近侧子块的高度和宽度可表示为H1和W1,每个中间子块的高度和宽度可表示为H2和W2,每个远侧子块的高度和宽度可表示为H3和W3,并且父块的高度和宽度可表示为H和W。在ETT-V划分1701中,W1=a1*W,W2=a2*W,并且W3=a3*W,其中a1、a2和a3是加权因子(例如,百分比),其中a1+a2+a3=1,并且其中H1=H2=H3=H。此外,在ETT-H划分1703中,H1=a1*H,H2=a2*H,并且H3=a3*H,其中a1、a2和a3是加权因子(例如,百分比),其中a1+a2+a3=1,并且其中W1=W2=W3=W。
例如,每个近侧子块和远侧子块的边的尺寸为父块对应边的尺寸的1/8,并且每个中间子块的边的尺寸为父块对应边的尺寸的3/4。例如,近侧子块1701a、中间子块1701b和远侧子块1701c的宽度可以是父块宽度的尺寸的1/8、3/4和1/8。同样,近侧子块1703a、中间子块1703b和远侧子块1703c的高度可以是父块高度的尺寸的1/8、3/4和1/8。这导致每个近侧子模块和远侧子模块具有可以表示为2的幂的划分边,并且中间子块具有不能表示为2的幂的划分边。例如,父块可以具有尺寸为16的宽度。ETT-V划分1701导致近侧块1701a和远侧子块1701c,每个子块宽度为2(21,2的幂),以及中间子块宽度为12(不能表示为2x,其中x是正整数)。因此,对于ETT-V划分1701,W2不能是具有任何正整数N2的W2=2N2的形式。此外,对于ETT-V划分1701,W1是W1=2N1的形式,并且W3是具有正整数N1的W3=2N1的形式,并且W3是具有正整数N3的W3=2N3的形式。同样,对于ETT-H划分1703,H2不能是具有任何正整数N2的H2=2N2的形式。此外,对于ETT-H划分1703,W1是W1=2N1的形式,并且W3是具有正整数N1的W3=2N1的形式,并且W3是具有正整数N3的W3=2N3的形式。
在所示示例中,对于ETT-V划分1701,W1和W3相等,W2不同于W1和W3,并且对于ETT-H划分1703,H1和H3相等,H2不同于H1和H3。然而,所有子块的宽度或所有子块的高度可以分别不同。例如,a1+a2+a3=1,但是a1、a2和a3可以都包括不同的值。例如,近侧子块1701a、中间子块1701b和远侧子块1701c可以分别具有1/16W、3/4W和3/16W的宽度。只要a1+a2+a3=1,近侧子块和远侧子块是2的幂,并且中间子块不是2的幂,任何这样的组合都是允许的。在示例中,对于ETT-V划分1701和ETT-H划分1703,可以分别从左到右和从上到下对子块进行编解码。
在示例中,规则可决定是否可基于父块的宽度和高度进行ETT分割。例如,当要划分的父块的边(ETT-V划分的宽度1701和ETT-H划分的高度1703)是2的幂(例如,2、4、8、16、32等)时,可以使用ETT划分。此外,当要划分的父块的边(ETT-V划分的宽度1701和ETT-H划分的高度1703)不是2的幂时,ETT划分可以是不被允许的。此外,当父块的宽度或高度都不是2的幂时,ETT划分可以是不允许的。可以在比特流中在编码器和解码器之间信令通知分割。为了提高编解码效率,当ETT不被规则允许时,关于ETT划分和/或哪个ETT类型(例如,ETT-V,ETT-H)的指示不在比特流中被信令通知。
图18为应用于由ETT划分产生的子块的示例性分割的示意图1800。例如,划分1801、划分1805、划分1809和划分1811描述了在ETT-V划分1701上可以允许或不允许的进一步划分。此外,划分1803、划分1807、划分1813和划分1815描述了在ETT-H划分1703上可以允许或不允许的进一步划分。
在示例中,子块是否可被进一步划分和/或哪种划分可应用于子块,取决于如何通过ETT划分从父块生成子块、子块的索引(例如,从父块划分的所有子块中的块的编解码顺序索引)和/或划分中子块的尺寸。划分1801和划分1803分别由ETT-V分割和ETT-H分割创建。近侧子块、中间子块和远侧子块分别按索引0、索引1和索引2排序。在示例中,当子块通过ETT-V或ETT-H从父块中被划分时,并且当子块是中间子块时,规则要求子块被进一步划分(例如,不能是叶节点)。因此,划分1801的中间子块和划分1803的中间子块必须根据示例规则进一步划分。
在另一示例中,规则不允许由ETT形成的子块的某些分割。例如,当子块通过ETT-V从父块中被划分并且子块是中间子块时,子块的所有水平划分不被允许。因此,划分1805不允许中间子块的水平划分。例如,当父块超出图片右边界时,可以使用这样的规则。在另一个示例中,当子块通过ETT-H从父块中被划分并且子块是中间子块时,子块的所有垂直划分不被允许。因此,划分1807不允许中间子块的垂直划分。例如,当父块超出图片下方边界时,可以使用这样的规则。
在示例中,规则要求子块必须用附加的预定义划分进一步划分。例如,当子块通过ETT-V从父块中被划分并且是中间子块时,应该对子块应用垂直划分以创建两个孩子子块。从中间子块划分的孩子子块的维度是2的幂的形式。在示例中,允许两种进一步的垂直划分。一种进一步的划分将较大的孩子子块放在左边,将较小的孩子子块放在右边,例如划分1809。另一种进一步的划分将较大的孩子子块放在右边,将较小的孩子子块放在左边,例如划分1811。例如,当父块超出图片右边界时,规则可以要求中间子块被进一步垂直划分成两个孩子子块。
例如,当子块通过ETT-H从父块中被划分并且是中间子块时,应该对子块应用水平划分以创建两个孩子子块。从中间子块划分的孩子子块的维度是2的幂的形式。在示例中,允许两种进一步的水平划分。一种进一步的划分将较大的孩子子块放在上方,将较小的孩子子块放在下方,例如划分1813。另一种进一步的划分将较大的孩子子块放在下方,将较小的孩子子块放在上方,例如划分1815。例如,当父块超出图片下方边界时,规则可以要求中间子块被进一步水平划分成两个孩子子块。
在一个示例中,码字可以被包含在比特流中,以表示应用于父块的划分的组合。在示例中,可以从代码的可能值中移除表示不允许的划分组合的码字。此外,当仅允许划分的一个组合时,可以省略该码字,并且解码器可以基于该码字的不存在来推断正确的划分(例如,根据预定义值)。这压缩了比特流并提高了编解码效率。
在另一示例中,规则可基于一个或多个阈值确定子块是否可被进一步划分。例如,阈值T1可用于指示最小子块宽度,阈值T2可用于指示最小子块高度。当子块宽度小于T1和/或当子块高度小于T2时,不允许子块划分。在示例中,T1和T2可以是编码器和解码器都已知的预定义值。在另一示例中,T1和T2可由编码器选择并在比特流中被信令通知到解码器,例如通过令在比特流中的一个或多个语法元素包括T1和/或T2。
因此,为了解决上述问题,公开了几种方法来处理上面讨论的由UQT引起的问题。这些方法能够实现更好的编解码性能。
以下的详细实施例应视为解释一般概念的示例。而不应被狭义地解释。此外,这些实施例可以以任何方式组合。在下面的讨论中,QT、BT、TT、UQT和ETT可以分别指QT划分、BT划分、TT划分、UQT划分和ETT划分。在下面的讨论中,划分和分割具有相同的含义。
实施例1
在一个示例中,描述了扩展三元树(ETT)分割。当采用ETT时,尺寸为宽度乘以高度(W×H)的块被划分成尺寸为W1×H1、W2×H2和W3×H3的三个分割。W1、W2、W3、H1、H2、H3都是整数,并且其中至少一个不是2的幂的形式。W1、W2和W3是产生的子块的宽度。H1、H2和H3是产生的子块的高度。
实施例2
在一个示例中,W2不能为具有任何正整数N2的W2=2N2的形式。在另一个示例中,H2不能为具有任何正整数N2的H2=2N2的形式。
实施例3
在一个示例中,W1为具有任何正整数N1的W1=2N1的形式。在另一个示例中,H1为具有任何正整数N1的H1=2N1的形式。
实施例4
在一个示例中,ETT仅在垂直方向上划分一个分割,例如,其中W1=a1*W,W2=a2*W,并且W3=a3*W,其中a1+a2+a3=1,并且其中H1=H2=H3=H。这种ETT为垂直划分,并且可称为ETT-V。在一个示例中,W1和W3相等,但两者均不同于W2。在一个示例中,可以使用ETT-V划分1701,其中W1=W/8,W2=3*W/4,W3=W/8,并且H1=H2=H3=H。在一个示例中,编解码顺序是从左到右。编解码顺序指示在同一视频单元中对分割的块进行编码和/或解码的次序。
实施例5
在一个示例中,ETT仅在水平方向上划分一个分割,例如,其中H1=a1*H,H2=a2*H,并且H3=a3*H,其中a1+a2+a3=1,并且其中W1=W2=W3=W。这种ETT为水平划分,并且可称为ETT-H。在一个示例中,H1和H3相等,但均不同于H2。在一个示例中,可以使用ETT-H划分1703,其中H1=H/8,H2=3*H/4,H3=H/8,并且W1=W2=W3=W。在一个示例中,编解码顺序是从上到下。编解码顺序指示在同一视频单元中对分割的块进行编码和/或解码的顺序。
实施例6
在一个示例中,对于块尺寸等于W×H的块,ETT是否适用于该块取决于W和/或H的值。在一个示例中,当{W,H}的至少一个维度为2的幂的形式时,ETT适用。在一个示例中,当W和H都不是2的幂的形式时,ETT不适用。在示例中,当ETT适用时,可以在比特流中信令通知ETT划分和/或哪个ETT类型(例如,ETT-V、ETT-H)的指示。在示例中,当ETT不适用时,在比特流中不信令通知ETT划分和/或哪个ETT类型(例如,ETT-V、ETT-H)的指示。
实施例7
在一个示例中,由ETT产生的三个孩子分割中的两个孩子分割具有相同的分割尺寸。在一个示例中,三个孩子分割是W1=a1*W,W2=a2*W,W3=a3*W,H1=H2=H3=H,并且其中a1+a2+a3=1。在这个示例中,要求{a1,a2,a3}的两个变量具有相同的值。在一个示例中,H1=a1*H,H2=a2*H,H3=a3*H,W1=W2=W3=W,并且其中a1+a2+a3=1。在这个示例中,要求{a1,a2,a3}的至少两个变量具有相同的值。在示例中,a1=a2!=a3。在示例中,a1=a3!=a2。在示例中,a2=a3!=a1。
实施例8
在一个示例中,由ETT产生的所有三个孩子分割可具有不同的分割尺寸。在一个示例中,三个孩子分割是W1=a1*W,W2=a2*W,W3=a3*W,H1=H2=H3=H,并且其中a1+a2+a3=1。在这个示例中,{a1,a2,a3}的任何两个变量都不相等。在一个示例中,三个孩子分割是H1=a1*H,H2=a2*H,H3=a3*H,W1=W2=W3=W,并且其中a1+a2+a3=1。在这个示例中,{a1,a2,a3}的任何两个变量都不相等。
实施例9
在示例中,是否可进一步划分块和/或可对块应用哪种划分取决于如何通过ETT划分从父块生成块、块的索引(例如,从块的父块划分的所有孩子块中块的编解码顺序索引)和/或划分中块的尺寸。在示例中,当块被ETT-V或ETT-H从父块划分时,并且当块是如划分1801和/或划分1803所示的第二子块时,规则要求块被进一步划分(例如,不能是叶节点)。例如,在块满足其他规则的条件下应用该规则,其他规则例如包括:1)块的尺寸大于阈值,和/或2)块是亮度块。
实施例10
在示例中,规则要求不允许对ETT划分的块应用某些种类的划分。例如,当块被ETT-V从父块划分并且该块是如划分1805中所示的第二子块时,该块的任何水平划分都是不允许的。例如,当父块超出图片右边界时,不允许该块的任何水平划分。例如,当块被ETT-H从父块划分并且该块是如划分1807所示的第二子块时,该块的任何垂直划分都是不允许的。例如,当父块超出图片下方边界时,不允许该块的任何垂直划分。
实施例11
在示例中,规则要求必须使用预定义类型的划分方法划分块。例如,当块被ETT-V从父块划分并且是第二个孩子块时,该块必须被垂直划分成两个孩子块。孩子块的维度是2的幂的形式。在示例中,允许两种进一步的垂直划分。如划分1809和划分1811所示,一种进一步的划分首先放置较大的部分,而另一种首先放置较小的部分。
例如,当块通过ETT-H从父块中划分并且是第二孩子块时,该块必须被水平划分成两个孩子块。孩子块的维度是2的幂的形式。在一个示例中,允许两种进一步的水平划分。如划分1813和划分1815所示,一种进一步的划分首先放置较大的部分,而另一种首先放置较小的部分。例如,当父块超出图片右边界时,块必须被垂直划分成两个孩子块。例如,当父块超出图片下方边界时,块必须被水平划分成两个孩子块。
实施例12
在一个示例中,可以从可能值中移除代表划分或非划分的码字,该可能值可被信令通知以指示是否和/或如何划分块。例如,当码字不被信令通知时,划分被推断为预定义值。
实施例13
在一个示例中,是否进一步划分块可取决于阈值。例如,当块的宽度小于T1时,不允许进一步划分块。例如,当块的高度小于T2时,不允许进一步划分块。例如,T1和T2可以是预定义的值。例如,可以在比特流中信令通知(例如,语法元素)T1和T2。
图19是可实现本文中所公开的各种技术的示例性的视频处理系统1900的框图。各种实现方式可以包括系统1900中的一些或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1902可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统1900可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以减少从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储或经由所连接的通信来发送,如组件1906所表示的。在输入1902处接收的视频的存储或通信的比特流(或编解码)表示可以由组件1908使用,以生成被发送到显示接口1910的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够进行数字数据处理和/或视频显示的装设备。
图20是示例性的视频处理装置2000的框图。装置2000可以用于实现本文中所述的方法中的一个或多个。装置2000可以实施在智能电话、平板电脑、计算机、物联网(IoT)接收器等中。装置2000可以包括一个或多个处理器2002、一个或多个存储器2004和视频处理电路2006。(多个)处理器2002可以配置为实现本文档中所述的一个或多个方法。(多个)存储器2004可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理电路2006可以用于在硬件电路中实现本文档中所描述的一些技术。在一些实施例中,视频处理电路2006可以至少部分地包括在处理器2002中,例如图形协处理器。
图21为示例性视频处理的方法2100的流程图。方法2100包括在步骤2102使用ETT分割来分割父块以创建三个子块,其中至少一个子块包括具有不是2的幂的测量值的边。在步骤2104,基于子块执行可视媒体数据和比特流之间的转换。在示例中,父块包括宽度(W)和高度(H)。三个子块包括具有宽度(W1)和高度(H1)的近侧子块、具有宽度(W2)和高度(H2)的中间子块以及具有宽度(W3)和高度(H3)的远侧子块。此外,W、W1、W2、W3、H、H1、H2和H3都是整数。
在示例中,W2不能以W2=2N2的形式表达,其中N2是正整数。在示例中,H2不能以H2=2N2的形式表达,其中N2是整数。在示例中,W1和/或W3是2的幂。在示例中,H1和/或H3是2的幂。
在示例中,ETT分割是ETT-V分割。在这种情况下,三个子块的总宽度等于父块的宽度。此外,三个子块各自的高度等于父块的高度。在示例中,W1等于1/8*W,W2等于3/4*W,并且W3等于1/8*W。三个子块按照从左到右的编解码顺序被编解码。
在示例中,ETT分割是ETT-V分割。在这种情况下,三个子块的总高度等于父块的高度,并且三个子块各自的宽度等于父块的宽度。在示例中,H1等于1/8*H,H2等于3/4*H,并且H3等于1/8*H。三个子块按照从上到下的编解码顺序被编解码。
在示例中,仅当父块的一边是2的幂时,才允许ETT分割。在示例中,仅当ETT分割被允许时,ETT分割的指示才被包括在比特流中。在示例中,两个子块具有相同的宽度,另一个子块具有不同的宽度。在示例中,两个子块具有相同的高度,另一个子块具有不同的高度。在示例中,所有子块具有不同的宽度。在示例中,其中所有子块具有不同的高度。
在示例中,方法2100还包括基于父块的ETT分割、子块的索引和子块的尺寸来确定是否分割子块。在示例中,当中间子块大于阈值时并且当中间子块包含亮度样点时,中间子块被分割。在示例中,当ETT是ETT-V时,不通过水平划分来分割中间子块,并且其中,当ETT是ETT-H时,不通过垂直划分来分割中间子块。在示例中,当ETT是ETT-V时,中间子块被垂直分割成两个孩子子块。在示例中,当ETT是ETT-H时,中间子块被水平分割成两个孩子子块。
在示例中,当ETT分割的码字没有在比特流中被信令通知时,ETT分割是从预定义的值中被推断。在示例中,仅当父块的高度大于最小高度阈值并且父块的宽度大于最小宽度阈值时,才执行ETT分割。
应注意,方法2100可在用于处理视频数据的装置中实现,该装置包括处理器和其上带有指令的非暂时性存储器,例如视频编码器2300、视频解码器2400和/或编码器2500。在这种情况下,由处理器执行的指令使得处理器执行方法2100。此外,方法2100可以由包括供视频编解码设备使用的计算机程序产品的非暂时性计算机可读介质来执行。该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得指令在由处理器执行时使得视频编解码设备执行方法2100。
图22是示出可利用本公开的技术的示例视频编解码系统2200的框图。如图22所示,视频编解码系统2200可以包括源设备2210和目标设备2220。源设备2210生成编码视频数据,源设备2210可以被称为视频编码设备。目标设备2220可以解码由源设备2210生成的编码视频数据,目标设备2220可以被称为视频解码设备。
源设备2210可以包括视频源2212、视频编码器2214和输入/输出(I/O)接口2216。视频源2212可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器2214对来自视频源2212的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口2216包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口2216通过网络2230直接发送到目标设备2220。还可以将编码的视频数据存储到存储介质/服务器2240上以供目标设备2220访问。
目标设备2220可以包括I/O接口2226、视频解码器2224和显示设备2222。I/O接口2226可以包括接收器和/或调制解调器。I/O接口2226可以从源设备2210或存储介质/服务器2240获取编码的视频数据。视频解码器2224可以对编码的视频数据进行解码。显示设备2222可以向用户显示解码的视频数据。显示设备2222可以与目标设备2220集成,或可以在配置为与外置显示设备相接的目标设备2220的外部。
视频编码器2214和视频解码器2224可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或其他标准)进行操作。
图23是示出视频编码器2300的示例的框图,该视频编码器2300可以是图22中示出的系统2200中的视频编码器2214。视频编码器2300可以被配置为执行本公开的任何或全部技术。在图23的示例中,视频编码器2300包括多个功能组件。本公开所描述的技术可以在视频编码器2300的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器2300的功能组件可以包括分割单元2301、预测单元2302(其可以包括模式选择单元2303、运动估计单元2304、运动补偿单元2305、帧内预测单元2306)、残差生成单元2307、变换单元2308、量化单元2309、逆量化单元2310、逆变换单元2311、重建单元2312、缓冲器2313和熵编码单元2314。
在其他示例中,视频编码器2300可以包括更多、更少或不同的功能组件。在一个示例中,预测单元2302可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元2304和运动补偿单元2305的一些组件可以被高度集成,但是出于解释的目的在图23的示例中分开表示。
分割单元2301可以将图片分割成一个或多个视频块。视频编码器2300和视频解码器2400可以支持各种视频块尺寸。
模式选择单元2303可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元2307来生成残差块数据而且提供到重建单元2312来重建编解码块以用作参考图片。在一些示例中,模式选择单元2303可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元2303还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整像素精度)。
为了对当前视频块进行帧间预测,运动估计单元2304可以通过将来自缓冲器2313的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元2305可以基于来自缓冲器2313的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元2304和运动补偿单元2305可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元2304可以进行当前视频块的单向预测,并且运动估计单元2304可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元2304然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元2304可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元2305可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元2304可以进行当前视频块的双向预测,运动估计单元2304可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元2304然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元2304可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元2305可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元2304可以输出运动信息的全部集合,用于解码器的解码处理。在一些示例中,运动估计单元2304可以不输出当前视频的运动信息的全部集合。而是,运动估计单元2304可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元2304可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元2304可以在与当前视频块相关联的语法结构中指示:视频解码器2400指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元2304可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器2400可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器2300可以预测性地信令通知运动矢量。可以由视频编码器2300实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元2306可以对当前视频块进行帧内预测。当帧内预测单元2306对当前视频块进行帧内预测时,帧内预测单元2306可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元2307可以通过从当前视频块中减去当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可以不存在当前视频块的残差数据,并且残差生成单元2307可以不进行减去操作。
变换单元2308可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换单元2308生成与当前视频块相关联的变换系数视频块之后,量化单元2309可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元2310和逆变换单元2311可以将逆量化和逆变换分别应用于变换系数视频块,以从变换系数视频块重建残差视频块。重建单元2312可以将重建的残差视频块添加到来自由预测单元2302生成的一个或多个预测视频块的对应样点,以产生存储在缓冲器2313中的与当前块相关联的重建视频块。
在重建单元2312重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元2314可以从视频编码器2300的其他功能组件接收数据。当熵编码单元2314接收数据时,熵编码单元2314可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图24是示出视频解码器2400的示例的框图,该视频解码器2400可以是图22中示出的系统2200中的视频解码器2224。
视频解码器2400可以被配置为进行本公开的任何或全部技术。在图24的示例中,视频解码器2400包括多个功能组件。本公开所描述的技术可以在视频解码器2400的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在图24的示例中,视频解码器2400包括熵解码单元2401、运动补偿单元2402、帧内预测单元2409、逆量化单元2404、逆变换单元2405、重建单元2406和缓冲器2407。在一些示例中,视频解码器2400可以进行与关于视频编码器2300(图23)所描述的编码过程总体反演的解码过程。
熵解码单元2401可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元2401可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元2402可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元2402例如可以通过进行AMVP和merge模式确定此类信息。
运动补偿单元2402可以产生运动补偿块,可能地基于插值滤波器进行插值。用于以子像素精度的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元2402可以使用由视频编码器2300在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数像素的插值的值。运动补偿单元2402可以根据接收的语法信息确定由视频编码器2300所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元2402可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元2403可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元2404逆量化(即去量化)在比特流中提供的且由熵解码单元2401解码的量化的视频块系数。逆变换单元2405应用逆变换。
重建单元2406可以用由运动补偿单元2402或帧内预测单元2403生成的对应预测块求和残差块,以形成解码块。如所期望的,去块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器2407中,该缓冲器2407提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
图25是示例性编码器2500的示意图。编码器2500适合于实现VVC技术。编码器2500包括三个环路滤波器,即去块滤波器(DF)2502、样点自适应偏移(SAO)2504和自适应环路滤波器(ALF)2506。与使用预定义滤波器的DF2502不同,SAO 2504和ALF 2506利用当前图片的原始样点,通过分别添加偏移和应用有限脉冲响应(FIR)滤波器,利用编解码的辅助信息信令通知偏移和滤波器系数,来减小原始样点和重构样点之间的均方误差。ALF 2506位于每个图片的最后处理阶段,并且可以被视为试图捕捉和修复由先前阶段产生的伪影的工具。
编码器2500还包括帧内预测组件2508和运动估计/补偿(ME/MC)组件2510,配置为接收输入视频。帧内预测组件2508被配置成执行帧内预测,而ME/MC组件2510被配置成利用从参考图片缓冲器2512获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残差块被馈送到变换(T)组件2514和量化(Q)组件2516中,以生成量化的残差变换系数,这些系数被馈送到熵编解码组件2518中。熵编解码组件2518对预测结果和量化的变换系数进行熵编解码,并将其发送到视频解码器(未示出)。从量化组件2516输出的量化组件可以被馈送到逆量化(IQ)组件2520、逆变换组件2522和重构(REC)组件2524。REC组件2524能够将图像输出到DF 2502、SAO 2504和ALF 2506,以便在这些图片被存储在参考图片缓冲器2512中之前进行滤波。
接下来提供了一些实施例优选的解决方案的列表。
以下解决方案显示了本文讨论的技术的示例。
1.一种视频处理方法(例如,图21中描绘的方法2100),包括:执行(2002)视频的视频块和视频的比特流之间的转换,其中视频块具有WxH的尺寸,并且根据规则被分割成扩展三叉树(ETT)分割,其中ETT分割包括将视频块分割成尺寸为W1×H1、W2×H2、W3×H3的三个分割,其中W1、W2、W3、H1、H2、H3是整数,并且它们中的至少一个不是2的幂的形式。
2.根据解决方案1所述的方法,其中规则规定W2不是具有任何正整数N2的W2=2N2的形式。
3.根据解决方案1-2中任一项所述的方法,其中规则规定H2不是具有任何正整数N2的H2=2N2的形式。
4.根据解决方案1-3中任一项所述的方法,其中规则规定视频块在垂直方向上被划分成分割。
5.根据解决方案1-3中任一项所述的方法,其中,规则规定视频块在水平方向上被划分成分割。
6.根据解决方案1-5中任一项所述的方法,其中,响应于视频块的维度满足条件,将视频块分割成ETT分割。
7.根据解决方案6所述的方法,其中条件是W或H或两者都等于2的整数幂。
8.根据解决方案1-7中任一项所述的方法,其中规则规定视频块的三个分割中的两个具有相同的分割尺寸。
9.根据解决方案1-8中任一项所述的方法,其中规则规定视频块的所有三个分割具有不同的分割尺寸。
以下解决方案显示了上一章节中讨论的技术的示例实施例。
10.根据解决方案1-9中任一项所述的方法,其中,规则进一步规定是否或如何基于第一块的特性将对应于从视频块生成的三个分割之一的第一块进一步划分成附加的更小的块,其中,特性包括第一块的索引或第一块的尺寸。
11.根据解决方案10所述的方法,其中,规则规定在第一块是视频块的水平或垂直分割的结果的情况下,将第一块划分成附加的更小的块。
12.根据解决方案10所述的方法,其中,规则不允许第一块的一些划分模式。
13.根据解决方案10至12所述的方法,其中,规则还规定比特流省略码字,该码字表示第一块如何被划分。
14.根据解决方案10所述的方法,其中第一块的特性基于阈值。
15.根据解决方案14所述的方法,其中阈值包括T1,并且其中,在第一块的宽度小于T1的情况下,不允许将第一块进一步划分成更小的附加块。
16.根据解决方案14或15所述的方法,其中阈值包括T2,并且其中,在第一块的高度小于T2的情况下,不允许第一块进一步划分成更小的附加块。
17.根据解决方案1-16中任一项所述的方法,其中转换包括从视频生成比特流。
18.根据解决方案1-16中任一项所述的方法,其中转换包括从比特流生成视频。
19.一种用于在计算机可读介质上存储比特流的方法,包括根据解决方案1-17中任一项或多项所述的方法生成比特流,并将该比特流存储在计算机可读介质上。
20.一种其上存储有视频的比特流的计算机可读介质,该比特流在被视频解码器的处理器处理时使得视频解码器生成视频。
21.一种视频解码装置,包括被配置为实现解决方案1至17中的一项或多项所述的方法的处理器。
22.一种视频编码装置,包括被配置为实现解决方案1至17中的一项或多项所述的方法的处理器。
23.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实现解决方案1至17中任一项所述的方法。
24.一种计算机可读介质,其上具有符合根据解决方案1至17中任一项生成的比特流格式的比特流。
25.一种方法、一种装置、一种根据本文档中描述的公开方法或系统生成的比特流。
在本文所述的解决方案中,编码器可通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,根据格式规则知道语法元素的存在和不存在,以产生解码的视频。
在本文件中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。例如,如语法所定义的,当前视频块的比特流表示可以对应于在比特流内共位的或分布在不同位置的比特。例如,宏块可以根据变换和编解码的误差残差值进行编码,并且还可以在比特流中的标头和其他字段中使用比特。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文件中描述的公开和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文件中所公开的结构及其结构等效体,或其中一个或多个的组合。公开的内容和其他实施例可以实施为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本文件中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本组件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者可操作地耦合以从大容量存储设备接收数据或者将数据传输到大容量存储设备,或者以上两者。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和光盘只读存储器(CD ROM)和数字多功能光盘只读存储器(DVD-ROM)盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
当除了第一组件和第二组件之间的线、迹线或另一种介质之外,不存在中间组件时,第一组件直接耦合至第二组件。当在第一组件和第二组件之间存在除了线、迹线或另一种介质之外的中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明,术语“约”的使用意味着包括数值的上下10%的范围。
虽然本公开中提供了若干实施例,但应理解,在不脱离本公开的精神或范围的情况下,所公开的系统和方法可体现为许多其他特定形式。当前的示例被认为是说明性的而非限制性的,并且不限于其给出的细节。例如,各种元件或组件可以组合或集成在另一个系统中,或者可以省略或不实现某些特征。
此外,在不脱离本公开的范围的情况下,各种实施例中描述和说明的离散或单独的技术、系统、子系统和方法可与其他系统、模块、技术或方法组合或集成。被示出或讨论为耦合的其他项目可以直接连接,或者可以通过一些接口、设备或中间组件以电、机械或其他方式间接耦合或通信。本领域的技术人员可以在不脱离这里公开的精神和范围的情况下确定改变、替换和变更的其他示例。

Claims (23)

1.一种用于处理视频数据的方法,包括:
使用扩展三叉树ETT分割来分割父块以创建三个子块,其中至少一个子块包括具有不是2的幂的测量值的边;和
基于所述子块执行可视媒体数据和比特流之间的转换。
2.根据权利要求1所述的方法,其中,所述父块包括宽度W和高度H,其中所述三个子块包括具有宽度W1和高度H1的近侧子块、具有宽度W2和高度H2的中间子块以及具有宽度W3和高度H3的远侧子块,并且其中W、W1、W2、W3、H、H1、H2和H3都是整数。
3.根据权利要求1-2中任一项所述的方法,其中W2不能以W2=2N2的形式表达,其中N2是正整数,或者其中H2不能以H2=2N2的形式表达,其中N2是整数。
4.根据权利要求1-3中任一项所述的方法,其中W1是2的幂,或者H1是2的幂。
5.根据权利要求1-4中任一项所述的方法,其中所述ETT分割是垂直ETT分割ETT-V,其中所述三个子块的总宽度等于所述父块的所述宽度,并且其中所述三个子块各自的高度等于所述父块的所述高度。
6.根据权利要求5所述的方法,其中W1等于1/8*W,其中W2等于3/4*W,并且其中W3等于1/8*W。
7.根据权利要求6所述的方法,其中,所述三个子块按照从左到右的编解码顺序被编解码。
8.根据权利要求1-4中任一项所述的方法,其中所述ETT分割是水平ETT分割ETT-H,其中所述三个子块的总高度等于所述父块的所述高度,并且其中所述三个子块各自的宽度等于所述父块的所述宽度。
9.根据权利要求8所述的方法,其中H1等于1/8*H,其中H2等于3/4*H,并且其中H3等于1/8*H。
10.根据权利要求9所述的方法,其中,所述三个子块按照从上到下的编解码顺序被编解码。
11.根据权利要求1-10中任一项所述的方法,其中仅当所述父块的一边是2的幂时,才允许所述ETT分割。
12.根据权利要求1-11中任一项所述的方法,其中,仅当所述ETT分割被允许时,所述ETT分割的指示才被包括在比特流中。
13.根据权利要求1-12中任一项所述的方法,其中两个所述子块具有相同的宽度,另一个所述子块具有不同的宽度,或者其中两个所述子块具有相同的高度,另一个所述子块具有不同的高度。
14.根据权利要求1-13中任一项所述的方法,其中所有所述子块具有不同的宽度,或者其中所有所述子块具有不同的高度。
15.根据权利要求1-14中任一项所述的方法,还包括基于所述父块的所述ETT分割、所述子块的索引和所述子块的尺寸来确定规则是否允许或强制分割所述子块。
16.根据权利要求1-15中任一项所述的方法,其中,当所述父块被ETT分割时,所述规则强制分割所述中间子块。
17.根据权利要求1-16中任一项所述的方法,其中,当所述中间子块大于阈值时并且当所述中间子块包含亮度样点时,所述中间子块被强制分割。
18.根据权利要求1-17中任一项所述的方法,其中,当所述ETT是ETT-V时,不允许通过水平划分来分割所述中间子块,并且其中,当ETT是ETT-H时,不通过垂直划分来分割所述中间子块。
19.根据权利要求1-18中任一项所述的方法,其中当所述ETT是ETT-V时,所述中间子块被垂直分割成两个孩子子块,并且其中当所述ETT是ETT-H时,所述中间子块被水平分割成两个孩子子块。
20.根据权利要求1-19中任一项所述的方法,其中,当所述ETT分割的码字没有在比特流中被信令通知时,所述ETT分割是从预定义值中被推断。
21.根据权利要求1-20中任一项所述的方法,其中,仅当所述父块的高度大于最小高度阈值并且所述父块的宽度大于最小宽度阈值时,才执行所述ETT分割。
22.一种非暂时性计算机可读介质,包括供视频编解码设备使用的计算机程序产品,所述计算机程序产品包含存储在所述非暂时性计算机可读介质上的计算机可执行指令,所述计算机可执行指令在由处理器执行时使所述视频编解码设备实施权利要求1-21中任一项所述的方法。
23.一种用于处理视频数据的装置,包括:处理器;以及其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使所述处理器实施权利要求1-21中任一项所述的方法。
CN202280014509.4A 2021-02-10 2022-02-08 视频解码器初始化信息信令通知 Pending CN116918325A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2021/076469 2021-02-10
CN2021076469 2021-02-10
PCT/CN2022/075482 WO2022171071A1 (en) 2021-02-10 2022-02-08 Video decoder initialization information signaling

Publications (1)

Publication Number Publication Date
CN116918325A true CN116918325A (zh) 2023-10-20

Family

ID=82838277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280014509.4A Pending CN116918325A (zh) 2021-02-10 2022-02-08 视频解码器初始化信息信令通知

Country Status (3)

Country Link
US (1) US20230388495A1 (zh)
CN (1) CN116918325A (zh)
WO (1) WO2022171071A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10848788B2 (en) * 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
EP3383045A1 (en) * 2017-03-27 2018-10-03 Thomson Licensing Multiple splits prioritizing for fast encoding
US20180367818A1 (en) * 2017-06-15 2018-12-20 Futurewei Technologies, Inc. Block Partition Structure in Video Compression
EP3701721A1 (en) * 2017-10-27 2020-09-02 Huawei Technologies Co., Ltd. Apparatus and method for picture coding with asymmetric partitioning
WO2019225991A1 (ko) * 2018-05-23 2019-11-28 주식회사 케이티 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
US20230388495A1 (en) 2023-11-30
WO2022171071A1 (en) 2022-08-18

Similar Documents

Publication Publication Date Title
US9832467B2 (en) Deblock filtering for intra block copying
CN117294852A (zh) 跨分量编解码顺序导出
CN113826383B (zh) 变换跳过模式的块维度设置
JP2022548008A (ja) クロマデブロックフィルタリングの量子化パラメータ
CN113273217A (zh) 非对称四叉树分割
CN110730349B (zh) 用于微块的约束
WO2022206735A1 (en) Intra-prediction on non-dyadic blocks
TWI722486B (zh) 取決於形狀的插值順序
WO2022171071A1 (en) Video decoder initialization information signaling
WO2022174769A1 (en) Unsymmetric binary tree partitioning and non-dyadic blocks
US20240048701A1 (en) Boundary Handling for Coding Tree Split
US20240040119A1 (en) Interaction of multiple partitions
US20240022721A1 (en) Constraints on partitioning of video blocks
WO2022213966A1 (en) Neighbor Based Partitioning Constraints
US20240031613A1 (en) Duplicate partitioning prevention
US20240022723A1 (en) Partition Signaling In Video Coding
WO2023020569A1 (en) Intra-prediction on non-dyadic blocks
WO2022179404A1 (en) Residual coding on non-dyadic blocks
WO2023082484A1 (en) Array based residual coding on non-dyadic blocks
CN118266216A (zh) 非二进分数块的基于数组的残差编解码
CN116965035A (zh) 非二元块上的变换
CN117044213A (zh) 对非二元块的变换与量化
CN117716692A (zh) 递归预测单元在视频编解码中的应用
CN117121481A (zh) 单独树编解码限制
CN117296316A (zh) 变换和符号预测

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