CN113348667A - 在具有MVD的Merge下的距离索引的解析方法 - Google Patents
在具有MVD的Merge下的距离索引的解析方法 Download PDFInfo
- Publication number
- CN113348667A CN113348667A CN201980087421.3A CN201980087421A CN113348667A CN 113348667 A CN113348667 A CN 113348667A CN 201980087421 A CN201980087421 A CN 201980087421A CN 113348667 A CN113348667 A CN 113348667A
- Authority
- CN
- China
- Prior art keywords
- code
- distance
- syntax element
- subset
- mmvd
- 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.)
- Granted
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/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
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了用于视频处理的系统、方法和设备。一种用于视频处理的示例性方法包括:确定指示当前视频块的运动矢量差(MVD)精度的至少一个语法元素,其中该MVD精度指示当前视频块的运动矢量和从Merge候选列表中选择的基本候选之间的距离;基于该至少一个语法元素来执行当前视频块和当前视频块的比特流表示之间的转换;当前视频块所允许的MVD精度被分类为多个子集中的条目,每个子集被分配有子集索引,并且该至少一个语法元素包括指示子集索引的第一语法元素和指示距离索引(DI)的第二语法元素,该距离索引指示具有该子集索引的子集中的条目。
Description
根据适用的专利法和/或依据巴黎公约的规则,本申请旨在及时要求2018年12月31日提交的国际专利申请No.PCT/CN2018/126066、2019年1月7号提交的国际专利申请No.PCT/CN2019/070636、和2019年1月10号提交的国际专利申请No.PCT/CN2019/071159的优先权和利益。其全部公开通过引用而并入,作为本申请的公开的一部分。
技术领域
本文档涉及视频和图像编码和解码。
背景技术
数字视频占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的联网用户设备的数量增加,预计对数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了视频编解码工具,其在一个示例方面,改进了用于视频和图像编解码的运动矢量的信令。
在一个方面,公开了一种用于视频处理的方法。该方法包括:确定指示当前视频块的距离索引(distance index,DI)的至少一个语法元素,其中,该至少一个语法元素不用截断的一元码来二值化;以及基于该至少一个语法元素来执行当前视频块和当前视频块的比特流表示之间的转换。
在一个方面,公开了一种用于视频处理的方法。该方法包括:确定指示当前视频块的运动矢量差(motion vector difference,MVD)精度的至少一个语法元素,其中,MVD精度指示当前视频块的运动矢量与从Merge候选列表中选择的基本候选之间的距离;基于该至少一个语法元素来执行当前视频块和当前视频块的比特流表示之间的转换;其中,当前视频块所允许的MVD精度被分类为多个子集中的条目,每个子集被分配有子集索引,并且该至少一个语法元素包括指示子集索引的第一语法元素和指示距离索引(DI)的第二语法元素,该距离索引指示具有子集索引的子集中的条目。
在一个方面,公开了一种视频系统中的装置,该装置包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时使得处理器实施上述示例中的任何一个中的方法。
在一个方面,公开了一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行上述示例中的任何一个中的方法的程序码。
在又一个示例方面,上述方法可以由包括处理器的视频编码器装置或视频解码器装置来实施。
在又一个示例方面,这些方法可以以处理器可执行指令的形式体现并存储在计算机可读程序介质上。
这些以及其他方面在本文档中进一步描述。
附图说明
图1示出了简化的仿射运动模型的示例。
图2示出了每一子块的仿射运动矢量场(Motion Vector Field,MVF)的示例。
图3A和图3B分别示出了4参数仿射模型和6参数仿射模型的示例。
图4示出了AF_INTER的运动矢量预测量(motion vector predictor,MVP)的示例。
图5A和图5B示出了AF_MERGE的候选的示例。
图6示出仿射Merge模式的候选位置的示例。
图7示出了距离索引和距离偏移映射的示例。
图8示出了最终运动矢量表达(Ultimate Motion Vector Expression,UMVE)搜索过程的示例。
图9示出了UMVE搜索点的示例。
图10是用于视频处理的示例方法的流程图。
图11是用于视频处理的另一示例方法的流程图。
图12示出了用于实施本文档中描述的技术的硬件平台的示例。
具体实施方式
本文档提供了可以由视频比特流的解码器使用的各种技术以改进经解压缩或经解码的数字视频的质量。此外,视频编码器还可以在编码过程期间实施这些技术,以便重构用于进一步编码的解码帧。
为了便于清楚,在本文档中使用了章节标题,并且不将实施例和技术限于对应章节。如此以来,一个章节的实施例可以与其他章节的实施例组合。
1.概述
本专利文档涉及视频编解码技术。具体地,它涉及视频编解码中的运动补偿。它可以应用于现有的视频编解码标准,如HEVC,或即将要定案的标准(例如,多功能视频编解码(Versatile Video Coding,VVC))。它也可以应用于未来的视频编解码标准或视频编解码器。
2.介绍性注解
视频编解码标准主要是通过熟知的ITU-T和ISO/IEC标准的发展而演变的。ITU-T制定了H.261和H.263,ISO/IEC制定了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年联合成立了联合视频探索组(Joint Video Exploration Team,JVET)。此后,JVET采用了许多新方法,并将其放入名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家组(JVET)成立,以致力于多功能视频编解码(VVC)标准,目标是与HEVC相比比特率降低50%。
2.1仿射运动补偿预测
在HEVC中,只有平移运动模型被应用于运动补偿预测(Motion CompensationPrediction,MCP)。而在现实世界中,存在许多种运动,例如,放大/缩小、旋转、透视运动和其它不规则运动。在JEM中,应用简化的仿射变换运动补偿预测。如图1所示,块的仿射运动场由两个控制点运动矢量来描述。
块的运动矢量场(Motion Vector Field,MVF)由以下等式描述:
其中(v0x,v0y)是左上角控制点的运动矢量,并且(v1x,v1y)是右上角控制点的运动矢量。
为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。子块尺寸M×N由等式2推导,其中MvPre是运动矢量分数精度(在JEM中为1/16),(v2x,v2y)是根据等式1计算的左下控制点的运动矢量。
在由等式2推导出之后,如果需要,应该向下调整M和N,使其分别为w和h的因数(divisor)。
为了推导每个M×N子块的运动矢量,如图2所示,根据等式1计算每个子块的中心样点的运动矢量,并舍入到1/16的分数精度。
在MCP之后,每个子块的高精度运动矢量被舍入并保存为与正常运动矢量相同的精度。
2.1.1AF_INTER模式
在JEM中,有两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。在这种模式下,使用邻近块构建具有运动矢量对{(v0,v1)|v0={vA,vB,vc},v1={vD,vE}}的候选列表。如图4所示,从块A、块B或块C的运动矢量中选择v0。根据参考列表以及邻近块的参考的POC、当前块的参考的POC和当前CU的POC之间的关系,缩放来自邻近块的运动矢量。并且从邻近块D和E中选择v1的方法是类似的。如果候选列表的数量小于2,则该列表由通过复制每个AMVP候选而组成的运动矢量对来填充。当候选列表大于2时,首先根据邻近运动矢量的一致性(一对候选中两个运动矢量的相似性)对候选进行排序,并且仅保留前两个候选。使用RD代价来确定选择哪个运动矢量对候选作为当前CU的控制点运动矢量预测(Control Point Motion Vector Prediction,CPMVP)。并且在比特流中信令通知用于指示候选列表中的CPMVP位置的索引。在确定当前仿射CU的CPMVP之后,应用仿射运动估计并找到控制点运动矢量(Control Point Motion Vector,CPMV)。然后,在比特流中信令通知CPMV和CPMVP的差。
图3A示出了4参数仿射模型的示例。图3B示出了6参数仿射模型的示例。
在AF_INTER模式下,当使用4/6参数仿射模式时,需要2/3个控制点,并且因此需要为这些控制点编解码2/3个MVD,如图3A所示。在示例中,提出按如下方式来推导MV,例如,从mvd0中预测mvd1和mvd2。
其中mvdi和mv1分别是左上像素(i=0)、右上像素(i=1)或左下像素(i=2)的预测运动矢量、运动矢量差和运动矢量,如图3B所示。请注意,两个运动矢量(例如,mvA(xA,yA)和mvB(xB,yB))的相加等于两个分量的单独求和,即newMV=mvA+mvB,newMV的两个分量分别设置为(xA+xB)和(yA+yB)。
2.1.2AF_INTER模式下的快速仿射ME算法
在仿射模式下,需要联合确定2或3个控制点的MV。直接联合搜索多个MV在计算上很复杂。提出了一种快速仿射ME算法,并将其应用于VTM/BMS。
针对4参数仿射模型描述了快速仿射ME算法,并且该思想可以扩展到6参数仿射模型。
将(a-1)替换为a’,则运动矢量可以重写为:
假设两个控制点(0,0)和(0,w)的运动矢量是已知的,从等式(5)中我们可以推导仿射参数,
运动矢量可以以矢量形式重写为:
其中
P=(x,y)是像素位置。
在编码器处,迭代地推导AF_INTER的MVD。将MVi(P)表示为在位置P的第i次迭代中推导出的MV,并将dMVC i表示为在第i次迭代中为MVC更新的增量。然后,在第(i+1)次迭代中,
将Picref表示为参考图片,并且将Piccur表示为当前图片,并表示Q=P+MVi(P)。假设我们使用MSE作为匹配准则,则我们需要最小化:
假设这样的MVD推导过程被迭代n次,则最终MVD计算如下:
2.1.3AF_MERGE模式
在AF_MERGE模式下应用CU时,它从有效的邻近重构块中获得用仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图5A所示。如果邻近的左下块A以仿射模式被编解码,如图5B所示,则推导包含块A的CU的左上角、右上角和左下角的运动矢量v2、v3和v4。并且根据v2、v3和v4来计算当前CU上左上角的运动矢量v0。其次,计算当前CU右上的运动矢量v1。
在推导出当前CU的CPMV v0和v1之后,根据简化的仿射运动模型等式1,生成当前CU的MVF。为了识别当前CU是否用AF_MERGE模式编解码,当存在至少一个邻近块以仿射模式编解码时,在比特流中信令通知仿射标志。
在计划被采用到VTM 3.0中的示例中,仿射Merge候选列表由以下步骤构建:
1)插入继承的仿射候选
继承的仿射候选是指该候选是从其有效邻近仿射编解码块的仿射运动模型中推导的。在公共基础中,如图6所示,候选位置的扫描顺序是:A1、B1、B0、A0和B2。
在推导出候选之后,执行完全修剪过程,以检查是否已将相同候选插入列表。如果存在相同候选,则丢弃推导出的候选。
2)插入构建的仿射候选
如果仿射Merge候选列表中的候选的数量小于MaxNumAffineCand(在本文中设置为5),则将构建的仿射候选插入候选列表中。构建的仿射候选是指通过组合每个控制点的邻近运动信息来构建候选。
控制点的运动信息首先从图5B所示的指定的空域邻居和时域邻居中推导。CPk(k=1,2,3,4)代表第k个控制点。A0、A1、A2、B0、B1、B2和B3是预测CPk(k=1,2,3)的空域位置;T是预测CP4的时域位置。
CP1、CP2、CP3和CP4的坐标分别是(0,0)、(W,0)、(H,0)和(W,H),其中W和H是当前块的宽度和高度。
图6示出了仿射Merge模式的候选位置的示例
根据以下优先级顺序获得每个控制点的运动信息:
对于CP1,检查优先级是B2->B3->A2。如果B2可用,则使用B2。否则,如果B2不可用,则使用B3。如果B2和B3都不可用,则使用A2。如果三个候选全部都不可用,则无法获得CP1的运动信息。
对于CP2,检查优先级是B1->B0。
对于CP3,检查优先级是A1->A0。
对于CP4,使用T。
其次,使用控制点的组合来构建仿射Merge候选。
构建6参数仿射候选需要三个控制点的运动信息。三个控制点可以从以下四个组合之一选择({CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4})。组合{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4}将被转换为由左上、右上和左下控制点表示的6参数运动模型。
构建4参数仿射候选需要两个控制点的运动信息。这两个控制点可以从以下六个组合之一选择({CP1,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、{CP3,CP4})。组合{CP1,CP4}、{CP2,CP3}、{CP2,CP4}、{CP1,CP3}、{CP3,CP4}将被转换为由左上和右上控制点表示的4参数运动模型。
构建的仿射候选的组合按以下顺序插入候选列表:
{CP1,CP2,CP3}、{CP1,CP2,CP4}、{CP1,CP3,CP4}、{CP2,CP3,CP4}、{CP1,CP2}、{CP1,CP3}、{CP2,CP3}、{CP1,CP4}、{CP2,CP4}、{CP3,CP4}。
对于组合的参考列表X(X为0或1),在控制点中具有最高使用率的参考索引被选择作为列表X的参考索引,并且指向不同参考图片的运动矢量将被缩放。
在推导出候选之后,执行完全修剪过程,以检查是否已将相同候选插入列表。如果存在相同候选,则推导出的候选将被丢弃。
3)用零运动矢量进行填充
如果仿射Merge候选列表中的候选数少于5,则具有零参考索引的零运动矢量被插入到候选列表中,直到列表满为止。
2.2具有预测偏移的仿射Merge模式
在示例中,UMVE被扩展到仿射Merge模式,此后我们将其称为UMVE仿射模式。所提出的方法选择可用的第一仿射Merge候选作为基本预测量。然后,它将运动矢量偏移应用于来自基本预测量的每个控制点的运动矢量值。如果没有可用的仿射Merge候选,则不使用该提出的方法。
所选择的基本预测量的帧间预测方向和每个方向的参考索引被不加改变地使用。
在当前实施方式中,当前块的仿射模型被假定为4参数模型,只需要推导2个控制点。因此,仅基本预测量的前2个控制点将被用作控制点预测量。
对于每个控制点,zero_MVD标志被用于指示当前块的控制点是否具有与对应控制点预测量相同的MV值。如果zero_MVD标志为真,则控制点不需要其他信令。否则,对控制点信令通知距离索引和偏移方向索引。
使用尺寸为5的距离偏移表,如下表所示。信令通知距离索引,以指示使用哪个距离偏移。距离索引和距离偏移值的映射如图7所示。
表-距离偏移表
距离DX | 0 | 1 | 2 | 3 | 4 |
距离偏移 | 1/2像素 | 1像素 | 2像素 | 4像素 | 8像素 |
方向索引可以表示如下所示的四个方向,其中只有x或y方向可能有MV差,但不是两个方向都有。
偏移方向IDX | 00 | 01 | 10 | 11 |
x-dir-factor | +1 | –1 | 0 | 0 |
y-dir-factor | 0 | 0 | +1 | –1 |
如果帧间预测是单向的,则信令通知的距离偏移被应用于每个控制点预测量的偏移方向。结果将是每个控制点的MV值。
例如,当基本预测量是单向的时,并且控制点的运动矢量值是MVP(vpx,vpy)。当信令通知距离偏移和方向索引时,当前块的对应控制点的运动矢量将计算如下。
MV(vx,vy)=MVP(vpx,vpy)+MV(x-dir-factor*distance-offset,y-dir-factor*distance-offset)
如果帧间预测是双向的,则信令通知的距离偏移被应用在控制点预测量的L0运动矢量的信令通知的偏移方向上;并且具有相反方向的相同距离偏移被应用于控制点预测量的L1运动矢量。结果将是每个控制点在每个帧间预测方向上的MV值。
例如,当基本预测量是单向的时,并且L0上的控制点的运动矢量值是MVPL0(v0px,v0py),并且L1上的该控制点的运动矢量是MVPL1(v1px,v1py)。当信令通知距离偏移和方向索引时,当前块的对应控制点的运动矢量将计算如下。
MVL0(v0x,v0y)=MVPL0(v0px,v0py)+MV(x-dir-factor*distance-offset,y-dir-factor*distance-offset);
MVL1(v0x,v0y)=MVPL1(v0px,v0py)+MV(-x-dir-factor*distance-offset,-y-dir-factor*distance-offset)。
2.3最终运动矢量表达
在示例中,提出了最终运动矢量表达(UMVE)。利用提出的运动矢量表达方法而将UMVE用于跳过或Merge模式。
UMVE重用与VVC中规则Merge候选列表中包括的那些相同的Merge候选。在Merge候选当中,可以选择基本候选,并通过所提出的运动矢量表达方法进一步扩展。
UMVE提供了新的运动矢量差(MVD)表示方法,其中使用起点、运动幅度和运动方向来表示MVD。
图8示出了UMVE搜索过程的示例。
图9示出了UMVE搜索点的示例。
所提出的技术按原样使用Merge候选列表。但是对于UMVE的扩展,仅考虑默认Merge类型(MRG_TYPE_DEFAULT_N)的候选。
基本候选索引定义了起点。基本候选索引指示列表中的候选当中的最佳候选,如下所示。
表1.基本候选IDX
基本候选IDX | 0 | 1 | 2 | 3 |
第N个MVP | 第一MVP | 第二MVP | 第三MVP | 第四MVP |
如果基本候选的数量等于1,则不信令通知基本候选IDX。
距离索引是运动幅度信息。距离索引指示距起点信息的预定义距离。预定义距离如下:
表2a.距离IDX
在熵编解码过程中,将距离IDX用截断的一元码来二值化为位元(bin):
表2b:距离IDX二值化
在算术编解码中,第一个位元用概率上下文来编解码,而随后的位元用等概率模型(也称为旁路编解码)来编解码。
方向索引表示MVD相对于起点的方向。方向索引可以表示如下所示的四个方向。
表3.方向IDX
方向IDX | 00 | 01 | 10 | 11 |
x轴 | + | – | N/A | N/A |
y轴 | N/A | N/A | + | – |
UMVE标志在发送跳过标志和Merge标志之后立即被信令通知。如果跳过和Merge标志为真,则解析UMVE标志。如果UMVE标志等于1,则解析UMVE语法。但是,如果不是1,则解析AFFINE标志。如果AFFINE标志等于1,这就是AFFINE模式,但是,如果不是1,则解析跳过/Merge索引以用于VTM的跳过/Merge模式。
不需要由于UMVE候选的附加行缓冲。因为软件的跳过/Merge候选直接用作基本候选。使用输入的UMVE索引,在运动补偿之前就决定MV的补充。不需要为此保留长行缓冲区。
在当前的通用测试条件下,可以将Merge候选列表中的第一或第二Merge候选选择为基本候选。
UMVE被称为具有MVD的Merge(Merge with MVD,MMVD)。
2.4广义双向预测
在传统的双向预测中,来自L0和L1的预测量被平均,以使用相等的权重0.5生成最终预测量。预测量生成公式如等式(3)所示。
PTraditionalBiPred=(PL0+PL1+RoundingOffset)>>shiftNum (1)
在等式(3)中,传统双向预测的最终预测量是PTraditionalBiPred,PL0和PL1分别是来自L0和L1的预测量,并且RoundingOffset和shiftNum被用于归一化最终预测量。
提出广义双向预测(Generalized Bi-prediction,GBI)以允许对来自L0和L1的预测量施加不同的权重。预测量的生成如等式(4)所示。
PGBi=((1-w1)*PL0+w1*PL1+RoundingOffsetGBi)>>shiftNumGBi (2)
在等式(4)中,PGBi是GBi的最终预测量,(1-w1)和w1是分别施加到L0和L1的预测量的所选择的GBI权重。RoundingOffsetGBi和shiftNumGBi被用于归一化GBi中的最终预测量。
w1的支持的权重为{-1/4,3/8,1/2,5/8,5/4}。支持一个相等权重集和四个不相等权重集。对于相等权重情况,生成最终预测量的过程与传统双向预测模式中的过程完全相同。对于随机接入(random access,RA)条件下的真正双向预测情况,候选权重集的数量减少到三个。
对于高级运动矢量预测(AMVP)模式,如果该CU被双向预测编解码,则在CU级别显式地信令通知GBI中的权重选择。对于Merge模式,权重选择从Merge候选继承。在该提案中,GBI支持DMVR生成模板的加权平均以及BMS-1.0的最终预测量。
2.5自适应运动矢量差分辨率
在HEVC中,当在条带头中的use_integer_mv_flag等于0时,以四分之一(quarter)亮度样点为单位信令通知(PU的运动矢量和预测运动矢量之间的)运动矢量差(MotionVector Difference,MVD)。在VTM-3.0中,引入了局部自适应运动矢量分辨率(LocallyAdaptive Motion Vector Resolution,LAMVR)。在JEM中,可以以四分之一亮度样点、整数亮度样点或四亮度样点为单位对MVD进行编解码。以编解码单元(CU)级别控制MVD分辨率,并且对于具有至少一个非零MVD分量的每个CU,有条件地信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU,信令通知第一标志以指示在CU中是否使用四分之一亮度样点MV精度。当第一标志(等于1)指示未使用四分之一亮度样点MV精度时,信令通知另一个标志以指示使用整数亮度样点MV精度还是四亮度样点MV精度。
当CU的第一MVD分辨率标志为零或未针对CU进行编解码(意味着CU中的所有MVD均为零)时,四分之一亮度样点MV分辨率用于CU。当CU使用整数亮度样点MV精度或四亮度样点MV精度时,CU的AMVP候选列表中的MVP被舍入到对应精度。
在算术编解码中,第一MVD分辨率标志是用三种概率上下文之一编解码的:C0、C1或C2;而第二MVD分辨率标志是用第四概率上下文C3编解码的。第一MVD分辨率标志的概率上下文Cx被推导为(L表示左边邻近块,并且A表示上边邻近块):
如果L可用,被帧间编解码,并且其第一MVD分辨率标志不等于0,则xL被设置为等于1;否则,xL被设置为等于0。
如果A可用,被帧间编解码,并且其第一MVD分辨率标志不等于0,则xA被设置为等于1;否则,xA被设置为等于0。
x被设置为等于xL+xA。
在编码器中,CU级别的RD检查用于确定哪个MVD分辨率要用于CU。也就是说,对于每个MVD分辨率,执行三次CU级别的RD检查。为了加快编码器速度,在JEM中应用以下编码方案:
○在具有正常四分之一亮度样点MVD分辨率的CU的RD检查期间,存储当前CU(整数亮度样点精度)的运动信息。存储的运动信息(舍入之后)被用作在针对具有整数亮度样点和4亮度样点MVD分辨率的相同CU的RD检查期间的进一步的小范围运动矢量细化的起始点,使得耗时的运动估计过程不会重复三次。
○有条件地调用具有4亮度样点MVD分辨率的CU的RD检查。对于CU,当整数亮度样点MVD分辨率的RD代价远大于四分之一亮度样点MVD分辨率的RD代价时,跳过对于CU的4亮度样点MVD分辨率的RD检查。
在VTM-3.0中,LAMVR也称为整数运动矢量(Integer Motion Vector,IMV)。
2.6当前图片参考
解码器方面:
在这种方法中,当前(部分)解码的图片被认为是参考图片。该当前图片被放置于参考图片列表0的最后位置。因此,对于使用当前图片作为唯一参考图片的条带,其条带类型被认为是P条带。在这种方法中比特流语法遵循用于帧间编解码的相同的语法结构,而解码过程则与帧间编解码统一。唯一显着区别是,块矢量(指向当前图片的运动矢量)总是使用整数像素分辨率。
与块级别CPR_flag方法的变化是:
·在编码器中搜索此模式时,块的宽度和高度均小于或等于16。
·当亮度块矢量为奇数整数时,启用色度插值。
·当SPS标志开启时,启用CPR模式的自适应运动矢量分辨率(AMVP)。在这种情况下,当使用AMVR时,在块级别下,块矢量可以在1像素整数分辨率和4像素整数分辨率之间切换。
编码器方面:
编码器对宽度或高度不大于16的块执行RD检查。对于非Merge模式,首先使用基于哈希的搜索执行块矢量搜索。如果从哈希搜索中没有找到有效的候选,则将执行基于块匹配的局部搜索。
在基于哈希的搜索中,当前块和参考块之间的哈希键匹配(32位CRC)被扩展到所有允许的块尺寸。当前图片中每个位置的哈希键计算基于4×4块。对于较大尺寸的当前块,当其所有4×4块与对应参考位置中的哈希键匹配时,出现与参考块匹配的哈希键。如果发现多个参考块与具有相同哈希键的当前块匹配,则计算每个候选的块矢量代价,并选择代价最小的块。
在块匹配搜索中,将搜索范围设置为当前块的左边和顶部的64个像素,并且将搜索范围限制在当前CTU内。
2.7在一个示例中的Merge列表设计
VVC中支持三种不同的Merge列表构建过程:
1)子块Merge候选列表:它包括ATMVP和仿射Merge候选。仿射模式和ATMVP模式共享一个Merge列表构建过程。这里,ATMVP和仿射Merge候选可以按顺序添加。子块Merge列表尺寸在条带头中信令通知,并且最大值为5。
2)单向预测TPM Merge列表:对于三角形预测模式,两个分区共享一个Merge列表构建过程,即使两个分区可以选择它们自己的Merge候选索引。当构建该Merge列表时,检查块的空域邻近块和两个时域块。从空域邻近块和时域块中推导出的运动信息在本文中被称为规则运动候选。这些规则运动候选被进一步用于推导多个TPM候选。请注意,变换在整个块级别下执行,即使两个分区也可以使用不同的运动矢量来生成它们自己的预测块。
在一些实施例中,单向预测TPM Merge列表尺寸被固定为5。
3)规则Merge列表:对于剩余的编解码块,共享一个Merge列表构建过程。这里,可以按顺序插入空域/时域/HMVP、成对组合的双向预测Merge候选和零运动候选。规则Merge列表尺寸在条带头中信令通知,并且最大值为6。
子块Merge候选列表
建议除了用于非子块Merge候选的规则Merge列表之外,还将所有子块相关的运动候选放入单独的Merge列表中。
子块相关的运动候选被放入单独的Merge列表中,该列表被命名为“子块Merge候选列表”。
在一个示例中,子块Merge候选列表包括仿射Merge候选、和ATMVP候选和/或基于子块的STMVP候选。
在此文中,正常Merge列表中的ATMVP Merge候选被移动到仿射Merge列表的第一位置。使得新列表(即基于子块的Merge候选列表)中的所有Merge候选都基于子块编解码工具。
通过以下步骤构建仿射Merge候选列表:
1)插入继承的仿射候选
继承的仿射候选是指该候选是从其有效邻近仿射编解码块的仿射运动模型中推导的。从邻近块的仿射运动模型推导最多两个继承的仿射候选,并将其插入到候选列表中。对于左边预测量,扫描顺序为{A0,A1};对于上边预测量,扫描顺序为{B0,B1,B2}。
2)插入构建的仿射候选
如果仿射Merge候选列表中的候选数小于MaxNumAffineCand(设置为5),则将构建的仿射候选插入到候选列表中。构建的仿射候选是指通过组合每个控制点的邻近运动信息来构建候选。
控制点的运动信息首先从图7所示的指定的空域邻居和时域邻居中推导。CPk(k=1,2,3,4)表示第k个控制点。A0、A1、A2、B0、B1、B2和B3是预测CPk(k=1,2,3)的空域位置;T是预测CP4的时域位置。
CP1、CP2、CP3和CP4的坐标分别是(0,0)、(W,0)、(H,0)和(W,H),其中W和H是当前块的宽度和高度。
根据以下优先级顺序获得每个控制点的运动信息:
对于CP1,检查优先级是B2->B3->A2。如果B2可用,则使用B2。否则,如果B2不可用,则使用B3。如果B2和B3都不可用,则使用A2。如果三个候选全部都不可用,则无法获得CP1的运动信息。
对于CP2,检查优先级是B1->B0。
对于CP3,检查优先级是A1->A0。
对于CP4,使用T。
其次,使用控制点的组合来构建仿射Merge候选。
构建6参数仿射候选需要三个控制点的运动信息。三个控制点可以从以下四个组合中选择一个({CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4})。组合{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4}将转换为由左上、右上和左下控制点表示的6参数运动模型。
构建4参数仿射候选需要两个控制点的运动信息。这两个控制点可以从以下两个组合中选择一个({CP1,CP2}、{CP1,CP3})。这两个组合将被转换为由左上和右上控制点表示的4参数运动模型。
构建的仿射候选的组合按以下顺序插入到候选列表中:
{CP1,CP2,CP3}、{CP1,CP2,CP4}、{CP1,CP3,CP4}、{CP2,CP3,CP4}、{CP1,CP2}、{CP1,CP3}。
仅当CP具有相同的参考索引时,才将CP的运动信息的可用组合添加到仿射Merge列表中。
3)用零运动矢量进行填充
如果仿射Merge候选列表中的候选数少于5,则具有零参考索引的零运动矢量被插入到候选列表中,直到列表满为止。
2.8在示例中具有仿射Merge候选的MMVD
例如,将MMVD思想应用于仿射Merge候选(称为具有预测偏移的仿射Merge)。它是MVD(或称为“距离”或“偏移”)的扩展,是在仿射Merge候选(称为)被信令通知之后被信令通知的。所有CPMV与MVD相加以获得新的CPMV。距离表被指定为
距离IDX | 0 | 1 | 2 | 3 | 4 |
距离-偏移 | 1/2-像素 | 1-像素 | 2-像素 | 4-像素 | 8-像素 |
在一些实施例中,基于POC距离的偏移镜像方法被用于双向预测。当基本候选被双向预测时,应用于L0的偏移被信令通知,并且L1上的偏移取决于列表0和列表1上参考图片的时域位置。
如果两个参考图片都在当前图片的同一时域侧,则将相同的距离偏移和相同的偏移方向应用于L0和L1的CPMV。
当两个参考图片在当前图片的不同侧时,L1的CPMV将在相反的偏移方向上应用距离偏移。
3.通过公开的实施例解决的问题的示例
在MMVD的设计中存在一些潜在的问题:
·UMVE信息的编解码/解析过程可能效率不高,因为它使用截断的一元二值化方法来编解码距离(MVD精度)信息,并使用固定长度来旁路编解码方向索引。这是基于1/4像素精度占最高百分比的假设。但是,并非所有类型的序列都如此。
·可能的距离设计可能效率不高。
4.由各种实施例实施的技术的示例
以下列表应该被视为解释一般概念的示例。这些发明不应该被狭隘地解释。此外,这些技术可以以任何方式组合。
对距离索引的解析(例如,MVD精度索引)
1.提出了UMVE中使用的距离索引(DI)不用截断的一元码来二值化。
a.在一个示例中,可以用固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化DI。
2.距离索引可以用一个以上的语法元素来信令通知。
3.提出了将允许距离的集合分类到多个子集,例如,K个子集(K大于1)。首先信令通知子集索引(第一语法),然后是子集内的距离索引(第二语法)。
a.例如,首先信令通知mmvd_distance_subset_idx,然后是mmvd_distance_idx_in_subset。
i.在一个示例中,可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化mmvd_distance_idx_in_subset。
(i)具体地,如果子集中只有两个可能的距离,则mmvd_distance_idx_in_subset可以被二值化为标志。
(ii)具体地,如果子集中只有一个可能的距离,则不信令通知mmvd_distance_idx_in_subset。
(iii)具体地,如果mmvd_distance_idx_in_subset被二值化为截断码,则最大值被设置为子集中的可能的距离数减1。
b.在一个示例中,有两个子集(例如,K=2)。
i.在一个示例中,一个子集包括所有分数MVD精度(例如,1/4像素、1/2像素)。另一个子集包括所有整数MVD精度(例如,1像素、2像素、4像素、8像素、16像素、32像素)。
ii.在一个示例中,一个子集可以仅具有一个距离(例如,1/2像素),并且另一个子集具有所有剩余的距离。
c.在一个示例中,有三个子集(例如,K=3)。
i.在一个示例中,第一子集包括分数MVD精度(例如,1/4像素、1/2像素);第二子集包括小于4像素(例如,1像素、2像素)的整数MVD精度;并且第三子集包括所有其他的MVD精度(例如,4像素、8像素、16像素、32像素)。
d.在一个示例中,有K个子集,并且K的数量被设置为等于LAMVR中允许的MVD精度。
i.可选地,此外,子集索引的信令可以重用为LAMVR所进行的(例如,重用推导上下文偏移索引的方式;重用上下文等)
ii.子集内的距离可以由相关联的LAMVR索引决定(例如,规范中的AMVR_mode)。
e.在一个示例中,如何定义子集和/或有多少子集可以被预定义或动态地自适应改变。
f.在一个示例中,可以用截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来编解码第一语法。
g.在一个示例中,可以用截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来编解码第二语法。
h.在一个示例中,可以不在比特流中显式地编解码子集索引(例如,第一语法)。可选地,此外,可以例如基于当前块和/或先前编解码的块的编解码信息(例如,块维度)来动态推导子集索引。
i.在一个示例中,可以不在比特流中显式地编解码子集内的距离索引(例如,第二语法)。
i.在一个示例中,当子集只有一个距离时,不需要进一步信令通知距离索引。
ii.可选地,此外,可以例如基于当前块和/或先前编解码的块的编解码信息(例如,块维度)来动态推导第二语法。
j.在一个示例中,信令通知第一分辨率位元以指示DI是否小于预定数T。可选地,信令通知第一分辨率位元以指示距离是否小于预定数。
i.在一个示例中,两个语法元素被用于表示距离索引。首先信令通知mmvd_resolution_flag,然后是mmvd_distance_idx_in_subset。
ii.在一个示例中,三个语法元素被用于表示距离索引。首先信令通知mmvd_resolution_flag,当mmvd_resolution_flag等于0时,随后是mmvd_short_distance_idx_in_subset,而当mmvd_resolution_flag等于1时,随后是mmvd_long_distance_idx_in_subset。
iii.在一个示例中,距离索引数T对应于1像素距离。例如,在VTM-3.0中定义的表2a中,T=2。
iv.在一个示例中,距离索引数T对应于1/2像素距离。例如,在VTM-3.0中定义的表2a中,T=1。
v.在一个示例中,距离索引数T对应于W个像素距离。例如,在VTM-3.0中定义的表2a中,T=3对应于2像素距离。
vi.在一个示例中,如果DI小于T,则第一分辨率位元等于0。可选地,如果DI小于T,则第一分辨率位元等于1。
vii.在一个示例中,如果DI小于T,则在第一分辨率位元之后进一步信令通知短距离索引的码,以指示DI的值。
(i)在一个示例中,DI被信令通知。可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化DI。
a.当DI被二值化为截断的码(诸如截断的一元码)时,最大编解码值为T-1。
(ii)在一个示例中,S=T-1-DI被信令通知。可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化T-1-DI。
a.当T-1-DI被二值化为截断的码(诸如截断的一元码)时,最大编解码值为T-1。
b.在S被解析之后,DI被重构为DI=T-S-1。
viii.在一个示例中,如果DI不小于T,则在第一分辨率位元之后进一步信令通知长距离索引的码,以指示DI的值。
(i)在一个示例中,B=DI-T被信令通知。可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化DI-T。
a.当DI-T被二值化为截断的码(诸如截断的一元码)时,最大编解码值为DMax-T,其中DMax是最大允许距离,诸如VTM-3.0中的7。
b.在B被解析之后,DI被重构为DI=B+T。
(ii)在一个示例中,B’=DMax-DI被信令通知,其中DMax是最大允许距离,诸如VTM-3.0中的7。可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化DMax-DI。
a.当DMax-DI被二值化为截断的码(诸如截断的一元码)时,最大编解码值为DMax-T,其中DMax是最大允许距离,诸如VTM-3.0中的7。
b.在B’被解析之后,DI被重构为DI=DMax-B’。
k.在一个示例中,第一分辨率位元被信令通知,以指示DI是否大于预定数T。可选地,第一分辨率位元被信令通知,以指示距离是否大于预定数。
i.在一个示例中,距离索引数T对应于1像素距离。例如,在VTM-3.0中定义的表2a中,T=2。
ii.在一个示例中,距离索引数T对应于1/2像素距离。例如,在VTM-3.0中定义的表2a中,T=1。
iii.在一个示例中,距离索引数T对应于W像素距离。例如,在VTM-3.0中定义的表2a中,T=3对应于2像素距离。
iv.在一个示例中,如果DI大于T,则第一分辨率位元等于0。可选地,如果DI大于T,则第一分辨率位元等于1。
v.在一个示例中,如果DI不大于T,则在第一分辨率位元之后进一步信令通知短距离索引的码,以指示DI的值。
(i)在一个示例中,DI被信令通知。可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化DI。
a.当DI被二值化为截断的码(诸如截断的一元码)时,最大编解码值为T。
(ii)在一个示例中,S=T-DI被信令通知。可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化T-DI。
a.当T-DI被二值化为截断的码(诸如截断的一元码)时,最大编解码值为T。
b.在S被解析之后,DI被重构为DI=T-S。
vi.在一个示例中,如果DI大于T,则在第一分辨率位元之后进一步信令通知长距离索引的码,以指示DI的值。
(i)在一个示例中,B=DI-1-T被信令通知。可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化DI-1-T。
a.当DI-1-T被二值化为截断的码(诸如截断的一元码)时,最大编解码值为DMax-1-T,其中DMax是最大允许距离,诸如VTM-3.0中的7。
b.在B被解析之后,DI被重构为DI=B+T+1。
(ii)在一个示例中,B’=DMax-DI被信令通知,其中DMax是最大允许距离,诸如VTM-3.0中的7。可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化DMax-DI。
a.当DMax-DI被二值化为截断的码(诸如截断的一元码)时,最大编解码值为DMax-1-T,其中DMax是最大允许距离,诸如VTM-3.0中的7。
b.在B’被解析之后,DI被重构为DI=DMax-B’。
l.距离索引的几种可能的二值化方法是:(应当注意,如果将一种方法中的所有“1”改变为“0”并且将一种方法中的所有“0”改变为“1”的过程将产生与另一种方法相同的码字,则两种二值化方法应当被认为是相同的。)
4.提出了使用一个或多个概率上下文来编解码第一语法
a.在一个示例中,第一语法是上面提到的第一分辨率位元。
b.在一个示例中,使用哪个概率上下文是从邻近块的第一分辨率位元推导出的。
c.在一个示例中,使用哪个概率上下文是从邻近块的LAMVR值(例如,AMVR_mode值)推导出的。
5.提出了使用一个或多个概率上下文来编解码第二语法。
a.在一个示例中,第二语法是上面提到的短距离索引。
i.在一个示例中,用于编解码短距离索引的第一个位元用概率上下文来编解码,并且其他位元被旁路编解码。
ii.在一个示例中,用于编解码短距离索引的前N个位元用概率上下文来编解码,并且其他位元被旁路编解码。
iii.在一个示例中,用于编解码短距离索引的所有位元用概率上下文来编解码。
iv.在一个示例中,不同的位元可以具有不同的概率上下文。
v.在一个示例中,几个位元共享单个概率上下文。
(i)在一个示例中,这些位元是连续的。
vi.在一个示例中,使用哪个概率上下文是从邻近块的短距离索引推导出的。
b.在一个示例中,第二语法是上面提到的长距离索引。
i.在一个示例中,用于编解码长距离索引的第一个位元用概率上下文来编解码,并且其他位元被旁路编解码。
ii.在一个示例中,用于编解码长距离索引的前N个位元用概率上下文来编解码,并且其他位元被旁路编解码。
iii.在一个示例中,用于编解码长距离索引的所有位元用概率上下文来编解码。
iv.在一个示例中,不同的位元可以具有不同的概率上下文。
v.在一个示例中,几个位元共享单个概率上下文。
(i)在一个示例中,这些位元是连续的。
vi.在一个示例中,使用哪个概率上下文是从邻近块的长距离索引推导出的。
与LAMVR的交互
6.提出了根据用于编解码LAMVR信息的概率模型来编解码第一语法(例如,第一分辨率位元)。
a.在一个示例中,以与编解码第一MVD分辨率标志相同的方式(例如,共享上下文,或者相同的上下文索引推导方法,但是邻近块的LAMVR信息被MMVD信息替换)来编解码第一分辨率位元。
i.在一个示例中,使用哪个概率上下文来编解码第一分辨率位元是从邻近块的LAMVR信息推导出的。
(i)在一个示例中,使用哪个概率上下文来编解码第一分辨率位元是从邻近块的第一MVD分辨率标志推导出的。
b.可选地,第一MVD分辨率标志被编解码,并在距离索引被编解码时用作第一分辨率位元。
c.在一个示例中,使用哪个概率模型来编解码第一分辨率位元可以取决于编解码的LAMVR信息。
i.例如,使用哪个概率模型来编解码第一分辨率位元可以取决于邻近块的MV分辨率。
7.提出了用于编解码短距离索引的第一个位元用概率上下文来编解码。
a.在一个示例中,以与编解码第二MVD分辨率标志相同的方式(例如,共享上下文,或者相同的上下文索引推导方法,但是邻近块的LAMVR信息被MMVD信息替换)来编解码用于编解码短距离索引的第一个位元。
b.可选地,第二MVD分辨率标志被编解码,并在距离索引被编解码时用作用于编解码短距离索引的第一个位元。
c.在一个示例中,使用哪个概率模型来编解码用于编解码短距离索引的第一个位元可以取决于编解码的LAMVR信息。
i.例如,使用哪个概率模型来编解码用于编解码短距离索引的第一个位元可以取决于邻近块的MV分辨率。
8.提出了用于编解码长距离索引的第一个位元用概率上下文来编解码。
a.在一个示例中,以与编解码第二MVD分辨率标志相同的方式(例如,共享上下文,或者相同的上下文索引推导方法,但是邻近块的LAMVR信息被MMVD信息替换)来编解码用于编解码长距离索引的第一个位元。
b.可选地,第二MVD分辨率标志被编解码,并在距离索引被编解码时用作用于编解码长距离索引的第一个位元。
c.在一个示例中,使用哪个概率模型来编解码用于编解码长距离索引的第一个位元可以取决于编解码的LAMVR信息。
i.例如,使用哪个概率模型来编解码用于编解码长距离索引的第一个位元可以取决于邻近块的MV分辨率。
9.对于LAMVR模式,在算术编解码中,第一MVD分辨率标志是用三种概率上下文(C0、C1或C2)之一来编解码的;而第二MVD分辨率标志是用第四概率上下文C3编解码的。下面描述推导用于编解码距离索引的概率上下文的示例。
a.第一分辨率位元的概率上下文Cx被推导为(L表示左边邻近块,并且A表示上边邻近块):
如果L可用,被帧间编解码,并且其第一MVD分辨率标志不等于0,则xL被设置为等于1;否则,xL被设置为等于0。
如果A可用,被帧间编解码,并且其第一MVD分辨率标志不等于0,则xA被设置为等于1;否则,xA被设置为等于0。
X被设置为等于xL+xA。
b.编解码长距离索引的第一个位元的概率上下文是C3。
c.编解码短距离索引的第一个位元的概率上下文是C3。
10.提出了当应用MMVD模式时,LAMVR MVD分辨率被信令通知。
a.提出了当编解码MMVD模式的边信息时,重用LAMVR MVD分辨率信令所使用的语法。
b.当信令通知的LAMVR MVD分辨率为1/4像素时,信令通知短距离索引,以指示第一子集中的MMVD距离。例如,短距离索引可以是0或1,以分别表示MMVD距离为1/4像素或1/2像素。
c.当信令通知的LAMVR MVD分辨率为1像素时,信令通知中等距离索引,以指示第二子集中的MMVD距离。例如,中等距离索引可以是0或1,以分别表示MMVD距离为1像素或2像素。
d.当信令通知的LAMVR MVD分辨率是第三子集中的4像素时,信令通知长距离索引,以指示MMVD距离。例如,中等距离索引可以是X,以表示MMVD距离为(4<<X)像素。
e.在以下公开中,子集距离索引可以指短距离索引、中等距离索引或长距离索引。
i.在一个示例中,可以用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码、Rice码或任何其他码来二值化子集距离索引。
(i)具体地,如果子集中只有两个可能的距离,则子集距离索引可以被二值化为标志。
(ii)具体地,如果子集中只有一个可能的距离,则不信令通知子集距离索引。
(iii)具体地,如果子集距离索引被二值化为截断的码,则最大值被设置为子集中的可能的距离数减1。
ii.在一个示例中,用概率上下文来编解码用于编解码子集距离索引的第一个位元,并且其他位元被旁路编解码。
iii.在一个示例中,用概率上下文来编解码用于编解码子集距离索引的前N个位元,并且其他位元被旁路编解码。
iv.在一个示例中,用概率上下文来编解码用于编解码子集距离索引的所有位元。
v.在一个示例中,不同的位元可以具有不同的概率上下文。
vi.在一个示例中,几个位元共享单个概率上下文。
(i)在一个示例中,这些位元是连续的。
vii.提出了一个距离不能出现在两个不同的距离子集中。
viii.在一个示例中,可以在短距离子集中信令通知更多距离。
(i)例如,在短距离子集中信令通知的距离必须在子像素中,而不是整数像素。例如,5/4像素、3/2像素、7/4像素可以在短距离子集中,但是3像素不能在短距离子集中。
ix.在一个示例中,可以在中等距离子集中信令通知更多距离。
(i)例如,在中等距离子集中信令通知的距离必须是整数像素,但不是4N形式,其中N是整数。例如,3像素、5像素可以在中等距离子集中,但是24像素不能在中等距离子集中。
x.在一个示例中,可以在长距离子集中信令通知更多距离。
(i)例如,在长距离子集中信令通知的距离必须是4N形式的整数像素,其中N是整数。例如,4像素、8像素、16像素或24像素可以在长距离子集中。
11.提出了用于存储当前块的MV分辨率的变量可以由UMVE距离决定。
a.在一个示例中,如果UMVE距离<T1或<=T1,则当前块的MV分辨率被设置为1/4像素。
b.在一个示例中,如果UMVE距离<T1或<=T1,则当前块的第一和第二MVD分辨率标志被设置为0。
c.在一个示例中,如果UMVE距离>T1或>=T1,则当前块的MV分辨率被设置为1像素。
d.在一个示例中,如果UMVE距离>T1或>=T1,则当前块的第一MVD分辨率标志被设置为1,并且当前块的第二MVD分辨率标志被设置为0。
e.在一个示例中,如果UMVE距离>T2或>=T2,则当前块的MV分辨率被设置为4像素。
f.在一个示例中,如果UMVE距离>T2或>=T2,则当前块的第一和第二MVD分辨率标志被设置为1。
g.在一个示例中,如果UMVE距离>T1或>=T1并且UMVE距离<T2或<=T2,则当前块的MV分辨率被设置为1像素。
h.在一个示例中,如果UMVE距离>T1或>=T1并且UMVE距离<T2或<=T2,则当前块的第一MVD分辨率标志被设置为1,并且当前块的第二MVD分辨率标志被设置为0。
i.T1和T2可以是任何数。例如,T1=1像素,并且T2=4像素。
12.提出了用于存储当前块的MV分辨率的变量可以由UMVE距离索引决定。
a.在一个示例中,如果UMVE距离索引<T1或<=T1,则当前块的MV分辨率被设置为1/4像素。
b.在一个示例中,如果UMVE距离索引<T1或<=T1,则当前块的第一和第二MVD分辨率标志被设置为0。
c.在一个示例中,如果UMVE距离索引>T1或>=T1,则当前块的MV分辨率被设置为1像素。
d.在一个示例中,如果UMVE距离索引>T1或>=T1,则当前块的第一MVD分辨率标志被设置为1,并且当前块的第二MVD分辨率标志被设置为0。
e.在一个示例中,如果UMVE距离索引>T2或>=T2,则当前块的MV分辨率被设置为4像素。
f.在一个示例中,如果UMVE距离索引>T2或>=T2,则当前块的第一和第二MVD分辨率标志被设置为1。
g.在一个示例中,如果UMVE距离>T1或>=T1并且UMVE距离索引<T2或<=T2,则当前块的MV分辨率被设置为1像素。
h.在一个示例中,如果UMVE距离索引>T1或>=T1并且UMVE距离索引<T2或<=T2,则当前块的第一MVD分辨率标志被设置为1,并且当前块的第二MVD分辨率标志被设置为0。
i.T1和T2可以是任何数。例如,T1=2,并且T2=3,或者T1=2,并且T2=4;
13.用于存储UMVE编解码块的MV分辨率的变量可以用于编解码用LAMVR模式编解码的后续块。
a.可选地,用于存储UMVE编解码块的MV分辨率的变量可以用于编解码用UMVE模式编解码的后续块。
b.可选地,LAMVR编解码块的MV精度可以用于编解码随后的UMVE编解码块。
14.上述项目也可适用于编解码方向索引。
距离索引和距离之间的映射
15.提出了距离索引(DI)和距离之间的关系不是如VTM-3.0那样的指数关系。(距离=1/4像素×2DI)
a.在一个示例中,映射可以是分段的。
i.例如,当T0<=DI<T1时,距离=f1(DI),当T1<=DI<T2时,距离=f2(DI),…当Tn-1<=DI<Tn时,距离=fn(DI)。
(i)例如,当DI<T1时,距离=1/4像素×2DI;当T1<=DI<T2时,距离=a×DI+b;当DI>=T2时,距离=c×2DI。在一个示例中,T1=4,a=1,b=-1,T2=6,c=1/8。
16.提出了距离表尺寸可以大于8,诸如9、10、12、16。
17.提出了可以在距离表中包括小于1/4像素的距离,诸如1/8像素、1/16像素或3/8像素。
18.提出了可以在距离表中包括非2X像素形式的距离,诸如3像素、5像素、6像素等。
19.提出了距离表对于不同的方向可以不同。
a.相应地,对于不同的方向,距离索引的解析过程可以不同。
b.在一个示例中,方向索引为0、1、2和3的四个方向具有不同的距离表。
c.在一个示例中,方向索引为0和1的两个x方向具有相同的距离表。
d.在一个示例中,方向索引为2和3的两个y方向具有相同的距离表。
e.在一个示例中,x方向和y方向可以具有两个不同的距离表。
i.相应地,对于x方向和y方向,距离索引的解析过程可以不同。
ii.在一个示例中,y方向的距离表可以比x方向的距离表具有更少的可能的距离。
iii.在一个示例中,y方向的距离表中的最短距离可以比x方向的距离表中的最短距离更短。
iv.在一个示例中,y方向的距离表中的最长距离可以比x方向的距离表中的最长距离更短。
20.提出了不同的距离表可以用于不同的块宽度和/或高度。
a.在一个示例中,当方向沿着x轴时,不同的距离表可以用于不同的块宽度。
b.在一个示例中,当方向沿着y轴时,不同的距离表可以用于不同的块高度。
21.提出了当POC距离不同时,可以使用不同的距离表。POC差被计算为|当前图片的POC–参考图片的POC|。
22.提出了不同的距离表可以用于不同的基本候选。
23.提出了具有连续索引的两个距离(MVD精度)的比率不被固定为2。
a.在一个示例中,具有连续索引的两个距离(MVD精度)的比率被固定为M(例如,M=4)。
b.在一个示例中,对于所有索引,具有连续索引的两个距离(MVD精度)的增量(而不是比率)可以是固定的。可选地,对于不同的索引,具有连续索引的两个距离(MVD精度)的增量可以不同。
c.在一个示例中,对于不同的索引,具有连续索引的两个距离(MVD精度)的比率可以不同。
i.在一个示例中,可以使用诸如{1像素,2像素,4像素,8像素,16像素,32像素,48像素,64像素}的距离集合。
ii.在一个示例中,可以使用诸如{1像素,2像素,4像素,8像素,16像素,32像素,64像素,96像素}的距离集合。
iii.在一个示例中,可以使用诸如{1像素,2像素,3像素,4像素,5像素,16像素,32像素}的距离集合。
24.MMVD边信息的信令通知可以通过以下方式完成:
a.在当前块是帧间模式和非Merge模式(其可以包括例如非跳过、非子块、非三角形、非MHIntra)时,可以首先信令通知MMVD
标志,然后是距离的子集索引、子集内的距离索引、方向索引。这里,MMVD被视为与Merge模式不同的模式。
b.可选地,在当前块是Merge模式时,可以进一步信令通知MMVD标志,然后是距离的子集索引、子集内的距离索引、方向索引。这里,MMVD被视为一种特殊的Merge模式。
25.可以联合信令通知MMVD的方向和MMVD的距离。
a.在一个示例中,是否以及如何信令通知MMVD距离可以取决于MMVD方向。
b.在一个示例中,是否以及如何信令通知MMVD方向可以取决于MMVD距离。
c.在一个示例中,用一个或多个语法元素来信令通知联合码字。MMVD距离和MMVD方向可以从该码字中推导出。例如,码字等于MMVD距离索引+MMVD方向索引*7。在另一个示例中,设计了MMVD码字表。每个码字对应于MMVD距离和MMVD方向的唯一组合。
26.下面列出了一些示例性UMVE距离表:
a.距离表尺寸为9:
b.距离表尺寸为10:
a.距离表尺寸为12:
27.提出了可以用粒度信令通知方法来信令通知MMVD距离。该距离首先通过具有粗略粒度的索引来信令通知,然后是具有更精细粒度的一个或多个索引。
a.例如,第一索引F1表示有序集合M1中的距离;第二索引F2表示有序集合M2中的距离。最终距离被计算为,诸如M1[F1]+M2[F2]。
b.例如,第一索引F1表示有序集合M1中的距离;第二索引F2表示有序集合M2中的距离;等等,直到第n个索引Fn表示有序集合Mn中的距离。最终距离被计算为M1[F1]+M2[F2]+...+Mn[Fn]。
c.例如,Fk的信令或二值化可以取决于信令通知的Fk-1。
i.在一个示例中,当Fk-1不是指向Mk-1的最大索引时,Mk[Fk]中的条目必须小于Mk-1[Fk-1+1]-Mk-1[Fk-1]。1<k<=n。
d.例如,Fk的信令或二值化可以取决于对于所有1<=s<k的信令通知的FS。
i.在一个示例中,当1<k<=n时,Mk[Fk]中的条目必须小于对于所有1<=s<k的MS[FS+1]-MS[FS]。
e.在一个示例中,如果Fk是指向Mk的最大索引,则不再信令通知Fk+1,并且最终距离被计算为M1[F1]+M2[F2]+...+Mk[Fk],其中1<=k<=n。
f.在一个示例中,Mk[Fk]中的条目可以取决于信令通知的Fk-1。
g.在一个示例中,Mk[Fk]中的条目可以取决于对于所有1<=s<k的信令通知的FS。
h.例如,n=2。M1={1/4像素,1像素,4像素,8像素,16像素,32像素,64像素,128像素},
i.当F1=0(M1[F1]=1/4像素)时,M2={0像素,1/4像素};
ii.当F1=1(M1[F1]=1像素)时,M2={0像素,1像素,2像素};
iii.当F1=2(M1[F1]=4像素)时,M2={0像素,1像素,2像素,3像素};
iv.当F1=3(M1[F1]=8像素)时,M2={0像素,2像素,4像素,6像素};
v.当F1=4(M1[F1]=16像素)时,M2={0像素,4像素,8像素,12像素};
vi.当F1=5(M1[F1]=32像素)时,M2={0像素,8像素,16像素,24像素};
vii.当F1=6(M1[F1]=32像素)时,M2={0像素,16像素,32像素,48像素};
条带/图片级别控制
28.提出了如何信令通知MMVD边信息(例如,MMVD距离)和/或如何解释信令通知的MMVD边信息(例如,距离的距离索引),可以取决于在高于CU级别的级别下信令通知或推断的信息(例如,序列级别、或图片级别或条带级别、或片组级别,诸如在VPS/SPS/PPS/条带头/图片头/片组头中)。
a.在一个示例中,码表索引在更高级别下被信令通知或推断。特定码表由表索引确定。可以用项目1-26中公开的方法来信令通知距离索引。然后,通过在特定码表中查询具有信令通知的距离索引的条目来推导距离。
b.在一个示例中,参数X在更高级别下被信令通知或推断。可以用项目1-26中公开的方法来信令通知距离索引。然后,通过在码表中查询具有信令通知的距离索引的条目来推导距离D’。然后,最终距离D被计算为D=f(D’,X)。f可以是任何函数。例如,f(D’,X)=D’<<X或f(D’,X)=D’*X,或f(D’,X)=D’+X,或f(D’,X)=D’右移X(有舍入或者没有舍入)。
c.在一个示例中,有效MV分辨率在更高级别下被信令通知或推断。
只有具有有效MV分辨率的MMVD距离可以被信令通知。
i.例如,在CU级别下MMVD信息的信令通知方法可以取决于在更高级别下信令通知的有效MV分辨率。
(i)例如,在CU级别下MMVD距离分辨率信息的信令通知方法可以取决于在更高级别下信令通知的有效MV分辨率。
(ii)例如,距离子集的数量可以取决于在更高级别下信令通知的有效MV分辨率。
(iii)例如,每个子集的意义可能取决于在更高级别下信令通知的有效MV分辨率。
ii.例如,最小MV分辨率(诸如1/4像素或1像素或4像素)被信令通知。
(i)例如,当最小MV分辨率为1/4像素时,距离索引被信令通知,如项目1-26所述。
(ii)例如,当最小MV分辨率为1像素时,不信令通知用于信令通知距离分辨率是否为1/4像素的标志(诸如LAMVR中的第一分辨率位元)。只有项目10中公开的中等距离索引和长距离索引可以在LAMVR信息之后被信令通知。
(iii)例如,当最小MV分辨率为4像素时,不信令通知用于信令通知距离分辨率是否为1/4像素的标志(诸如LAMVR中的第一分辨率位元);并且不信令通知用于信令通知距离分辨率是否为1像素的标志(诸如LAMVR中的第二分辨率位元)。只有项目10中公开的长距离索引可以在LAMVR信息之后被信令通知。
(iv)例如,当最小MV分辨率为1像素时,距离分辨率以与最小MV分辨率为1/4像素时相同的方式来信令通知。但是距离子集的意义可能不同。
a.例如,由短距离索引表示的短距离子集被重新定义为非常长的距离子集。例如,在这个非常长的子集内可以信令通知的两个距离是64像素和128像素。
29A.提出了编码器可以通过检查在同一条带/片/图片/序列/CTU组/块组内具有一个或多个相似或相同块的块的比率来决定条带/片/图片/序列/CTU组/块组是否是屏幕内容。
a.在一个示例中,如果该比率大于阈值,则将其视为屏幕内容。
b.在一个示例中,如果该比率大于第一阈值并且小于第二阈值,则将其视为屏幕内容。
c.在一个示例中,条带/片/图片/序列/CTU组/块组可以被分割成M×N个不重叠的块。对于每个M×N块,编码器检查是否有另一个(或更多个)M×N块与其相似或相同。例如,M×N等于4×4。
d.在一个示例中,当计算比率时,仅检查部分块。例如,只检查偶数行和偶数列中的块。
e.在一个示例中,可以为每个M×N块生成键值,例如,循环冗余校验(CRC)码,比较两个块的键值以检查这两个块是否相同。
i.在一个示例中,可以仅使用块的一些颜色分量来生成键值。例如,键值仅通过使用亮度分量来生成。
ii.在一个示例中,可以仅使用块的一些像素来生成键值。例如,仅使用块的偶数行。
f.在一个示例中,可以使用SAD/SATD/SSE或均值移除SAD/SATD/SSE来测量两个块的相似性。
i.在一个示例中,可以仅对一些像素计算SAD/SATD/SSE或均值移除SAD/SATD/SSE。例如,仅对偶数行计算SAD/SATD/SSE或均值移除SAD/SATD/SSE。
仿射MMVD
29B.提出了仅当子块Merge列表的Merge索引大于K(其中K=0或1)时,仿射MMVD的使用指示可以被信令通知。
a.可选地,当仿射Merge列表和其他Merge列表(诸如ATMVP列表)有单独的列表时,仿射MMVD的使用指示可以仅在启用仿射模式时被信令通知。此外,可选地,仅当仿射模式被启用并且存在多于一个基本仿射候选时,仿射MMVD的使用指示可以被信令通知。
30.提出了除了仿射模式之外,MMVD方法还可以应用于其他基于子块的编解码工具,诸如ATMVP模式。在一个示例中,如果当前CU应用ATMVP,并且MMVD开/关标志被设置为1,则MMVD被应用于ATMVP。
a.在一个示例中,一组MMVD边信息可以被应用于所有子块,在这种情况下,一组MMVD边信息被信令通知。可选地,不同的子块可以选择不同组,在这种情况下,多组MMVD边信息可以被信令通知。
b.在一个实施例中,每个子块的MV与信令通知的MVD(也称为偏移或距离)相加。
c.在一个实施例中,当子块Merge候选是ATMVP Merge候选时,信令通知MMVD信息的方法与当子块Merge候选是仿射Merge候选时的方法相同。
d.在一个实施例中,当子块Merge候选是ATMVP Merge候选时,基于POC距离的偏移镜像方法被用于双向预测,以将MVD加到每个子块的MV上。
31.提出了当子块Merge候选是仿射Merge候选时,每个子块的MV与信令通知的MVD(也称为偏移或距离)相加。
32.提出了在项目1-28中公开的MMVD信令通知方法也可以被应用来信令通知仿射MMVD模式使用的MVD。
a.在一个实施例中,用于信令通知仿射MMVD模式的MMVD信息的LAMVR信息可以不同于用于信令通知非仿射MMVD模式的MMVD信息的LAMVR信息。
i.例如,用于信令通知仿射MMVD模式的MMVD信息的LAMVR信息也用于信令通知仿射帧间模式下使用的MV精度;但是用于信令通知非仿射MMVD模式的MMVD信息的LAMVR信息被用于信令通知非仿射帧间模式下使用的MV精度。
33.提出了子块Merge候选的MMVD模式下的MVD信息应该以与规则Merge候选的MMVD模式下的MVD信息相同的方式来信令通知。
a.例如,它们共享相同的距离表;
b.例如,它们共享在距离索引和距离之间的相同的映射。
c.例如,它们共享相同的方向。
d.例如,它们共享相同的二值化方法。
e.例如,它们共享相同的算术编解码上下文。
34.提出了MMVD边信息信令可以取决于编解码模式,诸如仿射或正常Merge或三角形Merge模式或ATMVP模式。
35.提出了预定MMVD边信息可以取决于编解码模式,诸如仿射或正常Merge或三角形Merge模式或ATMVP模式。
36.提出了预定MMVD边信息可以取决于颜色子采样方法(例如,4:2:0、4:2:2、4:4:4:4)和/或颜色分量。
三角形MMVD
37.提出了MMVD可以应用于三角形预测模式。
a.在信令通知TPM Merge候选之后,MMD信息被信令通知。信令通知的TPM Merge候选被视为基本Merge候选。
i.例如,用与规则Merge的MMVD相同的信令通知方法来信令通知MMVD信息;
ii.例如,用与仿射Merge或其他种类的子块Merge的MMVD相同的信令通知方法来信令通知MMVD信息;
iii.例如,用不同于规则Merge、仿射Merge或其他种类的子块Merge的MMVD的信令通知方法来信令通知MMVD信息;
b.在一个示例中,每个三角形分区的MV与信令通知的MVD相加;
c.在一个示例中,一个三角形分区的MV与信令通知的MVD相加,并且另一个三角形分区的MV与f(信令通知的MVD)相加,f是任何函数。
i.在一个示例中,f取决于两个三角形分区的参考图片POC或参考索引。
ii.在一个示例中,如果一个三角形分区的参考图片按显示顺序在当前图片之前,并且另一个三角形分区的参考图片按显示顺序在当前图片之后,则f(MVD)=-MVD。
38.提出了在项目1-28中公开的MMVD信令通知方法也可以应用于信令通知三角形MMVD模式使用的MVD。
a.在一个实施例中,用于信令通知仿射MMVD模式的MMVD信息的LAMVR信息可以不同于用于信令通知非仿射MMVD模式的MMVD信息的LAMVR信息。
i.例如,用于信令通知仿射MMVD模式的MMVD信息的LAMVR信息也被用于信令通知仿射帧间模式下使用的MV精度;但是用于信令通知非仿射MMVD模式的MMVD信息的LAMVR信息被用于信令通知非仿射帧间模式下使用的MV精度。
39.对于所有上述项目,MMVD边信息可以包括例如偏移表(距离)和方向信息。
5.示例实施例
本章节示出了改进的MMVD设计的一些实施例。
5.1实施例#1(MMVD距离索引编解码)
在一个实施例中,为了编解码MMVD距离,对第一分辨率位元进行编解码。例如,它可以用与MV分辨率的第一个标志相同的概率上下文来编解码。
–如果分辨率位元为0,则对以下标志进行编解码。例如,它可以用另一个概率上下文来编解码,以指示短距离索引。如果标志为0,则索引为0;如果标志为1,则索引为1。
–否则(分辨率位元为0),长距离索引L被编解码为截断的一元码,其最大值为MaxDI-2,其中MaxDI是最大可能的距离索引,在该实施例中等于7。
在解析出L后,距离索引被重构为L+2。在示例性的C型实施例中:
用概率上下文来编解码长距离索引的第一个位元,并且其他位元被旁路编解码。在C型实施例中:
提出的语法变化的示例被突出显示,并且被删除的部分用删除线标记。
在一个示例中,mmvd_distance_subset_idx表示如上所述的分辨率索引,mmvd_distance_idx_in_subset表示根据分辨率索引的短距离或长距离索引。截断的一元可以被用于编解码mmvd_distance_idx_in_subset。
在通用测试条件下的随机接入测试中,该实施例可以获得平均0.15%的编解码增益和对UHD序列(类A1)的0.34%的增益。
5.2实施例#2(MMVD边信息编解码)
MMVD被视为单独的模式,而不是Merge模式。因此,仅当Merge标志为0时,才可以进一步编解码MMVD标志。
在一个实施例中,MMVD信息被信令通知为:
mmvd_distance_idx_in_subset[x0][y0]被二值化为截断的一元码。如果amvr_mode[x0][y0]<2,则截断的一元码的最大值为1;否则(amvr_mode[x0][y0]等于2),最大值被设置为3。
mmvd_distance_idx[x0][y0]被设置为等于mmvd_distance_idx_in_subset[x0][y0]+2*amvr_mode[x0][y0]。
mmvd_distance_idx_in_subset[x0][y0]使用哪些概率上下文取决于amvr_mode[x0][y0]。
5.3实施例#3(MMVD条带级别控制)
在条带头中,信令通知语法元素mmvd_integer_flag。
语法变化描述如下,新添加的部分用斜体突出显示。
7.3.2.1序列参数集RBSP语法
7.3.3.1通用条带头语法
7.4.3.1序列参数集RBSP语义
sps_fracmmvd_enabled_flag等于1指定slice_fracmmvd_flag存在于B条带和P条带的条带头语法中。sps_fracmmvd_enabled_flag等于0指定slice_fracmmvd_flag不存在于B条带和P条带的条带头语法中。
7.4.4.1通用条带头语义
slice_fracmmvd_flag指定用于推导MmvdDistance[x0][y0]的距离表。当不存在时,slice_fracmmvd_flag的值被推断为1。
在一个实施例中,MMVD信息被信令通知为:
mmvd_distance_idx_in_subset[x0][y0]被二值化为截断的一元码。如果amvr_mode[x0][y0]<2,则截断的一元码的最大值为1;否则(amvr_mode[x0][y0]等于2),最大值被设置为3。
mmvd_distance_idx[x0][y0]被设置为等于mmvd_distance_idx_in_subset[x0][y0]+2*amvr_mode[x0][y0]。在一个示例中,mmvd_distance_idx_in_subset[x0][y0]使用的概率上下文取决于amvr_mode[x0][y0]。
阵列索引x0,y0指定所考虑的编解码块的左上角亮度样点相对于图片的左上角亮度样点的位置(x0,y0)。mmvd_distance_idx[x0][y0]和MmvdDistance[x0][y0]如下:
表7-9-当slice_fracmmvd_flag等于1时,MmvdDistance[x0][y0]的规格基于mmvd_distance_idx[x0][y0]。
mmvd_distance_idx[x0][y0] | MmvdDistance[x0][y0] |
0 | 1 |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
7 | 128 |
表7-9-当slice_fracmmvd_flag等于0时,MmvdDistance[x0][y0]的规格基于mmvd_distance_idx[x0][y0]。
mmvd_distance_idx[x0][y0] | MmvdDistance[x0][y0] |
0 | 4 |
1 | 8 |
2 | 16 |
3 | 32 |
4 | 64 |
5 | 128 |
6 | 256 |
7 | 512 |
当mmvd_integer_flag等于1时,mmvd_distance=mmvd_distance<<2。
图10是用于视频处理的示例方法1000的流程图。方法1000包括确定(1002)指示当前视频块的距离索引(DI)的至少一个语法元素,其中该至少一个语法元素不用截断的一元码来二值化;以及基于该至少一个语法元素来执行(1004)当前视频块和当前视频块的比特流表示之间的转换。
图11是用于视频处理的示例方法1100的流程图。方法1100包括确定(1102)指示当前视频块的运动矢量差(MVD)精度的至少一个语法元素,其中该MVD精度指示当前视频块的运动矢量和从Merge候选列表中选择的基本候选之间的距离;以及基于该至少一个语法元素来执行(1104)当前视频块和当前视频块的比特流表示之间的转换。
参考方法1000、1100,在本文档的第4节中描述了运动矢量信令的一些示例,并且前述方法可以包括下面描述的特征和步骤。
在一个方面,公开了一种用于视频处理的方法,包括:确定指示当前视频块的运动矢量差(MVD)精度的至少一个语法元素,其中该MVD精度指示当前视频块的运动矢量和从Merge候选列表中选择的基本候选之间的距离;
基于该至少一个语法元素来执行当前视频块和当前视频块的比特流表示之间的转换;
其中,当前视频块所允许的MVD精度被分类为多个子集中的条目,每个子集被分配有子集索引,并且该至少一个语法元素包括指示子集索引的第一语法元素和指示距离索引(DI)的第二语法元素,该距离索引指示具有该子集索引的子集中的条目。
在一个示例中,第一语法元素包括mmvd_distance_subset_idx,并且第二语法元素包括mmvd_distance_idx_in_subset。
在一个示例中,第一语法元素在第二语法元素之前被信令通知。
在一个示例中,第一和第二语法元素中的至少一个用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
在一个示例中,第二语法元素用截断的一元码来二值化,其最大值等于子集中的条目数量减1。
在一个示例中,如果该子集中只有两个条目,则第二语法元素被二值化为标志。
在一个示例中,如果该子集中只有一个条目,则不信令通知第二语法元素。
在一个示例中,多个子集的数量是两个,并且两个子集的第一个包括具有分数精度的所有条目,并且两个子集的第二个包括具有整数精度的所有条目。
在一个示例中,多个子集的数量是两个;并且两个子集中的第一个包括一个条目,并且两个子集中的第二个包括剩余的条目。
在一个示例中,多个子集的数量是三个,并且三个子集的第一个包括具有分数精度的所有条目,三个子集的第二个包括具有小于4像素的整数精度的所有条目,并且三个子集的第三个包括具有不小于4像素的整数精度的所有条目。
在一个示例中,当前视频块用局部自适应运动矢量分辨率(LAMVR)模式来编解码,并且多个子集的数量等于LAMVR模式中允许的MVD精度的数量。
在一个示例中,第一语法元素通过重用与用于信令通知LAMVR模式相同的方式来信令通知。
在一个示例中,信令通知LAMVR模式的方式包括信令通知上下文偏移索引中的至少一个。
在一个示例中,第二语法元素取决于至少一个相关联的LAMVR语法元素。
在一个示例中,至少一个相关联的LAMVR语法元素包括语法元素amvr_mode。
在一个示例中,多个子集的数量和/或多个子集的每一个的定义中的至少一个是预定义的或自适应地改变。
在一个示例中,第一语法元素和第二语法元素中的至少一个不被显式地信令通知。
在一个示例中,第一语法元素和第二语法元素中的至少一个基于当前视频块和先前编解码的块中的至少一个的一个或多个特征来确定。
在一个示例中,一个或多个特征包括当前视频块和先前编解码的块中的至少一个的编解码模式、高度或宽度。
在一个示例中,第二语法元素包括第一分辨率位元,并且第一分辨率位元指示距离指数(DI)是否小于T1或者指示DI是否大于T2,T1和T2是预定整数。
在一个示例中,第二语法元素包括第一分辨率位元,其中第一分辨率位元指示子集中的条目是否小于第一阈值或大于第二阈值。
在一个示例中,第二语法元素还包括在第一分辨率位元之后的用以指示DI的值的第一码。
在一个示例中,第一语法元素包括mmvd_distance_subset_idx,第二语法元素包括作为第一码的mmvd_short_distance_idx_in_subset和mmvd_long_distance_idx_in_subset中的一个,并且包括作为第一分辨率位元的mmvd_resolution_flag,其中在mmvd_resolution_flag之后信令通知mmvd_long_distance_idx_in_subset或mmvd_short_distance_idx_in_subset。
在一个示例中,第一语法元素包括mmvd_distance_subset_idx,第二语法元素包括作为第一码的mmvd_distance_idx_in_subset和作为第一分辨率位元的mmvd_resolution_flag,其中在mmvd_resolution_flag之后信令通知mmvd_distance_idx_in_subset。
在一个示例中,在第一语法元素mmvd_distance_subset_idx之后信令通知mmvd_short_distance_idx_in_ subset还是mmvd_long_distance_idx_in_subset取决于mmvd_resolution_flag的值。
在一个示例中,T1等于2,并且对应于1像素精度距离;或者
T1等于1,并且对应于1/2像素精度距离;或者
T1等于3,并且对应于2像素精度距离。
在一个示例中,T2等于2,并且对应于1像素精度距离;或者
T2等于1,并且对应于1/2像素精度距离;或者
T2等于3,并且对应于2像素精度距离。
在一个示例中,如果距离索引(DI)小于T1,则第一码是在第一分辨率位元之后信令通知的短距离索引的码用以指示DI的值。
在一个示例中,短距离索引的码对应于距离索引或者距离索引DI和第三阈值之间的差。
在一个示例中,距离索引或差用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
在一个示例中,距离索引用截断的一元码来二值化,其最大值等于T1-1。
在一个示例中,第三阈值是T1-1,并且该差等于T1-1-DI,并且该差用截断的一元码来二值化,其最大值等于T1-1。
在一个示例中,如果距离索引(DI)不小于T1,则第一码是在第一分辨率位元之后信令通知的长距离索引的码用以指示DI的值。
在一个示例中,长距离索引的码对应于距离索引DI和第四阈值之间的差,并且该差用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
在一个示例中,第四阈值是T1,并且该差等于DI-T1;或者
第四阈值是Dmax,并且该差等于Dmax-DI,其中Dmax表示最大允许距离索引。
在一个示例中,该差用截断的一元码来二值化,其最大值等于Dmax-T1。
在一个示例中,如果距离索引(DI)不大于T2,则第一码是在第一分辨率位元之后信令通知的短距离索引的码用以指示DI的值。
在一个示例中,短距离索引的码对应于距离索引或者距离索引DI和第五阈值之间的差。
在一个示例中,距离索引或差用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
在一个示例中,该距离索引用截断的一元码来二值化,其最大值等于T2。
在一个示例中,第五阈值是T2,并且该差等于T2-DI,并且该差用截断的一元码来二值化,其最大值等于T2。
在一个示例中,如果距离索引(DI)大于T2,则第一码是在第一分辨率位元之后信令通知的长距离索引的码用以指示DI值。
在一个示例中,长距离索引的码对应于距离索引DI和第六阈值之间的差异,并且该差用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
在一个示例中,第六阈值是T2+1,并且该差等于DI-T2-1;或者
第六阈值是Dmax,并且该差等于Dmax-DI,其中Dmax表示最大允许距离索引。
在一个示例中,该差用截断的一元码来二值化,其最大值等于Dmax-1-T2。
在一个示例中,距离索引被二值化如下:
在一个示例中,使用一个或多个概率上下文来编解码第一语法元素和第二语法元素中的至少一个。
在一个示例中,使用一个或多个概率上下文来编解码当前视频块的第一分辨率位元,其中基于邻近块的一个或多个第一分辨率位元来确定一个或多个概率上下文。
在一个示例中,基于邻近块的一个或多个局部自适应运动矢量分辨率(LAMVR)值来确定一个或多个概率上下文。
在一个示例中,一个或多个LAMVR值是AMVR_mode的值。
在一个示例中,用一个或多个概率上下文来编解码用于编解码第一码的第一个位元,并且剩余的位元被旁路编解码。
在一个示例中,用一个或多个概率上下文来编解码用于编解码第一码的前N个位元,并且剩余的位元被旁路编解码。
在一个示例中,用一个或多个概率上下文来编解码用于编解码第一码的所有位元。
在一个示例中,用不同的概率上下文来编解码用于编解码第一码的不同的位元。
在一个示例中,用单个概率上下文来编解码用于编解码第一码的一部分位元。
在一个示例中,这一部分位元是连续的位元。
在一个示例中,基于当前视频块的邻近块的一个或更多个第一码来确定一个或多个概率上下文。
在一个方面,公开了一种用于视频处理的方法,包括:
确定指示当前视频块的距离索引(DI)的至少一个语法元素,其中该至少一个语法元素不用截断的一元码来二值化;以及
基于该至少一个语法元素来执行当前视频块和当前视频块的比特流表示之间的转换。
在一个示例中,该至少一个语法元素用固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
在一个示例中,当前视频块用具有运动矢量差的Merge(MMVD)模式来编解码。
在一个示例中,该转换包括将当前视频块编码成当前视频块的比特流表示,以及从当前视频块的比特流表示解码当前视频块。
在一个方面,公开了一种视频系统中的装置,该装置包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时,使得处理器实施上述示例中的任何一个中的方法。
在一个方面,公开了一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行上述示例中任一个中的方法的程序码。
图12是视频处理装置1200的框图。装置1200可以用于实施本文描述的一个或多个方法。装置1200可以包含在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置1200可以包括一个或多个处理器1202、一个或多个存储器1204和视频处理硬件1206。(多个)处理器1202可以被配置为实施本文档中描述的一个或多个方法。存储器(多个存储器)1204可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件1206可以用于在硬件电路中实施本文档中描述的一些技术,并且可以部分或完全是处理器1202(例如,图形处理器核心GPU或其他信号处理电路)的一部分。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到对应比特流表示的转换期间被应用,反之亦然。当前视频块的比特流表示可以例如对应于比特流内的并置或分布在不同位置的比特,如语法所定义的。例如,宏块可以根据变换和编码的误差残差值来编码,并且还可以使用比特流中的头和其他字段中的比特来编码。
应当理解,已经公开了若干种技术,这些技术通过允许使用基于本文档中公开的各种规则构建的虚拟运动候选,将有益于结合在诸如智能手机、膝上型电脑、台式机和类似设备的视频处理设备中的视频编码器和解码器实施例。
本文档中描述的所公开的和其它解决方案、示例、实施例、模块和功能操作可以在数字电子电路中实施,或者在计算机软件、固件或硬件中实施,包括本文档中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实施。所公开的和其它实施例可以实施为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电信号、光信号或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个或多个计算机上执行。
本文中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者被可操作地耦合以从一个或多个大容量存储设备接收数据或向其传送数据或两者兼有。然而,计算机不一定需要这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如,包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
虽然本专利文档包含许多细节,但这些不应被解释为对任何主题或所要求保护的范围的限制,而是对特定技术的特定实施例所特有的特征的描述。本专利文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样来保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或顺序地执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中都需要这种分离。
仅描述了几个实施方式和示例,并且可以基于本专利文件中描述和图示的内容进行其它实施、增强和变化。
Claims (63)
1.一种用于视频处理的方法,包括:
确定指示当前视频块的运动矢量差(MVD)精度的至少一个语法元素,其中所述MVD精度指示所述当前视频块的运动矢量和从Merge候选列表中选择的基本候选之间的距离;
基于所述至少一个语法元素来执行当前视频块和所述当前视频块的比特流表示之间的转换;
其中所述当前视频块所允许的MVD精度被分类为多个子集中的条目,每个子集被分配有子集索引,并且所述至少一个语法元素包括指示所述子集索引的第一语法元素和指示距离索引(DI)的第二语法元素,所述距离索引指示具有所述子集索引的子集中的条目。
2.根据权利要求1所述的方法,其中,第一语法元素包括mmvd_distance_subset_idx,并且第二语法元素包括mmvd_distance_idx_in_subset。
3.根据权利要求1或2所述的方法,其中,第一语法元素在第二语法元素之前被信令通知。
4.根据权利要求1-3中任一项所述的方法,其中,第一语法元素和第二语法元素中的至少一个用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
5.根据权利要求4所述的方法,其中,第二语法元素用截断的一元码来二值化,其最大值等于所述子集中的条目数量减1。
6.根据权利要求1-3中任一项所述的方法,其中,如果所述子集中只有两个条目,则第二语法元素被二值化为一标志。
7.根据权利要求1-2中任一项所述的方法,其中,如果所述子集中只有一个条目,则不信令通知第二语法元素。
8.根据权利要求1-7中任一项所述的方法,其中,所述多个子集的数量是两个,并且两个子集中的第一子集包括具有分数精度的所有条目,并且两个子集中的第二子集包括具有整数精度的所有条目。
9.根据权利要求1-7中任一项所述的方法,其中,所述多个子集的数量是两个;并且两个子集中的第一子集包括一个条目,并且两个子集中的第二子集包括剩余的条目。
10.根据权利要求1-7中任一项所述的方法,其中,所述多个子集的数量是三个,并且三个子集中的第一子集包括具有分数精度的所有条目,三个子集中的第二子集包括具有小于4像素的整数精度的所有条目,并且三个子集中的第三子集包括具有不小于4像素的整数精度的所有条目。
11.根据权利要求1-7中任一项所述的方法,其中,所述当前视频块用局部自适应运动矢量分辨率LAMVR模式来编解码,并且所述多个子集的数量等于所述LAMVR模式中允许的MVD精度的数量。
12.根据权利要求10所述的方法,其中,第一语法元素通过重用与用于信令通知所述LAMVR模式的方式相同的方式来信令通知。
13.根据权利要求12所述的方法,其中,信令通知所述LAMVR模式的方式包括信令通知至少一个上下文偏移索引。
14.根据权利要求11-13中任一项所述的方法,其中,第二语法元素取决于至少一个相关联的LAMVR语法元素。
15.根据权利要求14所述的方法,其中,所述至少一个相关联的LAMVR语法元素包括语法元素amvr_mode。
16.根据权利要求1-15中任一项所述的方法,其中,所述多个子集的数量和/或所述多个子集的每一个的定义中的至少一个是预定义的或自适应地改变。
17.根据权利要求1-2中任一项所述的方法,其中,第一语法元素和第二语法元素中的至少一个不被显式地信令通知。
18.根据权利要求17所述的方法,其中,第一语法元素和第二语法元素中的至少一个基于所述当前视频块和先前编解码的块中的至少一个的一个或多个特征来确定。
19.根据权利要求18所述的方法,其中,所述一个或多个特征包括所述当前视频块和先前编解码的块中的至少一个的编解码模式、高度或宽度。
20.根据权利要求1所述的方法,其中,第二语法元素包括第一分辨率位元,并且第一分辨率位元指示所述距离指数(DI)是否小于T1或者指示所述DI是否大于T2,T1和T2是预定整数。
21.根据权利要求1所述的方法,其中,第二语法元素包括第一分辨率位元,其中第一分辨率位元指示所述子集中的条目是否小于第一阈值或大于第二阈值。
22.根据权利要求20或21所述的方法,其中,第二语法元素还包括在第一分辨率位元之后的第一码以指示所述DI的值。
23.根据权利要求22所述的方法,其中,第一语法元素包括mmvd_distance_subset_idx,第二语法元素包括作为第一码的mmvd_short_distance_idx_in_subset和mmvd_long_distance_idx_in_subset中的一个,并且包括作为第一分辨率位元的mmvd_resolution_flag,其中在所述mmvd_resolution_flag之后信令通知mmvd_long_distance_idx_in_subset或mmvd_short_distance_idx_in_subset。
24.根据权利要求22所述的方法,其中,第一语法元素包括mmvd_distance_subset_idx,第二语法元素包括作为第一码的mmvd_distance_idx_in_subset和作为第一分辨率位元的mmvd_resolution_flag,其中在所述mmvd_resolution_flag之后信令通知所述mmvd_distance_idx_in_subset。
25.根据权利要求23所述的方法,其中,在第一语法元素mmvd_distance_subset_idx之后信令通知mmvd_short_distance_idx_in_subset还是mmvd_long_distance_idx_in_subset取决于所述mmvd_resolution_flag的值。
26.根据权利要求20所述的方法,其中
T1等于2,并且对应于1像素精度距离;或者
T1等于1,并且对应于1/2像素精度距离;或者
T1等于3,并且对应于2像素精度距离。
27.根据权利要求20所述的方法,其中
T2等于2,并且对应于1像素精度距离;或者
T2等于1,并且对应于1/2像素精度距离;或者
T2等于3,并且对应于2像素精度距离。
28.根据权利要求22所述的方法,其中,如果所述距离索引(DI)小于T1,则第一码是在第一分辨率位元之后信令通知的短距离索引的码用以指示所述DI的值。
29.根据权利要求28所述的方法,其中,所述短距离索引的码对应于距离索引或距离索引DI和第三阈值之间的差。
30.根据权利要求29所述的方法,其中,所述距离索引或差用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
31.根据权利要求30所述的方法,其中,所述距离索引用截断的一元码来二值化,其最大值等于T1-1。
32.根据权利要求30所述的方法,其中,第三阈值是T1-1,并且所述差等于T1-1-DI,并且所述差用截断的一元码来二值化,其最大值等于T1-1。
33.根据权利要求22所述的方法,其中,如果所述距离索引(DI)不小于T1,则第一码是在第一分辨率位元之后信令通知的长距离索引的码用以指示所述DI的值。
34.根据权利要求33所述的方法,其中,所述长距离索引的码对应于所述距离索引DI和第四阈值之间的差,并且所述差用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
35.根据权利要求34所述的方法,其中
第四阈值是T1,并且所述差等于DI-T1;或者
第四阈值是Dmax,并且所述差等于Dmax-DI,其中Dmax表示最大允许距离索引。
36.如权利要求35所述的方法,其中,所述差用截断的一元码来二值化,其最大值等于Dmax-T1。
37.根据权利要求22所述的方法,其中,如果所述距离索引DI不大于T2,则第一码是在第一分辨率位元之后信令通知的短距离索引的码用以指示所述DI的值。
38.根据权利要求37所述的方法,其中,所述短距离索引的码对应于距离索引或所述距离索引DI和第五阈值之间的差。
39.根据权利要求38所述的方法,其中,所述距离索引或差用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
40.根据权利要求39所述的方法,其中,所述距离索引用截断的一元码来二值化,其最大值等于T2。
41.根据权利要求39所述的方法,其中,第五阈值是T2,并且所述差等于T2-DI,并且所述差用截断的一元码来二值化,其最大值等于T2。
42.根据权利要求22所述的方法,其中,如果所述距离索引DI大于T2,则第一码是在第一分辨率位元之后信令通知的长距离索引的码用以指示DI的值。
43.根据权利要求42所述的方法,其中,所述长距离索引的码对应于所述距离索引DI和第六阈值之间的差,并且所述差用一元码、截断的一元码、固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
44.根据权利要求43所述的方法,其中
第六阈值是T2+1,并且所述差等于DI-T2-1;或者
第六阈值是Dmax,并且所述差等于Dmax-DI,其中Dmax表示最大允许距离索引。
45.根据权利要求44所述的方法,其中,所述差用截断的一元码来二值化,其最大值等于Dmax-1-T2。
47.根据权利要求1-46所述的方法,其中,使用一个或多个概率上下文来编解码第一语法元素和第二语法元素中的至少一个。
48.根据权利要求47所述的方法,其中,使用一个或多个概率上下文来编解码所述当前视频块的第一分辨率位元,其中基于邻近块的一个或多个第一分辨率位元来确定所述一个或多个概率上下文。
49.根据权利要求47或48所述的方法,其中,基于邻近块的一个或多个局部自适应运动矢量分辨率(LAMVR)值来确定所述一个或多个概率上下文。
50.根据权利要求49所述的方法,其中,所述一个或多个LAMVR值是AMVR_mode的值。
51.根据权利要求47所述的方法,其中,用于编解码第一码的第一个位元用一个或多个概率上下文来编解码,并且剩余的位元被旁路编解码。
52.根据权利要求47所述的方法,其中,用于编解码第一码的前N个位元用一个或多个概率上下文来编解码,并且剩余的位元被旁路编解码。
53.根据权利要求47所述的方法,其中,用于编解码第一码的所有位元用一个或多个概率上下文来编解码。
54.根据权利要求47所述的方法,其中,用于编解码第一码的不同的位元用不同的概率上下文来编解码。
55.根据权利要求47所述的方法,其中,用于编解码第一码的一部分位元用单个概率上下文来编解码。
56.根据权利要求55所述的方法,其中,所述一部分位元是连续的位元。
57.根据权利要求52-56中任一项所述的方法,其中,基于所述当前视频块的邻近块的一个或多个第一码来确定所述一个或多个概率上下文。
58.一种用于视频处理的方法,包括:
确定指示当前视频块的距离索引(DI)的至少一个语法元素,其中所述至少一个语法元素不用截断的一元码来二值化;以及
基于所述至少一个语法元素来执行当前视频块和所述当前视频块的比特流表示之间的转换。
59.根据权利要求58所述的方法,其中,所述至少一个语法元素用固定长度码、指数-Golomb码、截断的指数-Golomb码和Rice码中的一个来二值化。
60.根据权利要求58或59所述的方法,其中,所述当前视频块用具有运动矢量差的Merge(MMVD)模式来编解码。
61.根据权利要求1至60中任一项所述的方法,其中,所述转换包括将所述当前视频块编码成所述当前视频块的比特流表示,以及从所述当前视频块的比特流表示解码所述当前视频块。
62.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时,使得所述处理器实施权利要求1至61中任一项的方法。
63.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于执行权利要求1至61中任一项的方法的程序代码。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2018/126066 | 2018-12-31 | ||
CN2018126066 | 2018-12-31 | ||
CN2019070636 | 2019-01-07 | ||
CNPCT/CN2019/070636 | 2019-01-07 | ||
CNPCT/CN2019/071159 | 2019-01-10 | ||
CN2019071159 | 2019-01-10 | ||
PCT/CN2019/130712 WO2020140906A1 (en) | 2018-12-31 | 2019-12-31 | Parsing method of distance index in merge with mvd |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113348667A true CN113348667A (zh) | 2021-09-03 |
CN113348667B CN113348667B (zh) | 2023-06-20 |
Family
ID=71406598
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980087392.0A Pending CN113261295A (zh) | 2018-12-31 | 2019-12-31 | 具有MVD的Merge中距离索引与距离之间的映射 |
CN201980087421.3A Active CN113348667B (zh) | 2018-12-31 | 2019-12-31 | 在具有MVD的Merge下的距离索引的解析方法 |
CN201980087391.6A Pending CN113273189A (zh) | 2018-12-31 | 2019-12-31 | 具有MVD的Merge和AMVR之间的交互 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980087392.0A Pending CN113261295A (zh) | 2018-12-31 | 2019-12-31 | 具有MVD的Merge中距离索引与距离之间的映射 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980087391.6A Pending CN113273189A (zh) | 2018-12-31 | 2019-12-31 | 具有MVD的Merge和AMVR之间的交互 |
Country Status (2)
Country | Link |
---|---|
CN (3) | CN113261295A (zh) |
WO (3) | WO2020140908A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022262694A1 (en) * | 2021-06-15 | 2022-12-22 | Beijing Bytedance Network Technology Co., Ltd. | Method, device, and medium for video processing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257625A (zh) * | 2008-04-01 | 2008-09-03 | 海信集团有限公司 | 视频编解码中的位置索引方法及视频解码器 |
US20100189181A1 (en) * | 2007-09-14 | 2010-07-29 | Huawei Technologies Co., Ltd. | Method and device for video coding and decoding |
CN102148990A (zh) * | 2011-04-28 | 2011-08-10 | 北京大学 | 一种运动矢量预测装置和方法 |
CN102447902A (zh) * | 2011-09-30 | 2012-05-09 | 曾志华 | 选择参考场及获取时域运动矢量的方法 |
US20180270485A1 (en) * | 2015-09-24 | 2018-09-20 | Lg Electronics Inc. | Amvr-based image coding method and apparatus in image coding system |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7469070B2 (en) * | 2004-02-09 | 2008-12-23 | Lsi Corporation | Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements |
US20130070855A1 (en) * | 2011-09-17 | 2013-03-21 | Qualcomm Incorporated | Hybrid motion vector coding modes for video coding |
CN108632629B9 (zh) * | 2014-03-19 | 2021-06-15 | 株式会社Kt | 针对多视图视频信号生成合并候选列表的方法及解码装置 |
US10027981B2 (en) * | 2014-09-01 | 2018-07-17 | Hfi Innovation Inc. | Method of intra picture block copy for screen content and video coding |
US9918105B2 (en) * | 2014-10-07 | 2018-03-13 | Qualcomm Incorporated | Intra BC and inter unification |
CN112188204B (zh) * | 2014-10-31 | 2024-04-05 | 三星电子株式会社 | 使用高精度跳过编码的视频编码设备和视频解码设备及其方法 |
KR101782154B1 (ko) * | 2015-06-05 | 2017-09-26 | 인텔렉추얼디스커버리 주식회사 | 움직임 벡터 차분치를 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치 |
CN115086652A (zh) * | 2015-06-05 | 2022-09-20 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
EP3357245A4 (en) * | 2015-11-05 | 2019-03-13 | MediaTek Inc. | METHOD AND DEVICE OF INTERPRESSATION USING AN AVERAGE MOTION VECTOR FOR VIDEO CODING |
US20190028731A1 (en) * | 2016-01-07 | 2019-01-24 | Mediatek Inc. | Method and apparatus for affine inter prediction for video coding system |
CN108886618A (zh) * | 2016-03-24 | 2018-11-23 | Lg 电子株式会社 | 视频编码系统中的帧间预测方法和装置 |
US10142652B2 (en) * | 2016-05-05 | 2018-11-27 | Google Llc | Entropy coding motion vector residuals obtained using reference motion vectors |
US10462462B2 (en) * | 2016-09-29 | 2019-10-29 | Qualcomm Incorporated | Motion vector difference coding technique for video coding |
EP3301918A1 (en) * | 2016-10-03 | 2018-04-04 | Thomson Licensing | Method and apparatus for encoding and decoding motion information |
US10979732B2 (en) * | 2016-10-04 | 2021-04-13 | Qualcomm Incorporated | Adaptive motion vector precision for video coding |
CN116320477A (zh) * | 2016-12-22 | 2023-06-23 | 株式会社Kt | 对视频进行解码或编码的方法和发送视频数据的方法 |
US10750181B2 (en) * | 2017-05-11 | 2020-08-18 | Mediatek Inc. | Method and apparatus of adaptive multiple transforms for video coding |
US10602180B2 (en) * | 2017-06-13 | 2020-03-24 | Qualcomm Incorporated | Motion vector prediction |
-
2019
- 2019-12-31 WO PCT/CN2019/130725 patent/WO2020140908A1/en active Application Filing
- 2019-12-31 WO PCT/CN2019/130712 patent/WO2020140906A1/en active Application Filing
- 2019-12-31 CN CN201980087392.0A patent/CN113261295A/zh active Pending
- 2019-12-31 CN CN201980087421.3A patent/CN113348667B/zh active Active
- 2019-12-31 CN CN201980087391.6A patent/CN113273189A/zh active Pending
- 2019-12-31 WO PCT/CN2019/130723 patent/WO2020140907A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100189181A1 (en) * | 2007-09-14 | 2010-07-29 | Huawei Technologies Co., Ltd. | Method and device for video coding and decoding |
CN101257625A (zh) * | 2008-04-01 | 2008-09-03 | 海信集团有限公司 | 视频编解码中的位置索引方法及视频解码器 |
CN102148990A (zh) * | 2011-04-28 | 2011-08-10 | 北京大学 | 一种运动矢量预测装置和方法 |
CN102447902A (zh) * | 2011-09-30 | 2012-05-09 | 曾志华 | 选择参考场及获取时域运动矢量的方法 |
US20180270485A1 (en) * | 2015-09-24 | 2018-09-20 | Lg Electronics Inc. | Amvr-based image coding method and apparatus in image coding system |
Non-Patent Citations (2)
Title |
---|
HE YUWEN ET AL.: "CE4-related: Adaptive precision for affine MVD coding" * |
JEONG SEUNGSOO: "CE4 Ultimate motion vector expression (Test 4.5.4)" * |
Also Published As
Publication number | Publication date |
---|---|
WO2020140907A1 (en) | 2020-07-09 |
WO2020140908A1 (en) | 2020-07-09 |
WO2020140906A1 (en) | 2020-07-09 |
CN113261295A (zh) | 2021-08-13 |
CN113273189A (zh) | 2021-08-17 |
CN113348667B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113039790B (zh) | 视频处理的方法、装置和非暂时性计算机可读介质 | |
CN113196773B (zh) | 具有运动矢量差的Merge模式中的运动矢量精度 | |
CN113424525B (zh) | 解码器侧细化工具的尺寸选择性应用 | |
CN110944191A (zh) | 具有自适应运动矢量分辨率的运动矢量精度指示的信令通知 | |
CN111418208A (zh) | 用于几何分割的权重推导 | |
CN113170150A (zh) | 基于历史的运动矢量预测(hmvp)模式的部分修剪方法 | |
CN113016183A (zh) | 用于空域运动候选列表的构建方法 | |
CN113273207A (zh) | 基于几何分区的具有运动矢量差(MVD)的Merge | |
CN113906738A (zh) | 仿射模式的自适应运动矢量差分辨率 | |
CN115280774A (zh) | 在仿射模式下与运动向量差分merge | |
CN113302936B (zh) | 用于具有MVD的Merge的控制方法 | |
CN113424534A (zh) | 自适应运动矢量分辨率的多个语法元素 | |
CN113348667B (zh) | 在具有MVD的Merge下的距离索引的解析方法 | |
CN112997496A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |