CN114175642A - 编解码树分割 - Google Patents
编解码树分割 Download PDFInfo
- Publication number
- CN114175642A CN114175642A CN202080053335.3A CN202080053335A CN114175642A CN 114175642 A CN114175642 A CN 114175642A CN 202080053335 A CN202080053335 A CN 202080053335A CN 114175642 A CN114175642 A CN 114175642A
- Authority
- CN
- China
- Prior art keywords
- size
- maximum
- splitting
- depth
- slice
- 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
Links
- 238000000638 solvent extraction Methods 0.000 title claims description 12
- 238000000034 method Methods 0.000 claims description 60
- 238000005192 partition Methods 0.000 claims description 24
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 149
- 241000023320 Luma <angiosperm> Species 0.000 description 148
- 230000008569 process Effects 0.000 description 20
- 230000015654 memory Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 230000009977 dual effect Effects 0.000 description 10
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 230000011664 signaling Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 101100346656 Drosophila melanogaster strat gene Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- -1 variables Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree 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
为了对图片进行编码,图片中的编解码树单元(CTU)被四叉树结构分割,并且四叉树叶子节点可以被多类型树(MTT)结构进一步分割。为了增加可到达的编解码树节点和叶子的集合,我们提出将最大允许MTT层次深度增加到CTU尺寸与CU的最小允许尺寸之间的差异的两倍。可以为所有QT级别指定最大允许MTT层次深度,以便在拆分树中提供更大的灵活性。可替代地,仅用信号通知最大允许MTT深度的两个级别:一个是当允许QT拆分时,另一个是当不允许更多QT拆分时。此外,可以基于编解码树单元尺寸或最大允许变换尺寸为最小允许编解码块尺寸设置上限。
Description
技术领域
本实施例一般而言涉及用于在视频编码或解码中进行编解码树分割的方法和装置。
背景技术
为了实现高压缩效率,图像和视频编解码方案通常采用预测,并进行变换以充分利用视频内容中的空间和时间冗余性。一般而言,使用帧内或帧间预测来利用帧内图片或帧间图片相关性,然后对原始块与预测的块之间的差异(常常表示为预测误差或预测残差)进行变换、量化和熵编解码。为了重构视频,通过与熵编解码、量化、变换和预测对应的逆过程来解码压缩数据。
发明内容
为了对图片进行编码,图片中的编解码树单元(CTU)被四叉树结构分割,并且四叉树叶子节点可以进一步被多类型树(MTT,multi-type tree)结构分割。为了增加可到达的编解码树节点和叶子的集合,我们提出将最大允许MTT层次结构深度增加到CTU尺寸与CU的最小允许尺寸之间的差异的两倍。可以为所有QT级别指定允许的最大MTT层次结构深度,以便在拆分树中提供更大的灵活性。可替代地,仅用信号通知最大允许MTT深度的两个级别:一个是当允许QT拆分时,另一个是不允许更多QT拆分时。此外,可以基于编解码树单元尺寸或最大允许变换尺寸为最小允许编码块尺寸设置上限。而且,标志可以被用于指示是否允许二叉树(BT)以及是否为MTT启用三叉树(TT)。可以为帧内条带/帧间条带和亮度/色度分量单独发送指示启用BT还是TT的标志。
附图说明
图1图示了可以在其中实现本实施例的方面的***的框图。
图2图示了视频编码器的实施例的框图。
图3图示了视频解码器的实施例的框图。
图4图示了根据HEVC标准将CU拆分成CTU。
图5图示了根据HEVC标准将CTU拆分成CU、PU和TU。
图6图示了VVC中的四叉树加二叉树(QTBT)CTU表示。
图7图示了VVC草案6中支持的所有编解码单元拆分模式的集合。
图8图示了仅使用深度为5的BT拆分32x32块。
图9图示了仅使用深度为2的BT拆分32x32块。
图10图示了仅使用深度为2的TT拆分32x32块。
图11图示了VVC草案6中用于拆分相关的语法元素的最小、最大和共用测试条件(CTC)值。
图12图示了根据实施例的基于允许的最大变换尺寸的最小编解码的块尺寸的经修改的最大允许值。
图13图示了根据另一个实施例的基于CTU尺寸的最小编解码的块尺寸的经修改的最大允许值。
具体实施方式
图1图示了可以在其中实现各种实施例的***的示例的框图。***100可以被实施为包括以下描述的各种组件的设备,并且被配置为执行本申请中描述的方面中的一个或多个。此类设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频记录***、连接的家用电器,以及服务器。***100的元件可以单独或组合地在单个集成电路、多个IC和/或分立组件中实施。例如,在至少一个实施例中,***100的处理和编码器/解码器元件分布在多个IC和/或分立组件上。在各种实施例中,***100经由例如通信总线或通过专用输入和/或输出端口可通信地耦合到其它类似***或其它电子设备。在各种实施例中,***100被配置为实现本申请中描述的方面中的一个或多个。
***100包括至少一个处理器110,该至少一个处理器110被配置为执行其中加载的指令,以用于实现例如本申请中描述的各个方面。处理器110可以包括嵌入式存储器、输入输出接口和本领域已知的各种其它电路。***100包括至少一个存储器120(例如,易失性存储器设备和/或非易失性存储器设备)。***100包括存储设备140,其可以包括非易失性存储器和/或易失性存储器,包括但不限于EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备140可以包括内部存储设备、附接的存储设备和/或网络可访问的存储设备。
***100包括编码器/解码器模块130,其被配置为例如处理数据以提供编码的视频或解码的视频,并且编码器/解码器模块130可以包括其自己的处理器和存储器。编码器/解码器模块130表示可以被包括在设备中以执行编码和/或解码功能的(一个或多个)模块。如已知的,设备可以包括编码和解码模块之一或两者。此外,编码器/解码器模块130可以被实现为***100的分开的元件,或者可以作为本领域技术人员已知的硬件和软件的组合结合到处理器110内。
要被加载到处理器110或编码器/解码器130上以执行本申请中描述的各个方面的程序代码可以被存储在存储设备140中,并且随后被加载到存储器120上以由处理器110执行。根据各种实施例,在执行本申请中描述的过程期间,处理器110、存储器120、存储设备140和编码器/解码器模块130中的一个或多个可以存储各种项中的一项或多项。此类存储的项可以包括但不限于输入视频、解码的视频或解码的视频的一部分、比特流、矩阵、变量,以及对等式、公式、运算和运算逻辑的中间或最终结果。
在几个实施例中,处理器110和/或编码器/解码器模块130内部的存储器被用于存储指令并为编码或解码期间所需的处理提供工作存储器。但是,在其它实施例中,处理设备外部的存储器(例如,处理设备可以是或者处理器110或者编码器/解码器模块130)被用于这些功能中的一个或多个。外部存储器可以是存储器120和/或存储设备140,例如,动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存被用于存储电视的操作***。在至少一个实施例中,快速外部动态易失性存储器(诸如RAM)被用作用于视频编解码和解码操作的工作存储器,诸如用于MPEG-2、HEVC或VVC。
如方框105中所指示的,可以通过各种输入设备来提供到***100的元件的输入。此类输入设备包括但不限于(i)接收例如由广播公司通过空中传输的RF信号的RF部分、(ii)复合输入端子、(iii)USB输入端子,和/或(iv)HDMI输入端子。
在各种实施例中,方框105的输入设备具有相关联的相应输入处理元件,如本领域中已知的。例如,RF部分可以与适于以下的元件相关联:(i)选择期望的频率(也称为选择信号,或将信号限制到频带内),(ii)下变频所选择的信号,(iii)将频带再次限制到较窄的频带,以选择(例如)在某些实施例中可以被称为信道的信号频带,(iv)解调下变频和频带受限的信号,(v)执行纠错,以及(vi)多路分解以选择期望的数据分组流。各种实施例的RF部分包括一个或多个执行这些功能的元件,例如,频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可以包括执行各种这些功能(包括例如将接收到的信号下变频为更低频率(例如,中频或近基带频率)或基带)的调谐器。在一个机顶盒实施例中,RF部分及其相关联的输入处理元件接收在有线(例如,电缆)介质上传输的RF信号,并通滤波波、下变频和再次滤波到期望的频带来执行频率选择。各种实施例重新布置上述(和其它)元件的次序、移除这些元件中的一些,和/或添加执行类似或不同功能的其它元件。添加元件可以包括在现有元件之间***元件,例如,***放大器和模数转换器。在各种实施例中,RF部分包括天线。
此外,USB和/或HDMI端子可以包括相应的接口处理器,用于通过USB和/或HDMI连接将***100连接到其它电子设备。应该理解的是,输入处理的各个方面(例如,Reed-Solomon纠错)可以按需例如在分开的输入处理IC内或在处理器110内实现。类似地,可以按需在分开的接口IC内或处理器110内实现USB或HDMI接口处理的各个方面。经解调、纠错和解复用的流被提供给各种处理元件,包括例如处理器110,以及与存储器和存储元件结合操作的编码器/解码器130,以按需处理数据流以在输出设备上呈现。
可以在集成壳体内提供***100的各种元件。在集成壳体内,可以使用合适的连接布置115(例如,本领域已知的内部总线,包括I2C总线、布线和印刷电路板)互连各种元件并在它们之间传输数据。
***100包括通信接口150,其使得能够经由通信信道190与其它设备通信。通信接口150可以包括但不限于被配置为在通信信道190上发送和接收数据的收发器。通信接口150可以包括但不限于调制解调器或网卡,并且通信信道190可以例如在有线和/或无线介质内实现。
在各种实施例中,使用诸如IEEE 802.11之类的Wi-Fi网络将数据流传输到***100。这些实施例的无线信号在适于Wi-Fi通信的通信信道190和通信接口150上被接收。这些实施例的通信信道190通常连接到接入点或路由器,该接入点或路由器提供对包括互联网的外部网络的访问,以允许流传输应用和其它空中通信。其它实施例使用机顶盒向***100提供流传输的数据,该机顶盒通过输入方框105的HDMI连接来递送数据。还有其它实施例使用输入方框105的RF连接将流传输的数据提供给***100。
***100可以将输出信号提供给各种输出设备,包括显示器165、扬声器175和其它***设备185。在实施例的各种示例中,其它***设备185包括独立DVR、磁盘播放器、立体声***、照明***以及基于***100的输出提供功能的其它设备中的一个或多个。在各种实施例中,控制信号使用诸如AV.Link、CEC或启用设备到设备控制的其它通信协议的信令在***100和显示器165、扬声器175或其它***设备185之间通信,有或没有用户干预。输出设备可以通过各自的接口160、170和180经由专用的连接通信耦合到***100。可替代地,可以经由通信接口150使用通信信道190将输出设备连接到***100。显示器165和扬声器175可以与电子设备(例如,电视)中的***100的其它组件集成在单个单元中。在各种实施例中,显示接口160包括显示驱动器、例如、定时控制器(T Con)芯片。
例如,如果输入端105的RF部分是分开的机顶盒的一部分,那么显示器165和扬声器175可以可替代地与其它组件中的一个或多个分开。在显示器165和扬声器175是外部组件的各种实施例中,可以经由专用的输出连接(包括例如HDMI端口、USB端口或COMP输出端)来提供输出信号。
图2图示了示例视频编码器200,诸如高效视频编解码(HEVC)编码器。图2还可以图示其中对HEVC标准进行改进的编码器或采用类似于HEVC的技术的编码器,诸如由JVET(联合视频探索团队)开发的VVC(多功能视频编解码)编码器。
在本申请中,术语“重构”和“解码”可以互换使用,术语“编码”或“编解码”可以互换使用,并且术语“图像”、“图片”和“帧”可以互换使用。通常但并非必需,术语“重构”在编码器侧使用,而“解码”在解码器侧使用。
在被编码之前,视频序列可以经过预编码处理(201),例如,对输入的彩色图片应用颜色变换(例如,从RGB 4:4:4到YCbCr 4:2:0的转换),或对输入图片分量执行重新映射,以便获得对压缩更具弹性的信号分布(例如使用颜色分量之一的直方图均衡化)。元数据可以与预处理相关联,并附加到比特流。
为了对具有一个或多个图片的视频序列进行编码,例如将图片分割(202)成一个或多个条带,其中每个条带可以包括一个或多个条带片段。在HEVC中,条带片段被组织成编解码单元、预测单元和变换单元。HEVC规范区分“块”与“单元”,其中“块”寻址样本阵列中的特定区域(例如,亮度、Y),而“单元”包括所有编码的颜色分量的并置块(Y、Cb、Cr或单色)、语法元素和与块关联的预测数据(例如,运动矢量)。
为了根据HEVC进行编解码,图片被分割为具有可配置尺寸(通常为64x64、128x128或256x256像素)的方形的编解码树块(CTB),并且将连续的编解码树块的集合分组为条带。编解码树单元(CTU),也称为最大编解码单元(LCU),包含编码的颜色分量的CTB。CTB(也称为最大编解码块,LCB)是分割成编解码块(CB)的四叉树的根,如图4中所示,并且编解码块可以被分割成一个或多个预测块(PB)并形成分割成变换块(TB)的四叉树的根,如图5中所示。
与编解码块、预测块和变换块对应,编解码单元(CU)包括预测单元(PU)和树状结构的变换单元(TU)集,PU包括用于所有颜色分量的预测信息,并且TU包括用于每个颜色分量的残差编解码语法结构。亮度分量的CB、PB和TB的尺寸适用于对应的CU、PU和TU。在本申请中,术语“块”可以被用于指例如CTU、CU、PU、TU、CB、PB和TB中的任何一个。此外,术语“块”还可以被用于指H.264/AVC或其它视频编解码标准中指定的宏块和分割,并且更一般地是指各种尺寸的数据的阵列。
在编码器200中,图片由如下所述的编码器元件编码。要被编码的图片以例如CU为单位进行处理。每个编解码单元使用或者帧内或者帧间模式进行编码。当编解码单元以帧内模式编码时,它执行帧内预测(260)。在帧间模式下,执行运动估计(275)和补偿(270)。编码器决定(205)使用帧内模式或帧间模式中的哪一种来对编解码单元进行编码,并通过预测模式标志来指示帧内/帧间决定。通过从原始图像块中减去(210)预测的块来计算预测残差。
然后对预测残差进行变换(225)和量化(230)。量化的变换系数以及运动矢量和其它语法元素被熵编解码(245)以输出比特流。作为非限制性示例,基于上下文的自适应二进制算术编解码(CAB AC)可以被用于将语法元素编码到比特流中。
编码器还可以跳过变换并将量化直接应用于未变换的残差信号,例如在4x4 TU的基础上。编码器还可以绕过变换和量化两者,即,残差被直接编解码而无需应用变换或量化过程。在直接PCM编解码中,不应用任何预测,并且将编解码单位样本直接编解码到比特流中。
编码器对编码的块进行解码,以提供进一步预测的参考。量化的变换系数被去量化(240)和逆变换(250)以解码预测残差。组合(255)解码的预测残差和预测的块,重构图像块。例如,将环路滤波器(265)应用于重构的图片以执行去块/SAO(样本自适应偏移量)滤波以减少编码伪影。经滤波的图像存储在参考图片缓冲器处(280)。
图3图示了诸如HEVC解码器之类的示例视频解码器300的框图。在解码器300中,比特流由如下所述的解码器元件解码。视频解码器300一般执行与图2中所述的编码遍历(pass)相反的解码遍历,它执行视频解码,作为对视频数据进行编码的一部分。图3还可以图示其中对HEVC标准进行改进的解码器或采用类似于HEVC的技术的解码器(诸如VVC解码器)。
特别地,解码器的输入包括视频比特流,该视频比特流可以由视频编码器200生成。首先对比特流进行熵解码(330)以获得变换系数、运动矢量、图片分割信息和其它编解码的信息。图片分割信息指示图片是如何分割的,例如,CTU的尺寸,以及CTU被拆分成CU,并且在适用时可能拆分成PU的方式。解码器因此可以根据解码的图片分割信息将图片划分(335)为例如CTU,并且将每个CTU划分为CU。变换系数被去量化(340)和逆变换(350)以解码预测残差。
组合(355)解码的预测残差和预测的块,重构图像块。可以从帧内预测(360)或运动补偿的预测(即,帧间预测)(375)获得(370)预测的块。将环路滤波器(365)应用于重构的图像。经滤波的图像存储在参考图片缓冲器处(380)。
解码的图片可以进一步经过解码后处理(385),例如,逆颜色变换(例如,从YCbCr4:2:0到RGB 4:4:4的转换)或执行与在预编码处理(201)中执行的重新映射过程的逆。解码后处理可以使用在预编码处理中导出并在比特流中用信号通知的元数据。
VVC中的新视频压缩工具包括压缩域中的编解码树单元表示,它可以以更灵活的方式表示图片数据。在VVC中,使用二元和三元拆分分割结构的具有嵌套的多类型树(MTT)的四叉树代替了多个分割单元类型的概念,即,除了几个特殊情况之外,VVC移除了CU、PU和TU概念的分离。在VVC编解码树结构中,CU可以具有方形或矩形形状。编解码树单元(CTU)首先由四叉树结构分割。然后可以通过多类型树结构进一步分割四叉树叶子节点。
特别地,CTU的树分解在不同的阶段进行:首先CTU以四叉树方式拆分,然后每个四叉树叶子可以进一步以二元或三元方式划分。这在图6的右侧示出,其中实线表示四叉树分解阶段,而虚线表示空间嵌入四叉树叶子中的二元分解。在帧内条带,当双树模式被激活时,亮度和色度块分割结构是分开的,并且被独立决定。
如图7中所示,多类型树结构中存在四种拆分类型,垂直二元拆分(VER)、水平二元拆分(HOR)、垂直三元拆分(VER_TRIPLE)和水平三元拆分(HOR_TRIPLE)。HOR_TRIPLE或VER_TRIPLE拆分(水平或垂直三叉树拆分模式)包括将编解码单元(CU)划分为3个子编解码单元(子CU),其尺寸分别等于在考虑的空间划分方向上的父CU尺寸的1/4、1/2和1/4。
多类型树叶子节点被称为编解码单元(CU),并且除几个特殊情况外,这种分割被用于预测和变换处理,无需进一步分割。异常在以下条件下发生:
-如果CU的宽度或高度大于64,那么执行将CU平铺(titling)成尺寸等于最大支持的变换尺寸的TU。通常,最大变换尺寸可以等于64。
-如果帧内CU以ISP(帧内子分割)模式被编解码,那么CU被拆分成2个或4个变换单元,这取决于使用的ISP模式的类型和CU的形状。
-如果帧间CU以SBT(子块变换)模式被编解码,那么CU被拆分成2个变换单元,结果所得的TU之一必须具有等于零的残差数据。
-如果帧间CU以三角预测合并(TPM,Triangle Prediction Merge)模式被编解码,那么CU由2个三角预测单元组成,每个PU都被指派有自己的运动数据。
根据VVC草案6,与拆分相关的语法在序列参数集(SPS)中被编解码。如果partition_constraints_override_enabled_flag为真,那么与分割相关的语法可以在条带头部(SH)中被覆盖(overridden)。VVC草案6中使用的SPS语法和SH语法在表1和表2中示出。
表1.VVC草案6中的序列参数集语法
一些SPS语法元素的语义描述如下:
log2_ctu_size_minus5加5指定每个CTU的亮度编解码树块尺寸。log2_ctu_size_minus5的值小于或等于2是比特流一致性的要求。
log2_min_luma_coding_block_size_minus2加2指定最小亮度编解码块尺寸。
变量CtbLog2SizeY、CtbSizeY、MinCbLog2SizeY、MinCbSizeY、IbcBufWidthY、IbcBufWidthC和Vsize如下导出:
CtbLog2SizeY=log2_ctu_size_minus5+5 (7-15)
CtbSizeY=1<<CtbLog2SizeY (7-16)
MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2 (7-17)
MinCbSizeY=1<<MinCbLog2SizeY (7-18)
IbcBufWidthY=128*128/CtbSizeY (7-19)
IbcBufWidthC=IbcBufWidthY/SubWidthC (7-20)
VSize=Min(64,CtbSizeY) (7-21)
分别指定用于每个色度CTB的阵列的宽度和高度的变量CtbWidthC和CtbHeightC如下导出:
-如果chroma_format_idc等于0(单色)或者separate_colour_plane_flag等于1,那么CtbWidthC和CtbHeightC都等于0。
-否则,CtbWidthC和CtbHeightC如下导出:
CtbWidthC=CtbSizeY/SubWidthC (7-22)
CtbHeightC=CtbSizeY/SubHeightC (7-23)
sps_log2_diff_min_qt_min_cb_intra_slice_luma指定参考SPS由CTU的四叉树拆分产生的亮度叶子块的亮度样本中最小尺寸的以2为底的对数与slice_type等于2(I)的条带中亮度CU的亮度样本中最小编解码块尺寸的以2为底的对数之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_min_qt_min_cb_luma覆盖。sps_log2_diff_min_qt_min_cb_intra_slice_luma的值应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。由CTU的四叉树拆分产生的亮度叶子块的亮度样本中最小尺寸的以2为底的对数如下导出:MinQtLog2SizeIntraY=sps_log2_diff_min_qt_min_cb_intra_slice_luma+MinCbLog2SizeY(7-24)
sps_log2_diff_min_qt_min_cb_inter_slice指定参考SPS由CTU的四叉树拆分产生的亮度叶子块的亮度样本中最小尺寸的以2为底的对数与slice_type等于0(B)或1(P)的条带中亮度CU的亮度样本中最小亮度编解码块尺寸的以2为底的对数之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_min_qt_min_cb_luma覆盖。sps_log2_diff_min_qt_min_cb_inter_slice的值应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。由CTU的四叉树拆分产生的亮度叶子块的亮度样本中最小尺寸的以2为底的对数如下导出:MinQtLog2SizeInterY=sps_log2_diff_min_qt_min_cb_inter_slice+MinCbLog2SizeY(7-25)
sps_max_mtt_hierarchy_depth_inter_slice指定参考SPS用于由slice_type等于0(B)或1(P)的条带中的四叉树叶子的多类型树拆分产生的编解码单元的默认最大层次深度。当partition_constraints_override_flag等于1时,默认的最大层次深度可以参考SPS被存在于条带的条带头部中的slice_max_mtt_hierarchy_depth_luma覆盖。sps_max_mtt_hierarchy_depth_inter_slice的值应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。
sps_max_mtt_hierarchy_depth_intra_slice_luma指定参考SPS用于由slice_type等于2(I)的条带中的四叉树叶子的多类型树拆分产生的编解码单元的默认最大层次深度。当partition_constraints_override_flag等于1时,默认的最大层次深度可以参考SPS被存在于条带的条带头部中的slice_max_mtt_hierarchy_depth_luma覆盖。sps_max_mtt_hierarchy_depth_intra_slice_luma的值应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。
sps_log2_diff_max_bt_min_qt_intra_slice_luma指定参考SPS可以使用二元拆分的亮度编解码块的亮度样本中的最大尺寸(宽度或高度)的以2为底的对数与由slice_type等于2(I)的条带中的CTU的四叉树拆分产生的亮度叶子块的亮度样本中的最小尺寸(宽度或高度)之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_max_bt_min_qt_luma覆盖。sps_log2_diff_max_bt_min_qt_intra_slice_luma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraY的范围内,包括0和CtbLog2SizeY-MinQtLog2SizeIntraY。当sps_log2_diff_max_bt_min_qt_intra_slice_luma不存在时,sps_log2_diff_max_bt_min_qt_intra_slice_luma的值被推断为等于0。
sps_log2_diff_max_tt_min_qt_intra_slice_luma指定参考SPS可以使用三元拆分的亮度编解码块的亮度样本中的最大尺寸(宽度或高度)的以2为底的对数与由slice_type等于2(I)的条带中的CTU的四叉树拆分产生的亮度叶子块的亮度样本中的最小尺寸(宽度或高度)之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于引用SPS的条带的条带头部中的slice_log2_diff_max_tt_min_qt_luma覆盖。sps_log2_diff_max_tt_min_qt_intra_slice_luma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraY的范围内,包括0和CtbLog2SizeY-MinQtLog2SizeIntraY。当sps_log2_diff_max_tt_min_qt_intra_slice_luma不存在时,sps_log2_diff_max_tt_min_qt_intra_slice_luma的值被推断为等于0。
sps_log2_diff_max_bt_min_qt_inter_slice指定参考SPS可以使用三元拆分的亮度编解码块的亮度样本中的最大尺寸(宽度或高度)的以2为底的对数与由slice_type等于0(B)或1(P)的条带中的CTU的四叉树拆分产生的亮度叶子块的亮度样本中的最小尺寸(宽度或高度)之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_max_bt_min_qt_luma覆盖。sps_log2_diff_max_bt_min_qt_inter_slice的值应在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围内,包括0和CtbLog2SizeY-MinQtLog2SizeInterY。当sps_log2_diff_max_bt_min_qt_inter_slice不存在时,sps_log2_diff_max_bt_min_qt_inter_slice的值被推断为等于0。
sps_log2_diff_max_tt_min_qt_inter_slice指定参考SPS可以使用三元拆分的亮度编解码块的亮度样本中的最大尺寸(宽度或高度)的以2为底的对数与由slice_type等于0(B)或1(P)的条带中的CTU的四叉树拆分产生的亮度叶子块的亮度样本中的最小尺寸(宽度或高度)之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_max_tt_min_qt_luma覆盖。sps_log2_diff_max_tt_min_qt_inter_slice的值应在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围内,包括0和CtbLog2SizeY-MinQtLog2SizeInterY。当sps_log2_diff_max_tt_min_qt_inter_slice不存在时,sps_log2_diff_max_tt_min_qt_inter_slice的值被推断为等于0。
sps_log2_diff_min_qt_min_cb_intra_slice_chroma指定参考SPS由treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树拆分产生的色度叶子块的亮度样本中最小尺寸的以2为底的对数与slice_type等于2(I)的条带中treeType等于DUAL_TREE_CHROMA的色度CU的亮度样本中最小编解码块尺寸的以2为底的对数之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_min_qt_min_cb_chroma覆盖。sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。当不存在时,sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值被推断为等于0。由treeType等于DUAL_TREE_CHROMA的CTU的四叉树拆分产生的色度叶子块的亮度样本中的最小尺寸的以2为底的对数如下导出:
MinQtLog2SizeIntraC=sps_log2_diff_min_qt_min_cb_intra_slice_chroma+MinCbLog2SizeY(7-26)
sps_max_mtt_hierarchy_depth_intra_slice_chroma指定参考SPS用于在slice_type等于2(I)的条带中由treeType等于DUAL_TREE_CHROMA的色度四叉树叶子字的多类型树拆分产生的色度编解码单元的默认最大层次深度。当partition_constraints_override_flag等于1时,默认的最大层次深度可以参考SPS被存在于条带的条带头部中的slice_max_mtt_hierarchy_depth_chroma覆盖。sps_max_mtt_hierarchy_depth_intra_slice_chroma的值应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。当不存在时,sps_max_mtt_hierarchy_depth_intra_slice_chroma的值被推断为等于0。
sps_log2_diff_max_bt_min_qt_intra_slice_chroma指定参考SPS可以使用二元拆分进行拆分的色度编解码块的最大尺寸(宽度或高度)的以2为底的对数与在条带类型等于2(I)的条带中由于treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树拆分产生的色度叶子块的亮度样本中的最小尺寸(宽度或高度)之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_max_bt_min_qt_chroma覆盖。sps_log2_diff_max_bt_min_qt_intra_slice_chroma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraC的范围内,包括0和CtbLog2SizeY-MinQtLog2SizeIntraC。当sps_log2_diff_max_bt_min_qt_intra_slice_chroma不存在时,sps_log2_diff_max_bt_min_qt_intra_slice_chroma的值被推断为等于0。
sps_log2_diff_max_tt_min_qt_intra_slice_chroma指定参考SPS可以使用三元拆分进行拆分的色度编解码块的亮度样本中最大尺寸(宽度或高度)的以2为底的对数与在条带类型等于2(I)的条带中由于treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树拆分产生的色度叶子块的亮度样本中的最小尺寸(宽度或高度)之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_max_tt_min_qt_chroma覆盖。sps_log2_diff_max_tt_min_qt_intra_slice_chroma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraC的范围内,包括0和CtbLog2SizeY-MinQtLog2SizeIntraC。当sps_log2_diff_max_tt_min_qt_intra_slice_chroma不存在时,sps_log2_diff_max_tt_min_qt_intra_slice_chroma的值被推断为等于0。
sps_max_luma_transform_size_64_flag等于1指定亮度样本中的最大变换尺寸等于64。sps_max_luma_transform_size_64_flag等于0指定亮度样本中的最大变换尺寸等于32。
当CtbSizeY小于64时,sps_max_luma_transform_size_64_flag的值应等于0。
变量MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY和MaxTbSizeY如下导出:
MinTbLog2SizeY=2 (7-27)
MaxTbLog2SizeY=sps_max_luma_transform_size_64_flag?6:5 (7-28)
MinTbSizeY=1<<MinTbLog2SizeY (7-29)
MaxTbSizeY=1<<MaxTbLog2SizeY (7-30)
表2.VVC草案6中的条带头部语法
下面,以用于帧间条带的亮度颜色分量的语法元素sps_max_mtt_hierarchy_depth_inter_slice为例来描述从四叉树叶子拆分的多类型树的最大允许层次深度(maxMTThierarchy depth)。但是,本原理也可以应用于帧内条带或色度颜色分量(例如,语法元素sps_max_mtt_hierarchy_depth_intra_slice_luma和sps_log2_diff_min_qt_min_cb_intra_slice_chroma)。
在VVC草案6中,值sps_max_mtt_hierarchy_depth_inter_slice应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。通常MinCbLog2SizeY等于2,与4x4块对应,而CtbLog2SizeY等于7,与128x128 CTU对应。在这种配置中,max_mtt_hierarchy_depth应在0到5的范围内。如果最小QT尺寸(即,1<<MinQtLog2SizeInterY)等于32并且仅使用BT,那么可以达到的最小块尺寸是4x8,并且当BT拆分深度为5时是8x4,如图8中所示。即,编码器在这个示例中缺乏支持4x4块尺寸的灵活性。更一般而言,编码器将仅支持由VVC指定的拆分模式的子集。
为了突出缺乏灵活性,我们使用一种配置,其中CTU尺寸等于32,最小Cb尺寸是8,并且最小QT尺寸是32。这意味着只能使用BT和TT。在这种配置中,max_mtt_hierarchy_depth被设置为2。如果只使用BT,那么可以达到的最小块尺寸是16x16或8x32;如果只使用TT,那么一些区域只能被拆分为16x16,如图9和10中所示。
为了更好地说明与拆分相关的语法元素,图11图示了CTU尺寸、最小编解码的块尺寸、最大变换尺寸、最小QT尺寸和最大BT/TT尺寸的可能值。还说明了VTM6.0中用于共用测试条件(CTC)的实际值。我们可以看到最小编解码的块尺寸(min_luma_coding_block_size)仅受CTU尺寸界定。
如上所述,由于组合使用允许BT或TT拆分的最大块尺寸和最大多类型树层次深度,编解码树深度被规范地界定的方式使得VVC压缩方案在给定固定的最大块尺寸和最小块尺寸的情况下在编码效率方面可能是次优的。另一个问题是log2_min_luma_coding_block_size_minus2语法元素与其它语法元素无关并且没有最大值。这会导致编码器生成具有log2_min_luma_coding_block_size_minus2的值的VVC比特流,该值高于最大块尺寸,从而使事情变得不一致。
为了解决VVC对于最大拆分深度缺乏灵活性,分别为帧内条带和帧间条带定义了最大二叉树(BT)尺寸、最大三叉树(TT)尺寸和最大层次结构深度信息。在双树(Dual Tree)的情况下,最大BT尺寸/最大TT尺寸和最大MTT深度也为帧内条带的色度树定义。所提出的方法可以在预先固定的最大和最小编解码的块尺寸的约束下增加可达编解码树节点和叶子的集合,并且因此通过允许的编解码树表示中的更高程度的灵活性来提高压缩效率。
在一个实施例中,增加sps_max_mtt_hierarchy_depth_inter_slice和sps_max_mtt_hierarchy_depth_intra_slice_luma的最大值。在下文中,为了便于表示,将max_mtt_hierarchy_depth用作通用术语来指代与最大MTT层次深度相关的语法元素,例如sps_max_mtt_hierarchy_depth_inter_slice和sps_max_mtt_hierarchy_depth_intra_slice_luma。在另一个实施例中,为所有可用的QT深度描述max_mtt_hierarchy_depth,以便提供更多的灵活性来描述拆分树。在另一个实施例中,当QT拆分可用于给定深度时与当QT拆分不可用于给定深度时,max_mtt_hierarchy_depth不同。
在另一个实施例中,语法元素sps_max_luma_transform_size_64_flag被移动到log2_min_luma_coding_block_size_minus2之前,并根据最大变换尺寸(sps_max_luma_transform_size_64_flag)定义编解码块尺寸的最大值(log2_min_luma_coding_block_size_minus2)。
在下文中,将更详细地描述不同的实施例。
VVC草案6中的最大层次深度
在这个实施例中,我们提出将允许的连续拆分数量(即,拆分深度或MTT层次深度)增加到CTU尺寸与CU的最小尺寸之间的差异的两倍。随着这个增加,在不使用QT(最小QT被定义为CTU尺寸)并且BT和TT是唯一使用的拆分的最坏情况下,我们可以达到最小CU尺寸。
规范文本中的改变在以下内容中带有下划线:
sps_max_mtt_hierarchy_depth_inter_slice指定参考SPS用于由slice_type等于0(B)或1(P)的条带中的四叉树叶子的多类型树拆分产生的编解码单元的默认最大层次深度。当partition_constraints_override_flag等于1时,默认的最大层次深度可以参考SPS被存在于条带的条带头部中的slice_max_mtt_hierarchy_depth_luma覆盖。sps_max_mtt_hierarchy_depth_inter_slice的值应在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围内,包括0和2*(CtbLog2SizeY-MinCbLog2SizeY)。
slice_max_mtt_hierarchy_depth_luma指定用于由当前条带中的四叉树叶子的多类型树拆分产生的编解码单元的最大层次深度。slice_max_mtt_hierarchy_depth_luma的值应在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围内,包括0和2*(CtbLog2SizeY-MinCbLog2SizeY)。当不存在时,slice_max_mtt_hierarchy_depth_luma的值如下推断:
如果slice_type等于2(I),那么推断slice_max_mtt_hierarchy_depth_luma的值等于sps_max_mtt_hierarchy_depth_intra_slice_luma。
否则(slice_type等于0(B)或1(P)),那么推断slice_max_mtt_hierarchy_depth_luma的值等于sps_max_mtt_hierarchy_depth_inter_slice。
值2*(CtbLog2SizeY-MinCbLog2SizeY)而不是VVC草案6中指定的(CtbLog2SizeY-MinCbLog2SizeY)的原因是它允许达到最小允许块尺寸,无论使用QT、BT或TT拆分类型中的哪一个。特别地,它只能通过二叉树(BT)拆分来实现,而VVC草案6中当前指定的规范约束并非如此。因此,所提出的方法的优点是它最大化了压缩性能,这可以在最大和最小编解码的块尺寸的约束下用VVC编码器实现。
自适应最大MTT深度
在这个实施例中,为所有QT级别规范地指定max_mtt_hierarchy_depth,以便在拆分树中提供更大的灵活性。指定与四叉树叶子可以达到的每个级别相关联的最大多类型树深度的优点是它使得能够以精细的方式分配编码器速率失真的组合。实际上,用于最优编解码树的速率失真搜索意味着编码器搜索空间的大组合。因此,对多类型编解码树搜索的组合进行微调是有意义的,以便在编码器对所有组合的搜索和压缩性能之间取得良好的折衷。为每个四叉树级别分配最大mtt层次深度提供了在RD搜索组合和压缩性能之间获得更好折衷的方式。因此,对于每个四叉树级别的最大mtt编解码树深度的规范性信令的更高程度的灵活性可能导致编码器复杂性/压缩效率折衷,目前用VVC草案6规范无法达到这一点。
表3.具有为每个四叉树叶子用信号通知的一个最大BT深度和一个最大TT深度的SPS规范,其中允许二叉树或三叉树拆分。
在此,我们首先用信号通知语法元素,该语法元素指示mtt树可以开始的最大尺寸,相对于最小四叉树尺寸,sps_log2_diff_max_mtt_size_min_qt_size_inter_slice_luma。mtt可以开始的最大尺寸被推导为:
maxMTTsize=1<<(sps_log2_diff_max_mtt_size_min_qt_size_inter_slice_luma+MinQtLog2SizeInterY)。
sps_log2_diff_max_mtt_size_min_qt_size_inter_slice_luma的最大值是CtbLog2SizeY-MinQtLog2SizeInterY。
如果sps_log2_diff_max_mtt_size_min_qt_size_inter_slice_luma等于0,那么它意味着不允许mtt拆分。如果不为空,那么对于为其允许mtt的每个QT级别,都会用信号通知用于BT和TT的最大深度。对于每个级别,sps_max_bt_depth_inter_slice_luma[i]的允许范围是从0到2x(i+MinQtLog2SizeInterY-MinCbLog2SizeY)。最后一个值与当前考虑的四叉树叶子节点尺寸的log2与最小编解码的块尺寸的log2之间的差异的两倍对应。它确保借助于二元拆分可以达到最小编解码的块尺寸。
在一个示例中,我们可以在VVC中如下定义拆分树:
表4.每种尺寸的最大MTT深度
CU尺寸 | 允许QT拆分? | 最大MTT深度 |
128 | 是 | 0 |
64 | 是 | 0 |
32 | 是 | 2 |
16 | 是 | 4 |
8 | 否 | 2 |
4 | 否 | 0 |
-通过用信号通知以下值:
-log2_ctu_size_minus5=2(CTU尺寸为128)
-log2_min_luma_coding_block_size_minus2=0(最小CU尺寸为4)
-sps_log2_diff_min_qt_min_cb_intra_slice_luma=1(QT拆分产生的最小CU尺寸为8)
-sps_log2_diff_max_mtt_size_min_qt_size=2(用于mtt拆分的最大CU尺寸为32)
-sps_max_bt_depth_inter_slice_luma[0]=2(8x8CU允许的2BT拆分)
-sps_max_bt_depth_inter_slice_luma[l]=4(16x16CU允许的4BT拆分)
-sps_max_bt_depth_inter_slice_luma[2]=2(32x32CU允许的2BT拆分)
相同的原理适用于intra_slice_luma和intra_slice_chroma。
在另一个实施例中,为四叉树叶子的多类型树拆分规范地指定最大允许层次深度,其与允许BT或TT拆分四叉树叶子的每个四叉树级别相关联。基本上,与对其进行MTT拆分的四叉树叶子对应的编解码单元必需是方形CU,其尺寸的log2包括在MinQtLog2SizeIntraY和(MinQtLog2SizeIntraY+log2_diff_max_mtt_min_qt_intra_slice_luma)之间。
在此,我们通过用信号通知的值sps_log2_diff_max_bt_min_qt_intra_slice_luma和sps_log2_diff_max_tt_min_qt_intra_slice_luma之间的最大值来定义log2_diff_max_mtt_min_qt_intra_slice_luma。对于其log2包括在MinQtLog2SizeIntraY和(MinQtLog2SizeIntraY+log2_diff_max_mtt_min_qt_intra_slice_luma)之间的每个块尺寸,用信号通知最大多类型树深度。
值sps_max_mtt_hierarchy_depth_intra_slice_luma[i]指定多类型树的最大层次深度,用于拆分与四叉树叶子对应的CU。
表5
以与log2_diff_max_mtt_min_qt_intra_slice_luma相同的方式,参数log2_diff_max_mtt_min_qt_inter_slice被定义为用信号通知的值sps_log2_diff_max_bt_min_qt_inter_slice_luma和sps_log2_diff_max_tt_min_qt_inter_slice_luma之间的最大值。对于其log2包括在MinQtLog2SizeInterY和(MinQtLog2SizeInterY+log2_diff_max_mtt_min_qt_inter_slice)之间的每个块尺寸,用信号通知最大多类型树深度。
以与log2_diff_max_mtt_min_qt_intra_slice_luma相同的方式,参数log2_diff_max_mtt_min_qt_intra_slice_chroma被定义为用信号通知的值sps_log2_diff_max_bt_min_qt_intra_slice_chroma和sps_log2_diff_max_tt_min_qt_intra_slice_chroma之间的最大值。对于其log2包括在MinQtLog2SizeIntraC和(MinQtLog2SizeIntraC+log2_diff_max_mtt_min_qt_intra_slice)之间的每个块尺寸,用信号通知最大多类型树深度。
根据表5的实施例的变体,语法元素sps_max_mtt_hierarchy_depth_intra_slice_luma_present_flag、sps_max_mtt_hierarchy_depth_inter_slice_luma_present_flag和sps_max_mtt_hierarchy_depth_intra_slice_chroma_present_flag不包括在SPS规范中。这个变体可以采用以下表6的形式。
表6
在另一个变体中,最大MTT层次深度的编解码由四叉树深度而不是四叉树叶子尺寸的log2来加索引。这可以与表7的形式略有不同。
在表7的变体中,数量strat_qt_depth_inter_slice被定义为:
start_qt_depth_inter_slice=CtbLog2 Size Y-max(MaxBtLog2 Size Y,MaxTtLog2SizeY)
其中:
MaxBtLog2SizeY=(MinQtLog2SizeInterY+sps_log2_diff_max_bt_min_qt_inter_slice)
MaxTtLog2SizeY=(MinQtLog2SizeY+sps_log2_diff_max_bt_min_qt_inter_slice)
而且,max_qt_depth_inter_slice被定义为:
max_qt_depth_inter_slice=CtbLog2SizeY-MinQtLog2SizeInterY
数量start_qt_depth_intra_slice_luma、max_qt_depth_intra_slice_luma、start_qt_depth_intra_slice_chroma和max_qt_depth_intra_slice_chroma以与start_qt_depth_inter_slice和max_qt_depth_inter_slice类似的方式定义,但分别针对帧内条带亮度和帧内条带色度的情况(在双树的情况下)。
表7
在又一个实施例中,这里提出的任何前述变体也用于条带头部的编解码。实际上,在VVC草案6规范中,在SPS中用信号通知的编解码树参数可以在条带头部中被覆盖,例如,根据表2中给出的语法表。
注意的是,在编码器侧,根据所考虑的四叉树叶子节点尺寸的log2与最小编解码的块尺寸的尺寸的log2之间的深度差异,可以确定编解码的最大MTT层次深度的上限。这可以采取以下形式。给定深度值i(表7的循环之一中的索引),要编码的最大mtt层次深度的上限可以是值2*(CtbLog2SizeY-i-MinCbLog2SizeY),其中2*(CtbLog2SizeY-i-MinCbLog2SizeY)表示仅使用BT拆分以达到宽度和高度的最小块尺寸所需的拆分次数。实际上,从给定块到拆分,需要恰好2个对称的二元拆分阶段来获得宽度和高度为一半尺寸的块。按上限2*(CtbLog2SizeY-i-MinCbLog2SizeY)裁剪值在SPS和条带头部的编解码的比特节省方面可以是有益的。
而且,注意的是,通常允许最大mtt层次深度范围从0到值2*(CtbLog2SizeY-i-MinCbLog2SizeY)确保可以借助于BT拆分达到最小编解码的块尺寸。
最后,在CU拆分信息的CU级解码器侧解析过程期间,考虑每个四叉树级别的最大MTT层次深度的高级信令。
为此,当解码器评估给定CTU的编解码树的当前节点是否允许给定的二元或三元拆分模式时,它比较当前编解码树节点的多类型树深度与在与当前编解码树节点相关联的四叉树深度处的最大多类型树深度。如果多类型树深度高于或等于所考虑的四叉树深度处的最大允许多类型树深度,那么对于当前树节点禁止所有二元和三元拆分模式。因此,解码器推断所考虑的树节点的拆分模式不同于任何二元或三元拆分模式。
与VVC草案6对拆分信息的解析过程的区别在于,在VVC草案6中,当前树节点的最大允许多类型树深度不取决于与所考虑的编解码树节点相关联的四叉树深度。在帧内条带类型的情况下,它仅取决于条带类型和组件类型。
二元/三元拆分启用
在这个实施例中,在SPS中引入了两个新标志,以用信号通知是否使用BT和TT拆分。然后,如果使用两种拆分中的至少一种,那么sps_max_mtt_hierarchy_depth语法元素如表8中所示被编解码。在表8的实施例的变体中,sps_bt_enabled_flag被定义为:
sps_bt_enabled_flag等于1指定在编解码块拆分过程中允许二元拆分。
表8
在另一个变体中,BT和TT拆分对于帧内亮度、帧间色度和帧内色度被不同地启用或禁用,以允许更大的灵活性。在表9中所示的实施例中,sps_bt_enabled_flag被定义为:
sps_bt_enabled_flag等于1指定参考SPS在slice_type等于2(I)的条带中四叉树叶子的编解码块拆分的过程中允许二元拆分。
表9
在另一个变体中,sps_log2_diff_max_bt_min_qt或sps_log2_diff_max_tt_min_qt语法元素被用于禁用BT或TT。在当前的VVC草案6中,BT和TT拆分是通过将大于0的值设置为sps_max_mtt_hierarchy_depth语法元素来一起启用的。在表9的变体中,首先定义sps_log2_diff_max_bt_min_qt和sps_log2_diff_max_bt_min_qt,然后有条件地解析sps_max_mtt_hierarchy_depth。将sps_log2_diff_max_bt_min_qt(sps_log2_diff_max_tt_min_qt)改变为sps_log2_diff_max_bt_min_qt_plus_one(sps_log2_diff_max_tt_min_qt_plus_one),值为0指示BT/TT被禁用。实际上,在这种情况下,最大BT尺寸严格低于最小QT尺寸,因此从不使用它。sps_log2_diff_max_bt_min_qt_plus_one(sps_log2_diff_max_tt_min_qt_plus_one)语法元素被定义为:sps_log2_diff_max_bt_min_qt_plus_one_intra_slice_luma指定参考SPS可以使用二元拆分进行拆分的亮度编解码块的亮度样本中的最大尺寸(宽度或高度)的以2为底的对数与以及由slice_type等于2(I)的条带中的CTU的四叉树拆分产生的亮度叶子块的亮度样本中的最小尺寸(宽度或高度)加上一之间的默认差异。当partition_constraints_override_flag等于1时,默认差异可以参考SPS被存在于条带的条带头部中的slice_log2_diff_max_bt_min_qt_luma覆盖。sps_log2_diff_max_bt_min_qt_minus_one_intra_slice_luma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraY+1的范围内,包括0和CtbLog2SizeY-MinQtLog2SizeIntraY+1。当sps_log2_diff_max_bt_min_qt_minus_intra_slice_luma不存在时,sps_log2_diff_max_bt_min_qt_intra_slice_luma的值被推断为等于0。
表10
简化的自适应最大mtt深度
在另一个变体中,仅用信号通知最大mtt深度的2个级别(而不是如先前实施例中的每个QT级别1个):当QT拆分被允许时的最大mtt深度,以及当不允许更多QT拆分时的最大mtt深度。
表11
在这个实施例中,我们首先用信号通知语法元素sps_max_mtt_hierarchy_depth_before_minqt_inter_slice。
sps_max_mtt_hierarchy_depth_before_minqt_inter_slice指定参考SPS在slice_type等于0(B)或1(P)的条带中四叉树叶子尺寸不等于(严格大于)MinQtLog2SizeInterY时由这个四叉树叶子的多类型树拆分产生的编解码单元的默认最大层次深度。当partition_constraints_override_flag等于1时,默认的最大层次深度可以参考SPS被存在于条带的条带头部中的slice_max_mtt_hierarchy_depth_before_minqt_luma覆盖。sps_max_mtt_hierarchy_depth_before_min_qt_inter_slice的值应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。
如果sps_log2_diff_min_qt_min_cb_inter_slice不等于0,那么它意味着QT树将在达到最小编解码的块尺寸之前停止,因此我们需要使用更多的二元/三元拆分来达到最小编解码的块尺寸。因此,这个sps_log2_diff_min_qt_min_cb_inter_slice值是用于解析sps_log2_diff_max_hierarchy_depth_after_minqt_intra_slice_luma语法元素的条件。
sps_max_mtt_hierarchy_depth_after_minqt_inter_slice指定参考SPS在slice_type等于0(B)或1(P)的条带中四叉树叶子尺寸等于MinQtLog2SizeInterY时由这个四叉树叶子的多类型树拆分产生的编解码单元的默认最大层次深度。当partition_constraints_override_flag等于1时,默认的最大层次深度可以参考SPS被存在于条带的条带头部中的slice_max_mtt_hierarchy_depth_after_minqt_luma覆盖。sps_max_mtt_hierarchy_depth_after_min_qt_inter_slice的值应在0到CtbLog2SizeY-MinCbLog2SizeY的范围内,包括0和CtbLog2SizeY-MinCbLog2SizeY。
同样的原理适用于intra_slice_luma和intra_slice_chroma。
前面的实施例可以单独使用或组合使用。例如,如前所述将层次深度加倍的实施例与表11中描述的实施例组合。这通常意味着最大mtt层次深度与其在VVC草案6中的最大允许值相比加倍。这采用以下形式。
sps_max_mtt_hierarchy_depth_before_minqt_inter_sliced的值范围是0(不允许拆分)到2*(CtbLog2SizeY-MinCbLog2SizeY)。
sps_max_mtt_hierarchy_depth_before_minqt_intra_slice_luma的值范围是0(不允许拆分)到2*(CtbLog2SizeY-MinCbLog2SizeY)。
sps_max_mtt_hierarchy_depth_after_minqt_inter_slice的值的范围从0(不允许拆分)改为2*(MinQtLog2 Size Y-MinCbLog2 Size Y)。
sps_max_mtt_hierarchy_depth_after_minqt_intra_slice_luma的值的范围从0(不允许拆分)改为2*(MinQtLog2SizeY-MinCbLog2SizeY)。
sps_max_mtt_hierarchy_depth_before_minqt_intra_slice_chroma的值的范围从0(不允许拆分)改为2*(MinQtLog2SizeY-MinCbLog2SizeY)。
sps_max_mtt_hierarchy_depth_after_minqt_intra_slice_chroma的值的范围从0(不允许拆分)改为2*(MinQtLog2SizeY-MinCbLog2SizeY)。
在一个示例中,我们可以定义如表12中所示的拆分树。
表12.启用和禁用QT时每种尺寸的最大MTT深度
CU尺寸 | 允许QT拆分? | 最大MTT深度 |
128,64,32 | 是 | 2 |
16,8,4 | 否 | 4 |
log2_min_luma_coding_block_size_minus2语法元素的最大值
在本实施例中,sps_max_luma_transform_size_64_flag语法元素被移动到log2_ctu_size_minus5之后和log2_min_luma_coding_block_size_minus2之前,如表13所示。
表13.提出的用于log2_min_luma_coding_block_size_minus2的最大值信令的语法表
sps_max_luma_transform_size_64_flag等于1指定亮度样本中的最大变换尺寸等于64。sps_max_luma_transform_size_64_flag等于0指定亮度样本中的最大变换尺寸等于32。
当CtbSizeY小于64时,sps_max_luma_transform_size_64_flag的值应等于0。
变量MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY和MaxTbSizeY如下导出:
MinTbLog2SizeY=2 (7-27)
MaxTbLog2SizeY=sps_max_luma_transform_size_64_flag?6:5 (7-28)
MinTbSizeY=1<<MinTbLog2SizeY (7-29)
MaxTbSizeY=1<<MaxTbLog2SizeY
log2_min_luma_coding_block_size_minus2加2指定最小亮度编解码块尺寸。
在VVC草案6中,未指定log2_min_luma_coding_block_size_minus2语法元素的上限。
变量CtbLog2SizeY、CtbSizeY、MinCbLog2SizeY、MinCbSizeY、IbcBufWidthY、IbcBufWidthC和Vsize如下导出:
CtbLog2SizeY=log2_ctu_size_minus5+5 (7-15)
CtbSizeY=1<<CtbLog2SizeY (7-16)
MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2 (7-17)
MinCbSizeY=1<<MinCbLog2SizeY (7-18)
IbcBufWidthY=128*128/CtbSizeY (7-19)
IbcBufWidthC=IbcBufWidthY/SubWidthC (7-20)
VSize=Min(64,CtbSizeY) (7-21)
对于每个色度CTB的阵列的分别指定宽度和高度的变量CtbWidthC和CtbHeightC如下导出:
-如果chroma_format_idc等于0(单色)或separate_colour_plane_flag等于1,那么CtbWidthC和CtbHeightC都等于0。
-否则,CtbWidthC和CtbHeightC如下导出:
CtbWidthC=CtbSizeY/SubWidthC (7-22)
CtbHeightC=CtbSizeY/SubHeightC (7-23)
对语法元素log2_min_luma_coding_block_size_minus2的允许范围的规范的提出的修改由图12说明。如从图12可以看出的,在这个实施例中,用于最小编解码的块尺寸的允许范围从4变为最大变换尺寸。
根据指定语法元素log2_min_luma_coding_block_size_minus2的界限的替代方式,提出基于CTU尺寸指定log2_min_luma_coding_block_size_minus2的最大可能值。
因此,在此log2_min_luma_coding_block_size_minus2的值应在0到(CtbLog2SizeY-2)的范围内。这确保每个编解码的块具有最多等于CTU尺寸的的尺寸。它可以大于最大变换尺寸。在这种情况下,VVC规范已经提到,其尺寸大于最大变换尺寸且未拆分成子编解码单元的编解码的块应平铺成变换单元,以便对其残差数据进行编解码/解码。
对语法元素log2_min_luma_coding_block_size_minus2的允许范围的规范的提出的修改由图13说明。如可以看出的,在这个实施例中,最小编解码的块尺寸的允许范围从4到CTU尺寸。
根据指定语法元素log2_min_luma_coding_block_size_minus2的界限的另一实施例,提出基于CTU尺寸和虚拟管线解码单元(VPDU,Virtual Pipeline Decoding Unit)尺寸来指定log2_min_luma_coding_block_size_minus2的最大可能值。VPDU表示在VVC解码器的硬件实施方式中假设的解码单元。VVC解码过程以如下方式设计:每个64x64图片区域,那个图片区域中的所有亮度和色度数据都可以在开始解码和重构所考虑图片中的下一个64x64区域之前被完全解码和重构。
在这个实施例中,log2_min_luma_coding_block_size_minus2的值应在0到(min(CtbLog2SizeY,6)-2)的范围内。换句话说,最小编解码的块尺寸应在0到min(CtbSizeY,64)的范围内,这确切地等于VVC草案6中指定的变量VSize(VPDU尺寸)。
这个实施例的优点是下面一个。根据VVC草案6规范,CtbSize可以等于128并且最小编解码的块尺寸(MinCbSizeY)也可以等于128。利用基于VPDU尺寸对最小编解码块的尺寸的提出的约束,每个128x128 CTU必须在亮度分量中拆分为4个64x64亮度CU。与此同步,与128x128亮度CTU对应的64x64色度块必须拆分为4个32x32色度CU。因此,编解码块尺寸将符合VPDU约束。
本实施例以将最小块尺寸的上限与最大变换尺寸对准的前述实施例的替代方式来解决上述问题。
压缩条带级分割约束覆盖
本公开的另一个实施例在于使条带头部分割信息编解码的编解码比VVC草案6中更紧凑。
在VVC草案6中,条带头部标志partition_constraints_override_flag被编解码以指示在序列参数集中用信号通知的编解码树配置在所考虑的条带中被覆盖。如果这个覆盖标志为真,那么与最小四叉树节点尺寸、最大BT尺寸、最大TT尺寸和最大MTT层次深度级别相关的参数在条带头部中用信号通知。它们分别针对所考虑条带的亮度分量进行编解码,并且在双树编解码处于活动状态的情况下还针对色度分量进行编解码。
但是,在VTM6编码器策略中,这些编解码树参数中的一些在一些条带中发生了改变,但另一些从未改变。因此,对于一些特定的编码策略,VVC草案6条带头部语法规范可以导致冗余数据的重复。通常,最大MTT层次深度信息永远不会改变。
在这个实施例中,提出用信号通知标志max_mtt_hierarchy_depth_override_flag,该标志指示(一个或多个)最大层次深度参数是否在条带头部中被覆盖。如果是这样,那么条带级最大层次深度信息被编解码在条带头部中。否则,条带级最大层次深度值被设置为等于SPS的值,分别用于亮度分量和色度分量(双树的情况)。此外,最大BT尺寸和最大MTT尺寸的条带级编解码,在语法元素slice_log2_diff_max_bt_min_qt_luma和slice_log2_diff_max_tt_min_qt_luma的形式下,不再像VVC草案6中那样依赖于最大MTT层次深度的值。在双树编解码的情况下,对于色度分量也移除了这种依赖性。下表说明了提出的条带头部语法修改。本实施例的优点是更紧凑的条带头部语法,从而导致与高级语法相关的开销不可忽略的小视频序列高达0.1%的位速率节省。
表14:本实施例中提出的条带头部语法修改
根据本实施例的另一变体,等效于最大四叉树深度的最小四叉树节点尺寸信息也基于在条带头部之前用信号通知的标志maximum_hierarchy_depth_override标志在条带级别上被编解码。因此,这个标志maximum_hierarchy_depth_override控制最小QT尺寸和最大MTT层次深度参数的信令。与VVC草案6相比,这个变体的优点是进一步压缩的条带头部。
表15:提出的进一步压缩的条带头部语法
本文描述了各种方法,并且每种方法包括用于实现所述方法的一个或多个步骤或动作。除非该方法的正确操作要求特定的步骤或动作次序,否则可以修改或组合特定步骤和/或动作的次序和/或使用。此外,诸如“第一”、“第二”等术语可以在各种实施例中用于修改元素、组件、步骤、操作等,例如“第一解码”和“第二解码”。除非特别要求,否则使用此类术语并不意味着对修改后的操作进行排序。因此,在这个示例中,第一解码不需要在第二解码之前执行,并且可以例如在与第二解码重叠的时间段之前、期间或重叠时间段中发生。
本申请中描述的各种方法和其它方面可以被用于修改视频编码器200和解码器300的模块,例如,分割、熵编码和解码模块(202、335、245、330),如图2和图3中所示。而且,给出的方面不限于VVC或HEVC,并且可以应用于例如其它标准和推荐,以及任何此类标准和推荐的扩展。除非另有说明或技术上排除,否则本申请中描述的各方面可以单独或组合使用。
在本申请中使用各种数值。特定值是用于示例目的,并且所描述的方面不限于这些特定值。
各种实施方式涉及解码。如本申请中所使用的,“解码”可以涵盖例如对接收到的编码的序列执行以便产生适合于显示的最终输出的过程的全部或部分。在各种实施例中,此类过程包括通常由解码器执行的过程中的一个或多个,例如,熵解码、逆量化、逆变换和差分解码。基于具体描述的上下文,短语“解码过程”旨在专门指代操作的子集还是一般地指代更广泛的解码过程将是清楚的,并且相信本领域技术人员会很好地理解。
各种实施方式涉及编码。以与上面关于“解码”的讨论类似的方式,在本申请中使用的“编码”可以涵盖例如对输入视频序列执行以便产生编码的比特流的过程的全部或部分。
注意的是,如本文使用的语法元素是描述性术语。因此,它们不排除使用其它语法元素名称。在上文中,用于SPS和SH的语法元素主要用于说明各种实施例。应当注意的是,这些语法元素可以放在其他语法结构中。
本文描述的实施方式和方面可以例如以方法或过程、装置、软件程序、数据流或信号来实现。即使仅在单一形式的实施方式中进行讨论(例如,仅作为方法讨论),所讨论的特征的实施方式也可以以其它形式(例如,装置或程序)来实现。装置可以例如以适当的硬件、软件和固件来实现。方法可以在例如装置(例如,处理器)中实现,处理器一般是指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、移动电话、便携式/个人数字助理(“PDA”)和有助于最终用户之间信息通信的其它设备。
对“一个实施例”或“实施例”或“一个实施方式”或“实施方式”以及它们的其它变化的引用是指结合该实施例描述的特定特征、结构、特点等包括在至少一个实施例中。因此,短语“在一个实施例中”或“在实施例中”或“在一个实施方式中”或“在实施方式中”以及任何其它变化在本申请中各处的出现不一定全部指相同的实施例。
此外,本申请可以提到“确定”各种信息。确定信息可以包括例如以下一项或多项:估计信息、计算信息、预测信息或从存储器中检索信息。
另外,本申请可以提到“访问”各种信息。访问信息可以包括例如以下一项或多项:接收信息、(例如,从存储器中)检索信息、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息。
此外,本申请可以提到“接收”各种信息。与“访问”一样,接收是广义的术语。接收信息可以包括以下一个或多个:例如,访问信息或检索信息(例如,从存储器)。另外,以一种或另一种方式,在例如以下操作期间:存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息,通常涉及“接收”。
应该认识到的是,例如在“A/B”、“A和/或B”和“A和B中的至少一个”的情况下使用以下“/”、“和/或”和“…中的至少一个”中的任何一个旨在涵盖仅选择第一个列出的选项(A),或者仅选择第二个列出的选项(B),或者选择两个选项(A和B)。作为另外的示例,在“A、B和/或C”和“A、B和C中的至少一个”的情况下,这种措词旨在涵盖仅选择第一个列出的选项(A),或仅选择第二个列出的选项(B),或仅选择第三个列出的选项(C),或仅选择第一个和第二个列出的选项(A和B),或仅选择第一个和第三个列出选项(A和C),或仅选择第二个和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。如对于本领域和相关领域的普通技术人员显而易见的那样,这可以针对所列的多个项目扩展。
如对于本领域普通技术人员将显而易见的,实施方式可以产生各种信号,这些信号被格式化为携带例如可以被存储或传输的信息。信息可以包括例如用于执行方法的指令或由所描述的实施方式之一产生的数据。例如,信号可以被格式化为携带所描述的实施例的比特流。可以将这种信号格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并且用编码的数据流来调制载波。信号携带的信息可以是例如模拟或数字信息。如已知的,信号可以通过各种不同的有线或无线链路传输。信号可以存储在处理器可读介质上。
Claims (26)
1.一种方法,包括:
编码或解码指示树结构的最大允许深度的值,其中所述最大允许深度以第一值与第二值之间的差异的至少两倍为限,所述第一值指示最大编解码块的尺寸,并且所述第二值指示最小允许编解码块尺寸;以及
通过所述树结构将表示所述最大编解码块的节点或所述最大编解码块的分割分割为编解码块,其中所述树结构使用水平拆分和垂直拆分中的至少一种。
2.如权利要求1所述的方法,其中所述树结构使用水平二元拆分、垂直二元拆分、水平三元拆分和垂直三元拆分中的至少一种。
3.如权利要求1或2所述的方法,其中所述树结构不包括四叉树拆分。
4.如权利要求1或2所述的方法,还包括:
通过四叉树结构将所述最大编解码块分割为四叉树叶子节点,所述四叉树叶子节点包括表示所述最大编解码块的所述分割的所述节点。
5.如权利要求1-4中的任一项所述的方法,其中所述第一值与所述最大编解码块的所述尺寸的以2为底的对数对应。
6.如权利要求1-5中的任一项所述的方法,其中所述第二值与所述最小允许编解码块尺寸的以2为底的对数对应。
7.一种方法,包括:
通过四叉树结构将最大编解码块分割为四叉树叶子节点;
通过第二树结构将四叉树叶子节点分割为编解码块,其中所述第二树结构使用水平二元拆分、垂直二元拆分、水平三元拆分和垂直三元拆分中的至少一种;以及
编码或解码指示所述第二树结构的最大允许深度的值,其中所述最大允许深度取决于所述四叉树叶子节点的四叉树级别。
8.如权利要求7所述的方法,其中所述最大深度是针对允许由所述第二树结构进行拆分的每个四叉树级别用信号通知的。
9.如权利要求7或8所述的方法,其中所述最大允许深度是针对二叉树用信号通知的。
10.如权利要求7-9中的任一项所述的方法,其中所述最大允许深度是针对三叉树用信号通知的。
11.一种方法,包括:
通过四叉树重构将最大编解码块分割为四叉树叶子节点;
通过第二树结构将四叉树叶子节点分割为编解码块,其中所述第二树结构使用水平二元拆分、垂直二元拆分、水平三元拆分和垂直三元拆分中的至少一种;以及
编码或解码指示所述第二树结构的最大允许深度的值,其中所述最大允许深度取决于所述四叉树叶子节点是否等于最小允许四叉树节点尺寸。
12.如权利要求11所述的方法,其中所述第二树结构的所述最大允许深度的上限基于当所述四叉树叶子节点大于所述最小允许四叉树节点尺寸时的最小允许编解码块尺寸和所述最大编解码块的尺寸。
13.如权利要求11或12所述的方法,其中所述第二树结构的所述最大允许深度的上限基于当所述四叉树叶子节点等于所述最小允许四叉树节点尺寸时的最小允许编解码块尺寸和所述最小允许四叉树节点尺寸的尺寸。
14.一种方法,包括:
将最大编解码块分割为编解码块;以及
编码或解码指示最小允许编解码块尺寸的值,其中所述最小编解码块尺寸的上限取决于值和所述最大编解码块的尺寸中的较小值。
15.如权利要求14所述的方法,其中所述值指示虚拟管线解码单元(VPDU)的尺寸。
16.一种方法,包括:
通过四叉树结构将编解码树块分割为四叉树叶子节点;
通过第二树结构将四叉树叶子节点分割为编解码块,其中所述第二树结构使用水平二元拆分、垂直二元拆分、水平三元拆分和垂直三元拆分中的至少一种;以及
编码或解码(1)指示在所述第二树结构中是否使用二元拆分的第一信号和(2)指示在所述第二树结构中是否使用三元拆分的第二信号中的至少一种。
17.如权利要求16所述的方法,还包括:
响应于使用二元拆分和三元拆分中的至少一种,编码或解码指示所述第二树结构的最大允许深度的值。
18.如权利要求16或17所述的方法,其中针对帧内和帧间分别用信号通知是否使用二元拆分。
19.如权利要求16或17所述的方法,其中针对亮度和色度分别用信号通知是否使用二元拆分。
20.如权利要求16-19中的任一项所述的方法,其中所述第一信号取决于第一值和第二值,所述第一值指示可以使用二元拆分进行拆分的编解码块的最大允许尺寸,所述第二值指示四叉树叶子节点的最小允许尺寸。
21.如权利要求16-20中的任一项所述的方法,其中所述第二信号取决于第三值和第四值,所述第一值指示可以使用三元拆分进行拆分的编解码块的最大允许尺寸,所述第四值指示四叉树叶子节点的最小允许尺寸。
22.一种方法,包括:
通过四叉树重构将最大编解码块分割为四叉树叶子节点;
通过第二树结构将四叉树叶子节点分割为编解码块,其中所述第二树结构使用水平二元拆分、垂直二元拆分、水平三元拆分和垂直三元拆分中的至少一种;以及
编码或解码标志,所述标志指示指示一个或多个最大层次深度参数的参数是否在当前语法结构中被覆盖。
23.如权利要求22所述的方法,其中所述当前语法结构与条带头部对应。
24.一种方法,包括:
通过四叉树重构将最大编解码块分割为四叉树叶子节点;
通过第二树结构将四叉树叶子节点分割为编解码块,其中所述第二树结构使用水平二元拆分、垂直二元拆分、水平三元拆分和垂直三元拆分中的至少一种;以及
编码或解码指示最小四叉树节点尺寸的信号。
25.一种非暂时性存储介质,其存储使用如权利要求1-24中的任一项所述的方法编码的视频。
26.一种装置,其包括处理器和存储指令的非暂时性计算机可读存储介质,所述指令在处理器上执行时可操作以执行如权利要求1-24中的任一项所述的用于视频编码或解码的方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19306169 | 2019-09-23 | ||
EP19306169.4 | 2019-09-23 | ||
EP19290094 | 2019-09-27 | ||
EP19290094.2 | 2019-09-27 | ||
EP19306298.1 | 2019-10-07 | ||
EP19306298 | 2019-10-07 | ||
PCT/EP2020/076066 WO2021058380A1 (en) | 2019-09-23 | 2020-09-18 | Coding tree partitioning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114175642A true CN114175642A (zh) | 2022-03-11 |
Family
ID=72473575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080053335.3A Pending CN114175642A (zh) | 2019-09-23 | 2020-09-18 | 编解码树分割 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20220321883A1 (zh) |
EP (1) | EP4035364A1 (zh) |
JP (1) | JP2023501026A (zh) |
KR (1) | KR20220061948A (zh) |
CN (1) | CN114175642A (zh) |
AU (1) | AU2020354401A1 (zh) |
MX (1) | MX2022003469A (zh) |
TW (1) | TW202114428A (zh) |
WO (1) | WO2021058380A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2022003566A (es) | 2019-09-24 | 2022-07-11 | Hfi Innovation Inc | Método y aparato de codificación de árbol para codificación separada con restricciones en tamaño de cu mínimo. |
EP4052467A4 (en) * | 2019-12-23 | 2023-04-19 | Huawei Technologies Co., Ltd. | ENCODER, DECODER AND RELATED METHODS OF DEDUCTING RESTRICTION FROM CODING BLOCK PARTITIONING |
US20210314567A1 (en) * | 2020-04-04 | 2021-10-07 | Qualcomm Incorporated | Block partitioning for image and video coding |
AU2020203330B2 (en) * | 2020-05-21 | 2022-12-01 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a block of video samples |
WO2023198110A1 (en) * | 2022-04-13 | 2023-10-19 | Mediatek Inc. | Block partitioning image and video data |
-
2020
- 2020-08-05 TW TW109126517A patent/TW202114428A/zh unknown
- 2020-09-18 CN CN202080053335.3A patent/CN114175642A/zh active Pending
- 2020-09-18 US US17/619,440 patent/US20220321883A1/en active Pending
- 2020-09-18 JP JP2021571899A patent/JP2023501026A/ja active Pending
- 2020-09-18 WO PCT/EP2020/076066 patent/WO2021058380A1/en unknown
- 2020-09-18 KR KR1020227003396A patent/KR20220061948A/ko active Search and Examination
- 2020-09-18 MX MX2022003469A patent/MX2022003469A/es unknown
- 2020-09-18 AU AU2020354401A patent/AU2020354401A1/en active Pending
- 2020-09-18 EP EP20771577.2A patent/EP4035364A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2020354401A1 (en) | 2022-04-14 |
MX2022003469A (es) | 2022-04-19 |
WO2021058380A1 (en) | 2021-04-01 |
JP2023501026A (ja) | 2023-01-18 |
EP4035364A1 (en) | 2022-08-03 |
TW202114428A (zh) | 2021-04-01 |
KR20220061948A (ko) | 2022-05-13 |
US20220321883A1 (en) | 2022-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114175642A (zh) | 编解码树分割 | |
CN112352427B (zh) | 基于图像块的非对称二元分区的视频编码和解码的方法和装置 | |
CN113228650A (zh) | 基于块的表面的视频编码或解码的量化 | |
EP3891994A1 (en) | Managing coding tools combinations and restrictions | |
CN113678438A (zh) | 采用子分区的宽角度帧内预测 | |
US20240089437A1 (en) | Chroma quantization parameter adjustment in video encoding and decoding | |
CN112385212A (zh) | 用于视频编码或解码的语法元素 | |
CN113647112A (zh) | 用于视频编码和解码的熵编解码 | |
JP2021528004A (ja) | ビデオの符号化及び復号における改良モード処理 | |
CN114026863A (zh) | 使用高级语法元素发信号通知解码数据的方法和装置 | |
KR20220024716A (ko) | 비디오 인코딩 및 디코딩을 위한 단일 인덱스 양자화 행렬 설계 | |
JP2022502981A (ja) | 輝度および彩度に対して別々のコーディングツリーを使用する場合の彩度量子化パラメータを決定するための方法および装置 | |
US20240214569A1 (en) | Vvc normative and encoder-side adaptations for abt | |
EP3591971A1 (en) | Chroma quantization parameter adjustment in video encoding and decoding | |
KR20210074388A (ko) | 코딩 유형 또는 코딩 트리 유형의 시그널링을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치 | |
EP3591969A1 (en) | Syntax elements for video encoding or decoding | |
CN114731430A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231108 Address after: Paris France Applicant after: Interactive digital CE patent holding Co. Address before: Seville, France Applicant before: Interactive digital VC holding France |