CN114501019A - 关于划分预测 - Google Patents
关于划分预测 Download PDFInfo
- Publication number
- CN114501019A CN114501019A CN202111265764.XA CN202111265764A CN114501019A CN 114501019 A CN114501019 A CN 114501019A CN 202111265764 A CN202111265764 A CN 202111265764A CN 114501019 A CN114501019 A CN 114501019A
- Authority
- CN
- China
- Prior art keywords
- block
- partition
- probability
- codec
- partition type
- 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
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/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/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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Discrete Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种由编解码装置实施的关于划分预测的方法。该方法包括获取在分割图片时被实施的划分类型的概率;以及在视频媒体文件和比特流之间的转换期间,在分割图片的编解码块时基于获取的概率跳过一个或多个划分类型。还提供了相应的装置和非暂时性计算机可读介质。
Description
相关申请的交叉引用
本专利申请要求Lemon公司于2020年10月28日提交的美国临时专利申请No.63/106,603的权益,其标题为“关于划分预测”,该申请通过引用并入本文。
技术领域
本公开一般涉及视频编解码,尤其涉及图像/视频编解码中的编码器优化和块划分预测。
背景技术
数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备的数量增加,预期数字视频使用的带宽需求将继续增长。
发明内容
所公开的方面/实施例提供了使用从卷积神经网络(convolutional neuralnetwork,CNN)接收的信息来分割编解码块的技术。这些技术允许编解码装置(例如编码器)比已知技术更有效地分割编解码块。例如,该技术可以包括:当分割编解码块时,忽略被确定为低于预定阈值的划分类型;在标识编解码块的所有可能的分割结构并且考虑预定数量的划分类型和预定深度之后,推导被实施的划分类型的概率;和/或检查使用高于预定阈值的划分类型的编解码块中每个子块的分割结果。因此,相对于现有的编解码解决方案,编解码时间得到了改善。
第一方面涉及一种由编解码装置实施的方法。该方法包括获取在分割图片时实施的划分类型的概率,以及在视频媒体文件和比特流之间的转换期间分割编解码块时基于获得的概率跳过一个或多个划分类型。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了获得被实施的划分类型的概率,还包括基于划分类型边界与编解码块的子块边界一致的概率来推导被实施的划分类型的概率。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了基于概率确定哪些划分类型低于预定阈值,并且当分割编解码块时跳过被确定为低于预定阈值的一个或多个划分类型。
可选地,在前述方面的任何一个中,该方面的另一实施方式提供了划分类型包括非划分类型、四叉树划分类型、二叉树划分类型和三叉树划分类型。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了来自子块边界的第j个子块边界的概率被表示为其中p表示划分类型的概率,其中Non表示非划分划分类型,QT表示四叉树划分类型,BT表示二叉树划分类型,TT表示三叉树划分类型,其中j是{1,2,3,…K}的元素,并且其中K表示编解码块中子块边界的总数。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了划分类型边界与子块边界一致的概率是基于a×b概率向量,其中a表示编解码块的子块的划分类型的总数,并且其中b表示编解码块中的子块边界的总数。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了被实施的划分类型的概率是基于编解码块中所有子块边界、编解码块中子块边界的子集、概率的平均值、概率的加权平均值中的一个。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了基于推导来自划分类型的概率中的一个概率,其中p表示划分类型的概率,其中i表示来自子块边界的子块边界,其中ST表示四叉树划分类型、水平二叉树划分类型、垂直二叉树划分类型、水平三叉树划分类型和垂直三叉树划分类型中的一个,并且其中x表示编解码块中的子块边界的数量。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了获得被实施的划分类型的概率包括接收来自卷积神经网络的输入,该输入标识编解码块的所有可能的分割结构并且考虑预定数量的划分类型和预定深度。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了基于输入推导所有可能的分割结构的概率分布,其中,概率分布包括每个被实施的划分类型的概率。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了标识编解码块的所有可能的分割结构的输入是基于非划分类型、四叉树划分类型、水平二叉树划分类型、垂直二叉树划分类型、水平三叉树划分类型和垂直三叉树划分类型的可能划分的总和。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了获取被实施的划分类型的概率包括接收来自卷积神经网络的输入,该输入标识编解码块的划分类型。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了确定哪些划分类型高于预定阈值,以及检查使用被确定为高于预定阈值的划分类型的编解码块中每个子块的分割结果。
第二方面涉及一种编解码视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中,指令在由处理器执行时使得处理器:获得被实施的划分类型的概率;并且当分割编解码块时,基于获得的概率跳过一个或多个划分类型。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了一个或多个处理器还被配置为基于划分类型边界与编解码块的子块边界一致的概率来推导被实施的划分类型的概率。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了一个或多个处理器还被配置为接收来自卷积神经网络的输入,该输入标识编解码块的所有可能的分割结构并且考虑预定数量的划分类型和预定深度。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了一个或多个处理器还被配置为确定哪些划分类型高于预定阈值,并且检查使用被确定为高于预定阈值的划分类型的编解码块中每个子块的分割结果。
第三方面涉及一种非暂时性计算机可读介质,包括为编解码装置使用的计算机程序产品,该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,当由一个或多个处理器执行时,该指令使得编解码装置:获得被实施的划分类型的概率;并且当分割编解码块时基于获得的概率跳过一个或多个分割类型。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了指令还使得编解码装置基于划分类型边界与编解码块的子块边界一致的概率来推导被实施的划分类型的概率。
可选地,在前述方面的任何一个中,该方面的另一个实施方式提供了指令还使得编解码装置基于来自卷积神经网络的输入来推导所有可能的分割结构的概率分布,该输入标识编解码块的所有可能的分割结构并且考虑预定数量的划分类型和预定深度,其中概率分布包括每个被实施的划分类型的概率。
为了简明,前述实施例中的任何一个可以与其他前述实施例中的任何一个或多个相结合,以在本公开的范围内创建新的实施例。
结合附图和权利要求,从下面的详细描述中将更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本公开,现在结合附图和详细描述参考以下简要描述,其中相同的附图标记表示相同的部件。
图1是编码器的示意图。
图2是多树结构中划分类型的示意图。
图3是视频编解码中使用的方向模式的图示。
图4A-图4B是帧内预测方向和具有附加方向模式的帧内预测模式之间的映射。
图5是宽角度预测的图示。
图6A-图6D示出了在各种预测模式下应用的位置相关帧内预测组合(PDPC)的参考样点的定义的映射。
图7A-图7B示出了两种分割概率的示例。
图8示出了低频不可分离二次变换(LFNST)的示例。
图9A示出了正向和逆向的缩减变换(RT)。
图9B示出了每个子块变换(each subblock transform,SBT)位置的水平和垂直变换。
图10示出了64×64块及其内部基本边界(与4×4块边界对齐)的示例。
图11A-图11E示出了16×16编解码块的五种可能划分的示例。
图12是深度为2的编解码块的集成划分类型的示例图示。
图13示出了隐式划分预测中的映射的示例。
图14示出了隐式划分预测中的映射的示例。
图15示出了用于显式和隐式划分预测的CNN结构的示例。
图16示出了给出所提出的隐式和显式分割预测在特定阈值下的性能的表格。
图17示出了所提出的方案相对于另一种方法表现良好的表格。
图18是根据本公开的实施例的编解码视频数据的方法。
图19是根据本公开的实施例的编解码视频数据的方法。
图20是根据本公开的实施例的编解码视频数据的方法。
图21是示出可以利用本公开的技术的示例视频编解码***的框图。
图22是示出视频编码器的示例的框图,该视频编码器可以是图21所示***中的视频编码器。
图23是示出视频解码器的示例的框图,该视频解码器可以是图21所示***中的视频解码器。
图24是示出其中可以实施本文公开的各种技术的示例视频处理***的框图。
图25是视频处理装置的框图。
图26是根据本公开的实施例的编解码视频数据的方法。
具体实施方式
首先应该理解,尽管下面提供了一个或多个实施例的说明性实施方式,但是所公开的***和/或方法可以使用任何数量的技术来实施,无论是当前已知的还是现有的。本公开不应以任何方式限于以下示出的说明性实施方式、附图和技术,包括本文示出和描述的示例性设计和实施方式,而是可以在所附权利要求及其等同物的全部范围内进行修改。
通用视频编解码(VVC),又称为H.266,是联合视频专家团队(Joint VideoExperts Team,JVET)于2020年7月6日最终确定的视频压缩标准,该JVET是由国际电信联盟电信标准化部门(ITU-T)研究组16的视频编解码专家组(Video Coding Experts Group,VCEG)工作组和国际标准化组织(ISO)/国际电工委员会(IEC)联合技术委员会(JTC)1的运动图片专家组(Moving Picture Experts Group,MPEG)工作组的联合视频专家团队。VVC是高效视频编解码(HEVC)的后继,也称为ITU-T H.265。在一些描述中使用VVC术语只是为了便于理解,而不是为了限制所公开技术的范围。这样,本文描述的技术也适用于其他视频编解码器协议和设计。
本公开涉及图像/视频编解码技术。具体地,本公开涉及图像/视频编解码中的编码器优化和块划分预测。本公开中的技术可以应用于现有的视频编解码标准,诸如,例如HEVC、VVC或第三代音频视频编解码标准(AVS3)。这些技术也可以应用于未来的视频编解码标准或视频编码器。
视频编解码标准主要是通过开发公知的ITU-T和ISO/IEC标准而演变的。ITU-T开发了H.261和H.263,ISO/IEC开发了MPGE标准MPEG-1和MPEG-4视觉,并且两个组织联合开发了H.262/MPEG-2视频、H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了JVET。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。2018年4月,在VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间创建了JVET,其致力于研究VVC标准。VVC标准的目标是相较于HEVC有百分之五十(50%)的比特率下降。VVC版本1于2020年7月定稿。
可以在下述网址找到公开的VVC草案的最新版本,即通用视频编解码草案10:http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=10399。可以在下述网址找到公开的VVC的名为VVC测试模型(VTM)的最新参考软件:https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-10.0。
图1是编码器100的图示,编码器100适合于实施VVC技术。,编码器100包括三个环路滤波器,也就是去方块滤波器(deblocking filter,DF)102、样点自适应偏移(sampleadaptive offset,SAO)104和自适应环路滤波器(adaptive loop filter,ALF)106。与使用预定义滤波器的DF102不同,SAO 104和ALF 106借助于信令通知偏移和滤波器系数的编解码边信息分别通过添加偏移以及应用有限脉冲响应(finite impulse response,FIR)滤波器而利用当前图片的原始样点来减少原始样点和重构样点之间的均方误差。ALF106位于每一图片的最后处理阶段上,并且可以被视为尝试捕捉并且修复先前阶段导致的伪像的工具。
编码器100还包括被配置为接收输入视频的帧内预测组件108和运动估计/补偿组件110。帧内预测组件108被配置为执行帧内预测,而ME/MC组件110被配置为利用从参考图片缓冲区112获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残余块被馈送到变换组件114和量化组件116中,以生成量化的残差变换系数,这些系数被馈送到熵编解码组件118中。熵编解码组件118对预测结果和量化后的变换系数进行熵编解码,并将其发送到视频解码器(未示出)。从量化组件116输出的量化分量可以被馈送到逆量化组件120、逆变换组件122和重建(REC)组件124。REC组件124能够将图像输出到DF 102、SAO 104和ALF106,以便在这些图像被存储在参考图片缓冲器112中之前进行滤波。
图片/条带/片被分区成一系列编解码树单元(CTU)。本文讨论的CTU概念与HEVC的概念相同。对于具有三个样点阵列(例如,非单色情况)的图片,CTU由亮度样点的N×N块和两个对应的色度样点块组成。CTU中亮度块的最大允许尺寸被指定为128×128(尽管亮度变换块的最大尺寸是64×64)。
在HEVC,通过使用被称为编解码树的四元树结构,CTU被划分成编解码单元(coding unit,CU),以适应各种局部特性。关于是使用图像间(时域)预测还是图像内(空域)预测来编解码图片区域的决定是在叶CU级别做出的。根据PU划分类型,每个叶CU可以进一步被划分成一个、两个或四个预测单元(prediction unit,PU)。在一个PU内,应用相同的预测过程,并且在PU的基础上将相关信息传输到解码器。在通过应用基于PU划分类型的预测过程获得残差块之后,可以根据与CU的编解码树类似的另一个四元树结构将叶CU分割成变换单元(TU)。HEVC结构的一个重要特征是HEVC结构具有多重分割概念,包括CU、PU和TU。
在VVC中,使用二元和三元划分分割结构的嵌套多类型树(MTT)的四叉树取代了多个分割单元类型的概念。也就是说,使用二元和三元划分分割结构的MTT移除了CU、PU和TU概念的分离,除了CU可能大于PU的少数情况,例如当CU的尺寸大于最大变换长度时。使用二元和三元划分分割结构的MTT支持CU分割形状的更大灵活性。在编解码树结构中,CU可以是正方形或矩形。CTU首先由四元树(又名四叉树(quadtree)或四叉树(quad tree))结构分割。然后,可以通过多类型树结构进一步分割四元树叶节点。
图2是多树结构中划分类型200的示意图。如图2所示,多类型树结构中有四种划分类型,垂直二元划分(SPLIT_BT_VER)202、水平二元划分(SPLIT_BT_HOR)204、垂直三元划分(SPLIT_TT_VER)206、水平三元划分(SPLIT_TT_HOR)208。多类型树的叶节点被称为编解码单元(CU),并且除非CU对于最大变换长度来说太大,否则这种分割被用于预测和变换处理,而不需要任何进一步的分割。这意味着在大多数情况下,在采用嵌套多类型树的四叉树编解码块结构中,CU、PU和TU具有相同的块尺寸。当支持的最大变换长度小于CU颜色分量的宽度或高度时,就会出现异常。
图3是视频编解码中使用的方向模式300的图示。为了捕捉自然视频中呈现的任意边缘方向,方向帧内模式的数量从HEVC使用的33个扩展到65个。附加的方向模式在图3中用未编号的箭头描绘,并且平面和DC模式保持不变。这些更密集的方向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。
传统的角度帧内预测方向被定义为按顺时针方向从45度到-135度,如图3所示。在第二版VTM测试模型(VTM2)中,对于非正方形块,几个传统的角度帧内预测模式被自适应地替换为宽角度帧内预测模式。被替换的模式使用原始方法信令通知,并在解析后被重新映射到宽角度模式的索引。帧内预测模式的总数量不变,即67,并且帧内模式编解码不变。
在HEVC中,每个帧内编解码块具有正方形形状,并且其每条边的长度是2的幂。因此,在使用方向编解码(DC)模式生成帧内预测值时不需要除法运算。在VVV中,块可以具有矩形形状,这在一般情况下需要对每个块使用除法运算。为了避免DC预测的除法运算,仅使用较长的边来计算非正方形块的平均值。
传统的角度帧内预测方向被定义为按顺时针方向的从45度到-135度。在VTM2中,对于非正方形块,几种传统的角度帧内预测模式被自适应地替换为宽角度帧内预测模式。被替换的模式使用原始方法信令通知,并在解析后被重新映射到宽角度模式的索引。某个块的帧内预测模式的总数量不变,即67,并且帧内模式编解码不变。
图4A和图4B是帧内预测方向和具有附加方向模式的帧内预测模式之间的映射400、450。为了支持所有预测方向,定义了长度为2W+1的顶部参考和长度为2H+1的左侧参考,其中W表示宽度并且H表示高度。
宽角度方向模式中被替换的模式的模式号取决于块的宽高比。表1示出了被替换的帧内预测模式。
表1:被宽角度模式替换的帧内预测模式
条件 | 被替换的帧内预测模式 |
W/H==2 | 模式2,3,4,5,6,7 |
W/H>2 | 模式2,3,4,5,6,7,8,9,10,11 |
W/H==1 | 无 |
H/W==1/2 | 模式61,62,63,64,65,66 |
H/W<1/2 | 模式57,58,59,60,61,62,63,64,65,66 |
图5是宽角度预测500的图示。如图5所示,在使用宽角度帧内预测的情况下,两个垂直毗邻的预测样点可以使用两个非毗邻的参考样点。因此,低通参考样点滤波器和边平滑被应用于宽角度预测,以减少所增加的间距Δpα的负面影响,其中Δp表示在角度α处两个参考样点(例如,参考样点504)之间的距离。
在VTM2中,通过位置相关的帧内预测组合(PDPC)方法进一步修改平面模式的帧内预测结果。PDPC是一种帧内预测方法,其调用未滤波边界参考样点和利用滤波后的边界参考样点的HEVC类型帧内预测的组合。PDPC适用于以下帧内模式,而无需信令通知:平面、DC、水平、垂直、左下角度模式及其八个毗邻角度模式,以及右上角度模式及其八个毗邻角度模式。
使用帧内预测模式(DC、平面、角度)和参考样点的线性组合根据如下等式来预测预测样点pred(x,y):
pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>6
其中,w表示加权因子,L表示左侧,R表示右侧,T表示顶部,Rx,-1和R-1,y分别表示位于当前样点(x,y)顶部和左侧的参考样点,并且R-1,-1表示位于当前块左上角的参考样点。
当PDPC应用于DC、平面、水平和垂直帧内模式时,则不需要附加的边界滤波器,与HEVC DC模式边界滤波器或水平/垂直模式边缘滤波器的情况不同。
图6A-图6D示出了应用于各种预测模式的PDPC的参考样点(Rx,-1,R-1,y和R-1,-1)的定义的映射600、610。预测样点pred(x’,y’)位于预测块650内的(x’,y’)处。参考样点Rx,-1的坐标x由x=x’+y’+1给定,并且参考样点R-1,y的坐标y类似地由y=x’+y’+1给定。
PDPC权重取决于预测模式,如表2所示。
表2:根据预测模式的PDPC权重的示例
在JVET-M0102中,提出了帧内子块分区(Intra subblock partitioning,ISP),其根据块尺寸维度,将亮度帧内预测块垂直或水平地划分为2或4个子分区,如表3所示。
表3:取决于块尺寸的子分区的总数量。
块尺寸 | 子分区数量 |
4×4 | 不划分 |
4×8和8×4 | 2 |
所有其他情况 | 4 |
图7A-图7B示出了两种分割可能性700、710的示例。编解码块740的所有子分区730满足具有至少16个样点的条件。在图7A-图7B中,W表示编解码块740的宽度,并且H表示编解码块740的高度。
对于这些子分区730中的每一个,通过对编码器发送的系数进行熵解码,然后对它们进行逆量化和逆变换,来生成残差信号。然后帧内预测子分区730,并且最终通过将残差信号添加到预测信号来获得相应的重构样点。因此,每个子分区的重构值将可用于生成下一个分区的预测,这将重复该过程等。所有子分区730共享相同的帧内模式。
基于利用的帧内模式和划分,使用了两种不同的处理次序,称为正常次序和相反次序。按照正常次序,要处理的第一个子分区730是包含CU的左上角样点的子分区,然后继续向下(水平划分)或向右(垂直划分)。结果,用于生成子分区预测信号的参考样点仅位于行的左侧和上方。另一方面,相反的处理次序或者从包含CU的左下样点的子分区开始并继续向上,或者从包含CU的右上样点的子分区开始并继续向左。
除了已经在HEVC采用的离散余弦变换II(DCT-II或者DCT-2)之外,多变换选择(MTS)方案被用于帧间和帧内编解码块的残差编解码。MTS使用来自离散余弦变换版本8(DCT8)/离散余弦变换版本7(DCT7)的多个选定变换。新引入的变换矩阵是DST-VII和DCT-VIII。表4示出了所选定的DST/DCT的基函数。
表4:变换类型和基函数
启用MTS有两种方式,一种方式是显式MTS;另一种方式是隐式MTS。
隐式MTS是VVC最近的工具。变量implicitMtsEnabled的推导如下:
是否启用隐式MTS取决于变量implicitMtsEnabled的值。变量implicitMtsEnabled的推导如下:
-如果sps_mts_enabled_flag等于1,并且下列一个或多个条件为真,则implicitMtsEnabled设置为1:
-IntraSubPartitionsSplitType不等于ISP_NO_SPLIT(即,启用ISP)
-cu_sbt_flag等于1(即,启用ISP),并且Max(nTbW,nTbH)小于或等于32
-sps_explicit_mts_intra_enabled_flag等于0(即,禁用显式MTS),并且CuPredMode[0][xTbY][yTbY]等于MODE_INTRA,并且lfnst_idx[x0][y0]等于0,并且intra_mip_flag[x0][y0]等于0
-否则,implicitMtsEnabled设置为等于0。
基于VVC中的表39和表40,规定水平变换内核的变量trTypeHor和规定垂直变换内核的变量trTypeVer的推导如下:
-如果下列一个或多个条件为真,则trTypeHor和trTypeVer设置为等于0(即DCT2)。
-cIdx大于0(即,对于色度分量)
–IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,并且lfnst_idx不等于0
–否则,如果implicitMtsEnabled等于1,则适用以下情况:
–如果cu_sbt_flag等于1,则根据cu_sbt_horizontal_flag和cu_sbt_pos_flag,表40中规定了trTypeHor和trTypeVer。
–否则(cu_sbt_flag等于0),trTypeHor和trTypeVer的推导如下:
trTypeHor=(nTbW>=4&&nTbW<=16)?1:0 (1188)
trTypeVer=(nTbH>=4&&nTbH<=16)?1:0 (1189)
–否则,根据mts_idx,表39中规定了trTypeHor和trTypeVer。
变量nonZeroW和nonZeroH推导如下:
–如果ApplyLfnstFlag等于1、nTbW大于或等于4,并且nTbH大于或等于4,则适用以下情况:
nonZeroW=(nTbW==4||nTbH==4)?4:8 (1190)
nonZeroH=(nTbW==4||nTbH==4)?4:8 (1191)
–否则,适用以下情况:
nonZeroW=Min(nTbW,(trTypeHor>0)?16:32) (1192)
nonZeroH=Min(nTbH,(trTypeVer>0)?16:32) (1193)
为了控制MTS方案,使用一个标志来规定比特流中是否存在帧内/帧间的显式MTS。此外,为帧内和帧间,在序列参数集(SPS)级别分别规定了两个独立的启用标志,以指示是否启用显式MTS。当在SPS级启用MTS时,可以信令通知CU级变换索引,以指示是否应用MTS。这里,MTS仅适用于亮度。当满足以下条件时,信令通知MTS CU级索引(由mts_idx表示)。
–宽度和高度两者都小于或等于32
–CBF亮度标志等于1
–非TS
–非ISP
–非SBT
–禁用LFNST
–存在非零系数且不在DC位置(块的左上角位置)
–在左上角16×16区域之外不存在非零系数。
如果mts_idx的第一个二进制位(bin)等于零,则在两个方向上应用DCT2。然而,如果mts_idx的第一个二进制位等于1,则附加信令通知其他两个二进制位,以分别指示水平和垂直方向的变换类型。变换和信令通知映射表如表5所示。在涉及到变换矩阵精度时,使用8比特主变换核心(core)。因此,HEVC中使用的所有变换核心保持相同,其包括4点DCT-2和DST-7以及8点DCT-2、16点DCT-2和32点DCT-2。而且,其他变换核心包括64点DCT-2、4点DCT-8以及8点、16点、32点DST-7和DCT-8,采用8比特主变换核心。
表5:MTS的信令通知
为了降低大尺寸DST-7和DCT-8的复杂性,对于尺寸等于32(宽度或高度,或者宽度和高度两者)的DST-7块和DCT-8块,使高频变换系数归零。仅保留处于16×16较低频率区域内的系数。
与HEVC一样,可以用变换跳过模式对块的残差进行编解码。为了避免语法编解码的冗余,当CU级MTS_CU_flag不等于0时,不信令通知变换跳过标志。变换跳过的块尺寸限制与JEM4中的MTS相同,这表明当块宽度和高度两者都等于或小于32时,变换跳过适用于CU。
图8示出了低频不可分离二次变换(LFNST)800的示例。在JVET-K0099中引入了LFNST 800,并且在JVET-L0133中引入了4个变换集(而非35个变换集)映射。在这一JVET-N0193中,对于8×8块和4×4块分别采用16×64(进一步缩减至16×48)矩阵和16×16矩阵。为了标记方便,将16×64(可以进一步缩减至16×48)变换表示为LFNST 8×8,并且将16×16变换表示为LFNST 4×4。
图9A示出了正向和逆向的缩减变换(RT)900。RT的主要思想是将N维矢量映射至不同空间内的R维矢量,其中,R/N(R<N)是缩减因子。该RT矩阵是如下的R×N矩阵。
其中,该变换的R行是该N维空间的R个基。RT的逆向变换矩阵是其正向变换的转置。
在本公开中,应用具有缩减因子4(1/4尺寸)的LFNST 8×8。因而,采用16×64直接矩阵,而非作为常规8×8不可分变换矩阵尺寸的64×64。换言之,在解码器侧使用64×16逆向LFNST矩阵来生成8×8左上区域内的核心(主)变换系数。正向LFNST 8×8使用16×64(或者8×8块的8×64)矩阵,使得其仅在给定8×8区域内的左上4×4区域内产生非零系数。换言之,当应用LFNST时,该8×8区域除了左上的4×4区域之外将仅具有零系数。对于LFNST 4×4,应用16×16(或者4×4块的8×16)直接矩阵乘法。
在满足下述两个条件时有条件地应用逆向LFNST:
a.块尺寸大于或等于给定阈值(W>=4&&H>=4);
b.变换跳过模式标志等于0。
当变换系数块的宽度(W)和高度(H)两者均大于4时,那么对变换系数块的左上8×8区域应用LFNST 8×8。否则,在变换系数块的左上min(8,W)×min(8,H)区域上应用LFNST4×4。
如果LFNST索引等于0,则不应用LFNST。否则,应用LFNST,利用LFNST索引选择其内核。稍后将解释LFNST选择方法和LFNST索引的编解码。
此外,对在帧内条带和帧间条带内的帧内CU,并且对于亮度和色度,应用LFNST。当启用双树时,那么单独信令通知亮度和色度的LFNST索引。对于帧间条带(禁用双树),信令通知单个LFNST索引,并且将该索引用于亮度和色度两者。
在第13届JVET会议上,采用帧内子分区(ISP)作为一种新的帧内预测模式。在选择ISP模式时,禁用LFNST,并且不对LFNST索引进行信令通知,因为即使对每一可行的分区块应用LFNST,所带来的性能提高也是微不足道的。此外,对ISP预测残差禁用LFNST可能降低编解码复杂性。
从四个变换集中选择LFNST矩阵,该四个变换集中的每一个包括两个变换。如下文所述从帧内预测模式确定应用哪一变换集:
1)如果指示三个跨分量线性模型(CCLM)模式之一,那么选择变换集0。
2)否则,根据表6执行变换集选择。
表6:变换集选择表
访问该表格6的索引(被表示为IntraPredMode)具有范围[-14,83],其为用于宽角度帧内预测的变换模式索引。
在JVET-N0217中提出了仿射线性加权帧内预测(ALWIP,又名基于矩阵的帧内预测(MIP))。
在JVET-N0217中,进行了两个测试。在测试1中,ALWIP的内存限制为8K字节,每个样点最多4次乘法。测试2类似于测试1,但在内存需求和模型架构方面进一步简化了设计。
·所有块形状的单个矩阵集合和偏移矢量。
·所有块形状的模式数量减少到19个。
·将内存需求减少到5760个10位值,即7.20千字节。
·预测样点的线性插值在每个方向的单步骤中执行,代替第一次测试中的迭代插值。
对于其中cu_cbf等于1的帧间预测CU,可以信令通知cu_sbt_flag,以指示是对整个残差块解码,还是对残差块的子部分解码。在前一种情况下,对帧间MTS信息做进一步解析,以确定CU的变换类型。在后一种情况下,采用推断出的自适应变换对残差块的部分编解码,并且使残差块的其他部分归零。不对组合帧间-帧内模式和三角形预测模式应用SBT。
图9B示出了每个SBT位置的水平和垂直变换950,其中,w表示宽度,并且h表示高度。在子块变换中,对SBT-V和SBT-H中的亮度变换块应用位置相关变换(色度变换块(TB)总是使用DCT-2)。SBT-H和SBT-V的两个位置与不同的核心变换相关联。更具体地,在图9B中规定了对每一SBT位置的水平变换和垂直变换。例如,对SBT-V位置0的水平变换和垂直变换950分别为DCT-8和DST-7。当残差TU的一侧大于32时,对应的变换被设置为DCT-2。因此,子块变换950联合规定残差块的TU拼接(tiling)、编解码块标志(cbf)以及水平变换和垂直变换950,其可以被视为对于块的主要残差处于块的一侧的情况的语法快捷方式。
在VTM,编码器通过贪婪搜索为每个编解码区域找到合适的分割结构。具体而言,编码器将按照以上所述,为每个允许的分割模式计算编解码区域的率失真(R-D)成本,并选择成本最低的分割模式。每个编解码区域所允许的分割模式的数量可能非常大,并且不依赖于区域内容,这导致编码器的较大负担。
当前用于搜索最佳划分的编码器算法存在以下问题。第一,VTM中当前的块划分/分割方案是基于贪婪搜索。贪婪搜索需要尝试大量的分割可能性,因此非常耗时。第二,没有适用于视频内容的快速编码器划分决策的快速算法。
本文公开了使用从卷积神经网络(CNN)接收的信息来分割编解码块的技术。这些技术允许编解码装置(例如编码器)比已知技术更有效地分割编解码块。例如,该技术可以包括:当分割编解码块时,忽略被确定为低于预定阈值的划分类型;在标识编解码块的所有可能的分割结构并且考虑预定数量的划分类型和预定深度之后,推导被实施的划分类型的概率;和/或检查使用高于预定阈值的划分类型的编解码块中每个子块的分割结果。因此,相对于现有的编解码解决方案,编解码时间得到了改善。
以下列出的项目应被视为解释一般概念的示例。不应狭隘地解释这些示例。此外,这些实施例可以以任何方式组合。
在一个示例中,avg函数avg(x1,x2,…,xn)返回x1,x2,…,xn的平均值。在本公开中,基于以显式方式或隐式方式推导的某些划分类型的概率来跳过某些划分类型(分割方法)。
对于隐式方式,实施例可以首先预测在子块边界处具有不同边缘类型的概率,然后基于子块边界的概率推导划分的概率。当一个划分的概率低于预定阈值时,编码器将跳过对该划分的检查。对于显式方式,实施例可以直接预测集成分割空间中所有可能的分割结构的概率分布。然后,实施例可以根据所有分割结构的概率对所有分割结构进行排序。为了实现加速,编码器只检查落在那些分割结构的前K种划分,并跳过它们的其余部分,其中K为整数、变量或函数。
所考虑的划分类型包括非划分(NS)、四叉树(QT)划分、二叉树水平(BTH)划分、二叉树垂直(BTV)划分、三叉树水平(TTH)划分和三叉树垂直(TTV)划分中的至少一种。这些划分可以应用于一个或多个颜色分量,诸如仅仅应用于双树分割的亮度分量并且当前编解码的颜色分量是亮度;以及用于双树分割的两个色度分量并且当前编解码颜色分量是色度;或者用于单数情况的三色分量。
在基于隐式方式的方法中,为了确定块的划分是否将跳过,该过程如下操作:输入是待测试的块和划分类型,然后计算该划分的概率。下面将进一步阐述计算过程。然后,当导出的概率大于预定阈值时,将检查该划分。否则,将跳过该划分。在基于隐式方式的方法中,该过程如下操作:输入是待测试的块和划分类型,然后编码器将确定该块的划分是否位于排序后的分割结构的前K个。当答案是肯定的,编码器将检查该划分。否则,将跳过该划分。
对于基于隐式方式的划分类型预测,实施以下内容。
1.提出基于子块边界的概率来推导划分类型的概率。
a.在一个示例中,子块边界被定义为视频处理单元(例如,待编解码的CTU/块)内的子区域的边界。
i.在一个示例中,子区域被定义为M×N,其中M和/或N是预先定义的或信令通知的或即时推导的整数。
1)在一个示例中,M=N=4。
2)在一个示例中,M和/或N分别被设置为最小CU的宽度和/或高度,其中,最小CU在比特流中信令通知。
3)在一个示例中,M和/或N分别被设置为最小CU的宽度和/或高度,其中最小CU是按照一个或多个分割类型(例如,QT/BT/TT)划分的。
4)在一个示例中,M和/或N的设置可以取决于颜色分量。
b.图10示出了64×64框1000及其内部基本边界1010(与4×4块边界对齐)的示例。基本边界与M×M块内的N×N(例如,4×4)块对齐。因此,基本边界的数量是(M/N)×(M/N)×2-(M/N)×2(例如,图10中的480边界)。
2.定义了对于在一组允许的划分类型中给定的划分类型,一组子块边界内的第j个子块边界的概率。
a.在一个示例中,根据比特流中信令通知的块维度/位置/所允许的划分类型来确定一组允许的划分类型。
c.在一个示例中,子块边界的概率分布通过训练过程从卷积神经网络中推导。
d.在一个示例中,子块边界的概率分布是从其他基于学习的方法推导的,诸如支持向量机、线性回归等。
e.在一个示例中,使用手工方法推导子块边界的概率分布。
3.基于与待测试划分相关联的子块边界来计算待测试划分的概率。
a.在一个示例中,待测试划分的概率被定义为位于划分子块中的所有子块边界的概率的函数。
i.在一个示例中,该函数被定义为概率的平均值。
1)或者,该函数被定义为概率的平均值。
2)或者,该函数被定义为概率的加权平均值。
3)或者,该函数被定义为概率的最大函数。
ii.或者,仅利用位于划分子块中的选择性子块边界。
b.图11A-图11E示出了16×16编解码框1102的五种可能划分1100的示例。在如图11A所示的一个示例中,待测试的划分是QT划分,并且块尺寸是16×16。将QT划分的相关子块边界表示为i1,i2,...i8。那么,QT划分的概率可以计算为
4.编码器还可以选择在对当前块的所有可能划分的概率进行排序之后,检查前N个划分(例如,具有最高概率的N个划分类型)。
a.在图11A-图11E所示的一个示例中,编码器首先推导五种可能的划分的概率:pQT、pBTH、pBTV、pTTH和pTTV。然后,编码器对这五个值进行排序,并选择检查具有前2个最大概率的2个划分。
b.在一个示例中,除了前N个划分类型之外,可以总是检查非划分。
5.不同颜色分量的划分类型预测过程可以是独立的。
a.在一个示例中,根据亮度子块边界概率预测亮度划分类型,而基于色度子块概率来推导两个色度分量的划分类型。
b.在一个示例中,根据对应分量的子块边界概率来预测每个分量的划分类型。
c.或者,上述方法可以应用于双树情况和/或局部双树情况和/或分离平面编解码。
6.不同颜色分量的划分类型预测过程可以是相同的。
a.在一个示例中,根据仅一个颜色分量(例如,亮度)的子块边界概率来预测划分类型。
b.在一个示例中,根据所有三个颜色分量的子块边界概率来预测划分类型。
i.在一个示例中,划分类型概率可以基于所有分量的加权平均值。
1)在一个示例中,所有权重可以相等。
2)在一个示例中,权重可能不相等。
3)在一个示例中,权重可以取决于颜色格式。
c.或者,上述方法可以应用于单个树的情况或内部条带。
7.是否和/或如何应用所提出的方法可以取决于块的位置(例如,编解码树块(CTB)/CU),和/或与块相关联的解码信息(例如,深度、块宽度/高度、预测模式等)。
a.在一个示例中,所提出的方法可以仅应用于不位于视频处理单元(例如,图片/条带/片/子图片)边界的块。
b.在一个示例中,当块位于视频处理单元(例如,图片/条带/片/子图片)边界时,基于不同于上述规则的另一规则来推导概率。
对于基于显式方式的划分类型预测,实施以下内容。
8.提出基于CNN或任何其他方法的输出来推导视频处理单元的集成分割空间中所有可能的分割结构的概率分布。
a.在一个示例中,考虑特定深度内的视频处理单元的所有可能的分割结构。
i.图12是深度为2的编解码块的集成划分类型1200的示例图示。当前块分别在顶部行、中间行和底部行中选择QT划分、BTH划分和TTH划分。示出了由QT划分、BTH划分和TTH划分推导的第一个子块的可能划分。在一个示例中,如图12所示,考虑深度为2内的视频处理单元的所有可能的分割结构。当前块的可能划分类型可以是NS、QT、BTH、BTV、TTH、TTV。在当前块的QT划分类型的情况下,每个导出的子块可以从NS、QT、BTH、BTV、TTH、TTV中选择,如图12中的第一行所示。因此,源自这种情况的可能划分的数量是6×6×6×6=1296。类似地,源自BTH/BTV的可能划分的数量为5×5=25,并且源自TTH/TTV的可能划分的数量为5×5×5=125。因此,当前块的深度=2内的总划分的数量为1296+25+25+125+125+1=1597。
9.任何合适的方法都可以用于推导集成划分类型的概率,如最后一个项目符号所述。
a.在一个示例中,CNN用于推导概率。
i.或者,CNN输出可以指示概率。
b.在一个示例中,可以使用其他基于学习的方法,诸如线性回归、支持向量机或决策树来推导概率。
10.编码器可以选择在对视频处理单元的集成划分类型的概率进行排序之后,检查视频处理单元内的每个子块的包含在前K个集成划分中的划分。
a.在一个示例中,编码器可以选择根据CNN输出的数字对K个划分进行排序。
b.在一个示例中,K可以是一个变量。
c.在一个示例中,可以根据块统计数据来推导K。
i.在一个示例中,对于具有较大梯度或方差的块,K可以更大。
讨论为VVC帧内加速的基于CNN的划分预测。
隐式划分预测的一个示例方法如下。
在隐式划分预测中,训练CNN来预测在子块边界处具有不同边缘类型的概率。在本公开中,子块被定义为64×64编解码单元中的4×4块,因此,CNN只需要对整个64×64编解码单元运行一次,然后可以对包含在64×64编解码单元中的任何块做出决定,因为它们的划分边界总是与一些4×4边界对齐。
图13示出了隐式划分预测中的映射1300的示例。可以计算出64×64编解码单元内的4×4边界的总数为480。对于每个子块边界,其类型可以是{SPLIT_QT、SPLIT_BT、SPLIT_TT、NON_SPLIT}之一。因此,要预测的真实数据(ground truth)概率是480×4向量1310,如图13所示。采用图13所示的CNN来预测480×4的概率向量1310。
考虑到顶行和左列中的参考样点在帧内预测期间起重要作用,因此对当前块的划分预测有很大影响,CNN的输入是65×65块,包括当前64×64编解码块及其参考样点。首先,将输入馈入卷积层,并通过步长为4的最大池化来缩小特征图。最大池化层的目的是聚集主要特征并增加有效感受野。此外,它还降低了计算复杂度,因为后面的卷积可以在低得多的精度下操作。然后,让经过最大池层后的特征图进一步穿过四个残差块。请注意,出于前面提到的相同目的,每两个剩余块后面***步长为2的最大池层。最后,使用一个全连接层,然后执行整形操作,将从最后一个池化层提取的特征映射到4×480的概率向量中,其中4表示子块边界可能具有的划分类型的数量,并且480是64×64编解码单元内的4×4边界的数量。由于这是一个多类分类问题,选择常用的交叉熵损失来驱动训练过程。具体来说,计算每个子块边界的交叉熵损失,然后平均化作为最终损失。
图14示出了隐式划分预测中的映射1400的示例。在完成训练之后,可以获得每个子块边界的概率分布。请注意,softmax操作用于将CNN的输出转换为有效概率。利用概率,在R-D检查期间计算每个划分的概率(或分数)就变得简单了。例如,对划分中包含的子块边界的概率进行平均化,并将其视为划分的概率。那么编码器可以跳过对其概率低于预定阈值的划分的检查。
为了执行显式划分预测,首先需要确定分割空间的集成。在不失一般性的情况下,将编解码单元的尺寸限制为32×32,并讨论深度≤2内所有可能的分割结构(假设32×32的深度为0)。
考虑深度=1时32×32块的可能划分,存在5个候选,包括{SPLIT_QT、SPLIT_BT_HOR、SPLIT_BT_VER、SPLIT_TT_HOR、SPLIT_TT_VER}。为了计算出当深度=2时可能的划分,以源自SPLIT_QT的子块为例。具体来说,SPLIT_QT将生成四个正方形子块,并且每个子块可以进一步从{NON_SPLIT、SPLIT_QT、SPLIT_BT_HOR、SPLIT_BT_VER、SPLIT_TT_HOR、SPLIT_TT_VER}中进行选择。换句话说,每个子块可以有6种类型的划分,导致6×6×6×6=1296种可能的分割结构。类似地,源自SPLIT_BT_HOR(或SPLIT_BT_VER)的分割结构的总数将是5×5=25,并且源自SPLIT_TT_HOR(或SPLIT_TT_VER)的分割结构的总数将是5×5×5=125。将这些数字相加,得到深度≤2的32×32编解码单元的分割结构的数量,即1296+25×2+125×2+1=1597。
图15示出了用于显式和隐式划分预测的CNN结构1500的示例。显式和隐式预测共享位于垂直虚线之前的相同模块,并且在垂直虚线之后具有不同的设计。N+1代表输入块尺寸。对于显式划分预测,N+1等于33,并且Me(表示本公开中考虑的分割结构的总数)等于1597。而对于隐式划分预测,N+1等于65,并且代表本公开考虑的内部子块边界的数量的Mi等于480。
显式划分预测也相当于多类分类问题。因此,训练一个CNN来解决这个问题,如图15所示。CNN的主要结构与用于隐式划分预测的CNN结构相同,并已在前面部分介绍过。最后一层,即全连接层,将从第三池化层提取的特征映射到1597概率向量。然后计算交叉熵损失,并将交叉熵损失用于驱动训练过程。
在完成训练并获得分割结构的概率分布后,根据这些分割结构的概率对它们进行排序。然后,编码器可以决定检查落在这些分割结构的前K个分割结构的划分,并跳过它们的其余部分以实现编码器加速。在实践中,将32×32块根据它们的活动(以样点梯度或样点方差为特征)分成几个组并为不同的组设置不同的K阈值是有益的。具体来说,由于预测具有高活动性的块的分割结构更加困难,因此将这些块的k阈值设置得更高,反之亦然。
下面讨论一些示例性设置。采用PyTorch作为训练平台,这是一个开源的机器学习架构,加速了从研究原型到生产部署的路径。对于训练数据和验证数据,使用了包含800个训练图像和100个验证图像的DIV2K数据集。对应于每个测试二次规划(quadraticprogramming,QP)训练单独的模型。训练后的CNN模型被***VVC的参考软件,即VTM-7.0进行性能评估。在VTM中CNN模型的推断是基于LibTorch,即PyTorch提供的C++接口。
使用全帧内(AI)配置和JVET建议的QP 22、27、32、37通用测试条件。我们分别采用(1)中定义的增量比特率(BD-BR)和△ET来评估编解码效率和复杂度降低情况。在(1)中,EncTanchor和EncTproposed分别代表VTM-7.0锚点(anchor)和VTM-7.0加所提出方法的编码时间。请注意,CNN的运行时间已经包含在EncTproposed中。对于测试序列,我们考虑常用的测试序列,称为A1、A2、B、C、D、E类。
图16示出了表格1600,表格1600给出了所提出的隐式和显式分割预测在特定阈值下的性能。隐式划分预测平均可减少52.3%的编码时间,减少0.46%的BD-BR损失,而显式划分预测平均可节省39.5%的编码时间,减少0.28%的BD-BR损失。
将提出的方法与最近发表的几部作品进行了比较,并给出了图14的结果。虽然比较的作品基于不同的软件版本(例如VTM-4.0、VTM-6.1或VTM-7.0),但应该注意的是,它们之间在分割结构和运行时间方面的差异很小。例如,根据Frank Bossen,Xiang Li,andKarsten Suehring,“Ahg report:测试模型软件开发(ahg3),”JVET-Q0003,2020年1月,VTM-6.2和VTM-7.0之间的运行时间差小于5%。
图17示出了所提出的方案相对于其他方法表现良好的表格1700。该其他方法来自Sang-Hyo Park and Je-Won Kang,“为快速帧内编解码的通用视频编码中基于上下文的三叉树决策方法”,IEEE访问vol.7,pp.172597-172605,2019,该其他方法还来自A Tissier,WHamidouche,J Vanney,F Galpinz,and D Menard,“vvc帧内编码器的CNN导向的复杂度降低”,2020年IEEE图像处理国际会议(ICIP).IEEE,2020,pp.3139-3143。具体来说,本公开的方法能够实现更大的编码复杂度降低,并且产生更少的BD-BR损失。
图18是根据本公开的实施例的为编解码视频数据的方法1800。方法1800可以由具有处理器和存储器的编解码装置(例如,编码器)来执行。方法1800可以在确定如何分割或划分编解码块时实施。
在框1802中,编解码装置基于划分类型边界与编解码块的子块边界一致的概率来推导被实施的划分类型的概率。在一个实施例中,划分类型包括非划分类型、四叉树划分类型、二叉树划分类型和三叉树划分类型。
在一个实施例中,来自子块边界的第j个子块边界的概率被表示为其中p表示划分类型的概率,其中Non表示非划分划分类型,QT表示四叉树划分类型,BT表示二叉树划分类型,TT表示三叉树划分类型,其中j是{1,2,3,…K}的元素,并且其中K表示编解码块中子块边界的总数。
在一个实施例中,划分类型边界与子块边界一致的概率是基于a×b概率向量,其中a表示编解码块的子块的划分类型的总数,并且其中b表示编解码块中的子块边界的总数。
在一个实施例中,被实施的划分类型的概率是基于编解码块中所有子块边界。在一个实施例中,被实施的划分类型的概率是基于编解码块中子块边界的子集。在一个实施例中,被实施的划分类型的概率是基于概率的平均值。在一个实施例中,被实施的划分类型的概率是基于概率的加权平均值。在一个实施例中,被实施的划分类型的概率是基于概率的最大值函数。
在一个实施例中,基于推导来自划分类型的概率中的一个概率,其中p表示划分类型的概率,其中i表示来自子块边界的子块边界,其中ST表示四叉树划分类型、水平二叉树划分类型、垂直二叉树划分类型、水平三叉树划分类型和垂直三叉树划分类型中的一个,并且其中x表示编解码块中的子块边界的数量。
在框1804中,编解码装置确定哪些划分类型低于预定阈值。例如,编解码装置确定一定数量的划分类型低于预定阈值。
在框1806中,当编解码块被分割时,编解码装置忽略被确定为低于预定阈值的划分类型。在一个实施例中,编解码装置被配置成归一化对应于划分类型边界与编解码块的子块边界一致的概率的概率向量。在一个实施例中,编解码装置被配置为执行率失真(R-D)检查,以使用被确定为等于或高于预定阈值的划分类型来划分编解码块。
图19是根据本公开的实施例的编解码视频数据的方法1900。方法1900可以由具有处理器和存储器的编解码装置(例如,编码器)来执行。方法1900可以在确定如何划分或分割编解码块时实施。
在框1902中,编解码装置接收输入,该输入标识编解码块的所有可能的分割结构且考虑了预定数量的划分类型和预定深度。在一个实施例中,从卷积神经网络接收输入。在一个实施例中,划分类型的预定数量是五个,其中划分类型包括非划分类型、四叉树划分类型、二叉树划分类型和三叉树划分类型,并且其中预定深度是2。
在一个实施例中,标识编解码块的所有可能的分割结构的输入是基于无划分类型、四叉树划分类型、水平二叉树划分类型、垂直二叉树划分类型、水平三叉树划分类型和垂直三叉树划分类型的可能划分的总和。
在框1904中,编解码装置基于输入推导所有可能的分割结构的概率分布,其中,概率分布包括每个被实施的划分类型的概率。在一个实施例中,编解码装置被配置为基于概率分布来划分编解码块。
图20是根据本公开的实施例的编解码视频数据的方法2000。方法2000可以由具有处理器和存储器的编解码装置(例如编码器)来执行。方法2000可以在确定如何划分或分割编码块时实施。
在框2002中,编解码装置接收标识编解码块的划分类型的输入。在一个实施例中,从卷积神经网络接收输入。在一个实施例中,高于预定阈值的划分类型根据K来确定,并且其中K表示变量或块统计数据。在一个实施例中,高于预定阈值的划分类型根据K来确定,并且其中K的值取决于编解码块的梯度或方差。
在框2004中,编解码装置确定哪些划分类型高于预定阈值。在框2006中,编解码装置检查使用被确定为高于预定阈值的划分类型的编解码块中每个子块的分割结果。此后,编解码装置被配置为分割或划分编解码块。
图21是示出可以利用本公开的技术的示例视频编解码***2100的框图。
如图21所示,视频编解码***2100可以包括源设备2110和目的地设备2120。源设备2110生成编解码视频数据,其中该源设备2110可以被称为视频编解码设备。目的地设备2120可以解码由源设备2110生成的编解码视频数据,目的地设备2120可以被称为视频解码设备。
源设备2110可以包括视频源2112、视频编码器2114和输入/输出(I/O)接口2116。
视频源2112可以包括源,诸如视频捕捉设备、从视频内容提供器接收视频数据的接口、和/或用于生成视频数据的计算机图形***、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器2114对来自视频源2112的视频数据进行编解码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口2116可以包括调制器/解调器(调制解调器)和/或发射器。编解码视频数据可以通过网络2130经由I/O接口2116直接传输到目的地设备2120。编解码视频数据也可以存储在存储介质/服务器2140上,以供目的地设备2120访问。
目的地设备2120可以包括I/O接口2126、视频解码器2124和显示设备2122。
I/O接口2126可以包括接收器和/或调制解调器。I/O接口2126可以从源设备2110或存储介质/服务器2140获取编解码视频数据。视频解码器2124可以对编解码视频数据进行解码。显示设备2122可以向用户显示解码视频数据。显示设备2122可以与目的地设备2120集成,或者可以在被配置为与外部显示设备接口的目的地设备2120的外部。
视频编码器2114和视频解码器2124可以根据视频压缩标准进行操作,例如高效视频编解码(HEVC)标准、通用视频编解码(VVM)标准和其他当前和/或另外的标准。
图22是示出视频编码器2200的示例的框图,视频编码器2200可以是图21所示的***2100中的视频编码器2114。
视频编码器2200可以被配置为执行本公开的任何或所有技术。在图22的示例中,视频编码器2200包括多个功能组件。本公开中描述的技术可以在视频编码器2200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器2200的功能组件可以包括分割单元2201、预测单元2202(其可以包括模式选择单元2203、运动估计单元2204、运动补偿单元2205和帧内预测单元2206)、残差生成单元2207、变换单元2208、量化单元2209、逆量化单元2210、逆变换单元2211、重构单元2212、缓冲区2213和熵编解码单元2214。
在其他示例中,视频编码器2200可以包括更多、更少或不同的功能组件。在示例中,预测单元2202可以包括帧内块复制(IBC)单元。IBC单元可以执行IBC模式下的预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元2204和运动补偿单元2205的一些组件可以高度集成,但是为了解释的目的,在图22的示例中分开表示。
分割单元2201可以将图片分割为一个或多个视频块。图21的视频编码器2114和视频解码器2124可以支持各种视频块尺寸。
模式选择单元2203可以基于误差结果选择编解码模式(例如,帧内或帧间)之一,并且将作为结果的帧内编解码块或帧间编解码块提供给残差生成单元2207以生成残差块数据,以及提供给重构单元2212以重构编解码块以用作参考图片。在一些示例中,模式选择单元2203可以选择帧内和帧间预测模式的组合(CIIP),其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元2203还可以选择块的运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元2204可以通过将来自缓冲区2213的一个或多个参考帧与当前视频块进行比较,来生成当前视频块的运动信息。运动补偿单元2205可以基于运动信息和来自缓冲区2213的除了与当前视频块相关联的图片之外的图片的解码样点,来确定当前视频块的预测视频块。
运动估计单元2204和运动补偿单元2205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。I条带(或I帧)的可压缩性最低,但不需要其他视频帧进行解码。S条带(或P帧)可以使用前一帧的数据进行解压缩,并且比I帧更具可压缩性。B条带(或B帧)可以使用前一帧和后一帧作为数据参考,以获得最高的数据压缩量。
在一些示例中,运动估计单元2204可以对当前视频块执行单向预测,并且运动估计单元2204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。运动估计单元2204然后可以生成指示列表0或列表1中的参考图片的参考索引,该参考索引包含参考视频块和指示当前视频块和参考视频块之间的空域位移的运动矢量。运动估计单元2204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元2205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元2204可以对当前视频块执行双向预测,运动估计单元2204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中搜索当前视频块的另一个参考视频块。运动估计单元2204然后可以生成参考索引,该参考索引指示包含参考视频块的列表0和列表1中的参考图片以及指示参考视频块和当前视频块之间的空间位移的运动矢量。运动估计单元2204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元2205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元2204可以输出完整的运动信息集,以用于解码器的解码处理。
在一些示例中,运动估计单元2204可以不输出当前视频的完整的运动信息集。而是运动估计单元2204可以参考另一个视频块的运动信息信令通知当前视频块的运动信息。例如,运动估计单元2204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
在一个示例中,运动估计单元2204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器2300指示当前视频块具有与另一个视频块相同的运动信息。
在另一示例中,运动估计单元2204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器2124可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器2124可以预测性地信令通知运动矢量。可以由视频编码器2114实施的预测信令通知技术的两个示例包括高级运动矢量预测(AMVP)和Merge模式信令通知。
帧内预测单元2206可以对当前视频块执行帧内预测。当帧内预测单元2206对当前视频块执行帧内预测时,帧内预测单元2206可以基于同一图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元2207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。
在其他示例中,例如在跳过模式中,对于当前视频块可能没有当前视频块的残差数据,并且残差生成单元2207可能不执行减去操作。
变换处理单元2208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
在变换处理单元2208生成与当前视频块相关联的变换系数视频块之后,量化单元2209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元2210和逆变换单元2211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元2212可以将重构后的残差视频块添加到来自预测单元2202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构视频块,用于存储在缓冲区2213中。
在重构单元2212重构视频块之后,可以执行环路滤波操作,以减少视频块中的视频块效应。
熵编解码单元2214可以从视频编码器2200的其他功能组件接收数据。当熵编解码单元2214接收到数据时,熵编解码单元2214可以执行一个或多个熵编解码操作,以生成熵编解码数据,并输出包括该熵编解码数据的比特流。
图23是示出视频解码器2300的示例的框图,视频解码器2300可以是图21所示的视频编解码***2100中的视频解码器2124。
视频解码器2300可以被配置为执行本公开的任何或所有技术。在图23的示例中,视频解码器2300包括多个功能组件。本公开中描述的技术可以在视频解码器2300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图23的示例中,视频解码器2300包括熵解码单元2301、运动补偿单元2302、帧内预测单元2303、逆量化单元2304、逆变换单元2305以及重构单元2306和缓冲区2307。在一些示例中,视频解码器2300可以执行通常与针对视频编码器2114(图21)描述的编解码过程相反的解码过程。
熵解码单元2301可以检索编解码比特流。编解码比特流可以包括熵编解码的视频数据(例如,视频数据的编解码块)。熵解码单元2301可以解码熵编解码的视频数据,并且根据熵解码的视频数据,运动补偿单元2302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元2302可以例如通过执行AMVP和Merge模式信令通知来确定这样的信息。
运动补偿单元2302可以产生运动补偿块,可以基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元2302可以使用如视频编码器2114在视频块的编解码期间使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元2302可以根据所接收的语法信息确定视频编码器2114使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元2302可以使用一些语法信息来确定用于对编解码视频序列的(多个)帧和/或(多个)条带进行编解码的块的尺寸、描述编解码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编解码的模式、每个帧间编解码块的一个或多个参考帧(和参考帧列表)以及用于对编解码视频序列进行解码的其他信息。
帧内预测单元2303可以使用例如在比特流中接收的帧内预测模式来从空间上相邻的块形成预测块。逆量化单元2303对在比特流中提供并由熵解码单元2301解码的量化后的视频块系数进行逆量化,即,解量化。逆变换单元2303应用逆变换。
重构单元2306可以将残差块与由运动补偿单元2202或帧内预测单元2303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去块滤波器来滤波解码块,以便移除块效应。解码的视频块然后被存储在缓冲区2307中,为随后的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
图24是示出可以在其中实施本文公开的各种技术的示例视频处理***2400的框图。各种实施方式可以包括***2400的一些或所有组件。***2400可以包括用于接收视频内容的输入2402。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以是压缩或编解码格式。输入2402可以表示网络接口、***总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(Passive Optical Network,PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
视频处理***2400可以包括可以实施本文档中描述的各种编解码或编解码方法的编解码组件2404。编解码组件2404可以将来自输入2402的视频的平均比特率减小到编解码组件2404的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件2404的输出可以被存储,或者经由如由组件2406表示的通信连接而发送。在输入2402处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件2408用于生成像素值或传送到显示接口2410的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
***总线接口或显示接口的示例可以包括通用串行总线(USB)、或高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)、或显示端口(Displayport)等。存储接口的示例包括SATA(Serial Advanced Technology Attachment,串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
图25是视频处理装置2500的框图。装置2500可以用于实施本文描述的一种或多种方法。装置2500可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置2500可以包括一个或多个处理器2502、一个或多个存储器2504和视频处理硬件2506。(多个)处理器2502可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)2504可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件606可以用于在硬件电路***中实施本文档中描述的一些技术。在一些实施例中,视频处理硬件2506可以至少部分被包括在处理器502(例如,图形协处理器)中。
图26是根据本公开实施例的编解码视频数据的方法2600。方法2600可以由具有处理器和存储器的编解码装置(例如,编码器)来执行。方法2600可以在确定如何划分或分割编解码块时实施。在框2602中,编解码装置推导在分割图片时实施的划分类型的概率。在框2604中,编解码装置在视频媒体文件和比特流之间的转换期间当分割编解码块时基于获得的概率跳过一个或多个划分类型。在一个实施例中,方法2600可以利用或结合本文公开的其他方法的一个或多个特征或过程。
在本文档中,术语“数字媒体(例如,图像或视频))或视频处理”可以指媒体编解码、媒体解码、媒体压缩或媒体解压缩。术语媒体可以指视频、音频或者图像。例如,可以在从视频的像素表示到对应比特流表示的转换期间应用视频压缩算法,反之亦然。当前视频块的比特流表示可以例如对应于比特流内的并置的或散布在不同地方的比特,如语法所定义的。例如,宏块可以根据变换和编解码后的误差残差值并且还使用比特流中的头和其他字段中的比特来编解码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案所述。类似地,编码器可以确定包括或不包括某些语法字段,并通过包括语法字段或从编解码表示中排除语法字段来相应地生成编解码表示。
本文档中描述的所公开的以及其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中、或者在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中、或者在它们中的一个或多个的组合中被实施。所公开的以及其他实施例可以被实施为一个或多个计算机程序产品,即在计算机可读介质上编解码的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***、或它们中的一个或多个的组合的代码。传播信号是被生成以对信息进行编解码以用于发送到合适的接收器装置的人工生成的信号,例如机器生成的电信号、光学信号或电磁信号。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件***中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署以在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上运行。
本文档书中描述的过程和逻辑流程可以由运行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(Field Programmable Gate Array,现场可编程门阵列)或ASIC(Application SpecificIntegrated Circuit,专用集成电路)。
适合于运行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该一个或多个大容量存储设备接收数据或向该一个或多个大容量存储设备传递数据、或者从其接收数据并向其传递数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电EPROM(EEPROM)和闪存设备;磁盘,例如内部硬盘或可换式磁盘;磁光盘;以及光盘只读存储器(CD ROM)和数字多功能光盘只读存储器(DVD-ROM)磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的范围的限制,而是作为指定于特定技术的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种***组件的分离不应被理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。
Claims (22)
1.一种由视频编解码装置实施的方法,包括:
获取在分割图片时被实施的划分类型的概率;以及
在视频媒体文件和比特流之间的转换期间,在分割所述图片的编解码块时基于获取的概率跳过一个或多个划分类型。
2.根据权利要求1所述的方法,其中,获取被实施的划分类型的概率包括基于划分类型边界与所述编解码块的子块边界一致的概率来推导被实施的划分类型的概率。
3.根据权利要求1或2所述的方法,还包括基于所述概率确定哪些划分类型低于预定阈值,并且当分割所述编解码块时跳过被确定为低于预定阈值的一个或多个划分类型。
4.根据权利要求1-3任一所述的方法,其中,所述划分类型包括非划分类型、四叉树划分类型、二叉树划分类型和三叉树划分类型。
6.根据权利要求2或5所述的方法,其中,所述划分类型边界与所述子块边界一致的概率是基于a×b概率向量,其中,a表示所述编解码块的子块的划分类型的总数,并且其中b表示所述编解码块中的子块边界的总数。
7.根据权利要求2、5-6任一所述的方法,其中,所述被实施的划分类型的概率是基于所述编解码块中所有子块边界、所述编解码块中子块边界的子集、概率的平均值、概率的加权平均值中的一个。
9.根据权利要求1所述的方法,其中,获取被实施的划分类型的概率包括接收来自卷积神经网络的输入,所述输入标识所述编解码块的所有可能的分割结构并且考虑了预定数量的划分类型和预定深度。
10.根据权利要求9所述的方法,还包括基于所述输入推导所有可能的分割结构的概率分布,其中,所述概率分布包括每个被实施的划分类型的概率。
11.根据权利要求10所述的方法,其中,表示所述编码块的所有可能的分割结构的输入是基于非划分类型、四叉树划分类型、水平二叉树划分类型、垂直二叉树划分类型、水平三叉树划分类型和垂直三叉树划分类型的可能划分的总和。
12.根据权利要求1所述的方法,其中,获取被实施的划分类型的概率包括接收来自卷积神经网络的输入,所述输入标识所述编解码块的划分类型。
13.根据权利要求12所述的方法,还包括确定哪些划分类型高于预定阈值,以及检查使用被确定为高于所述预定阈值的划分类型的所述编解码块中每个子块的分割结果。
14.一种编解码视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中,所述指令在由所述处理器执行时使得所述处理器:
获取在分割图片时被实施的划分类型的概率;以及
在视频媒体文件和比特流之间的转换期间,在分割所述图片的编码块时基于获取的概率跳过一个或多个划分类型。
15.根据权利要求14所述的装置,其中,所述一个或多个处理器还被配置为基于划分类型边界与所述编解码块的子块边界一致的概率来推导被实施的划分类型的概率。
16.根据权利要求14所述的装置,其中,所述一个或多个处理器还被配置为接收来自卷积神经网络的输入,所述输入标识所述编解码块的所有可能的分割结构并且考虑了预定数量的划分类型和预定深度。
17.根据权利要求14所述的装置,其中,所述一个或多个处理器还被配置为确定哪些划分类型高于预定阈值,以及检查使用被确定为高于所述预定阈值的划分类型的所述编解码块中每个子块的分割结果。
18.一种非暂时性计算机可读介质,包括由编解码装置使用的计算机程序产品,该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,当所述指令被一个或多个处理器执行时,使得所述编解码装置:
获取在分割图片时被实施的划分类型的概率;以及
在视频媒体文件和比特流之间的转换期间,在分割所述图片的编解码块时基于获取的概率跳过一个或多个划分类型。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述指令还使得所述编解码装置基于划分类型边界与所述编解码块的子块边界一致的概率来推导被实施的划分类型的概率。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,所述指令还使得所述编解码装置基于来自卷积神经网络的输入来推导所有可能的分割结构的概率分布,所述输入标识所述编解码块的所有可能的分割结构且考虑了预定数量的划分类型和预定深度,其中所述概率分布包括每个被实施的划分类的概率。
21.一种存储视觉媒体文件的比特流的非暂时性计算机可读存储介质,所述比特流由编解码视频数据的装置执行的方法生成,其中,所述方法包括:
确定获取在分割图片时被实施的划分类型的概率,并在分割所述图片的编解码块时基于获取的概率跳过一个或多个划分类型;并且
基于所述确定生成所述比特流。
22.一种用于存储视频比特流的方法,包括:
确定获取在分割图片时被实施的划分类型的概率,并在分割所述图片的编解码块时基于获取的概率跳过一个或多个划分类型;
基于所述确定生成所述比特流;并且
将所述比特流存储在非暂时性计算机可读记录介质中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063106603P | 2020-10-28 | 2020-10-28 | |
US63/106,603 | 2020-10-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114501019A true CN114501019A (zh) | 2022-05-13 |
Family
ID=81257887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111265764.XA Pending CN114501019A (zh) | 2020-10-28 | 2021-10-28 | 关于划分预测 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11558608B2 (zh) |
CN (1) | CN114501019A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019118097A1 (en) * | 2017-12-14 | 2019-06-20 | Interdigital Vc Holdings, Inc. | Method and apparatus for encoding a picture block |
CN111837385B (zh) | 2018-01-29 | 2024-04-30 | 交互数字Vc控股公司 | 利用重构画面的细化进行编码和解码 |
US20220408098A1 (en) * | 2021-06-18 | 2022-12-22 | Tencent America LLC | Block-wise entropy coding method in neural image compression |
CN116320436B (zh) * | 2023-03-31 | 2023-11-07 | 重庆邮电大学 | 一种基于决策树的vvc快速编码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101990761B (zh) * | 2008-04-01 | 2013-01-09 | 佳能株式会社 | 运动图像编码设备和运动图像编码方法 |
-
2021
- 2021-10-27 US US17/512,162 patent/US11558608B2/en active Active
- 2021-10-28 CN CN202111265764.XA patent/CN114501019A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11558608B2 (en) | 2023-01-17 |
US20220132103A1 (en) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11368675B2 (en) | Method and device for encoding and decoding intra-frame prediction | |
CN110719470B (zh) | 视频编码的块尺寸限制 | |
US11051009B2 (en) | Video processing methods and apparatuses for processing video data coded in large size coding units | |
KR20210145752A (ko) | 행렬 기반 인트라 예측을 위한 최고 확률 모드 리스트 구성 | |
JP7277447B2 (ja) | 動き補償用の改善されたプレディクタ候補 | |
EP3772263A1 (en) | Position dependent intra prediction combination extended with angular modes | |
JP2022534320A (ja) | マトリクスベースイントラ予測のためのコンテキスト決定 | |
CN110839158A (zh) | 变换矩阵选择的系数相关的编码 | |
KR101809630B1 (ko) | 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치 | |
CN110870316B (zh) | 视频编码和解码中低复杂度双向帧内预测的方法和装置 | |
CN114501019A (zh) | 关于划分预测 | |
KR101966195B1 (ko) | 화면내 예측에서의 참조 화소 구성에 관한 부호화/복호화 방법 및 장치 | |
CN118381945A (zh) | 边界强制分区的改进 | |
CN111448798A (zh) | 基于块形状的视频编码和解码的方法和装置 | |
CN110832854B (zh) | 利用插值进行帧内预测的方法和装置 | |
CN113853791A (zh) | 数字视频中的变换旁路编解码残差块 | |
KR20230162148A (ko) | 교차성분 선형 모델을 이용한 비디오 신호 처리 방법 및 장치 | |
CN110730349B (zh) | 用于微块的约束 | |
WO2021219143A1 (en) | Entropy coding for motion precision syntax | |
US11087500B2 (en) | Image encoding/decoding method and apparatus | |
CN114175653B (zh) | 用于视频编解码中的无损编解码模式的方法和装置 | |
KR20240021104A (ko) | 루마 성분 기반 크로마 성분 예측을 이용하는 비디오코딩방법 및 장치 | |
CN116601953A (zh) | 编解码视频中的位置相关系数重新排序 | |
WO2023154574A1 (en) | Methods and devices for geometric partitioning mode with adaptive blending | |
WO2023158765A1 (en) | Methods and devices for geometric partitioning mode split modes reordering with pre-defined modes order |
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 |