CN116888966A - 非对称二叉树分割和非二元块 - Google Patents

非对称二叉树分割和非二元块 Download PDF

Info

Publication number
CN116888966A
CN116888966A CN202280016175.4A CN202280016175A CN116888966A CN 116888966 A CN116888966 A CN 116888966A CN 202280016175 A CN202280016175 A CN 202280016175A CN 116888966 A CN116888966 A CN 116888966A
Authority
CN
China
Prior art keywords
block
binary
sub
partition
ubt
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
CN202280016175.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 CN116888966A publication Critical patent/CN116888966A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

公开了一种用于处理视频数据的机制。父块的非对称二叉树(UBT)分割被确定以创建具有不同维度的两个子块。至少一个子块包括非二元的边。基于子块执行可视媒体数据和比特流之间的转换。

Description

非对称二叉树分割和非二元块
相关申请的交叉引用
本专利申请要求Kai Zhang等人于2021年2月20日提交的题为“非对称二叉树分割和非二元块”的国际申请No.PCT/CN2021/077027的利益,该申请以引用并入本文。
技术领域
本专利文档涉及文件格式的数字音频视频媒体信息的生成、存储和消耗。
背景技术
数字视频在互联网和其他数字通信网络上占据着最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
第一方面涉及一种用于处理视频数据的方法,包括:确定父块的非对称二叉树(UBT)分割,以创建具有不同维度的两个子块,其中至少一个子块包括非二元的边;以及基于子块执行可视媒体数据和比特流之间的转换。
可选地,在任一前述方面中,该方面的另一实现方式提供两个子块中的一个子块是非二元块,并且另一个子块是二元块。
可选地,在任一前述方面中,该方面的另一实现方式提供UBT分割是垂直UBT(UBT-V)分割,当第一子块小于第二子块时,UBT-V分割是UBT-V类型0分割,并且当第一子块大于第二子块时,UBT-V分割是UBT-V类型1分割。
可选地,在任一前述方面中,该方面的另一实现方式提供UBT分割是水平UBT(UBT-H)分割,当第一子块小于第二子块时,UBT-H分割是UBT-H类型0分割,并且当第一子块大于第二子块时,UBT-H分割是UBT-H类型1分割。
可选地,在任一前述方面中,该方面的另一实现方式提供确定将非二元块分割成子块。
可选地,在任一前述方面中,该方面的另一实现方式提供非二元块的宽度W是非二元数,并且非二元块的高度H是二元数。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割是水平分割。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割是垂直分割。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割产生宽度为W1的近侧子块和宽度为W2的远侧子块,并且其中,W1和W2是二元的、非二元的或二元和非二元的组合。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割产生宽度为W1的近侧子块和宽度为W2的远侧子块,并且其中W1=W2=W/2;并且W2=W-W1;/>并且W1=W-W2;并且W2=W-W1;/>并且W1=W-W2;W1=1<<N,W2=W-W1,并且/>其中N是数字;W2=1<<N,W1=W-W2,并且其中N是数字。
可选地,在任一前述方面中,该方面的另一实现方式提供非二元块的宽度W是二元数,并且非二元块的高度H是非二元数。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割是垂直分割。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割是水平分割。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割产生高度H1的近侧子块和高度H2的远侧子块,并且其中,H1和H2是二元的、非二元的或二元和非二元的组合。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割产生高度为H1的近侧子块和高度为H2的远侧子块,并且其中H1=H2=H/2;并且H2=H-H1;/>并且H1=H-H2;并且H2=H-H1;/>并且H1=H-H2;H1=1<<N,H2=H-H1,并且/>其中N是数字;H2=1<<N,H1=H-H2,并且其中N是数字。
可选地,在任一前述方面中,该方面的另一实现方式提供非二元块的宽度W是非二元数,并且非二元块的高度H是非二元数。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割是垂直分割。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割产生宽度为W1的近侧子块和宽度为W2的远侧子块,并且其中,W1和W2是二元的、非二元的或二元和非二元的组合。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割产生宽度为W1的近侧子块和宽度为W2的远侧子块,并且其中W1=W2=W/2;并且W2=W-W1;/>并且W1=W-W2;并且W2=W-W1;/>并且W1=W-W2;W1=1<<N,W2=W-W1,并且/>其中N是数字;W2=1<<N,W1=W-W2,并且其中N是数字。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割是水平分割。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割产生高度为H1的近侧子块和高度为H2的远侧子块,并且其中H1和H2是二元的、非二元的或二元和非二元的组合。
可选地,在任一前述方面中,该方面的另一实现方式提供对非二元块进行的分割产生高度为H1的近侧子块和高度为H2的远侧子块,并且其中H1=H2=H/2;并且H2=H-H1;/>并且H1=H-H2;并且H2=H-H1;/>并且H1=H-H2;H1=1<<N,H2=H-H1,并且/>其中N是数字;H2=1<<N,H1=H-H2,并且其中N是数字。
可选地,在任一前述方面中,该方面的另一实现方式提供规则防止对由UBT产生的子块进行分割。
可选地,在任一前述方面中,该方面的另一实现方式提供不同的块划分约束被应用于非二元块和二元块。
可选地,在任一前述方面中,该方面的另一实现方式提供当非二元块的边的测量值小于父块的对应边的测量值的一半时,对非二元块进行的分割增加大于1的位深,并且其中,当非二元块的边的测量值大于父块的对应边的测量值的一半时,对非二元块进行的分割增加小于或等于1的位深。
可选地,在任一前述方面中,该方面的另一实现方式提供规则防止对由UBT-V产生的任何子块进行垂直分割。
可选地,在任一前述方面中,该方面的另一实现方式提供规则防止对由UBT-H产生的任何子块进行垂直分割。
可选地,在任一前述方面中,该方面的另一实现方式提供规则防止对由UBT-V产生的任何子块进行水平分割。
可选地,在任一前述方面中,该方面的另一实现方式提供规则防止对由UBT-H产生的任何子块进行水平分割。
可选地,在任一前述方面中,该方面的另一实现方式提供规则防止对由UBT产生的任何子块进行所有分割中的任何分割。
可选地,在任一前述方面中,该方面的另一实现方式提供规则要求进一步分割由UBT产生的任何子块。
可选地,在任一前述方面中,该方面的另一实现方式提供比特流包括信令通知UBT、UBT-V、UBT-H、UBT类型0、UBT类型1、UBT划分比或其组合的语法元素。
第二方面涉及一种非暂时性计算机可读介质,其包含供视频编码设备使用的计算机程序产品,计算机程序产品包含存储在非暂时性计算机可读介质上的计算机可执行指令,使得计算机可执行指令在由处理器执行时使视频编码设备执行前述方面中任一方面的方法。
第三方面涉及一种用于处理视频数据的装置,包括:处理器;以及其上具有指令的非暂时性存储器,其中指令在由处理器执行时使处理器执行前述方面中任一方面的方法。
为清晰起见,任何一个前述实施例可与任何一个或多个其他前述实施例组合,以在本公开的范围内形成新的实施例。
从以下结合附图和权利要求的详细说明中,可更清楚地理解这些和其他特征。
附图说明
为了更全面地理解本公开的内容,现结合附图和详细说明对参考附图作以下简要说明,附图中相同的参考数字代表相同的部件。
图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为示例1/4非对称二叉树(UBT)分割结构的示意图。
图19为示例1/8UBT分割结构的示意图。
图20为示例1/16UBT分割结构的示意图。
图21-22为示例非二元分割的示意图。
图23为示例性的视频处理系统的框图。
图24为示例性的视频处理装置的框图。
图25为示例性的视频处理方法的流程图。
图26是图示示例性的视频编解码系统的框图。
图27为图示示例性的编码器的框图。
图28为图示示例性的解码器的框图。
图29为示例性的编码器的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的示例性实现方式,但可使用任何数量的技术实施所公开的系统和/或方法,无论是当前已知的技术还是待开发的技术。本公开不应以任何方式限于以下示出的示例性实现方式、附图和技术,包括在此示出和描述的示例性设计和实现方式,而是可以在所附权利要求及其等效的全部范围内进行修改。
多功能视频编解码(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。
图17为示例性的ETT分割结构的示意图1700,包括ETT-V划分1701和ETT-H划分1703。当采用ETT时,具有维度为宽×高(W×H)的块被划分成三个维度为W1×H1、W2×H2和W3×H3的分割。W1、W2、W3、H1、H2、H3都是整数。在示例中,并且至少一个参数不是2的幂的形式。W1、W2和W3是产生的子块的宽度。H1、H2和H3是产生的子块的高度。在一个示例中,W2不能是具有任何正整数N2的W2=2N2的形式。在另一个示例中,H2不能是具有任何正整数N2的H2=2N2的形式。在一个示例中,至少一个参数是2的幂的形式。在一个示例中,W1是具有正整数N1的W1=2N1的形式。在另一个示例中,H1是具有正整数N1的H1=2N1的形式。
在一个示例中,ETT仅在垂直方向上划分一个分割,例如,其中W1=a1*W,W2=a2*W,并且W3=a3*W,其中a1+a2+a3=1,并且其中H1=H2=H3=H。这种ETT是垂直分割,可以被称为ETT-V。在一个示例中,可以使用ETT-V划分1701,其中W1=W/8,W2=3*W/4,W3=W/8,并且H1=H2=H3=H。在一个示例中,ETT仅在水平方向上划分一个分割,例如,其中H1=a1*H,H2=a2*H,并且H3=a3*H,其中a1+a2+a3=1,并且其中W1=W2=W3=W。这种ETT是水平分割,可以被称为ETT-H。在一个示例中,可以使用ETT-H划分1703,其中H1=H/8,H2=3*H/4,H3=H/8,并且W1=W2=W3=W。
以下是通过公开的技术解决方案解决的示例技术问题。QT/BT/TT/UQT只能将块划分成具有二元维度的子块。二元维度描述的情况是子块的宽度和高度必须是2N的形式,其中N是正整数。
本文公开了解决上面列出的一个或多个问题的机制。非对称二叉树(UBT)分割可用于将块划分成非二元维度。此外,通过UBT分割创建的非二元子块可以被进一步分割。二元块是维度只能表示为二的幂(2,4,8,16,32,64,128等)的块。非二元块是具有不是二的幂的至少一个维度的任何块。大多数数字不是二的幂,因此UBT分割可以应用于不能由QT、BT、TT和/或UQT分割的大量块。UBT分割也可以被称为UBT划分。可以将UBT划分应用于父块,以产生可能(或可能不)具有不同维度的两个子块。例如,UBT划分可以产生两个子块,其中至少一个子块的边的尺寸不是二的幂。例如,当父块具有宽度W和高度H时,产生的第一子块具有宽度W1和高度H1的维度,产生的第二子块具有宽度W2和高度H2的维度,其中W1、W2、H1和H2中的至少一个是非二元的。具有非二元维度的块可以被称为非二元块。UBT分割可以是垂直UBT(UBT-V)分割和/或水平UBT(UBT-H)分割。当第一子块的边的尺寸小于父块的对应边的尺寸的一半时,出现类型0UBT。当第一子块的边的尺寸大于(但不等于)父块的对应边的尺寸的一半时,出现类型1UBT。
在示例中,非二元块可被进一步划分,例如该非二元块为UBT划分产生的子块。例如,诸如BT、TT、UQT、ETT或UBT的水平划分可以被应用于具有非二元宽度和二元高度的块。也可以应用垂直划分,从而产生具有可以是二元的、非二元的或其组合的宽度的子块。在另一个示例中,诸如BT、TT、UQT、ETT或UBT的垂直划分可以被应用于具有非二元高度和二元宽度的块。也可以应用水平划分,从而产生具有可以是二元的、非二元的或其组合的高度的子块。垂直或水平划分也可以应用于具有非二元宽度和非二元高度的块,这可以产生具有可以是二元的、非二元的或其组合的高度的子块。在示例中,UBT划分不能被应用于由于UBT划分而创建的子块。此外,不同的约束可以被应用于二元块和非二元块。例如,可以为将块划分成子块的树结构维持树深度。对于小于父块的尺寸的一半的子块,划分成二元块可以将树深度增加1,而划分成非二元块可以将树深度增加1以上。在示例中,在UBT-V或UBT-H划分之后,可能不允许水平或垂直划分。在示例中,诸如标志或索引的语法元素可用于在比特流中信令通知UBT、垂直/水平UBT、类型0/类型1UBT、UBT划分比或其组合。
图18为示例1/4UBT分割结构的示意图1800,其包括垂直UBT(UBT-V)分割和水平UBT(UBT-H)分割。在所示的示例中,父块被划分成两个子块。一个子块的边的维度是父块的划分边的维度的1/4,另一个子块的边的维度是父块的划分边的维度的3/4。示意图1800包括UBT-V划分1801、UBT-V划分1803、UBT-H划分1805和UBT-H划分1807。用不同的索引创建子块。例如,在左边或上方的子块比在右边或下方的子块具有更低的索引(例如,零)。因此,在左边或上方的子块可以被称为第一子块,在右边或下方的子块可以被称为第二子块。当第一块的尺寸小于父块的尺寸的一半时,UBT划分可被称为类型0UBT,和/或,当第一块的尺寸大于父块的尺寸的一半时,UBT划分可被称为类型1UBT。因此,UBT-V划分1801和UBT-H划分1805是类型0划分,并且UBT-V划分1803和UBT-H划分1807是类型1划分。UBT-V划分的编解码是从左到右,而UBT-H划分的编解码是从上到下。
例如,父块具有宽度W和高度H。第一子块(左边或上方)具有宽度W1和高度H1。第二子块(右边或下方)具有宽度W2和高度H2。在UBT-V划分中,W1=a×W,W2=(1-a)×W,并且H1=H2=H,其中a是分割比,例如a可以是分数的形式。在UBT-H划分中,H1=a×H,H2=(1-a)×H,并且W1=W2=W。在类型0划分中,a小于一半。在类型1划分中,a大于一半。在UBT-V划分1801和UBT-H划分1805,a是1/4。在UBT-V划分1803和UBT-H划分1807,a是3/4。
UBT的一个优点是UBT分割可用于创建非二元子块。非二元块(或子块)是至少一个维度不能被表示为二的幂的块(例如,在维度等于2N的情况下,N不是正整数)。二元子块是所有维数都可以表示为二的幂的块(所有边都可以表示为2N,其中N是正整数)。因此,第一子块、第二子块或两者可以具有非二元维度,因此可以是非二元子块。
图19为示例1/8UBT分割结构的示意图1900,其包括UBT-V分割和UBT-H分割。在所示的示例中,父块被划分成两个子块。一个子块的边的维度是父块的划分边的维度的1/8,另一个子块的边的维度是父块的划分边的维度的7/8。示意图1900包括UBT-V划分1901、UBT-V划分1903、UBT-H划分1905和UBT-H划分1907。在UBT-V划分1901和UBT-H划分1905中,第一子块(左边或上方)小于一半,因此这种划分是类型0划分。在UBT-V划分1903和UBT-H划分1907中,第一子块(左边或上方)大于一半,因此这种划分是类型1划分。例如,父块可以具有宽度W和高度H。第一子块(左边或上方)可以具有宽度W1和高度H1。第二子块(右边或下方)可以具有宽度W2和高度H2。在UBT-V划分中,W1=a×W,W2=(1-a)×W,并且H1=H2=H,其中a是分配比,例如a可以是分数的形式。在UBT-H划分中,H1=a×H,H2=(1-a)×H,并且W1=W2=W。在类型0划分中,a小于一半。在类型1划分中,a大于一半。在UBT-V划分1901和UBT-H划分1905,a是1/8。在UBT-V划分1903和UBT-H划分1907,a是7/8。UBT的一个好处是UBT分割可以用来创建非二元子块。如上所述,第一子块、第二子块或两者可以具有非二元维度,因此可以是非二元子块。
图20为示例1/16UBT分割结构的示意图2000,其包括UBT-V分割和UBT-H分割。在所示的示例中,父块被划分成两个子块。一个子块的边的维度是父块的划分边的维度的1/16,另一个子块的边的维度是父块的划分边的维度的15/16。示意图2000包括UBT-V划分2001、UBT-V划分2003、UBT-H划分2005和UBT-H划分2007。在UBT-V划分2001和UBT-H划分2005中,第一子块(左边或上方)小于一半,因此这种划分是类型0划分。在UBT-V划分2003和UBT-H划分2007中,第一子块(左边或上方)大于一半,因此这种划分是类型1划分。例如,父块具有宽度W和高度H。第一子块(左边或上方)具有宽度W1和高度H1。第二子块(右边或下方)可以具有宽度W2和高度H2。在UBT-V划分中,W1=a×W,W2=(1-a)×W,并且H1=H2=H,其中a是分割比,例如a可以是分数的形式。在UBT-H划分中,H1=a×H,H2=(1-a)×H,并且W1=W2=W。在类型0划分中,a小于一半。在类型1划分中,a大于一半。在UBT-V划分2001和UBT-H划分2005中,a是1/16。在UBT-V划分2003和UBT-H划分2007中,a是15/16。如上所述,第一子块、第二子块或两者可以具有非二元维度,因此可以是非二元子块。
图21-22为示例非二元分割的示意图。图21包括示意图2100,其描绘了划分2101、划分2103、划分2105、划分2107、划分2109、划分2111、划分2113和划分2115。图22包括示意图2200,其描绘了划分2201、划分2203、划分2205、划分2207、划分2209、划分2211、划分2213和划分2215。示意图2100和2200都包括各种非二元块/子块,这些非二元块/子块可以如所示出和描述的那样被进一步划分。在一些示例中,示意图2100和2200的非二元块可以是由如上所述的UBT分割产生的子块。在一些示例中,示意图2100和2200的非二元块可以在不采用UBT分割的情况下获得。划分2101、2107、2109、2111、2113、2115、2201、2207、2209、2211、2213和2215各自将宽度W和高度H的父块划分成宽度W1和高度H1的近侧子块和宽度W2和高度H2的远侧子块。划分2103、2105、2203和2205包括宽度W1和高度H1的近侧子块,宽度W2和高度H2的远侧子块,以及宽度W3和高度H3的中间子块。近侧子块是在左边或上方的子块,远侧子块是在右边或下方的子块,并且中间子块(如果有的话)存在于近侧子块和远侧子块之间。根据示例,近侧子块和远侧子块可以是由UBT分割产生的第一子块和第二子块,或者不是由UBT分割产生的第一子块和第二子块。
划分2101、2103、2105、2107和2109是应用于具有二元的H和非二元的W的块的水平划分。划分2101是水平BT划分,划分2103是水平TT划分,划分2105是水平ETT划分,划分2107是类型1UBT-H划分,并且划分2109是类型0UBT-H划分。这样,诸如水平BT、水平TT、水平UQT、水平ETT和/或水平UBT之类的各种水平划分可以应用于具有二元的H和非二元的W的二元块。
划分2111、2113和2115是应用于具有非二元的W和可为二元的或非二元的(取决于示例)H的块的垂直划分。划分2111是垂直BT划分,划分2113是UBT-V类型1划分,并且划分2115是UBT-V类型0划分。划分2111、2113和2115创建近侧子块和远侧子块。近侧子块和远侧子块的宽度可以是二元的、非二元的或其组合。因此,W1和W2之一可以是二元数,W1和W2两者都可以是二元数,和/或W1和W2两者都可以是非二元数。在一个示例中,W1=W2=W/2。在一个示例中,并且W2=W-W1。在一个示例中,并且W1=W-W2。在一个示例中,/> 并且W2=W-W1。在一个示例中,/>且W1=W-W2。在一个示例中,W1=1<<N,并且W2=W-W1,其中/> 在一个示例中,W2=1<<N,并且W1=W-W2,其中 在一些示例中,可以对W×H块应用垂直TT、ETT、QT、EQT或UQT划分。
划分2201、2203、2205、2207和2209是应用于具有二元的W和非二元的H的块的垂直划分。划分2201是垂直BT划分,划分2203是垂直TT划分,划分2205是垂直ETT划分,划分2207是类型0UBT-V划分,并且划分2209是类型1UBT-V划分。这样,诸如垂直BT、垂直TT、垂直UQT、垂直ETT和/或垂直UBT的各种垂直划分可以应用于具有二元的H和非二元的W的二元块。
划分2211、2213和2215是应用于具有非二元的H和可以是二元的或非二元的(取决于示例)W的块的水平划分。划分2211是水平BT划分,划分2113是UBT-H类型0划分,并且划分2115是UBT-H类型1划分。划分2211、2213和2215创建近侧子块和远侧子块。近侧子块和远侧子块的高度可以是二元的、非二元的或其组合。因此,H1和H2之一可以是二元数,H1和H2都可以是二元数,和/或H1和H2都可以是非二元数。在一个示例中,H1和H2都是非二元数。在一个示例中,H1=H2=H/2。在一个示例中, 和H2=H-H1。在一个示例中,和H1=H-H2。在一个示例中,/>和H2=H-H1。在一个示例中,/> 和H1=H-H2。在一个示例中,H1=1<<N,并且H2=H-H1,其中/> 在一个示例中,H2=1<<N,并且H1=H-H2,其中/> 在一些示例中,可以对W×H块应用水平TT、ETT、QT、EQT或UQT划分。
因此,为了解决上述问题,公开了几种方法来处理上面讨论的QT/BT/TT/UQT引起的问题。这些方法能够实现更好的编解码性能。
以下详细实施例应视为解释一般概念的示例。这些实施例不应被狭义地解释。此外,这些实施例可以以任何方式组合。在下面的讨论中,QT、BT、TT、UQT和ETT可以分别指QT划分、BT划分、TT划分、UQT划分和ETT划分。在下面的讨论中,如果宽度和高度都是二元数,则块是二元块,宽度和高度是2N的形式,N是正整数。在下面的讨论中,如果宽度和高度中的至少一个是非二元数,则块是非二元块,宽度和高度中的至少一个不能以2N的形式表示,其中N是正整数。在下面的讨论中,划分和分割具有相同的含义。
实施例1
维度为W×H的块可被划分为维度为W1×H1和W2×H2的两个子块,其中,两个子块可具有不同的维度。这种划分被称为“非对称二叉树”(UBT)划分。
实施例2
在一个示例中,W1、H1、W2和H2中的至少一个是非二元的,其中非二元是具有不是二的幂的形式的维度的块。在一个示例中,一个子块是二元块,另一个是非二元块。
实施例3
在一个示例中,W1=a×W,W2=(1-a)×W,并且H1=H2=H。在这种情况下,分割可称为垂直UBT(UBT-V)。在一个示例中,a可以小于1/2,例如1/4、1/8、1/16、1/32、1/64等。在这种情况下,分割被称为类型0UBT-V。在一个示例中,a可以大于1/2,例如3/4、7/8、15/16、31/32、63/64等。在这种情况下,分割被称为类型1UBT-V。在一个示例中,两个子块的编解码顺序是从左到右。
实施例4
在一个示例中,H1=a×H,H2=(1-a)×H,W1=W2=W。在这种情况下,分割可称为水平UBT(UBT-H)。在一个示例中,a可以小于1/2,例如1/4、1/8、1/16、1/32、1/64等。在这种情况下,分割被称为类型0UBT-H。在一个示例中,a可以大于1/2,例如3/4、7/8、15/16、31/32、63/64等。在这种情况下,分割被称为类型1UBT-H。在一个示例中,两个子块的编解码顺序是从上到下。
实施例5
维度为W×H的非二元块(其中W和H中的至少一个不是2的幂的形式)可被进一步划分成子块。
实施例6
在一个示例中,当W为非二元数,而H为二元数时,以下示例可适用。例如,可以用于二元块的水平划分方法,例如水平BT、水平TT、水平UQT、水平ETT和/或水平UBT,可以以相同的方式应用于W×H块,如划分2101、划分2103、划分2105、划分2107和划分2109所示。
例如,垂直划分可应用于W×H块。在一个示例中,W×H块可以被划分成维度为W1×H和W2×H的两个子块,如划分2111、划分2113和划分2115所示。在一个示例中,W1和W2中的至少一个是二元数。在一个示例中,W1和W2都是二元数。在一个示例中,W1和W2都是非二元数。在一个示例中,W1=W2=W/2。在一个示例中,并且W2=W-W1。在一个示例中,/>并且W1=W-W2。在一个示例中,/> 并且W2=W-W1。在一个示例中,/>并且W1=W-W2。在一个示例中,W1=1<<N,并且W2=W-W1,其中/> 在一个示例中,W2=1<<N,并且W1=W-W2,其中/> 在一些示例中,可以对W×H块应用垂直TT、ETT、QT、EQT或UQT划分。
实施例7
在一个示例中,当H为非二元数,而W为二元数时,以下示例可适用。例如,可以用于二元块的垂直划分方法,例如垂直BT、垂直TT、垂直UQT、垂直ETT和/或垂直UBT,可以以相同的方式应用于W×H块,如划分2201、划分2203、划分2205、划分2207和划分2209所示。
例如,水平划分可以应用于W×H块。在一个示例中,W×H块可以被划分成维度为W×H1和W×H2的两个子块,如划分2211、划分2213和划分2215所示。在一个示例中,H1和H2中的至少一个是二元数。在一个示例中,H1和H2都是二元数。在一个示例中,H1和H2都是非二元数。在一个示例中,H1=H2=H/2。在一个示例中,并且H2=H-H1。在一个示例中,/>并且H1=H-H2。在一个示例中,/> 并且H2=H-H1。在一个示例中,/>并且H1=H-H2。在一个示例中,H1=1<<N,并且H2=H-H1,其中/>在一个示例中,H2=1<<N,并且H1=H-H2,其中/>在一些示例中,可以对W×H块应用水平TT、ETT、QT、EQT或UQT划分。
实施例8
在一个示例中,当W和H均为非二元数时,以下示例可适用。例如,垂直划分可以应用于W×H块。在一个示例中,W×H块可以被划分成维度为W1×H和W2×H的两个子块,如划分2111、划分2113和划分2115所示。
在一个示例中,W1和W2中的至少一个是二元数。在一个示例中,W1和W2都是二元数。在一个示例中,W1和W2都是非二元数。在一个示例中,W1=W2=W/2。在一个示例中,并且W2=W-W1。在一个示例中,/>并且W1=W-W2。在一个示例中,/> 并且W2=W-W1。在一个示例中,并且W1=W-W2。在一个示例中,W1=1<<N,并且W2=W-W1,其中 在一个示例中,W2=1<<N,并且W1=W-W2,其中/>
例如,水平划分可以应用于W×H块。在一个示例中,W×H块可以被划分成维度为W×H1和W×H2的两个子块,如划分2211、划分2213和划分2215所示。在一个示例中,H1和H2中的至少一个是二元数。在一个示例中,H1和H2都是二元数。在一个示例中,H1和H2都是非二元数。在一个示例中,H1=H2=H/2。在一个示例中,并且H2=H-H1。在一个示例中,/>并且H1=H-H2。在一个示例中,/> 并且H2=H-H1。在一个示例中,/>并且H1=H-H2。在一个示例中,H1=1<<N,并且H2=H-H1,其中/>在一个示例中,H2=1<<N,并且H1=H-H2,其中/>在一些示例中,可以对W×H块应用垂直或水平TT、ETT、QT、EQT或UQT划分。
实施例9
在示例中,规则可以不允许来由UBT划分得到的子块接收根据UBT的进一步划分。在示例中,不信令通知针对子块的进一步UBT划分的指示。
实施例10
在一个示例中,关于块划分的不同约束或规则可以应用于二元块和非二元块。
实施例11
在示例中,由UBT划分的块的树深度可以加上与由BT划分该块时不同的数字。例如,子块的多树深度(MT-depth)或二叉树深度(BT-depth)可被推导为D+Δ,其中D是将要被UBT划分的当前块的MT-depth,并且Δ是整数。例如,当子块小于当前块的一半时,Δ>1。例如,当子块是当前块的1/4时,Δ=2。此外,当子块是当前块的1/8时,Δ=3。例如,当子块小于当前块的一半时,Δ<=1。例如,如果子块是当前块的3/4,则Δ=1或0。
实施例12
在一个示例中,当当前块是通过UBT-V从父块中被划分出来的时候,不允许当前块通过一个、多个、所有垂直划分(例如BT-V、TT-V、UQT-V、UBT-V、ETT-V、EQT-V)被进一步划分。在一个示例中,当当前块是通过UBT-H从父块中被划分出来的时候,不允许当前块通过一个或多个或所有垂直划分(例如BT-V、TT-V、UQT-V、UBT-V、ETT-V、EQT-V)被进一步划分。在一个示例中,当当前块是通过UBT-V从父块中被划分出来的时候,不允许当前块通过一个或多个或所有水平划分(例如BT-H、TT-H、UQT-H、UBT-H、ETT-H、EQT-H)被进一步划分。在一个示例中,当当前块是通过UBT-H从父块中被划分出来的时候,不允许当前块通过一个或多个或所有水平划分(例如BT-H、TT-H、UQT-H、UBT-H、ETT-H、EQT-H)被进一步划分。在一个示例中,当当前块是通过UBT从父块中被划分出来的时候,不允许当前块被进一步划分。例如,当当前块是通过UBT从父块中被划分出来的时候,当前块必须被进一步划分,因此当前块不允许被编解码为单个CU。
实施例13
在一个示例中,可信令通知诸如标志或索引的语法元素,以指示是否使用UBT。
实施例14
在一个示例中,可信令通知诸如标志或索引的语法元素,以指示是使用垂直UBT还是使用水平UBT。
实施例15
在一个示例中,可信令通知诸如标志或索引的语法元素,以指示是使用类型0的UBT还是使用类型1的UBT。
实施例16
在一个示例中,可信令通知诸如标志或索引的语法元素,以指示使用了UBT的划分比(诸如1/4或1/8)。
图23是可实现本文中所公开的各种技术的示例视频处理系统2300的框图。各种实现方式可以包括系统2300中的一些或全部组件。系统2300可以包括用于接收视频内容的输入2302。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入2302可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统2300可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件2304。编解码组件2304可以减少从输入2302到编解码组件2304的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件2304的输出可以被存储或经由所连接的通信来发送,如组件2306所表示的。在输入2302处接收的视频的存储或通信的比特流(或编解码)表示可以由组件2308使用,以生成被发送到显示接口2310的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够进行数字数据处理和/或视频显示的装设备。
图24是示例视频处理装置2400的框图。装置2400可以用于实现本文中所述的方法中的一个或多个。装置2400可以实施在智能电话、平板电脑、计算机、物联网(IoT)接收器等中。装置2400可以包括一个或多个处理器2402、一个或多个存储器2404和视频处理电路2406。(多个)处理器2402可以配置为实现本文档中所述的一个或多个方法。(多个)存储器2404可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理电路2406可以用于在硬件电路中实现本文档中所描述的一些技术。在一些实施例中,视频处理电路2406可以至少部分地包括在处理器2402中,例如图形协处理器。
图25是视频处理的示例方法2500的流程图。方法2500包括在步骤2502确定父块的UBT分割,以创建具有不同维度的两个子块。UBT分割是产生至少一个二元的子块的分割。二元块/子块是包括维度不能表示为二的幂的至少一个边(也可以称为二元边)的块。因此,由UBT分割创建的至少一个子块包括非二元的边。在一个示例中,一个子块是非二元的,一个子块是二元的。
在示例中,UBT分割可以是具有垂直划分的UBT分割,即垂直UBT(UBT-V)分割,其创建具有较低索引(例如,零)的第一子块和具有较高索引(例如,一)的第二子块。当第一子块小于第二子块时,UBT-V分割是UBT-V类型0分割。当第一子块大于第二子块时,UBT-V分割是UBT-V类型1分割。在另一个示例中,UBT分割可以是具有水平划分的UBT分割,即水平UBT(UBT-H)分割,其创建具有较低索引(例如,零)的第一子块和具有较高索引(例如,一)的第二子块。当第一子块小于第二子块时,UBT-H分割是UBT-H类型0分割。当第一子块大于第二子块时,UBT-H分割是UBT-H类型1分割。
在可选步骤2504,方法2500可以确定将非二元块分割成子块。在一些示例中,非二元块可以是由UBT分割创建的子块。在其他示例中,非二元块可以是不是被UBT分割分割的单独的块。
在示例中,非二元块的宽度W是非二元数,并且非二元块的高度H是二元数。在这种情况下,非二元块的分割可以是水平分割,例如水平BT、水平TT、水平UQT、水平ETT、水平UBT等。在另一个示例中,非二元块的分割可以是垂直分割。非二元块的垂直分割产生宽度为W1的近侧子块和宽度为W2的远侧子块。W1和W2可以是二元的、非二元的或其组合。根据示例,W1=W2=W/2,并且W2=W-W1;/>并且W1=W-W2;/>并且W2=W-W1;/>并且W1=W-W2;W1=1<<N,W2=W-W1并且/>其中N是数字;W2=1<<N,W1=W-W2并且其中N是数字,或者它们的组合。需要注意的是,<<是左移位运算,log是对数运算,/>是带有向下取整函数的对数运算,并且/>是带有向上取整函数的对数运算。
在示例中,非二元块的W是二元数,并且非二元块的H是非二元数。在这种情况下,非二元块的分割可以是垂直分割,例如垂直BT、垂直TT、垂直UQT、垂直ETT、垂直UBT等。在另一个示例中,非二元块的分割可以是水平分割。非二元块的水平分割产生宽度为W1的近侧子块和宽度为W2的远侧子块。W1和W2可以是二元的、非二元的或其组合。根据示例,H1=H2=H/2;并且H2=H-H1;/>并且H1=H-H2;/>并且H2=H-H1;/>并且H1=H-W2;H1=1<<N,H2=H-H1并且/>其中N是数字,H2=1<<N,H1=H-H2并且其中N是数字,或者它们的组合。
在示例中,非二元块的W是非二元数,并且非二元块的H是非二元数。在示例中,非二元块的分割可以是垂直分割。非二元块的垂直分割产生宽度为W1的近侧子块和宽度为W2的远侧子块。W1和W2可以是二元的、非二元的或其组合。根据示例,W1=W2=W/2;并且W2=W-W1;/>并且W1=W-W2;并且W2=W-W1;/>并且W1=W-W2;W1=1<<N,W2=W-W1并且/> 其中N是数字;W2=1<<N,W1=W-W2并且/> 其中N是数字,或者它们的组合。在另一个示例中,非二元块的分割可以是水平分割。非二元块的水平分割产生宽度为W1的近侧子块和宽度为W2的远侧子块。W1和W2可以是二元的、非二元的或其组合。根据示例,H1=H2=H/2;/>并且H2=H-H1;/>并且H1=H-H2;/>并且H2=H-H1;并且H1=H-W2;H1=1<<N,H2=H-H1并且/>其中N是数字;H2=1<<N,H1=H-H2并且/>其中N是数字,或者它们的组合。
在步骤2506,基于子块执行可视媒体数据和比特流之间的转换。这种转换可以通过在编码器处编码和/或在解码器处解码来执行。这种转换可以根据各种规则来执行。例如,规则可以防止分割由UBT分割产生的子块。在这种情况下,转换过程可以不包括编码组合来表示对从UBT分割产生的子块进行分割。
此外,此类规则可对非二元块和二元块应用不同的块划分约束。例如,当对二元块应用分割时,分割树结构可以例如通过应用D+Δ将值1加到树的位深,其中Δ是零,并且D是将最大编解码单元分割成当前划分的子块时出现的划分数。相反,该规则可以应用D+Δ,其中当对非二元块应用划分时,Δ可以被设置为非零正整数。例如,当非二元块的边的测量值小于父块的对应边的测量值的一半时,对非二元块的分割可以增加大于1的位深,例如当子块边的尺寸是父块边尺寸的1/4时位深是3(1加2),当子块边的尺寸是父块边尺寸的1/8时位深是4(1加3),等等。此外,当非二元块的边的测量值大于父块的对应边的测量值的一半时,对非二元块进行分割可以增加小于或等于1的位深,例如当子块边的尺寸是父块边尺寸的3/4时位深是1(1加0)或2(1加1)。
此外,在一些示例中,规则可以防止对UBT-V产生的任何子块进行垂直或水平分割。在示例中,规则可以防止对UBT-H产生的任何子块进行垂直或水平分割。在示例中,规则可以防止对UBT产生的任何子块的所有分割。在一些示例中,规则要求对UBT产生的任何子块进行进一步分割,并且相应地防止来自UBT的块被编解码为单个CU。在示例中,转换还涉及将UBT划分编码到比特流中。例如,比特流可以包括信令通知UBT、UBT-V、UBT-H、UBT类型0、UBT类型1、UBT划分比或其组合的语法元素。
应注意,方法2500可在用于处理视频数据的装置中实现,该装置包括处理器和其上具有指令的非暂时性存储器,例如视频编码器2700、视频解码器2800和/或编码器2900。在这种情况下,指令在由处理器执行时使得处理器执行方法2500。此外,方法2500可以由包括供视频编码设备使用的计算机程序产品的非暂时性计算机可读介质来执行。该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得该指令在由处理器执行时使得视频编解码设备执行方法2500。
图26是示出可利用本公开的技术的示例视频编解码系统2600的框图。如图26所示,视频编解码系统2600可以包括源设备2610和目标设备2620。源设备2610生成编码的视频数据,其可以被称为视频编码设备。目标设备2620可以解码由源设备2610生成的编码的视频数据,该目标设备2620可以被称为视频解码设备。
源设备2610可以包括视频源2612、视频编码器2614和输入/输出(I/O)接口2616。视频源2612可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器2614对来自视频源2612的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口2616包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口2616通过网络2630直接发送到目标设备2620。还可以将编码的视频数据存储到存储介质/服务器2640上,以供目标设备2620访问。
目标设备2620可以包括I/O接口2626、视频解码器2624和显示设备2622。I/O接口2626可以包括接收器和/或调制解调器。I/O接口2626可以从源设备2610或存储介质/服务器2640获取编码的视频数据。视频解码器2624可以对编码的视频数据进行解码。显示设备2622可以向用户显示解码的视频数据。显示设备2622可以与目标设备2620集成,或可以在配置为与外置显示设备相接的目标设备2620的外部。
视频编码器2614和视频解码器2624可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或其他标准)进行操作。
图27是示出视频编码器2700的示例的框图,该视频编码器2700可以是图26中示出的系统2600中的视频编码器2614。视频编码器2700可以被配置为执行本公开的任何或全部技术。在图27的示例中,视频编码器2700包括多个功能组件。本公开所描述的技术可以在视频编码器2700的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器2700的功能组件可以包括分割单元2701、预测单元2702(其可以包括模式选择单元2703、运动估计单元2704、运动补偿单元2705、帧内预测单元2706)、残差生成单元2707、变换处理单元2708、量化单元2709、逆量化单元2710、逆变换单元2711、重建单元2712、缓冲器2713和熵编码单元2714。
在其他示例中,视频编码器2700可以包括更多、更少或不同的功能组件。在一个示例中,预测单元2702可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元2704和运动补偿单元2705的一些组件可以被高度集成,但是出于解释的目的在图27的示例中分开表示。
分割单元2701可以将图片分割成一个或多个视频块。视频编码器2700和视频解码器2800可以支持各种视频块尺寸。
模式选择单元2703可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元2707来生成残差块数据而且提供到重建单元2712来重建编解码块以用作参考图片。在一些示例中,模式选择单元2703可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元2703还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整像素精度)。
为了对当前视频块进行帧间预测,运动估计单元2704可以通过将来自缓冲器2713的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元2705可以基于来自缓冲器2713的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元2704和运动补偿单元2705可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元2704可以进行当前视频块的单向预测,并且运动估计单元2704可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元2704然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元2704可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元2705可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元2704可以进行当前视频块的双向预测,运动估计单元2704可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元2704然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元2704可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元2705可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元2704可以输出运动信息的全部集合,用于解码器的解码处理。在一些示例中,运动估计单元2704可以不输出当前视频的运动信息的全部集合。而是,运动估计单元2704可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元2704可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元2704可以在与当前视频块相关联的语法结构中指示:视频解码器2800指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元2704可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器2800可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器2700可以预测性地信令通知运动矢量。可以由视频编码器2700实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元2706可以对当前视频块进行帧内预测。当帧内预测单元2706对当前视频块进行帧内预测时,帧内预测单元2706可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元2707可以通过从当前视频块中减去当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可以不存在当前视频块的残差数据,并且残差生成单元2707可以不进行减去操作。
变换单元2708可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元2708生成与当前视频块相关联的变换系数视频块之后,量化单元2709可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元2710和逆变换单元2711可以将逆量化和逆变换分别应用于变换系数视频块,以从变换系数视频块重建残差视频块。重建单元2712可以将重建的残差视频块添加到来自由预测单元2702生成的一个或多个预测视频块的对应样点,以产生存储在缓冲器2713中的与当前块相关联的重建视频块。
在重建单元2712重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元2714可以从视频编码器2700的其他功能组件接收数据。当熵编码单元2714接收数据时,熵编码单元2714可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图28是示出视频解码器2800的示例的框图,该视频解码器2800可以是图26中示出的系统2600中的视频解码器2624。
视频解码器2800可以被配置为进行本公开的任何或全部技术。在图28的示例中,视频解码器2800包括多个功能组件。本公开所描述的技术可以在视频解码器2800的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在图28的示例中,视频解码器2800包括熵解码单元2801、运动补偿单元2802、帧内预测单元2809、逆量化单元2804、逆变换单元2805、重建单元2806和缓冲器2807。在一些示例中,视频解码器2800可以进行与关于视频编码器2700(图27)所描述的编码过程总体反演的解码过程。
熵解码单元2801可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元2801可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元2802可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元2802例如可以通过进行AMVP和merge模式确定此类信息。
运动补偿单元2802可以产生运动补偿块,可能地基于插值滤波器进行插值。用于子像素精度的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元2802可以使用由视频编码器2700在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元2802可以根据接收的语法信息确定由视频编码器2700所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元2802可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元2803可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元2804逆量化(即去量化)在比特流中提供的且由熵解码单元2801解码的量化的视频块系数。逆变换单元2805应用逆变换。
重建单元2806可以用由运动补偿单元2802或帧内预测单元2803生成的对应预测块求和残差块,以形成解码块。如所期望的,去块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器2807中,该缓冲器2807提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
图29是示例编码器2900的示意图。编码器2900适合于实现VVC技术。编码器2900包括三个环路滤波器,即去块滤波器(DF)2902、样点自适应偏移(SAO)2904和自适应环路滤波器(ALF)2906。与使用预定义滤波器的DF 2902不同,SAO 2904和ALF 2906利用当前图片的原始样点,通过分别添加偏移和应用有限脉冲响应(FIR)滤波器,利用编解码的辅助信息信令通知偏移和滤波器系数,来减小原始样点和重构样点之间的均方误差。ALF 2906位于每个图片的最后处理阶段,并且可以被视为试图捕捉和修复由先前阶段产生的伪影的工具。
编码器2900还包括帧内预测组件2908和运动估计/补偿(ME/MC)组件2910,配置为接收输入视频。帧内预测组件2908被配置成执行帧内预测,而ME/MC组件2910被配置成利用从参考图片缓冲器2912获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残差块被馈送到变换(T)组件2914和量化(Q)组件2916中,以生成量化的残差变换系数,这些系数被馈送到熵编解码组件2918中。熵编解码组件2918对预测结果和量化的变换系数进行熵编解码,并将其发送到视频解码器(未示出)。从量化组件2916输出的量化组件可以被馈送到逆量化(IQ)组件2920、逆变换组件2922和重构(REC)组件2924。REC组件2924能够将图像输出到DF 2902、SAO 2904和ALF 2906,以便在这些图片被存储在参考图片缓冲器2912中之前进行滤波。
接下来提供了一些实施例优选的解决方案的列表。
以下解决方案显示了本文讨论的技术的实例。
1.一种视频处理的方法(例如,图25中描绘的方法2500),包括执行视频的视频块和视频的编解码表示之间的转换;其中,视频块具有W×H个样点的维度,其中,对于所述转换,使用非对称二叉树(UBT)划分来分割视频块,使得该视频块被划分成具有不同维度的W1×H1和W2×H2的两个子块。
2.根据解决方案1所述的方法,其中,W1、H1、W2、H2中的至少一个是非二元的。
3.根据解决方案1-2中任一项所述的方法,其中两个子块中的一个子块是二元的,另一个子块是非二元的。
4.根据解决方案1所述的方法,其中,使用垂直UBT来划分两个子块,其中W1=a×W,W2=(1-a)×W,H1=H2=H,其中a是分数。
5.根据解决方案1所述的方法,其中,使用水平UBT来划分两个子块,其中H1=a×H,H2=(1-a)×H,W1=W2=W,其中a是分数。
6.一种视频处理的方法,包括:执行视频的视频块和视频的编解码表示之间的转换;其中,视频块是具有W×H个样点的维度的非二元块,其中,对于该转换,视频块根据规则被划分成子块。
7.根据解决方案6所述的方法,其中,规则规定,响应于W是非二元的并且H是二元的,使用水平划分方法将视频块划分成子块。
8.根据解决方案6所述的方法,其中,规则规定,响应于W是非二元的并且H是二元的,使用垂直划分方法将视频块划分成子块。
9.根据解决方案6所述的方法,其中,规则规定,响应于W是二元的并且H是非二元的,使用水平划分方法将视频块划分成子块。
10.根据解决方案6所述的方法,其中,该规则规定,响应于W是二元的并且H是非二元的,使用垂直划分方法将视频块划分成子块。
11.根据解决方案6所述的方法,其中,规则规定,响应于W是非二元的并且H是非二元的,使用水平划分方法将视频块划分成子块。
12.根据解决方案6所述的方法,其中,规则规定,响应于W是非二元的并且H是非二元的,使用垂直划分方法将视频块划分成子块。
13.一种视频处理的方法,包括:执行包括视频块的视频和视频的比特流表示之间的转换,其中规则规定是否或者如何根据是否使用非对称二叉树(UBT)划分将视频块分割成子块。
14.根据解决方案13所述的方法,其中,规则规定划分视频块的树深度取决于是否使用UBT划分。
15.根据解决方案13所述的方法,其中,规则规定,在使用垂直UBT划分从父块获得视频块的情况下,则不允许对视频块进行进一步的垂直划分。
16.根据解决方案13所述的方法,其中,规则规定,在使用水平UBT划分从父块获得视频块的情况下,则不允许对视频块进行进一步的垂直划分。
17.根据解决方案13所述的方法,其中,规则规定,在使用水平UBT划分从父块获得视频块的情况下,则不允许对视频块进行进一步的水平划分。
18.根据解决方案13所述的方法,其中,规则规定,在使用垂直UBT划分从父块获得视频块的情况下,则不允许对视频块进行进一步的水平划分。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,条目4-7)。
19.根据解决方案1-18中任一项所述的方法,其中,比特流包括UBT划分是否或如何用于转换的指示。
20.根据解决方案19所述的方法,其中,该指示指示是使用垂直UBT划分还是使用水平UBT划分。
21.根据解决方案19-20所述的方法,其中,该指示指示是使用类型0UBT划分还是使用类型1UBT划分。
22.根据解决方案19-21中任一项所述的方法,其中,该指示指示用于UBT划分的划分比。
23.根据解决方案1-22中任一项所述的方法,其中,该转换包括从视频生成比特流。
24.根据解决方案1-22中任一项所述的方法,其中,该转换包括从比特流生成视频。
25.一种在计算机可读介质上存储比特流的方法,包括根据解决方案1-23中任一项或多项所述的方法生成比特流,并将该比特流存储在计算机可读介质上。
26.一种其上存储有视频的比特流的计算机可读介质,该比特流在被视频解码器的处理器处理时使得视频解码器生成视频,其中该比特流是根据解决方案1-23中的一个或多个所述的方法生成的。
27.一种视频解码装置,包括被配置为实现解决方案1至23中的一个或多个中所述的方法的处理器。
28.一种视频编码装置,包括被配置为实现解决方案1至23中的一个或多个中所述的方法的处理器。
29.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实现解决方案1至23中任一项所述的方法。
30.一种计算机可读介质,其上具有符合根据解决方案1至23中任一项生成的比特流格式的比特流。
31.一种方法、一种装置、一种根据本文档中描述的公开方法或系统生成的比特流。
在本文所述的解决方案中,编码器可通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,根据格式规则知道语法元素的存在和不存在,以产生解码的视频。
在本文件中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。例如,如语法所定义的,当前视频块的比特流表示可以对应于在比特流内共位的或分布在不同位置的比特。例如,宏块可以根据变换和编解码的误差残差值进行编码,并且还可以在比特流中的标头和其他字段中使用比特。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文件中描述的公开和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文件中所公开的结构及其结构等效体,或其中一个或多个的组合。公开的内容和其他实施例可以实施为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本文件中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本组件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者可操作地耦合以从大容量存储设备接收数据或者将数据传输到大容量存储设备,或者以上两者。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和光盘只读存储器(CD ROM)和数字多功能光盘只读存储器(DVD-ROM)盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
当除了第一组件和第二组件之间的线、迹线或另一种介质之外,不存在中间组件时,第一组件直接耦合至第二组件。当在第一组件和第二组件之间存在除了线、迹线或另一种介质之外的中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明,术语“约”的使用意味着包括数值的上下10%的范围。
虽然本公开中提供了若干实施例,但应理解,在不脱离本公开的精神或范围的情况下,所公开的系统和方法可体现为许多其他特定形式。当前的示例被认为是说明性的而非限制性的,并且不限于其给出的细节。例如,各种元件或组件可以组合或集成在另一个系统中,或者可以省略或不实现某些特征。
此外,在不脱离本公开的范围的情况下,各种实施例中描述和说明的离散或单独的技术、系统、子系统和方法可与其他系统、模块、技术或方法组合或集成。被示出或讨论为耦合的其他项目可以直接连接,或者可以通过一些接口、设备或中间组件以电、机械或其他方式间接耦合或通信。本领域的技术人员可以在不脱离这里公开的精神和范围的情况下确定改变、替换和变更的其他示例。

Claims (34)

1.一种用于处理视频数据的方法,包括:
确定父块的非对称二叉树UBT分割,以创建具有不同维度的两个子块,其中至少一个所述子块包括非二元的边;以及
基于所述子块执行可视媒体数据和比特流之间的转换。
2.根据权利要求1所述的方法,其中,所述两个子块中的一个子块是非二元块,并且另一个子块是二元块。
3.根据权利要求1-2中任一项所述的方法,其中,所述UBT分割是垂直UBT(UBT-V)分割,当第一子块小于第二子块时,所述UBT-V分割是UBT-V类型0分割,并且当所述第一子块大于所述第二子块时,所述UBT-V分割是UBT-V类型1分割。
4.根据权利要求1-2中任一项所述的方法,其中,所述UBT分割是水平UBT(UBT-H)分割,当第一子块小于第二子块时,所述UBT-H分割是UBT-H类型0分割,并且当所述第一子块大于所述第二子块时,所述UBT-H分割是UBT-H类型1分割。
5.根据权利要求1-4中任一项所述的方法,还包括:
确定将非二元块分割成子块。
6.根据权利要求1-5中任一项所述的方法,其中,所述非二元块的宽度W是非二元数,并且所述非二元块的高度H是二元数。
7.根据权利要求6所述的方法,其中,对所述非二元块进行的所述分割是水平分割。
8.根据权利要求6所述的方法,其中,对所述非二元块进行的所述分割是垂直分割。
9.根据权利要求8所述的方法,其中,对所述非二元块进行的所述分割产生宽度为W1的近侧子块和宽度为W2的远侧子块,并且其中,W1和W2是二元的、非二元的或二元和非二元的组合。
10.根据权利要求8所述的方法,其中,对所述非二元块进行的所述分割产生宽度为W1的近侧子块和宽度为W2的远侧子块,并且其中W1=W2=W/2;并且W2=W-W1;/>并且W1=W-W2;/>并且W2=W-W1;并且W1=W-W2;W1=1<<N,W2=W-W1,并且/>其中N是数字;W2=1<<N,W1=W-W2,并且/>其中N是数字。
11.根据权利要求1-5中任一项所述的方法,其中,所述非二元块的宽度W是二元数,并且所述非二元块的高度H是非二元数。
12.根据权利要求11所述的方法,其中,对所述非二元块进行的所述分割是垂直分割。
13.根据权利要求11所述的方法,其中,对所述非二元块进行的所述分割是水平分割。
14.根据权利要求13所述的方法,其中,对所述非二元块进行的所述分割产生高度H1的近侧子块和高度H2的远侧子块,并且其中,H1和H2是二元的、非二元的或二元和非二元的组合。
15.根据权利要求13所述的方法,其中,对所述非二元块进行的所述分割产生高度为H1的近侧子块和高度为H2的远侧子块,并且其中H1=H2=H/2;并且H2=H-H1;/>并且H1=H-H2;/> 并且H2=H-H1;并且H1=H-H2;H1=1<<N,H2=H-H1,并且/>其中N是数字;H2=1<<N,H1=H-H2,并且/>其中N是数字。
16.根据权利要求1-5中任一项所述的方法,其中,所述非二元块的宽度W是非二元数,并且所述非二元块的高度H是非二元数。
17.根据权利要求16所述的方法,其中,对所述非二元块进行的所述分割是垂直分割。
18.根据权利要求17所述的方法,其中,对所述非二元块进行的所述分割产生宽度为W1的近侧子块和宽度为W2的远侧子块,并且其中,W1和W2是二元的、非二元的或二元和非二元的组合。
19.根据权利要求17所述的方法,其中,对所述非二元块进行的所述分割产生宽度为W1的近侧子块和宽度为W2的远侧子块,并且其中W1=W2=W/2;并且W2=W-W1;/>并且W1=W-W2;/>并且W2=W-W1;并且W1=W-W2;W1=1<<N,W2=W-W1,并且/>其中N是数字;W2=1<<N,W1=W-W2,并且/>其中N是数字。
20.根据权利要求16所述的方法,其中,对所述非二元块进行的所述分割是水平分割。
21.根据权利要求20所述的方法,其中,对所述非二元块进行的所述分割产生高度为H1的近侧子块和高度为H2的远侧子块,并且其中H1和H2是二元的、非二元的或二元和非二元的组合。
22.根据权利要求20所述的方法,其中,对所述非二元块进行的所述分割产生高度为H1的近侧子块和高度为H2的远侧子块,并且其中H1=H2=H/2;并且H2=H-H1;/>并且H1=H-H2;/> 并且H2=H-H1;并且H1=H-H2;H1=1<<N,H2=H-H1,并且/>其中N是数字;H2=1<<N,H1=H-H2,并且/>其中N是数字。
23.根据权利要求1-22中任一项所述的方法,其中,规则防止对由UBT产生的子块进行分割。
24.根据权利要求1-23中任一项所述的方法,其中,不同的块划分约束被应用于所述非二元块和所述二元块。
25.根据权利要求1-24中任一项所述的方法,其中,当所述非二元块的边的测量值小于父块的对应边的测量值的一半时,对所述非二元块进行的分割增加大于1的位深,并且其中,当所述非二元块的边的测量值大于父块的对应边的测量值的一半时,对非二元块进行的分割增加小于或等于1的位深。
26.根据权利要求1-25中任一项所述的方法,其中,规则防止对由UBT-V产生的任何子块进行垂直分割。
27.根据权利要求1-26中任一项所述的方法,其中,规则防止对由UBT-H产生的任何子块进行垂直分割。
28.根据权利要求1-27中任一项所述的方法,其中,规则防止对由UBT-V产生的任何子块进行水平分割。
29.根据权利要求1-28中任一项所述的方法,其中,规则防止对由UBT-H产生的任何子块进行水平分割。
30.根据权利要求1-29中任一项所述的方法,其中,规则防止对由UBT产生的任何子块进行所有分割中的任何分割。
31.根据权利要求1-30中任一项所述的方法,其中,规则要求进一步分割由UBT产生的任何子块。
32.根据权利要求1-31中任一项所述的方法,其中,所述比特流包括信令通知UBT、UBT-V、UBT-H、UBT类型0、UBT类型1、UBT划分比或其组合的语法元素。
33.一种非暂时性计算机可读介质,包括供视频编解码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非暂时性计算机可读介质上的计算机可执行指令,所述计算机可执行指令在由处理器执行时使所述视频编解码设备实施权利要求1-32中任一项所述的方法。
34.一种用于处理视频数据的装置,包括:
处理器;以及
其上具有指令的非暂时性存储器,其中,所述指令在由处理器执行时使所述处理器实施权利要求1-32中任一项所述的方法。
CN202280016175.4A 2021-02-20 2022-02-16 非对称二叉树分割和非二元块 Pending CN116888966A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2021/077027 2021-02-20
CN2021077027 2021-02-20
PCT/CN2022/076463 WO2022174769A1 (en) 2021-02-20 2022-02-16 Unsymmetric binary tree partitioning and non-dyadic blocks

Publications (1)

Publication Number Publication Date
CN116888966A true CN116888966A (zh) 2023-10-13

Family

ID=82932106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280016175.4A Pending CN116888966A (zh) 2021-02-20 2022-02-16 非对称二叉树分割和非二元块

Country Status (3)

Country Link
US (1) US20230396812A1 (zh)
CN (1) CN116888966A (zh)
WO (1) WO2022174769A1 (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3446482B1 (en) * 2016-05-25 2022-03-16 ARRIS Enterprises LLC General block partitioning method

Also Published As

Publication number Publication date
WO2022174769A1 (en) 2022-08-25
US20230396812A1 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
US9832467B2 (en) Deblock filtering for intra block copying
US20210185342A1 (en) Pruning in multi-motion model based skip and direct mode coded video blocks
CN113330739A (zh) Lut中的运动候选的插入顺序
JP2024023581A (ja) パレット・エスケープ・シンボルのためのエントロピーコーディング
CN110730349B (zh) 用于微块的约束
CN113170139A (zh) 上下文自适应二进制算数编码的简化上下文建模
WO2022206735A1 (en) Intra-prediction on non-dyadic blocks
TWI722486B (zh) 取決於形狀的插值順序
CN114747218A (zh) Hmvp表的更新
WO2022174769A1 (en) Unsymmetric binary tree partitioning and non-dyadic blocks
US20230388495A1 (en) Video decoder initialization information signaling
US20240048701A1 (en) Boundary Handling for Coding Tree Split
US20240040119A1 (en) Interaction of multiple partitions
US20240022721A1 (en) Constraints on partitioning of video blocks
US20240022722A1 (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
WO2023246901A1 (en) Methods and apparatus for implicit sub-block transform coding
CN117044213A (zh) 对非二元块的变换与量化
CN116965035A (zh) 非二元块上的变换
CN117716692A (zh) 递归预测单元在视频编解码中的应用
CN114503597A (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