CN115516863A - 用于分割语法的熵编解码 - Google Patents

用于分割语法的熵编解码 Download PDF

Info

Publication number
CN115516863A
CN115516863A CN202180032523.2A CN202180032523A CN115516863A CN 115516863 A CN115516863 A CN 115516863A CN 202180032523 A CN202180032523 A CN 202180032523A CN 115516863 A CN115516863 A CN 115516863A
Authority
CN
China
Prior art keywords
video
block
context
codec
allowed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180032523.2A
Other languages
English (en)
Inventor
王洋
张莉
邓智玭
张凯
刘鸿彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN115516863A publication Critical patent/CN115516863A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

描述了用于视频处理的系统、方法和装置。视频处理可以包括视频编码、视频解码或视频转换。视频处理的一个示例方法包括根据规则执行视频的当前块和视频的比特流之间的转换。该规则规定,对用于编解码规定该块是否是水平划分或垂直划分的语法元素的上下文的选择是基于允许垂直划分的数量和允许水平划分的数量。允许垂直划分的数量包括允许二元垂直划分的数量和允许三元垂直划分的数量,并且允许水平划分的数量包括允许二元水平划分的数量和允许三元水平划分的数量。

Description

用于分割语法的熵编解码
相关申请的交叉引用
根据巴黎公约适用的专利法和/或规则,提出本申请是为了及时要求2020年5月1日提交的国际专利申请No.PCT/CN2020/088546的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容通过引用并入作为本申请的公开内容的部分。
技术领域
该文档涉及视频和图像编解码技术。
背景技术
数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
所公开的技术可以被视频或图像解码器或编码器实施例用于使用基于上下文的编码和解码来执行编码或解码。
在一个示例方面,公开了一种处理视频的方法。该方法包括执行视频的视频的块和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中该转换基于自适应运动矢量差精度(AMVR)工具,其中使用自适应精度在编解码表示中表示视频块的运动矢量或运动矢量差或运动矢量预测器的表示;其中,格式规则规定通过依赖于视频块或视频块的相邻块的编解码信息的上下文建模在编解码表示中表示自适应精度的使用。
在另一个示例方面,公开了另一种处理视频的方法。该方法包括执行视频的视频块和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中该转换基于自适应运动矢量差精度(AMVR)工具,其中使用自适应精度在编解码表示中表示视频块的运动矢量或运动矢量差或运动矢量预测器的表示;其中,格式规则规定如何通过上下文建模来表示编解码表示中自适应精度的使用,使得上下文用于针对AMVR工具所使用的精度的索引来编解码第一二进制位和第二二进制位。
在另一个示例方面,公开了另一种处理视频的方法。该方法包括在包括一个或多个视频图片的视频和该视频的编解码表示之间执行转换,该一个或多个视频图片包括多个视频块,其中该编解码表示格式规则,该格式规则用于信令通知关于一个或多个视频块的自适应运动矢量差精度(AMVR)编解码的信息;其中,格式规则规定相同的上下文用于对使用第一编解码模式编解码的第一视频块的AMVR精度索引的二进制位和使用第二编解码模式编解码的第二视频块的AMVR精度索引的二进制位进行编解码。
在另一个示例方面,公开了另一种处理视频的方法。该方法包括执行视频的视频块和视频的编解码表示之间的转换,其中视频块被划分成一个或多个垂直分割和/或一个或多个水平分割,其中编解码表示符合格式规则,该格式规则规定视频块的划分信息的基于上下文的编解码。
在另一个示例方面,公开了另一种处理视频的方法。该方法包括执行视频的视频块和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则规定用于决定使用上下文编解码或旁路编解码来表示变换系数的符号的编解码条件。
在另一个示例方面,公开了另一种处理视频的方法。该方法包括执行视频的视频块和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则规定在变换跳过残差编解码过程的第三或剩余系数扫描通道中对剩余语法元素的旁路编解码的开始时,将操作应用于规定剩余的允许上下文编解码二进制位的变量。
在另一个示例方面,上述方法可以由包括处理器的视频编码器装置来实现。
在又一个示例方面,这些方法可以以处理器可执行指令的形式体现并存储在计算机可读程序介质上。
在本文档中进一步描述了这些和其他方面。
附图说明
图1示出了编码器框图的示例。
图2示出了67种帧内预测模式的示例。
图3A示出了4参数仿射模型示例。
图3B显示了6参数仿射模型示例。
图4示出了每个子块的仿射MVF的示例。
图5示出了继承的仿射运动预测器的示例位置。
图6示出了控制点运动矢量继承的示例。
图7示出了构建的仿射Merge模式的候选位置的示例位置。
图8是所提出的组合方法的运动矢量使用的图示。
图9示出子块MV VSB和像素Δv(i,j)的示例。
图10示出了多类型树划分模式的示例。
图11示出了在具有嵌套多类型树编解码树结构的四叉树中划分标志信令通知的示例。
图12是示例视频处理系统的框图。
图13示出了视频处理装置的示例。
图14是视频处理方法的示例的流程图。
图15是示出根据本公开的一些实施例的视频编解码系统的框图。
图16是示出了根据本公开的一些实施例的编码器的框图。
图17是示出了根据本公开的一些实施例的解码器的框图。
图18是根据本技术的一个或多个实施例的视频处理方法的流程图表示。
图19是根据本技术的一个或多个实施例的另一视频处理方法的流程图表示。
图20是根据本技术的一个或多个实施例的又一视频处理方法的流程图表示。
具体实施方式
本文档提供了可以被图像或视频比特流的解码器用来提高解压缩或解码的数字视频或图像的质量的各种技术。为简洁起见,此处使用的术语“视频”包括图片的序列(传统上称为视频)和单个图像。此外,视频编码器还可以在编码过程中实现这些技术,以便重建用于进一步编码的解码帧。
在本文档中使用章节标题是为了便于理解并且不将实施例和技术限制到对应的章节。这样,来自一个章节的实施例可以与来自其他章节的实施例组合。
1.概述
本文档与视频编解码技术有关。具体来说,它涉及图像/视频编解码中的AMVR(自适应运动矢量精度)、块分割和其他编解码工具。它可以应用于现有的视频编解码标准,如HEVC,或者即将完成的标准(多功能视频编解码)。它也可以应用于未来的视频编解码标准或视频编解码器。
2.初步讨论
视频编解码标准主要是通过众所周知的ITU-T和ISO/IEC标准的发展而得以演进。ITU-T制作了H.261和H.263标准,ISO/IEC制作了MPEG-1和MPEG-4Visual标准,并且两个组织联合制作了H.262/MPEG-2视频标准和H.264/MPEG-4高级视频编解码(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标准,目标是与HEVC相比降低50%比特率。
2.1.典型视频编解码器的编解码流程
图1示出了VVC的编码器框图的示例,其包含三个环路滤波块:去块滤波器(DF)、采样自适应偏移(SAO)和ALF。与使用预定义滤波器的DF不同,SAO和ALF利用当前图片的原始样点分别通过添加偏移和通过应用有限脉冲响应(FIR)滤波器来降低原始样点与重建样点之间的均方误差,其中编解码的辅助信息信令通知偏移和滤波器系数。ALF位于每个图片的最后处理阶段,并且能够被看作是试图捕获和修复由先前阶段创建的伪像的工具。
2.2.具有67种帧内预测模式的帧内模式编解码
为了捕捉自然视频中呈现的任意边缘方向,方向帧内模式的数量从HEVC使用的33个扩展到65个。附加的方向模式在图2中用虚线箭头表示,并且平面和DC模式保持不变。这些更密集的方向帧内预测模式适用于所有块尺寸以及适用于亮度和色度帧内预测两者。
如图2所示,传统的角度帧内预测方向被定义为顺时针方向从45度到-135度。在VTM2中,对于非正方形块,几种传统的角度帧内预测模式被自适应地替换为广角帧内预测模式。替换的模式使用原始方法被信令通知,并在解析之后重新映射到广角模式的索引。帧内预测模式的总数不变,即67,并且帧内模式编解码不变。
在HEVC中,每个帧内编解码块具有正方形形状,并且其每侧的长度是2的幂。因此,使用DC模式生成帧内预测器不需要除法运算。在VVV中,块可以具有矩形形状,这在一般情况下需要对每个块使用除法运算。为了避免DC预测的除法运算,只使用较长一侧来计算非正方形块的平均值。
2.3.帧间预测
对于每个帧间预测CU,运动参数包括运动矢量、参考图片索引和参考图片列表使用索引,以及用于帧间预测样点生成的VVC的新编解码特征所需的附加信息。能够以显式或隐式的方式信令通知运动参数。当使用跳过模式编解码CU时,CU与一个PU相关联并且没有显著的残差系数、没有编解码的运动矢量增量或参考图片索引。规定了Merge模式,其中从相邻CU获得当前CU的运动参数,包括空域和时域候选,以及VVC中引入的附加调度。Merge模式能够应用于任何帧间预测CU,而不仅仅适用于跳过模式。Merge模式的替代方案是运动参数的显式传输,其中运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表使用标志以及其他需要的信息被每个CU显式地信令通知。
2.4.帧内块复制(IBC)
帧内块复制(IBC)是SCC上HEVC扩展中采用的工具。众所周知,它显著地提高了屏幕内容材料的编解码效率。由于IBC模式被实现为块级别的编解码模式,在编码器处执行块匹配(BM)以找到每个CU的最佳块矢量(或运动矢量)。此处,块矢量用于指示从当前块到参考块的位移,参考块已经在当前图片内重建。IBC编解码的CU的亮度块矢量是整数精度。色度块矢量也取整到整数精度。当与AMVR组合时,IBC模式能够在1像素和4像素运动矢量精度之间切换。IBC编解码的CU被视为除帧内或帧间预测模式之外的第三预测模式。IBC模式适用于宽度和高度均小于或等于64个亮度样点的CU。
在编码器侧,针对IBC执行基于哈希(Hash)的运动估计。编码器对宽度或高度不大于16个亮度样点的块执行RD检查。对于非Merge模式,首先使用基于哈希的搜索来执行块矢量搜索。如果哈希搜索未返回有效候选,则执行基于块匹配的局部搜索。
在基于哈希的搜索中,当前块和参考块之间的哈希密钥匹配(32比特CRC)被扩展到所有允许的块尺寸。当前图片中每个位置的哈希密钥计算是基于4×4子块。对于较大尺寸的当前块,当所有4×4子块的所有哈希密钥与对应参考位置中的哈希密钥匹配时,确定哈希密钥与参考块的哈希密钥匹配。如果发现多个参考块的哈希密钥与当前块的哈希密钥匹配,则计算每个匹配的参考的块矢量成本,并选择具有最小成本的那个。
在块匹配搜索中,搜索范围设置为覆盖先前和当前CTU两者。
在CU级别,以标志信令通知IBC模式,并且可以按照如下信令通知为IBC AMVP模式或IBC跳过/Merge模式:
–IBC跳过/Merge模式:Merge候选索引用于指示来自相邻候选IBC编解码块的列表中哪些块矢量用来预测当前块。Merge列表包括空域、HMVP和成对候选。
–IBC AMVP模式:以与运动矢量差相同的方式编解码块矢量差。块矢量预测方法使用两个候选作为预测值,一个来自左邻居,而另一个来自上邻居(如果IBC编解码)。当一个邻居不可用时,将使用默认块矢量作为预测器。信令通知标志以指示块矢量预测器索引。
2.5.仿射运动补偿预测
在HEVC中,运动补偿预测(MCP)仅应用平移运动模型。然而,在真实世界中可能存在多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在VVC,应用基于块的仿射变换运动补偿预测。如图3A-3B所示,块的仿射运动场由两个控制点(4参数)或三个控制点运动矢量(6参数)的运动信息来描述。
图6示出了控制点运动矢量继承的示例。
对于4参数仿射运动模型,块中样点位置(x,y)处的运动矢量导出如下:
Figure BDA0003920883110000071
对于6参数仿射运动模型,块中样点位置(x,y)处的运动矢量导出如下:
Figure BDA0003920883110000072
其中(mv0x,mv0y)是左顶角控制点的运动矢量,(mv1x,mv1y)是右顶角控制点的运动矢量,并且(mv2x,mv2y)是左底角控制点的运动矢量。
为了简化运动补偿预测,应用了基于块的仿射变换预测。为了导出每个4×4亮度子块的运动矢量,如图4所示,根据上述等式计算每个子块的中心样点的运动矢量,并取整到1/16分数精度。然后,应用运动补偿插值滤波器,用导出的运动矢量生成每个子块的预测。色度分量的子块尺寸也被设置为4×4。4×4色度子块的MV计算为四个对应的4×4亮度子块的MV的平均值。
与平移运动帧间预测一样,也有两种仿射运动帧间预测模式:仿射merge模式和仿射AMVP模式。
2.5.1.仿射Merge预测
AF_MERGE模式可以应用于宽度和高度两者均大于或等于8的CU。在这种模式下,基于空域相邻CU的运动信息生成当前CU的CPMV。最多可以有五个CPMVP候选,并且信令通知索引以指示要用于当前CU的那个CPMVP候选。以下三种类型的CPVM候选用于形成仿射Merge候选列表:
--从相邻CU的CPMV推断的继承的仿射Merge候选
--使用相邻CU的平移(translational)MV导出的构建仿射Merge候选CPMVP
--零MV
在VVC中,最多有两个继承的仿射候选,它们是从相邻块的仿射运动模型导出的,一个来自左相邻CU,而一个来自上方的相邻CU。候选块在图5中示出。对于左预测器,扫描顺序为A0->A1,而对于上方的预测器,扫描顺序为B0->B1->B2。仅选择来自每一侧的第一继承的候选。在两个继承的候选之间不执行修剪检查。当标识到相邻仿射CU时,其控制点运动矢量被用于导出当前CU的仿射Merge列表中的CPMVP候选。如图所示,如果以仿射模式对相邻左底块A进行编解码,则获得包含块A的CU的左顶角、右上角和左底角的运动矢量v2、v3和v4。当使用4参数仿射模型对块A进行编解码时,根据v2和v3计算当前CU的两个CPMV。在块A用6参数仿射模型进行编解码的情况下,根据v2、v3和v4计算当前CU的三个CPMV。
构建仿射候选是指通过组合每个控制点的相邻平移运动信息来构建候选。控制点的运动信息是从图7所示的规定的空域相邻和时域相邻导出的。CPMVk(k=1,2,3,4)表示第k个控制点。对于CPMV1,检查B2->B3->A2块,并使用第一可用块的MV。对于CPMV2,检查B1->B0块,并且对于CPMV3,检查A1->A0块。对于TMVP(如果可用)用作CPMV4
在获得四个控制点的MV之后,基于那些运动信息构建仿射Merge候选。控制点MV的以下组合用于按顺序构建:
{CPMV1,CPMV2,CPMV3},{CPMV1,CPMV2,CPMV4},{CPMV1,CPMV3,CPMV4},{CPMV2,CPMV3,CPMV4},{CPMV1,CPMV2},{CPMV1,CPMV3}
3个CPMV的组合构建6参数的仿射Merge候选,而2个CPMV的组合构建4参数的仿射Merge候选。为了避免运动缩放处理,如果控制点的参考索引不同,则丢弃控制点MV的相关组合。
在检查了继承的仿射Merge候选和构建的仿射Merge候选之后,如果列表仍然不完整,则将零MV插入到列表的末尾。
2.5.2.仿射AMVP预测
仿射AMVP模式可应用于宽度和高度两者均大于或等于16的CU。在比特流中信令通知CU级别的仿射标志以指示是否使用仿射AMVP模式,然后信令通知另一标志以指示是使用4参数仿射还是6参数仿射。在这种模式下,在比特流中信令通知当前CU的CPMV和其预测器CPMVP的差。仿射AVMP候选列表尺寸为2,并且其通过使用以下四种类型的CPVM候选顺序来生成:
--从相邻CU的CPMV推断的继承的仿射AMVP候选
--使用相邻CU的平移MV导出的构建仿射AMVP候选CPMVP
--来自相邻CU的平移MV
--零MV
继承的仿射AMVP候选的检查顺序与继承的仿射Merge候选的检查顺序相同。唯一的区别是,对于AVMP候选,仅考虑具有与当前块中相同的参考图片的仿射CU。在将继承的仿射运动预测器插入候选列表时,不应用修剪处理。
构建的AMVP候选是从图7中所示的规定的空域相邻中导出的。使用与仿射Merge候选构建中相同的检查顺序。另外,还检查相邻块的参考图片索引。使用检查顺序中的第一块,该块进行了帧间编解码并具有与当前CU中相同的参考图片。只有一个当前CU,当使用4参数仿射模式对当前CU进行编解码并且mv0和mv1两者都可用时,会将它们添加到仿射AMVP列表中作为一个候选。当使用6参数仿射模式对当前CU进行编解码,并且所有三个CPMV均可用时,会将它们添加到仿射AMVP列表中作为一个候选。否则,构建的AMVP候选将被设置为不可用。
如果在检查继承的仿射AMVP候选和构建的AMVP候选之后,仿射AMVP列表候选仍小于2,则将依次添加mv0、mv1和mv2,作为平移MV来预测当前CU的所有控制点MV(如果可用)。最后,如果仿射AMVP列表仍未满,则使用零MV来填充。
2.5.3.仿射运动信息存储
在VVC中,仿射CU的CPMV存储在单独的缓冲器中。存储的CPMV仅用于为最近编解码的CU以仿射Merge模式和仿射AMVP模式生成继承的CPMVP。从CPMV导出的子块MV用于运动补偿、平移MV的Merge/AMVP列表的MV导出以及去块。
为了避免用于附加CPMV的图片行缓冲器,将来自CTU上方的CU的仿射运动数据继承与来自常规相邻CU的继承进行区别对待。如果用于仿射运动数据继承的候选CU在CTU行的上方,则将行缓冲器中的左底和右底子块MV代替CPMV用于仿射MVP导出。这样,CPMV仅存储在本地缓冲器中。如果候选CU是6参数仿射编解码的,则仿射模型降级为4参数模型。如图8所示,沿着顶部CTU边界,CU的左底和右底子块运动矢量被用于底部CTU中的CU的仿射继承。
2.5.4.用于仿射模式的具有光流的预测细化
与基于像素的运动补偿相比,基于子块的仿射运动补偿可以节省存储器访问带宽并降低计算复杂度,但代价是预测精度损失。为了获得更精细的运动补偿粒度,使用具有光流的预测细化(PROF)来细化基于子块的仿射运动补偿预测,而不增加用于运动补偿的存储器访问带宽。在VVC中,在进行基于子块的仿射运动补偿之后,通过添加由光流等式导出的差来细化亮度预测样点。PROF被描述为以下四个步骤。
步骤1)进行基于子块的仿射运动补偿以生成子块预测I(i,j)。
步骤2)使用3-抽头滤波器[-1,0,1]在每个样点位置计算子块预测的空域梯度gx(i,j)和gy(i,j)。梯度计算与BDOF中的梯度计算完全相同。
gx(i,j)=(I(i+1,j)>>shift1)-(I(i-1,j)>>shift1) (2-3)
gy(i,j)=(I(f,j+1)>>shift1)-(I(i,j-1)>>shift1) (2-4)
shift1用于控制梯度的精度。子块(例如4x4)预测在每一侧上被扩展一个像素以用于梯度计算。为了避免额外的存储器带宽和额外的插值计算,扩展边界上的那些扩展样点从参考图片中最近的整数像素位置复制。
步骤3)通过以下光流等式计算亮度预测细化。
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j) (2-5)
其中,Δv(i,j)是针对样点位置(i,j)计算的样点MV(表示为Δv(i,j))与样点(i,j)所属的子块的子块MV之间的差,如图9所示。以1/32亮度样点精度为单位对Δv(i,j)进行量化。
由于仿射模型参数和相对于子块中心的样点位置在子块之间没有变化,Δv(i,j)可以针对第一子块进行计算,并重新用于同一CU中的其他子块。假设dx(i,j)和dy(i,j)为从样点位置(i,j)到子块(xSB,ySB)的中心的水平和垂直偏移,Δv(x,y)可以通过以下等式导出,
Figure BDA0003920883110000101
Figure BDA0003920883110000102
为了保持精度,子块(xSB,ySB)的输入计算为((WSB-1)/2,(HSB-1)/2),其中WSB和HSB分别是子块的宽度和高度。
对于4参数仿射模型,
Figure BDA0003920883110000103
对于6参数仿射模型,
Figure BDA0003920883110000111
其中(v0x,v0y)、(v1x,v1y)、(v2x,v2y)是左顶、右顶和左底控制点运动矢量,w和h是CU的宽度和高度。
步骤4)最后,将亮度预测细化ΔI(i,j)添加到子块预测I(i,j)中。最终预测I'由以下等式生成。
I′(i,j)=I(i,j)+ΔI(i,j) (3-10)
PROF不适用于仿射编解码CU的两种情况:1)所有控制点MV都相同,这表明CU只有平移运动;2)仿射运动参数大于规定限制,因为基于子块的仿射MC被降级为基于CU的MC以避免大的存储器访问带宽需求。
应用一种快速编码方法来降低仿射运动估计的编码复杂度。在以下两种情况下,在仿射运动估计阶段不应用PROF:a)如果该CU不是根块并且其父块没有选择仿射模式作为其最佳模式,则不应用PROF,因为当前CU可能选择仿射模式,因为最佳模式低;b)如果四个仿射参数(C、D、E、F)的幅度都小于预定义的阈值,并且当前图片不是低延迟图片,则不应用PROF,因为PROF引入的改进在这种情况下很小。这样,可以加速具有PROF的仿射运动估计。
2.6.块分割的示例可用性过程
6.4.1允许的四划分过程
这个过程的输入是:
–亮度样点中的编解码块尺寸cbSize,
–多类型树深度mttDepth,
–变量treeType,规定是使用单树(SINGLE_TREE)还是双树来分割编解码树节点,并且当使用双树时,当前处理的是否是亮度(DUAL_TREE_LUMA)或色度分量(DUAL_TREE_CHROMA),
–变量modeType,规定是否可以使用帧内(MODE_INTRA)、IBC(MODE_IBC)和帧间编解码模式(MODE_TYPE_ALL),或者是否只能使用帧内和IBC编解码模式(MODE_TYPE_INTRA),或者是否只能使用帧间编解码模式(MODE_TYPE_INTER)用于编解码树节点内的编解码单元。这个过程的输出是变量allowSplitQt。
变量allowSplitQt导出如下:
–如果以下一个或多个条件为真,则将allowSplitQt设置为等于FALSE:
–treeType等于SINGLE_TREE或DUAL_TREE_LUMA并且cbSize小于或等于MinQtSizeY
–treeType等于DUAL_TREE_CHROMA并且cbSize小于或等于(MinQtSizeC*SubHeightC/SubWidthC)
–mttDepth不等于0
–treeType等于DUAL_TREE_CHROMA并且(cbSize/SubWidthC)小于或等于4
–treeType等于DUAL_TREE_CHROMA并且modeType等于MODE_TYPE_INTRA
–否则,allowSplitQt设置为等于TRUE。
6.4.2允许二元划分过程
这个过程的输入是:
–二元划分模式btSplit,
–亮度样点中的编解码块宽度cbWidth,
–亮度样点中的编解码块高度cbHeight,
–所考虑的编解码块的左顶亮度样点相对于图片的左顶亮度样点的位置(x0,y0),
–多类型树深度mttDepth,
–具有偏移maxMttDepth的最大多类型树深度,
–最大二叉树尺寸maxBtSize,
–最小四叉树尺寸minQtSize,
–分割索引partIdx,
–变量treeType,规定是否使用单树(SINGLE_TREE)或双树来分割编解码树节点,并且当使用双树时,当前处理的是否是亮度(DUAL_TREE_LUMA)或色度分量(DUAL_TREE_CHROMA),
–变量modeType,规定是否可以使用帧内(MODE_INTRA)、IBC(MODE_IBC)和帧间编解码模式(MODE_TYPE_ALL),或者是否只能使用帧内和IBC编解码模式(MODE_TYPE_INTRA),或者是否只能使用帧间编解码模式(MODE_TYPE_INTER)用于编解码树节点内的编解码单元。
这个过程的输出是变量allowBtSplit。
表2-1.基于btSplit的parallelTtSplit和cbSize规范
btSplit==SPLIT_BT_VER btSplit==SPLIT_BT_HOR
parallelTtSplit SPLIT_TT_VER SPLIT_TT_HOR
cbSize cbWidth cbHeight
变量parallelTtSplit和cbSize的导出如表2-1中规定的那样。
变量allowBtSplit导出如下:
–如果以下一个或多个条件为真,则将allowBtSplit设置为等于FALSE:
–cbSize小于或等于MinBtSizeY
–cbWidth大于maxBtSize
–cbHeight大于maxBtSize
–mttDepth大于或等于maxMttDepth
–treeType等于DUAL_TREE_CHROMA并(cbWidth/SubWidthC)*(cbHeight/SubHeightC)小于或等于16
–treeType等于DUAL_TREE_CHROMA并且(cbWidth/SubWidthC)等于4并且btSplit等于SPLIT_BT_VER
–treeType等于DUAL_TREE_CHROMA并且modeType等于MODE_TYPE_INTRA
–cbWidth*cbHeight等于32并且modeType等于MODE_TYPE_INTER
–否则,如果以下所有条件都为真,则将allowBtSplit设置为等于FALSE
–btSplit等于SPLIT_BT_VER
–y0+cbHeight大于pic_height_in_luma_samples
–否则,如果以下所有条件都为真,则将allowBtSplit设置为等于FALSE
–btSplit等于SPLIT_BT_VER
–cbHeight大于64
–x0+cbWidth大于pic_width_in_luma_samples
–否则,如果以下所有条件都为真,则将allowBtSplit设置为等于FALSE
–btSplit等于SPLIT_BT_HOR
–cbWidth大于64
–y0+cbHeight大于pic_height_in_luma_samples
–否则,如果以下所有条件都为真,则将allowBtSplit设置为等于FALSE
–x0+cbWidth大于pic_width_in_luma_samples
–y0+cbHeight大于pic_height_in_luma_samples
–cbWidth大于minQtSize
–否则,如果以下所有条件都为真,则将allowBtSplit设置为等于FALSE
–btSplit等于SPLIT_BT_HOR
–x0+cbWidth大于pic_width_in_luma_samples
–y0+cbHeight小于或等于pic_height_in_luma_samples
–否则,如果以下所有条件都为真,则将allowBtSplit设置为等于FALSE:
–mttDepth大于0
–partIdx等于1
–MttSplitMode[x0][y0][mttDepth-1]是等于parallelTtSplit
–否则,如果以下所有条件都为真,则将allowBtSplit设置为等于FALSE
–btSplit等于SPLIT_BT_VER
–cbWidth小于等于64
–cbHeight大于64
–否则,如果以下所有条件都为真,则将allowBtSplit设置为等于FALSE
–btSplit等于SPLIT_BT_HOR
–cbWidth大于64
–cbHeight小于等于64
–否则,allowBtSplit设置为等于TRUE。
6.4.3允许三元划分过程
这个过程的输入是:
–三元划分模式ttSplit,
–亮度样点中的编解码块宽度cbWidth,
–亮度样点中的编解码块高度cbHeight,
–所考虑的编解码块的左顶亮度样点相对于图片的左顶亮度样点的位置(x0,y0),
–多类型树深度mttDepth
–具有偏移maxMttDepth的最大多类型树深度,
–最大三叉树尺寸maxTtSize,
–变量treeType,规定是使用单树(SINGLE_TREE)还是双树来分割编解码树节点,当使用双树时,当前处理的是亮度(DUAL_TREE_LUMA)还是色度分量(DUAL_TREE_CHROMA),
–变量modeType,规定是否可以使用帧内(MODE_INTRA)、IBC(MODE_IBC)和帧间编解码模式(MODE_TYPE_ALL),或者是否只能使用帧内和IBC编解码模式(MODE_TYPE_INTRA),或者是否只能使用帧间编解码模式(MODE_TYPE_INTER)用于编解码树节点内的编解码单元。
这个过程的输出是变量allowTtSplit。
表2-2.基于ttSplit的cbSize规范
ttSplit==SPLIT_TT_VER ttSplit==SPLIT_TT_HOR
cbSize cbWidth cbHeight
变量cbSize的导出如表2-2所规定。
变量allowTtSplit导出如下:
–如果以下一个或多个条件为真,则将allowTtSplit设置为等于FALSE:
–cbSize小于等于2*MinTtSizeY
–cbWidth大于Min(64,maxTtSize)
–cbHeight大于Min(64,maxTtSize)
–mttDepth大于或等于maxMttDepth
–x0+cbWidth大于pic_width_in_luma_samples
–y0+cbHeight大于pic_height_in_luma_samples
–treeType等于DUAL_TREE_CHROMA并且(cbWidth/SubWidthC)*(cbHeight/SubHeightC)小于或等于32
–treeType等于DUAL_TREE_CHROMA并且(cbWidth/SubWidthC)等于8并且ttSplit等于SPLIT_TT_VER
–treeType等于DUAL_TREE_CHROMA并且modeType等于MODE_TYPE_INTRA
–cbWidth*cbHeight等于64并且modeType等于MODE_TYPE_INTER—否则,allowTtSplit设置为等于TRUE。
6.4.4相邻块可用性的导出过程
这个过程的输入是:
–当前块的左顶样点相对于当前图片的左顶亮度样点的亮度位置(xCurr,yCurr),
–相对于当前图片的左顶亮度样点,相邻块覆盖的亮度位置(xNbY,yNbY),
–变量checkPredModeY,规定可用性是否取决于预测模式,
–变量cIdx,规定当前块的颜色分量。
此过程的输出是覆盖该位置(xNbY,yNbY)的相邻块的可用性,表示为availableN。
相邻块可用性availableN的导出如下:
–如果以下一个或多个条件为真,availableN设置为等于FALSE:
–xNbY小于0。
–yNbY小于0。
–xNbY大于或等于pic_width_in_luma_samples。
–yNbY大于或等于pic_height_in_luma_samples。
—IsAvailable[cIdx][xNbY][yNbY]等于FALSE。
–相邻块包含在与当前块不同的条带中。
–相邻块包含在与当前块不同的片中。
–sps_entropy_coding_sync_enabled_flag等于1并且(xNbY>>CtbLog2SizeY)大于或等于(xCurr>>CtbLog2SizeY)+1。
—否则,availableN设置为等于TRUE。
当以下所有条件都为真时,availableN设置为等于FALSE:
—checkPredModeY等于TRUE。
—availableN设置为等于TRUE。
–CuPredMode[0][xNbY][yNbY]不等于CuPredMode[0][xCurr][yCurr]。
2.7.自适应运动矢量精度(AMVR)
在HEVC中,当条带标头中的use_integer_mv_flag等于0时,以四分之一亮度样点为单位信令通知(CU的运动矢量和预测运动矢量之间的)运动矢量差(MVD)。在VVC中,引入了CU级别自适应运动矢量精度(AMVR)方案。AMVR允许以不同的精度对CU的MVD进行编解码。根据当前CU的模式(普通AMVP模式或仿射AVMP或IBC模式),当前CU的MVD可以自适应选择如下:
–正常AMVP模式:1/4亮度样点、1/2亮度样点、1亮度样点或4亮度样点。
–仿射AMVP模式:1/4亮度样点、1亮度样点或1/16亮度样点。
–IBC模式:1亮度样点或1/4亮度样点。
如果当前CU具有至少一个非零MVD分量,则有条件地信令通知CU级别MVD精度指示。如果所有MVD分量(即,参考列表L0和参考列表L1的水平和垂直MVD两者)都为零,则推断1/4亮度样点MVD精度。
对于使用具有至少一个非零MVD分量的正常AMVP帧间模式(非IBC、非仿射)编解码的CU,信令通知第一标志(例如amvr_flag)以指示1/4亮度样点MVD精度是否用于CU。如果第一标志为0,则不需要进一步的信令通知,并且1/4亮度样点MVD精度用于当前CU。否则,第二标志(例如,amvr_precision_idx的第一二进制位)被信令通知以指示1/2亮度样点或其他MVD精度(1亮度样点或4亮度样点)用于正常AMVP CU。在1/2亮度样点的情况下,6抽头插值滤波器而不是默认的8抽头插值滤波器用于1/2亮度样点位置。否则,信令通知第三标志(例如,amvr_precision_idx的第二二进制位)以指示1亮度样点或4亮度样点MVD精度是否用于正常AMVP CU。
对于使用仿射AMVP模式编解码的CU,第二标志用于指示是使用1亮度样点还是1/16亮度样点MVD精度。
对于使用IBC模式编解码的CU,第一标志未被信令通知并被推断为等于1。
在AMVR的当前设计中,amvr_flag等于0规定运动矢量差值的精度是1/4亮度样点。amvr_flag等于1规定运动矢量差值的精度由amvr_precision_idx进一步规定。
amvr_precision_idx规定AmvrShift的运动矢量差值的精度在表2-3中定义。
AMVR的示例语法表
7.3.10.5编解码单元语法
Figure BDA0003920883110000191
Figure BDA0003920883110000201
Figure BDA0003920883110000211
Figure BDA0003920883110000221
更具体地说,用于对amvr_flag和amvr_precision_idx的二进制位串进行编解码的二进制位串和上下文定义如下:
Figure BDA0003920883110000231
Figure BDA0003920883110000232
Figure BDA0003920883110000233
Figure BDA0003920883110000234
Figure BDA0003920883110000241
7.4.11.5编解码单元语义
amvr_precision_idx[x0][y0]规定AmvrShift的运动矢量差值的精度在表2-3中定义。数组索引x0,y0规定所考虑的编解码块的左顶亮度样点相对于图片的左顶亮度样点的位置(x0,y0)。
当amvr_precision_idx[x0][y0]不存在时,其被推断为等于0。
表2-3.AmvrShift规格
Figure BDA0003920883110000242
9.3.3二值化过程
表126–语法元素和相关的二值化
Figure BDA0003920883110000243
Figure BDA0003920883110000251
Figure BDA0003920883110000261
9.3.2.2上下文变量的初始化过程
表51-初始化过程中每个初始化类型的ctxIdx和语法元素的关联
Figure BDA0003920883110000271
表88–amvr_flag的ctxIdx的initValue和shiftIdx规范
Figure BDA0003920883110000272
表89–amvr_precision_idx的ctxIdx的initValue和shiftIdx规范
Figure BDA0003920883110000273
9.3.4.2ctxTable、ctxIdx和bypassFlag的导出过程
9.3.4.2.1概述
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000274
2.8.划分信息
在VVC,使用二元和三元划分分割结构的具有嵌套多类型树的四叉树代替了多分割单元类型的概念,例如,其移除了CU、PU和TU概念的分开,除了尺寸对于最大变换长度而言过大的CU,并支持CU分割形状的更大灵活性。在编解码树结构中,CU可以具有正方形或矩形形状。编解码树单元(CTU)首先由四树(也称为四叉树)结构分割。然后,可以通过多类型树结构进一步分割四树叶节点。如图10所示,多类型树结构中有四种划分类型,垂直二元划分(SPLIT_BT_VER)、水平二元划分(SPLIT_BT_HOR)、垂直三元划分(SPLIT_TT_VER)、水平三元划分(SPLIT_TT_HOR)。多类型树叶节点被称为编解码单元(CU),除非CU对于最大变换长度来说太大,否则这种分割用于预测和变换处理,而不需要进一步分割。这意味着,在大多数情况下,CU、PU和TU在具有嵌套多类型树编解码块结构的四叉树中具有相同的块尺寸。当支持的最大变换长度小于CU的颜色分量的宽度或高度时,会发生例外。
图11示出了具有嵌套多类型树编解码树结构的四叉树中的分割划分信息的信令通知机制。编解码树单元(CTU)被视为四树的根,并且首先被四树结构分割。每个四树叶节点(当足够大以允许它时)然后被多类型树结构进一步分割。在多类型树结构中,第一标志(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),如表2-4所示。
表2-4.基于多类型树语法元素的MttSplitMode导出
Figure BDA0003920883110000281
mtt_split_cu_vertical_flag等于0规定编解码单元被水平划分。mtt_split_cu_vertical_flag等于1规定编解码单元被垂直划分。
当mtt_split_cu_vertical_flag不存在时,其被推断如下:
–如果allowSplitBtHor等于TRUE或allowSplitTtHor等于TRUE,则mtt_split_cu_vertical_flag的值被推断为等于0。
–否则,mtt_split_cu_vertical_flag的值被推断为等于1。
mtt_split_cu_vertical_flag的示例语法表
9.3.2.2上下文变量的初始化过程
表51-初始化过程中每个初始化类型的ctxIdx和语法元素的关联
Figure BDA0003920883110000291
表61–mtt_split_cu_vertical_flag的ctxInc的initValue和shiftIdx规范
Figure BDA0003920883110000292
9.3.4.2ctxTable、ctxIdx和bypassFlag的导出过程
9.3.4.2.1概述
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000293
9.3.4.2.3语法元素mtt_split_cu_vertical_flag的ctxInc的导出过程
此过程的输入是亮度位置(x0,y0),其规定相对于当前图片的左顶样点的当前亮度块的左顶亮度样点,双树通道类型chType,亮度样点中当前编解码块的宽度和高度cbWidth和cbHeight,以及在条款7.4.11.4中的编解码树语义中导出的变量allowSplitBtVer、allowSplitBtHor、allowSplitTtVer、allowSplitTtHor和allowSplitQt。
此过程的输出是ctxInc。
位置(xNbL,yNbL)设置为等于(x0-1,y0),并且调用条款6.4.4中规定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)设置为等于(x0,y0)并且相邻位置(xNbY,yNbY)设置为等于(xNbL,yNbL),checkPredModeY设置为等于FALSE,并且cIdx作为输入,并且输出分配给availableL。
将位置(xNbA,yNbA)设置为等于(x0,y0-1),调用条款6.4.4中规定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)设置为等于(x0,y0),相邻位置(xNbY,yNbY)设置为等于(xNbA,yNbA),checkPredModeY设置为等于FALSE,并且cIdx作为输入,并将输出分配给availableA。
ctxInc的分配规定如下:
–如果allowSplitBtVer+allowSplitBtHor大于allowSplitTtVer+allowSplitTtHor,则ctxInc设置为等于4。
–否则,如果allowSplitBtVer+allowSplitBtHor小于allowSplitTtVer+allowSplitTtHor,则ctxInc设置为等于4。
–否则,以下适用:
–变量dA和dL的导出如下
dA=cbWidth/(availableA?CbWidth[chType][xNbA][yNbA]:1) (1563)
dL=cbHeight/(availableL?CbHeight[chType][xNbL][yNbL]:1) (1564)
–如果以下任一条件为真,则ctxInc设置为等于0:
–dA等于dL,
–availableA等于FALSE,
–availableL等于FALSE。
–否则,如果dA小于dL,则ctxInc设置为等于1。
否则,将ctxInc设置为等于0。
2.9.变换跳过模式下的系数编解码
在当前的VVC草案中,与非TS系数编解码相比,对变换跳过(TS)模式下的系数编解码提出了一些修改,以使残差编解码适应变换跳过级别的统计和信令通知特性。
7.3.10.11残差编解码语法
Figure BDA0003920883110000301
Figure BDA0003920883110000311
Figure BDA0003920883110000321
Figure BDA0003920883110000331
Figure BDA0003920883110000341
Figure BDA0003920883110000351
Figure BDA0003920883110000361
Figure BDA0003920883110000362
Figure BDA0003920883110000371
Figure BDA0003920883110000381
Figure BDA0003920883110000391
Figure BDA0003920883110000401
2.9.1.符号标志coeff_sign_flag的上下文建模和上下文索引偏移导出
表51-初始化过程中每个初始化类型的ctxIdx和语法元素的关联
Figure BDA0003920883110000402
表125–coeff_sign_flag的ctxInc的initValue和shiftIdx规范
Figure BDA0003920883110000403
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000404
Figure BDA0003920883110000411
9.3.4.2.10用于变换跳过模式的语法元素coeff_sign_flag的ctxInc导出过程
此过程的输入是颜色分量索引cIdx、规定相对于当前图片的左顶样点的当前变换块的左顶样点的亮度位置(x0,y0)、当前系数扫描位置(xC,yC)。
此过程的输出是变量ctxInc。
变量left Sign和aboveSign导出如下:
leftSign=(xC==0)?0:CoeffSignLevel[xC-1][yC] (1595)
aboveSign=(yC==0)?0:CoeffSignLevel[xC][yC-1] (1596)
变量ctxInc导出如下:
–如果left Sign等于0并且aboveSign等于0,或者如果leftSign等于-aboveSign,
则以下适用:
ctxInc=(BdpcmFlag[x0][y0][cIdx]==0?0:3) (1597)
–否则,如果leftSign大于或等于0且aboveSign大于或等于0,则以下适用:
ctxInc=(BdpcmFlag[x0][y0][cIdx]?1:4) (1598)
–否则,以下适用:
ctxInc=(BdpcmFlag[x0][y0][cIdx]?2:5) (1599)
3.公开的技术方案和实施例解决的技术问题
AMVR精度索引和划分CU垂直标志的上下文的导出过程的当前设计具有以下问题:
1.规定块被水平或垂直划分的语法元素(例如,mtt_split_cu_vertical_flag)的上下文建模取决于“allowSplitBtVer+allowSplitBtHor”和“allowSplitTtVer+allowSplitTtHor”之间的关系。然而,注意到与允许BT/TT水平相比,划分信息与允许BT/TT垂直之间的相关性更高。
2.当前VVC中,AMVR精度索引(例如amvr_precision_idx)的第一二进制位使用一个上下文进行上下文编解码,而不考虑该块是使用IBC模式还是仿射模式还是正常帧间模式(非IBC,非仿射)。编解码AMVR精度索引可能效率较低。此外,对于要为具有正常帧间模式的块编解码的amvr_precision_idx的第二二进制位,它使用与用于amvr_precision_idx的第一二进制位的上下文不同的单独上下文。当对语法元素的编解码频率较低时,用于对语法元素进行编解码的多个上下文可能不是最佳的。
3.虽然系数编解码可以在屏幕内容编解码上实现编解码优势,但系数编解码和TS模式可能仍然存在一些缺陷。
a.对于这种情况,是否对符号标志使用旁路编解码或上下文编解码尚不清楚:
i.剩余的允许上下文编解码二进制位的数量(由RemCcbs表示)等于0。
ii.当前块用TS模式编解码。
iii.slice_ts_residual_coding_disabled_flag为假。
4.技术方案和实施例列表
以下项目应被视为解释一般概念的示例。不应狭隘地解释这些项目。此外,这些项目可以以任何方式组合。
在本公开中,术语AMVR表示自适应运动矢量差精度用于运动矢量(MV)/MV差(MVD)编解码或MV预测器(MVP)的编解码工具。它不限于VVC中描述的AMVR和块分割技术。
术语amvr_precision_idx表示规定可允许运动矢量差精度的索引(或指示符)的语法元素。在一个示例中,它可能是VVC文本中定义的amvr_precision_idx。请注意,amvr_precision_idx可能被二进制化为可能包含一个或多个二进制位的二进制位串。
术语mtt_split_cu_vertical_flag表示规定编解码块是否被垂直分割的语法元素。在一个示例中,它可以是在VVC文本中定义的mtt_split_cu_vertical_flag。amvr_ precision_idx的上下文导出
1.用于指示AMVR(例如amvr_precision_idx和/或amvr_flag)的使用的语法元素(SE)的二进制位串的第一(其中二进制位索引等于0)和/或其他二进制位的上下文建模(例如,如何选择上下文)可以取决于当前块和/或相邻块的编解码信息(例如,编解码模式)。
a.在一个示例中,编解码信息可以包括以下至少一个:IBC、仿射AMVR和正常帧间(例如,非IBC、非仿射)模式、双向预测和/或单向预测、当前块的块维度和/或相邻块的块维度,并且不同的上下文可用于根据编解码信息对二进制位(例如,第一二进制位)进行编解码。
i.或者,此外,用由CtxM表示的单个上下文对IBC编解码块的SE的一个二进制位(例如,第一二进制位)进行编解码。
ii.或者,此外,用由CtxN表示的单个上下文对仿射编码块的SE的一个二进制位(例如,第一二进制位)进行编解码。
iii.或者,此外,用由CtxP表示的单个上下文对正常帧间(例如,非仿射和非IBC)编解码块的SE的一个二进制位(例如,第一二进制位)进行编解码。
iv.或者,此外,三个上下文CtxM、CtxN和CtxP中的至少一个不同于其他两个。
v.或者,此外,三个上下文CtxM、CtxN和CtxP中的每一个都与其他上下文不同。
vi.例如,对于双向预测的块,用由CtxBi表示的单个上下文对SE的一个二进制位(例如,第一二进制位)进行编解码,而对于单预测的编解码块,用由CtxUni表示的单个上下文对SE的一个二进制位(例如,第一二进制位)进行编解码。1)在一个示例中,CtxBi与CtxUni不同。
b.在一个示例中,可以使用多于一个上下文来对SE的二进制位串的第一二进制位和/或其他二进制位进行编解码。
i.在一个示例中,X个上下文可用于第一二进制位,其中X>1。
1)在一个示例中,X=3。
a)或者,此外,上下文的选择取决于编解码信息(例如,上述模式)。
2)在一个示例中,X=2。
a)或者,此外,上下文的选择取决于编解码信息(例如,上述模式),并且一个上下文用于IBC编解码块,而另一个用于(例如,用仿射或正常帧间编解码的)其他块。
b)或者,此外,上下文的选择取决于编解码信息(例如,上述模式),并且一个上下文用于IBC和仿射AMVR编解码块,而另一个用于(例如,用正常帧间编解码的)其他块。
c.在一个示例中,取决于编解码信息(例如,编解码模式)的SE的二进制位串的第一(其中二进制位索引等于0)和/或其他二进制位的不同模型可以用不同的初始化值来初始化。
d.在一个示例中,取决于编解码信息(例如,编解码模式)的SE的二进制位串的第一(其中二进制位索引等于0)和/或其他二进制位的不同模型可以用相同的初始化值来初始化。
2.代替对amvr_precision_idx的二进制位串的第一和第二二进制位使用不同的上下文,建议用于编解码第二二进制位的上下文可以与用于编解码二进制位串的第一二进制位的一个或多个上下文相同。
a.或者,二进制位串的第二二进制位仅针对正常帧间(例如,非仿射和非IBC)编解码块进行编解码。
b.或者,用由CtxQ表示的单个上下文对二进制位串的第二二进制位进行编解码。
c.或者,此外,相同的上下文可用于对IBC编解码块的amvr_precision_idx的第一二进制位和正常帧间编解码块的amvr_precision_idx的第二二进制位进行编解码。
d.或者,此外,相同的上下文可用于对仿射编解码块的amvr_precision_idx的第一二进制位和正常帧间编解码块的amvr_precision_idx的第二二进制位进行编解码。
e.或者,此外,相同的上下文可用于对正常帧间编解码块的amvr_precision_idx的第一二进制位和正常帧间编解码块的amvr_precision_idx的第二二进制位进行编解码。
3.相同的上下文可用于对IBC编解码块(由CtxM表示)的amvr_precision_idx的第一二进制位和正常帧间编解码块(由CtxQ表示)的amvr_precision_idx的第二二进制位进行编解码,例如CtxM=CtxQ。
a.在一个示例中,X1(例如X1=3)上下文可以用于编解码amvr_precision_idx。
b.或者,此外,可以利用用于对非IBC编解码块的amvr_precision_idx的二进制位串的第一二进制位进行编解码的不同上下文。
4.相同的上下文可用于对IBC编解码块的amvr_precision_idx的第一二进制位、仿射编解码块的amvr_precision_idx的第一二进制位以及正常帧间编解码块的amvr_precision_idx的第一二进制位进行编解码,例如CtxM=CtxN=CtxP。
a.在一个示例中,X2(例如X2=2)上下文可用于编解码amvr_precision_idx。
b.或者,此外,可以利用用于对非IBC和非仿射编解码块的amvr_precision_idx的二进制位串的第一二进制位进行编解码的不同上下文。
5.相同的上下文可用于对IBC编解码块的amvr_precision_idx的第一二进制位和正常帧间编解码块的amvr_precision_idx的第一二进制位进行编解码,例如CtxM=CtxP。
a.在一个示例中,X3(例如X3=3)上下文可以用于编解码amvr_precision_idx。
b.或者,此外,可以利用用于对非IBC和(例如,用仿射AMVR编解码的)非正常帧间编解码块的amvr_precision_idx的二进制位串的第一二进制位进行编解码的不同上下文。
c.或者,此外,可以利用用于对amvr_precision_idx的二进制位串的第二二进制位进行编解码的不同上下文。
6.相同的上下文可用于对IBC编解码块的amvr_precision_idx的第一二进制位和仿射编解码块的amvr_precision_idx的第一二进制位进行编解码,例如CtxM=CtxN。
7.相同的上下文可用于对IBC编解码块、仿射编解码块和正常帧间编解码块的amvr_precision_idx的所有二进制位进行编解码。
a.在一个示例中,单个上下文可用于编解码amvr_precision_idx。
8.多个上下文可用于对IBC编解码块、仿射编解码块和正常帧间编解码块的amvr_precision_idx的第一二进制位进行编解码,并且单个上下文可用于对与用于对第二二进制位进行编解码,这与用于对第一二进制位进行编解码的那些上下文不同。
a.在一个示例中,X4(例如X4=4)上下文可用于编解码amvr_precision_idx。
b.例如,CtxM!=CtxQ!=CtxN!=CtxP。
9.建议用于编解码amvr_precision_idx的至少一个上下文可以与用于编解码amvr_flag的上下文相同。
a.对仿射编解码块的AMVR标志(例如,amvr_flag)进行编解码的相同上下文可用于IBC编解码块的amvr_precision_idx的第一二进制位,或/和仿射编解码块的amvr_precision_idx的第一二进制位,或/和正常帧间编解码块的amvr_precision_idx的第一二进制位或/和第二二进制位。
b.对非仿射编解码块的AMVR标志(例如,amvr_flag)进行编解码的相同上下文可用于IBC编解码块的amvr_precision_idx的第一二进制位,或/和仿射编解码块的amvr_precision_idx的第一二进制位,或/和正常帧间编解码块的amvr_precision_idx的第一二进制位或/和第二二进制位。
c.amvr_precision_idx的第一二进制位的上下文建模取决于是否对块应用仿射模式。
i.或者,此外,一个上下文用于对仿射编解码块的第一二进制位进行编解码,而另一个上下文用于非仿射编解码块(例如,包括正常帧间和IBC编解码块)。
ii.或者,此外,第一上下文用于对仿射编解码块的第一二进制位进行编解码,而第二上下文用于非仿射编解码块(例如,包括正常帧间和IBC编解码块)。并且第一上下文与用于编解码仿射编解码块的amvr_flag的上下文相同;而第二上下文与用于编解码非仿射编解码块的amvr_flag的上下文相同。
mtt_split_cu_vertical_flag的上下文导出
假设变量allowSplitBtVer、allowSplitBtHor、allowSplitTtVer和allowSplitTtHor表示当前编解码树节点是否分别允许垂直BT划分、水平BT划分、垂直TT划分和水平TT划分。并且allowSplitBtVer、allowSplitBtHor、allowSplitTtVer和allowSplitTtHor的值可以等于0或1,这在章节2.6中导出。分别用curW、curH、leftW、leftH、aboveW和aboveH表示当前块的宽度、当前块的高度、左相邻块的宽度,左相邻块的高度,上相邻块的宽度和上相邻块的高度。假设“numV”是等于allowSplitBtVer和allowSplitTtVer之和的值,而“numH”是等于allowSplitBtHor和allowSplitTtHor之和的值。
10.指示块划分信息(例如,mtt_split_cu_vertical_flag)的SE的上下文建模可以取决于允许垂直划分(例如,用于BT和TT)和允许水平划分(例如,用于BT和TT)的数量。
a.在一个示例中,如果与水平划分相比,存在更多允许垂直划分的情况(例如,numV>numH),则使用第一组上下文。
b.在一个示例中,如果与水平划分相比,存在更少允许垂直划分的情况(例如,numV<numH),则使用第二组上下文。
c.在一个示例中,如果存在与水平划分相比,存在相同允许垂直划分的情况(例如,numV=numH),则使用第三组上下文。
d.或者,此外,第一/第二/第三组中的上下文没有一个是相同的。
e.或者,进一步地,第一/第二/第三组中的至少一个上下文与另一组中包括的上下文相同。
f.或者,此外,三个组中的每一个的上下文的数量可以取决于组索引。
i.在一个示例中,仅一个上下文被包括在第一和/或第二组中。
ii.在一个示例中,多个上下文包括在第三组中。
1)或者,此外,从第三组中选择上下文可以进一步取决于上和左相邻块的可用性,和/或当前块的块维度和相邻块的块维度。
g.在章节5.4的实施例#4中给出了示例。
h.在章节5.5的实施例#5中给出了示例。
11.指示是否垂直划分块的SE(例如mtt_split_cu_vertical_flag)用N个上下文编解码,这可能取决于是否允许BT/TT划分,或/和当前块的宽度/
高度,或/和相邻块的宽度/高度。
i.在一个示例中,哪个上下文用于对SE进行编解码可能取决于numV和numH。
i.例如,它取决于numV是否大于numH。
ii.例如,它取决于numV是否小于numH。
iii.例如,它取决于numV是否等于numH。
j.在一个示例中,SE的二进制位串可以根据是否允许BT/TT划分用N个上下文进行上下文编解码。
i.在一个示例中,当numV大于numH时,使用由CtxA表示的上下文对SE进行编解码。
ii.在一个示例中,当numV小于numH时,使用由CtxB表示的上下文对SE进行编解码。
iii.在一个示例中,当numV等于numH时,使用由CtxC表示的上下文对SE进行编解码。
iv.在一个示例中,CtxA等于CtxB,并且CtxB等于CtxC(例如,CtxA=CtxB=CtxC),例如CtxA=CtxB=CtxC=0。
v.在一个示例中,CtxA!=CtxB!=CtxC,例如CtxA=0、CtxB=1、CtxC=2。
k.在一个示例中,SE的二进制位串可以根据当前块的宽度/高度,或/和相邻块的宽度/高度,用N个上下文进行上下文编解码。
i.在一个示例中,相邻块可以指上相邻块,或/和左相邻块。
ii.在一个示例中,用N个上下文对SE进行编解码,这可能取决于当前块的宽度或高度或/和相邻块的宽度或高度的函数。表示dA=curW/aboveW和dL=curH/leftH。
1)在一个示例中,当左相邻块或上相邻块不可用或dA等于dL时,使用由CtxD表示的上下文对SE进行编解码。
2)在一个示例中,当dA小于dL时,使用由CtxE表示的上下文对SE进行编解码。
3)在一个示例中,当dA大于dL时,使用由CtxF表示的上下文对SE进行编解码。
l.在一个示例中,根据是否允许BT/TT划分,或/和当前块的宽度/高度,或/和相邻块的宽度/高度,SE的二进制位串可以用N个上下文进行上下文编解码。
i.在一个示例中,当numV大于numH时,使用由CtxA表示的上下文对SE进行编解码。
ii.在一个示例中,当numV小于numH时,使用由CtxB表示的上下文对SE进行编解码。
iii.在一个示例中,当numV等于numH并且(左相邻块或上相邻块不可用,或者dA等于dL)时,使用由CtxC表示的上下文对SE进行编解码。
iv.在一个示例中,当numV等于numH并且dA小于dL时,使用由CtxE表示的上下文对SE进行编解码。
v.在一个示例中,当numV等于numH并且dA大于dL时,使用由CtxF表示的上下文对SE进行编解码。在一个示例中,N=5,CtxA!=CtxB!=CtxC!=CtxE!=CtxF。
m.在一个示例中,SE的二进制位串可以根据当前块是否在图片边界处,用N个上下文进行上下文编解码。
n.在一个示例中,SE的二进制位串可以根据是否应用了双树和/或局部双树,用N个上下文进行上下文编解码。
o.在一个示例中,SE的二进制位串可以根据要分割的样点的(多个)颜色分量,用N个上下文进行上下文编解码。
p.在一个示例中,SE的二进制位串可以根据当前块的宽度/高度,用N个上下文进行上下文编解码。
i.在一个示例中,可以将上下文增加设置为块宽度或高度的函数。
12.划分CU垂直标志(例如,mtt_split_cu_vertical_flag)可以用单个上下文来编解码。
如何对系数符号标志使用旁路编解码或上下文编解码
13.对于变换系数级别的符号(例如,语法元素coeff_sign_flag)是使用上下文编解码还是旁路编解码取决于剩余的允许上下文编解码二进制位的数量(例如,RemCcbs)和/或用于当前块的变换的种类(例如,DCT2、DST7或变换跳过)。
a.在一个示例中,在变换跳过残差编解码的过程中,当RemCcbs大于T1(例如T1=0)时,可以将上下文编解码用于coeff_sign_flag。
i.另外,在变换跳过残差编解码的过程中,当RemCcbs等于T1(例如T1=0)时,可以将旁路编解码用于coeff_sign_flag。
b.在一个示例中,在变换跳过残差编解码的过程中,当RemCcbs大于或等于T2(例如T2=3)时,可以将上下文编解码用于coeff_sign_flag。
i.另外,在变换跳过残差编解码的过程中,当RemCcbs小于T2(如T2=3)时,可以将旁路编解码用于coeff_sign_flag。
14.在变换跳过残差编解码过程的第三/剩余系数扫描通道中剩余语法元素(例如,语法元素abs_remainder和coeff_sign_flag)的旁路编解码开始时,可以将操作应用于规定剩余的允许上下文编解码二进制位的数量的变量(例如,RemCcbs)。
c.在一个示例中,该操作可以将RemCcbs设置为等于某个值(例如0)。
d.在一个示例中,该操作可以将RemCcbs设置为等于取决于除RemCcbs之外的至少一个变量或语法元素的值。
i.在一个示例中,该操作可以将RemCcbs设置为等于RemCcbs减一。
15.在章节5.7的实施例#7中给出了示例。
16.在章节5.8的实施例#8中给出了示例。
17.变换系数级别(例如,coeff_sign_flag)是否用旁路模式或上下文编解码模式来编解码可以取决于剩余的允许上下文编解码二进制位的数量(例如,RemCcbs)。
e.建议当剩余的允许上下文编解码二进制位的数量(例如RemCcbs)小于N时,使用旁路模式对变换系数级别的符号(例如coeff_sign_flag)进行编解码。
f.在一个示例中,当RemCcbs<=N时,使用旁路模式对符号标志进行编解码。
i.或者,在一个示例中,当RemCcbs>N时,使用上下文模式对符号标志进行编解码。
g.在一个示例中,当RemCcbs等于N时,使用旁路模式对符号标志进行编解码。
i.或者,在一个示例中,当RemCcbs>N时,使用旁路模式对符号标志进行编解码。
ii.在一个示例中,N可以设置为等于4。
1)或者,在一个示例中,N可以设置为等于0。
iii.在一个示例中,RemCcbs可以在解码变换系数级别的剩余绝对值之前修改为X,其中X等于N。
h.在一个示例中,当RemCcbs小于N时,使用旁路模式对符号标志进行编解码。
i.或者,在一个示例中,当RemCcbs>=N时,使用上下文模式对符号标志进行编解码。
ii.在一个示例中,可以将N设置为等于3。
iii.在一个示例中,RemCcbs可以在解码变换系数级别的剩余绝对值之前修改为X,其中X小于N。
i.在一个示例中,N是整数并且可以基于,
i.在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组/LCU/CU中信令通知的指示
ii.当前块和/或其相邻块的块维度
iii.当前块和/或其相邻块的块形状
iv.颜色格式的指示(例如4:2:0、4:4:4)
v.是否使用单独的编解码树结构或双编解码树结构
vi.条带类型和/或图片类型
vii.颜色分量的数量
j.用于对变换系数级别进行编解码的编解码上下文(例如,coeff_sign_flag)可以取决于剩余的允许上下文编解码二进制位的数量(例如,RemCcbs)。
k.以上示例可以应用于包括或不包括BDPCM编解码块的变换块和/或变换跳过块。
概述
18.是否应用上面公开的方法和/或如何应用上面公开的方法可以在序列级别/图片级别/条带级别/片组级别被信令通知,例如在序列标头/图片标头/SPS/VPS/DPS/DCI/PPS/APS/条带标头/片组标头。
19.是否应用上述公开的方法和/或如何应用上述公开的方法可以取决于编解码信息,例如颜色格式、单/双树分割。
5.实施例
以下是上文章节4中总结的本发明的一些方面的一些示例实施例,其可以应用于VVC规范。已增加或修改的大部分相关部分都用
Figure BDA0003920883110000521
下划线,并且一些删除的部分用[[]]表示。
5.1.实施例1
9.3.2.2上下文变量的初始化过程
表51-初始化过程中每个初始化类型的ctxIdx和语法元素的关联
Figure BDA0003920883110000522
表89–amvr_precision_idx的ctxIdx的initValue和shiftIdx规范
Figure BDA0003920883110000531
9.3.4.2ctxTable、ctxIdx和bypassFlag的导出过程
9.3.4.2.1概述
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000532
Figure BDA0003920883110000533
或者,以下适用:
Figure BDA0003920883110000534
在上面的示例中,X!=Y,X!=Z,Y!=Z。
或者,此外,以下适用:
1)在一个示例中,W等于X。
2)或者,W等于Y。
3)或者,W等于Z。
5.2.实施例2
9.3.2.2上下文变量的初始化过程
表51-初始化过程中每个初始化类型的ctxIdx和语法元素的关联
Figure BDA0003920883110000541
表89–amvr_precision_idx的ctxIdx的initValue和shiftIdx规范
Figure BDA0003920883110000542
9.3.4.2ctxTable、ctxIdx和bypassFlag的导出过程
9.3.4.2.1概述
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000543
Figure BDA0003920883110000544
5.3.实施例3
9.3.2.2上下文变量的初始化过程
表51-初始化过程中每个初始化类型的ctxIdx和语法元素的关联
Figure BDA0003920883110000551
表89–amvr_precision_idx的ctxIdx的initValue和shiftIdx规范
Figure BDA0003920883110000552
9.3.4.2ctxTable、ctxIdx和bypassFlag的导出过程
9.3.4.2.1概述
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000553
5.4.实施例4
工作草案可以更改如下。
9.3.4.2.3语法元素mtt_split_cu_vertical_flag的ctxInc的导出过程
此过程的输入是亮度位置(x0,y0),其规定相对于当前图片的左顶样点的当前亮度块的左顶亮度样点,双树通道类型chType,亮度样点中当前编解码块的宽度和高度cbWidth和cbHeight,以及在条款7.4.11.4中的编解码树语义中导出的变量allowSplitBtVer、allowSplitBtHor、allowSplitTtVer、allowSplitTtHor和allowSplitQt。
此过程的输出是ctxInc。
位置(xNbL,yNbL)设置为等于(x0-1,y0),并且调用条款6.4.4中规定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)设置为等于(x0,y0)并且相邻位置(xNbY,yNbY)设置为等于(xNbL,yNbL),checkPredModeY设置为等于FALSE,并且cIdx作为输入,并且输出分配给availableL。
将位置(xNbA,yNbA)设置为等于(x0,y0-1),调用条款6.4.4中规定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)设置为等于(x0,y0),相邻位置(xNbY,yNbY)设置为等于(xNbA,yNbA),checkPredModeY设置为等于FALSE,并且cIdx作为输入,并将输出分配给availableA。
ctxInc的分配规定如下:
–如果allowSplitBtVer+[[allowSplitBtHor]]
Figure BDA0003920883110000561
大于[[allowSplitTtVer]]
Figure BDA0003920883110000562
+allowSplitTtHor,则ctxInc设置为等于4。
–否则,如果allowSplitBtVer+[[allowSplitBtHor]]
Figure BDA0003920883110000563
小于[[allowSplitTtVer]]
Figure BDA0003920883110000564
+allowSplitTtHor,则ctxInc设置为等于[[4]]
Figure BDA0003920883110000565
–否则,以下适用:
–变量dA和dL的导出如下
dA=cbWidth/(availableA?CbWidth[chType][xNbA][yNbA]:1) (1563)
dL=cbHeight/(availableL?CbHeight[chType][xNbL][yNbL]:1) (1564)
–如果以下任一条件为真,则ctxInc设置为等于0:
–dA等于dL,
–availableA等于FALSE,
–availableL等于FALSE。
–否则,如果dA小于dL,则ctxInc设置为等于1。
–否则,将ctxInc设置为等于[[0]]
Figure BDA0003920883110000566
5.5.实施例5
工作草案可以更改如下。
9.3.4.2.3语法元素mtt_split_cu_vertical_flag的ctxInc的导出过程
此过程的输入是亮度位置(x0,y0),其规定相对于当前图片的左顶样点的当前亮度块的左顶亮度样点,双树通道类型chType,亮度样点中当前编解码块的宽度和高度cbWidth和cbHeight,以及在条款7.4.11.4中的编解码树语义中导出的变量allowSplitBtVer、allowSplitBtHor、allowSplitTtVer、allowSplitTtHor和allowSplitQt。
此过程的输出是ctxInc。
位置(xNbL,yNbL)设置为等于(x0-1,y0),并且调用条款6.4.4中规定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)设置为等于(x0,y0)并且相邻位置(xNbY,yNbY)设置为等于(xNbL,yNbL),checkPredModeY设置为等于FALSE,并且cIdx作为输入,并且输出分配给availableL。
将位置(xNbA,yNbA)设置为等于(x0,y0-1),调用条款6.4.4中规定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)设置为等于(x0,y0),相邻位置(xNbY,yNbY)设置为等于(xNbA,yNbA),checkPredModeY设置为等于FALSE,并且cIdx作为输入,并将输出分配给availableA。
ctxInc的分配规定如下:
–如果allowSplitBtVer+[[allowSplitBtHor]]
Figure BDA0003920883110000571
大于[[allowSplitTtVer]]
Figure BDA0003920883110000572
+allowSplitTtHor,则ctxInc设置为等于[[4]]
Figure BDA0003920883110000573
–否则,如果allowSplitBtVer+[[allowSplitBtHor]]
Figure BDA0003920883110000574
小于[[allowSplitTtVer]]
Figure BDA0003920883110000575
+allowSplitTtHor,则ctxInc设置为等于[[4]]
Figure BDA0003920883110000576
–否则,以下适用:
–变量dA和dL的导出如下
dA=cbWidth/(availableA?CbWidth[chType][xNbA][yNbA]:1) (1563)
dL=cbHeight/(availableL?CbHeight[chType][xNbL][yNbL]:1) (1564)
–如果以下任一条件为真,则ctxInc设置为等于[[0]]
Figure BDA0003920883110000577
–dA等于dL,
–availableA等于FALSE,
–availableL等于FALSE。
–否则,如果dA小于dL,则将ctxInc设置为等于[[1]]
Figure BDA0003920883110000578
–否则,将ctxInc设置为等于[[0]]
Figure BDA0003920883110000579
Figure BDA0003920883110000581
5.6.实施例6
工作草案可以更改如下。
9.3.2.2上下文变量的初始化过程
表51-初始化过程中每个初始化类型的ctxIdx和语法元素的关联
Figure BDA0003920883110000582
表61–mtt_split_cu_vertical_flag的ctxInc的initValue和shiftIdx规范
Figure BDA0003920883110000583
9.3.4.2ctxTable、ctxIdx和bypassFlag的导出过程
9.3.4.2.1概述
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000584
[[9.3.4.2.3语法元素mtt_split_cu_vertical_flag的ctxInc的导出过程
此过程的输入是亮度位置(x0,y0),其规定相对于当前图片的左顶样点的当前亮度块的左顶亮度样点,双树通道类型chType,亮度样点中当前编解码块的宽度和高度cbWidth和cbHeight,以及在条款7.4.11.4中的编解码树语义中导出的变量allowSplitBtVer、allowSplitBtHor、allowSplitTtVer、allowSplitTtHor和allowSplitQt。
此过程的输出是ctxInc。
位置(xNbL,yNbL)设置为等于(x0-1,y0),并且调用条款6.4.4中规定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)设置为等于(x0,y0)并且相邻位置(xNbY,yNbY)设置为等于(xNbL,yNbL),checkPredModeY设置为等于FALSE,并且cIdx作为输入,并且输出分配给availableL。
将位置(xNbA,yNbA)设置为等于(x0,y0-1),调用条款6.4.4中规定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)设置为等于(x0,y0),相邻位置(xNbY,yNbY)设置为等于(xNbA,yNbA),checkPredModeY设置为等于FALSE,并且cIdx作为输入,并将输出分配给availableA。
ctxInc的分配规定如下:
–如果allowSplitBtVer+allowSplitBtHor大于allowSplitTtVer+allowSplitTtHor,则ctxInc设置为等于4。
–否则,如果allowSplitBtVer+allowSplitBtHor小于allowSplitTtVer+allowSplitTtHor,则ctxInc设置为等于4。
–否则,以下适用:
–变量dA和dL的导出如下
dA=cbWidth/(availableA?CbWidth[chType][xNbA][yNbA]:1) (1563)
dL=cbHeight/(availableL?CbHeight[chType][xNbL][yNbL]:1) (1564)
–如果以下任一条件为真,则ctxInc设置为等于0:
–dA等于dL,
–availableA等于FALSE,
–availableL等于FALSE。
–否则,如果dA小于dL,则ctxInc设置为等于1。
否则,将ctxInc设置为等于0。]]
5.7.实施例7
工作草案可以更改如下。
7.3.10.11残差编解码语法
Figure BDA0003920883110000591
Figure BDA0003920883110000601
Figure BDA0003920883110000611
Figure BDA0003920883110000621
Figure BDA0003920883110000631
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000632
5.8.实施例8
工作草案可以更改如下。
7.3.10.11残差编解码语法
Figure BDA0003920883110000641
Figure BDA0003920883110000651
Figure BDA0003920883110000661
Figure BDA0003920883110000671
表131–将ctxInc分配给具有上下文编解码二进制位的语法元素
Figure BDA0003920883110000672
Figure BDA0003920883110000681
图12是可实现本文中所公开的各种技术的示例视频处理系统1200的框图。各种实现方式可以包括系统1200中的一些或全部组件。系统1200可以包括用于接收视频内容的输入1202。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1202可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统1200可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件1204。编解码组件1204可以减少从输入1202到编解码组件1204的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件1204的输出可以被存储或经由所连接的通信来发送,如组件1206所表示的。在输入1202处接收的视频的存储或通信的比特流(或编解码)表示可以由组件1208使用,以生成被发送到显示接口1210的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够进行数字数据处理和/或视频显示的装设备。
图13是视频处理装置3600的框图。装置3600可以用于实现本文中所述的方法中的一个或多个。装置3600可以实施在智能电话、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以配置为实现本文档中所述的一个或多个方法。(多个)存储器3604可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理硬件3606可以用于在硬件电路中实现本文档中所描述的一些技术。
图15是示出可利用本公开的技术的示例视频编解码系统100的框图。
如图15所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目的地设备120可以解码由源设备110生成的编码的视频数据,该目的地设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口116包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口116通过网络130a直接发送到目的地设备120。还可以将编码的视频数据存储到存储介质/服务器130b上,用于由目的地设备120存取。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或可以在配置为与外置显示设备相接的目的地设备120外部。
视频编码器114和视频解码器124可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或其他标准)进行操作。
图16是示出视频编码器200的示例的框图,该视频编码器200可以是图15中示出的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或全部技术。在图16的示例中,视频编码器200包括多个功能组件。本公开所描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是出于解释的目的在图16的示例中分开表示。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元207来生成残差块数据而且提供到重建单元212来重建编解码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元203还可以为帧间预测情况下的块选择运动矢量的精度(例如子像素或整像素精度)。
为了对当前视频块进行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元204和运动补偿单元205可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以进行当前视频块的单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以进行当前视频块的双向预测,运动估计单元204可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出运动信息的全部集合,用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的全部集合。而是,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示:向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器300可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元206可以对当前视频块进行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元207可以不进行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器213中。
在重建单元212重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图17是示出视频解码器300的示例的框图,该视频解码器300可以是图15中示出的系统100中的视频解码器114。
视频解码器300可以被配置为进行本公开的任何或全部技术。在图17的示例中,视频解码器300包括多个功能组件。本公开所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在图17的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以进行与关于视频编码器200(图16)所描述的编码过程总体反演的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元301可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过进行AMVP和merge模式确定此类信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器进行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编解码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元303逆量化(例如,去量化)在比特流中提供的且由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
重建单元306可以用由运动补偿单元202或帧内预测单元303生成的对应预测块求和残差块,以形成解码块。如所期望的,去块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器307中,该缓冲器307提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
接下来提供了一些实施例优选的解决方案的列表。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目1)。
1.一种视频处理方法(例如,图14所示的方法1400),包括:执行视频的视频的块和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中该转换基于自适应运动矢量差精度(AMVR)工具,其中使用自适应精度在编解码表示中表示视频块的运动矢量或运动矢量差或运动矢量预测器的表示;其中,格式规则规定通过依赖于视频块或视频块的相邻块的编解码信息的上下文建模在编解码表示中表示自适应精度的使用。
2.如解决方案1所述的方法,其中,编解码信息包括使用帧内块复制模式。
3.如解决方案1所述的方法,其中,编解码信息包括仿射AMVR模式或非仿射和非帧内块复制模式、双向预测或单预测模式的使用。
4.如解决方案1-3中任一项所述的方法,其中,编解码信息包括所述视频块的维度。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目2)。
5.一种视频处理方法,包括:执行视频的视频块和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中该转换基于自适应运动矢量差精度(AMVR)工具,其中使用自适应精度在编解码表示中表示视频块的运动矢量或运动矢量差或运动矢量预测器的表示;其中,格式规则规定如何通过上下文建模来表示编解码表示中自适应精度的使用,使得上下文用于针对AMVR工具所使用的精度的索引来编解码第一二进制位和第二二进制位。
6.如解决方案5所述的方法,其中,格式规则规定使用第一二进制位和第二二进制位使用相同的上下文进行编解码。
7.如解决方案5所述的方法,其中,格式规则规定当且仅当非仿射和非帧内块复制模式用于在编解码表示中表示视频块时,在编解码表示中对第二二进制位进行编解码.
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目3至8)。
8.一种视频处理方法,包括:执行包括一个或多个视频图片的视频和该视频的编解码表示之间转换,该一个或多个视频图片包括多个视频块,其中该编解码表示格式规则,该格式规则用于信令通知关于一个或多个视频块的自适应运动矢量差精度(AMVR)编解码的信息;其中,格式规则规定相同的上下文用于对使用第一编解码模式编解码的第一视频块的AMVR精度索引的二进制位和使用第二编解码模式编解码的第二视频块的AMVR精度索引的二进制位进行编解码。
9.如解决方案8所述的方法,其中,第一编解码模式对应于块内复制模式,并且第二编解码模式对应于帧间编解码,并且其中,第一视频块的二进制位是AMVR精度索引的第一二进制位,并且第二视频块的二进制位是对应的AMVR精度索引的第二二进制位。
10.如解决方案8所述的方法,其中,第一编解码模式对应于块内复制模式,并且第二编解码模式对应于帧间编解码,并且其中,第一视频块的二进制位是AMVR精度索引的第一二进制位,并且第二视频块的二进制位是对应的AMVR精度索引的第一二进制位。
11.如解决方案8所述的方法,其中,第一编解码模式对应于块内复制模式,并且第二编解码模式对应于帧间编解码,并且其中,第一视频块的二进制位是AMVR精度索引的第一二进制位,并且第二视频块的二进制位是对应的AMVR精度索引的第一二进制位。
12.如解决方案8所述的方法,其中,第一编解码模式对应于帧内块复制模式,并且第二编解码模式对应于仿射编解码,并且其中第一视频块的二进制位是AMVR精度索引的第一二进制位,并且第二视频块的二进制位是对应的AMVR精度索引的第一二进制位。
13.如解决方案8所述的方法,其中,格式规则还规定使用相同的上下文来对具有帧内块复制模式、仿射模式和帧间编解码模式的第一视频块、第二视频块和第三视频块的所有二进制位进行编解码。
14.如解决方案8所述的方法,其中,格式规则还规定使用不同的上下文来对具有帧内块复制模式、仿射模式和帧间编解码的第一视频块、第二视频块和第三视频块的第一二进制位进行编解码,并且使用相同的上下文来对第一视频块、第二视频块和第三视频块的第二二进制位进行编解码。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目9)。
15.如解决方案1-14中任一项所述的方法,其中,格式规则还规定用于对精度值进行编解码的至少一个上下文与用于对指示AMVR工具的适用性的标志进行编解码的上下文相同。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目10-11)。
16.一种视频处理方法,包括:执行视频的视频块和视频的编解码表示之间的转换,其中视频块被划分成一个或多个垂直分割和/或一个或多个水平分割,其中编解码表示符合格式规则,该格式规则规定视频块的划分信息的基于上下文的编解码。
17.如解决方案16所述的方法,其中,格式规则规定用于指示划分信息的语法元素的上下文建模取决于视频块的允许垂直划分的数量和/或视频的允许水平划分的数量。
18.如解决方案17所述的方法,其中,格式规则取决于视频块的允许垂直划分的数量是否大于视频块的允许水平划分的数量。
19.如解决方案17-18中任一项所述的方法,其中,格式规则规定使用N个上下文来对语法元素进行编解码,其中N基于视频块的维度或相邻视频块的维度。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目10-12)。
20.如解决方案16-19中任一项所述的方法,其中格式规则规定使用单个上下文来对指示垂直划分对视频块的适用性的标志进行编解码。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目10-13、17)。
21.一种视频处理方法,包括:执行视频的视频块和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则规定用于决定使用上下文编解码或旁路编解码来表示变换系数的符号的编解码条件。
22.如解决方案21所述的方法,其中,编解码条件对应于剩余的允许上下文编解码二进制位的数量。
23.如解决方案21所述的方法,其中,编解码条件对应于用于视频块和编解码表示之间的转换的一种变换。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目10-14)。
24.一种视频处理方法,包括:执行视频的视频块和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则规定,在变换跳过残差编解码过程的第三或剩余系数扫描通道中对剩余语法元素的旁路编解码的开始时,将操作应用于规定剩余的允许上下文编解码二进制位的变量。
25.如解决方案1至24中任一项所述的方法,其中,转换包括将视频编码成编解码表示。
26.如解决方案1至24中任一项所述的方法,其中转换包括对编解码表示进行解码以生成视频的像素值。
27.一种视频解码装置,包括被配置为实现解决方案1至26中的一个或多个中所述的方法的处理器。
28.一种视频编码装置,包括被配置为实现解决方案1至26中的一个或多个中所述的方法的处理器。
29.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实现在解决方案1至26中任一项中所述的方法。
30.一种在本文档中描述的方法、装置或系统。
图18是根据本技术的一个或多个实施例的视频处理方法1800的流程图表示。方法1800包括,在操作1810,根据规则执行视频的块和视频的比特流之间的转换。该转换基于自适应运动矢量差精度(AMVR)工具,并且规则规定为第一语法元素的二进制位串内的第一二进制位选择上下文,第一语法元素规定基于块的编解码模式的使用导出与AMVR移位相关联的运动矢量差值的精度。
在一些实施例中,块是编解码单元。在一些实施例中,块的编解码模式是仿射帧间模式、帧内块复制模式或作为非仿射帧间模式的正常帧间模式之一。在一些实施例中,对应于不同编解码模式的多个上下文适用于第一二进制位。在一些实施例中,多个上下文包括三个上下文。在一些实施例中,每个编解码模式对应于单个上下文。
在一些实施例中,在使用IBC模式对块进行编解码的情况下,为第一二进制位的第一上下文分配第一值,并且在没有使用IBC模式对块进行编解码的情况下,对于至少一种帧间编码模式,不同于第一上下文的至少一个上下文可应用于第一二进制位。在一些实施例中,在使用仿射帧间模式对块进行编解码的情况下,为第一二进制位的第二上下文分配第二值,并且在使用作为非仿射帧间模式的正常帧间模式对块进行编解码的情况下,为第一二进制位的第三上下文分配第三值。第二值和第三值彼此不同。
在一些实施例中,二进制位串的第二二进制位的上下文与用于第一二进制位的一个或多个上下文相同。在一些实施例中,二进制位串的第二二进制位用单个上下文值编解码。在一些实施例中,为使用IBC模式编解码的第一块的二进制位串的第一二进制位和使用作为非仿射帧间模式的正常帧间模式编解码的第二块的二进制位串的第二二进制位选择相同的上下文。
在一些实施例中,在使用IBC模式或仿射帧间模式对块进行编解码的情况下,二进制位串由第一二进制位组成。在使用作为非仿射帧间模式的正常帧间模式对块进行编解码的情况下,二进制位串还包括第二二进制位。在一些实施例中,可应用于第一二进制位的多个上下文中的至少一个与为第二语法元素选择的至少一个上下文相同,第二语法元素规定运动矢量差值的精度是否是1/4亮度样点或由第一语法元素规定。在一些实施例中,在使用IBC模式对块进行编解码的情况下,用于规定运动矢量差值的精度的第一语法元素的上下文与为第二语法元素选择的上下文相同,第二语法元素规定运动矢量差值的精度是否是1/4亮度样点或由第一语法元素规定。在一些实施例中,在没有使用IBC模式或仿射模式对块进行编解码的情况下,规定运动矢量差值的精度的第一语法元素的上下文与为第二语法元素选择的上下文相同,第二语法元素规定运动矢量差值的精度是否是1/4亮度样点或由第一语法元素规定。在一些实施例中,二进制位串内的第一二进制位的上下文被分配CtxM的值,并且具有二进制位串的第二二进制位的上下文被分配CtxQ的值,其中CtxM=CtxQ。在一些实施例中,与第一二进制位相比,为第二二进制位选择不同的上下文。
在一些实施例中,在块以IBC模式编解码的情况下用于第一二进制位的第一上下文、在使用仿射模式对块进行编解码的情况下用于第一二进制位的第二上下文、以及在既不使用IBC模式也不使用仿射模式对块进行编解码的情况下用于第一二进制位的第三上下文是相同的。在一些实施例中,在块以IBC模式编解码的情况下用于第一二进制位的第一上下文和在既不使用IBC模式也不使用仿射模式对块进行编解码的情况下用于第一二进制位的第二上下文是相同的。在一些实施例中,在使用仿射模式对块进行编解码的情况下,用于第一二进制位的第三上下文不同于第一上下文和第二上下文。在一些实施例中,在块以IBC模式编解码的情况下用于第一二进制位的第一上下文和在块使用仿射模式编解码的情况下用于第一二进制位的第二上下文是相同的。在一些实施例中,在块以IBC模式编解码的情况下用于二进制位串内的所有二进制位的上下文、在使用仿射模式对块进行编解码的情况下用于二进制位串内的所有二进制位的上下文以及用于在块既不使用IBC模式也不使用仿射模式编解码的情况下用于二进制位串内的所有二进制位的上下文是相同的。
在一些实施例中,AMVR工具是编解码工具,其中运动矢量差值的精度在逐块的基础上被自适应地调整。
图19是根据本技术的一个或多个实施例的视频处理方法1900的流程图表示。方法1900包括,在操作1910,根据规则执行视频的当前块和视频的比特流之间的转换。规则规定,对用于编解码规定块是否是水平划分或垂直划分的语法元素的上下文的选择是基于允许垂直划分的数量和允许水平划分的数量。允许垂直划分的数量包括允许二元垂直划分的数量和允许三元垂直划分的数量,并且允许水平划分的数量包括允许二元水平划分的数量和允许三元水平划分的数量。
在一些实施例中,块是编解码单元。在一些实施例中,通过比较允许垂直划分的数量和允许水平划分数量来选择上下文。在一些实施例中,在允许垂直划分的数量大于允许水平划分的数量的情况下,从第一上下文集合中选择上下文。在一些实施例中,在允许垂直划分的数量小于允许水平划分的数量的情况下,从第二上下文集合中选择上下文。在一些实施例中,第一上下文集合和第二上下文集合中的每个包括单个上下文。在一些实施例中,第一上下文集合中的单个上下文的值为4。在一些实施例中,第二上下文集中的单个上下文的值为3。
在一些实施例中,在允许垂直划分的数量与允许水平划分的数量相同的情况下,从第三上下文集合中选择上下文。在一些实施例中,第三上下文集包括多个上下文。在一些实施例中,第三上下文集包括值为0的第三上下文、值为1的第四上下文和值为2的第五上下文。
在一些实施例中,从第三上下文集合中选择上下文还基于(1)位于当前块上方的第一相邻块和位于当前块的左侧的第二相邻块的可用性,(2)当前块的维度,和/或(3)相邻块的维度。在一些实施例中,在以下情况下,上下文被分配为CtxD的值:(1)位于当前块上方的第一相邻块或者位于当前块的左侧的第二相邻块不可用,或者(2)dA等于dL,其中dA表示当前块的宽度除以位于当前块上方的第一相邻块的宽度,并且其中dL表示当前块的高度除以位于当前块的左侧的第二相邻块的高度。在一些实施例中,在dA小于dL的情况下,上下文被分配为CtxE的值,其中,dA表示当前块的宽度除以位于当前块上方的第一相邻块的宽度,并且其中dL表示当前块的高度除以位于当前块的左侧的第二相邻块的高度。在一些实施例中,在dA大于dL的情况下,上下文被分配为CtxF的值,其中,dA表示当前块的宽度除以位于当前块上方的第一相邻块的宽度,并且其中dL表示当前块的高度除以位于当前块的左侧的第二相邻块的高度。
在一些实施例中,第一上下文集合、第二上下文集合和第三上下文集合中的上下文彼此不同。
图20是根据本技术的一个或多个实施例的视频处理方法2000的流程图表示。方法2000包括,在操作2010,根据规则执行视频的当前块和视频的比特流之间的转换。规则规定,对于规定变换系数级别的符号的语法元素,是否使用上下文编解码或旁路编解码是基于剩余的允许上下文编解码二进制位的数量或用于当前块的变换类型。
在一些实施例中,在剩余的允许上下文编解码二进制位的数量大于或等于阈值的情况下,上下文编解码用于当前块的变换跳过残差编解码过程中的语法元素。在一些实施例中,在剩余的允许上下文编解码二进制位的数量小于阈值的情况下,旁路编解码用于当前块的变换跳过残差编解码过程中的语法元素。在一些实施例中,阈值为0或3。
在一些实施例中,在剩余的允许上下文编解码二进制位的数量小于或等于N的情况下,旁路编解码用于语法元素。在一些实施例中,在剩余的允许上下文编解码二进制位的数量大于或等于N的情况下,上下文编解码用于语法元素。在一些实施例中,在转换中处理变换系数级别的剩余绝对值之前,剩余的允许上下文编解码二进制位的数量被修改为小于或等于N。在一些实施例中,N为0、3或4。在一些实施例中,N是基于当前块的特征的整数。在一些实施例中,当前块的特征包括序列参数集、视频参数集、图片参数集、图片标头、条带标头、片组标头、大编解码单元行、大编解码单元组、大编解码单元或编解码单元中的指示。在一些实施例中,当前块的特征包括当前块或当前块的相邻块的维度或形状。在一些实施例中,当前块的特征包括视频的颜色格式的指示。在一些实施例中,当前块的特征包括指示单独的编解码树结构或双编解码树结构是否用于转换的指示。在一些实施例中,当前块的特征包括条带类型或图片类型。在一些实施例中,当前块的特征包括视频的颜色分量的数量。
在一些实施例中,语法元素的上下文编解码基于剩余的允许上下文编解码二进制位的数量。在一些实施例中,在变换跳过残差编解码过程的第三或剩余系数扫描通道中对剩余语法元素的旁路编解码的开始时修改规定剩余的允许上下文编解码二进制位的数量的变量。在一些实施例中,变量被设置为固定值0。在一些实施例中,变量递减1。在一些实施例中,当前块包括变换块或变换跳过块,变换块或变换跳过块包括或不包括基于块的增量脉冲编解码调制编解码块。
在一些实施例中,是否或如何应用方法由序列级别、图片级别、条带级别或片组级别来指示。在一些实施例中,指示被包括在序列标头、图片标头、序列参数集、视频参数集、解码器参数集、解码能力信息、图片参数集、自适应参数集、条带标头或片组标头中。在一些实施例中,是否或如何应用方法基于视频的编解码信息。
在一些实施例中,转换包括将视频编码到比特流中。在一些实施例中,转换包括从比特流中解码视频。
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于共位或散布在比特流内不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用头中的比特和比特流中的其他字段,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文档中所述的公开和其他方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文档中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,例如一个或多个计算机程序指令模块,用于由数据处理装置执行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来进行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))进行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如FPGA或ASIC)。
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如EPROM、EEPROM和闪速存储器设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为规定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行此类操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来作出其它实现方式、增强和变型。

Claims (49)

1.一种视频处理方法,包括:
根据规则执行视频的当前块和所述视频的比特流之间的转换,
其中,所述规则规定,对编解码规定所述块是否是水平划分或垂直划分的语法元素的上下文的选择是基于允许垂直划分的数量和允许水平划分的数量,其中所述允许垂直划分的数量包括允许二元垂直划分的数量和允许三元垂直划分的数量,并且其中所述允许水平划分的数量包括允许二元水平划分的数量和允许三元水平划分的数量。
2.根据权利要求1所述的方法,其中,所述块是编解码单元。
3.根据权利要求1或2所述的方法,其中,通过比较所述允许垂直划分的数量和所述允许水平划分的数量来选择所述上下文。
4.根据权利要求1至3中任一项所述的方法,其中,在所述允许垂直划分的数量大于所述允许水平划分的数量的情况下,从第一上下文集合中选择所述上下文。
5.根据权利要求1至4中任一项所述的方法,其中,在所述允许垂直划分的数量小于所述允许水平划分的数量的情况下,从第二上下文集合中选择所述上下文。
6.根据权利要求4或5所述的方法,其中,所述第一上下文集合和所述第二上下文集合中的每个包括单个上下文。
7.根据权利要求6所述的方法,其中,所述第一上下文集合中的所述单个上下文的值为4。
8.根据权利要求6所述的方法,其中,所述第二上下文集中的所述单个上下文的值为3。
9.根据权利要求1至8中任一项所述的方法,其中,在所述允许垂直划分的数量与所述允许水平划分的数量相同的情况下,从第三上下文集合中选择所述上下文。
10.根据权利要求9所述的方法,其中,所述第三上下文集合包括多个上下文。
11.根据权利要求10所述的方法,其中,所述第三上下文集合包括值为0的第三上下文、值为1的第四上下文和值为2的第五上下文。
12.根据权利要求10或11所述的方法,其中,从所述第三上下文集合中选择所述上下文还基于(1)位于所述当前块上方的第一相邻块和位于所述当前块的左侧的第二相邻块的可用性,(2)所述当前块的维度,和/或(3)所述相邻块的维度。
13.根据权利要求12所述的方法,其中,在以下情况下,所述上下文被分配为CtxD的值:(1)位于所述当前块上方的所述第一相邻块或者位于所述当前块的左侧的所述第二相邻块不可用,或者(2)dA等于dL,其中dA表示所述当前块的宽度除以位于所述当前块上方的所述第一相邻块的宽度,并且其中dL表示所述当前块的高度除以位于所述当前块的左侧的所述第二相邻块的高度。
14.根据权利要求12所述的方法,其中,在dA小于dL的情况下,所述上下文被分配为CtxE的值,其中,dA表示所述当前块的宽度除以位于所述当前块上方的所述第一相邻块的宽度,并且其中dL表示所述当前块的高度除以位于所述当前块的左侧的所述第二相邻块的高度。
15.根据权利要求12所述的方法,其中,在dA大于dL的情况下,所述上下文被分配为CtxF的值,其中,dA表示所述当前块的宽度除以位于所述当前块上方的所述第一相邻块的宽度,并且其中dL表示所述当前块的高度除以位于所述当前块的左侧的所述第二相邻块的高度。
16.根据权利要求1至15中任一项所述的方法,其中,所述第一上下文集合、所述第二上下文集合和所述第三上下文集合中的上下文彼此不同。
17.一种视频处理方法,包括:
根据规则执行视频的当前块和所述视频的比特流之间的转换,
其中,所述规则规定,对于规定变换系数级别的符号的语法元素,是否使用上下文编解码或旁路编解码是基于剩余的允许上下文编解码二进制位的数量或用于所述当前块的变换类型。
18.根据权利要求17所述的方法,其中,在所述剩余的允许上下文编解码二进制位的数量大于或等于阈值的情况下,上下文编解码用于所述当前块的变换跳过残差编解码过程中的所述语法元素。
19.根据权利要求17所述的方法,其中,在所述剩余的允许上下文编解码二进制位的数量小于阈值的情况下,旁路编解码用于所述当前块的变换跳过残差编解码过程中的所述语法元素。
20.根据权利要求18或19所述的方法,其中,所述阈值为0或3。
21.根据权利要求17所述的方法,其中,在所述剩余的允许上下文编解码二进制位的数量小于或等于N的情况下,旁路编解码用于所述语法元素。
22.根据权利要求17所述的方法,其中,在所述剩余的允许上下文编解码二进制位的数量大于或等于N的情况下,上下文编解码用于所述语法元素。
23.根据权利要求17至22中任一项所述的方法,其中,在所述转换中处理变换系数级别的剩余绝对值之前,所述剩余的允许上下文编解码二进制位的数量被修改为小于或等于N。
24.根据权利要求21至23中任一项所述的方法,其中,N为0、3或4。
25.根据权利要求21至24中任一项所述的方法,其中,N是基于所述当前块的特征的整数。
26.根据权利要求25所述的方法,其中,所述当前块的特征包括序列参数集、视频参数集、图片参数集、图片标头、条带标头、片组标头、大编解码单元行、大编解码单元组、大编解码单元或编解码单元中的指示。
27.根据权利要求25所述的方法,其中,所述当前块的特征包括所述当前块或所述当前块的相邻块的维度或形状。
28.根据权利要求25所述的方法,其中,所述当前块的特征包括所述视频的颜色格式的指示。
29.根据权利要求25所述的方法,其中,所述当前块的特征包括指示单独的编解码树结构或双编解码树结构是否用于所述转换的指示。
30.根据权利要求25所述的方法,其中,所述当前块的特征包括条带类型或图片类型。
31.根据权利要求25所述的方法,其中,所述当前块的特征包括所述视频的颜色分量的数量。
32.根据权利要求17至31中任一项所述的方法,其中,所述语法元素的上下文编解码基于所述剩余的允许上下文编解码二进制位的数量。
33.根据权利要求17到32中任一项所述的方法,其中,在变换跳过残差编解码过程的第三或剩余系数扫描通道中对剩余语法元素的所述旁路编解码的开始时修改规定所述剩余的允许上下文编解码二进制位的数量的变量。
34.根据权利要求33所述的方法,其中,所述变量被设置为固定值0。
35.根据权利要求33所述的方法,其中,所述变量递减1。
36.根据权利要求17至35中任一项所述的方法,其中,所述当前块包括变换块或变换跳过块,所述变换块或所述变换跳过块包括基于块的增量脉冲编解码调制编解码块或不包括基于块的增量脉冲编解码调制编解码块。
37.根据权利要求1至36中任一项所述的方法,其中,是否应用所述方法由序列级别、图片级别、条带级别或片组级别来指示或者如何应用所述方法由序列级别、图片级别、条带级别或片组级别来指示。
38.根据权利要求37所述的方法,其中,指示被包括在序列标头、图片标头、序列参数集、视频参数集、解码器参数集、解码能力信息、图片参数集、自适应参数集、条带标头或片组标头中。
39.根据权利要求1至38中任一项所述的方法,其中,是否应用所述方法基于所述视频的编解码信息或如何应用所述方法基于所述视频的编解码信息。
40.根据权利要求1至39中任一项所述的方法,其中,所述转换包括将所述视频编码成所述比特流。
41.根据权利要求1至39中任一项所述的方法,其中,所述转换包括从所述比特流中解码所述视频。
42.一种用于存储视频的比特流的方法,包括:
根据规则从所述视频的块生成所述视频的比特流,以及
将所述比特流存储在非暂时性计算机可读记录介质中,
其中,所述规则规定对编解码规定所述块是否是水平划分或垂直划分的语法元素的上下文的选择是基于允许垂直划分的数量和允许水平划分的数量,其中所述允许垂直划分的数量包括允许二元垂直划分的数量和允许三元垂直划分的数量,并且其中所述允许水平划分的数量包括允许二元水平划分的数量和允许三元水平划分的数量。
43.一种用于存储视频的比特流的方法,包括:
根据规则从所述视频的块生成所述视频的比特流,以及
将所述比特流存储在非暂时性计算机可读记录介质中,
其中,所述规则规定,对于规定变换系数级别的符号的语法元素,是否使用上下文编解码或旁路编解码是基于剩余的允许上下文编解码二进制位的数量或用于所述当前块的变换类型。
44.一种视频解码装置,包括被配置为实现权利要求1至43中的一项或多项所述的方法的处理器。
45.一种视频编码装置,包括被配置为实现权利要求1至43中的一项或多项所述的方法的处理器。
46.一种其上存储有计算机代码的计算机程序产品,所述代码在由处理器执行时使所述处理器实现权利要求1至43中任一项所述的方法。
47.一种存储由视频处理装置执行的方法生成的视频的比特流的非暂时性计算机可读记录介质,其中,所述方法包括:
根据规则从所述视频的块生成所述视频的比特流,以及
将所述比特流存储在非暂时性计算机可读记录介质中,
其中,所述规则规定对编解码规定所述块是否是水平划分或垂直划分的语法元素的上下文的选择是基于允许垂直划分的数量和允许水平划分的数量,其中所述允许垂直划分的数量包括允许二元垂直划分的数量和允许三元垂直划分的数量,并且其中所述允许水平划分的数量包括允许二元水平划分的数量和允许三元水平划分的数量。
48.一种存储由视频处理装置执行的方法生成的视频的比特流的非暂时性计算机可读记录介质,其中,所述方法包括:
根据规则从所述视频的块生成所述视频的比特流,以及
将所述比特流存储在非暂时性计算机可读记录介质中,
其中,所述规则规定,对于规定变换系数级别的符号的语法元素,是否使用上下文编解码或旁路编解码是基于剩余的允许上下文编解码二进制位的数量或用于当前块的变换类型。
49.一种本文档中描述的方法、装置或系统。
CN202180032523.2A 2020-05-01 2021-05-06 用于分割语法的熵编解码 Pending CN115516863A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2020/088546 2020-05-01
CN2020088546 2020-05-01
PCT/CN2021/091870 WO2021219144A1 (en) 2020-05-01 2021-05-06 Entropy coding for partition syntax

Publications (1)

Publication Number Publication Date
CN115516863A true CN115516863A (zh) 2022-12-23

Family

ID=78374081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180032523.2A Pending CN115516863A (zh) 2020-05-01 2021-05-06 用于分割语法的熵编解码

Country Status (7)

Country Link
US (2) US11856202B2 (zh)
EP (2) EP4128795A4 (zh)
JP (2) JP2023523839A (zh)
KR (2) KR20230003061A (zh)
CN (1) CN115516863A (zh)
BR (1) BR112022021916A2 (zh)
WO (2) WO2021219144A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4325859A3 (en) * 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150189321A1 (en) * 2014-01-02 2015-07-02 Mediatek Inc. Method of Binarization and Context Adaptive Binary Arithmetic Coding of Depth Coding Syntax
US20210160507A1 (en) * 2016-10-04 2021-05-27 Sharp Kabushiki Kaisha Systems and methods for adaptively clipping sample values
EP3306938A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for binary-tree split mode coding
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US20210329233A1 (en) 2018-07-14 2021-10-21 Mediatek Inc. Methods and Apparatuses of Processing Video Pictures with Partition Constraints in a Video Coding System
JP7395580B2 (ja) * 2018-10-24 2023-12-11 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオデコーダおよび方法
US20220159291A1 (en) * 2019-03-10 2022-05-19 Lg Electronics Inc. Video signal processing method and device for processing motion vector difference information for inter prediction in video signal
WO2020192747A1 (en) * 2019-03-27 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Motion information precision alignment in affine advanced motion vector prediction
CN113382254B (zh) * 2019-06-21 2022-05-17 杭州海康威视数字技术股份有限公司 一种编解码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP4128795A4 (en) 2023-08-30
US20230179766A1 (en) 2023-06-08
EP4128780A4 (en) 2023-11-08
KR20230003061A (ko) 2023-01-05
US11856202B2 (en) 2023-12-26
US20240155130A1 (en) 2024-05-09
KR20230004797A (ko) 2023-01-06
BR112022021916A2 (pt) 2023-02-14
US20230115118A1 (en) 2023-04-13
WO2021219143A1 (en) 2021-11-04
JP2023523839A (ja) 2023-06-07
EP4128780A1 (en) 2023-02-08
JP2023523638A (ja) 2023-06-06
WO2021219144A1 (en) 2021-11-04
EP4128795A1 (en) 2023-02-08

Similar Documents

Publication Publication Date Title
CN113647110B (zh) 帧间编码模式中的二分之一像素插值滤波器的指示
CN113728642B (zh) 编解码视频的量化残差差分脉冲编解码调制表示
CN113287311B (zh) 两步交叉分量预测模式的指示
JP2024003124A (ja) 行列ベースイントラ予測における制約されたアップサンプリングプロセス
CN113545070A (zh) 视频处理中整形信息的信令通知
EP3777179A1 (en) Motion information storage for video coding and signaling
CN113796069B (zh) 使用量化残差差分脉冲编解码调制编解码的帧内编解码视频
CN113841402A (zh) 视频编解码中大块的变换设计
CN115136597A (zh) 空域-时域运动矢量预测
US20240155130A1 (en) Entropy coding for motion precision syntax
CN114026861B (zh) 对运动矢量差的约束
CN113170139A (zh) 上下文自适应二进制算数编码的简化上下文建模
CN112997496B (zh) 仿射预测模式的改进
CN115176460A (zh) 局部双树的调色板模式
US11997270B2 (en) Entropy coding for partition syntax
WO2023246901A1 (en) Methods and apparatus for implicit sub-block transform coding
CN117296316A (zh) 变换和符号预测
CN117121481A (zh) 单独树编解码限制
CN117716690A (zh) 自适应双边滤波器的使用条件
CN113366839A (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