用于针对合并模式确定预测权重的方法、设备和系统

文档序号:1926864 发布日期:2021-12-03 浏览:23次 >En<

阅读说明:本技术 用于针对合并模式确定预测权重的方法、设备和系统 (Method, device and system for determining prediction weights for merge mode ) 是由 陈杰 廖如伶 叶琰 于 2020-02-28 设计创作,主要内容包括:本公开提供了用于针对合并模式确定预测权重的系统、设备和方法。一种示例性方法包括以下步骤:确定编码单元的继承仿射合并候选、构建仿射合并候选和零运动向量中的至少一者的权重;以及基于所确定的权重对所述编码单元进行双向预测。可以通过在比特流中显式地传输权重索引或者通过在解码器侧的隐式获得来确定当前编码单元的权重。(The present disclosure provides systems, devices and methods for determining prediction weights for merge modes. An exemplary method comprises the steps of: determining a weight of at least one of an inherited affine merge candidate, a constructed affine merge candidate, and a zero motion vector of an encoding unit; and bi-directionally predicting the coding unit based on the determined weights. The weight of the current coding unit can be determined by explicitly transmitting the weight index in the bitstream or by implicit acquisition at the decoder side.)

用于针对合并模式确定预测权重的方法、设备和系统

相关申请的交叉引用

本申请要求于2019年3月11日提交的美国临时专利申请No.62/816,879的优先权及其权益,该美国临时专利申请的全部内容通过引用并入本文。

技术领域

本公开总体上涉及视频数据处理,并且更具体地,涉及针对合并模式确定预测权重的方法、设备和系统。

背景技术

视频编码通常用于转换和压缩数字视频信号,例如,以减少消耗的存储空间或减少与这种信号相关联的传输带宽消耗。

视频编码系统可以实现各种工具或技术来解决编码过程中涉及的不同问题。例如,在视频编码过程中,可以将输入的视频数据分割成不同大小的块单元并且逐块进行处理。在预测过程中,可以使用各种预测模式(诸如帧内预测模式和帧间预测模式)对块进行预测。基于块的大小,可以应用不同的预测模式。已经提出了各种技术来改进视频编码的效率和准确度以及降低所涉及的计算复杂度。

然而,不同技术的应用可能受制于不同条件。例如,一些技术可能需要编码单元满足各种条件,或者以特定模式对编码单元进行编码。作为另一示例,在权重预测过程中,一些技术可能只适用于一些运动向量候选的处理,而不适用于其它运动向量候选的处理。不同技术的组合对于处理所有块或所有子块可能是不可行的。因此,考虑到不同技术各自的适用条件,期望适当地组合或选择所述不同技术。

发明内容

本公开的实施方式提供了在视频数据处理中确定预测权重的方法、设备和系统。根据一些示例性实施方式,由视频数据的解码器执行的方法包括以下步骤:确定编码单元的继承仿射合并候选、构建仿射合并候选和零运动向量中的至少一者的权重;以及基于所确定的权重对所述编码单元进行双向预测。在一些实施方式中,可以基于在比特流中传输(signal)的权重索引(weight index)来确定权重。

在一些实施方式中,提供了由解码器实现的用于获得具有多个控制点的构建仿射合并候选的权重的方法。一种示例性方法包括以下步骤:响应于与所述构建仿射合并候选相关联的多个控制点具有一个或更多个权重,基于与左上控制点相关联的权重或与右上控制点相关联的权重来确定所述构建仿射合并候选的权重。

在一些实施方式中,提供了由解码器实现的用于获得具有多个控制点的构建仿射合并候选的权重的方法。一种示例性方法包括以下步骤:响应于与构建仿射合并候选相关联的多个控制点具有相同的权重,将所述多个控制点的权重确定为所述构建仿射合并候选的权重;并且响应于所述多个控制点具有不同的权重,将默认(default)值确定为所述构建仿射合并候选的权重。

在一些实施方式中,提供了用于在视频数据处理中确定预测权重的方法。一个示例性方法包括以下步骤:从多个控制点的权重中基于编码单元的控制点的权重来确定编码单元内的第一子块的权重;基于所确定的权重来生成所述第一子块的运动预测子(predictor);基于所述运动预测子来处理所述编码单元。

在一些实施方式中,提供了用于在视频数据处理中确定预测权重的设备。一种示例性视频处理装置包括:存储器,所述存储器存储有指令;以及处理器,所述处理器被配置为执行所述指令以使所述设备进行以下操作:确定编码单元的继承仿射合并候选、构建仿射合并候选和零运动向量中的至少一者的权重;以及基于所确定的权重对所述编码单元进行双向预测。

在一些实施方式中,提供了用于在视频数据处理中确定预测权重的设备。一个示例性视频处理装置包括:基于编码单元的控制点的权重,确定所述编码单元内的第一子块的权重;基于所确定的权重来生成所述第一子块的运动预测子;基于所述运动预测子来处理所述编码单元。

在一些实施方式中,提供了一种非暂时性计算机可读介质。一种示例性非暂时性计算机可读介质存储有指令集,所述指令集可由视频处理设备的一个或更多个处理器执行以使所述设备执行包括以下步骤的方法:确定编码单元的继承仿射合并候选、构建仿射合并候选和零运动向量中的至少一者的权重;以及基于所确定的权重对所述编码单元进行双向预测。

在一些实施方式中,提供了一种非暂时性计算机可读介质。一种示例性非暂时性计算机可读介质存储有指令集,所述指令集可由视频处理设备的一个或更多个处理器执行以使所述设备执行包括以下步骤的方法:基于编码单元的控制点的权重来确定所述编码单元内的第一子块的权重;基于所确定的权重来生成所述第一子块的运动预测子;以及基于所述运动预测子来处理所述编码单元。

附图说明

以下

具体实施方式

和附图中例示了本公开的实施方式和各种方面。图中所示的各种特征未按比例绘制。

图1是例示了与本公开的一些实施方式一致的示例性视频编码和解码系统的示意图。

图2是例示了与本公开的一些实施方式一致的可以是图1的示例性系统的一部分的示例性视频编码器的示意图。

图3是例示了与本公开的一些实施方式一致的可以是图1的示例性系统的一部分的示例性视频解码器的示意图。

图4A是根据本公开的一些实施方式的示例性两控制点仿射运动模型的示意图。

图4B是根据本公开的一些实施方式的示例性三控制点仿射运动模型的示意图。

图5是例示了根据本公开的一些实施方式的每个子块的示例性仿射运动向量场(MVF)的示意图。

图6是例示了根据本公开的一些实施方式的继承仿射运动预测子的示例性位置的示意图。

图7是例示了根据本公开的一些实施方式的控制点运动向量继承的示例的示意图。

图8是例示了根据本公开的一些实施方式的构建仿射合并模式的示例性候选位置的示意图。

图9A是例示了根据本公开的一些实施方式的针对具有两个控制点的编码单元的水平子块分割的示意图。

图9B是例示了根据本公开的一些实施方式的针对具有两个控制点的编码单元的垂直子块分割的示意图。

图9C是例示了根据本公开的一些实施方式的针对具有两个控制点的编码单元的子块分割成四个子块的示意图。

图9D是例示了根据本公开的一些实施方式的针对具有两个控制点的编码单元的子块分割成四个子块的示意图。

图10A是例示了根据本公开的一些实施方式的针对具有三个控制点的编码单元的垂直子块分割的示意图。

图10B是例示了根据本公开的一些实施方式的针对具有三个控制点的编码单元的水平子块分割的示意图。

图10C是例示了根据本公开的一些实施方式的针对具有三个控制点的编码单元的水平子块分割的示意图。

图10D是例示了根据本公开的一些实施方式的针对具有三个控制点的编码单元的垂直子块分割的示意图。

图10E是例示了根据本公开的一些实施方式的针对具有三个控制点的编码单元的子块分割成四个子块的示意图。

图10F是例示了根据本公开的一些实施方式的针对具有三个控制点的编码单元的子块分割成四个子块的示意图。

图10G是例示了根据本公开的一些实施方式的针对具有三个控制点的编码单元的子块分割成四个子块的示意图。

图10H是例示了根据本公开的一些实施方式的针对具有三个控制点的编码单元的子块分割成四个子块的示意图。

图11是例示了根据本公开的一些实施方式的针对具有四个控制点的编码单元的子块分割成四个子块的示意图。

具体实施方式

现在将详细参考示例性实施方式,附图例示了所述示例性实施方式的示例。以下描述参考附图,除非另有表示,否则不同附图中的相同附图标记表示相同或相似的要素。在示例性实施方式的以下描述中阐述的实现方式不表示与本发明一致的所有实现方式。相反,所述实现方式仅仅是与所附权利要求中所述的与本发明相关的方面一致的装置和方法的示例。

图1是例示了可以利用符合诸如HEVC/H.265和VVC/H.266的各种视频编码标准的技术的示例视频编码和解码系统100的框图。如图1所示,系统100包括源设备120,该源设备120提供稍后将由目的地设备140解码的经编码的视频数据。与本公开的一些实施方式一致,源设备120和目的地设备140中的每一者可以包括各种设备中的任何设备,诸如台式计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、移动电话、电视、相机、可穿戴设备(例如,智能手表或可穿戴相机)、显示设备、数字媒体播放器、视频游戏控制台、视频流传输设备等。源设备120和目的地设备140可以被配备用于无线通信或有线通信。

参考图1,源设备120可以包括视频源122、视频编码器124和输出接口126。目的地设备140可以包括输入接口142、视频解码器144和显示设备146。在一些实施方式中,源设备和目的地设备可以进一步包括其它部件或布置。例如,源设备120可以从诸如外部相机的外部视频源(未示出)接收视频数据。同样,目的地设备140可以与外部显示设备接口连接而不是包括集成显示设备。

尽管在以下描述中,一些技术被解释为由视频编码设备执行,但是所述技术也可以由视频编码器/解码器(通常称为“CODEC”)来执行。此外,本公开的技术还可以由视频预处理器来执行。源设备120和目的地设备140仅是这种编码设备的示例,其中,源设备120生成经编码的视频数据,以传输至目的地设备140。在一些实施方式中,源设备120和目的地设备140可以以基本对称的方式来工作,使得源设备120和目的地设备140中的每一者包括视频编码和解码部件。因此,系统100可以支持源设备120与目的地设备140之间的单向或双向视频传输,例如用于视频流传输、视频播放、视频广播或视频电话。

源设备120的视频源122可以包括视频捕获设备(诸如摄像机)、包含先前捕获的视频数据的视频档案、或用于从视频内容提供者接收视频的视频馈送接口。作为另外的另选例,视频源122可以生成基于计算机图形的数据作为源视频,或者实况视频、存档视频和计算机生成的视频的组合。捕获的、预先捕获的或计算机生成的视频可以由视频编码器124编码。经编码的视频信息然后可以由输出接口126输出到通信介质160上。

输出接口126可以包括能够将经编码的视频数据从源设备120发送至目的地设备140的任何类型的介质或设备。例如,输出接口126可以包括被配置为将经编码的视频数据从源设备120直接实时发送至目的地设备140的发送器或收发器。经编码的视频数据可以根据诸如无线通信协议的通信标准被调制,并且被发送至目的地设备140。

通信介质160可以包括瞬时介质,诸如无线广播或有线网络传输。例如,通信介质160可以包括射频(RF)频谱或者一个或更多个物理传输线(例如,电缆)。通信介质160可以形成基于分组的网络(诸如局域网、广域网或诸如互联网的全球网络)的一部分。在一些实施方式中,通信介质160可以包括路由器、交换机、基站或可以用于促进从源设备120到目的地设备140的通信的任何其它设备。例如,网络服务器(未示出)可以从源设备120接收经编码的视频并将该经编码的视频数据提供给目的地设备140,例如,经由网络传输提供给目的地设备140。

通信介质160也可以采用存储介质(例如,非暂时性存储介质)的形式,诸如硬盘、闪存驱动器、压缩盘、数字视频盘、蓝光光盘、易失性或非易失性存储器或用于存储经编码的视频数据的任何其它合适的数字存储介质。在一些实施方式中,诸如盘冲压设施的媒体制作设施的计算设备可以从源设备120接收经编码的视频数据并且制作包含该经编码的视频数据的盘。

目的地设备140的输入接口142从通信介质160接收信息。所接收的信息可以包括语法信息,该语法信息包括对块和其它经编码的单元的特性或处理进行描述的语法要素。语法信息由视频编码器124限定并由视频解码器144使用。显示设备146向用户显示经解码的视频数据并且可以包括各种显示设备中的任何显示设备,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示设备。

作为另一示例,由源设备120生成的经编码的视频可以存储在文件服务器或存储设备上。输入接口142可以经由流传输或下载从文件服务器或存储设备访问所存储的视频数据。文件服务器或存储设备可以是能够存储经编码的视频数据并将该经编码的视频数据发送至目的地设备140的任何类型的计算设备。文件服务器的示例包括支持网站的网站服务器、文件传输协议(FTP)服务器、网络附加存储(NAS)设备或本地磁盘驱动器。来自存储设备的经编码的视频数据的传输可以是流传输、下载传输或其组合。

视频编码器124和视频解码器144各自均可以实现为各种合适的编码器电路中的任何编码器电路,诸如一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件的形式实现时,设备可以将针对软件的指令存储在合适的非暂时性计算机可读介质中,并使用一个或更多个处理器在硬件中执行指令以执行本公开的技术。视频编码器124和视频解码器144中的每一者可以被包括在一个或更多个编码器或解码器中,所述一个或更多个编码器或解码器中的任一者可以被集成为相应设备中的组合编码器/解码器(CODEC)的一部分。

视频编码器124和视频解码器144可以根据任何视频编码标准(诸如通用视频编码(VVC/H.266)标准、高效视频编码(HEVC/H.265)标准、ITU-T H.264(也称为MPEG-4)标准等)工作。尽管未在图1中示出,但在一些实施方式中,视频编码器124和视频解码器144可以各自与音频编码器和解码器集成,并且可以包括适当的MUX-DEMUX单元或其它硬件和软件,以处理采用共同数据流或单独的数据流的音频和视频两者的编码。

图2是例示了与所公开的实施方式一致的示例性视频编码器200的示意图。例如,视频编码器200可以用作系统100(图1)中的视频编码器124。视频编码器200可以执行视频帧内的块(包括视频块或视频块的分区或子分区)的帧内编码或帧间编码。帧内编码可以依靠空间预测来减少或去除给定视频帧内视频中的空间冗余。帧间编码可以依靠时间预测来减少或去除视频序列的相邻帧内的视频中的时间冗余。帧内模式可以指多个基于空间的压缩模式。帧间模式(诸如单向预测或双向预测)可以指多个基于时间的压缩模式。

参考图2,输入视频信号202可以被逐块处理。例如,视频块单元可以是16×16像素块(例如,宏块(MB))。视频块单元的大小可能会有所不同,这取决于所使用的编码技术以及所需的准确度和效率。在HEVC中,经扩展的块大小(例如,编码树单元(CTU))可以用于压缩分辨率例如为1080p及更高的视频信号。在HEVC中,CTU可以包括多达64×64个亮度样本、对应色度样本以及相关联的语法要素。在VVC中,CTU的大小可以进一步增大,以包括128×128亮度样本、对应色度样本以及相关联的语法要素。可以使用例如四叉树、二叉树或三叉树将CTU进一步划分成编码单元(CU)。CU可以进一步分割成预测单元(PU),针对所述预测单元,可以应用单独的预测方法。可以通过使用空间预测单元260或时间预测单元262来处理各个输入视频块。

空间预测单元260使用与包含当前块的同一图片/切片有关的信息来对当前块/CU执行空间预测(例如,帧内预测)。空间预测可以使用来自同一视频图片帧/切片中的已经编码的相邻块的像素来预测当前视频块。空间预测可以减少视频信号中固有的空间冗余。

时间预测单元262使用来自与包含当前块的图片/切片不同的图片/切片的信息来对当前块执行时间预测(例如,帧间预测)。可以由一个或更多个运动向量来传输视频块的时间预测。在单向时间预测中,仅使用指示一个参考图片的一个运动向量来生成当前块的预测信号。另一方面,在双向时间预测中,可以使用两个运动向量(各个运动向量指示相应参考图片)来生成当前块的预测信号。运动向量可以指示参考帧中的当前块与一个或更多个关联块之间的运动的量和方向。如果支持多个参考图片,则可以针对视频块发送一个或更多个参考图片索引。可以使用一个或更多个参考索引来识别时间预测信号可能来自参考图片存储部或解码图片缓冲部(DPB)264中的哪个(哪些)参考图片。

编码器中的模式决定和编码器控制单元280可以例如基于率失真优化来选择预测模式。基于所确定的预测模式,可以获得预测块。可以在加法器216处从当前视频块减去预测块。预测残差可以由变换单元204变换并由量化单元206量化。经量化的残差系数可以在逆量化单元210处逆量化并在逆变换单元212处逆变换,以形成经重构的残差。可以在加法器226处将经重构的残差添加至预测块,以形成经重构的视频块。环路滤波之前的经重构的视频块可以用于提供用于帧内预测的参考样本。

经重构的视频块可以在环路滤波器266处经历环路滤波。例如,可以应用诸如去块滤波器、样本自适应偏移(SAO)和自适应环路滤波器(ALF)的环路滤波。环路滤波之后的重构块可以存储在参考图片存储部264中并且可以用于提供帧间预测参考样本来对其它视频块进行编码。为了形成输出视频比特流220,在数据被压缩并被打包以形成比特流220之前,可以将编码模式(例如,帧间或帧内)、预测模式信息、运动信息和经量化的残差系数发送至熵编码单元208以进一步降低比特率。

图3是例示了与所公开的实施方式一致的视频解码器300的示意图。例如,视频解码器300可以用作系统100(图1)中的视频解码器144。参考图3,可以在熵解码单元308处对视频比特流302进行解包或熵解码。编码模式信息可以用于确定选择空间预测单元360还是时间预测单元362。可以将预测模式信息发送至对应的预测单元,以生成预测块。例如,可以由时间预测单元362应用运动补偿预测,以形成时间预测块。

可以将残差系数发送至逆量化单元310和逆变换单元312,以获得经重构的残差。可以在326处将预测块和经重构的残差加在一起,以在环路滤波之前形成重构块。重构块然后可以在环路滤波器366处经历环路滤波。例如,可以应用诸如去块滤波器、SAO和ALF的环路滤波。环路滤波之后的重构块然后可以被存储在参考图片存储部364中。参考图片存储部364中的经重构的数据可以用于获得经解码的视频320,或者用于预测未来的视频块。经解码的视频320可以显示在显示设备(诸如系统100(图1)中描述的显示设备146)上。

在一些实施方式中,可以应用仿射运动预测。例如,在HEVC中,平移运动模型被应用于运动补偿预测(MCP)。而在现实世界中,存在很多种运动,诸如放大/缩小、旋转、透视运动和其它不规则运动。在VVC中,应用了基于块的仿射变换运动补偿预测。如图4A和图4B所示,块的仿射运动场可以由两个控制点运动向量(4参数仿射运动模型,参见图4A)或三个控制点运动向量(6参数仿射运动模型,参见图4B)的运动信息来描述。

如图4A所示,v0表示左上角控制点(CP)402的控制点运动向量,而v1表示右上角CP404的控制点运动向量。针对4参数仿射运动模型,块中的样本位置(x,y)处的运动向量可以获得如下:

其中(mv0x,mv0y)指示左上角CP 402的运动向量,(mv1x,mv1y)指示右上角CP 404的运动向量。

如图4B所示,在6参数仿射运动模型中,v0表示左上角控制点(CP)406的控制点运动向量,v1表示右上角CP 408的控制点运动向量,而v2表示左下角CP 410的控制点运动向量。针对6参数仿射运动模型,块中的样本位置(x,y)处的运动向量可以获得如下:

其中(mv0x,mv0y)指示左上角CP 406的运动向量,(mv1x,mv1y)指示右上角CP 408的运动向量,并且(mv2x,mv2y)指示左下角CP 410的运动向量。

在一些实施方式中,为了简化运动补偿预测过程,可以应用基于块的仿射变换预测。为了获得各个4×4亮度子块的运动向量,可以根据上述式(1)和式(2)计算各个子块的中心样本的运动向量(如图5所示),并将其四舍五入到1/16分数精度。图5中的箭头指示对应于各个子块的运动向量。然后可以应用运动补偿内插滤波器,以利用所获得的运动向量生成各个子块的预测。色度分量的子块大小也可以设置为4×4。4×4色度子块的运动向量可以计算为四个对应的4×4亮度子块的运动向量的平均。

针对平移运动帧间预测执行时,还存在两种仿射运动帧间预测模式:仿射合并模式和仿射高级运动向量预测(AMVP)模式。针对宽度和高度均大于或等于8的CU,可以应用仿射合并模式。在AMVP模式下,可以基于空间相邻CU的运动信息来生成当前CU的控制点运动向量(CPMV)。最多可以有五个CPMV候选。可以传输索引以指示要用于当前CU的一个候选。使用以下三种类型的CPMV候选来形成仿射合并候选列表:(1)从相邻CU的CPMV外推的继承仿射合并候选;(2)使用相邻CU的平移运动向量(MV)获得的构建仿射合并候选CPMV;(3)零MV。下面进一步描述这三种类型的候选。

在VVC中,最多可以有两个继承仿射合并候选。两个继承仿射合并候选源自相邻块的仿射运动模型,一个来自左侧相邻CU,一个来自上方相邻CU。图6示出了候选块A0、A1、B0、B1和B2。针对左运动向量预测子,可以按照以下顺序检查相邻块:A0->A1。针对上方运动向量预测子,可以按照以下顺序检查相邻块:B0->B1->B2。可以选择来自各侧(左侧和上方)的第一继承候选。即,在各侧,选择按照检查顺序以仿射模式编码的第一相邻块。此外,不能在两个继承候选之间执行修剪检查(pruning check)。

当识别出相邻仿射CU时,其控制点运动向量可以用于获得当前CU的仿射合并列表中的CPMV候选。如图7所示,如果以仿射模式对相邻的左下块A进行编码,则可以实现包含块A的CU 704的左上角的运动向量v2、右上角的运动向量v3和左下角的运动向量v4。如果块A是用4参数仿射模型编码的,则可以根据v2和v3计算当前CU 702的两个CPMV。另选地,如果块A是用6参数仿射模型编码的,则可以根据v2、v3和v4计算当前CU 702的三个CPMV。

构建仿射候选是指通过组合各个控制点的相邻的运动信息来构建的候选。如图8所示,四个控制点802、804、806和808的运动信息可以源自指定的空间邻居和时间邻居。CPMVk(k=1,2,3,4)可以用来表示第k个控制点CPk的运动向量。针对与CP 801相对应的CPMV1,可以根据以下顺序检查相邻块B2、B3和A2:B2->B3->A2。可以使用第一可用块的MV。针对与CP 804相对应的CPMV2,可以按照以下顺序检查相邻块B1和B0:B1->B0。针对与CP806相对应的CPMV3,可以按照以下顺序检查相邻块A1和A0:A1->A0。针对与CP 808相对应的CPMV4,时间运动向量预测子(TMVP)可以用作CPMV4(如果可用)。

在获得四个控制点802-808的MV之后,可以基于运动信息来构建仿射合并候选。控制点MV的组合可以用于按照以下顺序构建候选:

{CPMV1,CPMV2,CPMV3},{CPMV1,CPMV2,CPMV4},{CPMV1,CPMV3,CPMV4},

{CPMV2,CPMV3,CPMV4},{CPMV1,CPMV2},{CPMV1,CPMV3}

3个CPMV的组合可以构建6参数仿射合并候选,并且2个CPMV的组合可以构建4参数仿射合并候选。在一些实施方式中,为了避免运动缩放过程,如果控制点的参考索引是不同的,则可以丢弃控制点MV的对应组合。

在检查了继承仿射合并候选和构建仿射合并候选之后,如果仿射合并候选列表仍是不满的(full),则可以在列表末尾插入零MV。

仿射AMVP模式可以应用于宽度和高度都大于或等于16的CU。可以在比特流中传输CU级别的仿射标志,以指示是否使用仿射AMVP模式。如果使用仿射AMVP模式,则可以传输另一标志,以指示使用4参数仿射还是6参数仿射。可以在比特流中传输当前CU的CPMV与其预测子(CPMVP)的差。仿射AMVP候选列表大小为2。可以通过按照以下顺序使用以下四种类型的CPMVP候选来生成候选列表:(1)从相邻CU的CPMV外推的继承仿射AMVP候选;(2)使用相邻CU的平移MV获得的构建仿射AMVP候选CPMVP;(3)来自相邻CU的平移MV;以及(4)零MV。

继承仿射AMVP候选的检查顺序可以与继承仿射合并候选的检查顺序相同,如上所述。唯一的区别是,针对AMVP候选,只考虑与当前块具有相同参考图片的仿射CU。在将继承仿射运动预测子插入候选列表时不应用修剪过程。

构建AMVP候选可以源自指定的空间邻居,如图8所示。可以使用仿射合并候选构建中使用的相同检查顺序。另外,还检查相邻块的参考图片索引。使用按照检查顺序的如下第一块,该第一块被帧间编码并且具有与当前CU中相同的参考图片。在当前CU利用4参数仿射模式编码并且mv0和mv1都可用时,可以将它们作为一个候选添加至仿射AMVP列表中。在当前CU利用6参数仿射模式编码并且所有三个CPMV都可用时,将它们作为一个候选添加至仿射AMVP列表中。否则,可以将构建AMVP候选设置为不可用。

在检查继承仿射AMVP候选和构建AMVP候选之后,仿射AMVP列表候选可能仍然少于2个。在这种情况下,当可用时,可以按照顺序添加mv0、mv1和mv2,作为用于预测当前CU的所有控制点MV的平移MV。最后,如果仿射AMVP候选列表仍是不满的,则可以使用零MV来填充列表。

在一些实施方式中,可以应用利用加权平均的双向预测(BWA)。传统上,双向预测信号仅通过对从两个不同参考图片获得的两个预测信号求平均和/或使用两个不同运动向量来生成。在VVC中,双向预测模式扩展超出了简单的平均,以允许对两个预测信号进行加权平均,如下式所示:

Pbi-pred=((8-w)*P0+w*P1+4)>>3 (3)

加权平均双向预测中允许五个权重,w∈{-2,3,4,5,10}。针对各个双向预测的CU,可以以两种方式中的一种方式来确定权重w:1)针对非合并CU,可以在运动向量差之后传输权重索引;2)针对合并CU,可以基于合并候选索引从相邻块推断权重索引。加权平均双向预测可以应用于具有256个或更多个亮度样本(这意味着CU宽度乘以CU高度大于或等于256)的CU。针对低延迟图片,可以使用所有5个权重。针对非低延迟图片,仅使用3个权重(w∈{3,4,5})。

在编码器侧,可以应用快速搜索算法来找到权重索引,而不会显著增加编码器的复杂度。可以基于以下内容来总结这些算法的应用。当与自适应运动向量分辨率(AMVR)组合时,如果当前图片是低延迟图片,则仅针对1像素和4像素运动向量精度有条件地检查不等权重(unequal weight)。当与仿射运动补偿组合时,当且仅当仿射模式被选为当前最佳模式时,才针对不等权重执行仿射运动估计(ME)。当双向预测中的两个参考图片相同时,仅有条件地检查不等权重。

在一些实施方式中,当满足某些条件时,不搜索不等权重。可以考虑各种因素,诸如当前图片与其参考图片之间的图片顺序计数(POC)距离、编码量化参数(QP)和时间级别。

如上所述,当BWA与合并预测组合时,可以基于合并候选指数从相邻块推断权重索引。然而,在仿射合并预测的情况下,这可能并不总是正确的。如上所述,针对仿射合并预测,仿射合并候选列表中可能存在以下三种类型的CPMV候选:1)从相邻CU的CPMV外推的继承仿射合并候选;2)使用相邻CU的平移MV获得的构建仿射合并候选CPMV;以及3)零MV。当选择第一类型的候选(继承仿射合并候选)时,也继承相邻CU的BWA权重索引。因此,在双向预测中使用的当前CU的权重索引与供继承CPMV的相邻CU的权重索引相同。然而,当选择第二类型的候选(构建仿射合并候选)或第三类型的候选(零运动向量)时,不继承相邻CU的BWA权重索引。相反,在一些技术中,可以通过将当前CU权重索引设置为默认值来将均等权重用于当前CU。

上述设计至少具有以下缺点。基于上述设计,在作为同一候选列表中的两种类型的CPMV候选的继承仿射合并候选与构建仿射合并候选之间可能存在BWA权重索引继承的不一致。因此,编码器和解码器需要区分这两种候选类型,并使用不同的逻辑来生成当前CU的BWA权重。继承仿射合并候选继承于相邻CU,而构建仿射合并候选是固定的。因此,这增加了处理的复杂度。

此外,如果选择了构建仿射合并候选,则当前CU的权重可以是固定的,这失去了权重选择的灵活性。BWA被VVC标准采用,因为它通过在帧间预测中提供更多的平均权重选项来提高编码性能。然而,使用固定的均等权重会降低BWA的优势,因此可能会损害编码性能。

此外,在插入继承仿射合并候选和构建仿射合并候选之后候选列表未满时,将零MV插入仿射合并候选列表中。然而,针对插入到候选列表中的所有零MV固定BWA权重意味着相同的MV候选在列表中重复,这在候选信号传输中引入了冗余。另外,如上所述,针对构建仿射合并候选,不使用相邻CU权重。这偏离了与BWA结合合并模式时基于合并候选索引从相邻块推断权重索引的设计理念。

为了解决上述问题,本公开提供了以下技术。

解决上述问题的一种技术是通过显式权重信令。利用显式信令,编码器可以选择当前CU的权重,并且可以在比特流中显式地传输所选择的权重的索引。这改变了基于合并候选索引从相邻块推断权重索引的理念。针对仿射合并预测,不再从相邻CU推断当前CU的权重。编码器可以从允许的候选权重中选择任何值,并在比特流中传输所选择的值。

在本公开的一些实施方式中,所有种类的仿射合并候选(包括继承仿射合并候选、构建仿射合并候选和零运动向量)的权重都可以由编码器选择并在比特流中传输。在一些实施方式中,一些但不是全部仿射合并候选的权重由编码器选择并在比特流中传输。例如,仅针对构建仿射合并候选,可以选择并传输权重;并且针对其它候选(例如,继承仿射合并候选),权重是从相邻的CU推断的或固定为默认值。

在本公开的一些实施方式中,可以通过在比特流中发送权重索引来传输权重。

解决现有问题的另一技术是通过隐式权重获得。利用这种技术,针对使用构建仿射合并候选的CU,权重不是固定的。相反,可以从相邻的CU推断权重。针对各个构建仿射合并候选,可以根据该构建仿射合并候选的CP获得权重或权重索引。如果该构建仿射合并候选用于CU,则所获得的权重或权重索引也可以用于CU。

例如,CPk(k=1,2,3,4)可以用来表示第k个CP。针对各个CP,可以使用相邻CU来获得对应的CPMV。相邻CU也用于获得CP的权重或权重索引。一般来说,存在4个控制点。因此,构建仿射合并候选最多可以具有4个不同权重或权重索引。因此,可以指定规则以从至多4个权重或权重索引中获得构建仿射合并候选的一个权重或权重索引。例如,多个CP(包括构建仿射合并候选的左上CP和/或右上CP)具有一个或更多个权重。可以基于与左上CP相关联的权重和/或与右上CP相关联的权重来确定构建仿射合并候选的权重。类似地,在一些实施方式中,构建仿射合并候选的左下CP和/或右下CP具有一个或更多个权重。可以基于与左下CP相关联的权重和/或与右下CP相关联的权重来确定构建仿射合并候选的权重。下面进一步描述获得过程的示例。在本公开的一些实施方式中,如果CP中的所有CP具有相同的权重或权重索引,则该权重或权重索引可以用于构建仿射合并候选。如果不是所有的CP都具有相同的权重或权重索引,则可以使用与均等权重相对应的默认值。

例如,针对具有2个CP(CPa,CPb)的构建仿射合并候选,

if(CPaweight==CPb weight)

the affine merge candidate weight=CPaweight

else

the affine merge candidate weight=default value

此外,针对具有3个CP(CPa,CPb,CPc)的构建仿射合并候选,

if(CPaweight==CPbweight&&CPb weight==CPc weight)

the affine merge candidate weight=CPaweight

else

the affine merge candidate weight=default value

类似地,上述规则也可以应用于具有4个或更多个CP的构建仿射合并候选,并且上述操作也可以应用于权重索引。

在本公开的一些实施方式中,构建仿射合并候选的权重或权重索引可以是最可能的权重或权重索引。最可能的权重或权重索引可以与构建仿射合并候选的大多数CP使用的权重或权重索引相对应。例如,针对具有2个CP(CPa,CPb)的构建仿射合并候选,可以基于以下内容来确定权重:

if(CPa weight==CPb weight)

the affine merge candidate weight=CPa weight

else

the affine merge candidate weight=default value

针对具有3个CP(CPa,CPb,CPc)的构建仿射合并候选,可以基于以下内容来确定权重:

if(CPa weight==CPb weight)

the affine merge candidate weight=CPa weight

else if(CPb weight==CPcweight)

the affine merge candidate weight=CPb weight

else if(CPaweight==CPcweight)

the affine merge candidate weight=CPc weight

上述规则也可以应用于具有4个或更多个CP的构建仿射合并候选,以及权重索引的确定。

在本公开的一些实施方式中,从构建仿射合并候选的CP的所有权重中,与均等权重相差最小的权重可以用作构建仿射合并候选的权重或权重索引。例如,针对具有2个CP(CPa,CPb)的构建仿射合并候选,可以基于以下内容来确定权重:

Diffa=|CPa weight-equal weight|

Diffb=|CPb weight-equal weight|

if(Diffa<=Diffb)

the affine merge candidate weight=CPaweight

else

the affine merge candidate weight=CPb weight

针对具有3个CP(CPa,CPb,CPc)的构建仿射合并候选,可以基于以下内容来确定权重:

Diffa=|CPa weight-equal weight|

Diffb=|CPb weight-equal weight|

Diffc=|CPc weight-equal weight|

if(Diffa<=Diffb&&Diffa<=Diffc)

the affine merge candidate weight=CPa weight

else if(Diffb<=Diffa&&Diffb<=Diffc)

the affine merge candidate weight=CPb weight

else

the affine merge candidate weight=CPcweight

另选地,针对具有2个CP(CPa,CPb)的构建仿射合并候选,可以基于以下内容来确定权重:

if(CPa weight>=equal weight&&CPb weight>=equal weight)

the affine merge candidate weight=min(CPa weight,CPb weight)

else if(CPa weight<=equal weight&&CPb weight<=equal weight)

the affine merge candidate weight=max(CPa weight,CPbweight)

针对具有3个CP(CPa,CPb,CPc)的构建仿射合并候选,可以基于以下内容来确定权重:

if(CPa weight>=equal weight&&CPb weight>=equal weight&&CPcweight>=equal weight)

the affine merge candidate weight=min(CPa weight,CPb weight,CPcweight)

else if(CPa weight<=equal weight&&CPb weight<=equal weight&&CPc weight<=equal weight)

the affine merge candidate weight=max(CPa weight,CPb weight,CPcweight)

else

the affine merge candidate weight=equal weight,or the one closer tothe equal weight of the two on the same side of equal weight

类似地,上述规则也可以应用于具有4个或更多个CP的构建仿射合并候选,以及权重索引的确定。

在一些实施方式中,CP权重或权重索引的平均可以用作构建仿射合并候选的权重。例如,针对具有2个CP(CPa,CPb)的构建仿射合并候选,可以基于以下内容来确定权重:

weight=integer part of(CPa weight+CPb weight)/2

res=(CPa weight+CPb weight)%2

if(res==0)

the affine merge candidate weight=weight

else

the affine merge candidate weight=round(CPa weight+CPb weight)/2towards to equal weight

此外,针对具有3个CP(CPa,CPb,CPc)的构建仿射合并候选,可以基于以下内容来确定权重:

weight=integer part of(CPaweight+CPb weight+CPc weight)/3

res=(CPa weight+CPb weight+CPc weight)%3

if(res==0)

the affine merge candidate weight=weight

else

the affine merge candidate weight=round(CPaweight+CPb weight+CPcweight)/3 towards to equal weight

类似地,上述规则也可以应用于具有4个或更多个CP的构建仿射合并候选,以及权重索引的确定。

根据本公开的一些实施方式,还提供了将BWA权重用于零MV候选的方法。如上所述,在将继承仿射合并候选和构建仿射合并候选插入仿射合并候选列表(如果候选列表未满)之后,候选列表将填充有零MV,直到该候选列表是满的为止。与本公开的一些实施方式一致,候选列表可以填充有具有不同BWA权重的零MV,使得填充的零MV候选可以提供不同的预测子。

例如,候选列表中要填充的零MV的权重顺序可以是{4,4}/8、{5,3}/8、{3,5}/8、{-2,10}/8、{10,-2}/8。在获得继承仿射合并候选和构建仿射合并候选之后,如果候选列表不是满的,则可以首先插入具有均等权重{4,4}/8的零MV。如果列表仍是不满的,则可以插入权重为{5,3}/8的零MV。之后,如果列表仍是不满的,则可以插入权重为{3,5}/8、{-2,10}/8和{10,-2}/8的零MV,直到列表是满的为止。如果在插入具有所有权重的零MV之后,候选列表仍是不满的,则可以插入具有不同参考索引的零MV。

在VVC中,可以存在多个构建仿射合并候选。候选的控制点集/组合的顺序如下:{CP1,CP2,CP3}、{CP1,CP2,CP4}、{CP1,CP3,CP4}、{CP2,CP3,CP4}、{CP1,CP2}、{CP1,CP3}。编码器和解码器可以从第一组合检查至最后一个组合。如果组合是可用的,则可以将其放入候选列表中。如果组合是不可用的,则可以检查下一组合。可以在比特流中用可变长度的代码指示在候选列表中选择的候选的索引。较小的索引可以用较短长度的代码进行编码。所以列表中候选的顺序可以影响编码效率。可能无法针对各个视频序列来优化构建仿射合并候选的固定顺序。

为了解决上述问题,可以实现合并候选的自适应顺序。例如,检查组合中CP的权重。根据检查结果,可以确定各个组合的顺序。

在本公开的一些实施方式中,所有CP具有相同权重或权重索引的组合被分配了最高优先级,并且在列表中排在最前面。CP具有最多样的权重或权重索引的组合具有较低的优先级,并且在列表中排在后面。在本公开的一些实施方式中,可以根据CP权重将CP分为不同类。所有CP都属于同一类的组合可以被分配最高优先级,并且可以在列表中排在最前面。CP位于最多样的组合可以被分配较低的优先级并且在列表中排在后面。

基于上述内容,组合中CP的权重越一致,该组合的优先级越高。例如,针对组合{CPMV1,CPMV2,CPMV3}和{CPMV1,CPMV2,CPMV4}。如果CP1、CP2和CP3具有相同的权重或权重索引或属于同一类,CP4具有不同的权重或权重索引或属于不同的类,则{CPMV1,CPMV2,CPMV3}可以被分配较高的优先级。即,在列表中,{CPMV1,CPMV2,CPMV3}排在{CPMV1,CPMV2,CPMV4}之前。另选地,如果CP1、CP2和CP3的权重或权重索引或对应类全部不同,但CP4的权重或权重索引或对应类与CP1的权重或权重索引或对应类相同,则{CPMV1,CPMV2,CPMV4}可以是较少样的并且被分配较高的优先级。即,在列表中,{CPMV1,CPMV2,CPMV4}排在{CPMV1,CPMV2,CPMV3}之前。如果两个组合在权重或权重索引或类方面具有相同的多样性水平,则可以将默认顺序分配给这两个组合。

在VVC中,构建仿射候选是指通过组合各个控制点的相邻运动信息而构建的候选。控制点的以下组合用于按照顺序构建仿射合并候选:{CP1,CP2,CP3}、{CP1,CP2,CP4}、{CP1,CP3,CP4}、{CP2,CP3,CP4}、{CP1,CP2}、{CP1,CP3}。编码器和解码器可以检查各个组合的可用性。如果可用,则可以将构建仿射合并候选放入候选列表中。如果组合不可用,则可以检查下一组合的可用性。在现有技术中,可用性条件集中于相邻CU是否被帧间编码。不考虑BWA权重。

与本公开的一些实施方式一致,可以应用新的可用性条件。可以检查组合中各个CP的权重或权重索引。可以根据检查结果确定组合的可用性。

在一些实施方式中,如果组合中的两个CP的权重具有不同的正负号(sign),则可以将该组合设置为不可用组合。例如,在组合{CP1,CP2,CP3}中,如果CP1的权重为(-2,10)并且CP2的权重为(10,-2),则可以将该组合设置为不可用。作为另一示例,在组合{CP1,CP2,CP3}中,如果CP1的权重为(-2,10)并且CP2的权重为(4,4),则可以将该组合设置为不可用。

在VVC中,BWA权重应用于CU或PU级别。这意味着一个CU或PU内的各个像素在预测过程中具有相同的权重。然而,在仿射运动预测中,可以应用基于子块的运动补偿。可以通过当前CU的控制点的运动向量获得当前CU内的各个子块的运动向量。然后应用运动补偿内插滤波器,以利用所获得的运动向量生成各个子块的预测子。为了匹配运动向量和BWA权重,可以根据本公开的一些实施方式获得子块级别权重。

在一些实施方式中,可以通过当前CU或PU的控制点的权重来获得当前CU或PU内的各个子块的权重。因此,各个子块可以具有不同权重。

在一些实施方式中,可以根据CP的权重wcp0、wcp1和wcp2内插各个像素wx,y的权重,其中(x,y)指示各个像素的坐标。可以使用各种内插滤波器,在此不作限制。为了简化内插过程,可以按照子块级别获得权重。例如,(x,y)可以是各个子块的中心坐标。此外,子块大小可以与仿射运动预测中使用的子块大小相同。

在本公开的一些实施方式中,CU或PU可以被分成例如2个或4个子块。针对各个子块,子块中包含的控制点的权重可以用于该子块。针对当前构建仿射合并候选的控制点组合中没有控制点的子块,可以使用预先限定的规则来获得权重值。例如,如图9A所示,针对2-CP组合{CP1,CP3},CU或PU 910可以被水平分割成两个子块911和912。CP1的权重W1可以用于上子块911。CP3的权重W3可以用于底子块912。作为另一示例,如图9B所示,针对2-CP组合{CP1,CP2},CU或PU 920可以被垂直分割成两个子块921和922。CP1的权重可以用于左子块921。CP2的权重可以用于右子块922。

另选地,针对2-CP组合{CP1,CP3},如图9C所示,CU或PU 930可以被分割成四个子块931、932、933和934。CP1的权重可以用于左上子块931。CP3的权重可以用于左下子块932。右上子块933的权重可以根据CP1的权重获得,或者设置为默认值。右下子块934的权重可以根据CP3的权重获得,或者设置为默认值。类似地,针对2个CP的组合{CP1,CP2},如图9D所示,CU或PU 940可以被分割成四个子块941、942、943和944。CP1的权重可以用于左上子块941。CP2的权重可以用于右上子块942。左下子块943的权重可以根据CP1的权重获得,或者设置为默认值。右下子块944的权重可以根据CP2的权重获得,或者设置为默认值。

下面进一步提供关于三个CP的示例性分区。如图10A所示,针对3-CP组合{CP1,CP2,CP4},CU或PU 1010可以被垂直分割成两个子块1011和1012。CP1的权重可以用于左子块1011。CP2的权重可以用于右子块1012。针对3-CP组合{CP1,CP3,CP4},如图10B所示,CU或PU1020可以被水平分割成两个子块1021和1022。CP1的权重可以用于上子块1021。CP3的权重可以用于下子块1022。针对3-CP组合{CP2,CP3,CP4},如图10C所示,CU或PU 1030可以被水平分割成子块1031和1032。CP2的权重可以用于顶部子块1031。CP3的权重可以用于底部子块1032。另选地,如图10D所示,CU或PU 1040可以被垂直分割成子块1041和1042。CP2的权重可以用于右子块1042。CP3的权重可以用于左子块1041。

CU或PU可以进一步分割成4个子块。如图10E所示,针对3个CP组合{CP1,CP2,CP3},CU或PU 1050可以被分割成四个子块1051、1052、1053和1054。CP1的权重可以用于左上子块1051。CP2的权重可以用于右上子块1052。CP3的权重可以用于左下子块1053。右下子块1054的权重可以设置为以下项中的一项:CP1、CP2、CP3的三个权重的平均值;CP2的权重和CP3的权重的平均值;CP1、CP2和CP3的三个权重的中间值;CP1、CP2和CP3的三个权重中的与均等权重相差最小的一者;CP2的权重和CP3的权重中的与均等权重相差最小的一者;均等权重;或另一默认值。

如图10F所示,针对3个CP组合{CP1,CP2,CP4},CU或PU 1060可以被分割成四个子块1061、1062、1063和1064。CP1的权重可以用于左上子块1061。CP2的权重可以用于右上子块1062。CP4的权重可以用于右下子块1064。左下子块1063的权重可以设置为以下项中的一项:所有三个权重的平均值;CP1的权重和CP4的权重的平均值;三个权重的中间值;CP1、CP2、CP4的三个权重中的与均等权重相差最小的一者;CP1的权重和CP4的权重中的与均等权重相差较小的一者;均等权重;或另一默认值。

如图10G所示,针对3个CP组合{CP1,CP3,CP4},CU或PU 1080可以被分割成四个子块1071、1072、1073和1074。CP1的权重可以用于左上子块1071。CP3的权重可以用于左下子块1073,并且CP4的权重可以用于右下子块1074。右上子块1072的权重可以设置为以下项中的一项:所有三个权重的平均值;CP1的权重和CP4的权重的平均值;三个权重的中间值;CP1、CP3、CP4的三个权重中的与均等权重相差最小的一者;CP1的权重和CP4的权重中的与均等权重相差较小的一者;均等权重;或另一默认值。

如图10H所示,针对3个CP组合{CP2,CP3,CP4},CU或PU 1080可以被分割成四个子块1081、1082、1083和1084。CP2的权重可以用于右上子块1082。CP3的权重可以用于左下子块1083。CP4的权重可以用于右下子块1084。左上子块1081的权重可以设置为以下项中的一项:所有三个权重的平均值;CP2的权重和CP3的权重的平均值;控制点的三个权重的中间值;CP2、CP3、CP4的三个权重中的与均等权重相差最小的一者;CP2的权重和CP3的权重中的与均等权重相差较小的一者;均等权重;或另一默认值。

下面进一步提供关于4个CP的示例性分区。如图11所示,针对组合{CP1,CP2,CP3,CP4},CU或PU 1100可以被分割成四个子块1101、1102、1103和1104。CP1的权重可以用于左上子块1101。CP2的权重可以用于右上子块1102。CP3的权重可以用于左下子块1103。CP4的权重可以用于右下子块1104。

在一些实施方式中,还提供了一种包括指令的非暂时性计算机可读存储介质,并且所述指令可以由用于执行上述方法的设备(诸如所公开的编码器和解码器)来执行。例如,非暂时性介质的常见形式包括软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有洞图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM或任何其它闪存、NVRAM、缓存部、寄存器、任何其它存储器芯片或盒式磁带以及它们的网络版本。设备可以包括一个或更多个处理器(CPU)、输入/输出接口、网络接口和/或存储器。

应注意,本文中诸如“第一”和“第二”的关系用语仅用于对实体或操作与另一实体或操作进行区分,并不要求或暗示这些实体或操作之间的任何实际关系或顺序。此外,“包含”、“具有”、“含有”和“包括”和其它类似形式的词语旨在在含义上是等效的并且是开放式的,因为这些词语中的任何一个词语之后的一个或多个项不旨在详尽列出这样的项或多个项,也不旨在仅限于列出的项或多个项。

如本文所使用的,除非另外特别说明,否则用语“或”涵盖所有可能的组合,除非不可行。例如,如果声明数据库可以包括A或B,那么,除非另有明确说明或不可行,否则该数据库可以包括A、或B、或A和B。作为第二示例,如果声明数据库可以包括A、B或C,那么,除非另有明确说明或不可行,否则该数据库可以包括A、或B、或C、或A和B、或A和C、或B和C、或A和B和C。

可以理解,上述实施方式可以通过硬件、或软件(程序代码)、或硬件和软件的组合来实现。如果通过软件实现,则该软件可以存储在上述计算机可读介质中。所述软件在由处理器执行时可以执行所公开的方法。本公开中描述的计算单元和其它功能单元可以通过硬件、或软件、或硬件和软件的组合来实现。本领域普通技术人员也可以理解,上述模块/单元中的多个模块/单元可以组合为一个模块/单元,并且上述模块/单元中的各个模块/单元可以进一步划分为多个子模块/子单元。

可以使用以下条款进一步描述本公开的一些实施方式:

1.一种用于处理视频数据的方法,所述方法包括以下步骤:

确定编码单元的继承仿射合并候选、构建仿射合并候选和零运动向量中的至少一者的权重;以及

基于所确定的权重对所述编码单元进行双向预测。

2.根据条款1所述的方法,其中,所述权重是基于在比特流中传输权重索引来确定的。

3.根据条款1所述的方法,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述方法进一步包括以下步骤:

响应于与所述构建仿射合并候选相关联的多个控制点具有一个或更多个权重,基于与左上控制点相关联的权重或与右上控制点相关联的权重来确定所述构建仿射合并候选的权重。

4.根据条款1或3所述的方法,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述方法进一步包括以下步骤:

响应于与所述构建仿射合并候选相关联的多个控制点具有相同的权重,将所述多个控制点的权重确定为所述构建仿射合并候选的权重;或者

响应于所述多个控制点具有不同的权重,将默认值确定为所述构建仿射合并候选的权重。

5.根据条款1或3所述的方法,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述方法进一步包括以下步骤:

从与所述构建仿射合并候选相对应的多个控制点的权重中确定由所述多个控制点中的大多数控制点使用的权重;以及

将所确定的权重设置为所述构建仿射合并候选的权重。

6.根据条款1或3所述的方法,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述方法进一步包括以下步骤:

分别确定均等权重与所述多个控制点的权重之间的差;

从所述多个控制点中确定具有与所述均等权重相差最小的权重的第一控制点;以及

将所述第一控制点的权重设置为所述构建仿射合并候选的权重。

7.根据条款1或3所述的方法,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述方法进一步包括以下步骤:

确定与所述构建仿射合并候选相对应的多个控制点的平均权重;以及

将所述平均权重设置为所述构建仿射合并候选的权重。

8.根据条款1至7中任一项所述的方法,其中,基于所确定的权重对所述编码单元进行双向预测的步骤包括:使用仿射合并模式来处理所述视频数据,并且所述方法进一步包括以下步骤:

在构建仿射合并候选列表时,在插入具有不等权重的零运动向量之前,将具有均等权重的零运动向量插入到所述仿射合并候选列表中。

9.根据条款1至7中任一项所述的方法,其中,基于所确定的权重对所述编码单元进行双向预测的步骤包括:使用仿射合并模式来处理所述视频数据,并且所述方法进一步包括以下步骤:

在构建仿射合并候选列表时,基于与多个构建仿射合并候选中的各个构建仿射合并候选相对应的控制点的权重,确定所述多个构建仿射合并候选的顺序,其中,

相比于具有权重更多样的控制点的构建仿射合并候选,具有权重更少样的控制点的构建仿射合并候选被分配了更高的优先级。

10.根据条款9所述的方法,其中,确定所述多个构建仿射合并候选的顺序的步骤包括:

响应于与两个构建合并候选中的每一者相对应的控制点的权重具有相同多样性水平,使用所述两个构建合并候选的默认顺序。

11.根据条款9或10所述的方法,所述方法进一步包括以下步骤:

基于与第一构建仿射合并候选相对应的控制点的权重,确定所述第一构建仿射合并候选的可用性;以及

响应于确定所述第一构建仿射合并候选是可用的,将所述第一构建仿射合并候选添加至所述仿射合并候选列表。

12.根据条款11所述的方法,其中,确定所述第一构建仿射合并候选的可用性的步骤包括:

确定与所述第一构建仿射合并候选相对应的两个控制点的权重是否具有不同正负号;以及

响应于确定与所述第一构建仿射合并候选相对应的所述两个控制点的权重具有不同正负号,确定所述第一构建仿射合并候选是不可用的。

13.一种用于处理视频数据的方法,所述方法包括以下步骤:

基于编码单元的控制点的权重,确定所述编码单元内的第一子块的权重;

基于所确定的权重对所述第一子块进行双向预测。

14.根据条款13所述的方法,其中,确定所述编码单元内的第一子块的权重的步骤包括:

响应于所述第一子块包括所述控制点中的一个控制点,使用所述控制点中的该一个控制点的权重作为所述第一子块的权重,或者

响应于所述第一子块不包括所述控制点,根据预先限定的规则来确定所述第一子块的权重。

15.根据条款13所述的方法,其中:

所述编码单元被分割成四个子块并且具有两个控制点;并且

确定所述编码单元内的第一子块的权重的步骤包括:

响应于所述第一子块包括所述两个控制点中的一个控制点,使用所述两个控制点中的该一个控制点的权重作为所述第一子块的权重,或者

响应于所述第一子块不包括所述两个控制点,将所述第一子块的权重设置为以下项中的一项:

所述两个控制点中的距所述第一子块的距离较短的一个控制点的权重,或者

默认值。

16.根据条款13所述的方法,其中:

所述编码单元被分割成两个子块并且具有三个控制点;并且

确定所述编码单元内的第一子块的权重的步骤包括:

响应于所述第一子块包括所述三个控制点中的仅一个控制点,使用所述控制点中的所述一个控制点的权重作为所述第一子块的权重,或者

响应于所述第一子块包括所述三个控制点中的至少两个控制点,使用默认值或所述两个控制点中的一个控制点的权重作为所述第一子块的权重。

17.根据条款13所述的方法,其中:

所述编码单元被分割成四个子块并且具有三个控制点,所述三个控制点分别具有第一权重、第二权重和第三权重;并且

确定所述编码单元内的第一子块的权重的步骤包括:

响应于所述第一子块包括所述三个控制点中的至少一个控制点,使用所述控制点中的所述一个控制点的权重作为所述第一子块的权重,或者

响应于所述子块不包括所述三个控制点,将所述第一子块的权重设置为以下项中的一项:

所述第一权重、所述第二权重和所述第三权重的平均值,

所述第一权重、所述第二权重和所述第三权重的中间值,

所述编码单元的均等权重,

所述第一权重、所述第二权重和所述第三权重中的与所述均等权重相差最小的一者,

所述第一权重和所述第二权重中的与所述均等权重相差较小的一者,或者

默认值。

18.一种视频处理装置,所述视频处理装置包括:

存储器,所述存储器存储有指令;以及

处理器,所述处理器被配置为执行所述指令以使所述装置进行以下操作:

确定编码单元的继承仿射合并候选、构建仿射合并候选和零运动向量中的至少一者的权重;以及

基于所确定的权重对所述编码单元进行双向预测。

19.根据条款18所述的装置,其中,所述权重是基于在比特流中传输权重索引来确定的。

20.根据条款18所述的装置,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

如果与所述构建仿射合并候选相关联的多个控制点具有一个或更多个权重,则基于与左上控制点相关联的权重或与右上控制点相关联的权重来确定所述构建仿射合并候选的权重。

21.根据条款18或20所述的装置,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述处理器还被配置为执行所述指令以使所述装置执行以下操作:

如果与所述构建仿射合并候选相关联的多个控制点具有相同的权重,则将所述多个控制点的权重确定为所述构建仿射合并候选的权重;或者

如果所述多个控制点具有不同权重,则将默认值确定为所述构建仿射合并候选的权重。

22.根据条款18或20所述的装置,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

从与所述构建仿射合并候选相对应的多个控制点的权重中确定由所述多个控制点中的大多数控制点使用的权重;以及

将所确定的权重设置为所述构建仿射合并候选的权重。

23.根据条款18或20所述的装置,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

分别确定均等权重与所述多个控制点的权重之间的差;

从所述多个控制点中确定具有与所述均等权重相差最小的权重的第一控制点;以及

将所述第一控制点的权重设置为所述构建仿射合并候选的权重。

24.根据条款18或20所述的装置,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

确定与所述构建仿射合并候选相对应的多个控制点的平均权重;以及

将所述平均权重设置为所述构建仿射合并候选的权重。

25.根据条款18至24中任一项所述的装置,其中,基于所确定的权重对所述编码单元进行双向预测的步骤包括:使用仿射合并模式来处理所述视频数据,并且所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

在构建仿射合并候选列表时,在插入具有不等权重的零运动向量之前,将具有均等权重的零运动向量插入到所述仿射合并候选列表中。

26.根据条款18至24中任一项所述的装置,其中,基于所确定的权重对所述编码单元进行双向预测的步骤包括:使用仿射合并模式来处理所述视频数据,并且所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

在构建仿射合并候选列表时,基于与多个构建仿射合并候选中的各个构建仿射合并候选相对应的控制点的权重,确定所述多个构建仿射合并候选的顺序,其中,

相比于具有权重更多样的控制点的构建仿射合并候选,具有权重更少样的控制点的构建仿射合并候选被分配了更高的优先级。

27.根据条款26所述的装置,其中,在确定所述多个构建仿射合并候选的顺序时,所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

响应于与两个构建合并候选中的每一者相对应的控制点的权重具有相同多样性水平,使用所述两个构建合并候选的默认顺序。

28.根据条款26或27所述的装置,其中,所述处理器进一步被配置为执行所述指令以使所述设备执行以下操作:

基于与第一构建仿射合并候选相对应的控制点的权重,确定所述第一构建仿射合并候选的可用性;以及

如果所述第一构建仿射合并候选是可用的,则将所述第一构建仿射合并候选添加至所述仿射合并候选列表。

29.根据条款28所述的装置,其中,在确定所述第一构建仿射合并候选的可用性时,所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

确定与所述第一构建仿射合并候选相对应的两个控制点的权重是否具有不同正负号;以及

如果与所述第一构建仿射合并候选相对应的所述两个控制点的权重具有不同正负号,则确定所述第一构建仿射合并候选是不可用的。

30.一种视频处理装置,所述视频处理装置包括:

存储器,所述存储器存储有指令;以及

处理器,所述处理器被配置为执行所述指令以使所述装置进行以下操作:

基于编码单元的控制点的权重,确定所述编码单元内的第一子块的权重;

基于所确定的权重对所述第一子块进行双向预测。

31.根据条款30所述的装置,其中,在确定所述编码单元内的所述第一子块的权重时,所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

如果所述第一子块包括所述控制点中的一个控制点,则使用所述控制点中的该一个控制点的权重作为所述第一子块的权重,或者

如果所述第一子块不包括所述控制点,则根据预先限定的规则来确定所述第一子块的权重。

32.根据条款30所述的装置,其中:

所述编码单元被分割成四个子块并且具有两个控制点;并且

在确定所述编码单元内的所述第一子块的权重时,所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

响应于所述第一子块包括所述两个控制点中的一个控制点,使用所述两个控制点中的所述一个控制点的权重作为所述第一子块的权重,或者

响应于所述第一子块不包括所述两个控制点,将所述第一子块的权重设置为以下项中的一项:

所述两个控制点中的距所述第一子块的距离较短的一个控制点的权重,或者

默认值。

33.根据条款30所述的装置,其中:

所述编码单元被分割成两个子块并且具有三个控制点;并且

在确定所述编码单元内的所述第一子块的权重时,所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

响应于所述第一子块包括所述三个控制点中的仅一个控制点,使用所述控制点中的该一个控制点的权重作为所述第一子块的权重,或者

响应于所述第一子块包括所述三个控制点中的至少两个控制点,使用默认值或所述两个控制点中的一个控制点的权重作为所述第一子块的权重。

34.根据条款30所述的装置,其中:

所述编码单元被分割成四个子块并且具有三个控制点,所述三个控制点分别具有第一权重、第二权重和第三权重;并且

在确定所述编码单元内的所述第一子块的权重时,所述处理器进一步被配置为执行所述指令以使所述装置执行以下操作:

响应于所述第一子块包括所述三个控制点中的至少一个控制点,使用所述控制点中的所述一个控制点的权重作为所述第一子块的权重,或者

响应于所述子块不包括所述三个控制点,将所述第一子块的权重设置为以下项中的一项:

所述第一权重、所述第二权重和所述第三权重的平均值,

所述第一权重、所述第二权重和所述第三权重的中间值,

所述编码单元的均等权重,

所述第一权重、所述第二权重和所述第三权重中的与所述均等权重相差最小的一者,

所述第一权重和所述第二权重中的与所述均等权重相差较小的一者,以及

默认值。

35.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有指令集,所述指令集可由视频处理设备的一个或更多个处理器执行,以使所述设备执行包括以下步骤的方法:

确定编码单元的继承仿射合并候选、构建仿射合并候选和零运动向量中的至少一者的权重;以及

基于所确定的权重对所述编码单元进行双向预测。

36.根据条款35所述的非暂时性计算机可读介质,其中,所述权重是基于在比特流中传输的权重索引来确定的。

37.根据条款35所述的非暂时性计算机可读介质,其中,所确定的权重包括所述构建仿射合并候选的权重,并且所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

如果与所述构建仿射合并候选相关联的多个控制点具有一个或更多个权重,则基于与左上控制点相关联的权重或与右上控制点相关联的权重来确定所述构建仿射合并候选的权重。

38.根据条款35或37所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

如果与所述构建仿射合并候选相关联的多个控制点具有相同的权重,则将所述多个控制点的权重确定为所述构建仿射合并候选的权重;以及

如果所述多个控制点具有不同权重,则将默认值确定为所述构建仿射合并候选的权重。

39.根据条款35或37所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

从与所述构建仿射合并候选相对应的多个控制点的权重中确定由所述多个控制点中的大多数控制点使用的权重;以及

将所确定的权重设置为所述构建仿射合并候选的权重。

40.根据条款35或37所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的一个或更多个处理器执行,以使所述设备进一步执行以下操作:

分别确定均等权重与所述多个控制点的权重之间的差;

从所述多个控制点中确定具有与所述均等权重相差最小的权重的第一控制点;以及

将所述第一控制点的权重设置为所述构建仿射合并候选的权重。

41.根据条款35或37所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

确定与所述构建仿射合并候选相对应的多个控制点的平均权重;以及

将所述平均权重设置为所述构建仿射合并候选的权重。

42.根据条款35至41中任一项所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

在构建仿射合并候选列表时,在插入具有不等权重的零运动向量之前,将具有均等权重的零运动向量插入到所述仿射合并候选列表中。

43.根据条款35至41中任一项所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

在构建仿射合并候选列表时,基于与多个构建仿射合并候选中的各个构建仿射合并候选相对应的控制点的权重,确定所述多个构建仿射合并候选的顺序,其中,

相比于具有权重更多样的控制点的构建仿射合并候选,具有权重更少样的控制点的构建仿射合并候选被分配了更高的优先级。

44.根据条款43所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

如果与两个构建合并候选中的每一者相对应的控制点的权重具有相同多样性水平,则使用所述两个构建合并候选的默认顺序。

45.根据条款43或44所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

基于与第一构建仿射合并候选相对应的控制点的权重,确定所述第一构建仿射合并候选的可用性;以及

如果所述第一构建仿射合并候选是可用的,则将所述第一构建仿射合并候选添加至所述仿射合并候选列表。

46.根据条款45所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

确定与所述第一构建仿射合并候选相对应的两个控制点的权重是否具有不同正负号;以及

如果与所述第一构建仿射合并候选相对应的所述两个控制点的权重具有不同正负号,则确定所述第一构建仿射合并候选是不可用的。

47.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有指令集,所述指令集可由视频处理设备的一个或更多个处理器执行,以使所述设备执行包括以下步骤的方法:

基于编码单元的控制点的权重,确定所述编码单元内的第一子块的权重;

基于所确定的权重对所述第一子块进行双向预测。

48.根据条款47所述的非暂时性计算机可读介质,其中,确定所述编码单元内的第一子块的权重的步骤包括:

如果所述第一子块包括所述控制点中的一个控制点,则使用所述控制点中的该一个控制点的权重作为所述第一子块的权重,或者

如果所述第一子块不包括所述控制点,则根据预先限定的规则来确定所述第一子块的权重。

49.根据条款47所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

将所述编码单元分割成四个子块,其中,所述编码单元具有两个控制点;并且

确定所述编码单元内的第一子块的权重的步骤包括:

如果子块包括所述两个控制点中的一个控制点,则使用所述两个控制点中的该一个控制点的权重作为所述第一子块的权重,或者

如果所述第一子块不包括所述两个控制点,则将所述第一子块的权重设置为以下项中的一项:

所述两个控制点中的距所述第一子块的距离较短的一个控制点的权重,或者

默认值。

50.根据条款47所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

将所述编码单元分割成两个子块,其中,所述编码单元具有三个控制点;并且

确定所述编码单元内的子块的权重的步骤包括:

如果所述第一子块包括所述三个控制点中的仅一个控制点,则使用所述控制点中的该一个控制点的权重作为所述第一子块的权重,或者

如果所述第一子块包括所述三个控制点中的两个控制点,则使用默认值或所述两个控制点中的一个控制点的权重作为所述第一子块的权重。

51.根据条款47所述的非暂时性计算机可读介质,其中,所述指令集可由所述设备的所述一个或更多个处理器执行,以使所述设备进一步执行以下操作:

将所述编码单元分割成四个子块,其中,所述编码单元具有三个控制点,所述三个控制点具有第一权重、第二权重和第三权重;并且

确定所述编码单元内的第一子块的权重的步骤包括:

如果所述第一子块包括所述三个控制点中的至少一个控制点,则使用所述控制点中的该一个控制点的权重作为所述第一子块的权重,或者

如果所述第一子块不包括所述三个控制点,则将所述第一子块的权重设置为以下项中的一项:

所述第一权重、所述第二权重和所述第三权重的平均值,

所述第一权重、所述第二权重和所述第三权重的中间值,

所述编码单元的均等权重,

所述第一权重、所述第二权重和所述第三权重中的与所述均等权重相差最小的一者,

所述第一权重和所述第二权重中的与所述均等权重相差较小的一者,或者

默认值。

在前述说明书中,已经参考可以随实现方式而变化的许多特定细节描述了实施方式。可以对所描述的实施方式进行某些调整和修改。考虑到本文公开的本发明的说明书和实践,其它实施方式对于本领域技术人员来说是显而易见的。说明书和示例旨在仅被认为是示例性的,本发明的真正范围和精神由以下权利要求书指示。图中所示的步骤顺序也旨在仅用于例示目的,并不旨在限于任何特定的步骤顺序。因此,本领域技术人员可以理解,在实现相同方法时,可以以不同顺序执行这些步骤。

在附图和说明书中,已经公开了示例性实施方式。然而,可以对这些实施方式进行许多变化和修改。因此,尽管采用了特定术语,但所述特定术语仅用于一般和描述性的意义,而不是出于限制的目的。所公开的实施方式不限于上述示例,而是由所附权利要求书根据其等同例的全部范围来限定。

41页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用调色板模式进行视频编解码的方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类