CN114424530A - 跳过模式信令通知 - Google Patents

跳过模式信令通知 Download PDF

Info

Publication number
CN114424530A
CN114424530A CN202080064305.2A CN202080064305A CN114424530A CN 114424530 A CN114424530 A CN 114424530A CN 202080064305 A CN202080064305 A CN 202080064305A CN 114424530 A CN114424530 A CN 114424530A
Authority
CN
China
Prior art keywords
video
block
video block
indication
codec
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
CN202080064305.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.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of CN114424530A publication Critical patent/CN114424530A/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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)

Abstract

描述了一种视频处理的方法。该方法包括:执行视频的视频块和视频的编解码表示之间的转换,其中,编解码表示符合格式规则,该格式规则指定基于视频块的维度在编解码表示中选择性地包括视频块的跳过模式编解码的指示,其中,所跳过模式编解码允许在不生成视频块的残差或不编解码视频块的残差的情况下执行转换。

Description

跳过模式信令通知
相关申请的交叉引用
根据适用专利法和/或适用于巴黎公约的规则,本申请及时要求于2019年9月13日提交的PCT/CN2019/105825号国际专利申请和2019年9月20日提交的PCT/CN2019/107107号国际专利申请的优先权和利益。上述申请的全部公开内容作为本申请的公开内容的一部分通过引用并入。
技术领域
本文档涉及视频和图片编解码和解码技术。
背景技术
数字视频占据了互联网和其它数字通信网络上的最大的带宽使用量。随着能够接收和显示视频的连接用户设备的数量的增加,预期用于数字视频的带宽需求将继续增长。
发明内容
描述了与数字视频编解码和解码相关的设备、***和方法,并且特别是与视频编解码和解码中的并置运动矢量相关的设备、***和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(HEVC))和未来的视频编解码标准(例如,多功能视频编解码(VCC))或编解码器。
在一个示例性方面中,公开了视频处理方法。方法包括执行视频的视频块和视频的编解码表示之间的转换,其中,编解码表示符合格式规则,该格式规则规定基于视频块的维度将视频块的跳过模式编解码的指示选择性地包含在编解码表示中,其中,跳过模式编解码允许在不生成或编解码视频块的残差的情况下执行转换。
在另一个示例性方面中,公开了视频处理方法。方法包括为视频的视频块和视频的编解码表示之间的转换,基于特定编解码工具是否应用于作为视频的第二颜色分量的一个或多个对应的视频块,确定特定编解码工具对作为视频的第一颜色分量的视频块的适用性;以及基于确定执行转换。
在又一个示例性方面中,公开了视频处理方法。方法包括为视频的色度视频块和视频的编解码表示之间的转换,确定由于对应的亮度块使用特定编解码模式进行编解码而不允许为编解码色度视频块的位置相关帧内预测组合(PDPC)方法;以及基于确定执行转换,其中,PDPC方法将邻近样点与色度视频块的预测信号进行结合以生成色度视频块的细化预测信号。
在又一个示例性方面中,公开了视频处理方法。方法包括执行视频的视频块和视频的编解码表示之间的转换,其中,编解码表示符合格式规则,该格式规则规定视频块满足的编解码条件包括被设置为假的指示,该指示指示使用可选半像素插值滤波器而非默认半像素插值滤波器。
在又一个示例性方面中,公开了视频处理方法。方法包括根据规则执行视频的视频块和视频的编解码表示之间的转换,其中,基于视频块的多个分区的预测矢量的加权平均生成视频块的预测矢量,其中,按角度分割至少一个分区,并且其中,规则规定为在确定预测矢量时对在半像素位置处的样点值进行插值而使用可选半像素插值滤波器。
在又一个示例性方面中,公开了视频处理方法。方法包括根据规则执行视频的视频块和视频的编解码表示之间的转换,其中,规则基于与Merge列表中存在的一个或多个运动候选相关联的信息,规定关于应用于待添加到Merge列表的运动矢量预测候选的编解码条件的指示。
在又一个示例性方面中,公开了视频处理的方法。方法包括为视频的视频块和视频的编解码表示之间的转换,根据规则基于视频块的邻近块的运动信息,确定使用仿射Merge模式进行编解码的视频块的控制点的控制点运动矢量,以及基于确定执行转换,其中,规则规定关于为视频块使用可选半像素插值滤波器的指示被设置为等于邻近块中的运动矢量的指示。
在又一个示例性方面中,公开了视频处理方法。方法包括根据规则执行视频的视频块和视频的编解码表示之间的转换,其中,规则规定如果使用从视频块的邻近块继承的仿射Merge模式对视频块进行编解码,则从邻近块继承关于为视频块使用可选半像素插值滤波器的指示。
在又一个示例性方面中,公开了视频方法。方法包括通过在Merge候选构建过程期间根据规则检查Merge候选来导出视频的视频块的运动信息;以及执行视频块和视频的编解码表示之间的转换,其中,规则规定如果被比较的两个Merge候选的可选半像素插值滤波器的使用的指示不同,则在Merge候选构建过程期间这两个Merge候选被认为是不同的。
在又一个示例方面中,上面描述的方法可以由包括处理器的视频编码器装置实施。
在又一个示例方面中,这些方法可以以处理器可执行指令的形式体现并且存储在计算机可读程序介质上。
在本文档中进一步描述了这些以及其它方面。
附图说明
图1示出了示例编码器的框图。
图2示出了67个帧内预测模式的示例。
图3示出了水平遍历扫描和垂直遍历扫描的示例。
图4示出了时域Merge候选的运动矢量缩放的示例。
图5示出了时域Merge候选的候选位置。
图6A示出了由可替代时域运动矢量预测(ATMVP)使用的空域邻近块的示例。
图6B示出了推导子CU运动场的示例。
图7示出了使用运动矢量差(MMVD)模式的Merge的搜索点的示例。
图8是视频处理方法的示例的流程图。
图9是视频处理方法的另一个示例的流程图。
图10是视频处理方法的又一个示例的流程图。
图11是视频处理方法的又一个示例的流程图。
图12是视频处理方法的又一个示例的流程图。
图13是视频处理方法的又一个示例的流程图。
图14A和14B是用于实施本文档中描述的视觉媒体编码技术的视觉媒体解码的硬件平台的示例的框图。
图15示出了基于帧间预测的三角分割的示例。
图16示出了三角分割模式的单向预测MV选择的示例。
图17示出了混合过程中使用的权重的示例。
图18示出了继承仿射运动预测值的位置的示例。
图19示出了控制点运动矢量继承的示例。
图20示出了构造仿射Merge模式的候选位置的定位的示例。
图21A至图21E示出了基于所公开的技术的一些实施方式的视频处理的示例方法的流程图。
具体实施方式
本文档提供可以由图片或视频比特流的解码器使用的各种技术,以提高解压缩或解码的数字视频或图片的质量。为简洁起见,在本文中使用术语“视频”来包括一系列图片(传统上称为视频)和单个图片。此外,视频编码器还可以在编码过程期间实施这些技术,以便重构用于进一步编码的解码帧。
为了便于理解,在本文档中使用章节标题,并且不将实施例和技术限制到对应章节。这样,来自一个章节的实施例可以与来自其它章节的实施例组合。
1.摘要
本文档与视频编解码技术相关。具体地,本文档与收集的运动矢量和其它编解码工具相关。本文档可以应用于现有的视频编解码标准,如HEVC,或待最终确定的标准(通用视频编解码)。本文档还可以适用于未来的视频编解码标准或视频编解码器。
2.初步论述
视频编解码标准主要是通过著名的ITU-T和ISO/IEC标准的发展而发展起来的。ITU-T制作了H.261和H.263标准,ISO/IEC制作了MPEG-1和MPEG-4 Visual,并且这两个组织联合制作了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),以致力于目标是与HEVC相比降低50%的位率的VVC标准。
2.1颜色空间和色度子采样
颜色空间,也称为颜色模型(或颜色***),是一种抽象的数学模型,其简单地将颜色范围描述为数字元组,该数字元组通常为3或4个值或颜色分量(例如RGB)。从基本上说,颜色空域是坐标系和子空域的细化。
对于视频压缩,最常用的颜色空域是YCbCr和RGB。
YCbCr、Y′CbCr或Y Pb/CbPr/Cr,也称为YCBCR或Y′CBCR,是一系列用作视频和数字图片***中的彩色图片流水线的一部分的颜色空间。Y′是亮度分量,CB和CR是蓝差和红差色度分量。Y′(带撇号)与Y不同,Y是亮度,这意味着光强度是基于伽马校正的RGB原色进行非线性编码的。
色度子采样是一种利用人类视觉***对色差的敏感度低于亮度的优势,通过实施比亮度信息更低的色度信息分辨率来对图片进行编码的实践。
2.1.1 4:4:4
三个Y'CbCr分量中的每一个都具有相同的采样率,因此没有色度子采样。此方案有时用于高端电影扫描仪和电影后期制作中。
2.1.2 4:2:2
以亮度的采样率的一半对两个色度分量进行采样:水平色度分辨率减半。这会将未压缩视频信号的带宽减少三分之一,而视觉差异很小甚至没有。
2.1.3 4:2:0
在4:2:0中,水平采样相比于4:1:1加倍,但由于在此方案中,Cb和Cr通道仅在每个交替线上采样,因此垂直分辨率减半。因此,数据速率是相同的。Cb和Cr在水平和垂直方向上均以系数2进行子采样。4:2:0方案有三种变体,这三种变体具有不同的水平和垂直定位。
·在MPEG-2中,水平共址Cb和Cr。Cb和Cr位于垂直方向的像素之间(位于中间)。
·在JPEG/JFIF、H.261和MPEG-1中,Cb和Cr位于交替亮度样点之间的中间位置。
·在4:2:0DV中,Cb和Cr共同位于水平方向。在垂直方向上,它们共同位于交替线上。
2.2典型视频编解码器的编解码流程
图1示出了VVC的编码器框图的示例,其包含三个环路滤波块:去方块滤波器(DF)、采样自适应偏移(SAO)和ALF。与使用预定义滤波器的DF不同,SAO和ALF利用当前图片的原始样点,以分别通过添加偏移量和应用有限脉冲响应(FIR)滤波器来减少原始样点和重构样点之间的均方误差,并使用编解码侧信息信令通知偏移量和滤波器系数。ALF位于每张图片的最后处理阶段,并且可以被视为试图捕获和修复前一阶段创建的伪影的工具。
2.3具有67个帧内预测模式的帧内模式编解码
为了捕获自然视频中呈现的任意边缘方向,方向帧内模式的数量从HEVC中使用的33个扩展到65个。附加方向模式在图2中被描绘为虚线箭头,并且平面模式和DC模式保持相同。这些密集的方向帧内预测模式适用于所有块大小以及亮度帧内预测和色度帧内预测二者。
如图2所示,常规的角度帧内预测方向在顺时针方向上定义为45度到-135度。在VTM6中,对于非方形块,用广角帧内预测模式自适应地替换了几种常规的角度帧内预测模式。使用原始方法信令通知替换的模式,并在解析后重新映射到广角模式的索引。帧内预测模式的总数不变,即67,并且帧内模式编解码不变。
在HEVC中,每个帧内编解码块都有方形形状,并且其每边的长度是2的幂。因此,使用DC模式生成帧内预测值不需要除法操作。在VVC中,块可以具有矩形形状,在一般情况下,需要对每个块使用除法运算。为了避免用于DC预测的除法运算,仅使用较长的边来计算非方形块的平均值。
2.4帧间预测
对于每个帧间预测的CU,运动参数包括运动矢量、参考图片索引和参考图片列表使用索引,以及用于帧间预测样点生成的VVC的新编解码特征所需的附加信息。可以以显式或隐式的方式信令通知运动参数。当使用跳过模式对CU进行编解码时,CU与一个PU相关联,并且不具有显著的残差系数、编解码的运动矢量增量或参考图片索引。指定Merge模式,其中,从邻近CU获得当前CU的运动参数,包括空域候选和时域候选,以及VVC中引入的附加调度。Merge模式可以应用于任何帧间预测的CU,而不仅仅适用于跳过模式。Merge模式的替代方案是运动参数的显式传输,其中按每个CU显示地信令通知运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表使用标志以及其它所需信息。
2.5帧内块复制(IBC)
帧内块复制(IBC)是SCC上的HEVC扩展中采用的工具。众所周知,它显著提高了屏幕内容材料的编解码效率。由于IBC模式被实现为块级编解码模式,因此在编码器处执行块匹配(BM)以找到每个CU的优选块矢量(或运动矢量)。这里,块矢量用于指示从当前块到参考块的位移,参考块已经在当前图片内重构。IBC编解码的CU的亮度块矢量为整数精度。色度块矢量也会取整到整数精度。当与AMVR结合使用时,IBC模式可以在1像素和4像素运动矢量精度之间切换。IBC编解码的CU被视为帧内或帧间预测模式以外的第三预测模式。IBC模式适用于宽度和高度均小于或等于64个亮度样点的CU。
在编码器端,对IBC执行基于哈希的运动估计。编码器对宽度或高度不大于16个亮度样点的块执行RD检查。对于非Merge模式,首先使用基于哈希的搜索执行块矢量搜索。如果哈希搜索没有返回有效的候选,则将执行基于块匹配的局部搜索。
在基于哈希的搜索中,当前块和参考块之间的哈希键值匹配(32位CRC)被扩展到所有允许的块大小。当前图片中的每个位置的哈希键计算基于4×4子块。对于大小较大的当前块,当所有4×4子块的所有哈希键与对应参考位置中的哈希键匹配时,确定哈希键与参考块的哈希键匹配。如果发现多个参考块的哈希键与当前块的哈希键匹配,则计算每个匹配参考的块矢量成本,并选择块矢量成本最小的匹配参考。
在块匹配搜索中,搜索范围被设置为覆盖先前CTU和当前CTU二者。
在CU级别处,通过标志信令通知IBC模式,并且其可以作为IBC AMVP模式或IBC跳过/Merge模式被信令通知,如下所示:
–IBC跳过/Merge模式:Merge候选索引用于指示列表中来自邻近候选IBC编解码块的哪些块矢量用于预测当前块。Merge列表由空域候选、HMVP候选和成对候选组成。
–IBC AMVP模式:以与运动矢量差相同的方式对块矢量差进行编解码。块矢量预测方法使用两个候选作为预测值,一个来自左邻居,一个来自上邻居(如果是IBC编解码的)。当任一邻居都不可用时,将使用默认块矢量作为预测值。信令通知标志以指示块矢量预测值索引。
2.6调色板模式
对于调色板模式信令,调色板模式被编解码为编解码单元的预测模式,即,编解码单元的预测模式可以是MODE_INTRA、MODE_INTER、MODE_IBC和MODE_PLT。如果使用调色板模式,则CU中的像素值由一小组代表性颜色值表示。该集合被称为调色板。对于值接近调色板颜色的像素,信令通知调色板索引。对于具有调色板之外的值的像素,用逸出符号表示像素,并且直接信令通知量化像素值。
为了对调色板编码块进行解码,解码器需要对调色板颜色和索引进行解码。调色板颜色由调色板表描述,并由调色板表编解码工具进行编码。为每个CU信令通知逸出标志,以指示当前CU中是否存在逸出符号。如果存在逸出符号,则调色板表将增加一,并且最后一个索引被分配给逸出模式。CU中的所有像素的调色板索引形成调色板索引图,并由调色板索引图编解码工具进行编码。
对于调色板表的编解码,维护调色板预测值。在每个条带的开头初始化预测值,其中,预测值被重置为0。对于调色板预测值中的每个条目,都会信令通知重用标志,以指示它是否是当前调色板的一部分。使用零的游程编解码发送重用标志。在此之后,使用0阶的指数Golomb码信令通知新调色板条目的数量。最后,信令通知新调色板条目的分量值。对当前CU进行编码后,将使用当前调色板更新调色板预测值,并且将在新调色板预测值末尾添加先前调色板预测值中未在当前调色板中重用的条目,直到达到允许的最大大小(调色板填充)。
为了对调色板索引图进行编解码,使用水平遍历扫描和垂直遍历扫描对索引进行编解码,如图3所示。在比特流中使用palette_transpose_flag显式地信令通知扫描顺序。
使用两种主要调色板样点模式对调色板索引进行编解码:“INDEX”和“COPY_ABOVE”。除了使用水平扫描时的顶行、使用垂直扫描时的第一列或前一模式为“COPY_ABOVE”时,使用标志信令通知该模式。在“COPY_ABOVE”模式下,复制上行中的样点的调色板索引。在“INDEX”模式下,显式地信令通知调色板索引。对于“INDEX”和“COPY_ABOVE”模式二者,都会信令通知游程值,该值指定使用相同模式进行编解码的像素数。
索引图的编码顺序如下:首先,信令通知CU的索引值的数量。然后使用截断二进制编解码信令通知整个CU的实际索引值。索引数量以及索引值二者均以旁路模式进行编解码。这将索引相关的旁路二进制位分组在一起。然后以交叉方式信令通知调色板模式(INDEX或COPY_ABOVE)和游程。最后,将对应于整个CU的逸出样点的分量逸出值分组在一起,并以旁路模式进行编解码。在信令通知索引值后信令通知附加的语法元素,last_run_type_flag。此语法元素与索引数结合使用,无需信令通知对应于块中最后一次运行的游程值。
在VTM5.0中,为I条带启用双树,其将亮度和色度的编解码单元分区分开。因此,在本方案中,调色板分别应用于亮度(Y分量)和色度(Cb和Cr分量)。若禁用双树,则调色板将联合地应用于Y、Cb、Cr分量,与HEVC调色板中相同。
2.7VVC中的时域运动矢量预测(TMVP)
在此时域Merge候选的推导过程中,基于属于并置参考图片的并置CU推导标量运动矢量。在条带标头中显式地信令通知用于推导并置CU的参考图片列表。如图4中的虚线所示,获得用于时域Merge候选的标量运动矢量,根据使用POC距离tb和td的并置的CU的运动矢量缩放该标量运动矢量,其中tb被定义为当前图片的参考图片和当前图片之间的POC差,并且td被定义为并置图片的参考图片和并置图片之间的POC差。时域Merge候选的参考图片索引被设置为等于零。
如图5所示,在候选C0和C1之间选择时域候选的位置。如果位置C0处的CU不可用、被帧内编解码或在CTU的当前行之外,则使用位置C1。否则,位置C0用于时域Merge候选的推导。
2.8VVC中的基于子块的时域运动矢量预测(SbTMVP)
VTM支持基于子块的时域运动矢量预测(SbTMVP)方法。与HEVC中的时域运动矢量预测(TMVP)类似,SbTMVP使用并置图片中的运动场来改进当前图片中的CU的运动矢量预测和Merge模式。TMVP使用的同一并置图片用于SbTVMP。SbTMVP在以下两个主要方面与TMVP不同:
1.TMVP预测CU级别的运动,但SbTMVP预测子CU级别的运动;
2.尽管TMVP从并置图片中的并置块获取时域运动矢量(并置块是相对于当前CU的右下块或中心块),SbTMVP在从并置图片中获取时域运动信息之前应用运动位移,其中,从来自当前CU的空域邻近块之一的运动矢量获得运动位移。
图6A-6B中示出了SbTVMP过程。SbTMVP分两步预测当前CU内子CU的运动矢量。在第一步骤中,检查图6A中的空域邻居A1。如果A1具有运动矢量,该运动矢量使用并置图片作为其参考图片,则选择此运动矢量作为要应用的运动位移。如果未识别出这种运动,则将运动位移设置为(0,0)。
在第二步骤中,如图6B所示,应用步骤1中识别的运动位移(即,添加到当前块的坐标)以从并置图片获得子CU级运动信息(运动矢量和参考索引)。图6B中的示例假设运动位移设置为块A1的运动。然后,对于每个子CU,使用并置图片中的其对应块(覆盖中心样点的最小运动网格)的运动信息来推导子CU的运动信息。在识别并置子CU的运动信息之后,通过与HEVC的TMVP过程类似的方式将运动信息转换为当前子CU的运动矢量和参考索引,其中时域运动缩放被应用于将时域运动矢量的参考图片与当前CU的参考图片对齐。
在VTM6中,包含SbTVMP候选和仿射Merge候选二者的基于组合子块的Merge列表用于信令通知基于子块的Merge模式。通过序列参数设置(SPS)标志启用/禁用SbTVMP模式。如果启用SbTMVP模式,则添加SbTMVP预测值作为基于子块的Merge候选的列表的第一个条目,并且随后的是仿射Merge候选。在SPS中信令通知基于子块的Merge列表的大小,并且基于子块的Merge列表的最大允许大小在VTM6中为5。
SbTMVP中使用的子CU大小被固定为8×8,并且与仿射Merge模式一样,SbTMVP模式仅适用于宽度和高度均大于或等于8的CU。
附加的SbTMVP Merge候选的编码逻辑与其它Merge候选的编码逻辑相同,即,对于P条带或B条带中的每个CU,执行附加的RD检查以决定是否使用SbTMVP候选。
工作草案中TMVP和SbTMVP的描述。
8.5.2.11时域亮度运动矢量预测的推导过程
此过程的输入:
–当前亮度编码块的左上样点相对于当前图片的左上亮度样点的亮度位置(xCb,yCb),
–指定亮度样点中的当前编解码块的宽度的变量cbWidth,
–指定亮度样点中的当前编解码块的高度的变量cbHeight,
–参考索引refIdxLX,其中X为0或1。
此过程的输出:
–1/16分数采样精度的运动矢量预测mvLXCol,
–可用性标志availableFlagLXCol。
变量currCb指定亮度位置(xCb,yCb)处的当前亮度编解码块。
变量mvLXCol和availableFlagLXCol推导如下:
–如果slice_temporal_mvp_enabled_flag等于0或(cbWidth*cbHeight)小于或等于32,则mvLXCol的两个分量均被设置为等于0,并且availableFlagLXCol被设置为等于0。
–否则(slice_temporal_mvp_enabled_flag等于1),则如下顺序步骤适用:
1.右下方并置运动矢量以及右边界样点位置和底边界样点位置推导如下:
xColBr=xCb+cbWidth (8-421)
yColBr=yCb+cbHeight (8-422)
rightBoundaryPos=subpic_treated_as_pic_flag[SubPicIdx]?SubPicRightBoundaryPos:pic_width_in_luma_samples-1 (8-423)
botBoundaryPos=subpic_treated_as_pic_flag[SubPicIdx]?SubPicBotBoundaryPos:pic_height_in_luma_samples-1 (8-424)
–如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,yColBr小于或等于botBoundaryPos并且xColBr小于或等于rightBoundaryPos,则适用如下内容:
–变量colCb指定亮度编解码块,该编解码块覆盖由ColPic指定的并置图片内((xColBr>>3)<<3,(yColBr>>3)<<3)给出的修改位置。
–亮度位置(xColCb,yColCb)被设置为等于colCb指定的并置亮度编解码块的左上样点相对于ColPic指定的并置图片的左上亮度样点的亮度位置。
–调用第8.5.2.12节中指定的并置运动矢量的推导过程,其中currCb、colCb、(xColCb、yColCb)、refIdxLX和sbFlag被设置为等于0作为输入,并且输出被分配给mvLXCol和availableFlagLXCol。
–否则,mvLXCol的两个分量都被设置为等于0,并且availableFlagLXCol被设置为等于0。
2.当availableFlagLXCol等于0时,中心并置运动矢量推导如下:
xColCtr=xCb+(cbWidth>>1) (8-425)
yColCtr=yCb+(cbHeight>>1) (8-426)
–变量colCb指定亮度编解码块,该编解码块覆盖ColPic指定的并置图片内((xColCtr>>3)<<3,(yColCtr>>3)<<3)给出的修改位置。
–亮度位置(xColCb,yColCb)被设置为等于colCb指定的并置亮度编解码块的左上样点相对于ColPic指定的并置图片的左上亮度样点的亮度位置。
–调用第8.5.2.12节中指定的并置运动矢量的推导过程,其中currCb、colCb、(xColCb、yColCb)、refIdxLX和sbFlag被设置为等于0作为输入,并且输出被分配给mvLXCol和availableFlagLXCol。
8.5.2.12并置运动矢量的推导过程
此过程的输入:
–指定当前编解码块的变量currCb,
–指定ColPic指定的并置图片内的并置编解码块的变量colCb,
–指定相对于ColPic指定的并置图片的左上亮度样点的colCb指定的并置亮度编码块的左上样点的亮度位置(xColCb,yColCb),
–参考索引refIdxLX,其中X为0或1,
–指示子块时域合并候选的标志sbFlag。
此过程的输出:
–1/16分数采样精度的运动矢量预测mvLXCol,
–可用性标志availableFlagLXCol。
变量currPic指定当前图片。
数组predFlagL0Col[x][y]、mvL0Col[x][y]和refIdxL0Col[x][y]被分别设置为ColPic指定的并置图片的predFlagl10[x][y]、MvDmvrL0[x][y]和refidxl10[x][y],并且数组predFlagL1Col[x][y]、mvL1Col x][y]和refIdxL1Col x][y]被分别设置为ColPic指定的并置图片的PredFlagL1[x][y]、MvDmvrL1[x][y]和RefIdxL1[x][y]。
变量mvLXCol和availableFlagLXCol推导如下:
–如果colCb以帧内或IBC预测模式进行编解码,则mvLXCol的两个分量都被设置为等于0,并且availableFlagLXCol被设置为等于0。
–否则,运动矢量mvCol、参考索引refIdxCol和参考列表标识符listCol推导如下:
2.8.1在帧间块中编解码colCb时并置运动矢量的推导
–如果sbFlag等于0,则availableFlagLXCol被设置为1,并适用如下内容:
–如果predFlagL0Col[xColCb][yColCb]等于0,则mvCol、refIdxCol和listCol被分别设置为等于mvL1Col[xColCb][yColCb]、refIdxL1Col[xColCb][yColCb]和L1。
–否则,如果predFlagL0Col[xColCb][yColCb]等于1且predFlagL1Col[xColCb][yColCb]等于0,则mvCol、refIdxCol和listCol被分别设置为等于mvL0Col[xColCb][yColCb]、refIdxL0Col[xColCb][yColCb和L0。
–否则(predFlagL0Col[xColCb][yColCb]等于1,并且predFlagL1Col[xColCb][yColCb]等于1),进行以下赋值:
–如果NoBackwardPredFlag等于1,则mvCol、refIdxCol和listCol被
分别设置为等于mvLXCol[xColCb][yColCb]、refIdxLXCol[xColCb][yColCb]和LX。
–否则,mvCol、refIdxCol和listCol被分别设置为等于mvLNCol[xColCb][yColCb]、refIdxLNCol[xColCb][yColCb]和LN,其中N是collocated_from_l0_flag的值。
–否则(sbFlag等于1),则适用如下内容:
–如果PredFlagLXCol[xColCb][yColCb]等于1,则mvCol、refIdxCol和listCol被分别设置为等于mvLXCol[xColCb][yColCb]、refIdxLXCol[xColCb][yColCb]和LX,availableFlagLXCol被设置为1。
–否则(PredFlagLXCol[xColCb][yColCb]等于0),则适用如下内容:
–如果NoBackwardPredFlag等于1且PredFlagLYCol[xColCb][yColCb]等于1,则mvCol、refIdxCol和listCol被分别设置为mvLYCol[xColCb][yColCb]、refIdxLYCol[xColCb][yColCb]和LY,其中Y等于!X,其中X是调用此过程的X的值,availableFlagLXCol被设置为等于1。
–否则,mvLXCol的两个分量都被设置为等于0,并且availableFlagLXCol被设置为等于0。
–当availableFlagLXCol等于TRUE时,mvLXCol和availableFlagLXCol的推导如下:
–如果LongTermRefPic(currPic、currCb、refIdxLX、LX)不等于LongTermRefPic(ColPic、colCb、refIdxCol、listCol),则mvLXCol的两个分量都被设置为等于0,并且availableFlagLXCol被设置为等于0。
–否则,变量availableFlagLXCol被设置为等于1,refPicList[listCol][refIdxCol]被设置为包含ColPic指定的并置图片中的编解码块colCb的条带的参考图片列表listCol中具有参考索引refIdxCol的图片,并且适用如下内容:
colPocDiff=DiffPicOrderCnt(ColPic,refPicList[listCol][refIdxCol])(8-427)
currPocDiff=DiffPicOrderCnt(currPic,RefPicList[X][refIdxLX])(8-428)
–调用第8.5.2.15节中指定的并置运动矢量的时域运动缓冲压缩过程,其中mvCol作为输入,并且修改后的mvCol作为输出。
–如果RefPicList[X][refIdxLX]是长期参考图片,或者colPocDiff等于currPocDiff,则mvLXCol推导如下:
mvLXCol=mvCol(8-429)
–否则,mvLXCol被推导为运动矢量mvCol的缩放版本,如下所示:
tx=(16384+(Abs(td)>>1))/td (8-430)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-431)
mvLXCol=Clip3(-131072,131071,(distScaleFactor*mvCol+128-(distScaleFactor*mvCol>=0))>>8)) (8-432)
其中,td和tb推导如下:
td=Clip3(-128,127,colPocDiff) (8-433)
tb=Clip3(-128,127,currPocDiff) (8-434)
2.9具有CU级权重的双向预测(BCW)
在HEVC中,通过对从两个不同参考图片获得的两个预测信号进行平均和/或使用两个不同的运动矢量来生成双向预测信号。在VTM6中,双向预测模式被扩展到简单平均之外,以允许对两个预测信号进行加权平均。
Pbi-pred=((8-w)*P0+w*P1+4)>>3 (3-19)
加权平均双向预测中允许五个权重,w∈{-2,3,4,5,10}。对于每个双向预测CU,权重w通过两种方式之一确定:1)对于非Merge CU,在运动矢量差之后信令通知权重索引;2)对于Merge CU,基于Merge候选索引从邻近块推断权重索引。加权平均双向预测仅适用于具有256个或更多亮度样点的CU(即CU宽度乘以CU高度大于或等于256)。对于低延迟图片,使用所有5个权重。对于非低延迟图片,仅适用3个权重(w∈{3,4,5})。
-在编码器处,应用快速搜索算法以找到权重索引,而不会显著增加编码器的复杂度。这些算法被总结如下。有关更多详细信息,读者请参阅VTM软件和文档JVET-L0646。当与AMVR结合使用时,如果当前图片是低延迟图片,则仅针对1像素和4像素运动矢量精度有条件地检查不等权重。
-当与仿射结合时,当且仅当仿射模式被选择为当前最佳模式时,对不等权重执行仿射ME。
-当双向预测中的两个参考图片相同时,仅有条件地检查不相等的权重。
-当满足某些条件时,不搜索不等权重,这取决于当前图片与其参考图片之间的POC距离、编解码QP和时域级别。
使用上下文编解码的二进制位和后面的旁路编解码的二进制位对BCW权重索引进行编解码。第一个上下文编解码的二进制位指示是否使用相等的权重;如果使用不等的权重,则使用旁路编解码信令通知附加的二进制位,以指示使用了哪个不等的权重。
加权预测(WP)是H.264/AVC和HEVC标准支持的编解码工具,以高效地对衰落视频内容进行编解码。对WP的支持也被添加到VVC标准中。WP允许为每个参考图片列表L0和L1中的每个参考图片信令通知加权参数(权重和偏移)。然后,在运动补偿期间,应用对应参考图片的权重和偏移。WP和BCW是为不同类型的视频内容而设计的。为了避免WP和BCW之间的交互,这将使VVC解码器设计复杂化,如果CU使用WP,则BCW权重索引不被信令通知,并且w被推断为4(即,应用相等的权重)。对于Merge CU,基于Merge候选索引从邻近块推断权重索引。这可以应用于普通Merge模式和继承的仿射Merge模式。对于构造的仿射Merge模式,基于最多3个块的运动信息构造仿射运动信息。以下过程用于使用构造的仿射Merge模式推导CU的BCW索引。
1.将BCW索引{0,1,2,3,4}的范围划分为三组{0}、{1,2,3}和{4}。如果所有控制点的BCW索引都来自同一组,则按照步骤2中的步骤推导BCW索引;否则,BCW索引被设置为2。
如果至少两个控制点具有相同的BCW索引,则将此BCW索引值分配给候选;否则,当前构造的候选的BCW索引被设置为2。
2.10具有MVD的Merge模式(MMVD)
除了Merge模式(隐式推导的运动信息被直接用于当前CU的预测样点生成)之外,VVC中还引入了具有运动矢量差的Merge模式(MMVD)。在发送跳过标志和Merge标志后立即信令通知MMVD标志,以指定MMVD模式是否用于CU。
在MMVD中,在选择Merge候选之后,它通过信令通知的MVD信息被进一步细化。另外的信息包括Merge候选标志、用于指定运动幅度的索引、以及用于运动方向的指示的索引。在MMVD模式下,选择Merge列表中前两个候选中的一个以用作MV基础。信令通知Merge候选标志,以指定使用哪个Merge候选标志。
距离索引指定运动幅值信息,并指示距起点的预定义偏移。如图7所示,偏移被添加到起始MV的水平分量或垂直分量。表1指定了距离索引与预定义偏移的关系。
表1:距离索引与预定义偏移的关系
Figure BDA0003544811710000171
方向索引表示MVD相对于起点的方向。方向索引可以表示表2所示的四个方向。值得注意的是,MVD符号的含义可能根据起始MV的信息而变化。当起始MV为非预测MV或双向预测MV,且两个列表均指向当前图片的同一侧(即,两个参考的POC均大于当前图片的POC,或均小于当前图片的POC)时,表2中的符号指定添加到起始MV的MV偏移的符号。当起始MV是双向预测MV,且两个MV指向当前图片的不同侧时(即,一个参考的POC大于当前图片的POC,而另一个参考的POC小于当前图片的POC),表2中的符号指定了添加到起始MV的list0 MV分量的MV偏移的符号,并且list1 MV的符号具有相反的值。
表2:方向索引指定的MV偏移的符号
方向IDX 00 01 10 11
X轴 + N/A N/A
Y轴 N/A N/A +
2.11可选亮度半像素插值滤波器
在JVET-N0309中,提出了可选半像素插值滤波器。
半像素亮度插值滤波器的切换的完成取决于运动矢量精度。除了现有的四分之一像素、全像素和4像素AMVR模式外,还引入了新的半像素精度AMVR模式。仅在半像素运动矢量精度的情况下,可以选择可选半像素亮度插值滤波器。
2.11.1半像素AMVR模式
提出了一种用于非仿射非Merge帧间编解码CU的附加AMVR模式,该模式允许以半像素精度信令通知运动矢量差。当前VVC草案的现有AMVR方案通过以下方式进行了直接扩展:直接在语法元素amvr_flag之后,如果amvr_flag==1,则有指示在hpel_amvr_flag==1时使用新的半像素AMVR模式的新的上下文建模的二进制语法元素hpel_amvr_flag。否则,即,如果hpel_amvr_flag==0,则由语法元素amvr_precision_flag按照当前VVC草案指示全像素和4像素AMVR模式之间的选择。
2.11.2可选亮度半像素插值滤波器
对于使用半像素运动矢量精度(即,半像素AMVR模式)的非仿射非Merge帧间编解码CU,基于新语法元素if_idx的值在HEVC/VVC半像素亮度插值滤波器和一个或多个可选半像素插值之间进行切换。仅在半像素AMVR模式的情况下信令通知语法元素if_idx。在使用空域merging候选的跳过/Merge模式的情况下,语法元素if_idx的值从邻近块继承。
2.11.2.1测试1:一个可选半像素插值滤波器
在此测试用例中,有一个6抽头插值滤波器作为普通HEVC/VVC半像素插值滤波器的替代。下表示出了语法元素if_idx的值与所选半像素亮度插值滤波器之间的映射:
if_idx 二值化 滤波器 插值滤波器系数
0 0 高斯(6抽头) [0,3,9,20,20,9,3,0]
1 1 HEVC/VVC(8抽头) [-1,4,-11,40,40,-11,4,-1]
2.11.2.1测试2:两个可选半像素插值滤波器
在此测试用例中,有两个8抽头插值滤波器作为普通HEVC/VVC半像素插值滤波器的替代。下表示出了语法元素if_idx的值与所选半像素亮度插值滤波器之间的映射:
if_idx 二值化 滤波器 插值滤波器系数
0 0 滤波器1(8抽头) [3,6,10,13,13,10,6,3]
1 10 滤波器2(8抽头) [-1,-1,9,25,25,9,-1,-1]
2 11 HEVC/VVC(8抽头) [-1,4,-11,40,40,-11,4,-1]
信令通知amvr_precision_idx以指示当前CU采用1/2像素MV精度、1像素MV精度还是4像素MV精度。有2个二进制位需要被编解码。
信令通知hpel_if_idx以指示是否使用默认的半像素插值滤波器或可选半像素插值滤波器。当使用2个可选半像素插值滤波器时,有2个二进制位需要被编解码。
2.12用于帧间预测(TPM)的三角形分割
在VTM6中,支持三角形分割模式用于帧间预测。三角形分割模式仅适用于8×8或更大的CU。使用CU级标志作为一种Merge模式以及包括常规Merge模式、MMVD模式、CIIP模式和子块Merge模式的其它Merge模式信令通知三角形分割模式。
使用此模式时,CU使用对角划分或反对角划分被均匀划分为两个三角形分区(图15)。CU中的每个三角形分区使用其自身的运动进行帧间预测;每个分区只允许单向预测,即每个分区有一个运动矢量和一个参考索引。单向预测运动约束被应用以确保与常规的双向预测相同,每个CU仅需要两个运动补偿预测。使用2.12.1中描述的过程推导每个分区的单向预测运动。
如果三角形分割模式用于当前CU,则会进一步信令通知指示三角形分割方向(对角或反对角)的标志以及两个Merge索引(每个分区一个)。在条带级别显式地信令通知最大TPM候选大小的数量,并指定TMP Merge索引的语法二值化。在预测每个三角形分区之后,使用具有自适应权重的混合处理来调整沿对角线或反对角线边缘的样点值。这是整个CU的预测信号,并且与其它预测模式一样,变换和量化过程将应用于整个CU。最后,以4×4单元存储使用三角形分割模式预测的CU的运动场,如2.12.3。
三角形分割模式不与SBT结合使用,即,当信令通知的三角形模式等于1时,cu_SBT_flag在没有信令通知的情况下被推断为0。
2.12.1单向预测候选列表构造
单向预测候选列表直接从根据扩展Merge预测过程构造的Merge候选列表中导出。将n表示为三角形单向预测候选列表中的单向预测运动的索引。第n个扩展Merge候选的LX运动矢量(其中X等于n的奇偶校验)用作三角形分割模式的第n个单向预测运动矢量。这些运动矢量在图16中用“x”标记。如果第n个扩展Merge候选的对应LX运动矢量不存在,则相同候选的L(1-X)运动矢量被用作三角形分割模式的单向预测运动矢量。
2.12.2沿三角形分割边缘的混合
在使用自身的运动预测每个三角形分区后,混合应用于两个预测信号,以导出对角线或反对角线边缘周围的样点。以下权重用于混合过程:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}用于亮度,而{6/8,4/8,2/8}用于色度,如图17所示。
2.12.3运动场存储
以4×4单元存储以三角形分割模式编解码的CU的运动矢量。取决于每个4×4单元的位置,存储单向预测运动矢量或双向预测运动矢量。将Mv1和Mv2分别表示为分区1和分区2的单向预测运动矢量。如果4×4单元位于图17的示例中所示的非加权区域中,则为该4×4单元存储Mv1或Mv2。否则,如果4×4单元位于加权区域中,则存储双向预测运动矢量。根据以下过程从Mv1和Mv2中导出双向预测运动矢量:
(1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,而另一个来自L1),则Mv1和Mv2被简单地结合以形成双向预测运动矢量。
(2)否则,如果Mv1和Mv2来自同一个列表,并且不丧失通用性,则假定它们都来自L0。在这种情况下,
(2.a)如果Mv2(或Mv1)的参考图片出现在L1中,则使用L1中的该参考图片将该Mv2(或Mv1)转换为L1运动矢量。然后两个运动矢量被结合以形成双向预测运动矢量;
(2.b)否则,代替双向预测运动,仅存储单向预测运动Mv1。
2.13仿射Merge预测
AF_MERGE模式可以应用于宽度和高度均大于或等于8的CU。在此模式下,当前CU的CPMV是基于空域邻近CU的运动信息而生成的。最多可以有五个CPMVP候选,并且信令通知索引以指示要用于当前CU的那个。以下三种类型的CPVM候选用于形成仿射Merge候选列表:
1)从邻近CU的CPMV推断出的继承仿射Merge候选
2)使用邻近CU的平移MV导出的构造仿射Merge候选CPMVP
3)零MV
在VTM6中,最多有两个继承仿射候选,它们从邻近块的仿射运动模型中导出,一个来自左侧邻近CU,而另一个来自上方邻近CU。在图18中示出候选块。对于左侧预测值,扫描顺序为A0->A1,并且对于上方预测值,扫描顺序为B0->B1->B2。仅选择来自每一侧的第一个继承候选。在两个继承候选之间不执行去重检查。当识别到邻近仿射CU时,其控制点运动矢量用于在当前CU的仿射Merge列表中导出CPMVP候选。如图19所示,如果以仿射模式编解码邻近的左侧底部块A,则获得包含块A的CU的左侧顶角、右上角和左侧底角的运动矢量v_2、v_3和v_4。当使用4参数仿射模型对块A进行编解码时,根据v_2和v_3计算当前CU的两个CPMV。如果使用6参数仿射模型对块A进行编解码,则根据v_2、v_3和v_4计算当前CU的三个CPMV。
构造仿射候选是指通过结合每个控制点的邻***移运动信息来构造候选。控制点的运动信息是从图20所示的指定的空域邻居和时域邻居导出的。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。
3.现有实施方式的缺点
帧间预测中的并置运动矢量的推导的当前设计存在以下问题:
1.TMVP和SbTMVP中的并置运动矢量的推导取决于并置编解码块的预测模式。在当前VVC中,如果以帧内预测模式或IBC预测模式对并置编解码块进行编解码,则并置运动矢量被设置为等于零运动矢量。因此,即使并置块是调色板编解码的,它仍然可以返回未定义的并置运动矢量,这是因为不存在与调色板预测模式相关联的运动矢量。
2.在BCW中,加权样点预测的导出可能不是高效的。
3.在当前VVC中,MV被剪裁为18位。然而,Merge运动矢量差被剪裁为16位,这可能导致准确度损失。
4.信令通知的cu_skip_flag可能会导致开销位。在当前的VVC中,IBC编解码单元的最大宽度和高度为64。对于I条带中宽度或高度大于64的块,不需要信令通知cu_skip_flag。
5.即使CU/PU/块没有半像素或更粗糙的MV分量,可替代亮度半像素插值滤波器标志也可以被设置为等于真。
6.可替代亮度半像素插值滤波器可以用于TPM模式。
7.可替代亮度半像素插值滤波器可以用于TMVP/SbTMVP/仿射Merge中。
8.BCW可以用于TMVP/SbTMVP
4.视频编解码中的并置运动矢量的示例方法
下面的详细发明应当被视为解释一般概念的示例。这些发明不应当被狭隘地解释。此外,可以以任何方式结合这些发明。
并置运动矢量的推导
1.如何导出并置运动矢量和/或并置运动矢量的可用性可以取决于并置编解码块的预测模式是否为帧间的,而不是检查并置编解码块是帧内编解码的还是IBC编解码的。在这种情况下,不需要为每个块存储四个预测模式,只要求一个1位来判断该块是帧间还是非帧间。
a.在一个示例中,对于以调色板预测模式编解码并置编解码块的情况,如何导出并置运动矢量和/或并置运动矢量的可用性可以与以帧内/IBC预测模式编解码并置编解码块的情况相同。
b.在一个示例中,当以非帧间预测模式(例如,帧内、调色板或IBC)对并置编解码块进行编解码时,并置运动矢量可以被设置为不可用。
c.可替代地,当以非帧间预测模式(例如,帧内、调色板或IBC)对并置编解码块进行编解码时,并置运动矢量可以被标记为可用,并且默认运动矢量可以被指定为并置运动矢量。
d.可替代地,当以非帧间预测模式对并置编解码块进行编解码时,可以检查其它块(例如,并置编解码块的一个邻近帧间编解码块)。
i.在一个示例中,邻近块可以是并置编解码块的左侧/右侧/上方/底部的最近帧间编解码块。
2.并置运动矢量的确定可以取决于并置编解码块的参考列表和/或参考索引。
a.在一个示例中,当并置编解码块的参考列表X(例如,L1)的参考索引不等于特定值(例如,0)时,可以导出并置运动矢量(例如,使用2.8.1中描述的现有技术)。
b.在一个示例中,当并置编解码块的参考列表X(例如,L1)的参考索引等于特定值(例如,0)时,可以调用并置运动矢量的推导。
c.可替代地,此外,当以非帧间预测模式(包括或不包括IBC)对并置编解码块进行编解码时,或者当其参考图片不满足给定的条件时,并置MV被设置为不可用。
i.可替代地,并置MV被设置为默认值。
BCW的样点预测
3.在BCW编解码模式下应用的权重表可以是不对称的。
a.在一个示例中,对于作为表的条目的权重W,(1-W)可以不是表的条目,其中,W在[a,b]的范围内,其中,(a+b)等于1。
b.在一个示例中,对于作为表的条目的权重W,(2N-W)可以不是表条目,假设最终预测块由(W0*P0+W1*P1)>>N生成,其中,W0和W1分别是应用于两个预测块P0和P1的两个权重;并且(W0+W1)等于(1<<N)。
4.在BCW编解码模式下应用的权重表中的权重可以不是按照单调递增顺序的。
a.在一个示例中,表的第(i+1)个条目可能具有小于表的第i个条目的值。
5.在一个示例中,BCW的加权样点预测过程可能取决于不同的权重查找表。
a.在一个示例中,{4,5,3,10,2}/{4,3,5,10,2}/{4,5,3,10,1}/{4,3,5,10,1}/{4,5,3,10,-1}可以用作BCW的权重查找表。
6.在一个示例中,在BCW的加权样点预测过程中,每个预测方向上的中间预测样点可以被转换(如有必要,例如,当第一位深度不等于中间预测样点的位深度时)为第一位深度,然后,可以应用加权预测,并且可以将最终预测样点转换为第二位深度。
a.在一个示例中,第二位深度与当前颜色分量的输入位深度相同。
b.在一个示例中,在不同位深度之间的转换中,可以应用右移位(例如,将样点从较高位深度转换为较低位深度)或左移位(例如,将样点从较低位深度转换为较高位深度)。
i.可替代地,此外,可以在右移位或左移位之前添加偏移。
c.在一个示例中,第一位深度与中间预测样点的位深度相同。BCW的加权样点预测可以被导出为:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(w0*predSamplesL0[x][y]+w1*predSamplesL1[x][y]+offset3)>>(shift1+3),其中shift1被设置为等于Max(2,14-bitDepth)并且变量offset3被设置为等于1<<(shift1+2)。
d.在一个示例中,第一位深度与当前颜色分量的输入位深度相同。
BCW的加权样点预测可以导出为:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(w0*((predSamplesL0[x][y]+offset1)>>shift1)+w1*((predSamplesL1[x][y]+offset1)>>shift1)+4)>>3),其中shift1被设置为等于Max(2,14-bitDepth),变量offset1被设置为等于1<<(shift1-1)。
MMVD范围
7.在一个示例中,Merge运动矢量差可以被剪裁到与运动矢量相同的范围。
a.在一个示例中,Merge运动矢量差可以被剪裁为18位,例如,[-217,217–1],这与VVC中的运动矢量范围相同。
b.在一个示例中,Merge运动矢量差可以被剪裁为[-217+1,217–1]。
c.在一个示例中,Merge运动矢量差可以不被剪裁。
i.例如,在将Merge运动矢量差添加到运动矢量预测候选之后,运动矢量的结果被剪裁为18位。
cu_skip_flag的信令
8.根据编解码块的尺寸,可以有条件地信令通知对于CU/PU/块是否在跳过模式下编解码的指示(例如,cu_skip_flag)。
a.在一个示例中,在当前条带类型为I条带并且sps_ibc_enabled_flag等于真并且块宽度和块高度都小于或等于N(N是整数)时,可以信令通知指示(例如,cu_skip_flag)。例如,N=64。
b.在一个示例中,在IBC模式下对当前块进行编解码时,当块宽度和块高度都小于或等于N(N是整数)时,可以信令通知指示(例如,cu_skip_flag)。例如,N=64。
色度分量的编解码工具
9.编解码工具X(例如,X是TMVP/ATMVP/BCW/MMVD/PDPC)是否可以应用于第一颜色分量的一个块可以取决于它是否应用于第二颜色分量中的一个或多个对应块。
a.在一个示例中,当编解码工具应用于对应的第二颜色分量(例如,亮度)块时,可以禁用第一颜色分量(例如,色度)块的编解码工具X的使用。
b.在一个示例中,当编解码工具Y(其中,Y不同于X)应用于对应的第二颜色分量(例如,亮度)块时,可以禁用对第一颜色分量(例如,色度)块的编解码工具X的使用。
c.在一个示例中,消息(例如,标志或索引)可以被有条件地信令通知以指示编解码工具X是否应用于块的第一颜色分量。该条件可以被定义为其是否应用于对应的第二颜色分量块。可替代地,此外,如果未将其应用于对应的第二颜色分量块,则在没有信令通知的情况下不将其应用于块的第一分量。
i.在一个示例中,编解码工具X可以通过不同的方式应用于不同的颜色分量。
1)可以信令通知如何分别在亮度分量和色度分量上应用编解码工具X。
d.在一个示例中,第一颜色分量是色度分量,并且第二颜色分量是亮度分量。
e.在一个示例中,第一颜色分量是一个色度颜色分量,并且第二颜色分量是另一个色度颜色分量。
f.在一个示例中,第一颜色分量是亮度颜色分量,并且第二颜色分量是色度颜色分量。
g.在上述讨论中,“对应的第二颜色分量块”可以指代包括第一颜色分量块的至少一个“对应样点”的第二颜色分量块。
i.在一个示例中,第一颜色分量是色度分量,并且第二颜色分量是亮度分量。
ii.样点位置可以根据颜色格式(例如,4:4:4或4:2:0)进行缩放。假设色度块的左上位置为(x0,y0),并且色度块的宽度和高度为W和H,所有这些样点位置都被缩放为亮度样点单元。
iii.在一个示例中,对应的样点可以位于(x0,y0);
iv.在一个示例中,对应的样点可以位于(x0+W-1,y0+H-1);
v.在一个示例中,对应的样点可以位于(x0+W/2-1,y0+H/2-1);
vi.在一个示例中,对应的样点可以位于(x0+W/2,y0+H/2);
vii.在一个示例中,对应的样点可以位于(x0+W/2,y0+H/2-1);
viii.在一个示例中,对应的样点可以位于(x0+W/2-1,y0+H/2);
h.在上述讨论中,“色度分量”可以指代“一个或多个色度分量”。
10.建议在一些模式下对色度块的并置亮度块进行编解码时,可以对一些色度分量禁用位置相关的帧内预测样点滤波过程(又称PDPC)。
a.在一个示例中,当在MIP(基于矩阵的帧内预测)模式下对色度块的并置亮度块进行编解码时,可以禁用这种过程。
b.在一个示例中,当在MRL(多参考线)模式下对色度块的并置亮度块进行编解码时,可以禁用这种过程。
11.当CU/PU/块仅具有比半像素精度更高(例如,1/4像素、1/8像素等)的MV分量时,是否使用可选半像素插值滤波器的指示可以被设置为假。也就是说,可以使用默认半像素插值滤波器而不是可替代的半像素插值滤波器。
a.在一个示例中,如果重构的MV仅具有比半像素更高精度的MV分量,则这种指示可以在MMVD模式下被设置为假。
b.在一个示例中,对于成对Merge候选,如果其仅具有比半像素更高精度的MV分量,则这种指示可以被设置为等于假。
c.在一个示例中,当重构的双向预测运动信息被转换为仅具有比半像素更高精度的MV分量的单向预测运动信息(例如,应用于小块,如4×8块或/和8×4块)时,这种指示可以被设置为假。
d.在一个示例中,设置为假的指示可以被存储并用于随后编解码的CU/PU/块。
12.当CU/PU/块具有N个(N为整数,例如,N=1)或多于N个具有比半像素更高精度(例如,1/4像素、1/8像素等)的MV分量(包括水平分量和垂直分量)时,是否使用可选半像素插值滤波器的指示可以被设置为等于假。也就是说,可以使用默认的半像素插值滤波器而不是可替代的半像素插值滤波器。
a.在一个示例中,如果重构的MV具有N个或多于N个精度比半像素更高的MV分量,则在MMVD模式下,这种指示可以被设置为等于假。
b.在一个示例中,如果成对Merge候选具有N个或多于N个精度比半像素更高的MV分量,则这种指示可以被设置为等于假。
c.在一个示例中,当重构的双向预测运动信息被转换为具有比半像素精度更高的N个或多于N个MV分量的单向预测运动信息(例如,应用于小块,如4×8块或/和8×4块)时,这种指示可以被设置为等于假。
d.在一个示例中,N可以取决于CU/PU/块是单向预测的还是双向预测的。
i.例如,与单向预测的CU/PU/块相比,双向预测的CU/PU/块可以使用更大的N。
ii.例如,相同的N可以用于单向预测的CU/PU/块和双向预测的CU/PU/块二者。
e.在一个示例中,设置为等于假的指示可以被存储并用于随后编解码的CU/PU/块。
13.在一些情况下,是否使用可选半像素插值滤波器的指示可以始终被设置为等于假。也就是说,在这些情况下,可以始终使用默认的半像素插值滤波器。
a.在一个示例中,在MMVD模式下,这种指示可以始终设置为等于假。
b.在一个示例中,当选择一些特定MVD时,在MMVD模式下,这种指示可以始终设置为等于假。
i.例如,如果选择了具有1/4像素精度的MVD,则这种指示可以被设置为等于假。
c.在一个示例中,对于成对Merge候选,这种指示可以始终设置为等于假。
d.在一个示例中,当重构的双向预测运动信息被转换为单向预测运动信息(例如,应用于小块,如4×8块或/和8×4块)时,这种指示可以始终设置为等于假。
e.在一个示例中,设置为等于假的指示可以被存储并用于随后编解码的CU/PU/块。
14.建议可以在TPM模式下使用可选半像素插值滤波器。
a.在一个示例中,TPM模式下的可选半像素插值滤波器的指示可以从Merge候选中继承。
i.在一个示例中,可选半像素插值滤波器的指示可以从一个或多个空域候选、和/或TMVP候选、和/或HMVP候选和/或成对候选中继承。
1)在一个示例中,可选半像素插值滤波器的指示可以从TMVP候选的空域候选(例如,第一空域候选)之一导出。
2)将hPelIf1和hPelIf2表示为成对候选中的第一候选和第二候选的指示。在一个示例中,当可选半像素插值滤波器的指示从成对候选中继承时,其可以取决于hPelIf1或/和hPelIf2。
a)在一个示例中,可选半像素插值滤波器的指示被设置为等于真。
b)在一个示例中,可选半像素插值滤波器的指示被设置为等于假。
c)在一个示例中,可选半像素插值滤波器的指示被设置为等于hPelIf1。
d)在一个示例中,可选半像素插值滤波器的指示被设置为等于hPelIf2。
e)在一个示例中,可选半像素插值滤波器的指示被设置为等于(hPelIf1&&hPelIf2)。
f)在一个示例中,可选半像素插值滤波器的指示被设置为等于(hPelIf1||hPelIf2)。
ii.在一个示例中,TPM模式下的可选半像素插值滤波器的指示可以被设置为等于真。
b.在一个示例中,在TPM模式下可以在一个分区或两个分区的运动补偿的过程中使用可选半像素插值滤波器。
i.在一个示例中,可选半像素插值滤波器可以用于分区1。
ii.在一个示例中,可选半像素插值滤波器可以用于分区2。
iii.在一个示例中,可选半像素插值滤波器可以用于分区1和分区2二者。
c.在一个示例中,是否在TPM模式下使用可选半像素插值滤波器的指示可以与运动场一起存储。将hPelIfPart1和hPelIfPart2表示为TPM模式下分区1和分区2的半像素插值滤波器的指示。
i.在一个示例中,可以为所有4×4单元存储是否在TPM模式下使用可选半像素插值滤波器的相同指示。
1)在一个示例中,在运动场存储的过程期间,是否使用可选半像素插值滤波器的指示被设置为等于假。
2)在一个示例中,在运动场存储的过程期间,是否使用可选半像素插值滤波器的指示被设置为等于(hPelIfPart1&&PelIfPart2)。
3)在一个示例中,在运动场存储的过程期间,是否使用可选半像素插值滤波器的指示被设置为等于(hPelIfPart1||hPelIfPart2)。
ii.在一个示例中,可以为不同分区(例如,分区1、分区2或加权区域)中的4×4单元存储是否在TPM模式下使用可选半像素插值滤波器的不同指示。
1)在一个示例中,对于被1或2替换的X,在运动场存储的过程期间,可选半像素插值滤波器是否用于分区X中的4×4单元的指示被设置为等于hPelIfPartX。
2)在一个示例中,可选半像素插值滤波器是否用于加权区域中的4×4单元的指示被设置为等于(hPelIfPart1&&hPelIfPart2)。
3)在一个示例中,可选半像素插值滤波器是否用于加权区域中的4×4单元的指示被设置为等于(hPelIfPart1||hPelIfPart2)。
4)在一个示例中,可选半像素插值滤波器是否用于加权区域中的4×4单元的指示被设置为等于hPelIfPart1。
5)在一个示例中,可选半像素插值滤波器是否用于加权区域中的4×4单元的指示被设置为等于hPelIfPart2。
15.在一个示例中,项目符号13中公开的一种或多种方法可以用于BCW的指示(也被称为广义双向预测(GBi)索引)。
16.是否启用或禁用TMVP候选的编解码工具可以取决于添加TMVP候选之前Merge列表中所有或部分运动候选(名为所选的运动候选)的信息。
a.在一个示例中,该所选的运动候选可以是那些空域Merge候选;
b.在一个示例中,该所选的运动候选可以是第一空域Merge候选;
i.在一个示例中,可选半像素插值滤波器是否用于TMVP候选的指示可以被设置为等于第一空域Merge候选的指示。
ii.在一个示例中,TMVP候选的BCW索引可以被设置为等于第一空域Merge候选的BCW索引。
iii.在一个示例中,第一空域Merge候选可以是左侧空域Merge候选。
c.在一个示例中,是否使用可选半像素插值滤波器和/或BCW索引的指示可以取决于与所选的运动候选相关联的信息。
i.在一个示例中,如果存在比剩余候选更多的候选,其中,是否使用可选半像素插值滤波器的指示等于1,则对于TMVP候选,是否使用可选半像素插值滤波器的指示可以被设置为1(或0)。
17.是否启用或禁用SbTMVP候选的编解码工具可以取决于第一空域Merge候选的信息。
a.在一个示例中,可选半像素插值滤波器是否用于SbTMVP候选的指示可以被设置为等于第一空域Merge候选的指示。
b.在一个示例中,SbTMVP候选的BCW索引可以被设置为等于第一空域Merge候选的BCW索引。
c.在一个示例中,第一空域Merge候选可以是左空域Merge候选。
18.可选半像素插值滤波器是否用于使用构造的仿射Merge模式的块的指示可以被设置为等于邻近块中的MV的指示,以生成控制点MV(CPMV)。
a.在一个示例中,邻近块中的MV可以在左上角生成CPMV。
b.在一个示例中,邻近块中的MV可以在右上角生成CPMV。
c.在一个示例中,邻近块中的MV可以在左下角生成CPMV。
19.可选半像素插值滤波器是否用于使用从邻近块继承的仿射Merge模式的块的指示可以从邻近块继承。
20.在一个示例中,如果两个Merge候选是否使用可选半像素插值滤波器的指示不同,则这两个Merge候选在Merge候选构造过程中进行比较时被认为不同。
总体断言
21.可以在序列级/图片级/条带级/片组级,例如序列标头/图片标头/SPS/VPS/DPS/PPS/APS/条带标头/片组标头中,信令通知是否和/或如何应用上述公开的方法。
上述示例可以并入下述方法(例如,方法800、900、1000、1100、1200和1300)的上下文中,其可以在视频解码器或视频编码器处实施。
图8示出了视频处理的示例性方法的流程图。方法800包括,在步骤810处,基于相对于当前视频块的并置视频块的预测模式来确定一个或多个并置运动矢量的可用性。
方法800包括,在步骤820处,基于一个或多个并置运动矢量,执行在当前块和当前块的比特流表示之间的转换,预测模式的指示包括指示当前视频块是用帧间模式还是非帧间模式编解码的一个位。
图9示出了视频处理的示例性方法的流程图。方法900包括,在步骤910处,对于视频块的编解码表示和视频块之间的转换,确定视频块的并置视频块的类型,该类型仅取两个可能值中的一个。
方法900包括,在步骤920处,基于确定执行转换。
图10示出了视频处理的示例性方法的流程图。方法1000包括,在步骤1010处,基于与具有编解码单元(CU)级权重的双向预测模式(BCW)过程相关联的第一权重表,导出当前块的预测样点,第一权重表是不对称的。
方法1000包括,在步骤1020处,基于预测样点执行当前块和当前块的比特流表示之间的转换。
图11示出了视频处理的示例性方法的流程图。方法1100包括,在步骤1110处,基于当前视频块的维度,确定关于当前视频块的比特流表示中的当前视频块的跳过模式编解码的指示的选择性信令通知。
方法1100包括,在步骤1120处,基于确定执行当前块和当前块的比特流表示之间的转换。
图12示出了视频处理的示例性方法的流程图。方法1200包括,在步骤1210处,基于第一编解码工具对当前视频块的第一颜色分量中的一个或多个块的应用,确定关于第二编解码工具对当前视频块的第二颜色分量的至少一个块的选择性应用。
方法1200包括,在步骤1220处,基于确定执行当前块和当前块的比特流表示之间的转换。
图13示出了视频处理的示例性方法的流程图。方法1300包括,在步骤1310处,基于当前视频块中的运动矢量的精度,确定关于使用可选半像素插值滤波器而不是默认半像素插值滤波器的指示的选择性信令通知。
方法1300包括,在步骤1320处,基于确定执行当前块和当前块的比特流表示之间的转换。
所公开技术的一些实施例包括作出启用视频处理工具或模式的决策或决定。在示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但不一定基于该工具或模式的使用修改所得的比特流。也就是说,从视频块到视频的比特流表示的转换将在基于决策或决定启用时使用视频处理工具或模式。在另一个示例中,当视频处理工具或模式被启用时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,将使用基于决策或决定启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
所公开技术的一些实施例包括作出禁用视频处理工具或模式的决策或决定。在示例中,当禁用视频处理工具或模式时,编码器在将视频块转换为视频的比特流表示时将不使用该工具或模式。在另一个示例中,当禁用视频处理工具或模式时,解码器将在知道比特流尚未使用基于决策或决定禁用的视频处理工具或模式进行修改的情况下处理比特流。
在本文档中,术语“视频处理”可以指代视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示转换为对应的比特流表示期间应用视频压缩算法,反之亦然。例如,当前视频块的比特流表示可以对应于如语法所定义的,在比特流内并置或分散在不同位置的位。例如,宏块可以根据变换和编解码的错误残差值进行编码,并且还可以使用标头中的位和比特流中的其它字段进行编码。
5.所公开技术的示例性实施例
更改用粗体和斜体突出显示。用双括号标记删除的文本(例如,[[a]]表示删除字母“a”)。
5.1实施例#1
JVET-O2001-vE中指定的工作草案可以被改变如下。
8.5.2.12并置运动矢量的推导过程
变量mvLXCol和availableFlagLXCol推导如下:
-如果colCb以帧内预测模式或调色板预测模式或IBC预测模式进行编解码,则mvLXCol的两个分量被设置为等于0并且availableFlagLXCol被设置为等于0。
-否则,运动矢量mvCol、参考索引refIdxCol以及参考列表标识符istCol推导如下:
可替代地,以下内容可以适用:
变量mvLXCol和availableFlagLXCol推导如下:
-如果colCb不以[[帧内或IBC]]帧间预测模式进行编解码,则mvLXCol的两个分量被设置为等于0并且availableFlagLXCol被设置为等于0。
-否则,运动矢量mvCol、参考索引refIdxCol和参考列表标识符listCol推导如下:
5.2实施例#2
JVET-O2001-vE中指定的工作草案可以被改变如下。
8.5.1以帧间预测模式进行编解码的编解码单元的一般解码过程
3.对于xSbIdx=0..numSbX-1、ySbIdx=0..numSbY-1,解码器端运动矢量细化后的亮度和色度运动矢量的数组(refMvLX[xSbIdx][ySbIdx]和refMvCLX[xSbIdx][ySbIdx],其中X为0和1)被推导如下:
–如果dmvrFlag等于1,使用refMvLX[xSbIdx][ySbIdx]和refIdxLX作为输入,以及refMvCLX[xSbIdx][ySbIdx]作为输出调用第8.5.2.13节找那个的色度运动矢量的推导过程,并且输入refMvLX[xSbIdx][ySbIdx]推导如下;
refMvLX[xSbIdx][ySbIdx]=mvLX[xSbIdx][ySbIdx]+dMvLX[xSbIdx][ySbIdx] (8-287)
refMvLX[xSbIdx][ySbIdx][0]=Clip3(-217,217-1,refMvLX[xSbIdx][ySbIdx][0]) (8-288)
refMvLX[xSbIdx][ySbIdx][1]=Clip3(-217,217-1,refMvLX[xSbIdx][ySbIdx][1]) (8-289)
–否则(dmvrFlag等于0),以下内容适用:
refMvLX[xSbIdx][ySbIdx]=mvLX[xSbIdx][ySbIdx] (8-290)
refMvCLX[xSbIdx][ySbIdx]=mvCLX[xSbIdx][ySbIdx] (8-291)
注意–阵列refMvLX被存储在MvDmvrLX中并且在推导过程中用于第8.5.2.12节中的并置的运动矢量。在对条带进行解码后,在编解码块Cb[xSbIdx][ySbIdx]以IBC预测模式进行编解码时,MvDmvrLX[xSbIdx][ySbIdx]和对应的参考索引全部被设置为等于-1。非细化亮度运动矢量MvLX的阵列用于空域运动矢量预测和去方块边界强度推导过程中。
8.5.2.12并置运动矢量的推导过程
变量mvLXCol和availableFlagLXCol推导如下:
-如果colCb以帧内预测模式或IBC预测模式进行编解码,则mvLXCol的两个分量被设置为等于0并且availableFlagLXCol被设置为等于0。
-否则,运动矢量mvCol、参考索引refIdxCol和参考列表标识符listCol推导如下:
如果predFlagL0Col[xColCb][yColCb]等于0并且predFlagL1Col[xColCb][yColCb]等于0,则mvLXCol的两个变量被设置为等于0并且availableFlagLXCol被设置为等于0。
否则,以下内容适用:
–如果sbFlag等于0,availableFlagLXCol被设置为等于1并且以下内容适用:
–如果predFlagL0Col[xColCb][yColCb]等于0,mvCol、refIdxCol和listCol被分别设置为等于mvL1Col[xColCb][yColCb]、refIdxL1Col[xColCb][yColCb]和L1。
–否则,如果predFlagL0Col[xColCb][yColCb]被设置为等于1并且predFlagL1Col[xColCb][yColCb]等于0,mvCol、refIdxCol和listCol被分别设置为等于mvL0Col[xColCb][yColCb]、refIdxL0Col[xColCb][yColCb]和L0。
–否则(predFlagL0Col[xColCb][yColCb]等于1并且
predFlagL1Col[xColCb][yColCb]等于1),进行了以下分配:
–如果NoBackwardPredFlag等于1,mvCol、refIdxCol和listCol被分别设置为等于mvLXCol[xColCb][yColCb]、refIdxLXCol[xColCb][yColCb]和LX。
–否则,mvCol、refIdxCol和listCol被分别设置为等于mvLNCol[xColCb][yColCb]、refIdxLNCol[xColCb][yColCb]和LN,其中N是collocated_from_l0_flag的值。
–否则(sbFlag等于1),以下内容适用:
–如果PredFlagLXCol[xColCb][yColCb]等于1,mvCol、refIdxCol和listCol被分别设置为等于mvLXCol[xColCb][yColCb]、refIdxLXCol[xColCb][yColCb]和LX,availableFlagLXCol被设置为1。
–否则(PredFlagLXCol[xColCb][yColCb]等于0),以下内容适用:
–如果NoBackwardPredFlag等于1并且
PredFlagLYCol[xColCb][yColCb]等于1,则mvCol、refIdxCol、和listCol被分别设置为mvLYCol[xColCb][yColCb]、refIdxLYCol[xColCb][yColCb]和LY,其中Y等于!X,其中X为此过程调用的X的值。
availableFlagLXCol被设置为等于1。
–否则,mvLXCol的两个分量被设置为等于0并且
availableFlagLXCol被设置为等于0。
5.3实施例#3
JVET-O2001-vE中规定的工作草案可以被改变如下。
8.5.6.6.2默认加权样点预测过程
变量shift1、shift2、offset1、offset2、和offset3推导如下:
–变量shift1被设置为等于Max(2,14-bitDepth)并且变量shift2被设置为等于Max(3,15-bitDepth)。
–变量offset1被设置为等于1<<(shift1-1)。
–变量offset2被设置为等于1<<(shift2-1)。
变量offset3被设置为等于1<<(shift2+1[[2]])。
–否则(predFlagL0等于1并且predFlagL1等于1),以下内容适用:
–如果bcwIdx等于0或者ciip_flag[xCb][yCb]等于1,则预测样点值推导如下:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(8-823)
(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>shift2)
–否则(bcwIdx不等于0并且ciip_flag[xCb][yCb]等于0),以下内容适用:
–变量w1被设置为等于bcwWLut[bcwIdx],其中bcwWLut[k]={4,5,3,10,-2}。
–变量w0被设置为等于(8-w1)。
–预测样点值推导如下。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(8-824)
(w0*predSamplesL0[x][y]+w1*predSamplesL1[x][y]+offset3)>>(shift2+[[3]]2))
可替代地,以下内容可以适用:
变量shift1、shift2、offset1、offset2、和offset3推导如下:
–变量shift1被设置为等于Max(2,14-bitDepth)[[并且变量shift2被设置为等于Max(3,15-bitDepth)]]。
–变量offset1被设置为等于1<<(shift1-1)。
–变量offset2被设置为等于1<<(shift1+[[2-]]1)。
变量offset3被设置为等于1<<(shift[[2]]1+2)。
–否则(predFlagL0等于1并且predFlagL1等于1),以下内容适用:
–如果bcwIdx等于0或者ciip_flag[xCb][yCb]等于1,预测样点值推导如下:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(8-823)
(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>(shift1+1)[[2]])
–否则(bcwIdx不等于0并且ciip_flag[xCb][yCb]等于0),以下内容适用:
–变量w1被设置为等于bcwWLut[bcwIdx],其中bcwWLut[k]={4,5,3,10,-2}。
–变量w0被设置为等于(8-w1)。
–预测样点值推导如下。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(8-824)
(w0*predSamplesL0[x][y]+w1*predSamplesL1[x][y]+offset3)>>(shift1+3[[2+3]]))
可替代地,以下内容可以适用:
变量shift1、shift2、offset1、offset2、和offset3推导如下:
–变量shift1被设置等于Max(2,14-bitDepth)并且变量shift2被设置为等于Max(3,15-bitDepth)。
–变量offset1被设置为等于1<<(shift1-1)。
–变量offset2被设置为等于1<<(shift2-1)。
–[[变量offset3被设置为等于1<<(shift2+2)。]]
–否则(predFlagL0等于1并且predFlagL1等于1),以下内容适用:
–如果bcwIdx等于0或者ciip_flag[xCb][yCb]等于1,则预测样点值推导如下:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(8-823)
(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>shift2)
–否则(bcwIdx不等于0并且ciip_flag[xCb][yCb]等于0),以下内容适用:
–变量w1被设置为等于bcwWLut[bcwIdx],其中bcwWLut[k]={4,5,3,10,-2}。
–变量w0被设置为等于(8-w1)。
–预测样点值推导如下。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(8-824)
(w0*((predSamplesL0[x][y]+offset1)>>shift1)+w1*((predSamplesL1[x][y]+offset1)>>shift1)+4)>>(8[[shift2+3)]])
5.4实施例#4
JVET-O2001-vE中指定的工作草案可以被改变如下。
8.5.6.6.2默认加权样点预测过程
–否则(bcwIdx不等于0并且ciip_flag[xCb][yCb]等于0),以下内容适用:
变量w1被设置为等于bcwWLut[bcwIdx],其中bcwWLut[k]={4,5,3,10,2[[-2]]}/{4,5,3,10,1}/{4,3,5,10,2}/{4,3,5,10,1}/{4,5,3,10,-1}.
5.5实施例#5
JVET-O2001-vE中指定的工作草案可以被改变如下。
8.5.2.7Merge运动矢量差的推导过程
mMvdL1[0]=Clip3(-2[[15]]17,2[[15]]17-1,(distScaleFactor*mMvdL0[0]+(8-394)
128-(distScaleFactor*mMvdL0[0]>=0))>>8)
mMvdL1[1]=Clip3(-2[[15]]17,2[[15]]17-1,(distScaleFactor*mMvdL0[1]+(8-395)
128-(distScaleFactor*mMvdL0[1]>=0))>>8)
mMvdL0[0]=Clip3(-2[[15]]17,2[[15]]17-1,(distScaleFactor*mMvdL1[0]+(8-404)
128-(distScaleFactor*mMvdL1[0]>=0))>>8)
mMvdL0[1]=Clip3(-2[[15]]17,2[[15]]17-1,,(distScaleFactor*mMvdL1[1]+(8-405)
128-(distScaleFactor*mMvdL1[1]>=0))>>8))
5.6实施例#6
JVET-O2001-vE中规定的工作草案可以被改变如下。
7.3.8.5编解码单元语法
Figure BDA0003544811710000401
Figure BDA0003544811710000411
5.7实施例#7
JVET-O2001-vE中规定的工作草案可以被改变如下。
8.5.1以帧间预测模式进行编解码的编解码单元的一般解码过程以帧间预测模式进行编解码的编解码单元的解码过程由以下顺序步骤组成:
1.变量dmvrFlag被设置为等于0并且变量hpelIfIdx被设置为等于0。
2.当前编解码单元的运动矢量分量和参考索引推导如下:
–否则,如果MergeTriangleFlag[xCb][yCb]等于1,inter_affine_flag[xCb][yCb]和merge_subblock_flag[xCb][yCb]二者等于0,则使用亮度编解码块位置(xCb,yCb)调用第8.5.4.1节中指定的三角运动矢量分量和参考索引的推导过程,亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,并且亮度运动矢量mvA和mvB、色度运动矢量mvCA和mvCB、参考索引refIdxA和refIdxB以及预测列表标志predListFlagA和predListFlagB,并且半样点插值滤波器索引hpelIfIdxA和hpelIfIdxB作为输出。
3.对于xSbIdx=0..numSbX-1、ySbIdx=0..numSbY-1,解码器侧运动矢量细化之后的亮度和色度运动矢量的阵列(refMvLX[xSbIdx][ySbIdx]和refMvCLX[xSbIdx][ySbIdx],其中X是0和1)推导如下:
4.当前编解码单元的预测样点推导如下:
–如果MergeTriangleFlag[xCb][yCb]等于0,当前编解码单元的预测样点推导如下:
–否则(MergeTriangleFlag[xCb][yCb]等于1),使用亮度编解码块位置(xCb,yCb)调用第8.5.7.1节中指定的三角帧间块的解码过程,亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight、亮度运动矢量mvA和mvB、色度运动矢量mvCA和mvCB、参考索引refIdxA和refIdxB、预测列表标志predListFlagA和predListFlagB,以及半样点插值滤波器索引hpelIfIdxA和hpelIfIdxB作为输入,并且作为预测亮度样点的(cbWidth)x(cbHeight)阵列predSamplesL和预测色度样点的两个(cbWidth/SubWidthC)x(cbHeight/SubHeightC)阵列predSamplesCb和predSamplesCr的帧间预测样点(predSamples)作为输出,一个对于色度分量Cb and Cr的每一个。
8.5.4三角运动矢量分量和参考索引的推导过程
8.5.4.1总则
此过程的输入:
–当前亮度编解码块的左侧顶部样点相对于当前图片的左侧顶部亮度样点的亮度位置(xCb,yCb),
–指定亮度样点中的当前编解码块的宽度的变量cbWidth,
–指定亮度样点中的当前编解码块的高度的变量cbHeight。
此过程的输出为:
–1/16分数样点准确性的亮度运动矢量mvA和mvB,
–1/32分数样点准确性的色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB[[.]],
–半样点插值滤波器索引hpelIfIdxA和hpelIfIdxB。
使用亮度位置(xCb,yCb)调用第8.5.4.2节中指定的三角Merge模式的亮度运动矢量的推导过程,变量cbWidth和cbHeight作为输入,并且输出为亮度运动矢量mvA、mvB,参考索引refIdxA、refIdxB以及预测列表标志predListFlagA和predListFlagB。
调用第8.5.2.13节中的色度运动矢量的推导过程,其中mvA和refIdxA作为输入,并且输出为mvCA。
调用第8.5.2.13节中的色度运动矢量的推导过程,其中mvB和refIdxBas作为输入,并且输出为mvCB。
8.5.4.2Merge三角模式的亮度运动矢量的推导过程
仅当MergeTriangleFlag[xCb][yCb]等于1时调用此过程,其中(xCb,yCb)指定相对于当前图片的左上顶部的亮度样点的当前亮度编解码块的左上顶部的样点。
此过程的输入为:
–相对于当前图片的左上顶部的亮度样点的当前亮度编解码块的左上顶部的样点的亮度位置(xCb,yCb),
–指定亮度样点中的当前编解码块的宽度的变量cbWidth,
–指定亮度样点中的当前编解码块的高度的变量cbHeight。
此过程的输出为:
–以1/16分数样点准确性mvA和mvB的亮度运动矢量,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB[[.]],
–半样点插值滤波器索引hpelIfIdxA和hpelIfIdxB。
通过以下顺序步骤导出运动矢量mvA和mvB、参考索引refIdxA和refIdxB以及预测列表标志predListFlagA和predListFlagB:
1.调用第8.5.2.2节中指定的Merge模式的亮度运动矢量的推导过程,其中亮度位置(xCb,yCb)、变量cbWidth和cbHeight作为输入,并且输出为mvL0[0][0]、mvL1[0][0]、参考索引refIdxL0、refIdxL1、预测列表使用标志predFlagL0[0][0]和predFlagL1[0][0]、双向预测权重索引bcwIdx以及merging候选列表mergeCandList。
2.使用merge_triangle_idx0[xCb][yCb]和merge_triangle_idx1[xCb][yCb]导出分别作为三角分区0和1的merge索引的变量m和n,导出过程如下:
m=merge_triangle_idx0[xCb][yCb] (8-475)
n=merge_triangle_idx1[xCb][yCb]+(merge_triangle_idx1[xCb][yCb]>=m)?1:0 (8-476)
3.令refIdxL0M和refIdxL1M、predFlagL0M和predFlagL1M、以及mvL0M和mvL1M作为参考索引、预测列表使用标志以及在merging候选列表mergeCandList中的位置m处的merging候选M的运动矢量(M=mergeCandList[m])。
4.变量X被设置为等于(m&0x01)。
5.当predFlagLXM等于0时,X被设置为等于(1-X)。
6.以下内容适用:
mvA[0]=mvLXM[0] (8-477)
mvA[1]=mvLXM[1] (8-478)
refIdxA=refIdxLXM (8-479)
predListFlagA=X (8-480)
hpelIfIdxA=hpelIfIdxM
(8-xxx)
7.令refIdxL0N和refIdxL1N、predFlagL0N和predFlagL1N、以及mvL0N和mvL1N作为参考索引、预测列表使用标志以及在merging候选列表mergeCandList中的位置m处的merging候选N的运动矢量(N=mergeCandList[n])。
8.变量X被设置为等于(n&0x01)。
9.当predFlagLXN等于0时,X被设置为等于(1-X)。
10.以下内容适用:
mvB[0]=mvLXN[0] (8-481)
mvB[1]=mvLXN[1] (8-482)
refIdxB=refIdxLXN (8-483)
predListFlagB=X (8-484)
hpelIfIdxB=hpelIfIdxN
(8-xxx)
8.5.7三角帧间块的解码过程
8.5.7.1总则
当对MergeTriangleFlag[xCb][yCb]等于1的编解码单元进行解码时,调用此过程。
此过程的输入为:
–指定相对于当前图片的左上顶部亮度样点的当前编解码块的左上顶部样点的亮度位置(xCb,yCb),
–指定亮度样点中的当前编解码块的宽度的变量cbWidth,
–指定亮度样点中的当前编解码块的高度的变量cbHeight,
–以1/16分数样点准确性mvA和mvB的亮度运动矢量,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB[[.]],
–半样点插值滤波器索引hpelIfIdxA和hpelIfIdxB。
此过程的输出为:
–亮度预测样点的(cbWidth)×(cbHeight)阵列predSamplesL
–分量Cb的色度预测样点的(cbWidth/SubWidthC)×(cbHeight/SubHeightC)阵列predSamplesCb
–分量Cr的(cbWidth/SubWidthC)×(cbHeight/SubHeightC)阵列predSamplesCr
令predSamplesLAL和predSamplesLBL作为预测亮度样点值的(cbWidth)×(cbHeight)阵列并且predSamplesLACb、predSamplesLBCb、predSamplesLACr和predSamplesLBCr作为预测色度样点值的(cbWidth/SubWidthC)x(cbHeight/SubHeightC)阵列。
通过以下顺序步骤导出predSamplesL、predSamplesCb和predSamplesCr:1.对于N是A和B中的每一个,以下内容适用:
–通过调用第8.5.6.2节中指定的过程导出由亮度样点的两个有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr组成的参考图片,其中被设置为等于predListFlagN的X和被设置为等于refIdxN的refIdxX作为输入。
–通过调用第8.5.6.3节中指定的分数样点插值过程导出阵列predSamplesLNL,其中,亮度位置(xCb,yCb)、被设置为等于cbWidth的亮度编解码块宽度sbWidth、被设置为等于cbHeight的亮度编解码块高度sbHeight、被设置为等于(0,0)的运动矢量偏移mvOffset、被设置为等于mvN的运动矢量mvLX以及被设置为等于refPicLNL的参考阵列refPicLXL、被设置为等于假的变量bdofFlag、hpelIfIdxN、以及被设置为等于0的变量cIdx作为输入。
–通过调用第8.5.6.3节中指定的分数样点插值过程导出阵列predSamplesLNCb,其中,亮度位置(xCb,yCb)、被设置为等于cbWidth/SubWidthC的编解码块宽度sbWidth、被设置为等于cbHeight/SubHeightC的编解码块高度sbHeight、被设置为等于(0,0)的运动矢量偏移mvOffset、被设置为等于mvCN的运动矢量mvLX、以及被设置为等于refPicLNCb的参考阵列refPicLXCb、被设置为等于假的变量bdofFlag、hpelIfIdxN、以及被设置为等于1的变量cIdx作为输入。
–通过调用第8.5.6.3节中指定的分数样点插值过程导出阵列predSamplesLNCr,其中,亮度位置(xCb,yCb)、被设置为等于cbWidth/SubWidthC的编解码块宽度sbWidth、被设置为等于cbHeight/SubHeightC的编解码块高度sbHeight、被设置为等于(0,0)的运动矢量偏移mvOffset、被设置为等于mvCN的运动矢量mvLX、以及被设置为等于refPicLNCr的参考阵列refPicLXCr、被设置为等于假的变量bdofFlag、hpelIfIdxN、以及被设置为等于2的变量cIdx作为输入。
2.Merge三角模式变量triangleDir的分割方向被设置为等于Merge_triangle_split_dir[xCb][yCb].
3.通过调用第8.5.7.2节中指定的三角Merge模式的加权样点预测过程导出当前亮度编解码块内的预测样点predSamplesL[xL][yL](其中xL=0..cbWidth-1并且yL=0..cbHeight-1),其中,被设置为等于cbWidth的编解码块宽度nCbW、被设置为等于cbHeight的编解码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、以及变量triangleDir、以及被设置为等于0的变量cIdx作为输入。
4.通过调用第8.5.7.2节中指定的三角Merge模式的加权样点预测过程导出当前色度分量Cb编解码块内的预测样点predSamplesCb[xC][yC](其中xC=0..cbWidth/SubWidthC-1并且yC=0..cbHeight/SubHeightC-1),其中,被设置为等于cbWidth/SubWidthC的编解码块宽度nCbW、被设置为等于cbHeight/SubHeightC的编解码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、以及变量triangleDir、以及被设置为等于1的变量cIdx作为输入。
5.通过调用第8.5.7.2节中指定的三角Merge模式的加权样点预测过程导出当前色度分量Cr编解码块内的预测样点predSamplesCr[xC][yC](其中xC=0..cbWidth/SubWidthC-1并且yC=0..cbHeight/SubHeightC-1),其中,被设置为等于cbWidth/SubWidthC的编解码块宽度nCbW、被设置为等于cbHeight/SubHeightC的编解码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、以及变量triangleDir、以及被设置为等于2的变量cIdx作为输入。
6.调用第8.5.7.3节中指定的存储Merge三角模式的过程的运动矢量,其中,亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth、亮度编解码块高度cbHeight、分割方向triangleDir、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB、以及预测列表标志predListFlagA和predListFlagB、以及半样点插值滤波器索引hpelIfIdxA和hpelIfIdxB作为输入。
8.5.7.3存储三角Merge模式的过程的运动矢量
当对MergeTriangleFlag[xCb][yCb]等于1的编解码单元进行解码时调用此过程。
此过程的输入为:
–指定相对于当前图片的左上顶部亮度样点的当前编解码块的左上样点的亮度位置(xCb,yCb),
–指定亮度样点中的当前编解码块的宽度的变量cbWidth,
–指定亮度样点中的当前编解码块的高度的变量cbHeight,
–指定分割方向的变量triangleDir,
–以1/16分数样点准确性mvA和mvB的亮度运动矢量,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB[[.]],
–半样点插值滤波器索引hpelIfIdxA和hpelIfIdxB。
指定水平和垂直方向上的当前编解码块的4×4块的数量的变量numSbX和numSbY被设置为等于numSbX=cbWidth>>2和numSbY=cbHeight>>2。
变量minSb被设置为等于Min(numSbX,numSbY)-1。
变量cbRatio推导如下:
cbRatio=(cbWidth>cbHeight)?(cbWidth/cbHeight):(cbHeight/cbWidth)(8-848)
对于子块索引(xSbIdx,ySbIdx)处的每个4×4子块(其中xSbIdx=0..numSbX-1,并且ySbIdx=0..numSbY-1),以下内容适用:
–变量xIdx和yIdx推导如下:
xIdx=(cbWidth>cbHeight)?(xSbIdx/cbRatio):xSbIdx (8-849)
yIdx=(cbWidth>cbHeight)?ySbIdx:(ySbIdx/cbRatio) (8-850)
–变量sType推导如下:
–如果triangleDir等于0,则以下内容适用:
sType=(xIdx==yIdx)?2:((xIdx>yIdx)?0:1)(8-851)
–否则(triangleDir等于1),以下内容适用:
sType=(xIdx+yIdx==minSb)?2:((xIdx+yIdx<minSb)?0:1)(8-852)
–取决于sType的值,进行了以下分配:
–如果sType等于0,则以下内容适用:
predFlagL0=(predListFlagA==0)?1:0
(8-853)
predFlagL1=(predListFlagA==0)?0:1
(8-854)
refIdxL0=(predListFlagA==0)?refIdxA:-1 (8-855)
refIdxL1=(predListFlagA==0)?-1:refIdxA (8-856)
mvL0[0]=(predListFlagA==0)?mvA[0]:0 (8-857)
mvL0[1]=(predListFlagA==0)?mvA[1]:0 (8-858)
mvL1[0]=(predListFlagA==0)?0:mvA[0] (8-859)
mvL1[1]=(predListFlagA==0)?0:mvA[1] (8-860)
hpelIfIdx=hpelIfIdxA (8-xxx)
–否则,如果sType等于1或者(sType等于2并且predListFlagA+predListFlagB不等于1),则以下内容适用:
predFlagL0=(predListFlagB==0)?1:0(8-861)
predFlagL1=(predListFlagB==0)?0:1(8-862)
refIdxL0=(predListFlagB==0)?refIdxB:-1 (8-863)
refIdxL1=(predListFlagB==0)?-1:refIdxB (8-864)
mvL0[0]=(predListFlagB==0)?mvB[0]:0 (8-865)
mvL0[1]=(predListFlagB==0)?mvB[1]:0 (8-866)
mvL1[0]=(predListFlagB==0)?0:mvB[0] (8-867)
mvL1[1]=(predListFlagB==0)?0:mvB[1] (8-868)
hpelIfIdx=hpelIfIdxB (8-xxx)
–否则(sType等于2并且predListFlagA+predListFlagB等于1),则以下内容适用:
predFlagL0=1 (8-869)
predFlagL1=1 (8-870)
refIdxL0=(predListFlagA==0)?refIdxA:refIdxB (8-871)
refIdxL1=(predListFlagA==0)?refIdxB:refIdxA (8-872)
mvL0[0]=(predListFlagA==0)?mvA[0]:mvB[0] (8-873)
mvL0[1]=(predListFlagA==0)?mvA[1]:mvB[1] (8-874)
mvL1[0]=(predListFlagA==0)?mvB[0]:mvA[0] (8-875)
mvL1[1]=(predListFlagA==0)?mvB[1]:mvA[1] (8-876)
hpelIfIdx=hpelIfIdxA&&hpelIfIdxB (8-xxx)
–对于x=0..3和y=0..3进行以下分配:
MvL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL0 (8-877)
MvL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL1 (8-878)
RefIdxL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL0 (8-879)
RedIdxL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL1 (8-880)
PredFlagL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL0 (8-881)
PredFlagL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL1 (8-882)
hpelIfIdx[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=hpelIfIdx (8-xxx)
图14A是视频处理设备1400的框图。设备1400可以用于实施本文所描述的一种或多种方法。设备1400可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。设备1400可以包括一个或多个处理器1402、一个或多个存储器1404和视频处理硬件1406。处理器1402可以被配置为实施本文档中描述的一个或多个方法(包括但不限于方法800、900、1000、1100、1200和1300)。一个或多个存储器1404可以用于存储用于实施本文所描述的方法和技术的数据和代码。视频处理硬件1406可以用于在硬件电路中实施本文档中描述的一些技术。
图14B是示出示例视频处理***1410的框图,其中,可以实施本文所公开的各种技术。各种实施方式可以包括***1410的部分或全部组件。***1410可以包括用于接收视频内容的输入1412。视频内容可以以原始或未压缩格式(例如,8或10位多分量像素值)接收,或者可以以压缩或编码格式接收。输入1412可以表示网络接口、***总线接口或存储接口。网络接口的示例包括有线接口,例如以太网、无源光学网络(PON)等,以及无线接口,例如Wi-Fi或蜂窝接口。
***1410可以包括编解码组件1414,其可以实施本文档中描述的各种编解码或编码方法。编解码组件1414可以将视频的平均比特率从输入1412降低到编解码组件1414的输出,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1414的输出可以被存储,或者经由所连接的通信来传输,如由组件1416表示的。在输入1412处接收的视频的存储或传送的比特流(或编码的)表示可以由组件1418用于生成像素值或发送到显示接口1420的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但将理解的是,在编码器处使用编解码工具或操作,并且对应的反转编码的结果的解码工具或操作将由解码器执行。
***总线接口或显示接口的示例可以包括通用串行总线(USB)或高清多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,例如移动电话、膝上型计算机、智能手机或能够执行数字数据处理和/或视频显示的其它设备7。
在一些实施例中,视频编解码方法可以使用如关于图14A或图14B描述的实施在硬件平台上的装置来实施。
以下列表提供了可以解决本文档中描述的技术问题以及其它问题的实施例。第一组条款描述了前一部分中的公开的技术的某些特征和方面。
1.一种用于处理视频的方法,包括:基于并置视频块相对于当前视频块的预测模式,确定一个或多个并置运动矢量的可用性;以及基于一个或多个并置运动向量执行当前块和当前块的比特流表示之间的转换,其中,预测模式的指示包括一个比特,该比特指示当前视频块是以帧间模式还是非帧间模式编解码的。
2.一种用于处理视频的方法,包括:为在视频块的编解码表示和视频块之间的转换,确定视频块的并置视频块的类型,其中,该类型仅取两个可能值中的一个;以及基于该确定执行该转换。
3.根据条款1所述的方法,其中,两个可能的值包括指示并置视频块是帧间编解码的第一值,以及指示并置视频块是使用除了帧间编解码的模式进行编解码的第二值。
4.根据条款1至3中任一项所述的方法,其中,当使用调色板预测模式对当前视频块进行编解码时,以及当使用块内预测模式或帧内块复制(IBC)预测模式对当前视频块进行编解码时,确定是相同的。
5.根据条款1至3中的任一项所述的方法,其中,当使用非帧间预测模式对并置视频块进行编解码时,一个或多个并置运动矢量被确定为不可用。
6.根据条款1至3中的任一项所述的方法,其中,当使用非帧间预测模式对并置视频块进行编解码时,一个或多个并置运动矢量被确定为不可用并且包括默认运动矢量。
7.根据条款5或6所述的方法,其中,非帧间预测模式是帧内预测模式、调色板预测模式或帧内块复制(IBC)预测模式。
8.根据条款1至3中的任一项所述的方法,其中,确定基于参考索引或并置视频块的参考列表。
9.根据条款8所述的方法,其中,参考索引是预先确定的值。
10.根据条款8所述的方法,其中,参考索引不包括预先确定的值。
11.根据条款9或10所述的方法,其中,预先确定的值为0。
12.一种用于视频处理的方法,包括:基于与具有编解码单元(CU)级权重的双向预测模式(BCW)过程相关联的第一权重表,导出当前块的预测样点,其中,第一权重表是非对称的;以及基于预测样点,执行当前块和当前块的比特流表示之间的转换。
13.根据条款12所述的方法,其中,第一权重表中的条目是非单调递增的。
14.根据条款12所述的方法,其中,BCW过程进一步基于与第一权重表不同的第二权重表。
15.根据条款12所述的方法,其中,导出预测样点包括:将中间预测样点转换为第一位深度;将来自第一权重表的权重应用到中间预测样点以导出预测样点;以及将预测样点转换为第二位深度。
16.根据条款15所述的方法,其中,第二位深度是当前视频块的颜色分量的位深度。
17.一种用于视频处理的方法,包括:基于当前视频块的尺寸,作出关于当前视频块的比特流表示中的当前视频块的跳过模式编解码的指示的选择性信令的决策;以及基于决策执行当前块和当前块的比特流表示之间的转换。
18.根据条款17所述的方法,其中,在确定包括当前视频块的条带类型是I条带、sps_ibc_enabled_flag被设置为真、以及当前视频块的高度和宽度小于或等于N时,信令通知该指示。
19.根据条款17所述的方法,其中,在确定当前视频块是使用帧内块复制(IBC)模式进行编解码并且当前视频块的高度和宽度小于或等于N时,信令通知该指示。
20.根据条款18或19所述的方法,其中,N=64。
21.一种用于视频处理的方法,包括:基于将第一编解码工具应用到当前视频块的第一颜色分量中的一个或多个块,作出关于将第二编解码工具选择性应用于当前视频块的第二颜色分量的至少一个块的决策;以及基于决策执行当前块和当前块的比特流表示之间的转换。
22.根据条款21所述的方法,其中,在确定第二编解码工具与第一编解码工具相等时,应用第二编解码工具。
23.根据条款21所述的方法,其中,在确定第二编解码工具与第一编解码工具不同时,不应用第二编解码工具。
24.根据条款21所述的方法,其中,决策进一步基于比特流表示中的指示。
25.根据条款21至24中的任一项所述的方法,其中,第一颜色分量是亮度分量并且第二颜色分量是色度分量。
26.根据条款21至24中的任一项所述的方法,其中,第一颜色分量是第一色度颜色分量并且第二颜色分量是第二色度颜色分量。
27.根据条款21至26中的任一项所述的方法,其中,第一编解码工具和第二编解码工具是时域运动矢量预测(TMVP)的一个,可选时域运动矢量预测(ATMVP)、具有编解码单元(CU)级权重的双向预测(BCW)过程、具有运动矢量差的Merge模式(MMVD)或位置系相关的预测组合(PDPC)过程。
28.一种用于视频处理的方法,包括:基于当前视频块中的运动矢量的决策,作出关于用于使用可选半像素插值滤波器而不是默认半像素插值滤波器的指示的可选择信令的决策;以及基于该决策执行当前块和当前块的比特流表示之间的转换。
29.根据条款28所述的方法,其中,在确定当前视频块是使用具有运动矢量差的Merge模式(MMVD)进行编解码并且重构运动矢量的精度小于半像素时,使用默认半像素插值滤波器。
30.根据条款1至9中的任一项所述的方法,其中,执行转换进一步基于以下各项中的信令:解码器参数集(DPS)、序列参数集(SPS)、图片参数集(PPS)、适应性参数集(APS)、视频参数集(VPS)、序列标头、图片标头、条带标头或片组标头。
31.根据条款1至30中的任一项所述的方法,其中,执行转换包括根据当前视频块生成比特流表示。
32.根据条款1至30中的任一项所述的方法,其中,执行转换包括根据比特流表示生成当前视频块。
33.一种视频解码装置,包括被配置为实施根据条款1至32中的任一项所述的方法的处理器。
34.一种计算机程序产品,其上存储有非暂时性计算机可读介质,计算机程序产品包括用于执行根据条款1至32中的任一项所述的方法的程序代码。
第二组条款描述了前一部分中公开的技术的特定特征和方面(例如,示例项目8至13和21)。
1.一种用于视频处理的方法(例如,图21A所示的方法2110),包括:执行(2112)视频的视频块和视频的编解码表示之间的转换,其中,编解码表示符合格式规则,该格式规则指定基于视频块的尺寸在编解码表示中选择性地包括视频块的跳过模式编解码的指示,其中,跳过模式编解码允许在不生成视频块的残差或不编解码视频块的残差的情况下执行转换。
2.如条款1所述的方法,其中,尺寸包括视频块的高度和宽度。
3.如条款1所述的方法,其中,格式规则指定进一步基于以下各项中的至少一个选择性地包括指示:包括视频块的条带的条带类型或sps_ibc_enabled_flag。
4.如条款1所述的方法,其中,规则指定如果在以下条件中满足至少一个条件,则指示被包括在编解码表示中:1)包括视频块的条带的条带类型属于I-条带,2)sps_ibc_enabled_flag被设置为真,3)视频块的高度和宽度小于或等于N,此处N为整数;或者4)视频块是使用帧内块复制(IBC)模式进行编解码的。
5.如条款4所述的方法,其中,至少一个条件包括:条带类型属于I-条带,sps_ibc_enabled_flag被设置为真,或者视频块的高度和宽度小于或等于N,此处N为整数。
6.如条款4所述的方法,其中,至少一个条件包括:视频块是使用帧内块复制(IBC)模式进行编解码的;或者视频块的高度和宽度小于或等于N,此处N为整数。
7.如条款4至6中的任一项所述的方法,其中,N=64。
8.如条款4所述的方法,其中,至少一个条件不包括对应于sps_palette_enabled_flag的条件。
9.一种用于视频处理的方法(例如,图21B所示的方法2120),包括:为视频的视频块与视频的编解码表示之间的转换,基于特定编解码工具是否应用于作为视频的第二颜色分量的一个或多个对应视频块,确定(2122)特定编解码工具对于作为视频的第一颜色分量的视频块的适用性;以及基于确定执行(2124)转换。
10.如条款9所述的方法,其中,该确定确定如果特定编解码工具应用于一个或多个对应视频块,则禁用特定编解码工具。
11.如条款9所述的方法,其中,该确定确定如果特定编解码工具不同于应用于一个或多个对应视频块的编解码工具,则禁用特定编解码工具。
12.如条款9所述的方法,其中,基于特定编解码工具是否应用于一个或多个对应视频块,选择性地信令通知指示特定编解码工具对于视频块的适用性的消息。
13.如条款9所述的方法,其中,该确定确定如果特定编解码工具应用于一个或多个对应视频块,则禁用特定编解码工具且无需信令通知。
14.如条款9所述的方法,其中,特定编解码工具被不同地应用于视频的不同颜色分量。
15.如条款14所述的方法,其中,信令通知如何将特定编解码工具应用于视频的亮度分量和色度分量。
16.如条款9至15中的任一项所述的方法,其中,第一颜色分量是色度颜色分量,并且第二颜色分量是亮度颜色分量。
17.如条款9至15中的任一项所述的方法,其中,第一颜色分量是第一色度颜色分量,并且第二颜色分量是第二色度颜色分量。
18.如条款9至15中的任一项所述的方法,其中,第一颜色分量是亮度颜色分量,并且第二颜色分量是色度颜色分量。
19.如条款9至18中的任一项所述的方法,其中,一个或多个对应视频块覆盖视频块的至少一个对应的样点。
20.如条款19所述的方法,其中,根据视频的颜色格式缩放至少一个对应的样点的位置。
21.如条款19或20所述的方法,其中,至少一个对应的样点位于(x0,y0)、(x0+W-1,y0+H-1)、(x0+W/2-1,y0+H/2-1)、(x0+W/2,y0+H/2)、(x0+W/2,y0+H/2-1)、或者(x0+W/2-1,y0+H/2),以及其中,视频块的左上方的位置是(x0,y0),并且视频块的宽度和高度分别为W和H。
22.如条款9至21中的任一项所述的方法,其中,特定编解码工具是以下各项中的一种:时域运动矢量预测(TMVP)、可替代时域运动矢量预测(ATMVP)、具有编解码单元(CU)级加权的双向预测(BCW)过程、具有运动矢量差的Merge模式(MMVD)或位置相关的预测组合(PDPC)过程。
23.一种用于视频处理的方法(例如,图21C所示的方法2130),包括:对于视频的色度视频块与视频的编解码表示之间的转换,确定(2132)由于对应的亮度块使用特定编解码模式进行编解码而不允许用于对色度视频块进行编解码的位置相关帧内预测组合(PDPC)方法;以及基于确定执行(2134)转换,其中,PDPC方法将邻近样点与色度视频块的预测信号进行组合以生成色度视频块的细化预测信号。
24.如条款23所述的方法,其中,特定编解码模式对应于基于矩阵的帧内预测(MIP)模式。
25.如条款23所述的方法,其中,特定编解码模式对应于多个参考线(MRL)模式。
26.一种用于视频处理的方法,包括:执行视频的视频块与视频的编解码表示之间的转换,其中,编解码表示符合格式规则,该格式规则指定视频块满足的编解码条件以包括设置为假的指示,该指示指示使用可选半像素插值滤波器而不是默认半像素插值滤波器。
27.如条款26所述的方法,其中,如果编解码表示包括被设置为假的指示,则默认半像素插值滤波器用于转换。
28.如条款26所述的方法,其中,格式规则指定指示基于视频块中的运动矢量的精度而被设置为假。
29.如权利要求26至28中的任一项所述的方法,其中,格式规则指定如果视频块使用具有运动矢量差的Merge模式(MMVD)进行编解码以及重构运动信息具有比半像素精度更高的运动矢量分量,则指示被设置为假。
30.如条款26至28中的任一项所述的方法,其中,格式规则指定对于具有比半像素精度更高的运动矢量分量的成对Merge候选,指示被设置为假。
31.如条款26至28中的任一项所述的方法,其中,如果重构双向预测运动信息被转换为具有比半像素精度更高的运动矢量分量的单向预测运动信息,则指示被设置为假。
32.如条款26至28中的任一项所述的方法,其中,格式规则指定指示总是为假。
33.如条款26至28中的任一项所述的方法,其中,格式规则指定对于使用具有运动矢量差的Merge模式(MMVD)进行编解码的视频块,指示总是被设置为假。
34.如条款26至28中的任一项所述的方法,其中,格式规则指定如果特定运动矢量差被选择用于转换,则对于使用具有运动矢量差的Merge模式(MMVD)进行编解码的视频块,指示总是被设置为假。
35.如条款34所述的方法,其中,特定运动矢量差具有1/4像素精度。
36.如条款26或27所述的方法,其中,格式规则指定对于成对Merge候选,指示总是被设置为假。
37.如条款26或27所述的方法,其中,格式规则指定如果重构双向预测运动信息被转换为单向预测运动信息,则指示总是被设置为假。
38.如条款32至37中的任一项所述的方法,其中,格式规则用于指示双向编解码单元级加权(BCW)过程的使用。
39.如条款26或27所述的方法,其中,格式规则指定如果视频块具有比半像素精度更高的至少N个运动矢量分量,则指示被设置为假,此处N为整数。
40.如条款39所述的方法,其中,格式规则指定如果视频块是使用具有运动矢量差的Merge模式(MMVD)进行编解码的以及重构运动信息具有比半像素精度更高的至少N个运动矢量分量,则指示被设置为假。
41.如条款39所述的方法,其中,格式规则指定对于具有比半像素精度更高的至少N个运动矢量分量的成对Merge候选,指示被设置为假。
42.如条款39所述的方法,其中,格式规则指定如果重构双向预测运动信息被转换为具有比半像素精度更高的至少N个运动矢量分量的单向预测运动信息,则指示被设置为假。
43.如条款39至42中的任一项所述的方法,其中,N取决于视频块是单向预测的还是双向预测的。
44.如条款39至42中的任一项所述的方法,其中,无论视频块是单向预测的还是双向预测的,N都是相同的。
45.如条款26至44中的任一项所述的方法,其中,被设置为假的指示被存储并用于另一个视频块。
46.一种用于视频处理的方法,包括:根据规则执行视频的视频块和视频的编解码表示之间的转换,其中,基于视频块的多个分区的预测矢量的加权平均生成视频块的预测矢量,其中,按角度分割至少一个分区,以及其中,规则规定为在确定预测矢量时对半像素位置处的样点值进行插值使用可选半像素插值滤波器。
47.如条款46所述的方法,其中,从Merge候选继承指示可选半像素插值滤波器的使用的指示。
48、如条款46所述的方法,其中,从以下各项继承指示可选半像素插值滤波器的使用的指示:空域候选、TMVP(时域运动矢量预测)候选、HMVP(基于历史的运动矢量预测)候选和/或成对候选。
49.如条款48所述的方法,其中,何时从成对候选继承指示取决于hPelIf1和/或hPelIf2,其中,hPelIf1和hPelIf2分别是成对候选之中的第一候选和第二候选的指示。
50.如条款46所述的方法,其中,对于使用几何预测模式进行编解码的视频块,指示可选半像素插值滤波器的使用的指示被设置为真。
51.如条款46所述的方法,其中,规则进一步指定在单个分区或多个分区的运动补偿过程中使用可选半像素插值滤波器。
52.如条款46所述的方法,其中,在运动场存储的过程期间,为一个或多个运动场存储指示可选半像素插值滤波器的使用的一个或多个指示。
53.如条款52所述的方法,其中,为视频块的所有4×4单元存储关于可选半像素插值滤波器的使用的相同指示。
54.如条款53所述的方法,其中,相同指示被设置为假、(hPelIfPart1&&hPelIfPart2)或(hPelIfPart1||hPelIfPart2),其中,hPelIfPart1和hPelIfPart2分别对应于将可选半像素插值滤波器用于视频块的第一分区和第二分区的指示。
55.如条款52所述的方法,其中,为包括4×4单元的视频块的不同分区存储关于可选半像素插值滤波器的使用的不同指示。
56.如条款55所述的方法,其中,不同指示包括针对视频块的X分区中的一些4×4单元设置为hPelIfPartX的指示,其中,hPelIfPartX对应于关于为X分区使用可选半像素插值滤波器的指示,并且X为1或2。
57.如条款55所述的方法,其中,不同指示包括针对视频块的加权区域中的一些4×4单元设置为(hPelIfPart1&&hPelIfPart2)、(hPelIfPart1||hPelIfPart2)、hPelIfPart1、或hPelIfPart2的指示,其中,hPelIfPart1 and hPelIfPart2分别对应于关于为视频块的第一分区和第二分区使用可选半像素插值滤波器的指示。
58.一种用于视频处理的方法,包括:根据规则执行在视频的视频块和视频的编解码表示之间的转换,其中,规则指定基于与Merge列表中存在的一个或多个运动候选相关联的信息,指定关于应用于将被添加到Merge列表的运动矢量预测候选的编解码条件的指示。
59.如条款58所述的方法,其中,运动矢量预测候选对应于时域运动矢量预测(TMVP)候选,该时域运动矢量预测(TMVP)候选用于基于视频的并置视频块的运动信息预测视频块的运动信息。
60.如条款58所述的方法,其中,运动矢量预测候选对应于基于子块的时域运动矢量预测(SbTMVP),该基于子块的时域运动矢量预测(SbTMVP)用于基于视频块的并置视频块的运动信息预测视频块的子块的运动信息。
61.如条款58或59所述的方法,其中,一个或多个运动候选对应于一个或多个空域Merge候选。
62.如条款59或60所述的方法,其中,一个或多个运动候选包括第一空域Merge候选,并且其中,规则指定关于为TMVP候选或SbTMVP候选使用可选半像素插值滤波器的指示被设置为等于关于为第一空域Merge候选使用可选半像素插值滤波器的指示。
63.如条款59或60所述的方法,其中,一个或多个运动候选包括第一空域Merge候选,并且其中,规则指定TMVP候选或SbTMVP候选的双向编解码单元级加权(BCW)索引被设置为等于第一空域Merge候选的BCW索引。
64.如条款59或60所述的方法,其中,一个或多个候选包括作为左空域Merge候选的第一空域Merge候选。
65.如条款59所述的方法,其中,规则进一步指定关于为TMVP候选使用可选半像素插值滤波器和/或为TMVP候选使用双向编解码单元级加权(BCW)索引的指示依赖于与一个或多个运动候选相关联的信息。
66.一种用于视频处理的方法(例如,图21D所示的方法2140),包括:基于视频块的邻近块的运动信息,根据规则为视频的视频块与视频的编解码表示之间的转换,确定(2142)使用仿射Merge模式进行编解码的视频块的控制点的控制点运动矢量;以及基于确定执行转换(2144),其中,规则指定关于将可选半像素插值滤波器用于视频块的指示被设置为等于邻近块中的运动矢量的指示。
67.如条款66所述的方法,其中,确定基于邻近块中的运动矢量确定位于视频块的左上顶部角、右上顶部角或左下底部角的控制点运动矢量。
68.一种用于视频处理的方法,包括:根据规则执行在视频的视频块和视频的编解码表示之间的转换,其中,规则指定如果使用从视频块的邻近块继承的仿射Merge模式对视频块进行编解码,则从邻近块继承关于将可选半像素插值滤波器用于视频块的指示。
69、一种用于视频处理的方法(例如,如图21E所示的方法2150),包括:通过在Merge候选重构过程期间根据规则检查Merge候选来推导(2152)视频的视频块的运动信息;以及,执行在视频块和视频的编解码表示之间的转换,其中,规则指定如果进行比较的两个Merge候选的可选半像素插值滤波器的使用的指示不相同,则两个Merge候选在候选重构过程期间被认为不相同。
70.如条款1至69中的任一项所述的方法,其中,执行转换进一步基于以下各项中的信令:解码器参数集(DPS)、序列参数集(SPS)、图片参数集(PPS)、适应性参数集(APS)、视频参数集(VPS)、序列标头、图片标头、条带标头或片组标头。
71.如条款1至70中的任一项所述的方法,其中,转换包括将编解码表示编码为编解码表示。
72.如条款1至70中的任一项所述的方法,其中,转换包括对编解码表示进行解码以生成视频。
73.一种视频处理装置,包括被配置为实施根据条款1至72中的任意一项或多项所述的方法的处理器。
74.一种存储程序代码的计算机可读介质,该程序代码当被执行时使得处理器实施根据权利要求1-72中的任意一项或多项所述的方法。
75.一种计算机可读介质,该计算机可读介质存储根据上面描述的方法中的任一项生成的编解码表示或比特流表示。
根据上述内容,将理解的是,出于说明的目的,本文已经描述了当前公开的技术的特定实施例,但是可以在不偏离本发明的范围的情况下进行各种修改。因此,当前公开的技术不受所附权利要求的限制。
本专利文档中描述的主题和功能操作的实施方式可以在各种***、数字电子电路或计算机软件、固件或硬件中实施,包括在本说明书中公开的结构及其结构等同物,或其中一种或多种的组合。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序产品,即,编码在有形且非暂时性的计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合物、或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,这些装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或其中的一个或多个的组合的代码。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立的程序或作为模块、组件、子例程或其它适合在计算环境中使用的单元。计算机程序不一定对应于文件***中的文件。程序可以被存储在包含其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以部署计算机程序以在一台计算机或多台计算机上执行,多台计算机位于一个站点或分布在多个站点并通过通信网络互连。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括,例如,通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或二者中接收指令和数据。计算机的基本元件是用于执行指令的处理器和一个或多个用于存储指令和数据的存储设备。通常,计算机还将包括或被可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传输数据或二者。然而,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备。处理器和存储器可以由专用逻辑电路补充或被结合在专用逻辑电路中。
旨在将说明书连同附图仅视为示例性的,其中示例性意味着示例。如本文所用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。另外地,除非上下文另有明确说明,否则“或者”的使用旨在包括“和/或”。
尽管本专利文档包含许多细节,但这些不应当被解释为对任何发明的范围或可能要求保护的内容的限制,而是对可能特定于特定的发明的特定的实施例的特征的描述。在单独实施例的上下文中的在本专利文档中描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管特征可以在上文被描述为在某些组合中起作用,并且甚至最初如此要求保护,但在一些情况下,来自要求保护的组合的一个或多个特征可以从组合中去除,并且要求保护的组合可以针对子组合或子组合的变体。
类似地,尽管在附图中以特定的顺序描绘了操作,但这不应当被理解为要求以所示的特定的顺序或以序列顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。此外,本专利文档中描述的实施例中的各种***组件的分离不应当被理解为在所有实施例中都要求这种分离。
仅描述了几个实施方式和示例,并且可以基于本专利文档中描述和说明的内容进行其它实施方式、增强和变体。

Claims (75)

1.一种视频处理方法,包括:
执行视频的视频块和所述视频的编解码表示之间的转换,
其中,所述编解码表示符合格式规则,所述格式规则规定基于所述视频块的维度在所述编解码表示中选择性地包括所述视频块的跳过模式编解码的指示,
其中,所述跳过模式编解码允许在不生成所述视频块的残差或不编解码所述视频块的残差的情况下执行所述转换。
2.如权利要求1所述的方法,其中,所述维度包括所述视频块的高度和宽度。
3.如权利要求1所述的方法,其中,所述格式规则规定进一步基于以下各项中的至少一个选择性地包括所述指示:包括所述视频块的条带的条带类型,或sps_ibc_enabled_flag。
4.如权利要求1所述的方法,其中,所述规则规定在至少满足以下条件中的至少一个条件时,所述指示被包括在所述编解码表示中:1)包括所述视频块的条带的条带类型是I-条带,2)sps_ibc_enabled_flag设置为真,3)所述视频块的高度和宽度小于或等于N,其中N为整数;或者4)所述视频块使用帧内块复制(IBC)模式进行编解码。
5.如权利要求4所述的方法,其中,所述至少一个条件包括:所述条带类型是I-条带,所述sps_ibc_enabled_flag设置为真,或者所述视频块的所述高度和所述宽度小于或等于N,其中N为整数。
6.如权利要求4所述的方法,其中,所述至少一个条件包括:所述视频块使用帧内块复制(IBC)模式进行编解码;或者所述视频块的所述高度和所述宽度小于或等于N,其中N为整数。
7.如权利要求4-6中的任一项所述的方法,其中,N=64。
8.如权利要求4所述的方法,其中,所述至少一个条件不包括对应于sps_palette_enabled_flag的条件。
9.一种视频处理方法,包括:
为视频的视频块与所述视频的编解码表示之间的转换,基于特定编解码工具是否应用于作为视频的第二颜色分量的一个或多个对应视频块,确定所述特定编解码工具对于作为所述视频的第一颜色分量的视频块的适用性;以及
基于所述确定执行所述转换。
10.如权利要求9所述的方法,其中,所述确定确定在所述特定编解码工具应用于所述一个或多个对应视频块的情况下禁用所述特定编解码工具。
11.如权利要求9所述的方法,其中,所述确定确定在所述特定编解码工具不同于应用于所述一个或多个对应视频块的编解码工具的情况下禁用所述特定编解码工具。
12.如权利要求9所述的方法,其中,基于所述特定编解码工具是否应用于所述一个或多个对应视频块,选择性地信令通知消息,所述消息指示所述特定编解码工具对于所述视频块的适用性。
13.如权利要求9所述的方法,其中,所述确定确定在所述特定编解码工具应用于所述一个或多个对应视频块的情况下禁用所述特定编解码工具,且无需信令通知。
14.如权利要求9所述的方法,其中,所述特定编解码工具被不同地应用于所述视频的不同颜色分量。
15.如权利要求14所述的方法,其中,信令通知如何将所述特定编解码工具应用于所述视频的亮度分量和色度分量。
16.如权利要求9-15中的任一项所述的方法,其中,所述第一颜色分量是色度颜色分量,并且所述第二颜色分量是亮度颜色分量。
17.如权利要求9-15中的任一项所述的方法,其中,所述第一颜色分量是第一色度颜色分量,并且所述第二颜色分量是第二色度颜色分量。
18.如权利要求9-15中的任一项所述的方法,其中,所述第一颜色分量是亮度颜色分量,并且所述第二颜色分量是色度颜色分量。
19.如权利要求9-18中的任一项所述的方法,其中,所述一个或多个对应视频块覆盖所述视频块的至少一个对应的样点。
20.如权利要求19所述的方法,其中,根据所述视频的颜色格式缩放所述至少一个对应的样点的位置。
21.如权利要求19或20所述的方法,其中,所述至少一个对应的样点位于(x0,y0)、(x0+W-1,y0+H-1)、(x0+W/2-1,y0+H/2-1)、(x0+W/2,y0+H/2)、(x0+W/2,y0+H/2-1)、或者(x0+W/2-1,y0+H/2),以及其中,所述视频块的左上方的位置是(x0,y0),并且所述视频块的宽度和高度分别为W和H。
22.如权利要求9-21中的任一项所述的方法,其中,所述特定编解码工具是以下各项中的一种:时域运动矢量预测(TMVP)、可选时域运动矢量预测(ATMVP)、带有编解码单元(CU)级加权的双向双向预测(BCW)过程、带有运动矢量差值的Merge模式(MMVD)或位置相关预测组合(PDPC)过程。
23.一种视频处理方法,包括:
对于视频的色度视频块与所述视频的编解码表示之间的转换,确定由于对应的亮度块使用特定编解码模式进行编解码,不允许为编解码色度视频块的位置相关帧内预测组合(PDPC)方法;以及
基于所述确定执行所述转换,
其中,所述PDPC方法将邻近样点与所述色度视频块的预测信号进行组合以生成所述色度视频块的细化预测信号。
24.如权利要求23所述的方法,其中,所述特定编解码模式对应于基于矩阵的帧内预测(MIP)模式。
25.如权利要求23所述的方法,其中,所述特定编解码模式对应于多参考线(MRL)模式。
26.一种视频处理方法,包括:
执行视频的视频块与所述视频的编解码表示之间的转换,
其中,所述编解码表示符合格式规则,所述格式规则规定视频块满足的编解码条件包括设置为假的指示,所述指示指示使用可选半像素插值滤波器而不是默认半像素插值滤波器。
27.如权利要求26所述的方法,其中,在所述编解码表示包括被设置为假的所述指示的情况下,所述默认半像素插值滤波器用于所述转换。
28.如权利要求26所述的方法,其中,所述格式规则规定所述指示基于所述视频块中的运动矢量的精度而被设置为假。
29.如权利要求26-28中的任一项所述的方法,其中,所述格式规则规定在所述视频块使用带有运动矢量差值的Merge模式(MMVD)进行编解码以及重构运动信息具有比半像素精度更高的运动矢量分量的情况下,所述指示被设置为假。
30.如权利要求26-28中的任一项所述的方法,其中,所述格式规则规定对于具有比半像素精度更高的运动矢量分量的成对Merge候选,所述指示被设置为假。
31.如权利要求26-28中的任一项所述的方法,其中,在重构双向预测运动信息被转换为具有比半像素精度更高的运动矢量分量的单向预测运动信息的情况下,所述指示被设置为假。
32.如权利要求26-28中的任一项所述的方法,其中,所述格式规则规定所述指示总是为假。
33.如权利要求26-28中的任一项所述的方法,其中,所述格式规则规定对于使用带有运动矢量差值的Merge模式(MMVD)进行编解码的所述视频块,所述指示总是被设置为假。
34.如权利要求26-28中的任一项所述的方法,其中,所述格式规则规定在特定运动矢量差值被选择用于所述转换的情况下,对于使用带有运动矢量差值的Merge模式(MMVD)进行编解码的所述视频块,所述指示总是被设置为假。
35.如权利要求34所述的方法,其中,所述特定运动矢量差值具有1/4像素的精度。
36.如权利要求26或27所述的方法,其中,所述格式规则规定对于成对Merge候选,所述指示总是被设置为假。
37.如权利要求26或27所述的方法,其中,所述格式规则规定在重构双向预测运动信息被转换为单向预测运动信息的情况下,所述指示总是被设置为假。
38.如权利要求32-37中的任一项所述的方法,其中,所述格式规则用于指示使用双向编解码单元级加权(BCW)过程。
39.如权利要求26或27所述的方法,其中,所述格式规则规定在所述视频块具有比半像素精度更高的至少N个运动矢量分量的情况下,所述指示被设置为假,其中N为整数。
40.如权利要求39所述的方法,其中,所述格式规则规定在所述视频块使用带有运动矢量差值的Merge模式(MMVD)进行编解码以及重构运动信息具有比半像素精度更高的至少N个运动矢量分量的情况下,所述指示被设置为假。
41.如权利要求39所述的方法,其中,所述格式规则指定对于具有比半像素精度更高的至少N个运动矢量分量的成对Merge候选,所述指示被设置为假。
42.如权利要求39所述的方法,其中,所述格式规则指定在重构双向预测运动信息被转换为具有比半像素精度更高的至少N个运动矢量分量的单向预测运动信息的情况下,所述指示被设置为假。
43.如权利要求39-42中的任一项所述的方法,其中,N取决于所述视频块是单向预测的还是双向预测的。
44.如权利要求39-42中的任一项所述的方法,其中,无论所述视频块是单向预测的还是双向预测的,N都是相同的。
45.如权利要求26-44中的任一项所述的方法,其中,被设置为假的所述指示被存储并用于另一个视频块。
46.一种视频处理方法,包括:
根据规则执行视频的视频块和所述视频的编解码表示之间的转换,
其中,基于所述视频块的多个分区的预测矢量的加权平均生成所述视频块的预测矢量,其中,按角度分割至少一个分区,并且
其中,所述规则规定使用可选半像素插值滤波器在确定所述预测矢量时对半像素位置处的样点值进行插值。
47.如权利要求46所述的方法,其中,从Merge候选继承指示所述可选半像素插值滤波器的使用的指示。
48.如权利要求46所述的方法,其中,从以下各项继承指示所述可选半像素插值滤波器的使用的所述指示:空域候选、TMVP(时域运动矢量预测)候选、HMVP(基于历史的运动矢量预测)候选和/或成对候选。
49.如权利要求48所述的方法,其中,何时从所述成对候选继承所述指示取决于hPelIf1和/或hPelIf2,其中,hPelIf1和hPelIf2分别是所述成对候选之中的第一候选和第二候选的指示。
50.如权利要求46所述的方法,其中,对于使用几何预测模式进行编解码的所述视频块,指示所述可选半像素插值滤波器的使用的所述指示被设置为真。
51.如权利要求46所述的方法,其中,所述规则进一步指定在单个分区或多个分区的运动补偿过程中使用所述可选半像素插值滤波器。
52.如权利要求46所述的方法,其中,在运动场存储过程期间,为一个或多个运动场存储指示所述可选半像素插值滤波器的使用的一个或多个指示。
53.如权利要求52所述的方法,其中,为所述视频块的所有4×4单元存储关于所述可选半像素插值滤波器的使用的相同指示。
54.如权利要求53所述的方法,其中,所述相同指示被设置为假、(hPelIfPart1&&hPelIfPart2)或(hPelIfPart1||hPelIfPart2),其中,hPelIfPart1和hPelIfPart2分别对应于为所述视频块的第一分区和第二分区使用所述可选半像素插值滤波器的指示。
55.如权利要求52所述的方法,其中,为所述视频块的包括4×4单元的不同分区存储关于所述可选半像素插值滤波器的使用的不同指示。
56.如权利要求55所述的方法,其中,所述不同指示包括为在所述视频块的X分区中的一些4×4单元设置为hPelIfPartX的指示,其中,hPelIfPartX对应于关于为所述X分区使用所述可选半像素插值滤波器的指示,并且X为1或2。
57.如权利要求55所述的方法,其中,所述不同指示包括为所述视频块的加权区域中的一些4×4单元设置为(hPelIfPart1&&hPelIfPart2)、(hPelIfPart1||hPelIfPart2)、hPelIfPart1、或hPelIfPart2的指示,其中,hPelIfPart1和hPelIfPart2分别对应于关于为所述视频块的第一分区和第二分区使用所述可选半像素插值滤波器的指示。
58.一种视频处理方法,包括:
根据规则执行在视频的视频块和所述视频的编解码表示之间的转换,
其中,所述规则基于与Merge列表中存在的一个或多个运动候选相关联的信息,规定关于应用于待添加到所述Merge列表的运动矢量预测候选的编解码条件的指示。
59.如权利要求58所述的方法,其中,所述运动矢量预测候选对应于时域运动矢量预测(TMVP)候选,所述时域运动矢量预测(TMVP)候选用于基于所述视频的并置视频块的运动信息预测所述视频块的运动信息。
60.如权利要求58所述的方法,其中,所述运动矢量预测候选对应于基于子块的时域运动矢量预测(SbTMVP),所述基于子块的时域运动矢量预测(SbTMVP)用于基于所述视频块的并置视频块的运动信息预测所述视频块的子块的运动信息。
61.如权利要求58或59所述的方法,其中,所述一个或多个运动候选对应于一个或多个空域Merge候选。
62.如权利要求59或60所述的方法,其中,所述一个或多个运动候选包括第一空域Merge候选,并且其中,所述规则规定关于为所述TMVP候选或所述SbTMVP候选使用可选半像素插值滤波器的所述指示被设置为等于关于为所述第一空域Merge候选使用所述可选半像素插值滤波器的指示。
63.如权利要求59或60所述的方法,其中,所述一个或多个运动候选包括第一空域Merge候选,并且其中,所述规则规定所述TMVP候选或所述SbTMVP候选的双向编解码单元级加权(BCW)索引被设置为等于所述第一空域Merge候选的BCW索引。
64.如权利要求59或60所述的方法,其中,所述一个或多个运动候选包括作为左侧空域Merge候选的第一空域Merge候选。
65.如权利要求59所述的方法,其中,所述规则进一步规定关于为所述TMVP候选使用可选半像素插值滤波器和/或为所述TMVP候选使用双向编解码单元级加权(BCW)索引的所述指示取决于与所述一个或多个运动候选相关联的所述信息。
66.一种视频处理方法,包括:
为视频的视频块与所述视频的编解码表示之间的转换,根据规则基于所述视频块的邻近块的运动信息,确定使用仿射Merge模式进行编解码的所述视频块的控制点的控制点运动矢量;以及
基于所述确定执行所述转换,
其中,所述规则规定关于为所述视频块使用可选半像素插值滤波器的指示设置为等于所述邻近块中的运动矢量的指示。
67.如权利要求66所述的方法,其中,所述确定基于所述邻近块中的所述运动矢量确定位于所述视频块的左上角、右上角或左下角的所述控制点运动矢量。
68.一种视频处理方法,包括:
根据规则执行在视频的视频块和所述视频的编解码表示之间的转换,
其中,所述规则规定在使用从所述视频块的邻近块继承的仿射Merge模式对所述视频块进行编解码的情况下,从所述邻近块继承关于为所述视频块使用可选半像素插值滤波器的指示。
69.一种视频处理方法,包括:
通过在Merge候选构建过程期间根据规则检查Merge候选来导出视频的视频块的运动信息;以及,
执行在所述视频块和所述视频的编解码表示之间的转换,
其中,所述规则规定在进行比较的两个Merge候选的可选半像素插值滤波器的使用的指示不相同的情况下,所述两个Merge候选在所述Merge候选构建过程期间被认为是不相同的。
70.如权利要求1-69中的任一项所述的方法,其中,执行所述转换进一步基于以下各项中的信令:解码器参数集(DPS)、序列参数集(SPS)、图片参数集(PPS)、自适应参数集(APS)、视频参数集(VPS)、序列标头、图片标头、条带标头或片组标头。
71.如权利要求1-70中的任一项所述的方法,其中,所述转换包括将所述视频编码为所述编解码表示。
72.如权利要求1-70中的任一项所述的方法,其中,所述转换包括对所述编解码表示进行解码以生成所述视频。
73.一种视频处理装置,包括被配置为实施根据权利要求1-72中的任意一项或多项所述的方法的处理器。
74.一种存储程序代码的计算机可读介质,所述程序代码被执行时使得处理器实施根据权利要求1-72中的任意一项或多项所述的方法。
75.一种计算机可读介质,所述计算机可读介质存储根据上述方法中的任一项生成的编解码表示或比特流。
CN202080064305.2A 2019-09-13 2020-09-11 跳过模式信令通知 Pending CN114424530A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/105825 2019-09-13
CN2019105825 2019-09-13
CN2019107107 2019-09-20
CNPCT/CN2019/107107 2019-09-20
PCT/CN2020/114763 WO2021047633A1 (en) 2019-09-13 2020-09-11 Skip mode signaling

Publications (1)

Publication Number Publication Date
CN114424530A true CN114424530A (zh) 2022-04-29

Family

ID=74865659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080064305.2A Pending CN114424530A (zh) 2019-09-13 2020-09-11 跳过模式信令通知

Country Status (2)

Country Link
CN (1) CN114424530A (zh)
WO (1) WO2021047633A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010041856A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
KR101675118B1 (ko) * 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US9571837B2 (en) * 2013-11-01 2017-02-14 Broadcom Corporation Color blending prevention in video coding
US10779007B2 (en) * 2017-03-23 2020-09-15 Mediatek Inc. Transform coding of video data

Also Published As

Publication number Publication date
WO2021047633A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
JP7263529B2 (ja) デコーダ側精緻化ツールのサイズ選択アプリケーション
KR20240024335A (ko) 서브 블록 기반 인터 예측을 위한 조정 방법
CN114467308B (zh) 视频处理中的参考图片重采样
CN113475074A (zh) 视频处理中的环路滤波
CN114175636B (zh) 自适应参数集中的自适应环路滤波的指示
CN114450959A (zh) 视频编解码中的几何分割模式
WO2021068921A1 (en) Motion vector handling in geometry partition mode
KR102627821B1 (ko) 이웃 블록 정보를 사용한 모션 후보 리스트 구성
US11595658B2 (en) Derivation of collocated motion vectors
CN113196771A (zh) 基于运动矢量精度的运动矢量范围
CN114270856A (zh) 视频处理中的备选插值滤波器的选择性使用
WO2021047633A1 (en) Skip mode signaling
CN114097219A (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