CN113812165B - 对hmvp表的改进 - Google Patents

对hmvp表的改进 Download PDF

Info

Publication number
CN113812165B
CN113812165B CN202080034733.0A CN202080034733A CN113812165B CN 113812165 B CN113812165 B CN 113812165B CN 202080034733 A CN202080034733 A CN 202080034733A CN 113812165 B CN113812165 B CN 113812165B
Authority
CN
China
Prior art keywords
motion
list
hmvp
candidates
size
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.)
Active
Application number
CN202080034733.0A
Other languages
English (en)
Other versions
CN113812165A (zh
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 CN113812165A publication Critical patent/CN113812165A/zh
Application granted granted Critical
Publication of CN113812165B publication Critical patent/CN113812165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

本公开涉及对HMVP表的改进。一种视频处理方法,包括:在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于所述表执行所述当前块的所述转换,其中,所述表具有取决于一个或多个运动候选列表的HMVP表尺寸,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。

Description

对HMVP表的改进
相关申请的交叉引用
根据适用专利法和/或适用于巴黎公约的规则,本申请及时要求2019年5月9日提交的国际专利申请No.PCT/CN2019/086174号的优先权和权益。通过引用将前述申请的全部公开并入,作为本申请公开的一部分。
技术领域
该文档涉及视频和图像编码和解码技术。
背景技术
数字视频在互联网和其他数字通信网络上占最大的带宽使用量。随着能够接收和显示视频的连接用户设备的数量增加,预计数字视频使用所需的带宽将继续增长。
发明内容
所公开的技术可以由视频或图像解码器或编码器实施例使用,其中使用具有基于历史的运动矢量预测(HMVP)的几何分割。
在一个示例方面,公开了一种处理视频的方法。该方法包括:由处理器执行第一视频块是帧内编解码的或非Merge帧间编解码的确定;由处理器基于第一视频块是帧内编解码的或非Merge帧间编解码的确定,来确定第一视频块的第一子部分和第二子部分,其中第一子部分或第二子部分中的一个或两个是第一视频块的非矩形和非正方形部分;并且使用第一子部分和第二子部分执行对第一视频块的进一步处理。
在另一个示例方面,一种处理视频的方法,包括:由处理器执行第一视频块是帧内编解码的或非Merge帧间编解码的确定;由处理器确定第一视频块的第一子部分和第二子部分,其中第一子部分或第二子部分中的一个或两个是第一视频块的非矩形和非正方形部分;并使用第一子部分和第二子部分执行对第一视频块的进一步处理,其中至少一个子部分是Merge或非Merge帧间编解码的,并且使用当前图像作为参考图像。
在另一个示例方面,一种处理视频的方法,包括:由处理器执行第一视频块是帧内编解码的或非Merge帧间编解码的确定;由处理器确定第一视频块的第一子部分和第二子部分,其中第一子部分或第二子部分中的一个或两个是第一视频块的非矩形和非正方形部分;并使用第一子部分和第二子部分执行对第一视频块的进一步处理,其中使用第一子部分和第二子部分执行对第一视频块的进一步处理是基于相对于第一视频块的非相邻空域视频块的帧间或帧内编解码信息。
在另一个示例方面,一种处理视频的方法,包括:执行使用第一视频块的三角预测部分对第一视频块进行三角部分模式(TPM)编解码的确定,并使用第二视频块的非三角预测部分对第二视频块进行非TPM编解码,使用存储的HMVP候选执行对第一视频块和第二视频块的进一步处理,以及存储与第一视频块和第二视频块相关联的HMVP候选。
在另一个示例方面,一种处理视频的方法,包括:由处理器执行第一视频块包括作为第一视频块的非矩形和非正方形部分的预测部分的确定;识别HMVP候选;将从HMVP候选导出的一个或多个运动候选添加到与包括非矩形和非正方形的预测部分的视频块相关联的Merge列表中,以及使用Merge列表对第一视频块执行进一步的处理。
在另一个示例方面,一种用于处理视频的方法,包括:在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的多个子部分;确定多个子部分的帧内预测信息;使用多个子部分的帧内预测信息执行当前块的转换;并且其中,当前块是帧内编解码的,并且多个子部分中的至少一个是非矩形和非正方形子部分。
在另一个示例方面,一种用于处理视频的方法,包括:在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的多个子部分;确定所述多个子部分的运动信息;使用多个子部分的运动信息执行当前块的转换;并且其中,当前块是非Merge帧间编解码的,并且多个子部分中的至少一个是非矩形和非正方形子部分。
在另一个示例方面,一种视频处理的方法,包括:在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间执行转换,其中,根据划分模式将当前块分割为多个子部分,其中第一子部分具有非矩形、非正方形形状;以帧内编解码模式处理第一子部分;和以帧间编解码模式处理第二子部分。
在另一个示例方面,一种视频处理的方法,包括:在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间执行转换,其中,根据划分模式将当前块分割为多个子部分,其中第一子部分具有非矩形、非正方形形状;其中,多个子部分中的至少一个是Merge或非Merge帧间编解码的,并且使用当前图片作为参考图片。
在另一个示例方面,一种视频处理的方法,包括:在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间执行转换,其中,根据划分模式将当前块分割为多个子部分,其中第一预测分割具有非矩形、非正方形形状;并使用一个或多个非相邻空域块的帧间或帧内编解码信息执行转换。
在另一个示例方面,一种用于处理视频的方法,包括:在视觉媒体数据的第一块与视觉媒体数据的对应的编解码表示之间的转换期间,确定以几何分割模式对第一块进行编解码;基于至少一个存储基于历史的运动矢量预测(HMVP)候选的表,确定所述第一块的至少一个子部分的运动信息,所述HMVP候选包括基于先前编解码的块的运动信息;使用确定的运动信息执行第一块的转换。
在另一个示例方面,一种用于处理视频的方法,包括:在视觉媒体数据的第一块与视觉媒体数据的对应的编解码表示之间的转换期间,确定以几何分割模式对第一块进行编解码;确定第一块的至少一个子部分的运动信息;使用至少一个子部分的运动信息来执行第一块的转换;其中,确定至少一个子部分的运动信息包括:使用至少一个包括基于先前编解码的块的运动信息的、基于历史的运动矢量预测(HMVP)候选来构建运动候选列表,并从运动候选列表中确定运动信息。
在另一个示例方面,一种用于处理视频的方法,包括:在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于所述表执行所述当前块的所述转换,其中,所述表具有取决于一个或多个运动候选列表的HMVP表尺寸,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
在另一个示例方面,一种用于处理视频的方法,包括:在视觉媒体数据的当前块和所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于所述表执行所述当前块的所述转换,其中,所述表具有HMVP表尺寸,所述HMVP表尺寸取决于添加到一个或多个运动候选列表中的一个或多个运动候选数量numHMVP,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
在另一个示例方面,一种用于处理视频的方法,包括:在视觉媒体数据的当前块和所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于所述表执行所述当前块的所述转换,其中,所述表具有取决于运动候选列表和当前块的编解码模式的HMVP表尺寸,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
在另一个示例方面,一种用于处理视频的方法,包括:在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于所述表执行所述当前块的所述转换,其中,在比特流中信令通知允许被添加到运动候选列表的HMVP候选的数量。
在另一个示例方面,上述方法可以由包括处理器的视频编码器装置实现。
在另一个示例方面,上述方法可以由包括处理器的视频解码器装置实现。
在又一个示例方面,这些方法可以以处理器可执行指令的形式体现并存储在计算机可读程序介质上。
在本文档中进一步描述了这些以及其他方面。
附图说明
图1示出了用于Merge候选列表构建的推导处理的示例。
图2示出了空域Merge候选的示例的位置。
图3示出了考虑用于空域Merge候选的冗余检查的候选对的示例。
图4示出了N×2N和2N×N分割的第二PU(预测单元)的位置的示例。
图5示出了用于时域Merge候选的运动矢量缩放的示例。
图6示出了时域Merge候选C0和C1的候选位置的示例。
图7示出了组合的双向预测Merge候选的示例。
图8示出了用于运动矢量预测候选的推导处理的示例。
图9示出了用于空域运动矢量候选的运动矢量缩放的示例。
图10示出了用于CU的ATMVP(可选时域运动矢量预测)运动预测的示例。
图11示出了具有四个子块(A-D)及其临近块(a-d)的一个CU的示例。
图12示出了以不同的MV精度进行编解码的流程图的示例。
图13示出了将CU划分为两个三角预测单元(两种分割类型)的示例。
图14示出了临近块的位置的示例。
图15示出了应用第一加权因子组的CU的示例。
图16示出了运动矢量存储的示例。
图17示出了在TPM标志编解码中用于上下文选择的临近块(A和L)的示例。
图18示出了在其中应用OBMC的子块的示例。
图19示出了用于导出IC参数的临近样点的示例。
图20示出了简化的仿射运动模型的示例。
图21示出了每个子块的仿射MVF的示例。
图22示出了4参数仿射模型(a)和6参数仿射模型(b)的示例。
图23示出了用于AF_INTER的MVP的示例。
图24示出了AF_MERGE的候选的示例。
图25示出了仿射Merge模式的候选位置的示例。
图26示出了光流轨迹的示例。
图27示出了没有块扩展的BIO的示例:a)块外部的访问位置;b)使用填充是为了避免额外的内存访问和计算。
图28示出了基于双边模板匹配的DMVR的示例。
图29是视频处理装置的示例的框图。
图30示出了视频编码器的示例实施方案的框图。
图31是用于视频处理方法的示例的流程图。
图32是用于视频处理方法的示例的流程图。
图33是用于视频处理方法的示例的流程图。
图34是用于视频处理方法的示例的流程图。
图35是用于视频处理方法的示例的流程图。
图36是用于视频处理方法的示例的流程图。
图37是用于视频处理方法的示例的流程图。
图38是用于视频处理方法的示例的流程图。
图39是用于视频处理方法的示例的流程图。
图40是用于视频处理方法的示例的流程图。
图41是用于视频处理方法的示例的流程图。
图42是用于视频处理方法的示例的流程图。
图43是用于视频处理方法的示例的流程图。
图44是用于视频处理方法的示例的流程图。
图45是用于视频处理方法的示例的流程图。
图46是用于视频处理方法的示例的流程图。
具体实施方式
本文档提供了可由图像或视频比特流的解码器用来改善解压缩或解码的数字视频或图像的质量的各种技术。为简洁起见,术语“视频”在本文中用于包括图片序列(传统上称为视频)和单个图像。此外,视频编码器还可在编码处理期间实现这些技术,以便重建用于进一步编码的解码帧。
在本文档中使用章节标题是为了易于理解,并且不将实施例和技术限于对应的章节。这样,一个部分的实施例可以与其他部分的实施例组合。
1.综述
该专利文档涉及视频编解码技术。具体地,它涉及视频编解码中几个分割下的运动矢量编解码。它可以应用于现有的视频编解码标准(例如HEVC),或者最终确定的标准(多功能视频编解码)。它也可能适用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准主要通过公知的ITU-T和ISO/IEC标准的发展而发展。ITU-T制作了H.261和H.263,ISO/IEC制作了MPEG-1和MPEG-4Visual,这两个组织共同制作了H.262/MPEG-2视频和H.264/MPEG-4增强视频编解码(AVC)和H.265/HEVC标准。从H.262开始,视频编解码标准基于混合视频编解码结构,其中利用了时域预测和变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索小组(JVET)。此后,JVET采纳了许多新方法并将其引入到名为“联合探索模型”(JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1SC29/WG11(MPEG)之间的联合视频专家团队(JVET)成立,以致力于目标是与HEVC相比其降低50%比特率的VVC标准。
图30是视频编码器的示例实施方式的框图30示出了编码器实现具有内置的反馈路径,视频编码器在该反馈路径中还执行视频解码功能(重构视频数据的压缩表示以用于下一视频数据的编码)。
2.1HEVC/H.265中的帧间预测
每个帧间预测的PU都有一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。两个参考图片列表之一的使用也可以使用inter_pred_idc发信令通知。运动矢量可显式地编码为相对于预测器的增量。
当CU采用跳过模式编码时,一个PU与CU相关联,并且没有显著的残差系数,没有编码运动矢量增量或参考图片索引。指定了一种Merge模式,通过该模式,可以从临近的PU(包括空域和时域候选)中获取当前PU的运动参数。Merge模式可以应用于任何帧间预测的PU,而不仅仅是跳过模式。Merge模式的另一种选择是运动参数的显式传输,其中运动矢量(更精确地,与运动矢量预测器相比的运动矢量差)、每个参考图片列表的对应的参考图片索引、以及参考图片列表的使用都会根据每个PU显式地发信令通知。在本公开中,这样的模式被命名为高级运动矢量预测(AMVP)。
当信令指示要使用两个参考图片列表中的一个时,从一个样点块中生成PU。这被称为“单向预测”。单向预测对P条带(slice)和B条带都可用。
当信令指示要使用两个参考图片列表时,从两个样点块中生成PU。这被称为“双向预测”。双向预测仅对B条带可用。
下文提供了在HEVC中规定的关于帧间预测模式的细节。描述将从Merge模式开始。
2.1.1参考图片列表
在HEVC中,术语帧间预测用于表示从当前解码图片以外的参考图片的数据元素(例如,样点值或运动矢量)中推导的预测。像在H.264/AVC中一样,可以从多个参考图片中预测图片。用于帧间预测的参考图片被组织在一个或多个参考图片列表中。参考索引标识应使用列表中的哪些参考图片来创建预测信号。
单个参考图片列表,列表0用于P条带,两个参考图片列表,列表0和列表1用于B条带。应当注意,就捕获/显示顺序而言,列表0/1中包含的参考图片可能来自过去和将来的图片。
2.1.2 Merge模式
2.1.2.1 Merge模式的候选的推导
当使用Merge模式预测PU时,从比特流解析指向Merge候选列表中的条目的索引并将其用于检索运动信息。HEVC标准中指定了此列表的构建(construction),并且该列表的构建可以根据以下步骤顺序进行总结:
步骤1:初始候选推导
步骤1.1:空域候选推导
步骤1.2:空域候选的冗余校验
步骤1.3:时域候选推导
步骤2:插入附加的候选
步骤2.1:创建双向预测候选
步骤2.2:插入零运动候选
这些步骤也在图1中示意性地示出。对于空域Merge候选推导,在位于五个不同位置的候选当中选择最多四个Merge候选。对于时域Merge候选推导,在两个候选当中选择最多一个Merge候选。由于在解码器处假设恒定数量的候选用于每个PU,因此当从步骤1获得的候选的数量未达到在条带报头中用信令通知的最大Merge候选数量(MaxNumMergeCand)时,生成附加的候选。由于候选的数量是恒定的,因此使用截断的一元二值化(TruncatedUnary binarization,TU)来编码最佳Merge候选的索引。如果CU的尺寸等于8,则当前CU的所有PU共享单个Merge候选列表,其与2N×2N预测单元的Merge候选列表相同。
在下文中,详细描述了与前述步骤相关联的操作。
图1示出了用于Merge候选列表构建的导出处理的示例。
2.1.2.2空域候选的推导
在空域Merge候选的推导中,在位于图2描绘的位置的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一条带或区块)或者是帧内编解码时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余校验,其确保具有相同运动信息的候选被排除在列表之外,使得编解码效率提高。为了降低计算复杂度,在所提到的冗余校验中并未考虑所有可能的候选对。相反,仅考虑图3中用箭头连接的对,并且仅在用于冗余校验的对应候选具有不一样的运动信息时,才将候选添加到列表。重复运动信息的另一来源是与不同于2N×2N的分割相关联的“第二PU”。作为示例,图4描绘了分别针对N×2N和2N×N的情况的第二PU。在当前PU被分割为N×2N时,位置A1处的候选不被考虑用于列表建构。实际上,通过添加该候选将导致具有相同运动信息的两个预测单元,这对于在编解码单元中仅具有一个PU是多余的。类似地,在当前PU被分割为2N×N时,不考虑位置B1
图2示出了空域Merge候选的位置的示例。
图3示出了考虑用于空域Merge候选的冗余检查的候选对的示例。
图4示出了N×2N和2N×N分割的第二PU的位置的示例。
2.1.2.3时域候选的推导
在该步骤中,只有一个候选被添加到列表中。具体地,在该时域Merge候选的推导中,基于共同定位的PU来推导缩放的运动矢量,该共同定位的PU属于给定参考图片列表内与当前图片具有最小POC差的图片。在条带报头中明确地用信令通知要用于推导共同定位的PU的参考图片列表。如图5的虚线所示,获得了针对时域Merge候选的缩放运动矢量,其是使用POC距离tb和td从共同定位的PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,td被定义为是共同定位的图片的参考图片与共同定位的图片之间的POC差。时域Merge候选的参考图片索引被设置为等于零。HEVC规范中描述了缩放处理的实际实现。对于B条带,获得两个运动矢量,一个用于参考图片列表0,另一用于参考图片列表1,并且结合该两个运动矢量以获得双向预测Merge候选。
图5示出了针对时域Merge候选的运动矢量缩放的推导的示例。
在属于参考帧的共同定位的PU(Y)中,在候选C0和C1之间选择时域候选的位置,如图6所示。如果位置C0处的PU不可用、是帧内编解码的、或者在当前CTU(最大编解码单元)行之外,则使用位置C1。否则,位置C0用于时域Merge候选的推导。
图6示出了时域Merge候选C0和C1的候选位置的示例。
2.1.2.4附加(Additional)候选插入
除了空域和时域Merge候选之外,还存在两种附加类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空域和时域Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将原始候选的第一参考图片列表运动参数与另一候选的第二参考图片列表运动参阵列合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,它们将形成一个新的双向预测候选。例如,图7示出了当原始列表中的两个候选(左侧)中具有mvL0和refIdxL0或mvL1和refIdxL1,其被用于创建添加到最终列表(右侧)的组合的双向预测Merge候选的情况。关于组合有许多规则,这些规则被认为可以生成这些附加的Merge候选。
图7示出了组合的双向预测Merge候选的示例。
插入零运动候选以填充Merge候选列表中的剩余条目,从而达到MaxNumMergeCand容量。这些候选具有零空域位移和参考图片索引,该参考图片索引从零开始并且每当新的零运动候选被添加到列表时增加。这些候选使用的参考帧的数量分别是单向和双向预测的一和两个。最后,不对这些候选执行冗余检查。
2.1.2.5用于并行处理的运动估计区域
为了加速编解码处理,可以并行执行运动估计,从而同时导出给定区域内的所有预测单元的运动矢量。由于一个预测单元无法从相邻的PU导出运动参数,直到完成其相关联的运动估计,因此,从空域邻居导出Merge候选可能会干扰并行处理。为了减轻编解码效率和处理延迟之间的折衷,HEVC使用“log2_parallel_merge_level_minus2”语法元素定义了运动估计区域(MER),其尺寸在图片参数集中信令通知。定义MER时,同一区域的Merge候选将被标记为不可用,因此在列表构建中不予考虑。
2.1.3 AMVP
AMVP利用运动矢量与临近PU的时空相关性,其用于运动参数的显式传输。对于每个参考图片列表,通过首先校验在时域上临近的PU位置的上方,左侧的可用性,移除冗余候选并添加零矢量以使候选列表为恒定长度来建构运动矢量候选列表。然后,编码器可以从候选列表中选择最佳预测器,并发送指示所选候选的对应索引。与Merge索引信令类似,使用截断的一元来编码最佳运动矢量候选的索引。在这种情况下要编码的最大值是2(参见图8)。在以下章节中,提供了关于运动矢量预测候选的推导处理的细节。
2.1.3.1 AMVP候选的推导
图8概括了运动矢量预测候选的推导处理。
在运动矢量预测中,考虑两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选推导,基于位于图2中所示的五个不同位置的每个PU的运动矢量最终推导两个运动矢量候选。
对于时域运动矢量候选推导,从两个候选中选择一个运动矢量候选,其是基于两个不同的共同定位的位置推导的。在产生时空候选的第一列表之后,移除列表中的重复的运动矢量候选。如果潜在候选的数量大于2,则从列表中移除相关联的参考图片列表内的其参考图片索引大于1的运动矢量候选。如果空时运动矢量候选的数量小于2,则将附加的零运动矢量候选添加到列表中。
2.1.3.2空域运动矢量候选
在空域运动矢量候选的推导中,在五个潜在候选当中考虑最多两个候选,其从位于如图2中所示的位置的PU中推导,那些位置与运动Merge的位置相同。将当前PU的左侧的推导顺序定义为A0、A1,以及缩放的A0、缩放的A1。将当前PU的上侧的推导顺序定义为B0、B1、B2,缩放的B0、缩放的B1、缩放的B2。因此,对于每一侧,存在可以用作运动矢量候选的四种情况,其中两种情况不需要使用空域缩放,两种情况使用空域缩放。四种不同的情况总结如下。
无空域缩放
(1)相同的参考图片列表,以及相同的参考图片索引(相同的POC)
(2)不同的参考图片列表,但相同的参考图片(相同的POC)
空域缩放
(3)相同的参考图片列表,但不同的参考图片(不同的POC)
(4)不同的参考图片列表,以及不同的参考图片(不同的POC)
首先校验无空域缩放的情况,然后校验空域缩放。当POC在临近PU的参考图片与当前PU的参考图片之间不同而不管参考图片列表时,考虑空域缩放。如果左候选的所有PU都不可用或者是帧内编解码的,则允许对上述运动矢量进行缩放以帮助左和上MV候选的并行推导。否则,不允许对上述运动矢量进行空域缩放。
图9示出了针对空域运动矢量候选的运动矢量缩放的示例。
在空域缩放处理中,以与时域缩放类似的方式缩放临近PU的运动矢量。如图9所示,主要区别是将参考图片列表和当前PU的索引作为输入给出;实际缩放处理与时域缩放处理相同。
2.1.3.3时域运动矢量候选
除了参考图片索引推导之外,用于推导时域Merge候选的所有处理与用于推导空域运动矢量候选的处理相同(参见图6)。将参考图片索引用信令通知给解码器。
2.2JEM中新的帧间预测方法
2.2.1基于子CU的运动矢量预测
在具有QTBT的JEM中,每个CU可以针对每个预测方向具有至多一组运动参数。通过将大CU划分成子CU并且推导大CU的所有子CU的运动信息,在编码器中考虑两个子CU级运动矢量预测方法。可选时域运动矢量预测(Alternative Temporal Motion VectorPrediction,ATMVP)方法允许每个CU从比并置参考图片中的当前CU小的多个块中提取多组运动信息。在空时运动矢量预测(Spatial-Temporal Motion Vector Prediction,STMVP)方法中,通过使用时域运动矢量预测值和空域临近运动矢量来递归地推导子CU的运动矢量。
为了保留用于子CU运动预测的更准确的运动场,当前禁用参考帧的运动压缩。
图10示出了针对CU的ATMVP运动预测的示例。
2.2.1.1可选时域运动矢量预测
在可选时域运动矢量预测(ATMVP)方法中,通过从小于当前CU的块中提取多组运动信息(包括运动矢量和参考索引)来修改运动矢量时域运动矢量预测(TMVP)。子CU是正方形N×N块(默认情况下N被设置为4)。
ATMVP以两个步骤预测CU内的子CU的运动矢量。第一步是利用所谓的时域矢量识别参考图片中的对应块。参考图片被称为运动源图片。第二步是将当前CU划分成子CU,并从对应于每个子CU的块中获得运动矢量以及每个子CU的参考索引。
在第一步中,由当前CU的空域临近块的运动信息确定参考图片和对应块。为了避免临近块的重复扫描处理,使用当前CU的Merge候选列表中的第一Merge候选。第一可用运动矢量及其相关联的参考索引被设置为时域矢量和运动源图片的索引。这样,在ATMVP中,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为并置块)总是相对于当前CU位于右下或中心位置。
在第二步中,通过向当前CU的坐标添加时域矢量,通过运动源图片中的时域矢量来识别子CU的对应块。对于每个子CU,其对应块(覆盖中心样点的最小运动网格)的运动信息用于推导子CU的运动信息。在识别出对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换为当前子CU的参考索引和运动矢量,其中运动缩放和其他处理也适用。例如,解码器校验是否满足低时延条件(即,当前图片的所有参考图片的POC小于当前图片的POC)并且可能使用运动矢量MVx(对应于参考图片列表X的运动矢量)来预测每个子CU的运动矢量MVy(其中X等于0或1并且Y等于1-X)。
2.2.1.2空时运动矢量预测(STMVP)
在该方法中,按照光栅扫描顺序递归地推导子CU的运动矢量。图11示出了该概念。让我们考虑包含四个4×4子CU A、B、C和D的8×8CU。当前帧中临近的4×4块被标记为a,b,c和d。
子CU A的运动推导通过识别其两个空域邻居开始。第一邻居是子CU A上方的N×N块(块c)。如果该块c不可用或者是帧内编解码,则(从块c开始,从左到右)校验子CU A上方的其他N×N个块。第二邻居是子CU A左侧的块(块b)。如果块b不可用或者是帧内编解码,则(从块b开始,从上到下)校验子CU A左侧的其他块。从每个列表的临近块获得的运动信息被缩放到给定列表的第一参考帧。接下来,通过遵循与HEVC中指定的TMVP推导相同的处理来推导子块A的时域运动矢量预测(Temporal Motion Vector Predictor,TMVP)。提取位置D处的并置块的运动信息并对应地缩放。最后,在检索和缩放运动信息之后,对于每个参考列表,所有可用的运动矢量(最多3个)被分别平均。平均运动矢量被指定为当前子CU的运动矢量。
2.2.1.3子CU运动预测模式信令
子CU模式被启用为附加的Merge候选,并且不需要附加的语法元素来信令通知该模式。将两个附加的Merge候选添加到每个CU的Merge候选列表以表示ATMVP模式和STMVP模式。如果序列参数集指示启用了ATMVP和STMVP,则最多使用七个Merge候选。附加的Merge候选的编码逻辑与HM中的Merge候选相同,这意味着,对于P或B条带中的每个CU,两个附加的Merge候选需要另外两个RD校验。
在JEM中,所有Merge索引的二进位(bin)都由CABAC进行上下文编解码。而在HEVC中,仅第一个二进位是上下文编解码的,而剩余的二进位是上下文旁路编解码的。
2.2.2自适应运动矢量差分辨率
在HEVC中,当条带报头中的use_integer_mv_flag等于0时,以四分之一亮度样点为单元信令通知(PU的运动矢量和预测运动矢量之间的)运动矢量差(Motion VectorDifference,MVD)。在JEM中,引入了局部自适应运动矢量分辨率(Locally AdaptiveMotion Vector Resolution,LAMVR)。在JEM中,MVD可以以四分之一亮度样点、整数亮度样点或四亮度样点为单元进行编解码。在编解码单元(CU)级控制MVD分辨率,并且对于具有至少一个非零MVD分量的每个CU有条件地信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU,信令通知第一标记以指示在CU中是否使用四分之一亮度样点MV精度。当第一标志(等于1)指示不使用四分之一亮度样点MV精度时,信令通知另一标志以指示是使用整数亮度样点MV精度还是四亮度样点MV精度。
当CU的第一MVD分辨率标志为零或未针对CU编码(意味着CU中的所有MVD均为零)时,对于CU使用四分之一亮度样点MV分辨率。当CU使用整数亮度样点MV精度或四亮度样点MV精度时,CU的AMVP候选列表中的MVP被取整到对应的精度。
在编码器中,CU级RD校验用于确定将哪个MVD分辨率用于CU。即,对于每个MVD分辨率,执行三次CU级RD校验。为了加快编码器速度,在JEM中应用以下编码方案。
在具有常规四分之一亮度样点MVD分辨率的CU的RD校验期间,存储当前CU的运动信息(整数亮度样点准确度)。存储的运动信息(在取整之后)被用作在RD校验期间针对具有整数亮度样点和4亮度样点MVD分辨率的相同CU的进一步小范围运动矢量细化的起点,使得耗时的运动估计处理不重复三次。
有条件地调用具有4亮度样点MVD分辨率的CU的RD校验。对于CU,当RD成本整数亮度样点MVD分辨率远大于四分之一亮度样点MVD分辨率时,跳过针对CU的4亮度样点MVD分辨率的RD校验。
编码处理如图12所示。首先,测试1/4像素MV,并计算RD成本并将其表示为RDCost0,然后测试整数MV,并将RD成本表示为RDCost1。如果RDCost1<th*RDCost0(其中th为正值),则测试4像素MV;否则,跳过4像素MV。基本上,在检查整数或4像素MV时,对于1/4像素MV已知运动信息和RD成本等,可以将其重新使用以加快整数或4像素MV的编码处理。
2.2.3三角预测模式
三角预测模式(TPM)的概念是引入用于运动补偿预测的新三角分割。如图所示。参照图13,其将CU沿对角线方向或对角线反向方向划分为两个三角预测单元。CU中的每个三角预测单元使用从单向预测候选列表中推导的参考帧索引和其自己的单向预测运动矢量来进行帧间预测。在预测三角预测单元之后,对对角线边缘执行自适应加权处理。然后,将变换和量化处理应用于整个CU。注意,该模式仅应用于跳过和Merge模式。
2.2.3.1TPM的单向预测候选列表
单向预测候选列表由五个单向预测运动矢量候选组成。如图14所示,它是从包括五个空域临近块(1到5)和两个时域并置块(6到7)的七个临近块推导出的。根据单向预测运动矢量、双向预测运动矢量的L0运动矢量、双向预测运动矢量的L1运动矢量、和双向预测运动矢量的L0和L1运动矢量的平均运动矢量的顺序,收集七个临近块的运动矢量并将其放入单向预测候选列表中。如果候选数量少于五个,则将零运动矢量添加到列表中。
更具体地说,涉及以下步骤:
从A1,B1,B0,A0,B2,Col和Col2(对应于图14中的块1-7)中获得运动候选,而不需要任何裁剪操作。
设置变量numCurrMergeCand=0
对于从A1,B1,B0,A0,B2,Col和Col2推导的每个运动候选并且numCurrMergeCand小于5,如果运动候选是单向预测的(来自列表0或列表1),则将其添加到Merge列表中,且numCurrMergeCand增加1。这样添加的运动候选称为“原始单向预测的候选”。
应用完全裁剪。
对于从A1,B1,B0,A0,B2,Col和Col2推导的每个运动候选并且numCurrMergeCand小于5,如果运动候选是双向预测的,则列表0中的运动信息被添加到Merge列表(即修改为来自列表0的单向预测),且numCurrMergeCand增加1。这样添加的候选被称为“截断(Truncated)的列表0预测的候选”。
应用完全裁剪。
对于从A1,B1,B0,A0,B2,Col和Col2推导的每个运动候选并且numCurrMergeCand小于5,如果运动候选是双向预测的,则列表1中的运动信息被添加到Merge列表(即,修改为来自列表1的单向预测),且numCurrMergeCand增加1。这样添加的候选被称为“截断的列表1预测的候选”。
应用完全裁剪。
对于从A1,B1,B0,A0,B2,Col和Col2推导的每个运动候选并且numCurrMergeCand小于5,如果运动候选是双向预测,
–如果列表0参考图片的条带QP小于列表1参考图片的条带QP,则列表1的运动信息首先被缩放为列表0参考图片,并且两个MV(一个来自原始列表0,另一个是来自列表1的缩放MV)的平均值被添加到Merge列表中,这样的候选是来自列表0运动候选的平均单向预测,且numCurrMergeCand增加1。
–否则,首先将列表0的运动信息缩放到列表1参考图片,然后将两个MV(一个来自原始列表1,另一个是来自列表0的缩放MV)的平均值添加到Merge列表中,这样的候选是来自列表1运动候选的平均单向预测,且numCurrMergeCand增加1。
应用完全裁剪。
如果numCurrMergeCand小于5,则添加零运动矢量候选。
2.2.3.2自适应加权处理
在预测每个三角预测单元之后,将自适应加权处理应用于两个三角预测单元之间的对角边缘,以推导整个CU的最终预测。两个加权因子组定义如下:
·第一加权因子组:{7/8、6/8、4/8、2/8、1/8}和{7/8、4/8、1/8}分别用于亮度和色度样点;
·第二加权因子组:{7/8、6/8、5/8、4/8、3/8、2/8、1/8}和{6/8、4/8、2/8}分别用于亮度和色度样点。
基于两个三角预测单元的运动矢量的比较来选择加权因子组。当两个三角预测单元的参考图片彼此不同或者它们的运动矢量差大于16个像素时,使用第二加权因子组。否则,使用第一加权因子组。图15中示出了示例。
2.2.3.3运动矢量存储
三角预测单元的运动矢量(图16中的Mv1和Mv2)存储在4×4网格中。对于每个4×4网格,取决于4×4网格在CU中的位置,存储单向预测或双向预测运动矢量。如图16所示,针对位于非加权区域(即,不在对角线边缘)中的4×4网格存储单向预测运动矢量Mv1或Mv2。另一方面,针对位于加权区域中的4×4网格存储双向预测运动矢量。根据以下规则,从Mv1和Mv2导出双向预测运动矢量:
在Mv1和Mv2具有来自不同方向(L0或L1)的运动矢量的情况下,简单地将Mv1和Mv2组合以形成双向预测运动矢量。
在Mv1和Mv2都来自相同的L0(或L1)方向的情况下,
如果Mv2的参考图片与L1(或L0)参考图片列表中的图片相同,则将Mv2缩放到该图片。Mv1和缩放后的Mv2组合以形成双向预测运动矢量。
如果Mv1的参考图片与L1(或L0)参考图片列表中的图片相同,则将Mv1缩放到该图片。缩放后的Mv1和Mv2组合以形成双向预测运动矢量。
否则,仅Mv1被存储用于加权区域。
2.2.3.4三角预测模式(TPM)的信令
可以首先用信令通知指示是否使用TPM的一位标志。然后,进一步用信令通知两个划分模式的指示(如图13所示),以及为两个分割中的每个分割选择的Merge索引。
2.2.3.4.1 TPM标志的信令
分别用W和H表示一个亮度块的宽度和高度。如果W*H<64,则禁用三角预测模式。
当以仿射模式对一个块进行编解码时,也禁用三角预测模式。
当以Merge模式对一个块进行编解码时,可以用信令通知一位标志以指示是否对该块启用或禁用了三角预测模式。
基于以下等式,用3个上下文对标志进行编解码:
Ctx索引=((可用的左块L&&L用TPM编解码?)1:0)+((上面的可用的块A&&A用TPM编解码?)1:0);
2.2.3.4.2两个划分模式的指示的信令(如图13所示),以及为两个分割中的每个分割选择的Merge索引
注意,联合编解码划分模式和两个分割的Merge索引。限制了两个分割不能使用相同的参考索引。因此,存在2(分割模式)*N个(Merge候选的最大数量)*(N-1)个可能性,其中N被设置为5。一个指示被编解码,并且从下面定义的阵列中推导分割类型、两个Merge索引之间的映射:
const uint8_t g_TriangleCombination[TRIANGLE_MAX_NUM_CANDS][3]={{0,1,0},{1,0,1},{1,0,2},{0,0,1},{0,2,0},{1,0,3},{1,0,4},{1,1,0},{0,3,0},{0,4,0},{0,0,2},{0,1,2},{1,1,2},{0,0,4},{0,0,3},{0,1,3},{0,1,4},{1,1,4},{1,1,3},{1,2,1},{1,2,0},{0,2,1},{0,4,3},{1,3,0},{1,3,2},{1,3,4},{1,4,0},{1,3,1},{1,2,3},{1,4,1},{0,4,1},{0,2,3},{1,4,2},{0,3,2},{1,4,3},{0,3,1},{0,2,4},{1,2,4},{0,4,2},{0,3,4}};
分割类型(45度或135度)=g_TriangleCombination[用信令通知的指示][0];
候选A的Merge索引=g_TriangleCombination[用信令通知的指示][1];
候选B的Merge索引=g_TriangleCombination[用信令通知的指示][2];
一旦推导出了两个运动候选A和B,就可以从A或B中设置两个分割的运动信息(PU1和PU2)。PU1是否使用Merge候选A或B的运动信息取决于两个运动候选的预测方向。表1示出了具有两个分割的两个推导的运动候选A和B之间的关系。
表1:从推导的两个Merge候选(A,B)推导分割的运动信息
A的预测方向 B的预测方向 PU1的运动信息 PU2的运动信息
L0 L0 A(L0) B(L0)
L1 L1 B(L1) A(L1)
L0 L1 A(L0) B(L1)
L1 L0 B(L0) A(L1)
2.2.3.4.3指示的熵编解码(由merge_triangle_idx表示)
merge_triangle_idx在[0,39]范围内,包括端点。K阶指数哥伦布(exp-Golomb,EG)码用于merge_triangle_idx的二值化,其中K设置为1。
第K阶EG
为了用更少的比特编码较大的数字(以使用更多的比特编码较小的数字为代价),可以使用非负整数参数k来概括。以k阶指数哥伦布(exp-Golomb)码编码非负整数x:
使用上述的0阶exp-Golomb码对
Figure BDA0003345397940000191
进行编解码,然后
将x mod 2k编码为二进制位。
表2:Exp-Golomb-k编码示例
Figure BDA0003345397940000192
/>
2.2.4重叠块运动补偿
先前在H.263中使用了重叠块运动补偿(OBMC)。在JEM中,可以使用CU级的语法来打开和关闭OBMC。当在JEM中使用OBMC时,除了CU的右边界和下边界之外,对所有运动补偿(Motion Compensation,MC)块边界执行OBMC。此外,它还应用于亮度和色度分量。在JEM中,MC块对应于编解码块。当用子CU模式(包括子CU Merge、仿射和FRUC模式)编解码CU时,CU的每个子块是MC块。为了以统一的方式处理CU边界,针对所有MC块边界以子块级执行OBMC,其中子块尺寸被设置为等于4×4,如图18所示。
当OBMC应用于当前子块时,除了当前运动矢量之外,四个连接的临近子块的运动矢量(如果可用且与当前运动矢量不同)也用于推导当前子块的预测块。组合基于多个运动矢量的这些多个预测块以生成当前子块的最终预测信号。
将基于临近子块的运动矢量的预测块表示为PN,其中N指示临近的上、下、左和右子块的索引,并且将基于当前子块的运动矢量的预测块表示为PC。当PN是基于包含与当前子块相同的运动信息的临近子块的运动信息时,不从PN执行OBMC。否则,将每个PN样点添加到PC中的相同样点中,即将PN的四行/列添加到PC。将加权因子{1/4,1/8,1/16,1/32}用于PN,并且将加权因子{3/4,7/8,15/16,31/32}用于PC。例外是小MC块(即,当编解码块的高度或宽度等于4或用子CU模式编解码CU时),对其仅将PN的两行/列添加到PC。在这种情况下,将加权因子{1/4,1/8}用于PN,并且将加权因子{3/4,7/8}用于PC。对于基于垂直(水平)临近子块的运动矢量生成的PN,将PN的相同行(列)中的样点添加到具有相同加权因子的PC
在JEM中,对于尺寸小于或等于256个亮度样点的CU,信令通知CU级标志以指示是否对当前CU应用OBMC。对于尺寸超过256个亮度样点或未使用AMVP模式进行编解码的CU,默认应用OBMC。在编码器处,当将OBMC应用于CU时,在运动估计阶段期间考虑其影响。由OBMC使用上侧临近块和左侧临近块的运动信息形成的预测信号用于补偿当前CU的原始信号的上边界和左边界,然后应用正常运动估计处理。
2.2.5局部照明补偿
照明补偿(LIC)是基于用于光照变化的线性模式,使用缩放因子a和偏移b。并且针对每个帧间模式编解码的编解码单元(CU)自适应地启用或禁用它。
当LIC应用于CU时,采用最小平方误差方法来通过使用当前CU的临近样点及其对应的参考样点来推导参数a和b。更具体地,如图19所示,使用CU的子样点(2:1子样点)的临近样点和参考图片中的(由当前CU或子CU的运动信息识别的)对应样点。推导IC参数并将其分别应用于每个预测方向。
当用Merge模式编解码CU时,以类似于Merge模式中的运动信息复制的方式从临近块复制LIC标志;否则,向CU信令通知LIC标志以指示是否应用LIC。
当针对图片启用LIC时,需要额外的CU级RD校验以确定是否将LIC应用于CU。当为CU启用LIC时,分别针对整数像素运动搜索和分数像素运动搜索,使用去均值绝对差之和(Mean-Removed Sum Of Absolute Difference,MR-SAD)和去均值绝对哈达玛变换差之和(Mean-Removed Sum Of Absolute Hadamard-Transformed Difference,MR-SATD),而不是SAD和SATD。
为了降低编解码复杂度,在JEM中应用以下编解码方案。
当当前图片与其参考图片之间没有明显的光照变化时,对于整个图片禁用LIC。为了识别这种情况,在编码器处计算当前图片和当前图片的每个参考图片的直方图。如果当前图片与当前图片的每个参考图片之间的直方图差小于给定阈值,则对当前图片禁用LIC;否则,对当前图片启用LIC。
2.2.6仿射运动补偿预测
在HEVC中,仅将平移运动模型应用于运动补偿预测(MCP)。在现实世界中,有多种运动,例如放大/缩小、旋转、透视运动以及其他不规则运动。在JEM中,应用了简化的仿射变换运动补偿预测。如图20所示,该块的仿射运动场由两个控制点运动矢量描述。
块的运动矢量场(MVF)由以下等式描述:
Figure BDA0003345397940000211
对于6参数仿射:
Figure BDA0003345397940000212
其中(v0x,v0y)是左上角控制点的运动矢量,(v1x,v1y)是右上角控制点的运动矢量,(v2x,v2y)是左下角控制点的运动矢量,(x,y)代表代表点相对于当前块内左上样点的坐标。在VTM中,代表点定义为子块的中心位置,例如,当子块的左上角相对于当前块内左上样点的坐标为(xs,ys)时,代表点的坐标定义为(xs+2,ys+2)。
为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。根据等式2导出子块尺寸M×N,其中MvPre是运动矢量分数精度(JEM中为1/16),(v2x,v2y)是根据等式1计算的左下控制点的运动矢量。
Figure BDA0003345397940000213
在由等式2导出之后,如果必要,应将M和N分别向下调节以使其分别为w和h的除数。
为了导出每个M×N个子块的运动矢量,如图21所示,根据等式1计算每个子块的中心样点的运动矢量,并舍入为1/16的分数精度。然后,将本文其他各处提到的运动补偿插值滤波器应用于生成具有导出运动矢量的每个子块的预测。
在MCP之后,对每个子块的高精度运动矢量进行舍入并保存为与常规运动矢量相同的精度。
2.2.6.1 AF_INTER模式
在JEM中,存在两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中用信令通知CU级的仿射标志以指示是否使用AF_INTER模式。在该模式中,使用邻居块构建具有运动矢量对{(v0,v1)|v0={vA,vB,vc},v1={vD,vE}}的候选列表。如图23所示,从块A、B或C的运动矢量中选择v0。根据邻居块的参考的POC、当前CU的参考的POC与当前CU的POC之间的关系和参考列表来缩放来自邻居块的运动矢量。从邻居块D和E中选择v1的方法与此类似。如果候选列表的数量小于2,则该列表由通过复制每个AMVP候选组成的运动矢量对填充。当候选列表大于2时,首先根据临近运动矢量的一致性(成对候选中两个运动矢量的相似性)对候选进行排序,并且仅保留前两个候选。RD成本检查用于确定选择哪个运动矢量对作为当前CU的控制点运动矢量预测(CPMVP)。并且在比特流中信令通知指示CPMVP在候选列表中的位置的索引。在确定当前仿射CU的CPMVP之后,应用仿射运动估计并且找到控制点运动矢量(CPMV)。然后,在比特流中信令通知CPMV和CPMVP的差。
在AF_INTER模式下,当使用4/6参数仿射模式时,需要2/3个控制点,因此,需要为这些控制点编码2/3MVD,如图22所示。提出推导MV,如下所示,即,从mvd0预测mvd1和mvd2
Figure BDA0003345397940000221
Figure BDA0003345397940000222
Figure BDA0003345397940000223
其中
Figure BDA0003345397940000224
mvdi和mv1分别是左上像素(i=0)、右上像素(i=1)或左下像素(i=2)的预测运动矢量、运动矢量差和运动矢量,如图22(b)所示。请注意,两个运动矢量(例如mvA(xA,yA)和mvB(xB,yB))的加法分别等于两个分量的总和,即newMV=mvA+mvB,且newMV的两个分量分别被设置为(xA+xB)和(yA+yB)。
2.2.6.2AF_MERGE模式
当以AF_MERGE模式应用CU时,它从有效的邻居重建块中获得以仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上(依次由A、B、C、D、E表示),如图24a所示。如果以仿射模式对临近的左下块A进行编解码,如图24b所示,则导出包含块A的CU的左上角、右上角和左下角的运动矢量v2、v3和v4。并且根据v2、v3和v4计算当前CU左上角的运动矢量v0。其次,计算当前CU右上角的运动矢量v1
在导出当前CU的CPMV v0和v1之后,根据简化的仿射运动模型等式1,生成当前CU的MVF。为了识别当前CU是否用AF_MERGE模式编解码,当至少一个临近块以仿射模式编解码时,在比特流中信令通知仿射标志。
通过以下步骤构建仿射Merge候选列表:
插入继承的仿射候选
继承的仿射候选是指候选是从其有效邻居仿射编解码块的仿射运动模型导出的。在通用库中,如图25所示,候选位置的扫描顺序为:A1、B1、B0、A0和B2。
在导出候选之后,执行完全裁剪处理以检查是否已将相同候选插入到列表中。如果存在相同的候选,则丢弃导出的候选。
插入构建的仿射候选
如果仿射Merge候选列表中的候选数量小于MaxNumAffineCand(在该贡献中设置为5),则将构建的仿射候选插入到候选列表中。构建仿射候选是指通过组合每个控制点的邻居运动信息来构建候选。
首先从图25所示的指定空域邻居和时域邻居中推导控制点的运动信息。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,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的参考索引,并且将缩放指向差异参考图片的运动矢量。
在导出候选之后,执行完全裁剪处理以检查是否已将相同候选插入到列表中。如果存在相同的候选,则丢弃导出的候选。
零运动矢量填充
如果仿射Merge候选列表中的候选的数量小于5,则将具有零参考索引的零运动矢量插入候选列表中,直到列表已满。
2.2.7双向光流(bi-directional optical flow,BIO)
双向光流(BIO)是样点级的运动细化,其在用于双向预测的逐块运动补偿之上执行。样点级运动细化不使用信令。
设I(k)为块运动补偿之后参考k(k=0,1)的亮度值,并且
Figure BDA0003345397940000241
分别为I(k)梯度的水平分量和垂直分量。假设光流是有效的,则运动矢量场(vx,vy)由下式给出:
Figure BDA0003345397940000242
将此光流等式与每个样点运动轨迹的埃尔米特插值相结合,得到唯一的三阶多项式,该三阶多项式最后匹配函数值I(k)和其导数
Figure BDA0003345397940000251
两者。该三阶多项式在t=0时的值是BIO预测:
Figure BDA0003345397940000253
这里,τ0和τ1表示到参考帧的距离,如图26所示。基于Ref0和Ref1的POC计算距离τ0和τx:τ0=POC(当前)-POC(Ref0),τ1=POC(Ref1)-POC(当前)。如果两个预测都来自相同的时域方向(两者都来自过去或都来自未来),则sign是不同的(即,τ0·τ1<0。在这种情况下,仅当预测不是来自相同的时刻(即,τ0≠τ1)时才应用BIO,两个参考区域都具有非零运动(MVx0,MVy0,MVx1,MVy1≠0)并且块运动矢量与时域距离成比例(MVx0/MVx1=MVy0/MVy1=-τ01)。
通过最小化点A和B中的值之间的差Δ来确定运动矢量场(vx,vy)(图9的运动轨迹和参考帧平面的交叉)。模式仅使用Δ的局部泰勒展开的第一线性项:
Figure BDA0003345397940000254
等式(5)中的所有值都取决于样点位置(i′,j′)(到目前为止,从符号中省略了)。假设运动在局部周围区域是一致的,在以当前预测点为中心的(2M+1)×(2M+1)的方形窗口Ω内最小化Δ,其中M等于2:
Figure BDA0003345397940000255
对于该优化问题,JEM使用简化方法,首先在垂直方向上进行最小化,然后在水平方向上进行最小化。由此产生:
Figure BDA0003345397940000256
Figure BDA0003345397940000257
其中,
Figure BDA0003345397940000258
为了避免除以零或非常小的值,在等式7和8中可以引入正则化参数r和m。
r=500·4d-8 (10)
m=700·4d-8 (11)
这里d是视频样点的比特深度。
为了使BIO的存储器访问与常规双向预测运动补偿保持相同,仅针对当前块内的位置计算所有预测和梯度值I(k),
Figure BDA0003345397940000261
如图27(a)所示,在等式9中,以在预测块的边界上的当前预测点为中心的(2M+1)×(2M+1)方形窗口Ω需要访问块外部的位置。在JEM中,将块外部的I(k),/>
Figure BDA0003345397940000262
的值设置为等于块内最近的可用值。例如,这可以实施为填充,如图27(b)所示。
利用BIO,可以针对每个样点细化运动场。为了降低计算复杂度,在JEM中使用基于块的BIO设计。基于4×4的块计算运动细化。在基于块的BIO中,可以聚合4×4的块中的所有样点的等式9中的sn的值,然后将sn的聚合值用于推导4×4块的BIO运动矢量偏移。更具体地,以下公式可以用于基于块的BIO推导:
Figure BDA0003345397940000263
这里,bk表示属于预测块的第k个4×4块的样点集。将等式7和8中的sn替换为((sn,bk)>>4),以推导相关联的运动矢量偏移。
在一些情况下,由于噪音或不规则运动,BDOF的MV团(MV regiment)可能不可靠。因此,在BIO中,MV团的尺寸被阈值thBIO剪切。基于当前图片的参考图片是否都来自一个方向来确定阈值。如果当前图片的所有参考图片都来自一个方向,则将阈值的值设置为12×214-d;否则,将其设置为12×213-d
利用使用与HEVC运动补偿处理(2DFIR(可分离有限脉冲响应))一致的操作的运动补偿插值来同时计算BIO的梯度。根据块运动矢量的分数部分,该2D可分离FIR的输入是与运动补偿处理和分数位置(fracX,fracY)相同的参考帧样点。在对于水平梯度
Figure BDA0003345397940000264
首先使用与具有去缩放偏移d-8的分数位置fracY相对应的BIOfilterS垂直插值信号的情况下,然后在水平方向上应用梯度滤波器BIOfilterG,该BIOfilterG与具有去缩放偏移18-d的分数位置fracX相对应。在对于垂直梯度/>
Figure BDA0003345397940000271
首先使用与具有去缩放偏移d-8的分数位置fracY相对应的BIOfilterG垂直应用梯度滤波器的情况下,然后在水平方向上使用BIOfilterS执行信号位移,该BIOfilterS与具有去缩放偏移18-d的分数位置fracX相对应。用于梯度计算的插值滤波器BIOfilterG和用于信号位移的插值滤波器BIOfilterS的长度较短(6抽头),以保持合理的复杂度。表3示出了用于BIO中块运动矢量的不同分数位置的梯度计算的滤波器。表4示出了用于BIO中预测信号生成的插值滤波器。
表1:用于BIO中的梯度计算的滤波器
分数像素位置 梯度的插值滤波器(BIOfilterG)
0 {8,-39,-3,46,-17,5}
1/16 {8,-32,-13,50,-18,5}
1/8 {7,-27,-20,54,-19,5}
3/16 {6,-21,-29,57,-18,5}
1/4 {4,-17,-36,60,-15,4}
5/16 {3,-9,-44,61,-15,4}
3/8 {1,-4,-48,61,-13,3}
7/16 {0,1,-54,60,-9,2}
1/2 {-1,4,-57,57,-4,1}
表2:用于BIO中预测信号生成的插值滤波器
分数像素位置 预测信号的插值滤波器(BIOfilterS)
0 {0,0,64,0,0,0}
1/16 {1,-3,64,4,-2,0}
1/8 {1,-6,62,9,-3,1}
3/16 {2,-8,60,14,-5,1}
1/4 {2,-9,57,19,-7,2}
5/16 {3,-10,53,24,-8,2}
3/8 {3,-11,50,29,-9,2}
7/16 {3,-11,44,35,-10,3}
1/2 {3,-10,35,44,-11,3}
在JEM中,当两个预测来自不同的参考图片时,BIO应用于所有双向预测块。当为CU启用LIC时,可以禁用BIO。
在JEM中,OBMC在正常MC处理之后应用于块。为了降低计算复杂度,在OBMC处理中不应用BIO。这意味着BIO仅在使用其自身的MV时才应用于块的MC处理,并且在OBMC处理中使用临近块的MV时不应用于MC处理。
2.2.8解码器侧运动矢量细化
在双向预测操作中,对于一个块区域的预测,将分别使用list0的运动矢量(MV)和list1的MV形成的两个预测块进行组合以形成单个预测信号。在解码器侧运动矢量细化(Decoder-Side Motion Vector Refinement,DMVR)方法中,通过双边模板匹配处理进一步细化双向预测的两个运动矢量。双边模板匹配应用在解码器中,以在双边模板和参考图片中的重建样点之间执行基于失真的搜索,以便获得细化的MV而无需传输附加的运动信息。
在DMVR中,分别从列表0的原始MV0和列表1的MV1,将双边模板生成为两个预测块的加权组合(即平均),如图28所示。模板匹配操作包括计算所生成的模板与参考图片中的(在原始预测块周围的)样点区域之间的成本度量。对于两个参考图片中的每个,将产生最小模板成本的MV考虑为该列表的更新MV以替换原始MV。在JEM中,对每个列表搜索九个MV候选。该九个MV候选包括原始MV和8个与原始MV在水平或垂直方向上或两个方向上具有一个亮度样点偏移的环绕的MV。最后,将两个新的MV,即如图28中所示的MV0'和MV1',用于生成最终的双向预测结果。将绝对差之和(SAD)用作成本度量。请注意,在计算由一个环绕MV生成的预测块的成本时,舍入的MV(至整数像素)实际上是用来获取预测块而不是实际的MV。
将DMVR应用于双向预测的Merge模式,其中一个MV来自过去的参考图片,另一MV来自未来的参考图片,而无需传输额外的语法元素。在JEM中,当对CU启用LIC、仿射运动、FRUC或子CU Merge候选时,不应用DMVR。
在针对各种实施方式描述的以下示例中阐明了基于公开技术的基于LUT的运动矢量预测,该技术可以增强现有和未来的视频编解码标准。因为LUT允许基于历史数据(例如,已处理的块)执行编码/解码处理,所以基于LUT的运动矢量预测也可以称为基于历史的运动矢量预测(HMVP)方法。在基于LUT的运动矢量预测方法中,在编码/解码处理期间维护一个或多个带有来自先前编解码的块的运动信息的表。存储在LUT中的这些运动候选被称为HMVP候选。在一个块的编码/解码期间,可以将LUT中的相关运动信息添加到运动候选列表(例如,Merge/AMVP候选列表),并且在对一个块进行编码/解码之后,可以更新LUT。然后,将更新的LUT用于编解码后续块。即,LUT中的运动候选的更新基于块的编码/解码顺序。以下示例应视为解释一般概念的示例。这些示例不应狭义地解释。此外,这些示例可以以任何方式组合。
3.实施例解决的问题的示例
在三角分割的设计中,可以将一个块划分为两个分割。为了节省由于运动补偿引起的内存带宽,要求两个分割应当是单向预测的。在运动补偿处理中,对角线边缘使用双向预测,而所有其他剩余部分使用单向预测。如果每个分割都允许双向预测,则位于对角线边缘的样点将具有四个MV,其中两个来自一个分割,另外两个来自另一个分割。这样的设计存在以下问题:
在Merge列表构建处理中,仅检查空域临近块和时域块。
三角分割不允许基于历史的运动矢量预测技术。
如何利用帧内块复制模式来处理三角分割模式是未知的。
4.实施例的示例
所提出的技术可以应用于任何非正方形/非矩形分割,例如几何分割。在以下描述中,我们使用“三角分割模式”来表示一个作为非正方形/非矩形分割模式(TPM)的示例。应当注意,其他种类的分割也可以适用。
以下详细技术应被视为示例以解释一般概念。这些技术不应狭义地解释。此外,这些发明可以以任何方式组合。将块尺寸表示为WxH。
1.取代对Merge模式始终应用三角预测模式,提出对帧内编解码块或非Merge帧间编解码块启用三角预测模式。
a.在一个示例中,以不同的帧内预测模式来预测两个分割。
b.可替代地,此外,可以进一步滤波沿边缘边界的样点的预测值。
c.在一个示例中,两个三角分割的运动信息(诸如MV)无法相互预测。
i.可替代地,一个三角分割的运动信息(诸如MV)可以用于预测另一分割。
2.提出当一个块被划分成两个几何分割时,一个分割可以用帧内模式进行编解码,而另一个分割可以用帧间模式进行编解码。
a.在一个示例中,对于帧间编解码分割,也可以应用双向预测。
b.在一个示例中,当以Merge模式对当前块进行编解码时,可以信令通知这种方法,即对于帧间编解码分割,利用Merge索引来对运动信息进行信令通知。
c.可替代地,此外,可以进一步滤波沿边缘边界的样点的预测值。
d.在一个示例中,可以仅应用帧内预测模式的子集。
i.对于两个分割,子集可能不同。
ii.子集可以取决于分割的位置。
iii.子集可以取决于块尺寸和/或块形状。
3.如在第1项和第2项中所公开的,Merge或非Merge帧间编解码编解码块可以使用当前图片作为参考图片。
4.提出当以三角分割模式对一个块进行编解码时,非相邻空域块的帧间/帧内编解码信息也可以被视为对当前块进行编解码的预测器。
a.在一个示例中,可以利用非相邻空域块的运动信息。
b.在一个示例中,可以利用非相邻空域块的帧内预测模式。
c.可替代地,时域块的编解码信息可以进一步用于利用TPM对一个块进行编解码。
5.提出在用于TPM编解码块的Merge列表构建处理中添加从HMVP(History basedmotion vector prediction,基于历史的运动矢量预测)候选导出的运动候选,其中,HMVP候选是从先前编解码的块继承或导出的运动信息。
HMVP候选存储的表维护
a.HMVP候选的维护和/或用于存储的表的更新和/或HMVP候选可以与正常运动矢量的HMVP相同。
b.在一个示例中,可为HMVP候选存储维护同一表,所述HMVP候选可用于非TPM编解码块和TPM编解码块两者。
i.在一个示例中,TPM使用的运动信息不被放入HMVP存储中。在对TPM编解码块进行编解码/解码之后,不更新HMVP表。
c.在一个示例中,可以维护单独的表以存储用于对TPM编解码块进行编解码的HMVP候选。
i.可以利用仅来自TPM编解码块的运动信息为HMVP候选存储维护表。
ii.可以维护两个表来分别存储单向预测和双向预测的HMVP候选。
iii.可以维护两个表来分别存储第一分割和第二分割的运动信息。
iv.可以维护两个表来分别存储列表0和列表1运动信息。
v.可替代地,可以维护三个表来分别存储列表0的单向预测、L1的单向预测和双向预测的HMVP候选。
d.用TPM编解码块编解码后,可不更新用于HMVP候选存储的表。
i.可替代地,可以用第一分割的运动信息来更新用于HMVP候选存储的一个/多个表。
ii.可替代地,可以用第二分割的运动信息来更新用于HMVP候选存储的一个/多个表。
iii.可替代地,可以通过添加两个HMVP候选,利用来自两个分割的运动信息来更新用于HMVP候选存储的一个/多个表。
iv.可替代地,可以通过添加一个HMVP候选(例如,当从两个参考图片列表中预测两个分割时),利用来自两个分割的运动信息来更新用于HMVP候选存储的一个/多个表。
v.是否将一个或两个运动候选添加到HMVP表可以取决于是否从相同参考图片列表和/或从相同参考图片来预测两个分割。
vi.是否将第一分割或第二分割的运动信息添加到HMVP表可以取决于参考图片与当前图片之间的POC差。
e.当保留用于对TPM和非TPM编解码块进行编解码的单独表时,可以基于一个块的模式来调用表的更新。
i.在一个示例中,在对TPM编解码块进行解码之后,运动信息可以用于更新用于对TPM编解码块进行编解码的表。
ii.在一个示例中,在对非TPM编解码块进行解码之后,运动信息可以用于更新用于对非TPM编解码块进行编解码的表。
iii.可替代地,此外,在对非TPM编解码块进行解码之后,运动信息可以用于更新用于对TPM编解码块进行编解码的表。
在TPM编解码块中使用HMVP候选
f.HMVP候选可以被直接添加到用于TPM编解码块的Merge列表。
i.可替代地,可以利用一个HMVP候选来推导两个运动候选,例如,一个是具有列表0运动信息的单向预测,而另一个是具有HMVP候选的列表1运动信息的单向预测。
ii.当插入从HMVP候选导出/继承的运动候选与从空域或时域块中导出/继承的其他运动候选时,可以应用裁剪。
iii.当插入从HMVP候选导出/继承的运动候选与从另一个HMVP候选导出/继承的运动候选时,可以应用裁剪。
iv.当插入从HMVP候选导出/继承的运动候选与从同一HMVP候选导出/继承的另一个运动候选时,可以应用裁剪。
g.在一个示例中,可以在从诸如图14中的块1-7的空域和/或时域块导出的运动候选之后,添加从一个或多个HMVP候选导出的一个或多个运动候选。在这种情况下,以与其他空域/时域Merge候选相同的方式对待HMVP候选。
h.从HMVP候选继承/导出的运动候选可以在Merge列表构建处理中、在特定步骤之后或之前被添加到Merge列表中,这依赖于空域/时域块的运动信息。
i.可替代地,可以在几个预定义步骤之后或之前,将从HMVP候选继承/导出的运动候选添加到Merge列表。
ii.在一个示例中,可以在具有当前设计的所有最初的单向预测的候选之后立即添加具有单向预测的一个或多个HMVP候选。
iii.在一个示例中,可以在所有截断的列表0预测的候选之后立即添加具有来自L0的单向预测或双向预测的一个或多个HMVP候选。可替代地,此外,如果HMVP候选具有双向预测,则仅可以保留列表0运动信息。
iv.在一个示例中,可以在所有截断的列表1预测的候选之后立即添加具有来自L1的单向预测或双向预测的一个或多个HMVP候选。可替代地,此外,如果HMVP候选具有双向预测,则仅可以保留列表1运动信息。
v.在一个示例中,可在来自列表0或列表1运动候选的所有平均单向预测之后立即添加一个或多个HMVP候选。
vi.在一个示例中,可在来自列表0或列表1运动候选的所有平均单向预测之前立即添加一个或多个HMVP候选。
i.从HMVP候选继承/导出的运动候选可以与从空域/时域块的运动信息继承/导出的运动候选以交错的方式被添加到Merge列表中。
j.在一个示例中,可以在从另一HMVP候选的列表0和列表1导出的运动候选之前按顺序添加从每个HMVP候选的列表0和列表1导出的运动候选。
k.在一个示例中,可以在从第二组HMVP候选的列表1导出的运动候选之前按顺序添加从第一组HMVP候选的列表0导出的运动候选。
i.在一个示例中,第一组和第二组是同一组,即,所有可用的HMVP候选。
ii.可替代地,第一组和第二组可以不同,诸如第一组HMVP候选包括具有来自列表0的单向预测和双向预测的HMVP候选;而第二组HMVP候选包括具有来自列表1的单向预测和双向预测的HMVP候选。
iii.与第一和第二组相关联的HMVP候选的数量可以不同。
l.列表LX的HMVP候选可以首先缩放到列表L(1-X),然后再用于列表L(1-X)。
i.缩放的候选可以被插入所有其他候选之后。
ii.可以将缩放的候选插入到除时域候选之外的所有其他候选之后。
m.用于导出要添加到TPM Merge列表的运动候选的HMVP候选的检查顺序可以取决于HMVP候选的索引。
i.可替代地,它可以取决于预测方向。
ii.可替代地,它可以取决于运动信息。
6.可以预先定义在TPM Merge列表构建处理中要检查多少HMVP,例如5。
a.在TPM Merge列表构建处理中要检查的HMVP候选的数量可取决于块尺寸/块形状/在检查HMVP候选之前有多少个可用候选。
b.可以在SPS/VPS/PPS/图片标头/条带标头/片组标头/CTU行/CTU/CTU组中信令通知在TPM Merge列表构建处理中要检查的HMVP候选的数量。
c.当将在TPM Merge列表构建处理中检查部分可用HMVP候选时,HMVP候选的选择可取决于预测方向/MV信息/参考图片索引/和候选和/或候选索引的当前图片与参考图片的POC距离。
7.是否将HMVP应用于TPM编解码块以及如何在TPM编解码块上应用HMVP可取决于块尺寸(例如,宽度和/或高度、宽度与高度的比率)或块的形状(例如,正方形或非正方形)。
8.所提出的方法还可以适用于用于几何分割的其他类型的运动候选列表(诸如AMVP列表)。
9.HMVP表尺寸(即,可以存储历史运动候选的最大数量)可以取决于一个或多个运动候选列表尺寸的函数。
a.在一个示例中,HMVP表尺寸可以取决于常规Merge列表尺寸、TPM Merge列表尺寸、IBC Merge列表尺寸、常规帧间AMVP列表尺寸、常规帧间IBC列表尺寸等。
b.在一个示例中,HMVP表尺寸可取决于访问相同HMVP表的那些运动候选列表。
c.在一个示例中,该函数可以是函数Max(输入),其返回多个输入之中的最大值。
d.在一个示例中,HMVP表尺寸可以被定义为Max(常规Merge列表尺寸减去K0,TPMMerge列表尺寸减去K1,IBC Merge列表尺寸减去K2)。
i.在一个示例中,K0=K1=K2=1。
10.HMVP表尺寸(即,可以存储历史运动候选的最大数量)可以取决于可以被添加到运动候选列表的一个或多个HMVP候选数量(由numHMVP表示)的函数。
a.在一个示例中,它可以取决于可以被添加到运动候选列表(例如,常规Merge列表、TPM Merge列表、IBC Merge列表、常规帧间AMVP列表、常规帧间IBC列表等)的HMVP候选的数量。
b.在一个示例中,该函数可以是函数Max(输入),其返回多个输入之中的最大值。
c.在一个示例中,HMVP表尺寸可以被定义为Max(常规Merge列表的numHMVP减去K0,常规AMVP列表的numHMVP减去K1)。
i.在一个示例中,K0=1并且K1=0。
d.在一个示例中,HMVP表尺寸可以被定义为Max(常规Merge列表的numHMVP减去K0,TPM Merge列表的numHMVP减去K1,IBC Merge列表的尺寸numHMVP减去K2)。
iii.在一个示例中,K0=K1=K2=1。
11.一种编解码模式的HMVP表尺寸可以不同于另一种编解码模式,并且它可以取决于运动候选列表尺寸。
a.在一个示例中,常规Merge和TPM Merge列表的HMVP表尺寸可取决于常规Merge列表尺寸。
iv.在一个示例中,HMVP表尺寸可以等于常规Merge列表尺寸减去K0,例如K0=1。
b.在一个示例中,常规Merge和TPM Merge列表的HMVP表尺寸可以取决于常规Merge列表尺寸和TPM Merge列表尺寸。
v.在一个示例中,它可以被定义为Max(常规Merge列表尺寸减去K0,TPM Merge列表尺寸减去K1)。
vi.在一个示例中,常规帧间AMVP的HVMP表跟随常规Merge和TPM Merge列表的HVMP表。
c.在一个示例中,IBC编解码块的HMVP表尺寸取决于常规Merge列表和/或TPMMerge列表的尺寸。
vii.例如,IBC编解码块的HMVP表尺寸等于常规Merge列表和/或TPM Merge列表的尺寸。
viii.可替代地,用于IBC编解码Merge/AVMP块的HMVP表尺寸可以取决于IBCMerge/AMVP候选列表尺寸的尺寸。
d.可以在比特流中信令通知HMVP表尺寸的指示。
ix.当信令通知的尺寸等于0时,HMVP候选不会插入到任何运动候选列表中。
x.在一个示例中,HMVP表尺寸不允许为0。
xi.可替代地,信令通知HMVP表尺寸减去K0,例如K0=1。
12.可以在比特流中信令通知可以被添加到运动候选列表的允许的HMVP候选的数量的指示。
a.在一个示例中,对于每种模式(例如,IBC或非IBC;非Merge AMVP),可以独立地信令通知允许的HMVP候选的数量的指示。
b.可替代地,可以以预测的方式信令通知允许的HMVP候选的数量的指示。
c.可替代地,此外,HMVP表尺寸可以取决于HMVP候选的允许数量。
d.例如,可以被添加到运动候选列表的允许的HMVP候选的数量不允许为0。
e.可替代地,可以信令通知可以被添加到运动候选列表减去K0的允许的HMVP候选的数量,例如K0=1。
f.可替代地,可以应用可以被添加到运动候选列表的允许的HMVP候选数量(由numHMVP表示)和运动候选列表中的最大运动候选数量(由numMotionList表示)的预测编解码。
xii.在一个示例中,可以对numMotionList和numHMVP之间的差进行编解码。
xiii.在一个示例中,可以对(numMotionList-K0)和numHMVP之间的差进行编解码,例如,K0=1。
13.可以被添加到运动候选列表的允许的HMVP候选的数量可以取决于运动候选列表尺寸。
a.在一个示例中,它可以从对应的运动候选列表尺寸导出,诸如(列表尺寸–K0),例如K0=0或1。
b.在一个示例中,它可以从运动候选列表所使用的对应HMVP表的尺寸中导出,诸如(表尺寸–K0),例如K0=0或1。
14.一致性比特流应满足:可以添加到运动候选列表中的允许的HMVP候选的数量不大于运动候选列表中最大运动候选的数量。
a.可替代地,一致性比特流应满足:可以被添加到运动候选列表中的允许的HMVP候选的数量不大于(运动候选列表中的最大运动候选数量减去K0),例如,K0=1。
图29是视频处理装置2900的框图。装置2900可用于实现这里描述的一个或多个方法。装置2900可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置2900可以包括一个或多个处理器2902、一个或多个存储器2904和视频处理硬件2906。处理器2902可以被配置为实现在本文中描述的一种或多种方法。可以将(一个或多个)存储器2904用于存储用于实现这里描述的方法和技术的数据和代码。视频处理硬件2906可用于在硬件电路中实现本文档中描述的一些技术。
图31是用于处理视频的方法3100的流程图。方法3100包括执行(3105)第一视频块是帧内编解码的或非Merge帧间编解码的确定,基于第一视频块是帧内编解码的或非Merge帧间编解码的确定,来确定(3110)基于第一视频块的第一预测部分和第二预测部分,其中第一预测部分或第二预测部分中的一个或两个是第一视频块的非矩形和非正方形部分,并且使用第一预测部分和第二预测部分执行(3115)对第一视频块的进一步处理。
图32是用于处理视频的方法3200的流程图。方法3200包括执行(3205)第一视频块是帧内编解码的或非Merge帧间编解码的确定,确定(3210)用于第一视频块的第一预测部分和第二预测部分,其中第一预测部分或第二预测部分中的一个或两个是第一视频块的非矩形和非正方形部分,并使用第一预测部分和第二预测部分执行(3215)对第一视频块的进一步处理,其中至少一个预测部分是Merge或非Merge帧间编解码的,并且使用当前图像作为参考图像。
图33是用于处理视频的方法3300的流程图。方法3300包括执行(3305)第一视频块是帧内编解码的或非Merge帧间编解码的确定,确定(3310)第一视频块的第一预测部分和第二预测部分,其中第一预测部分或第二预测部分中的一个或两个是第一视频块的非矩形和非正方形部分,并使用第一预测部分和第二预测部分执行(3315)对第一视频块的进一步处理,其中使用第一预测部分和第二预测部分执行对第一视频块的进一步处理是基于相对于第一视频块的非相邻空域块的帧间或帧内编解码信息。
图34是用于处理视频的方法3400的流程图。方法3400包括执行(3405)使用第一视频块的三角预测部分对第一视频块进行三角部分模式(TPM)编解码的确定,并使用第二视频块的非三角预测部分对第二视频块进行非TPM编解码,使用存储的HMVP候选执行(3410)对第一视频块和第二视频块的进一步处理,以及存储(3415)与第一视频块和第二视频块相关联的HMVP候选。
图35是用于处理视频的方法3500的流程图。方法3500包括执行第一视频块包括作为第一视频块的非矩形和非正方形部分的预测部分的确定(3505);识别(3510)HMVP候选;将从HMVP候选导出的一个或多个运动候选添加(3515)到与包括非矩形和非正方形的预测部分的视频块相关联的Merge列表中,以及使用Merge列表对第一视频块执行(3520)进一步的处理。
参考方法3100、3200、3300、3400和3500,在本文档的第4节中描述了确定用于编解码的候选对象及其使用的一些示例。例如,如第4节所述,可以使用非正方形和非矩形的预测部分来处理视频块。
参考方法3100、3200、3300、3400和3500,可以在视频比特流中编码视频块,其中可以通过使用与运动信息预测有关的比特流生成规则来实现比特效率。
该方法可以包括:使用第一帧内预测模式确定第一预测部分的图像信息;使用第二帧内预测模式确定第二预测部分的图像信息,第一帧内预测模式与第二帧内预测模式不同。
该方法可以包括:沿着第一预测部分和第二预测部分之间的边缘边界滤波与第一预测部分和第二预测部分有关的预测值。
该方法可以包括:由处理器确定第一预测部分的第一运动信息;以及由处理器确定第二预测部分的第二运动信息,其中,在不使用第二运动信息的情况下确定第一运动信息,并且在不使用第一运动信息的情况下确定第二运动信息。
该方法可以包括:由处理器确定第一预测部分的第一运动信息;以及由处理器确定第二预测部分的第二运动信息,其中,使用第一运动信息确定第二运动信息。
该方法可以包括:利用帧内模式编解码来处理第一预测部分;以及用帧间模式编解码来处理第二预测部分。
该方法可以包括:其中处理第二预测部分包括应用双向预测。
该方法可以包括:其中处理第二预测部分包括确定用Merge索引信令通知的运动信息。
该方法可以包括:沿着第一预测部分和第二预测部分之间的边缘边界滤波与第一预测部分和第二预测部分有关的预测值。
该方法可以包括:其中使用帧内模式编解码的子集。
该方法可以包括:其中第一预测部分和第二预测部分与帧内模式编解码的不同子集相关联。
该方法可以包括:其中,第一预测部分和第二预测部分基于第一预测部分和第二预测部分的位置与帧内模式编解码的不同子集相关联。
该方法可以包括:其中第一预测部分和第二预测部分基于以下一项或多项与帧内模式编解码的不同子集相关联:第一视频块的尺寸或第一视频块的形状。
该方法可以包括:其中非相邻空域视频块的帧间或帧内编解码信息包括非相邻空域视频块的运动信息。
该方法可以包括:其中使用非相邻空域视频块的帧内预测模式。
该方法可以包括:其中使用时域块的编解码信息。
该方法可以包括:在运动矢量预测候选列表中添加基于历史的运动矢量预测(HMVP)候选,其中HMVP候选包括基于先前编解码的视频块的运动信息;以及基于所述候选HMVP对所述第一视频块进行解码。
该方法可以包括:其中将HMVP候选存储在表中,并且其中不将TPM使用的运动信息存储在表中。
该方法可以包括:其中在使用TPM对第一视频块进行编码或解码之后不更新表。
该方法可以包括:其中将HMVP候选存储在第一表和第二表中,第一表存储用于TPM的HMVP候选,并且第二表存储用于非TPM的HMVP候选。
该方法可以包括:其中第一表或第二表中的一个存储单向预测的HMVP候选,并且另一个存储双向预测的HMVP候选。
该方法可以包括:其中第一表或第二表中的一个存储第一分割部分的运动信息,并且另一个存储第二分割部分的运动信息。
该方法可以包括:其中,第一表或第二表中的一个存储列表0的运动信息,并且另一个存储列表1的运动信息。
该方法可以包括:其中第一表存储来自列表0的单向预测的HMVP候选,第二表存储来自列表1的单向预测的HMVP候选,第三表存储双向预测的HMVP候选。
该方法可以包括:其中基于第一预测部分或第二预测部分中的一个或两个是第一视频块的非矩形和非正方形几何部分,不更新用于HMVP候选存储的表。
该方法可以包括:利用第一分割部分的运动信息来更新用于HMVP候选的第一表或第二表中的一个或多个。
该方法可以包括:使用第二分割部分的运动信息来更新用于HMVP候选的第一表或第二表中的一个或多个。
该方法可以包括:利用第一分割部分的运动信息和第二分割部分的运动信息来更新用于HMVP候选存储的第一表或第二表中的一个或多个。
该方法可以包括:确定从两个参考图片列表中预测出第一分割部分和第二分割部分;以及基于从两个参考图片列表中预测出第一分割部分和第二分割部分的确定,用一个HMVP候选的运动信息更新用于HMVP候选存储的一个或多个表。
该方法可以包括:确定使用相同的参考图片列表或相同的参考图片预测第一分割部分和第二分割部分,其中,基于使用相同的参考图片列表或相同的参考图片预测第一分割部分和第二分割部分的确定来更新表。
该方法可以包括:确定参考图片和当前图片之间的图片顺序计数(POC)差,其中,基于POC差将第一分割部分或第二分割部分的运动信息添加到一个或多个表中。
该方法可以包括:确定关于第一视频块的编解码的特性;以及基于关于第一视频块的编解码的特性,更新第一表或第二表中的一个或两个。
该方法可以包括:其中运动信息用于在对TPM视频块进行解码之后更新与TPM视频块相关联的表。
该方法可以包括:其中运动信息用于在对非TPM视频块进行解码之后更新与非TPM视频块相关联的表。
该方法可以包括:其中运动信息用于在对非TPM视频块进行解码之后更新与TPM视频块相关联的表。
该方法可以包括:从HMVP候选确定第一运动候选和第二运动候选,第一Merge候选或第二Merge候选中的一个是具有HMVP候选的列表0运动信息的单向预测,而另一个是具有HMVP候选的列表1运动信息的单向预测。
该方法可以包括:基于插入从HMVP候选导出的运动候选与基于空域或时域视频块的其他运动候选来进行裁剪。
该方法可以包括:基于插入从HMVP候选导出的运动候选与基于其他HMVP候选的其他运动候选来进行来裁剪。
该方法可以包括:基于插入从HMVP候选导出的运动候选与基于HMVP候选的其他运动候选来进行裁剪。
该方法可以包括:在从空域或时域视频块中的一个或两个导出的运动候选之后,将从与第一视频块相关联的HMVP候选导出的运动候选添加到Merge列表。
该方法可以包括:基于空域或时域视频块的运动信息,在Merge列表构建处理之后或之前,将从HMVP候选导出的运动候选添加到Merge列表中。
该方法可以包括:在预定义步骤之后或之前,将从HMVP候选导出的运动候选添加到Merge列表。
该方法可以包括:在最初的单向预测候选之后,添加从HMVP候选导出的、具有单向预测的运动候选。
该方法可以包括:在截断的列表0的预测候选之后,添加从HMVP候选中导出的、具有来自列表0的单向预测或双向预测的运动候选。
该方法可以包括:在截断的列表1的预测候选之后,添加从HMVP候选中导出的、具有来自列表1的单向预测或双向预测的运动候选。
该方法可以包括:在来自列表0或列表1运动候选的平均单向预测之后,添加从HMVP候选导出的运动候选。
该方法可以包括:在来自列表0或列表1运动候选的平均单向预测之前,添加从HMVP候选导出的运动候选。
该方法可以包括:根据与基于与相对于第一视频块的空域或时域视频块的运动信息的运动候选的交织,将从HMVP候选导出的运动候选添加到Merge列表中。
该方法可以包括:其中,在从另一HMVP候选的列表0和列表1导出的运动候选之前,依次添加从HMVP候选的列表0和列表1导出的运动候选。
在此,该方法可以包括:在从第二组HMVP候选的列表1导出的运动候选之前,依次添加从第一组HMVP候选的列表0导出的运动候选。
该方法可以包括:其中第一组和第二组相同,其中第一组和第二组包括所有可用的HMVP候选。
该方法可以包括:其中第一组和第二组不同,第一组包括具有来自列表0的单向预测和双向预测的HMVP候选,第二组包括具有来自列表1的单向预测和双向预测的HMVP候选。
该方法可以包括:其中第一组包括第一数量的HMVP候选,第二组包括第二数量的HMVP候选,第一数量和第二数量不同。
该方法可以包括:其中可以通过其列表LX的运动矢量缩放到列表L(1-X)来从HMVP候选中获得缩放运动候选,并且向缩放的运动候选分配缩放的运动矢量和列表L(1-X)。
该方法可以包括:其中从HMVP候选导出的缩放的运动候选被插入在从HMVP候选导出的其他运动候选之后。
该方法可以包括:其中从HMVP候选导出的缩放的运动候选被插入到时域候选之前。
该方法可以包括:其中要被添加到Merge列表的HMVP候选的检查顺序是基于HMVP候选的索引。
该方法可以包括:其中要被添加到Merge列表的HMVP候选的检查顺序是基于预测方向。
该方法可以包括:其中要被添加到Merge列表的HMVP候选的检查顺序是基于运动信息。
该方法可以包括:其中预定义在TPM Merge列表构建处理中要检查的HMVP候选的数量。
该方法可以包括:在TPM Merge列表构建处理中要检查的HMVP候选的数量是基于第一视频块的块尺寸、第一视频块的块形状、或在检查HMVP候选之前可用的候选的数量。
该方法可以包括:在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图片标头、片组标头、条带标头、编解码树单元(CTU)行的组、CTU或CTU组中信令通知要在TPMMerge列表构建处理中检查的HMVP候选的数量。
该方法可以包括:其中,HMVP候选的选择是基于预测方向、运动矢量(MV)信息、参考图片索引、候选和候选索引中的一个或两个的参考图片和当前图片的POC距离。
该方法可以包括:其中与第一视频块相关联地应用HMVP是基于第一视频块的块尺寸或第一视频块的块形状。
该方法可以包括:其中非矩形和非正方形部分是三角形。
应当理解,当被压缩的编解码单元的形状与传统的正方形块或半正方形的矩形块显著不同时,所公开的技术可以体现在视频编码器或解码器中以提高压缩效率。例如,使用诸如4×32或32×4尺寸的单元的长的或高的编解码单元的新的编解码工具可以从所公开的技术中受益。
图36是用于处理视频的方法3600的流程图。方法3600包括:在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间的转换期间,确定(3605)当前块的多个子部分;确定(3610)多个子部分的帧内预测信息;以及使用多个子部分的帧内预测信息执行(3615)当前块的转换;并且其中,当前块是帧内编解码的,并且多个子部分中的至少一个是非矩形和非正方形子部分。应当注意,子块可能等同于上面的预测部分。
在一些实施例中,可以对方法3600执行附加修改。例如,确定所述多个子部分的帧内预测信息包括:使用第一帧内预测模式确定所述多个子部分中的第一子部分的第一帧内预测信息;使用第二帧内预测模式确定所述多个子部分中的第二子部分的第二帧内预测信息;其中,第一帧内预测模式不同于第二帧内预测模式。通过使用帧内预测模式的第一子集来确定所述第一帧内预测信息,并且通过使用帧内预测模式的第二子集来确定所述第二帧内预测信息;其中,帧内预测模式的第一子集不同于帧内预测模式的第二子集。帧内预测模式的子集基于第一子部分和/或第二子部分的位置、尺寸和形状中的至少一个。确定所述多个子部分的帧内预测信息还包括:沿着多个子部分中的至少一个的边缘边界对样点的预测值进行滤波。在不使用所述多个子部分的第二子部分的第二帧内预测信息的情况下,确定所述多个子部分的第一子部分的第一帧内预测信息,并且在不使用第一子部分的第一帧内预测信息的情况下,确定第二子部分的第二帧内预测信息。使用所述多个子部分的第二子部分的第二帧内预测信息来确定所述多个子部分的第一子部分的第一帧内预测信息,和/或使用第一子部分的第一帧内预测信息来确定第二子部分的第二帧内预测信息。
图37是用于处理视频的方法3700的流程图。方法3700包括:在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间的转换期间,确定(3705)当前块的多个子部分;确定(3710)所述多个子部分的运动信息;使用多个子部分的运动信息执行(3715)当前块的转换;并且其中,当前块是非Merge帧间编解码的,并且多个子部分中的至少一个是非矩形和非正方形子部分。
在一些实施例中,可以对方法3700执行附加修改。例如,确定所述多个子部分的运动信息包括:使用第一帧内预测模式确定多个子部分中的第一子部分的第一运动信息;使用第二帧内预测模式确定多个子部分中的第二子部分的第二运动信息。确定所述多个子部分的帧内预测还包括:沿着多个子部分中的至少一个的边缘边界对样点的预测值进行滤波。在不使用第二子部分的第二运动信息的情况下确定第一子部分的第一运动信息,并且在不使用第一子部分的第一运动信息的情况下确定第二子部分的第二运动信息。使用第二预测的第二运动信息确定第一子部分的第一运动信息,和/或使用第一子部分的第一运动信息确定第二子部分的第二运动信息。
图38是用于处理视频的方法3800的流程图。方法3800包括:在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间执行(3805)转换,其中,根据划分模式将当前块分割为多个子部分,其中第一子部分具有非矩形、非正方形形状;以帧内编解码模式处理(3810)第一子部分;和以帧间编解码模式处理(3815)第二子部分。
在一些实施例中,可以对方法3800执行附加修改。例如,通过应用双向预测来处理所述第二子部分。响应于当前块被用Merge模式编码,用Merge索引来信令通知运动信息。使用帧内预测模式的子集确定第一预测部分的运动信息。所述帧内预测模式的子集基于所述第一预测部分的位置、第一预测部分的尺寸和第一预测部分的形状中的至少一个。
图39是用于处理视频的方法3900的流程图。方法3900包括:在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间执行(3905)转换,其中,根据划分模式将当前块分割为多个子部分,其中第一子部分具有非矩形、非正方形形状;其中,多个子部分中的至少一个是Merge或非Merge帧间编解码的,并且使用当前图片作为参考图片。
图40是用于处理视频的方法4000的流程图。方法4000包括:在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间执行(4005)转换,其中,根据划分模式将当前块分割为多个子部分,其中第一预测分割具有非矩形、非正方形形状;并使用一个或多个非相邻空域块的帧间或帧内编解码信息执行(4010)转换。
在一些实施例中,可以对方法4000执行附加修改。例如,一个或多个非相邻空域块的帧间或帧内编解码信息包括一个或多个非相邻空域块的运动信息。使用一个或多个非相邻空域块的帧间或帧内编解码信息执行所述当前块的转换包括:使用一个或多个非相邻空域块的帧内预测模式执行所述当前块的转换。使用时域块的编码信息。
图41是用于处理视频的方法4100的流程图。方法4100包括:在视觉媒体数据的第一块与视觉媒体数据的对应的编解码表示之间的转换期间,确定(4105)以几何分割模式对第一块进行编解码;基于至少一个存储基于历史的运动矢量预测(HMVP)候选的表,确定(4110)所述第一块的至少一个子部分的运动信息,所述HMVP候选包括基于先前编解码的块的运动信息;使用确定的运动信息执行(4115)第一块的转换。
在一些实施例中,可以对方法4100执行附加修改。例如,以几何分割模式对第一块进行编解码包括:将第一块划分为多个子部分;其中,多个子部分中的至少一个是非矩形且非正方形的部分。在视觉媒体数据的第二块与视觉媒体数据的对应编解码表示之间的转换期间,基于用于第一块的同一表,确定第二块的运动信息,并且第二块未使用几何分割模式。避免由所述第一块使用的所述运动信息被存储在所述至少一个表中。在转换所述第一块之后,不更新所述至少一个表。所述至少一个表包括多个表,所述多个表被维护以存储具有几何分割模式的块的HMVP候选。对于所述至少一个表,所存储的HMVP候选仅具有根据具有几何分割模式的块所使用的运动信息。所述至少一个表包括两个表,所述两个表被维护以分别存储单向预测的HMVP候选和双向预测的HMVP候选。所述至少一个表包括两个表,所述两个表被维护以分别存储所述第一块的第一子部分和第二子部分的运动信息。所述至少一个表包括两个表,所述两个表被维护以分别存储列表0和列表1的运动信息。所述至少一个表包括三个表,所述三个表被维护以存储来自列表0的单向预测的HMVP候选、来自列表1的单向预测的HMVP候选以及双向预测的HMVP候选。利用所述第一块的子部分的一部分的运动信息来更新所述至少一个表。利用第一子部分的运动信息和第二子部分的运动信息来更新所述至少一个表,所述第一子部分和第二子部分是第一块的子部分。通过添加一个HMVP候选,利用第一子部分的运动信息和第二子部分的运动信息来更新所述至少一个表。是否通过添加一个或两个运动候选来更新所述至少一个表取决于所述第一子部分和所述第二子部分是使用相同的参考图片列表还是使用相同的参考图片。是否通过添加第一子部分或第二子部分的运动信息来更新至少一个表取决于参考图片和当前图片之间的图片顺序计数(POC)差。在处理具有非矩形和非正方形部分的块之后,具有非矩形和非正方形部分的块的运动信息被用于更新表,所述表被维护以存储用于具有非矩形和非正方形部分的块的HMVP候选。在处理不具有非矩形和非正方形部分的块之后,不具有非矩形和非正方形部分的块的运动信息被用于更新更新表,所述表被维护以存储用于不具有非矩形和非正方形部分的块的HMVP候选。在处理不具有非矩形和非正方形部分的块之后,不具有非矩形和非正方形部分的块的运动信息被用于更新,所述表被维护以存储用于具有非矩形和非正方形部分的块的运动矢量预测(HMVP)候选。所述几何分割模式包括三角分割模式。所述方法可应用于其他种类的运动候选列表。
图42是用于处理视频的方法4200的流程图。方法4200包括:在视觉媒体数据的第一块与视觉媒体数据的对应的编解码表示之间的转换期间,确定(4205)以几何分割模式对第一块进行编解码;确定(4210)第一块的至少一个子部分的运动信息;使用至少一个子部分的运动信息来执行(4215)第一块的转换;其中,确定至少一个子部分的运动信息包括:使用至少一个包括基于先前编解码的块的运动信息的、基于历史的运动矢量预测(HMVP)候选来构建运动候选列表,并从运动候选列表中确定运动信息。
图43是用于处理视频的方法4300的流程图。方法4300包括:在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护(4305)存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于该表执行(4310)当前块的转换,其中该表具有取决于一个或多个运动候选列表的HMVP表尺寸,并且该HMVP表尺寸是存储在该表中的最大候选数。
图44是用于处理视频的方法4400的流程图。方法4400包括:在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护(4405)存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于该表执行(4410)当前块的转换,其中该表具有HMVP表尺寸,该HMVP表尺寸取决于添加到一个或多个运动候选列表中的一个或多个运动候选数量numHMVP,并且HMVP表尺寸是存储在该表中的最大候选数。
图45是用于处理视频的方法4500的流程图。方法4500包括:在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护(4505)存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于该表执行(4510)当前块的转换,其中该表具有HMVP表尺寸,该HMVP表尺寸取决于运动候选列表和当前块的编解码模式,并且该HMVP表尺寸是存储在该表中的最大候选数量。
图46是用于处理视频的方法4600的流程图。方法4600包括:在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护(4605)存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;至少基于该表执行(4610)当前块的转换,其中在比特流中信令通知允许被添加到运动候选列表的HMVP候选的数量。
在一些实施例中,可以对方法4200执行附加修改。例如,以几何分割模式对第一块进行编解码包括:将第一块划分为多个子部分;其中,多个子部分中的至少一个是非矩形且非正方形部分。将至少一个HMVP候选直接添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:使用一个HMVP候选来确定第一运动候选和第二运动候选,第一运动候选和第二运动候选中的一个是具有HMVP候选的列表0运动信息的单向预测,而另一个是具有HMVP候选的列表1运动信息的单向预测。响应于插入将从HMVP候选导出的运动候选与基于空域或时域视频块的其他运动候选而执行裁剪。响应于插入将从HMVP候选导出的运动候选与基于其他HMVP候选的其他运动候选而执行裁剪。响应于插入将从HMVP候选导出运动候选与基于HMVP候选的其他运动候选而执行裁剪。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在从空域或时域块中的一个或两者导出的运动候选之后,将从HMVP候选导出的至少一个运动候选添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在基于空域或时域块的运动信息的运动候选列表构建处理中的预定义步骤之后或之前,将从HMVP候选导出的至少一个运动候选添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在基于空域或时域块的运动信息的运动候选列表构建处理中的多个预定义步骤之后或之前,将从HMVP候选导出的至少一个运动候选添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在所有最初的单向预测候选之后,将从HMVP候选导出的、具有单向预测的至少一个运动候选添加到运动候选列表中。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在截断的列表0的预测候选之后,将从HMVP候选中导出的、具有来自列表0的单向预测或双向预测的至少一个运动候选添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在截断的列表1的预测候选之后,将从HMVP候选中导出的、具有来自列表1的单向预测或双向预测的至少一个运动候选添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在来自列表0或列表1运动候选的平均单向预测之后,将从至少一个HMVP候选导出的至少一个运动候选添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在来自列表0或列表1的运动候选的平均单向预测之前,将从至少一个HMVP候选导出的至少一个运动候选添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:根据与运动候选的交织,将从HMVP候选导出的至少一个运动候选添加到运动候选列表中,所述运动候选基于与相对于当前块的空域或时域块的运动信息。从HMVP候选导出的运动候选被设置为等于HMVP候选。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在从另一HMVP候选的列表0和列表1导出的运动候选之前,将从HMVP候选的列表0和列表1导出的至少一个运动候选添加到运动候选列表。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在从第二组HMVP候选的列表1导出的运动候选之前,将从第一组HMVP候选的列表0导出的至少一个运动候选添加到运动候选列表。所述第一组和所述第二组是相同的。所述第一组和所述第二组是不同的,并且所述第一组包括具有来自列表0的单向预测和双向预测的HMVP候选,所述第二组包括具有来自列表1的单向预测和双向预测的HMVP候选。所述第一组包括第一数量的HMVP候选,所述第二组包括第二数量的HMVP候选,并且所述第一数量和第二数量不同。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:将列表LX的HMVP候选缩放到列表L(1-X)以生成用于L(1-X)的缩放的HMVP候选。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在从HMVP候选导出的其他运动候选之后添加缩放的HMVP候选。使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:在从HMVP候选导出的其他运动候选之后和时域候选之前添加缩放的HMVP候选。要被添加到所述运动候选列表的HMVP候选的检查顺序是基于所述HMVP候选的索引。要被添加到所述运动候选列表的HMVP候选的检查顺序是基于预测方向。要被添加到所述运动候选列表的HMVP候选的检查顺序是基于运动信息。在所述运动候选列表构建处理中要检查的HMVP候选的数量是预先定义的。在所述运动候选列表构建处理中要检查的HMVP候选的数量是基于所述当前块的块尺寸、所述当前块的块形状、或在检查HMVP候选之前可用的候选的数量。在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图片标头、片组标头、条带标头、编码树单元(CTU)行的组、CTU或CTU组中信令通知要在运动候选列表构建处理中检查的HMVP候选的数量。在运动候选列表中选择要检查的所述HMVP候选是基于预测方向、运动矢量(MV)信息、参考图片索引、候选和候选索引的参考图片和当前图片的POC距离。将HMVP应用于所述当前块是基于所述当前块的块尺寸或所述当前块的块形状。所述运动候选列表包括Merge列表。所述运动候选列表可应用于除Merge候选列表之外的其他种类的运动候选列表。
现在以基于条款的格式公开优选地由一些实施例实现的一些特征。
1.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的多个子部分;
确定多个子部分的帧内预测信息;
使用多个子部分的帧内预测信息执行当前块的转换;并且
其中,当前块是帧内编解码的,并且多个子部分中的至少一个是非矩形和非正方形子部分。
2.根据权利要求1所述的方法,其中确定所述多个子部分的帧内预测信息包括:
使用第一帧内预测模式确定所述多个子部分中的第一子部分的第一帧内预测信息;
使用第二帧内预测模式确定所述多个子部分中的第二子部分的第二帧内预测信息;
其中,第一帧内预测模式不同于第二帧内预测模式。
3.根据权利要求2所述的方法,其中通过使用帧内预测模式的第一子集来确定所述第一帧内预测信息,并且通过使用帧内预测模式的第二子集来确定所述第二帧内预测信息;
其中,帧内预测模式的第一子集不同于帧内预测模式的第二子集。
4.根据权利要求3所述的方法,其中,帧内预测模式的子集基于第一子部分和/或第二子部分的位置、尺寸和形状中的至少一个。
5.根据权利要求1-4中的任一项所述的方法,其中,确定所述多个子部分的帧内预测信息还包括:
沿着多个子部分中的至少一个的边缘边界对样点的预测值进行滤波。
6.根据权利要求1-5中的任一项所述的方法,其中,在不使用所述多个子部分的第二子部分的第二帧内预测信息的情况下,确定所述多个子部分的第一子部分的第一帧内预测信息,并且在不使用第一子部分的第一帧内预测信息的情况下,确定第二子部分的第二帧内预测信息。
7.根据权利要求1-5中的任一项所述的方法,其中,使用所述多个子部分的第二子部分的第二帧内预测信息来确定所述多个子部分的第一子部分的第一帧内预测信息,和/或使用第一子部分的第一帧内预测信息来确定第二子部分的第二帧内预测信息。
8.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的多个子部分;
确定所述多个子部分的运动信息;
使用多个子部分的运动信息执行当前块的转换;并且
其中,当前块是非Merge帧间编解码的,并且多个子部分中的至少一个是非矩形和非正方形子部分。
9.根据权利要求8所述的方法,其中确定所述多个子部分的运动信息包括:
使用第一帧内预测模式确定多个子部分中的第一子部分的第一运动信息;
使用第二帧内预测模式确定多个子部分中的第二子部分的第二运动信息。
10.根据权利要求8-9中的任一项所述的方法,其中,确定所述多个子部分的帧内预测还包括:
沿着多个子部分中的至少一个的边缘边界对样点的预测值进行滤波。
11.根据权利要求8-9中的任一项所述的方法,其中,在不使用第二子部分的第二运动信息的情况下确定第一子部分的第一运动信息,并且在不使用第一子部分的第一运动信息的情况下确定第二子部分的第二运动信息。
12.根据权利要求8-9中的任一项所述的方法,其中,使用第二预测的第二运动信息确定第一子部分的第一运动信息,和/或使用第一子部分的第一运动信息确定第二子部分的第二运动信息。
13.一种视频处理的方法,包括:
在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间执行转换,其中,根据划分模式将当前块分割为多个子部分,其中第一子部分具有非矩形、非正方形形状;
以帧内编解码模式处理第一子部分;和
以帧间编解码模式处理第二子部分。
14.根据权利要求13所述的方法,其中,通过应用双向预测来处理所述第二子部分。
15.根据权利要求13-14中的任一项所述的方法,还包括:
响应于当前块用Merge模式编码,用Merge索引来信令通知运动信息。
16.根据权利要求13-15中的任一项所述的方法,还包括:
使用帧内预测模式的子集确定第一预测部分的运动信息。
17.根据权利要求16所述的方法,其中,所述帧内预测模式的子集基于所述第一预测部分的位置、第一预测部分的尺寸和第一预测部分的形状中的至少一个。
18.一种视频处理方法,包括:
在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间执行转换,其中,根据划分模式将当前块分割为多个子部分,其中第一子部分具有非矩形、非正方形形状;
其中,多个子部分中的至少一个是Merge或非Merge帧间编解码的,并且使用当前图片作为参考图片。
19.一种视频处理的方法,包括:
在视觉媒体数据的当前块与视觉媒体数据的对应编解码表示之间执行转换,其中,根据划分模式将当前块分割为多个子部分,其中第一预测分割具有非矩形、非正方形形状;
以及使用一个或多个非相邻空域块的帧间或帧内编解码信息执行转换。
20.根据权利要求19所述的方法,其中,一个或多个非相邻空域块的帧间或帧内编解码信息包括一个或多个非相邻空域块的运动信息。
21.根据权利要求19所述的方法,其中,使用一个或多个非相邻空域块的帧间或帧内编解码信息执行所述当前块的转换包括:
使用一个或多个非相邻空域块的帧内预测模式执行所述当前块的转换。
22.根据权利要求19所述的方法,其中,使用时域块的编码信息。
23.一种视频处理装置,包括:处理器,被配置为实现权利要求1-22中的任何一项所述的方法。
24.根据权利要求23所述的装置,其中,所述装置是视频编解码器。
25.根据权利要求23所述的装置,其中,所述装置是视频解码器。
26.一种在其上记录有包括代码的程序的计算机可读记录介质,所述程序使处理器执行权利要求1-22中的任一项所述的方法。
现在以基于条款的格式公开优选地由一些实施例实现的一些特征。
1.一种用于处理视频的方法,包括:
在视觉媒体数据的第一块与视觉媒体数据的对应的编解码表示之间的转换期间,确定以几何分割模式对第一块进行编解码;
基于至少一个存储基于历史的运动矢量预测(HMVP)候选的表,确定所述第一块的至少一个子部分的运动信息,所述HMVP候选包括基于先前编解码的块的运动信息;
使用确定的运动信息执行第一块的转换。
2.根据权利要求1所述的方法,其中,以几何分割模式对第一块进行编解码包括:
将第一块划分为多个子部分;
其中,多个子部分中的至少一个是非矩形且非正方形的部分。
3.根据权利要求1所述的方法,还包括:
在视觉媒体数据的第二块与视觉媒体数据的对应编解码表示之间的转换期间,基于用于第一块的同一表,确定第二块的运动信息,
并且第二块未使用几何分割模式。
4.根据权利要求1-3中的任一项所述的方法,其中,避免将所述第一块使用的所述运动信息存储在所述至少一个表中。
5.根据权利要求1-4中的任一项所述的方法,其中,在所述第一块的转换之后,不更新所述至少一个表。
6.根据权利要求1-5中的任一项所述的方法,其中,所述至少一个表包括多个表,所述多个表被维护以存储具有几何分割模式的块的HMVP候选。
7.根据权利要求6所述的方法,其中,对于所述至少一个表,所存储的HMVP候选仅具有根据具有几何分割模式的块所使用的运动信息。
8.根据权利要求1-7中的任一项所述的方法,其中,所述至少一个表包括两个表,所述两个表被维护以分别存储单向预测的HMVP候选和双向预测的HMVP候选。
9.根据权利要求1-8中的任一项所述的方法,其中,所述至少一个表包括两个表,所述两个表被维护以分别存储所述第一块的第一子部分和第二子部分的运动信息。
10.根据权利要求1-9中的任一项所述的方法,其中,所述至少一个表包括两个表,所述两个表被维护以分别存储列表0和列表1的运动信息。
11.根据权利要求1-10中的任一项所述的方法,其中,所述至少一个表包括三个表,所述三个表被维护以分别存储来自列表0的单向预测的HMVP候选、来自列表1的单向预测的HMVP候选以及双向预测的HMVP候选。
12.根据权利要求1-11中的任一项所述的方法,其中,利用所述第一块的子部分的一部分的运动信息来更新所述至少一个表。
13.根据权利要求1-12中的任一项所述的方法,其中,利用第一子部分的运动信息和第二子部分的运动信息来更新所述至少一个表,所述第一子部分和第二子部分是第一块的子部分。
14.根据权利要求13所述的方法,其中,通过添加一个HMVP候选,利用第一子部分的运动信息和第二子部分的运动信息来更新所述至少一个表。
15.根据权利要求14所述的方法,其中,是否通过添加一个或两个运动候选来更新所述至少一个表取决于所述第一子部分和所述第二子部分是否使用相同的参考图片列表或相同的参考图片。
16.根据权利要求14所述的方法,其中,是否通过添加第一子部分或第二子部分的运动信息来更新至少一个表取决于参考图片和当前图片之间的图片顺序计数(POC)差。
17.根据权利要求1-16中的任一项所述的方法,其中,所述方法还包括:
在处理具有非矩形和非正方形部分的块之后,具有非矩形和非正方形部分的块的运动信息被用于更新表,所述表被维护以存储用于具有非矩形和非正方形部分的块的HMVP候选。
18.根据权利要求1-16所述的方法,所述方法还包括:
在处理不具有非矩形和非正方形部分的块之后,不具有非矩形和非正方形部分的块的运动信息被用于更新表,所述表被维护以存储用于不具有非矩形和非正方形部分的块的HMVP候选。
19.根据权利要求1-16所述的方法,所述方法还包括:
在处理不具有非矩形和非正方形部分的块之后,不具有非矩形和非正方形部分的块的运动信息被用于更新表,所述表被维护以存储用于具有非矩形和非正方形部分的块的运动矢量预测(HMVP)候选。
20.根据权利要求1-19中的任一项所述的方法,其中,所述几何分割模式包括三角分割模式。
21.根据权利要求1-20中的任一项所述的方法,其中,所述方法可应用于其他种类的运动候选列表。
22.一种视频处理装置,包括处理器,该处理器被配置为实现权利要求1-21中的任一项所述的方法。
23.根据权利要求22所述的装置,其中,所述装置是视频编码器。
24.根据权利要求22所述的装置,其中,所述装置是视频解码器。
25.一种在其上记录有包括代码的程序的计算机可读记录介质,该程序使处理器执行权利要求1-21中的任一项所述的方法。
现在以基于条款的格式公开优选地由一些实施例实现的一些特征。
1.一种用于处理视频的方法,包括:
在视觉媒体数据的第一块与视觉媒体数据的对应的编解码表示之间的转换期间,确定以几何分割模式对第一块进行编解码;
确定第一块的至少一个子部分的运动信息;
使用至少一个子部分的运动信息来执行第一块的转换;
其中,确定至少一个子部分的运动信息包括:使用至少一个包括基于先前编解码的块的运动信息的、基于历史的运动矢量预测(HMVP)候选来构建运动候选列表,并从运动候选列表中确定运动信息。
2.根据权利要求1所述的方法,其中,以几何分割模式对第一块进行编解码包括:
将第一块划分为多个子部分;
其中,多个子部分中的至少一个是非矩形且非正方形部分。
3.根据权利要求1所述的方法,其中,
将至少一个HMVP候选直接添加到运动候选列表。
4.根据权利要求1-3中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
使用一个HMVP候选来确定第一运动候选和第二运动候选,第一运动候选和第二运动候选中的一个是具有HMVP候选的列表0运动信息的单向预测,而另一个是具有HMVP候选的列表1运动信息的单向预测。
5.根据权利要求1-4中的任一项所述的方法,还包括:
响应于插入从HMVP候选导出的运动候选与基于空域或时域视频块的其他运动候选而执行裁剪。
6.根据权利要求1-5中的任一项所述的方法,还包括:
响应于插入从HMVP候选导出的运动候选与基于其他HMVP候选的其他运动候选而执行裁剪。
7.根据权利要求1-6中的任一项所述的方法,还包括:
响应于插入从HMVP候选导出运动候选与基于HMVP候选的其他运动候选而执行裁剪。
8.根据权利要求1-7中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在从空域或时域块中的一个或两者导出的运动候选之后,将从HMVP候选导出的至少一个运动候选添加到运动候选列表。
9.根据权利要求1-8中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在基于空域或时域块的运动信息的运动候选列表构建处理中的预定义步骤之后或之前,将从HMVP候选导出的至少一个运动候选添加到运动候选列表。
10.根据权利要求1-9中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在基于空域或时域块的运动信息的运动候选列表构建处理中的多个预定义步骤之后或之前,将从HMVP候选导出的至少一个运动候选添加到运动候选列表。
11.根据权利要求1-10中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在所有最初的单向预测候选之后,将从HMVP候选导出的、具有单向预测的至少一个运动候选添加到运动候选列表中。
12.根据权利要求1-11中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在截断的列表0的预测候选之后,将从HMVP候选中导出的、具有来自列表0的单向预测或双向预测的至少一个运动候选添加到运动候选列表。
13.根据权利要求1-12中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在截断的列表1的预测候选之后,将从HMVP候选中导出的、具有来自列表1的单向预测或双向预测的至少一个运动候选添加到运动候选列表。
14.根据权利要求1-13中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在来自列表0或列表1运动候选的平均单向预测之后,将从至少一个HMVP候选导出的至少一个运动候选添加到运动候选列表。
15.根据权利要求1-14中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在来自列表0或列表1的运动候选的平均单向预测之前,将从至少一个HMVP候选导出的至少一个运动候选添加到运动候选列表。
16.根据权利要求1-15中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
根据与基于与相对于当前块的空域或时域块的运动信息的运动候选的交织,将从HMVP候选导出的至少一个运动候选添加到运动候选列表中。
17.根据权利要求8-16中的任一项所述的方法,其中,
从HMVP候选导出的运动候选被设置为等于HMVP候选。
18.根据权利要求1-17中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在从另一HMVP候选的列表0和列表1导出的运动候选之前,将从HMVP候选的列表0和列表1导出的至少一个运动候选添加到运动候选列表。
19.根据权利要求1-18中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在从第二组HMVP候选的列表1导出的运动候选之前,将从第一组HMVP候选的列表0导出的至少一个运动候选添加到运动候选列表。
20.根据权利要求19所述的方法,其中,所述第一组和所述第二组是相同的。
21.根据权利要求19所述的方法,其中,所述第一组和所述第二组是不同的,并且所述第一组包括具有来自列表0的单向预测和双向预测的HMVP候选,所述第二组包括具有来自列表1的单向预测和双向预测的HMVP候选。
22.根据权利要求19所述的方法,其中,所述第一组包括第一数量的HMVP候选,所述第二组包括第二数量的HMVP候选,并且所述第一数量和第二数量不同。
23.根据权利要求1-22中的任一项所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
将列表LX的HMVP候选缩放到列表L(1-X)以生成用于L(1-X)的缩放的HMVP候选。
24.根据权利要求23所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在从HMVP候选导出的其他运动候选之后添加缩放的HMVP候选。
25.根据权利要求23所述的方法,其中,使用至少一个包括基于先前编解码的块的运动信息的HMVP候选来构建运动候选列表包括:
在从HMVP候选导出的其他运动候选之后且在时域候选之前添加缩放的HMVP候选。
26.根据权利要求1-25中的任一项所述的方法,其中,要被添加到所述运动候选列表的HMVP候选的检查顺序基于所述HMVP候选的索引。
27.根据权利要求1-25中的任一项所述的方法,其中,要被添加到所述运动候选列表的HMVP候选的检查顺序基于预测方向。
28.根据权利要求1-25中的任一项所述的方法,其中,要被添加到所述运动候选列表的HMVP候选的检查顺序基于运动信息。
29.根据权利要求1-28中的任一项所述的方法,其中,在所述运动候选列表构建处理中要检查的HMVP候选的数量是预先定义的。
30.根据权利要求1-28中的任一项所述的方法,其中,在所述运动候选列表构建处理中要检查的HMVP候选的数量基于所述当前块的块尺寸、所述当前块的块形状、或在检查HMVP候选之前可用的候选的数量。
31.根据权利要求1-28中的任一项所述的方法,其中,在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图片标头、片组标头、条带标头、编码树单元(CTU)行的组、CTU或CTU组中信令通知要在运动候选列表构建处理中检查的HMVP候选的数量。
32.根据权利要求1-28中的任一项所述的方法,其中,在运动候选列表中选择要检查的所述HMVP候选基于预测方向、运动矢量(MV)信息、参考图片索引、候选和候选索引的参考图片和当前图片的POC距离中的至少一个。
33.根据权利要求1-28中的任一项所述的方法,其中,将HMVP应用于所述当前块基于所述当前块的块尺寸或所述当前块的块形状。
34.根据权利要求1-33中的任一项所述的方法,其中,所述运动候选列表包括Merge列表。
35.根据权利要求1-33中的任一项所述的方法,其中,所述运动候选列表可应用于除Merge候选列表之外的其他种类的运动候选列表。
36.一种视频处理装置,包括:处理器,被配置为实现权利要求1-35中的任何一项所述的方法。
37.根据权利要求36所述的装置,其中,所述装置是视频编码器。
38.根据权利要求36所述的装置,其中,所述装置是视频解码器。
39.一种在其上记录有包括代码的程序的计算机可读记录介质,该程序使处理器执行权利要求1-35中的任一项所述的方法。
现在以基于条款的格式公开优选地由一些实施例实现的一些特征。
1.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;
至少基于所述表执行所述当前块的所述转换,
其中,所述表具有取决于一个或多个运动候选列表的HMVP表尺寸,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
2.根据条款1所述的方法,其中,所述一个或多个运动候选列表包括:
常规Merge列表、几何分割模式Merge列表、帧内块复制(IBC)Merge列表、常规帧间高级运动矢量预测(AMVP)列表、常规帧间IBC列表。
3.根据条款2所述的方法,其中,所述几何分割模式包括:
将块划分为多个子部分;
其中,无法从现有的块分割方法生成所述多个子部分,所述现有的块分割方法包括四叉树、二叉树、三叉树分割方法中的任何一种。
4.根据条款3所述的方法,其中,所述多个子部分中的至少一个是非矩形且非正方形的部分。
5.根据条款1-4中的任一项所述的方法,其中,所述HMVP表尺寸取决于访问所述表的一个或多个运动候选列表。
6.根据条款1-5中的任一项所述的方法,其中,所述HMVP表尺寸是常规Merge列表尺寸、几何分割模式Merge列表尺寸、帧内块复制(IBC)Merge列表尺寸、帧间高级运动矢量预测(AMVP)列表尺寸、和帧间IBC列表尺寸的函数。
7.根据条款6所述的方法,其中,所述函数是函数Max,所述函数Max返回若干输入中的最大值。
8.根据条款7所述的方法,其中,所述HMVP表尺寸是函数Max(常规Merge列表尺寸减去K0,几何分割模式Merge列表尺寸减去K1,帧内块复制(IBC)Merge列表尺寸减去K2)。
9.根据条款7所述的方法,其中,K0=K1=K2=1。
10.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块和所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;
至少基于所述表执行所述当前块的所述转换,
其中,所述表具有HMVP表尺寸,所述HMVP表尺寸取决于添加到一个或多个运动候选列表中的一个或多个运动候选数量numHMVP,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
11.根据条款10所述的方法,其中,所述一个或多个运动候选列表包括:
常规Merge列表、几何分割模式Merge列表、帧内块复制(IBC)Merge列表、常规帧间高级运动矢量预测(AMVP)列表、常规帧间IBC列表。
12.根据条款11所述的方法,其中,所述几何分割模式包括:
将所述块划分为多个子部分;
其中,所述多个子部分中的至少一个是非矩形且非正方形的部分。
13.根据条款10-12中的任一项所述的方法,其中,所述HMVP表尺寸是所述一个或多个运动候选数量numHMVP的函数。
14.根据条款13所述的方法,其中,所述函数是函数Max,所述函数Max返回若干输入中的最大值。
15.根据条款14所述的方法,其中,所述HMVP表尺寸是函数Max(常规Merge列表的numHMVP减去K0,常规AMVP列表的numHMVP减去K1)。
16.根据条款15所述的方法,其中,K0=K1=1。
17.如条款14所述的方法,其中,所述HMVP表尺寸是函数Max(常规Merge列表的numHMVP减去K0,几何分割模式Merge列表的numHMVP减去K1,IBC Merge列表的numHMVP减去K2)。
18.根据条款17所述的方法,其中,K0=K1=K2=1。
19.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块和所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;
至少基于所述表执行所述当前块的所述转换,
其中,所述表具有取决于运动候选列表和当前块的编解码模式的HMVP表尺寸,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
20.根据条款19所述的方法,其中,一种编解码模式的所述HMVP表尺寸不同于另一种编解码模式的所述HMVP表尺寸。
21.根据条款19所述的方法,其中,常规Merge列表和几何分割模式Merge列表的所述HMVP表尺寸取决于常规Merge列表尺寸。
22.根据条款21所述的方法,其中,所述HMVP表尺寸等于所述常规Merge列表尺寸减去K0,并且K0=1。
23.根据条款20所述的方法,其中,常规Merge列表和几何分割模式Merge列表的HMVP表尺寸取决于常规Merge列表尺寸和几何分割模式Merge列表尺寸。
24.根据条款23所述的方法,其中,所述HMVP表尺寸是函数Max(常规Merge列表尺寸减去K0,几何分割模式Merge列表尺寸减去K1),并且所述函数Max返回若干输入中的最大值。
25.根据条款23所述的方法,其中,常规帧间高级运动矢量预测(AMVP)列表的所述HMVP表跟随用于常规Merge列表和几何分割模式Merge列表的所述HMVP表。
26.根据条款20所述的方法,其中,帧内块复制(IBC)编解码块的所述HMVP表尺寸取决于常规Merge列表尺寸和/或几何分割模式Merge列表尺寸。
27.根据条款26所述的方法,其中,所述帧内块复制(IBC)编解码的块的所述HMVP表尺寸等于所述常规Merge列表尺寸和/或所述几何分割模式Merge列表尺寸。
28.根据条款26所述的方法,其中,所述帧内块复制(IBC)编码的Merge/高级运动矢量预测(AMVP)块的所述HMVP表尺寸取决于所述IBC Merge候选列表尺寸/AMVP候选列表尺寸。
29.根据条款19-26中的任一项所述的方法,其中,在比特流中信令通知所述HMVP表尺寸。
30.根据条款29所述的方法,其中,当信令通知的所述HMVP表尺寸为0时,不允许将HMVP候选插入到任何运动候选列表中。
31.根据条款29所述的方法,其中,信令通知的HMVP表尺寸不允许为0。
32.根据条款29所述的方法,其中,信令通知HMVP表尺寸减去K0,K0=1。
33.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块与所述视觉媒体数据的对应编解码表示之间的转换期间,维护存储基于历史的运动矢量预测(HMVP)候选的表,所述候选包括基于先前编解码的块的运动信息;
至少基于所述表执行所述当前块的所述转换,
其中,在比特流中信令通知允许被添加到运动候选列表的HMVP候选的数量。
34.根据条款33所述的方法,其中,不同编解码模式的数量被独立地信令通知。
35.根据条款34所述的方法,其中,所述编解码模式包括以下各项中的至少一项:常规Merge模式、几何分割模式、帧内块复制(IBC)Merge模式、常规帧间高级运动矢量预测(AMVP)模式、常规帧间IBC模式。
36.根据条款33-35中的任一项所述的方法,其中,以预测方式信令通知所述数量。
37.根据条款33-36中的任一项所述的方法,其中,所述HMVP表尺寸取决于所述数量。
38.根据条款33-37中的任一项所述的方法,其中,所述数量不允许为0。
39.根据条款33-38中的任一项所述的方法,其中,信令通知所述数量减去K0,K0=1。
40.根据条款33-39中的任一项所述的方法,还包括:
应用由numHMVP表示的允许被添加到运动候选列表中的HMVP候选的数量、和由numMotionList表示的运动候选列表中的最大运动候选的数量的预测编解码。
41.根据条款40所述的方法,其中,对所述numMotionList和所述numHMVP之间的差进行编解码。
42.根据条款40所述的方法,其中,对所述numMotionList减去K0和所述numHMVP之间的差进行编解码,并且K0=1。
43.根据条款33所述的方法,其中,允许被添加到运动候选列表的HMVP候选的数量取决于运动候选列表尺寸。
44.根据条款43所述的方法,其中,允许被添加到运动候选列表的HMVP候选的数量取决于所述运动候选列表的运动候选列表尺寸。
45.根据条款44所述的方法,其中,允许被添加到所述运动候选列表的所述HMVP候选的数量等于所述运动候选列表尺寸减去K0,并且K0=0或1。
46.根据条款43所述的方法,其中,允许被添加到运动候选列表的所述HMVP候选的数量取决于由所述运动候选列表使用的HMVP表尺寸。
47.根据条款46所述的方法,其中,允许被添加到所述运动候选列表的所述HMVP候选的数量等于所述HMVP表尺寸减去K0,并且K0=0或1。
48.根据条款1-47中的任一项所述的方法,其中,允许被添加到运动候选列表的所述HMVP候选的数量小于或等于所述运动候选列表中的运动候选的最大数量。
49.根据条款1-47中的任一项所述的方法,其中,允许被添加到运动候选列表中的所述HMVP候选的数量小于或等于所述运动候选列表中的运动候选的最大数量减去K0,并且K0=1。
50.一种视频处理装置,包括:处理器,所述处理器被配置为实现条款1-49中的任一项所述的方法。
51.根据条款50所述的装置,其中,所述装置是视频编码器。
52.根据条款50所述的装置,其中,所述装置是视频解码器。
53.一种其上记录有包括代码的程序的计算机可读记录介质,所述程序使处理器执行条款1-49中的任一项所述的方法。
本文档中描述公开和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文档中所公开的结构及其结构等效体,或其中一个或多个的组合。本说明中描述的主题的实现可以实现为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本说明书中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。

Claims (53)

1.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块与所述视觉媒体数据的对应比特流之间的转换期间,维护存储基于历史的运动矢量预测HMVP候选的表,所述候选包括基于先前编解码的块的运动信息;
至少基于所述表执行所述当前块的所述转换,
其中,所述表具有取决于一个或多个运动候选列表的HMVP表尺寸,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
2.根据权利要求1所述的方法,其中,所述一个或多个运动候选列表包括:
常规Merge列表、几何分割模式Merge列表、帧内块复制IBCMerge列表、常规帧间高级运动矢量预测AMVP列表、常规帧间IBC列表。
3.根据权利要求2所述的方法,其中,所述几何分割模式包括:
将块划分为多个子部分;
其中,无法从现有的块分割方法生成所述多个子部分,所述现有的块分割方法包括四叉树、二叉树、三叉树分割方法中的任何一种。
4.根据权利要求3所述的方法,其中,所述多个子部分中的至少一个是非矩形且非正方形的部分。
5.根据权利要求1-4中的任一项所述的方法,其中,所述HMVP表尺寸取决于访问所述表的一个或多个运动候选列表。
6.根据权利要求1-4中的任一项所述的方法,其中,所述HMVP表尺寸是常规Merge列表尺寸、几何分割模式Merge列表尺寸、帧内块复制IBCMerge列表尺寸、帧间高级运动矢量预测AMVP列表尺寸、和帧间IBC列表尺寸的函数。
7.根据权利要求6所述的方法,其中,所述函数是函数Max,所述函数Max返回若干输入中的最大值。
8.根据权利要求7所述的方法,其中,所述HMVP表尺寸是函数Max(所述常规Merge列表尺寸减去K0,所述几何分割模式Merge列表尺寸减去K1,所述帧内块复制IBC Merge列表尺寸减去K2)。
9.根据权利要求7所述的方法,其中,K0=K1=K2=1。
10.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块和所述视觉媒体数据的对应比特流之间的转换期间,维护存储基于历史的运动矢量预测HMVP候选的表,所述候选包括基于先前编解码的块的运动信息;
至少基于所述表执行所述当前块的所述转换,
其中,所述表具有HMVP表尺寸,所述HMVP表尺寸取决于添加到一个或多个运动候选列表中的一个或多个运动候选数量numHMVP,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
11.根据权利要求10所述的方法,其中,所述一个或多个运动候选列表包括:
常规Merge列表、几何分割模式Merge列表、帧内块复制IBCMerge列表、常规帧间高级运动矢量预测AMVP列表、常规帧间IBC列表。
12.根据权利要求11所述的方法,其中,所述几何分割模式包括:
将所述块划分为多个子部分;
其中,所述多个子部分中的至少一个是非矩形且非正方形的部分。
13.根据权利要求10-12中的任一项所述的方法,其中,所述HMVP表尺寸是所述一个或多个运动候选数量numHMVP的函数。
14.根据权利要求13所述的方法,其中,所述函数是函数Max,所述函数Max返回若干输入中的最大值。
15.根据权利要求14所述的方法,其中,所述HMVP表尺寸是函数Max(常规Merge列表的numHMVP减去K0,常规AMVP列表的numHMVP减去K1)。
16.根据权利要求15所述的方法,其中,K0=K1=1。
17.根据权利要求14所述的方法,其中,所述HMVP表尺寸是函数Max(常规Merge列表的numHMVP减去K0,几何分割模式Merge列表的numHMVP减去K1,IBC Merge列表的numHMVP减去K2)。
18.根据权利要求17所述的方法,其中,K0=K1=K2=1。
19.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块和所述视觉媒体数据的对应比特流之间的转换期间,维护存储基于历史的运动矢量预测HMVP候选的表,所述候选包括基于先前编解码的块的运动信息;
至少基于所述表执行所述当前块的所述转换,
其中,所述表具有取决于运动候选列表和所述当前块的编解码模式的HMVP表尺寸,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
20.根据权利要求19所述的方法,其中,一种编解码模式的所述HMVP表尺寸不同于另一种编解码模式的所述HMVP表尺寸。
21.根据权利要求19所述的方法,其中,常规Merge列表和几何分割模式Merge列表的所述HMVP表尺寸取决于常规Merge列表尺寸。
22.根据权利要求21所述的方法,其中,所述HMVP表尺寸等于所述常规Merge列表尺寸减去K0,并且K0=1。
23.根据权利要求20所述的方法,其中,常规Merge列表和几何分割模式Merge列表的HMVP表尺寸取决于常规Merge列表尺寸和几何分割模式Merge列表尺寸。
24.根据权利要求23所述的方法,其中,所述HMVP表尺寸是函数Max(所述常规Merge列表尺寸减去K0,所述几何分割模式Merge列表尺寸减去K1),并且所述函数Max返回若干输入中的最大值。
25.根据权利要求23所述的方法,其中,常规帧间高级运动矢量预测AMVP列表的所述HMVP表跟随常规Merge列表和几何分割模式Merge列表的所述HMVP表。
26.根据权利要求20所述的方法,其中,帧内块复制IBC编解码块的所述HMVP表尺寸取决于常规Merge列表尺寸和/或几何分割模式Merge列表尺寸。
27.根据权利要求26所述的方法,其中,所述帧内块复制IBC编解码的块的所述HMVP表尺寸等于所述常规Merge列表尺寸和/或所述几何分割模式Merge列表尺寸。
28.根据权利要求26所述的方法,其中,用于所述帧内块复制IBC编解码的Merge/高级运动矢量预测AMVP块的所述HMVP表尺寸取决于所述IBC Merge候选列表尺寸/AMVP候选列表尺寸。
29.根据权利要求19-26中的任一项所述的方法,其中,在比特流中信令通知所述HMVP表尺寸。
30.根据权利要求29所述的方法,其中,当信令通知的所述HMVP表尺寸为0时,不允许将HMVP候选插入到任何运动候选列表中。
31.根据权利要求29所述的方法,其中,信令通知的所述HMVP表尺寸不允许为0。
32.根据权利要求29所述的方法,其中,信令通知所述HMVP表尺寸减去K0,K0=1。
33.一种用于处理视频的方法,包括:
在视觉媒体数据的当前块与所述视觉媒体数据的对应比特流之间的转换期间,维护存储基于历史的运动矢量预测HMVP候选的表,所述候选包括基于先前编解码的块的运动信息;
至少基于所述表执行所述当前块的所述转换,
其中,在比特流中信令通知允许被添加到运动候选列表的所述HMVP候选的数量,所述表具有取决于一个或多个运动候选列表的HMVP表尺寸,并且所述HMVP表尺寸是存储在所述表中的最大候选数量。
34.根据权利要求33所述的方法,其中,不同编解码模式的所述数量被独立地信令通知。
35.根据权利要求34所述的方法,其中,所述编解码模式包括以下各项中的至少一项:常规Merge模式、几何分割模式、帧内块复制IBCMerge模式、常规帧间高级运动矢量预测AMVP模式、常规帧间IBC模式。
36.根据权利要求33-35中的任一项所述的方法,其中,以预测方式信令通知所述数量。
37.根据权利要求33-35中的任一项所述的方法,其中,所述HMVP表尺寸取决于所述数量。
38.根据权利要求33-35中的任一项所述的方法,其中,所述数量不允许为0。
39.根据权利要求33-35中的任一项所述的方法,其中,信令通知所述数量减去K0,K0=1。
40.根据权利要求33-35中的任一项所述的方法,还包括:
应用由numHMVP表示的允许被添加到运动候选列表中的所述HMVP候选的数量、和由numMotionList表示的运动候选列表中的最大运动候选的数量的预测编解码。
41.根据权利要求40所述的方法,其中,对所述numMotionList和所述numHMVP之间的差进行编解码。
42.根据权利要求40所述的方法,其中,对所述numMotionList减去K0和所述numHMVP之间的差进行编解码,并且K0=1。
43.根据权利要求33所述的方法,其中,允许被添加到运动候选列表的HMVP候选的数量取决于运动候选列表尺寸。
44.根据权利要求43所述的方法,其中,允许被添加到运动候选列表的HMVP候选的数量取决于所述运动候选列表的运动候选列表尺寸。
45.根据权利要求44所述的方法,其中,允许被添加到所述运动候选列表的所述HMVP候选的数量等于所述运动候选列表尺寸减去K0,并且K0=0或1。
46.根据权利要求43所述的方法,其中,允许被添加到运动候选列表的所述HMVP候选的数量取决于由所述运动候选列表使用的HMVP表尺寸。
47.根据权利要求46所述的方法,其中,允许被添加到所述运动候选列表的所述HMVP候选的数量等于所述HMVP表尺寸减去K0,并且K0=0或1。
48.根据权利要求1-4、10-12、19-28、33-35、43-47中的任一项所述的方法,其中,允许被添加到运动候选列表的所述HMVP候选的数量小于或等于所述运动候选列表中的运动候选的最大数量。
49.根据权利要求1-4、10-12、19-28、33-35、43-47中的任一项所述的方法,其中,允许被添加到运动候选列表中的所述HMVP候选的数量小于或等于所述运动候选列表中的运动候选的最大数量减去K0,并且K0=1。
50.一种视频处理装置,包括:处理器,所述处理器被配置为实现权利要求1-9任一项所述的处理视频的方法,权利要求10-18中任一项所述的用于处理视频的方法,权利要求19-32中任一项所述的用于处理视频的方法,或权利要求33-49中任一项所述的用于处理视频的方法。
51.根据权利要求50所述的装置,其中,所述装置是视频编码器。
52.根据权利要求50所述的装置,其中,所述装置是视频解码器。
53.一种其上记录有包括代码的程序的计算机可读记录介质,所述程序使处理器执行权利要求1-9任一项所述的处理视频的方法,权利要求10-18中任一项所述的用于处理视频的方法,权利要求19-32中任一项所述的用于处理视频的方法,或权利要求33-49中任一项所述的用于处理视频的方法。
CN202080034733.0A 2019-05-09 2020-05-08 对hmvp表的改进 Active CN113812165B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/086174 2019-05-09
CN2019086174 2019-05-09
PCT/CN2020/089204 WO2020224639A1 (en) 2019-05-09 2020-05-08 Improvement on hmvp table

Publications (2)

Publication Number Publication Date
CN113812165A CN113812165A (zh) 2021-12-17
CN113812165B true CN113812165B (zh) 2023-05-23

Family

ID=73051416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080034733.0A Active CN113812165B (zh) 2019-05-09 2020-05-08 对hmvp表的改进

Country Status (3)

Country Link
US (1) US20220078476A1 (zh)
CN (1) CN113812165B (zh)
WO (1) WO2020224639A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2717579A1 (en) * 2011-05-31 2014-04-09 Panasonic Corporation Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
CN107277540A (zh) * 2011-02-09 2017-10-20 Lg 电子株式会社 编码和解码图像的方法及使用该方法的设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068850B2 (en) * 2001-06-29 2006-06-27 Equator Technologies, Inc. Decoding of predicted DC coefficient without division
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
KR100843080B1 (ko) * 2006-02-24 2008-07-02 삼성전자주식회사 비디오 트랜스코딩 방법 및 장치
CN101257625B (zh) * 2008-04-01 2011-04-20 海信集团有限公司 视频编解码中的位置索引方法及视频解码器
CN102026002B (zh) * 2009-09-14 2014-02-19 富士通株式会社 帧率下采样转码方法和装置以及矢量重建方法和装置
BR112012019560B1 (pt) * 2010-02-05 2021-08-24 Telefonaktiebolaget Lm Ericsson Método para gerenciar candidatos a vetor de movimento predito, e, aparelhos de codificação e de decodificação de vídeo
CN102946536B (zh) * 2012-10-09 2015-09-30 华为技术有限公司 候选矢量列表构建的方法及装置
EP3346709B1 (en) * 2017-01-05 2021-09-15 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
TWI687087B (zh) * 2017-07-13 2020-03-01 新加坡商聯發科技(新加坡)私人有限公司 呈現超出全方位媒體的vr媒體的方法和裝置
US11070796B2 (en) * 2018-09-28 2021-07-20 Qualcomm Incorporated Ultimate motion vector expression based pruning for video coding
US11051034B2 (en) * 2018-10-08 2021-06-29 Qualcomm Incorporated History-based motion vector predictor
KR20230175329A (ko) * 2018-12-12 2023-12-29 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
JP2021513795A (ja) * 2019-01-01 2021-05-27 エルジー エレクトロニクス インコーポレイティド 履歴ベース動きベクトル予測に基づいてビデオ信号を処理するための方法及び装置
US11190800B2 (en) * 2019-02-07 2021-11-30 Qualcomm Incorporated Motion vector predictor list generation for intra block copy mode in video coding
US11122260B2 (en) * 2019-02-22 2021-09-14 Mediatek Inc. Method and apparatus of Merge list generation for Intra Block Copy mode
WO2020184555A1 (ja) * 2019-03-11 2020-09-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277540A (zh) * 2011-02-09 2017-10-20 Lg 电子株式会社 编码和解码图像的方法及使用该方法的设备
EP2717579A1 (en) * 2011-05-31 2014-04-09 Panasonic Corporation Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device

Also Published As

Publication number Publication date
US20220078476A1 (en) 2022-03-10
WO2020224639A1 (en) 2020-11-12
CN113812165A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN111147850B (zh) 用于基于历史的运动矢量预测的表维护
CN112219400B (zh) 依赖位置的对运动信息的存储
CN113056917B (zh) 为视频处理使用具有几何分割的帧间预测
CN110620923B (zh) 广义的运动矢量差分辨率
CN110581998B (zh) 视频处理方法、装置和计算机可读记录介质
CN112913247B (zh) 使用局部照明补偿的视频处理
CN113056914B (zh) 基于部分位置的差计算
CN113287317B (zh) 并置的局部照明补偿和修改的帧间编解码工具
CN113170166B (zh) 具有几何分割的帧间预测在视频处理中有条件的应用
CN116033150A (zh) 不同视频块尺寸的仿射模式计算
CN113170139B (zh) 上下文自适应二进制算数编码的简化上下文建模
CN113812165B (zh) 对hmvp表的改进
CN111418207B (zh) 依赖块尺寸的对运动信息的存储
CN113841408B (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