CN118985128A - 用于视频编解码的扩展块分区类型 - Google Patents
用于视频编解码的扩展块分区类型 Download PDFInfo
- Publication number
- CN118985128A CN118985128A CN202380033156.7A CN202380033156A CN118985128A CN 118985128 A CN118985128 A CN 118985128A CN 202380033156 A CN202380033156 A CN 202380033156A CN 118985128 A CN118985128 A CN 118985128A
- Authority
- CN
- China
- Prior art keywords
- partition
- current block
- block
- template
- video
- 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
- 238000005192 partition Methods 0.000 title claims abstract description 328
- 238000000034 method Methods 0.000 claims abstract description 54
- 239000013598 vector Substances 0.000 claims description 20
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 230000011218 segmentation Effects 0.000 description 19
- 238000013528 artificial neural network Methods 0.000 description 18
- 238000000638 solvent extraction Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000013139 quantization Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 230000001131 transforming effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 101100234408 Danio rerio kif7 gene Proteins 0.000 description 2
- 101100221620 Drosophila melanogaster cos gene Proteins 0.000 description 2
- 101100398237 Xenopus tropicalis kif11 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 201000001117 malignant triton tumor Diseases 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
用于发送任意分区边界的方法被提供。视频编解码器通过识别具有最低成本的分区位置来导出用于分割当前块的分区结构。视频编解码器根据识别的分区位置将当前块分成第一和第二分区。视频编解码器对当前块的第一和第二分区进行编码或解码。第一和第二分区可以与第一和第二模板相关联,该第一和第二范本基于邻近当前块的重构像素被构建。视频编解码器可通过计算基于第一范本的第一成本和基于第二模板的第二成本以及优化分区位置以使第一和第二成本之和最小化来识别分区位置。
Description
相关申请的交叉引用
本公开是非临时申请的一部分,该非临时申请要求2022年4月13日提交的美国临时专利申请号63/330,343的优先权。以上所列申请的内容通过引用整体并入本文。
技术领域
本公开总体上涉及视频编解码。具体而言,本发明涉及划分像素块以进行编解码的方法。
背景技术
除非本文另有说明,否则本节中描述的方法不是下面列出的权利要求的现有技术,以及不被包含在本节中而被承认为现有技术。
高效视频编解码(High-Efficiency Video Coding,简称HEVC)是由视频编解码联合协作组(Joint Collaborative Team on Video Coding,简称JCT-VC)开发的国际视频编解码标准。HEVC基于混合的基于块的运动补偿类DCT变换编解码架构。压缩的基本单元,被称为编解码单元(coding unit,简称CU),是一个2Nx2N的方形像素块,每个CU可以递归地分成四个更小的CU,直到达到预定的最小尺寸。每个CU包含一个或多个预测单元(predictionunit,简称PU)。
多功能视频编解码(Versatile video coding,简称VVC)是由ITU-TSG16 WP3和ISO/IEC JTC1/SC29/WG11的联合视频专家组(Joint Video Expert Team,简称JVET)制定的最新国际视频编解码标准。输入视频信号从重构信号预测,该重构信号从编解码图片区域导出。预测残差信号通过块变换进行处理。变换系数与比特流中的其他辅助信息一起被量化和熵编解码。重构信号根据预测信号和对去量化变换系数进行逆变换后的重构残差信号生成。重构信号通过环路滤波进一步被处理,以去除编解码伪像。解码后的图片存储在帧缓冲器中,用于预测输入视频信号中的未来图片。
在VVC中,编解码图片被划分为由相关联的编解码树单元(coding tree unit,简称CTU)表示的非重迭方形块区域。编解码图片可以由片段集合表示,每个片段包含整数个CTU。片段中的各个CTU以光栅扫描连续处理。帧内预测或帧间预测可以被用来对双向预测(bi-predictive,简称B)片段进行解码,其中最多有两个运动向量和参考索引来预测每个块的样本值。预测(P)片段使用具有至多一个运动向量和参考索引的帧内预测或帧间预测来解码以预测每个块的样本值。帧内(intra,简称I)片段仅使用帧内预测对进行解码。
可以使用具有嵌套多类型树(multi-type-tree,简称MTT)结构的四叉树(quadtree,简称QT)将CTU划分成一个或多个非重迭编解码单元(coding unit,简称CU),以适应各种局部运动和纹理特征。CU可以使用五种分割类型之一进一步分割成更小的CU:四叉树分区、垂直二叉树分区、水平二叉树分区、垂直中心侧三叉树分区、水平中心侧三叉树分区。
每个CU包含一个或多个预测单元(prediction,简称PU)。预测单元与关联的CU语法一起作为基本单元,以用于发送预测信息。指定的预测处理用于预测PU内的相关像素样本的值。每个CU可以包含一个或多个变换单元(transform unit,简称TU)用于表示预测残差块。变换单元(transform unit,简称TU)由亮度样本的变换块(transform block,简称TB)和两个相应的色度样本变换块组成,每个TB对应于来自一种颜色分量的样本的一个残差块。整数变换被应用于变换块。量化系数的级别值与其他辅助信息一起在比特流中进行熵编解码。术语编解码树块(coding tree block,简称CTB)、编解码块(coding block,简称CB)、预测块(prediction block,简称PB)和变换块(transform block,简称TB)被定义为分别指定与CTU,CU,PU和TU相关联的一个颜色分量的2D样本数组。因此,CTU由一个亮度CTB,两个色度CTB和相关语法元素组成。类似的关系对CU,PU和TU有效。
对于每个帧间预测CU,由运动向量,参考图片索引和参考图片列表使用索引组成的运动参数以及额外信息用于帧间预测样本生成。运动参数可以以显式或隐式方式发送。当CU以跳过模式进行编解码时,CU与一个PU相关联并且没有显著的残差系数,没有被编解码的运动向量增量或参考图片索引。合并模式被指定,当前CU的运动参数从相邻CU获得,包括空间和时间候选,以及VVC中引入的额外排程。合并模式可以应用于任一帧间预测的CU。合并模式的可选方案是运动参数的显式传输,其中运动向量,每个参考图片列表的相应参考图片索引和参考图片列表使用标志以及其他所需信息按每个CU被显式地发送。
发明内容
以下概述仅是说明性的并且不旨在以任何方式进行约束。即,以下概述被提供以介绍本文所述的新颖且非显而易见的技术的概念、亮点、益处和优点。选择而不是所有的实施方式在下面的详细描述中被进一步描述。因此,以下概述并非旨在识别所要求保护的主题的基本特征,也不旨在用于决定所要求保护的主题的范围。
一些实施例提供了一种用于发送任意分区边界的方法。视频编解码器通过识别具有最低成本的分区位置来导出用于分割当前块的分区结构。视频编解码器可以发送识别的分区位置。视频编解码器根据识别的分区位置将当前块分成第一和第二分区。视频编解码器对当前块的第一和第二分区进行编码或解码。
在一些实施例中,第一分区和第二分区可以与第一模板和第二模板相关联,该第一模板和第二模板基于与当前块相邻的重构像素构建。视频编解码器可通过计算基于第一范本的第一成本和基于第二模板的第二成本以及优化分区位置以使第一和第二成本之和最小化来识别分区位置。视频编解码器可以通过将第一模板与第一参考像素集合相匹配来计算第一成本,该第一参考像素集合为当前图片中由第一分区的第一帧内预测模式识别的参考像素,以及通过将第二范本与第二参考像素集合相匹配来计算第二成本,该第二参考像素集合为当前图片中由第二分区的第二帧内预测模式识别的参考像素。视频编解码器可以通过将第一模板与第一参考像素集合相匹配来计算第一成本,该第一参考像素集合为第一参考图片中由第一分区的第一运动向量识别的参考像素,以及通过将第二范本与第二参考像素集合相匹配来计算第二成本,该第二参考像素集合为第二参考图片中由第二分区的第二运动向量识别的参考像素。
分区位置可用于指定四叉树(quadtree,简称QT)、二叉树(binary tree,简称BT)或三叉树(ternary tree,简称TT)的分区边界。分区结构可以指定分割当前块的直线的偏移量和角度(例如,类似GPM)。当前块的宽度和高度可以是二次幂的整数,而分区位置是在非二次幂的整数像素位置。第一分区可以是当前块的角处的第一矩形区域,第二分区是当前块减去第一分区的L形剩余区域。第一分区可以是完全在当前块内的第一矩形区域,第二分区是当前块内四边包围第一矩形区域的剩余区域。
在一些实施例中,当分区不具有相应的变换核时(例如,具有不是二次幂的维度),第一或第二分区的样本可以被编码为预测残差而不被变换(变换跳过,transform skip),或者第一或第二分区的样本可以在不发送预测残差(残差跳过)的情况下通过预测进行编码。
附图说明
附图被包括以提供对本公开的进一步理解并且被并入并构成本公开的一部分。附图说明了本公开的实施方式,并且与描述一起用于解释本公开的原理。值得注意的是,附图不一定是按比例绘制的,因为在实际实施中特定组件可能被显示为与大小不成比例,以便清楚地说明本公开的概念。
图1提供递归分区的示例编解码树单元(coding tree unit,简称CTU)。
图2展示出编解码单元的五种分割类型。
图3展示出分区分割信息的发送机制。
图4展示出具有任意边界的二叉树(BT)分区。
图5展示出四叉树(QT)和三叉树(TT)的任意边界分区。
图6A-B展示出使用任意直线划分块。
图7A-B概念性地展示出用于导出当前块的分区位置的模板匹配方法。
图8展示出将父块划分为角块和L形剩余块。
图9概念性地展示出可用于选择变换核的L形分区的参数。
图10概念性地展示出由块内大块分区划分的块。
图11概念性地展示出使用神经网络预测划分像素块的分割标志。
图12展示出可以实现任意分区边界的示例视频编码器。
图13展示出实现任意分区边界的视频编码器的部分。
图14概念性地展示出用于导出任意分区的分区位置的处理。
图15展示出可以实现任意分区边界的示例视频解码器。
图16展示出可以实现任意分区边界的示例视频解码器。
图17概念性地展示出用于导出任意分区的分区位置的处理。
图18概念性地展示出实现本公开的一些实施例的电子系统。
具体实施方式
在以下详细描述中,通过示例的方式阐述了许多具体细节,以便提供对相关教导的透彻理解。基于本文描述的教导的任何变化、衍生和/或扩展都在本公开的保护范围内。在一些情况下,与在此公开的一个或多个示例实施方式有关的众所周知的方法、处理、组件和/或电路可以在相对较高的水平上进行描述而没有细节,以避免不必要地模糊本公开的教导的方面。
Ⅰ、块分区
CTU可以通过使用具有嵌套多类型树(MTT)结构的四叉树(QT)被划分为一个或多个非重迭编解码单元(CU),以适应各种局部运动和纹理特征。图1提供了一个示例CTU 100,它由具有嵌套MTT的QT递归分区。在图1中中,粗体实边表示四叉树分区,虚线表示多类型树(MTT)分区。如图所示,CTU 100被QT划分成CU 110、120、130和140。CU 110进一步被QT划分。CU 120没有被进一步划分。CU 130进一步由MTT划分。CU 140进一步由QT划分,然后由MTT划分。
图2展示出CU的五种分割类型,包括QT分割和MTT分割。如图所示,CU可以通过使用QT分区(SPLIT_QT)或使用四种MTT分区类型之一进一步拆分为更小的CU:垂直二元分区(SPLIT_BT_VER)、水平二元分区(SPLIT_BT_HOR)、垂直三元分区(SPLIT_TT_VER),水平三元分区(SPLIT_TT_HOR)。
以下参数被定义用于具有嵌套多类型树编解码树方案的四叉树。这些参数由序列参数集(sequence parameter set,简称SPS)语法元素指定,以及可以通过图片报头语法元素进一步被细化。
–CTUsize:四叉树的根节点大小
–MinQTSize:允许的最小四叉树叶节点大小
–MaxBtSize:允许的最大二叉树根节点大小
–MaxTtSize:允许的最大三叉树根节点大小
–MaxMttDepth:从四叉树叶分割出的多类型树的允许的最大层次深度
–MinCbSize:允许的最小编解码块节点大小
编解码树单元(CTU)被视为四叉树(或四叉树)的根以及首先被四叉树结构划分。然后,每个四叉树叶节点(当足够大以允许它时)由多类型树结构进一步划分。图3展示出分区分割信息的发送机制,具体用于具有嵌套多类型树编码树结构的四叉树。该图展示出用于指示块的分区树结构的分割标志。具体地,第一标志(mtt_split_cu_flag)被发送以指示节点是否被进一步划分;当一个节点被进一步划分时,第二标志(mtt_split_cu_vertical_flag)被发送以指示分割方向,然后第三标志(mtt_split_cu_binary_flag)被发送以指示分割是二元分割还是三元分割。根据mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag的取值,CU的多类型树分割模式(MttSplitMode)被导出如下:
Ⅱ、扩展分区
A.用于BT的任意边界分割
本公开的一些实施例提供任意BT分割。任意BT可以有任意分割边界位置。图4展示出具有任意边界的BT划分。如图所示,对于大小为32x32的CU 400,任意水平BT分割可以将CU划分为2个子CU 410和420,一个是32xN,另一个是32x(32-N),其中N为介于两者之间的整数1和31。
在一些实施例中,用于任意边界BT分割的一些分割维度不被允许。例如,不允许将32x32的块拆分为7x32和25x32的分区进行帧内编解码,但允许将32x32的块拆分为16x32和16x32的分区进行帧内编解码。允许的分区是块的宽度或高度为二次幂的分区,以便现有的变换核可以应用于这些分区或子CU以完成编解码处理。
B.用于TT和QT的任意边界分割
任意边界可以应用于其他类型的块划分,例如TT和QT。图5展示出TT和QT的任意边界分区。在图中,第一块510被任意边界511和512进行QT分割,第二块520沿着任意边界521和522进行TT分割。任意边界由宽度M和N定义。在一些实施例中,分区(或分割)位置(M或N值)可以从编码器发送到解码器。在一些实施例中,分区位置可以在解码器侧通过模板匹配方法导出(下面参考图7A-B进行描述)。
在一些实施例中,帧内编解码或帧间编解码的块可以由任意TT或QT边界划分以便简化编解码操作。在一些实施例中,由任意TT或QT边界创建的分区通过使用残差跳过模式或变换跳过模式进行编解码以便简化或绕过变换操作。由变换跳过模式编解码的分区对其预测残差进行编解码和发送,而无需变换到另一个域(例如,变换步骤被跳过)。由残差跳过模式编解码的分区只发送它的预测信息(例如,帧间预测运动信息,帧内预测方向),而不发送预测残差(残差生成步骤被跳过)。在一些实施例中,用于任意边界TT或QT分割的一些分割维度不被允许用于帧内编解码。允许的分区是块的宽度或高度为二次幂的分区,以便现有的变换核可以应用于这些分区或子CU以完成编解码处理。
C.类似GPM分区
在一些实施例中,父块可以被倾斜的分区边界(不是水平边界或垂直边界)划分成两个或更多个部分。这样的划分边界可以是由角度参数和偏移参数指定的任意直线,即以类似于几何划分模式(GPM)的方式。图6A-B展示出通过任意直线对块的划分。图6A展示出将块610双向划分为部分A和B。分区A和B可以是具有单独编解码流的不同CU,例如单独编解码模式、单独候选列表和/或单独残差编解码。残差编解码可以与变换跳过一起应用。否则,可以对分区块应用残差跳过以完成编解码处理。
在一些实施例中,图片/图块/片段/CTU-行/CTU报头可用于打开或关闭类似GPM的分区。视频编解码器可以基于内容相关特性来设置分区控制。例如,编码器可以执行图片分析(例如,MV场分析)以决定是否打开类似GPM的分区。
在一些实施例中,TT分割也可以为类似GPM,使得两条倾斜的直线可以将CU分成三个部分。图6B展示出将块620三路分割成部分A、B和C。由于通过类似GPM的分割创建的分区是非二次幂块,残差跳过和/或变换跳过可用于编码这些分区。
D.隐式导出的任意分区位置
在一些实施例中,分区位置(例如,N值)可以从编码器显式地地发送至解码器。在一些实施例中,分区位置可以通过模板匹配方法在解码器侧被隐式地导出。图7A-B概念性地展示出用于导出当前块700的分区位置的模板匹配方法。当前块通过任意分区位置N被BT分割成分区710和720。分区710具有对应的已经重构相邻样本的相应模板715。分区720具有已经重构的相邻样本的相应模板725。
图7A展示出当当前块700被帧内编解码时导出分区位置。如图所示,分区710通过第一帧内预测方向或模式(intra1)进行帧内编解码,而分区720通过第二帧内预测方向或模式(intra2)进行帧内编解码。(这两个分区也可以共享相同的帧内预测方向或模式。)帧内预测方向“intra1”用于识别相邻像素730以与范本715匹配以生成匹配成本“cost1”。帧内预测方向“intra2”用于识别相邻像素730以与范本725匹配以生成匹配成本“cost2”。匹配成本“cost1”与“cost2”相加以计算使用特定N值作为分割块700的分区位置的成本。编码器和解码器将独立导出导致最低cost1+cost2值的N值作为块700的分区位置。
图7B展示出当当前块700被帧间编解码时导出分区位置。如图所示,分区710由第一运动向量(MV1)进行帧间编解码,分区720由第二运动向量(MV2)进行帧间编解码。(这两个分区也可以共享相同的运动向量。)运动向量MV1用于识别参考像素集合718,参考像素集合718对应于参考图片719中的模板715,而运动向量MV2用于识别参考像素集合728,参考像素集合728对应于参考图片729中的模板725。参考像素718用于生成对应于范本715的匹配成本“cost1”,而参考像素728用于生成对应于范本725的匹配成本“cost2”。Cost1和Cost2被相加在一起以计算使用N的特定值作为用于分割块700的分区位置的成本。编码器和解码器都将独立地导出导致最低cost1+cost2值的N值作为块700的分区位置。
具有任意边界的BT划分对于许多不同类型的视频内容是有益的,因为对象边界通常不落在父块的中间(传统的VBT、HBT情况不能完美匹配)。在一些实施例中,可以对不同的粒度(granularity)水平打开或关闭任意边界BT分割,例如,CTU/CTU-行(row)/图块/片段/图片/GOP(图片组)。
在一些实施例中,任意BT边界(例如,非二次幂)仅被允许用于由残差或变换跳过模式编解码的块以便简化或绕过变换操作。在一些实施例中,任意BT边界被允许用于通过帧间模式编解码的块以便简化编解码操作。
在一些实施例中,隐式导出的任意边界BT分割的一些分割维度不被允许。例如,将32x32的块拆分成7x32和25x32的分区不允许进行帧内编解码,但是将32x32的块拆分成16x32和16x32的分区允许进行帧内编解码。允许的分区是块的宽度或高度仍然是二次幂的分区,这样现有的变换核可以应用于这些分区或子CU以完成编解码处理。
E.角分区
在一些实施例中,父CU可以被划分成2个分区,使得一个分区是角矩形块而另一个分区是剩余的L形分区。图8展示出将父块800划分为角块810和L形剩余部分820。父块和角块810之间的比率可以是2:1,4:1或其他比率。在一些实施例中,分区位置(N或M值)可以从编码器发送到解码器。在一些实施例中,分区位置可以在解码器侧通过参考上述图7A-B描述的范本匹配方法导出。
在一些实施例中,L形分区820的残差变换可以通过将L形填充成矩形以及由常规变换核变换来执行。在一些实施例中,可以通过将L形分区820划分为两个矩形子残差块以及分别执行变换来执行残差变换。在一些实施例中,L形分区820的残差变换可以通过使用一个专门设计的L形变换核来执行,以及视频编解码器可以根据行或列的长度适应性地选择变换核。在一些实施例中,L形分区通过使用残差跳过或变换跳过进行编解码。
图9概念性地展示出可以用于选择变换核的L形分区的参数。该图展示出2Nx2N的CU 900。CU 900具有N×N的角分区910和L形剩余部分920。当对CU 900应用水平变换时,L形920的上部首先应用宽度为2N的变换核,下部应用宽度为N的变换核。以类似的方式,当对CU900应用垂直变换时,首先对左侧部分应用高度为2N的变换核,对右侧部分应用高度为N的变换核。
F.大块内的块
在一些实施例中,可以使用“大块内的块”分区。图10展示出通过块内较大块分割进行划分的块。如图所示,CU 1000被划分为内部矩形部分1010和外包围剩余部分1020。块内大块划分可以促进特定类型内容的编解码增益,这些内容不能轻易地由BT/QT/TT划分。在一些实施例中,内部矩形部分1010的位置(例如,作为相对于父块的左上角的偏移)从编码器发送给解码器。
在一些实施例中,外包围部分1020的残差变换可以通过填充中间的孔来执行,以创建要通过常规变换进行变换的矩形。在一些实施例中,残差变换可以通过将外包围部分1020划分为若干矩形子残差块以及分别进行变换来进行。在一些实施例中,外包围部分1020的残差变换可以通过使用一个专门设计的外包围变换核来执行,以及视频编解码器可以根据行或列的长度适应性地选择变换核。在一些实施例中,外包围部分1020通过使用跳过方法进行编解码,例如残差跳过或变换跳过。
G.神经网络的分割标志预测
在一些实施例中,神经网络(neural networks,简称NN)被用于预测一个父CU的分割标志,分割标志例如上面部分I中介绍的那些。图11概念性地展示出使用神经网络来预测用于划分像素块的分割标志。如图所示,CTU 1100的内容用作神经网络1110的输入。当前CU区域1120在解码器侧不可用作神经网络1110的输入,因为CU 1120尚未被解码。在神经网络分析之后,分割标志完全或部分地基于神经网络1110生成的结果生成。当前CU区域1120可以基于预测的分割标志被进一步分割。
神经网络的输入是当前区域的相邻样本的大范围像素,网络的输出是当前区域的分割标志的估计预测结果。当前父CU是将需要预测分割标志的当前区域。预测的分割标志用于决定如何分割当前的“父CU”。
在一些实施例中,用于分割标志预测的神经网络在解码器侧实现和应用。在一些实施例中,解码器部分地基于预测结果做出其分割决定。换句话说,解码器依赖于编码器显式地发出的信息以及神经网络产生的分割标志预测。例如,编码器可以只向解码器发送BT分割标志,而没有对HBT或VBT的显式发送。解码器根据神经网络输出做出HBT和VBT之间的划分决策。
在一些实施例中,编码器和解码器使用神经网络预测结果来决定所有分割方向中的排序,然后编码器可以发送索引以指示基于神经网络决定的排序的分割方向。在一些实施例中,HBT和VBT分割决策最初按神经网络预测结果排序。例如,如果排序后HBT优于VBT,则编码器和解码器均将HBT指定为索引0,将VBT指定为索引1。编码器可以发送索引0,解码器可以理解这一点以选择HBT。这种重新排序方案用于降低在上下文编解码(例如,CABAC编解码)之后发送分割标志的语法速率。
神经网络也可以用于决定非对称分区模式(ABT/AQT/ATT)下的分区位置。神经网络对上述基于模板的决定CU分区位置的方法提供了一种可选方法。
前述提出的方法可以在编码器和/或解码器中实现。例如,所提出的方法可以在编码器的帧间编解码模块和/或解码器的帧间编解码模块中实现。例如,所提出的方法可以在编码器的帧内编解码模块和/或解码器的帧内编解码模块中实现。例如,所提出的方法可以在编码器的树分割编解码模块和/或解码器的树分割编解码模块中实现。
Ⅲ、示例视频编码器
图12展示出可以实现任意分区边界的示例视频编码器1200。如图所示,视频编码器1200从视频源1205接收输入视频信号以及将信号编码成比特流1295。视频编码器1200具有用于对来自视频源1205的信号进行编码的若干组件或模块,至少包括选自以下的一些组件:变换模块1210,量化模块1211,逆量化模块1214,逆变换模块1215,帧内估计模块1220,帧内预测模块1225,运动补偿模块1230,运动估计模块1235,环路滤波器1245,重构图片缓冲器1250,MV缓冲器1265,MV预测模块1275和熵编码器1290。运动补偿模块1230和运动估计模块1235是帧间预测模块1240的一部分。
在一些实施例中,模块1210-1290是由计算设备或电子装置的一个或多个处理单元(例如,处理器)执行的软件指令模块。在一些实施例中,模块1210-1290是由电子装置的一个或多个集成电路(integrated circuit,简称IC)实现的硬件电路模块。尽管模块1210-1290被示为单独的模块,但一些模块可以组合成单个模块。
视频源1205提供原始视频信号,其呈现每个视频帧的像素数据而不进行压缩。减法器1208计算视频源1205的原始视频像素数据与来自运动补偿模块1230或帧内预测模块1225的预测像素数据1213之间的差值。变换模块1210将差值(或残差像素数据或残差信号)转换成变换系数(例如,通过执行离散余弦变换或DCT)。量化模块1211将变换系数量化成量化资料(或量化系数)1212,其由熵编码器1290编码成比特流1295。
逆量化模块1214对量化数据(或量化系数)1212进行去量化以获得变换系数,以及逆变换模块1215对变换系数执行逆变换以产生重构残差1219。重构残差1219与预测像素数据1213相加一起产生重构的像素数据1217。在一些实施例中,重构的像素数据1217被临时存储在行缓冲器(line buffer未展示出)中用于帧内预测和空间MV预测。重构像素由环路滤波器1245滤波并被存储在重构图片缓冲器1250中。在一些实施例中,重构图片缓冲器1250是视频编码器1200外部的内存。在一些实施例中,重构图片缓冲器1250是视频编码器1200内部的内存。
帧内估计模块1220基于重构的像素数据1217执行帧内预测以产生帧内预测数据。帧内预测数据被提供至熵编码器1290以被编码成比特流1295。帧内预测数据还被帧内预测模块1225用来产生预测像素数据1213。
运动估计模块1235通过产生MV以参考存储在重构图片缓冲器1250中的先前解码帧的像素数据来执行帧间预测。这些MV被提供至运动补偿模块1230以产生预测像素数据。
视频编码器1200不是对比特流中的完整实际MV进行编码,而是使用MV预测来生成预测的MV,以及用于运动补偿的MV与预测的MV之间的差值被编码为残差运动数据并存储在比特流1295。
基于为编码先前视频帧而生成的参考MV,即用于执行运动补偿的运动补偿MV,MV预测模块1275生成预测的MV。MV预测模块1275从MV缓冲器1265中获取来自先前视频帧的参考MV。视频编码器1200将对当前视频帧生成的MV存储在MV缓冲器1265中作为用于生成预测MV的参考MV。
MV预测模块1275使用参考MV来创建预测的MV。预测的MV可以通过空间MV预测或时间MV预测来计算。预测的MV和当前帧的运动补偿MV(MC MV)之间的差值(残差运动数据)由熵编码器1290编码到比特流1295中。
熵编码器1290通过使用诸如上下文适应性二进制算术编解码(context-adaptivebinary arithmetic coding,简称CABAC)或霍夫曼编码的熵编解码技术将各种参数和数据编码到比特流1295中。熵编码器1290将各种报头元素、标志连同量化的变换系数1212和作为语法元素的残差运动数据编码到比特流1295中。比特流1295继而被存储在存储设备中或通过比如网络等通信媒介传输到解码器。
环路滤波器1245对重构的像素数据1217执行滤波或平滑操作以减少编解码的伪影,特别是在像素块的边界处。在一些实施例中,所执行的滤波操作包括样本适应性偏移(sample adaptive offset,简称SAO)。在一些实施例中,滤波操作包括适应性环路滤波器(adaptive loop filter,简称ALF)。
图13展示出实现任意分区边界的视频编码器1200的部分。分区引擎1310可以对熵编码器1290生成分区信息集合1320。在不同级别的视频层级(例如,序列,图片,片段,块),熵编码器1290将分区信息集合1320作为语法元素编码或发送到比特流1295。分区引擎1310还向变换模块1210提供分区结构1330,因此变换模块可以根据分区结构1330对预测残差1209执行变换操作以产生量化系数1212。例如,变换模块1210可以将不同的变换核用于L形分区的不同部分。
分区引擎1310可以通过使用模板匹配引擎1315来计算与那些不同的分区位置相关联的成本来测试不同的分区位置。具体地,分区引擎1310可以向模板匹配引擎1315指定由分区位置创建的分区1350,以及接收指定的分区1350的范本成本1355。基于接收到的由不同分区位置创建的不同分区的模板成本,分区引擎1310决定最佳(最低成本)分区位置。最佳分区位置作为分区结构1330的一部分被提供。
模板匹配引擎1315获取存储在重构图片缓冲器1250中的样本以构建用于指定分区1350的范本。模板匹配引擎1315还从重构图片缓冲器1250获取对应于模板的参考样本,基于分配给分区的预测模式。预测模式可以是帧内估计模块1220提供的帧内预测方向或运动估计模块1235提供的运动向量。然后,模板匹配模块1315将构建的模板与获取的参考样本进行比较以生成指定的分区1350的范本成本1355。
在一些实施例中,如果分区结构1330指示不具有相应变换核的分区(例如,不具有不是二次幂的维度),则分区的预测残差1209未被变换(变换跳过),而是直接提供给熵编码器1290以在比特流1295中编码和发送。在一些实施例中,预测残差1209也未被发送(残差跳过),以及分区的编码完全基于分区的预测模式。
图14概念性地展示出用于导出用于任意分区的分区位置的处理1400。在一些实施例中,实现编码器1200的计算设备的一个或多个处理单元(例如,处理器)通过执行存储在计算机可读介质中的指令来执行处理1400。在一些实施例中,实现编码器1200的电子装置执行处理1400。
编码器接收(在块1410)像素块的数据,该像素块的数据将被编码为当前图片中的当前块。
编码器通过识别具有最低成本的分区位置来导出(在块1420处)用于分割当前块的分区结构。编码器根据识别的分区位置将当前块分割(在块1430)为第一分区和第二分区。在一些实施例中,编码器还发送导出的分区位置。分区位置可用于指定四叉树(QT)、二叉树(BT)或三叉树(TT)的分区边界。分区结构可以指定用于分割当前块的直线的偏移量和角度(例如,类GPM)。
当前块的宽度和高度可以是二次幂的整数,而分区位置是在非二次幂的整数像素位置。第一分区可以是当前块的角处的第一矩形区域,第二分区是当前块减去第一分区的L形剩余区域。第一分区可以是完全在当前块内的第一矩形区域,第二分区是当前块的四边包围第一矩形区域的剩余区域。
在一些实施例中,第一分区和第二分区分别与第一模板和第二模板(例如,模板715和725)相关联,第一模板和第二模板基于与当前块相邻的像素重构。因此,编码器可以通过计算基于第一模板的第一成本和基于第二模板的第二成本以及优化分区位置以最小化第一和第二成本的总和来识别分区位置。编码器可以通过将第一模板与第一参考像素集合进行匹配来计算第一成本,该第一参考像素集合为当前图片中第一分区的第一帧内预测模式识别的参考像素,以及通过将第二模板与第二参考像素集合进行匹配来计算第二成本,该第二参考像素集合为当前图片中由第二分区的第二帧内预测模式识别的参考像素。编码器可以通过将第一模板与第一参考像素集合进行匹配来计算第一成本,该第一参考像素集合为第一参考图片中由第一分区的第一运动向量识别的参考像素,以及通过将第二模板与第二参考像素集合进行匹配来计算第二成本,该第二参考像素集合为第二参考图片中由第二分区的第二运动向量识别的参考像素。
编码器对当前块的第一和第二分区进行编码(在块1440)。当分区没有相应的变换核(例如,具有不是二次幂的维度)时,第一或第二分区的样本可以被编码为预测残差而不被变换(变换跳过),或者第一分区或第二分区的样本可以由预测进行编码而不发送预测残差(残差跳过)。
Ⅳ、示例视频解码器
在一些实施例中,编码器可以发送(或生成)比特流中的一个或多个语法元素,使得解码器可以从比特流中解析所述一个或多个语法元素。
图15展示出可以实现任意分区边界的示例视频解码器1500。如图所示,视频解码器1500是图像解码或视频解码电路,该图像解码或视频解码电路接收比特流1595以及将比特流的内容解码为视频帧的像素数据以供显示。视频解码器1500具有用于解码比特流1595的若干组件或模块,包括选自以下的一些组件:逆量化模块1511,逆变换模块1510,帧内预测模块1525,运动补偿模块1530,环路滤波器的1545,解码图片缓冲器1550,MV缓冲器1565,MV预测模块1575和解析器1590。运动补偿模块1530是帧间预测模块1540的一部分。
在一些实施例中,模块1510-1590是由计算设备的一个或多个处理单元(例如,处理器)执行的软件指令模块。在一些实施例中,模块1510-1590是由电子设备的一个或多个IC实现的硬件电路模块。尽管模块1510-1590被示为单独的模块,但一些模块可以组合成单个模块。
解析器1590(或熵解码器)接收比特流1595以及根据由视频编码或图像编码标准定义的语法执行初始解析。解析的语法元素包括各种报头元素、标志以及量化数据(或量化系数)1512。解析器1590通过使用熵编解码技术(例如上下文适应性二进制算术编解码(context-adaptive binary arithmetic coding,简称ABAC)或霍夫曼编码(Huffmanencoding)解析出各种语法元素。
逆量化模块1511对量化数据(或量化系数)1512进行去量化以获得变换系数,以及逆变换模块1510对变换系数1516进行逆变换以产生重构残差信号1519。重构残差信号1519与来自帧内预测模块1525或运动补偿模块1530的预测像素数据1513相加以产生解码像素数据1517。解码像素数据由环路滤波器1545滤波以及存储在解码图片缓冲器1550中。在一些实施例中,解码图片缓冲器1550是视频解码器1500外部的内存。在一些实施例中,解码图片缓冲器1550是视频解码器1500内部的内存。
帧内预测模块1525从比特流1595接收帧内预测数据,以及据此,从存储在解码图片缓冲器1550中的解码像素数据1517产生预测像素数据1513。在一些实施例中,解码像素数据1517也被存储在行缓冲器(未展示出)中,用于帧内预测和空间MV预测。
在一些实施例中,解码图片缓冲器1550的内容用于显示。显示设备1555或者获取解码图像缓冲器1550的内容以直接显示,或者获取解码图像缓冲器的内容到显示缓冲器。在一些实施例中,显示设备通过像素传输从解码图片缓冲器1550接收像素值。
运动补偿模块1530根据运动补偿MV(MC MV)从解码图片缓冲器1550中存储的解码像素数据1517产生预测像素数据1513。通过将从比特流1595接收的残差运动数据与从MV预测模块1575接收的预测MV相加,这些运动补偿MV被解码。
MV预测模块1575基于为解码先前视频帧而生成的参考MV(例如,用于执行运动补偿的运动补偿MV)生成预测的MV。MV预测模块1575从MV缓冲器1565中获取先前视频帧的参考MV。视频解码器1500将用于解码当前视频帧而生成的运动补偿MV存储在MV缓冲器1565中作为用于产生预测MV的参考MV。
环路滤波器1545对解码的像素数据1517执行滤波或平滑操作以减少编解码的伪影,特别是在像素块的边界处。在一些实施例中,所执行的滤波操作包括样本适应性偏移(sample adaptive offset,简称SAO)。在一些实施例中,滤波操作包括适应性环路滤波器(adaptive loop filter,简称ALF)。
图16展示出实现任意分区边界的视频解码器1500的部分。分区引擎1610可以从熵解码器1590接收分区信息集合1620。熵解码器1590可以基于在视频层级的不同层级(例如,序列,图片,片段,块)中比特流1595的语法元素来解码分割信息集合1620。分区引擎1610向逆变换模块1510提供分区结构1630,因此逆变换模块可以基于量化系数1512执行逆变换操作以根据分区结构1630产生预测残差1509。例如,逆变换模块1510可以将不同的变换核用于L形分区的不同部分。
分区引擎1610可以通过使用模板匹配引擎1615来计算与那些不同的分区位置相关联的成本来测试不同的分区位置。具体地,分区引擎1610可以向模板匹配引擎1615指定由分区位置创建的分区1650,以及接收指定的分区1650的范本成本1655。基于接收到的由不同分区位置创建的不同分区的模板成本,分区引擎1610决定最佳(最低成本)分区位置。最佳分区位置作为分区结构1630的一部分被提供。
模板匹配引擎1615获取存储在重构图片缓冲器1550中的样本以构建用于指定分区1650的范本。模板匹配引擎1615还从重构图片缓冲器1550获取对应于模板的参考样本,基于分配给分区的预测模式。预测模式可以是熵解码器1590提供的帧内预测方向或运动向量。然后,模板匹配模块1615将构建的模板与获取的参考样本进行比较以生成指定的分区1650的范本成本1655。
在一些实施例中,如果分区结构1630指示分区不具有对应的变换核(例如,具有不是二次幂的维度),则分区的预测残差1509不被变换(变换跳过),而是直接从熵解码器1590接收。在一些实施例中,预测残差1509未被发送(残差跳过),以及分区的解码完全基于分区的预测模式。
图17概念性地展示出用于导出任意分区的分区位置的处理1700。在一些实施例中,实现解码器1500的计算设备的一个或多个处理单元(例如,处理器)通过执行存储在计算机可读介质中的指令来执行处理1700。在一些实施例中,实现解码器1500的电子装置执行处理1700。
解码器接收(在块1710)像素块的数据,该像素块的数据将被解码为视频的当前图片中的当前块。
解码器通过识别具有最低成本的分区位置来导出(在块1720处)用于分割当前块的分区结构。解码器根据识别的分区位置将当前块分割(在块1730)为第一分区和第二分区。在一些实施例中,解码器从编码器接收分区位置。分区位置可用于指定四叉树(QT)、二叉树(BT)或三叉树(TT)的分区边界。分区结构可以指定用于分割当前块的直线的偏移量和角度(例如,类GPM)。
当前块的宽度和高度可以是二次幂的整数,而分区位置是在非二次幂的整数像素位置。第一分区可以是当前块的角处的第一矩形区域,第二分区是当前块减去第一分区的L形剩余区域。第一分区可以是完全在当前块内的第一矩形区域,第二分区是当前块的四边包围第一矩形区域的剩余区域。
在一些实施例中,第一分区和第二分区分别与第一模板和第二模板(例如,模板715和725)相关联,第一模板和第二模板基于与当前块相邻的像素重构。因此,编码器可以通过计算基于第一模板的第一成本和基于第二模板的第二成本以及优化分区位置以最小化第一和第二成本的总和来识别分区位置。解码器可以通过将第一模板与第一参考像素集合进行匹配来计算第一成本,该第一参考像素集合为当前图片中第一分区的第一帧内预测模式识别的参考像素,以及通过将第二模板与第二参考像素集合进行匹配来计算第二成本,该第二参考像素集合为当前图片中由第二分区的第二帧内预测模式识别的参考像素。解码器可以通过将第一模板与第一参考像素集合进行匹配来计算第一成本,该第一参考像素集合为第一参考图片中由第一分区的第一运动向量识别的参考像素,以及通过将第二模板与第二参考像素集合进行匹配来计算第二成本,该第二参考像素集合为第二参考图片中由第二分区的第二运动向量识别的参考像素。
解码器对当前块的第一和第二分区进行重构(在块1740)。当分区没有相应的变换核(例如,具有不是二次幂的维度)时,第一或第二分区的样本可以被编解码为预测残差而不被变换(变换跳过),或者第一分区或第二分区的样本可以由预测进行编解码而不发送预测残差(残差跳过)。在这些情况下,解码器可以绕过逆变换操作。然后,解码器可以提供重构的当前块以作为重构的当前图片的一部分进行显示。
Ⅴ、示例电子系统
许多上述特征和应用被实现为软件处理,这些软件处理被指定为记录在计算机可读存储介质(也称为计算机可读介质)上的一组指令。当这些指令由一个或多个计算或处理单元(例如,一个或多个处理器、处理器内核或其他处理单元)执行时,它们使处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于只读光盘驱动器(compact discread-only memory,简称CD-ROM)、闪存驱动器、随机存取内存(random-access memroy,简称RAM)芯片、硬盘驱动器、可擦除可程序设计只读存储器(erasable programmble read-only memory,简称EPROM)、电可擦除可程序设计只读存储器(electrically erasableproagrammble read-only memory,简称EEPROM)等。计算机可读介质不包括通过无线或有线连接传递的载波和电子信号。
在本说明书中,术语“软件”意在包括驻留在只读存储器中的固件或存储在磁内存中的应用程序,其可以读入内存以供处理器处理。此外,在一些实施例中,多个软件发明可以实现为更大程序的子部分,同时保留不同的软件发明。在一些实施例中,多个软件发明也可以实现为单独的程序。最后,共同实现此处描述的软件发明的单独程序的任一组合都在本公开的范围内。在一些实施例中,软件程序,在被安装以在一个或多个电子系统上运行时,定义一个或多个特定机器实施方式,该实施方式处理和执行软件程序的操作。
图18概念性地展示出了实现本公开的一些实施例的电子系统1800。电子系统1800可以是计算机(例如,台式计算机、个人计算机、平板计算机等)、电话、PDA或任一其他类型的电子设备。这种电子系统包括各种类型的计算机可读介质和用于各种其他类型的计算机可读介质的接口。电子系统1800包括总线1805,处理单元1810,图形处理单元(graphics-processing unit,简称GPU)1815,系统内存1820,网络1825,只读存储器1830,永久存放设备1835,输入设备1840和输出设备1845。
总线1805共同表示与电子系统1800通信地连接的众多内部设备的所有系统、外围设备和芯片组总线。例如,总线1805将处理单元1810与GPU 1815,只读存储器1830,系统内存1820和永久存放设备1835通信地连接。
处理单元1810从这些各种内存单元中获取要执行的指令和要处理的数据,以便执行本公开的处理。在不同的实施例中,处理单元可以是单个处理器或多核处理器。一些指令被传递到GPU 1815并由其执行。GPU 1815可以卸除各种计算或补充由处理单元1810提供的图像处理。
只读存储器(read-only-memory,简称ROM)1830存储由处理单元1810和电子系统的其他模块使用的静态数据和指令。另一方面,永久存放设备1835是读写存放设备。该设备是即使在电子系统1800关闭时也存储指令和数据的非易失性存储单元。本公开的一些实施例使用大容量记忆装置(例如磁盘或光盘及其对应的磁盘驱动器)作为永久存放设备1835。
其他实施例使用卸除式存储设备设备(例如软盘、闪存设备等,及其对应的磁盘驱动器)作为永久存放设备。与永久存放设备1835一样,系统内存1820是读写内存设备。然而,与永久存放设备1835不同,系统内存1820是易失性(volatile)读写内存,例如随机存取内存。系统内存1820存储处理器在运行时使用的一些指令和数据。在一些实施例中,根据本公开的处理被存储在系统内存1820、永久存放设备1835和/或只读存储器1830中。例如,根据本公开的一些实施例,各种内存单元包括用于根据处理多媒体剪辑的指令。从这些各种内存单元中,处理单元1810获取要执行的指令和要处理的数据,以便执行一些实施例的处理。
总线1805还连接到输入设备1840和输出设备1845。输入设备1840使用户能够向电子系统传达信息和选择命令。输入设备1840包括字母数字元元键盘和定点设备(也被称为“游标控制设备”)、照相机(例如,网络摄像头)、麦克风或用于接收语音命令的类似设备等。输出设备1845显示由电子系统生成的图像或者输出数据。输出设备1845包括打印机和显示设备,例如阴极射线管(cathode ray tubes,简称CRT)或液晶显示器(liquid crystaldisplay,简称LCD),以及扬声器或类似的音讯输出设备。一些实施例包括用作输入和输出设备的设备,例如触摸屏。
最后,如图18所示,总线1805还通过网络适配器(未展示出)将电子系统1800耦合到网络1825。以这种方式,计算机可以是计算机网络(例如局域网(“LAN”)、广域网(“WAN”)或内部网络的一部分,或者是多种网络的一个网络,例如互联网。电子系统1800的任一或所有组件可以与本公开结合使用。
一些实施例包括电子组件,例如微处理器、存储装置和内存,其将计算机程序指令存储在机器可读或计算机可读介质(或者被称为计算机可读存储介质、机器可读介质或机器可读存储介质)中。这种计算机可读介质的一些示例包括RAM、ROM、只读光盘(read-onlycompact discs,简称CD-ROM)、可记录光盘(recordable compact discs,简称CD-R)、可重写光盘(rewritable compact discs,简称CD-RW)、只读数字多功能光盘(read-onlydigital versatilediscs)(例如,DVD-ROM,双层DVD-ROM),各种可刻录/可重写DVD(例如,DVD-RAM,DVD-RW,DVD+RW等),闪存(例如,SD卡,迷你SD卡、微型SD卡等)、磁性和/或固态硬盘驱动器、只读和可记录光盘、超密度光盘、任一其他光学或磁性介质以及软盘。计算机可读介质可以存储可由至少一个处理单元执行以及包括用于执行各种操作的指令集合的计算机程序。计算机程序或计算机代码的示例包括诸如由编译程序产生的机器代码,以及包括由计算机、电子组件或使用注释器(interpreter)的微处理器执行的高级代码的文档。
虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但许多上述特征和应用由一个或多个集成电路执行,例如专用集成电路(application specific integratedcircuit,简称ASIC)或现场可程序设计门阵列(field programmable gate array,简称FPGA)。在一些实施例中,这样的集成电路执行存储在电路本身上的指令。此外,一些实施例执行存储在可程序设计逻辑器件(programmable logic device,简称PLD)、ROM或RAM器件中的软件。
如在本说明书和本申请的任一权利要求中使用的,术语“计算机”、“服务器”、“处理器”和“内存”均指电子或其他技术设备。这些术语不包括人或人群。出于本说明书的目的,术语显示或显示是指在电子设备上显示。如在本说明书和本申请的任何权利要求中所使用的,术语“计算机可读介质”、“计算机可读介质”和“机器可读介质”完全限于以计算机可读形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号和任何其他短暂信号。
虽然已经参考许多具体细节描述了本公开,但是本领域的普通技术人员将认识到,本公开可以以其他特定形式实施而不背离本公开的精神。此外,许多图(包括图14和图17)概念性地说明了处理。这些处理的具体操作可能不会按照所示和描述的确切顺序执行。具体操作可以不是在一个连续的一系列操作中执行,在不同的实施例中可以执行不同的具体操作。此外,该处理可以使用几个子处理来实现,或者作为更大的宏处理的一部分来实现。因此,本领域的普通技术人员将理解本公开不受前述说明性细节的约束,而是由所附权利要求限定。
补充说明
本文所描述的主题有时表示不同的组件,其包含在或者连接到其他不同的组件。可以理解的是,所描述的结构仅是示例,实际上可以由许多其他结构来实施,以实现相同的功能,从概念上讲,任何实现相同功能的组件的排列实际上是“相关联的”,以便实现所需功能。因此,不论结构或中间部件,为实现特定的功能而组合的任何两个组件被视为“相互关联”,以实现所需的功能。同样,任何两个相关联的组件被看作是相互“可操作连接”或“可操作耦接”,以实现特定功能。能相互关联的任何两个组件也被视为相互“可操作地耦接”,以实现特定功能。能相互关联的任何两个组件也被视为相互“可操作地耦合”以实现特定功能。可操作连接的具体例子包括但不限于物理可配对和/或物理上相互作用的组件,和/或无线可交互和/或无线上相互作用的组件,和/或逻辑上相互作用和/或逻辑上可交互的组件。
此外,关于基本上任何复数和/或单数术语的使用,本领域的普通技术人员可以根据上下文和/或应用从复数变换为单数和/或从单数到复数。为清楚起见,本发明明确阐述了不同的单数/复数排列。
此外,本领域的普通技术人员可以理解,通常,本发明所使用的术语特别是权利要求中的,如权利要求的主题,通常用作“开放”术语,例如,“包括”应解释为“包括但不限于”,“有”应理解为“至少有”“包括”应解释为“包括但不限于”等。本领域的普通技术人员可以进一步理解,若计划介绍特定数量的权利要求内容,将在权利要求内明确表示,并且,在没有这类内容时将不显示。例如,为帮助理解,下面权利要求可能包含短语“至少一个”和“一个或复数个”,以介绍权利要求的内容。然而,这些短语的使用不应理解为暗示使用不定冠词“一个”或“一种”介绍权利要求内容,而约束了任何特定权利要求。甚至当相同的权利要求包括介绍性短语“一个或复数个”或“至少有一个”,不定冠词,例如“一个”或“一种”,则应被解释为表示至少一个或者更多,对于用于介绍权利要求的明确描述的使用而言,同样成立。此外,即使明确引用特定数量的介绍性内容,本领域的普通技术人员可以认识到,这样的内容应被解释为表示所引用的数量,例如,没有其他修改的“两个引用”,意味着至少两个引用,或两个或两个以上的引用。此外,在使用类似于“A、B和C中的至少一个”的表述的情况下,通常如此表述是为了本领域的普通技术人员可以理解该表述,例如,“系统包括A、B和C中的至少一个”将包括但不限于单独具有A的系统,单独具有B的系统,单独具有C的系统,具有A和B的系统,具有A和C的系统,具有B和C的系统,和/或具有A、B和C的系统等。本领域的普通技术人员进一步可理解,无论在说明书中,权利要求中或者附图中,由两个或两个以上的替代术语所表现的任何分隔的单词和/或短语应理解为,包括这些术语中的一个,其中一个,或者这两个术语的可能性。例如,“A或B”应理解为,“A”,或者“B”,或者“A和B”的可能性。
从前述可知,出于说明目的,本发明已描述了各种实施方案,并且在不偏离本发明的范围和精神的情况下,可以进行各种变形。因此,此处所公开的各种实施方式不用于约束,真实的范围和申请由权利要求表示。
Claims (15)
1.一种视频编解码方法,包括:
接收像素块的数据,所述像素块的数据将被编码或解码为视频的当前图片的当前块;
通过识别具有最低成本的分区位置,导出对所述当前块进行分割的分区结构;
根据识别的所述分区位置将所述当前块分割为第一分区和第二分区;以及
对所述当前块的所述第一分区和所述第二分区进行编码或解码。
2.根据权利要求1所述的视频编解码方法,其特征在于,所述当前块的宽度和高度为二次幂的多个整数,所述分区位置为非二次幂整数像素位置。
3.根据权利要求1所述的视频编解码方法,其特征在于,所述第一分区或所述第二分区的多个样本被编解码为预测残差而不被变换。
4.根据权利要求1所述的视频编解码方法,其特征在于,所述第一分区或所述第二分区的多个样本由预测进行编解码而不发送预测残差。
5.根据权利要求1所述的视频编解码方法,其特征在于,所述第一分区和所述第二分区分别第一模板和第二模板相关联,所述第一模板和所述第二模板基于与所述当前块相邻的多个重构像素进行构建,其中识别所述分区位置包括:
基于所述第一范本计算第一成本以及基于所述第二范本计算第二成本;
优化所述分区位置以最小化所述第一成本与所述第二成本的总和。
6.根据权利要求5所述的视频编解码方法,其特征在于,计算所述第一成本包括将所述第一模板与第一参考像素集合相匹配,所述第一参考像素集合为所述当前图片中由所述第一分区的第一帧内预测模式识别的多个参考像素;以及
计算所述第二成本包括将所述第二模板与第二参考像素集合相匹配,所述第二参考像素集合为所述当前图片中由所述第二分区的第二帧内预测模式识别的多个参考像素。
7.根据权利要求5所述的视频编解码方法,其特征在于,计算所述第一成本包括将所述第一模板与第一参考像素集合相匹配,所述第一参考像素集合为第一参考图片中由所述第一分区的第一运动向量识别的多个参考像素;以及
计算所述第二成本包括将所述第二模板与第二参考像素集合相匹配,所述第二参考像素集合为第二参考图片中由所述第二分区的第二运动向量识别的多个参考像素。
8.根据权利要求1所述的视频编解码方法,其特征在于,所述第一分区为所述当前块的角的第一矩形区域,所述第二分区为所述当前块中减去所述第一分区的L形剩余区域。
9.根据权利要求1所述的视频编解码方法,其特征在于,所述第一分区为完全位于所述当前块内的第一矩形区域,所述第二分区为所述当前块中四边包围所述第一矩形区域的剩余区域。
10.根据权利要求1所述的视频编解码方法,其特征在于,进一步包括发送识别的所述分区位置。
11.根据权利要求1所述的视频编解码方法,其特征在于,所述分区位置用于指定四叉树,二叉树,或三叉树的分区边界。
12.根据权利要求1所述的视频编解码方法,其特征在于,所述分区结构指定用于分割所述当前块的直线的偏移量和角度。
13.一种电子设备,包括:
视频编解码器电路,被配置为执行多个操作,包括:
接收像素块的数据,所述像素块的数据将被编码或解码为视频的当前图片的当前块;
通过识别具有最低成本的分区位置,导出对所述当前块进行分割的分区结构;
根据识别的所述分区位置将所述当前块分割为第一分区和第二分区;以及
对所述当前块的所述第一分区和所述第二分区进行编码或解码。
14.一种视频解码方法,包括:
接收像素块的数据,所述像素块的数据将被解码为视频的当前图片的当前块;
通过识别具有最低成本的分区位置,导出对所述当前块进行分割的分区结构;
根据识别的所述分区位置将所述当前块分割为第一分区和第二分区;以及
对所述当前块的所述第一分区和所述第二分区进行重构。
15.一种视频编码方法,包括:
接收像素块的数据,所述像素块的数据将被编码为视频的当前图片的当前块;
通过识别具有最低成本的分区位置,导出对所述当前块进行分割的分区结构;
根据识别的所述分区位置将所述当前块分割为第一分区和第二分区;以及
对所述当前块的所述第一分区和所述第二分区进行编码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263330343P | 2022-04-13 | 2022-04-13 | |
US63/330,343 | 2022-04-13 | ||
PCT/CN2023/087323 WO2023197998A1 (en) | 2022-04-13 | 2023-04-10 | Extended block partition types for video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118985128A true CN118985128A (zh) | 2024-11-19 |
Family
ID=88328902
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380033156.7A Pending CN118985128A (zh) | 2022-04-13 | 2023-04-10 | 用于视频编解码的扩展块分区类型 |
CN202380029672.2A Pending CN118947115A (zh) | 2022-04-13 | 2023-04-11 | 在视频编解码中使用发送预定分区的cu划分方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380029672.2A Pending CN118947115A (zh) | 2022-04-13 | 2023-04-11 | 在视频编解码中使用发送预定分区的cu划分方法和装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4508845A1 (zh) |
CN (2) | CN118985128A (zh) |
TW (2) | TWI852468B (zh) |
WO (2) | WO2023197998A1 (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113784124B (zh) * | 2014-01-01 | 2024-03-19 | 上海天荷电子信息有限公司 | 使用多种形状子块进行精细划分的块匹配编码和解码方法 |
US20170085886A1 (en) * | 2015-09-18 | 2017-03-23 | Qualcomm Incorporated | Variable partition size for block prediction mode for display stream compression (dsc) |
US10230961B2 (en) * | 2016-06-03 | 2019-03-12 | Mediatek Inc. | Method and apparatus for template-based intra prediction in image and video coding |
US10848788B2 (en) * | 2017-01-06 | 2020-11-24 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
EP3370419B1 (en) * | 2017-03-02 | 2019-02-13 | Axis AB | A video encoder and a method in a video encoder |
CN111937404B (zh) * | 2018-03-26 | 2023-12-15 | 寰发股份有限公司 | 一种用于视频编码器或解码器的视频编解码方法及装置 |
EP3767955B1 (en) * | 2018-04-01 | 2023-08-09 | LG Electronics Inc. | Method for processing image and apparatus therefor |
US11128871B2 (en) * | 2018-04-25 | 2021-09-21 | Panasonic Intellectual Property Corporation Of America | Encoder for adaptively determining information related to splitting based on characteristics of neighboring samples |
US10531124B1 (en) * | 2018-06-25 | 2020-01-07 | Google Llc | Multi-stage coding block partition search |
WO2020175908A1 (ko) * | 2019-02-26 | 2020-09-03 | 엘지전자 주식회사 | 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치 |
US11206417B2 (en) * | 2019-05-30 | 2021-12-21 | Tencent America LLC | Method and apparatus for video coding |
US11496774B2 (en) * | 2019-08-27 | 2022-11-08 | Tencent America LLC | Header syntax for QT/BT/TT size |
-
2023
- 2023-04-10 EP EP23787642.0A patent/EP4508845A1/en active Pending
- 2023-04-10 CN CN202380033156.7A patent/CN118985128A/zh active Pending
- 2023-04-10 WO PCT/CN2023/087323 patent/WO2023197998A1/en active Application Filing
- 2023-04-11 CN CN202380029672.2A patent/CN118947115A/zh active Pending
- 2023-04-11 WO PCT/CN2023/087459 patent/WO2023198013A1/en active Application Filing
- 2023-04-12 TW TW112113622A patent/TWI852468B/zh active
- 2023-04-12 TW TW112113553A patent/TWI866159B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI866159B (zh) | 2024-12-11 |
TWI852468B (zh) | 2024-08-11 |
TW202341737A (zh) | 2023-10-16 |
TW202341736A (zh) | 2023-10-16 |
EP4508845A1 (en) | 2025-02-19 |
CN118947115A (zh) | 2024-11-12 |
WO2023197998A1 (en) | 2023-10-19 |
WO2023198013A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3202150B1 (en) | Rules for intra-picture prediction modes when wavefront parallel processing is enabled | |
TW202017372A (zh) | 圖像以及視訊資料中編碼單元的熵編解碼 | |
JP2017511620A (ja) | オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション | |
CN110839161B (zh) | 扩展四叉树分割的边界处理 | |
US12143601B2 (en) | Specifying layout in video pictures | |
US20230188717A1 (en) | Methods and Apparatuses of Inter Coding for Pictures Partitioned into Subpictures in Video Coding Systems | |
CN118381946A (zh) | 边界强制分区的改进 | |
US11785214B2 (en) | Specifying video picture information | |
TWI866159B (zh) | 視訊編解碼方法及裝置 | |
WO2023202569A1 (en) | Extended template matching for video coding | |
WO2024152957A1 (en) | Multiple block vectors for intra template matching prediction | |
WO2023198187A1 (en) | Template-based intra mode derivation and prediction | |
WO2025011499A1 (en) | Extrapolation intra prediction model inheritance | |
CN114375579B (zh) | 视频编解码方法及装置 | |
WO2024016955A1 (en) | Out-of-boundary check in video coding | |
WO2023198105A1 (en) | Region-based implicit intra mode derivation and prediction | |
WO2023241347A9 (en) | Adaptive regions for decoder-side intra mode derivation and prediction | |
WO2025016275A1 (en) | Storage for cross-component merge mode | |
WO2024037645A1 (en) | Boundary sample derivation in video coding | |
CN119325709A (zh) | 自适应编解码的图像以及视讯数据 | |
TW202408232A (zh) | 更新合併候選的運動屬性 | |
CN119096542A (zh) | 通过多条参考线进行交叉分量预测的线性模型推导 | |
CN119586131A (zh) | 视频编解码中带越界检查的预测生成 | |
TW202402054A (zh) | 用於候選清單的相似性閾值 | |
TW202416713A (zh) | 仿射候選細化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |