一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

双向预测校正系统和方法与流程

2023-02-06 18:03:32 来源:中国专利 TAG:

双向预测校正系统和方法
相关申请的交叉引用
1.本公开要求于2020年8月3日提交的美国临时申请第63/060624号的优先权,其全部内容通过引用并入本文。
技术领域
2.本公开总体上涉及视频处理,并且更具体地,涉及双向预测校正系统和方法。


背景技术:

3.视频是一组捕获视觉信息的静态图片(或“帧”)。为了减少存储空间和传输带宽,可以在存储或传输视频之前对其进行压缩,并且在显示之前对视频进行解压缩。压缩处理通常被称为编码,而解压缩处理通常被称为解码。存在使用标准化视频编码技术的各种视频编码格式,这些标准化视频编码技术通常都是基于预测、变换、量化、熵编码和环路内滤波。由标准化组织开发了指定特定视频编码格式的视频编码标准,诸如高效视频编码(例如hevc/h.265)标准、通用视频编码(例如vvc/h.266)标准和avs标准。随着视频标准中采用越来越先进的视频编码技术,新的视频编码标准的编码效率越来越高。


技术实现要素:

4.本公开的实施例提供一种视频处理方法和视频处理设备。该方法可以包括:从比特流解码用于编码单元的第一参数,并基于第一参数确定用于该编码单元的候选;基于与该候选相关联的第二参数的值确定与该编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;以及响应于与该编码单元相关联的第二参数的值指示双向预测校正被启用,对该编码单元执行双向预测校正。
5.该设备可以包括存储指令集的存储器;和一个或多个处理器,一个或多个处理器被配置为执行指令集以使设备执行:从比特流解码用于编码单元的第一参数,并基于第一参数确定用于该编码单元的候选;基于与高候选相关联的第二参数的值确定与该编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;以及响应于与该编码单元相关联的第二参数的值指示双向预测校正被启用,对该编码单元执行双向预测校正。
6.本公开的实施例还提供了一种非瞬时性计算机可读介质,其存储存储指令集,该指令集可由计算机的至少一个处理器执行以使计算机执行处理视频内容的方法,该方法包括:从比特流解码用于编码单元的第一参数,并基于第一参数确定用于该编码单元的候选;基于与该候选相关联的第二参数的值确定与该编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;以及响应于与该编码单元相关联的第二参数的值指示双向预测校正被启用,对该编码单元执行双向预测校正。
附图说明
7.在以下具体实施方式和附图中示出了本公开的实施例和各个方面。图中所示的各种特征不是按比例绘制的。
8.图1示出了根据本公开的一些实施例的示出示例性视频序列的结构的示意图。
9.图2a示出了根据本公开的一些实施例的示出混合视频编码系统的示例性编码处理的示意图。
10.图2b示出了根据本公开的一些实施例的示出混合视频编码系统的另一示例性编码处理的示意图。
11.图3a示出了根据本公开的一些实施例的示出混合视频编码系统的示例性解码处理的示意图。
12.图3b示出了根据本公开的一些实施例的示出混合视频编码系统的另一示例性解码处理的示意图。
13.图4示出了根据本公开的一些实施例的用于对视频进行编码或解码的示例性设备的框图。
14.图5是示出了根据本公开的一些实施例的用于空间运动向量预测(smvp)推导的示例性相邻块的示意图。
15.图6是示出了根据本公开的一些实施例的最终运动向量表达(umve)中的示例性运动推导的示意图。
16.图7是示出了根据本公开的一些实施例的基于仿射模型的示例性控制点的示意图。
17.图8是示出了根据本公开的一些实施例的每个子块的中心采样的示例性运动向量的示意图。
18.图9是根据本公开的一些实施例的示例性视频解码方法的流程图。
19.图10是根据本公开的一些实施例的示例性视频解码方法的流程图。
20.图11是根据本公开的一些实施例的示例性视频解码方法的流程图。
21.图12是根据本公开的一些实施例的示例性视频编码方法的流程图。
22.图13是根据本公开的一些实施例的示例性视频编码方法的流程图。
23.图14是根据本公开的一些实施例的示例性视频编码方法的流程图。
具体实施方式
24.现在将详细参考在附图中示出其示例的示例性实施例。以下描述参考附图,其中不同附图中的相同标号表示相同或相似的元件,除非另有说明。在以下示例性实施例的描述中阐述的实现方式并不代表与本公开一致的所有实现方式。相反,它们仅仅是与所附权利要求中所述的本公开相关方面一致的装置和方法的示例。下面更详细地描述本公开的特定方面。如果与通过引用并入的术语和/或定义相冲突,则以本文提供的术语和定义为准。
25.itu-t视频编码专家组(itu-t vceg)和iso/iec运动图片专家组(iso/iec mpeg)的联合视频专家组(jvet)当前正在开发通用视频编码(vvc/h.266)标准。vvc标准的目的在于使其前身,即高效视频编码(hevc/h.265)标准的压缩效率加倍。换句话说,vvc的目标是使用一半带宽实现与hevc/h.265相同的主观质量。
26.为了使用一半带宽实现与hevc/h.265相同的主观质量,jvet已经开发了超越hevc的使用联合探索模型(jem)参考软件的技术。随着编码技术被并入jem中,jem获得了比hevc实质上更高的编码性能。
27.vvc标准最近已经被开发并且继续包括提供更好压缩性能的更多编码技术。vvc基于与在诸如hevc、h.264/avc、mpeg2、h.263等当前视频压缩标准中使用的同一混合视频编码系统。
28.视频是以时间顺序布置为存储视觉信息的一组静态图片(或“帧”)。视频捕获设备(例如,相机)可以用于按时间顺序捕获和存储这些图片,并且视频回放装置(例如,电视、计算机、智能电话、平板计算机、视频播放器或具有显示功能的任何终端用户终端)可以用于按时间顺序显示这些图片。此外,在一些应用中,视频捕获装置可以实时地将所捕获的视频发送到视频回放设备(例如,具有监视器的计算机),以例如用于进行监视、会议或直播。
29.为了减少这样的应用所需的存储空间和传输带宽,可以在存储和传输之前压缩视频,并且在显示之前解压缩视频。压缩和解压缩可以由处理器(例如,通用计算机的处理器)或专用硬件执行的软件来实施。用于压缩的模块通常被称为“编码器”,而用于解压缩的模块通常被称为“解码器”。编码器和解码器可以被统称为“编解码器”。编码器和解码器可以被实施为各种合适的硬件、软件或其组合中的任何一种。例如,编码器和解码器的硬件实施方式可以包括电路,例如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑或其任何组合。编码器和解码器的软件实施方式可以包括程序代码、计算机可执行指令、固件或固定在计算机可读介质中的任何合适的计算机实施的算法或处理。视频压缩和解压缩可以通过各种算法或标准,例如mpeg-1、mpeg-2、mpeg-4、h.26x系列等来实施。在一些应用中,编解码器可以对于第一编码标准的视频进行解压缩,并且使用第二编码标准重新压缩被解压缩的视频,在这样的情况下,编解码器可以被称为“转码器”。
30.视频编码处理可以识别并保留可用于重建图片的有用信息,并且忽略对于重建来说不重要的信息。如果不能完全重建被忽略的不重要的信息,则这样的编码处理可以被称为“有损的”。否则,可以被称为“无损的”。大多数编码处理是有损的,这是为了减少所需存储空间和传输带宽而做出的妥协。
31.正被编码的图片(称为“当前图片”)的有用信息包括相对于参考图片(例如,先前经编码和重建的图片)的改变。这样的改变可以包括像素的位置改变、亮度改变或颜色改变,其中位置改变是最被关注的。表征对象的一组像素的位置变化可以反映对象在参考图片和当前图片之间的运动。
32.在不参考另一图片的情况下编码的图片(即,其是其自身的参考图片)被称为“i图片”。如果使用帧内预测或帧间预测基于一个参考图片预测图片中的一些或所有块(例如,通常指视频图片的一些部分的块)(例如,单向预测),那么将该图片称作“p图片”。如果用两个参考图片来预测图片中的至少一个块(例如,双向预测),则该图片被称为“b图片”。
33.本公开涉及用于处理符合上述视频编码标准的视频内容的方法和设备。
34.图1示出了根据本公开的一些实施例的示例性视频序列100的结构。视频序列100可以是直播视频或已经被捕获和存档的视频。视频100可以是现实生活视频、计算机生成的视频(例如,计算机游戏视频)或其组合(例如,具有增强现实效果的现实生活视频)。视频序
列100可以来自视频捕获设备(例如,照相机)、含有先前捕获的视频档案(例如,存储在存储设备中的视频文件)或用于从视频内容提供商接收视频的视频馈送接口(例如,视频广播收发器)。
35.如图1所示,视频序列100可以包括沿着时间线按照时间顺序布置的一系列图片,包括图片102、104、106和108。图片102-106是连续的,并且在图片106和108之间有更多的图片。在图1中,图片102是i图片,其参考图片是图片102本身。图片104是p图片,如箭头所示,其参考图片是图片102。图片106是b图片,如箭头所示,其参考图片是图片104和108。在一些实施例中,图片(例如,图片104)的参考图片可不紧接在该图片之前或之后。例如,图片104的参考图片可以是图片102之前的图片。应注意,图片102-106的参考图片仅为示例,并且本公开并没有将参考图片的实施例限制为图1中所示示例。
36.通常,由于这样的任务的计算复杂性,视频编解码器不会一次编码或解码整个图片。相反,它们可以将图片分割成基础片段,并且逐段地对图片进行编码或解码。在本公开中,这样的基础片段被称为基础处理单元(“bpu”)。例如,图1中的结构110示出了视频序列100的图片(例如,图片102-108中的任何一个)的示例结构。在结构110中,图片被划分成4
×
4基础处理单元,其边界被示为虚线。在一些实施例中,基础处理单元在一些视频编码标准(例如,mpeg族、h.261、h.263或h.264/avc)中可以被称为“宏块”,或者在一些其他视频编码标准(例如,h.265/hevc或h.266/vvc)中可以被称为“编码树单元”(“ctu”)。基础处理单元在图片中可具有可变大小,例如128
×
128、64
×
64、32
×
32、16
×
16、4
×
8、16
×
32,或任何任意形状和大小的像素。可以基于编码效率和基础处理单元中要保留的细节的程度之间的平衡来为图片选择基础处理单元的大小和形状。ctu是最大的块单元,并且可以包括多达128
×
128个亮度样本(加上对应的色度样本,这取决于色度格式)。ctu可以使用四叉树、二叉树、三叉树或其组合进一步被划分为编码单元(cu)。
37.基础处理单元可以是逻辑单元,其可以包括存储在计算机存储器中(例如,在视频帧缓冲器中)的一组不同类型的视频数据。例如,彩色图片的基础处理单元可以包括表示非彩色的亮度信息的亮度分量(y)、表示颜色信息的一个或多个色度分量(例如,cb和cr),和相关联的语法元素,其中亮度和色度分量可以具有与基础处理单元相同的大小。在一些视频编码标准(例如,h.265/hevc或h.266/vvc)中,亮度和色度分量可以被称为“编码树块”(“ctb”)。对基础处理单元执行的任何操作都可以对其亮度和色度分量中的每一个重复执行。
38.视频编码具有多个操作阶段,其示例在图2a-2b和图3a-3b中示出。对于每一阶段,基础处理单元的大小仍可能对于处理而言过大,并且因此可进一步划分成本公开中称为“基础处理子单元”的片段。在一些实施例中,基础处理子单元在一些视频编码标准(例如,mpeg族、h.261、h.263或h.264/avc)中可以被称为“块”,或者在一些其他视频编码标准(例如,h.265/hevc或h.266/vvc)中可以被称为“编码单元”(“cu”)。基础处理子单元可以具有与基础处理单元相同或更小的大小。类似于基础处理单元,基础处理子单元也是逻辑单元,其可包括存储于计算机存储器(例如,视频帧缓冲器)中的一组不同类型的视频数据(例如,y、cb、cr和相关联的语法元素)。对基础处理子单元执行的任何操作都可以对其亮度和色度分量中的每一个重复执行。应当注意,可以根据处理需要将这样的划分执行到跟进一步的程度。还应注意,不同阶段可使用不同的方案来划分基础处理单元。
39.例如,在模式决定阶段(图2b中示出了其示例),编码器可以决定对于基础处理单元使用什么预测模式(例如,图片内预测或图片间预测),但是基础处理单元可能会由于太大而使得编码器不能做出这样的决定。编码器可以将基础处理单元分成多个基础处理子单元(例如,如h.265/hevc或h.266/vvc中的cu),并且对于每个单独的基础处理子单元决定预测类型。
40.对于另一示例,在预测阶段(图2a-2b中示出其示例),编码器可以以基础处理子单元(例如,cu)来执行预测操作。然而,在一些情况下,基础处理子单元可能对于编码器来说仍然太大而使得编码器无法处理。编码器可以进一步将基础处理子单元划分成能够对其执行预测操作的更小的片段(例如,在h.265/hevc或h.266/vvc中称为“预测块”或“pb”)。
41.对于另一示例,在变换阶段(图2a-2b中示出其示例),编码器可对剩余的基础处理子单元(例如,cu)执行变换操作。然而,在一些情况下,基础处理子单元可能对于编码器来说仍然太大而使得编码器不能处理。编码器还可以将基础处理子单元进一步划分成能够对其执行变换操作的更小的片段(例如,在h.265/hevc或h.266/vvc中称为“变换块”或“tb”)。应注意,同一基础处理子单元的划分方案在预测阶段和变换阶段可以不同。例如,在h.265/hevc或h.266/vvc中,同一个cu的预测块和变换块可以具有不同大小和数量。
42.在图1的结构110中,基础处理单元112被进一步划分成3
×
3个基础处理子单元,其边界被示为虚线。同一图片的不同基础处理单元可以按照不同方案划分为基础处理子单元。
43.在一些实现方式中,为了向视频编码和解码提供并行处理和差错恢复的能力,图片可以被划分成用于处理的区域,从而对于图片的区域,编码或解码处理可以不依赖于来自图片的任何其他区域的信息。换句话说,可以独立地处理图片的每个区域。通过这样做,编解码器可以并行处理图片的不同区域,从而提高编码效率。此外,当区域的数据在处理中被破坏或在网络传输中丢失时,编解码器可以正确地编码或解码同一图片的其他区域,而不依赖于被破坏的或丢失的数据,从而提供差错恢复能力。在一些视频编码标准中,图片可以被划分成不同类型的区域。例如,h.265/hevc和h.266/vvc提供两种类型的区域:“条带”和“切块”。还应当注意,视频序列100的不同图片可以具有用于将图片划分成区域的不同分割方案。
44.例如,在图1中,结构110被划分成三个区域114、116和118,其边界被示为结构110内的实线。区域114包括四个基础处理单元。区域116和118中的每一个包括六个基础处理单元。应注意,图1中的基础处理单元、基础处理子单元和结构110的区域仅是示例,并且本公开不限制其实施例。
45.图2a示出了根据本公开的实施例的示例性编码处理200a的示意图。例如,编码处理200a可由编码器执行。如图2a所示,编码器可以根据处理200a将视频序列202编码成视频比特流228。与图1中的视频序列100类似地,视频序列202可以包括以时间顺序排列的一组图片(称为“原始图片”)。与图1中的结构110类似地,视频序列202的每个原始图片可以被编码器划分成基础处理单元、基础处理子单元或区域以用于处理。在一些实施例中,编码器可以以基础处理单元对视频序列202的每个原始图片执行处理200a。例如,编码器可以以循环方式执行处理200a,其中编码器可以在处理200a的一次循环中编码一个基础处理单元。在一些实施例中,编码器可以对视频序列202的每个原始图片的区域(例如,区域114-118)并
行地执行处理200a。
46.在图2a中,编码器可以将视频序列202的原始图片的基础处理单元(称为“原始bpu”)馈送到预测阶段204,以生成预测数据206和预测bpu 208。编码器可以从原始bpu中减去预测bpu 208以生成剩余bpu 210。编码器可以将剩余bpu 210馈送到变换阶段212和量化阶段214以生成量化变换系数216。编码器可将预测数据206和量化变换系数216馈送到二进制编码阶段226以产生视频比特流228。上述标记202、204、206、208、210、212、214、216、226和228可以被称为“前向路径”。在处理200a期间,在量化阶段214之后,编码器可以将量化变换系数216馈送到逆量化阶段218和逆变换阶段220,以生成重建剩余bpu 222。编码器可以将重建剩余bpu 222添加到预测bpu 208以生成预测参考224,其在预测阶段204中用于处理200a的下一个循环。处理200a的上述标记218、220、222和224可以被称为“重建路径”。重建路径可以用于确保编码器和解码器两者使用相同的参考数据进行预测。
47.编码器可以循环地执行处理200a,以对原始图片的每个原始bpu(在前向路径中)进行编码,并且生成用于对原始图片的下一个原始bpu(在重建路径中)进行编码的预测参考224。在对原始图片的所有原始bpu进行编码之后,编码器可以继续对视频序列202中的下一图片进行编码。
48.参考处理200a,编码器可以接收由视频捕获设备(例如,相机)生成的视频序列202。本文所使用的术语“接收”可以指接收、输入、获取、检索、获得、读取、访问或以任何方式的用于输入数据的任何动作。
49.在预测阶段204,在当前循环中,编码器可以接收原始bpu和预测参考224,并且执行预测操作以生成预测数据206和预测bpu 208。预测参考224可以从处理200a的先前循环的重建路径生成。预测阶段204的目的是通过从原始bpu和预测参考224提取预测数据206来减少信息冗余,该预测数据可以用于将原始bpu重建为预测bpu 208。
50.理想地,预测bpu 208可以与原始bpu相同。然而,由于非理想的预测和重建操作,预测bpu 208通常与原始bpu略有不同。为了记录这样的差异,在生成预测bpu 208之后,编码器可以从原始bpu中减去它以生成残余bpu 210。例如,编码器可以从原始bpu的相应像素的值中减去预测bpu 208的像素的值(例如,灰度值或rgb值)。作为原始bpu和预测bpu 208的对应像素之间的这样的减法的结果,残余bpu 210的每个像素可以具有残余值。与原始bpu相比,预测数据206和残余bpu 210可以具有更少的比特,但是它们可以用于重建原始bpu而没有显著的质量劣化。因此,原始bpu被压缩。
51.为了进一步压缩残余bpu 210,在变换阶段212,编码器可以通过将残余bpu 210分解成一组二维“基础图案”来减少其空间冗余,每个基础图案与“变换系数”相关联。基础图案可以具有相同的大小(例如,残余bpu 210的大小)。每个基础图案可以表示残余bpu 210的变化频率(例如,亮度变化的频率)分量。没有一种基础图案可以从任何其他基础图案的任何组合(例如线性组合)中获得。换句话说,分解可以将残余bpu 210的变化分解到频域中。这样的分解类似于函数的离散傅立叶变换,其中基础图案类似于离散傅立叶变换的基本函数(例如,三角函数),并且变换系数类似于与基本函数相关联的系数。
52.不同的变换算法可以使用不同的基础图案。在变换阶段212可使用各种变换算法,诸如离散余弦变换、离散正弦变换等。变换阶段212的变换是可逆的。也就是说,编码器可以通过变换的逆操作(称为“逆变换”)来复原残余bpu 210。例如,为了复原残余bpu 210的像
素,逆变换可以是将基础图案的对应像素的值乘以相应的关联系数,并将乘积相加以产生加权和。对于视频编码标准来说,编码器和解码器两者都可以使用相同的变换算法(因此使用相同的基础图案)。因此,编码器可以仅记录变换系数,解码器可以在没有从编码器接收基础图案的情况下根据该变换系数重建残余bpu 210。与残余bpu 210相比,变换系数可以具有更少的比特,但是它们可以用于重建残余bpu 210而没有显著的质量劣化。因此,残余bpu 210被进一步压缩。
53.编码器可以在量化阶段214进一步压缩变换系数。在变换过程中,不同的基础图案可以表示不同的变化频率(例如,亮度变化频率)。由于人眼通常能更好地识别低频变化,因此编码器可以忽略高频变化的信息而不会在解码中引起显著的质量劣化。例如,在量化阶段214,编码器可以通过将每个变换系数除以整数值(称为“量化比例因子”)并将商舍入到其最近的整数来生成量化变换系数216。在这样的操作之后,高频基础图案的一些变换系数可以被转换为零,并且低频基础图案的变换系数可以被转换为较小的整数。编码器可以忽略零值的量化变换系数216,由此进一步压缩变换系数。量化过程也是可逆的,其中量化变换系数216可在量化逆运算中被重建为变换系数(称为“逆量化”)。
54.因为编码器在舍入操作中忽略了这样的除法的余数,所以量化阶段214可以是有损的。通常,量化阶段214可在处理200a中造成最多的信息损失。信息损失越大,量化变换系数216需要的比特数越少。为了获得不同程度的信息丢失,编码器可以使用量化参数或量化处理的任何其他参数的不同值。
55.在二进制编码阶段226,编码器可使用二进制编码技术对预测数据206和量化变换系数216进行编码,该二进制编码技术可以例如是熵编码、可变长度编码、算术编码、霍夫曼编码、上下文自适应二进制算术编码或任何其他无损或有损压缩算法。在一些实施例中,除了预测数据206和量化变换系数216之外,编码器可在二进制编码阶段226编码其他信息,诸如预测阶段204使用的预测模式、预测操作的参数、变换阶段212的变换类型、量化处理的参数(例如,量化参数)、编码器控制参数(例如,比特率控制参数)等。编码器可以使用二进制编码阶段226的输出数据来生成视频比特流228。在一些实施例中,视频比特流228可以被进一步分组以用于网络传输。
56.参考处理200a的重建路径,在逆量化阶段218,编码器可以对量化变换系数216执行逆量化,以生成重建变换系数。在逆变换阶段220,编码器可以基于重建变换系数生成重建残余bpu 222。编码器可以将重建残余bpu 222添加到预测bpu 208,以生成将在处理200a的下一个循环中使用的预测参考224。
57.应当注意,处理200a的其他变化可用于编码视频序列202。在一些实施例中,处理200a的各个阶段可以由编码器以不同的顺序执行。在一些实施例中,处理200a的一个或多个阶段可以组合成单个阶段。在一些实施例中,处理200a的单个阶段可以被划分成多个阶段。例如,变换阶段212和量化阶段214可组合成单个阶段。在一些实施例中,处理200a可以包括额外的阶段。在一些实施例中,处理200a可以省略图2a中的一个或多个阶段。
58.图2b示出了根据本公开的实施例的另一示例性编码处理200b的示意图。处理200b可以是通过修改处理200a而获得的。例如,处理200b可以由符合混合视频编码标准(例如,h.26x系列)的编码器使用。与处理200a相比,处理200b的前向路径另外包括模式决定阶段230,并将预测阶段204划分成空间预测阶段2042和时间预测阶段2044。处理200b的重建路
径另外包括环路滤波阶段232和缓冲器234。
59.通常,预测技术可以被分类成两种类型:空间预测和时间预测。空间预测(例如,图片内预测或“帧内预测”)可以使用来自同一图片中的一个或多个已经编码的相邻bpu的像素来预测当前bpu。也就是说,空间预测中的预测参考224可包括相邻bpu。空间预测可以减少图片的固有空间冗余。时间预测(例如,图片间预测或“帧间预测”)可使用来自一个或多个已编码图片的区域来预测当前bpu。也就是说,时间预测中的预测参考224可包括经编码图片。时间预测可以减少图片的固有时间冗余。
60.参考处理200b,在前向路径中,编码器在空间预测阶段2042和时间预测阶段2044执行预测操作。例如,在空间预测阶段2042,编码器可以执行帧内预测。对于正被编码的图片的原始bpu,预测参考224可以包括在同一图片中已经被编码(在前向路径中)和被重建(在重建路径中)的一个或多个相邻bpu。编码器可以通过外推邻近bpu来生成预测bpu 208。外推技术可以包括例如线性外推或插值、多项式外推或插值等。在一些实施例中,编码器可以在像素级执行外推,诸如通过外推预测bpu 208的每个像素的对应像素值。用于外推的相邻bpu可以位于相对于原始bpu的各种方向上,例如垂直方向(例如,原始bpu的顶部上)、水平方向(例如,原始bpu的左侧)、对角线方向(例如,原始bpu的左下、右下、左上或右上)或在所使用的视频编码标准中界定的任何方向。对于帧内预测,预测数据206可以包括例如所使用的邻近bpu的位置(例如,坐标)、所使用的邻近bpu的大小、外推的参数、所使用的邻近bpu相对于原始bpu的方向等。
61.对于另一示例,在时间预测阶段2044,编码器可执行帧间预测。对于当前图片的原始bpu,预测参考224可以包括已经被编码(在前向路径中)和重建(在重建路径中)的一个或多个图片(称为“参考图片”)。在一些实施例中,可以逐个bpu对参考图片进行编码和重建。例如,编码器可以将重建残余bpu 222添加到预测bpu 208以生成重建bpu。当生成同一图片的所有重建bpu时,编码器可以生成重建图片作为参考图片。编码器可以执行“运动估计”操作,以在参考图片的范围(称为“搜索窗口”)中搜索匹配区域。参考图片中搜索窗口的位置可以基于当前图片中原始bpu的位置来确定。例如,搜索窗口可以以参考图片中具有与当前图片中的原始bpu相同的坐标的位置为中心,并且可以向外扩展预定距离。当编码器在搜索窗口中识别(例如,通过使用像素递归算法、块匹配算法等)与原始bpu相似的区域时,编码器可以将这样的区域确定为匹配区域。匹配区域可以具有与原始bpu不同的大小(例如,小于、等于、大于或具有不同的形状)。因为参考图片和当前图片在时间线中在时间上分离(例如,如图1中所示),所以可认为随着时间的推移,匹配区域“移动”到原始bpu的位置。编码器可以将这样的运动的方向和距离记录为“运动向量”。当使用多个参考图片(例如,如图1中的图片106)时,编码器可以搜索匹配区域,并对于每个参考图像确定其关联的运动图片。在一些实施例中,编码器可以向相应匹配参考图片的匹配区域的像素值分配权重。
62.运动估计可以用于识别各种类型的运动,诸如平移、旋转、缩放等。对于帧间预测,预测数据206可以包括例如匹配区域的位置(例如,坐标)、与匹配区域相关联的运动向量、参考图片的数量、与参考图片相关联的权重等。
63.为了生成预测bpu 208,编码器可以执行“运动补偿”操作。运动补偿可以用于基于预测数据206(例如,运动向量)和预测参考224来重建预测bpu 208。例如,编码器可以根据运动向量移动参考图片的匹配区域,其中编码器可以预测当前图片的原始bpu。当使用多个
参考图片时(例如,如图1中的图片106),编码器可根据匹配区域的相应运动向量和平均像素值来移动参考图片的匹配区域。在一些实施例中,如果编码器已经向相应匹配参考图片的匹配区域的像素值分配了权重,则编码器可以将移动的匹配区域的像素值的加权和相加。
64.在一些实施例中,帧间预测可以是单向的或双向的。单向帧间预测可以使用与当前图片在同一时间方向上的一个或多个参考图片。例如,图1中的图片104是单向帧间预测图片,其中参考图片(例如,图片102)位于图片104之前。双向帧间预测可以使用当前图片的两个时间方向上的一个或多个参考图片。例如,图1中的图片106是双向帧间预测图片,其中参考图片(例如,图片104和108)在图片104的两个时间方向上。
65.仍然参考处理200b的前向路径,在空间预测2042和时间预测阶段2044之后,在模式决定阶段230,编码器可为处理200b的当前循环选择预测模式(例如,帧内预测或帧间预测中的一个)。例如,编码器可执行率失真优化技术,在该技术中,编码器可以对预测模式进行选择以最小化根据候选预测模式的码率和在该候选预测模式下重建参考图片的失真的成本函数的值。取决于所选择的预测模式,编码器可以生成对应的预测bpu 208和预测数据206。
66.在处理200b的重建路径中,如果在前向路径中选择了帧内预测模式,则在生成预测参考224(例如,当前图片中已经编码和重建的当前bpu)之后,编码器可以直接将预测参考224馈送到空间预测阶段2042以供以后使用(例如,用于当前图片的下一bpu的外推)。编码器可将预测参考224馈送到环路滤波阶段232,在该环路滤波阶段,编码器可将环路滤波器应用于预测参考224以减少或消除在预测参考224的编码期间引入的失真(例如,块效应)。编码器可以在环路滤波阶段232应用各种环路滤波器技术,例如去块、采样自适应偏移、自适应环路滤波器等。经环路滤波的参考图片可存储在缓冲器234(或“解码图片缓冲器”)中以供以后使用(例如,用作视频序列202的后续图片的帧间预测参考图片)。编码器可以将一个或多个参考图片存储在缓冲器234中以在时间预测阶段2044使用。在一些实施例中,编码器可以将二进制编码阶段226的环路滤波器的参数(例如,环路滤波器强度)与量化变换系数216、预测数据206和其他信息一起进行编码。
67.图3a示出了根据本公开的实施例的示例性解码处理300a的示意图。处理300a可以是对应于图2a中的压缩处理200a的解压缩处理。在一些实施例中,处理300a可以类似于处理200a的重建路径。解码器可以根据处理300a将视频比特流228解码成视频流304。视频流304可以与视频序列202非常相似。然而,由于压缩和解压缩处理(例如,图2a-2b中的量化阶段214)中的信息丢失,通常,视频流304与视频序列202不相同。与图2a-2b中的处理200a和200b类似地,解码器可以以基础处理单元(bpu)来对编码为视频比特流228的每个图片执行处理300a。例如,解码器可以以循环方式执行处理300a,在该循环方式中,解码器可以在处理300a的一次循环中对基础处理单元进行解码。在一些实施例中,解码器可以针对编码为视频比特流228中的每个图片的多个区域(例如,区域114-118)并行地执行处理300a。
68.在图3a中,解码器可将与经编码图片的基础处理单元(称为“编码bpu”)相关联的视频比特流228的一部分馈送到二进制解码阶段302。在二进制解码阶段302,解码器可将该一部分解码成预测数据206和量化变换系数216。解码器可以将量化变换系数216馈送到逆量化阶段218和逆变换阶段220,以生成重建残余bpu 222。解码器可以将预测数据206馈送
到预测阶段204以生成预测bpu 208。解码器可以将重建残余bpu 222添加到预测bpu 208以生成预测参考224。在一些实施例中,预测参考224可以存储在缓冲器(例如,计算机存储器中的解码图片缓冲器)中。解码器可将预测参考224馈送到预测阶段204以用于在处理300a的下一循环中执行预测操作。
69.解码器可以循环地执行处理300a,以对编码图片的每个编码bpu进行解码,并生成用于对编码图片的下一个编码bpu进行编码的预测参考224。在对编码图片的所有编码bpu进行解码之后,解码器可以将该图片输出到视频流304以进行显示,并且继续对视频比特流228中的下一个编码图片进行解码。
70.在二进制解码阶段302,解码器可以执行编码器所使用的二进制编码技术(例如,熵编码、可变长度编码、算术编码、霍夫曼编码、上下文自适应二进制算术编码、或任何其他无损压缩算法)的逆运算。在一些实施例中,除了预测数据206和量化变换系数216之外,解码器可以在二进制解码阶段302对其他信息进行解码,这些其他信息例如可以是预测模式、预测操作的参数、变换类型、量化处理的参数(例如,量化参数)、编码器控制参数(例如,比特率控制参数)等。在一些实施例中,如果视频比特流228以分组的形式通过网络传输,则解码器可以在将视频比特流228馈送到二进制解码阶段302之前对其进行去分组处理。
71.图3b示出了根据本公开的实施例的另一示例性解码处理300b的示意图。处理300b可以是通过对处理300a进行修改而获得的。例如,处理300b可以由符合混合视频编码标准(例如,h.26x系列)的解码器使用。与处理300a相比,处理300b额外地将预测阶段204划分成空间预测阶段2042和时间预测阶段2044,并且额外地包括环路滤波阶段232和缓冲器234。
72.在处理300b中,对于正被解码的编码图片(称为“当前图片”)的编码基础处理单元(称为“当前bpu”),由解码器从二进制解码阶段302解码获得的预测数据206可以根据编码器使用什么预测模式来编码当前bpu而包括各种类型的数据。例如,如果编码器使用帧内预测来编码当前bpu,则预测数据206可以包括指示帧内预测的预测模式指示符(例如,标志值)、帧内预测操作的参数等。帧内预测操作的参数可以包括例如用作参考的一个或多个相邻bpu的位置(例如,坐标)、相邻bpu的大小、外推参数、相邻bpu相对于原始bpu的方向等。对于另一示例,如果编码器使用帧间预测来编码当前bpu,则预测数据206可以包括指示帧间预测的预测模式指示符(例如,标志值)、帧间预测操作的参数等。帧间预测操作的参数可以包括例如与当前bpu相关联的参考图片的数量、分别与参考图片相关联的权重、一个或多个匹配区域在各自参考图片中的位置(例如,坐标)、分别与匹配区域相关联的一个或多个运动向量等。
73.基于预测模式指示符,解码器可以决定是在空间预测阶段2042执行空间预测(例如,帧内预测)还是在时间预测阶段2044执行时间预测(例如,帧间预测)。参考图2b已经详细描述了执行这样的空间预测或时间预测的细节,并且在下文中将不再重复。在执行这样的空间预测或时间预测之后,解码器可以生成预测bpu 208。解码器可以将预测bpu 208和重建残余bpu 222相加,以生成预测参考224,如参考图3a所描述的那样。
74.在处理300b中,解码器可将预测参考224馈送到空间预测阶段2042或时间预测阶段2044,以在处理300b的下一循环中执行预测操作。例如,如果在空间预测阶段2042使用帧内预测来解码当前bpu,则在生成预测参考224(例如,经解码的当前bpu)之后,解码器可以直接将预测参考224馈送给空间预测阶段2042以供后续使用(例如,用于当前图片的下一
bpu的外推)。如果在时间预测阶段2044使用帧间预测对当前bpu进行解码,则在生成预测参考224(例如,其中所有bpu都已被解码的参考图片)之后,解码器可以将预测参考224馈送到环路滤波阶段232以减少或消除失真(例如,块效应)。解码器可以以如参考图2b所描述的方式将环路滤波器应用于预测参考224。经环路滤波后的参考图片可存储在缓冲器234(例如,计算机存储器中的解码图片缓冲器)中以供后续使用(例如,用作视频比特流228的后续的编码图片的帧间预测参考图片)。解码器可以将一个或多个参考图片存储在缓冲器234中以在时间预测阶段2044使用。在一些实施例中,预测数据可以还包括环路滤波器的参数(例如,环路滤波器强度)。在一些实施例中,当预测数据206的预测模式指示符指示使用帧间预测来编码当前bpu时,预测数据包括环路滤波器的参数。
75.图4是根据本公开的实施例的用于编码或解码视频的示例性设备400的框图。如图4所示,设备400可以包括处理器402。当处理器402执行本文描述的指令时,设备400可以成为用于视频编码或解码的专用机器。处理器402可以是能够操纵或处理信息的任何类型的电路。例如,处理器402可以包括任何数量的中央处理单元(或“cpu”)、图形处理单元(或“gpu”)、神经处理单元(“npu”)、微控制器单元(“mcu”)、光学处理器、可编程逻辑控制器、微控制器、微处理器、数字信号处理器、知识产权(ip)核、可编程逻辑阵列(pla)、可编程阵列逻辑(pal)、通用阵列逻辑(gal)、复杂可编程逻辑器件(cpld)、现场可编程门阵列(fpga)、片上系统(soc)、专用集成电路(asic)等的任何组合。在一些实施例中,处理器402还可以是被分组为单个逻辑组件的一组处理器。例如,如图4所示,处理器402可以包括多个处理器,包括处理器402a、处理器402b和处理器402n。
76.设备400还可以包括被配置为存储数据(例如,指令集、计算机代码、中间数据等)的存储器404。例如,如图4所示,被存储的数据可以包括程序指令(例如,用于实施处理200a、200b、300a或300b中的阶各个段的程序指令)和用于处理的数据(例如,视频序列202、视频比特流228或视频流304)。处理器402可以(例如,经由总线410)访问程序指令和用于处理的数据,并且执行程序指令以对用于处理的数据执行操作或操纵。存储器404可以包括高速随机存取存储设备或非易失性存储设备。在一些实施例中,存储器404可以包括任意数量的随机存取存储器(ram)、只读存储器(rom)、光盘、磁盘、硬盘驱动器、固态驱动器、闪存驱动器、安全数字(sd)卡、记忆棒、紧凑型闪存(cf)卡等的任意组合。存储器404还可以是分组为单个逻辑组件的一组存储器(图4中未示出)。
77.总线410可以是在设备400内部的组件之间传送数据的通信设备,例如内部总线(例如,cpu-存储器总线)、外部总线(例如,通用串行总线端口、外围组件互连高速端口)等。
78.为了便于解释而不导致不清楚,在本公开中,处理器402和其他数据处理电路被统称为“数据处理电路”。数据处理电路可以完全实施为硬件,或者实施为软件、硬件或固件的组合。另外,数据处理电路可以是单个独立模块,或者可以完全或部分地组合到设备400的任何其他组件中。
79.设备400还可以包括网络接口406,以提供与网络(例如,因特网、内联网、局域网、移动通信网络等)的有线或无线通信。在一些实施例中,网络接口406可以包括任何数量的网络接口控制器(nic)、射频(rf)模块、应答器、收发器、调制解调器、路由器、网关、有线网络适配器、无线网络适配器、蓝牙适配器、红外适配器、近场通信(“nfc”)适配器、蜂窝网络芯片等的任何组合。
80.在一些实施例中,可选地,设备400还可以包括外围接口408,以提供到一个或多个外围设备的连接。如图4所示,外围设备可以包括但不限于光标控制设备(例如,鼠标、触摸板或触摸屏)、键盘、显示器(例如,阴极射线管显示器、液晶显示器或发光二极管显示器)、视频输入设备(例如,照相机或耦接到视频档案的输入接口)等。
81.应注意,视频编解码器(例如,执行处理200a、200b、300a或300b的编解码器)可实施为设备400中的任何软件或硬件模块的任何组合。例如,处理200a、200b、300a或300b的一些或所有阶段可以被实施为设备400的一个或多个软件模块,例如可以被加载到存储器404中的程序指令。对于另一示例,处理200a、200b、300a或300b的一些或所有阶段可以被实施为设备400的一个或多个硬件模块,例如专用数据处理电路(例如,fpga、asic、npu等)。
82.在2002年在中国建立的音频视频编码标准(avs)工作组当前正在开发avs3视频标准,即第三代avs视频标准。avs3标准的前身avs1和avs2分别在2006年和2016年作为中国国家标准发行。在2017年12月,avs工作组发出了对于提案的征集(cfp),以正式地开始第三代avs标准avs3的开发。在2018年12月,工作组选择高性能模型(hpm)作为avs3标准开发的新参考软件平台。hpm中的初始技术继承自avs2标准,并且基于此,越来越多的新的高级视频编码技术被采用以提高压缩性能。在2019年,avs3标准的第一阶段已结束,并且与其前身avs2相比获得了超过20%的编码性能增益,而avs3标准的第二阶段仍在avs3的第一阶段之上开发以获得更好的编码效率。
83.avs3标准基于在诸如avs1、avs2、h.264/avc、h.265/hevc等的现代视频压缩标准中使用的同一混合视频编码系统。如图1所示,输入视频被逐块处理。在avs3中,编码树单元(ctu)是最大的块单元,并且可以大到128
×
128个亮度样本(根据色度格式可以加上对应的色度样本)。ctu可以使用四叉树、二叉树或扩展二叉树进一步划分成编码单元(cu)。在划分结构的叶节点处,发送诸如编码模式(帧内模式或帧间模式)的编码信息、在帧间编码的情况下的运动信息(参考索引、运动向量差等)和量化残余系数。如果使用帧内预测(也称为空间预测),则使用空间相邻样本来预测当前块。如果使用帧间预测(也称为时间预测或运动补偿预测),则使用来自称为参考图片的已经编码的图片的样本来预测当前块。帧间预测可使用单向预测或双向预测。在单向预测中,仅使用指向一个参考图片的一个运动向量来生成当前块的预测信号;并且在双向预测中,使用其中每个运动向量指向其自身的参考图片的两个运动向量来产生当前块的预测信号。运动向量和参考索引被发送到解码器以识别当前块的预测信号来自哪里。在帧内或帧间预测之后,模式决定和编码器控制块例如基于率失真优化方法来选择用于当前块的最佳预测模式。基于最佳预测模式,根据输入的视频块生成预测块且从其中减去预测块。将预测残余发送到变换和量化模块以生成量化残余系数。然后,对量化残余系数进行逆量化和逆变换,以获得重建残余。在环路滤波之前,将预测块和重建残余加在一起以形成重建块,该重建块用于提供用于帧内预测的参考样本。可以将诸如去块、样本自适应偏移sao及自适应环路滤波器alf等环路滤波应用于重建块,以在环路滤波之后形成重建块,该重建块存储于解码图片缓冲器中且用以提供用于帧间预测的参考样本。诸如编码模式(帧内或帧间预测)、帧内预测模式的编码信息、运动信息、量化残余系数等被发送到熵编码模块,以在被打包到输出视频比特流中之前进一步降低码率。
84.在avs3中,支持双向梯度校正技术用于双向预测帧间模式。双向梯度校正(bgc)使用两个双向参考块之间的差异来校正预测块。对于双向预测帧间模式,通过对从两个不同
参考图片获得的或者使用两个不同运动向量的两个双向预测块pred0和pred1求平均,来生成预测块pred
bi
。bgc基于以下等式进一步计算校正预测块pred:其中k是校正强度因子,并且在avs3中被设置为3。对于在双向预测帧间模式中编码并且满足bgc应用条件的块,标志bgcflag被信令以指示是否使用bgc。当使用bgc时,索引bgcidx被进一步信令以指示使用哪种校正方法。使用上下文编码的二进位来信令bgcflag和bgcidx两者。
85.bgc应用条件为:1)使用双向预测模式对当前块进行编码;2)当前块的亮度样本的数量不小于256;3)当前块的预测模式不是跳过模式或直接模式;4)bgc仅应用于亮度样本;5)当前图片的显示顺序位于两个参考图片之间。两个参考图片中的一个位于当前图片之前,另一个参考图片在显示顺序上位于当前图片之后。
86.跳过模式和直接模式是avs3中的两种特殊帧间模式,在这两种模式中,包括参考标号和运动向量的运动信息没有被信令在比特流中,而是在解码器侧以与编码器所使用的规则相同的规则推导获得。这两种模式共享相同的运动信息推导规则,并且它们之间的差异在于跳过模式通过将残余设置为零来跳过残余的信令。与正常的帧间模式相比,尽管编码器必须遵循标准中规定的规则来推导运动向量和参考索引,以执行帧间预测,但是在跳过模式和直接模式中可以节省专用于运动信息的比特。因此,跳过模式和直接模式适合于当前块的运动信息接近空间或时间相邻块的运动信息的情况,这是因为运动信息的推导是基于空间或时间相邻块来进行的。
87.为了推导在跳过模式和直接模式中的帧间预测中使用的运动信息,编码器首先推导获得运动候选的列表,然后选择它们中的一个来执行帧间预测。在比特流中信令被选择的候选的标号。在解码器侧,解码器推导获得与编码器相同的运动候选列表,使用从比特流解析的标号来获得用于帧间预测的运动,然后执行帧间预测。
88.当前在avs3中,在候选列表中存在12个候选,如下所述。
89.第一候选是时间运动向量预测(tmvp),其是从特定参考帧中的共置块的运动向量(mv)推导获得的。这里的特定参考帧在用于b帧的列表1中或用于p帧的列表0中被指定为参考标号为0的参考帧。当该共置块的运动向量不可用时,依据空间相邻块的运动向量推导获得的运动向量预测子(mvp)被用作tmvp。
90.第二、第三和第四候选是空间运动向量预测(smvp)。图5是示出了根据本公开的一些实施例的用于空间运动向量预测(smvp)推导的示例性相邻块的示意图。如图5所示,smvp是从六个相邻块f、g、c、b、a、d推导获得的,第二候选是双向预测候选,第三候选是列表0中基于参考帧的单向预测候选,并且第四候选是列表1中基于参考帧的单向预测候选。这三个候选被设置为按指定顺序排列的六个相邻块的第一可用mv。在smvp候选之后,添加运动向量角度预测候选(mvap)和基于历史的运动向量预测候选(hmvp)。
91.基于历史的运动向量预测(hmvp)是从先前编码或解码的块的运动信息推导而获得的。在编码或解码经帧间编码的块之后,将运动信息添加到hmvp表的最后条目,其中hmvp表的大小被设置为8。当将新的运动候选插入到表中时,利用有约束的先进先出(fifo)规
则,在该规则中首先应用冗余校验以发现表中是否存在相同的运动候选。如果找到,则将相同的运动候选移动到表的最后一个条目,而不是插入新的相同条目。hmvp表中的候选将用作跳过模式和直接模式的hmvp候选。从最后一个条目到第一个条目来检查hmvp表。如果hmvp表中的候选与跳过模式和直接模式的候选列表中的任何时间运动向量预测(tmvp)候选和空间运动向量预测(smvp)候选不同,则将hmvp表中的候选放入跳过模式和直接模式的候选列表中作为hmvp候选。如果hmvp表中的候选与tmvp候选或smvp候选中的一个相同,则不将此候选放入跳过模式和直接模式的候选列表中。在本公开中,该处理被称为剪枝。
92.除了其中隐式推导获得的运动信息被直接用于预测块生成的跳过模式或直接模式之外,在avs3中还引入了最终运动向量表达。最终运动向量表达(umve)标志被信令来指定是否对于块使用umve模式。
93.在umve中,在选择跳过候选或直接候选之后,通过信令运动向量差(mvd)信息来进行进一步的筛选。该进一步信息包括跳过候选或直接候选标志、用于指定偏移运动距离的指标和用于指示偏移运动方向的指标。在umve模式中,选择跳过候选或直接候选中的两个候选中的一个作为基础运动向量和起点。方向指标表示mvd相对于起点的方向。图6是示出了根据本公开的一些实施例的umve中的示例性运动推导的示意图。方向指标可以表示四个方向,如图6所示。距离指标指定运动幅度信息,并且指示从起点的预定偏移。表1和表2中规定了距离指标和预定偏移的关系。可以在图片头中信令确定是使用表1还是表2的标志。表1:用于umve模式的5个mvd偏移mvd偏移(pel))11//441/2124表2:用于umve模式的8个mvd偏移mvd偏移(pel)11//411//212481632
94.在avs3中,将帧间预测滤波器应用于直接模式以对预测块进行滤波。如果当前块是通过直接模式编码的,而不是通过仿射运动补偿(affine)或umve模式编码的,则可以信令指示是否使用帧间预测滤波器(interpf)的标志。在解码器侧,当解析出的interpf标志为真时,解码器执行与编码器相同的滤波操作。存在两种滤波方法,并且信令interpf指标以指示使用哪种滤波方法。
95.当interpf指标等于1时,interpf滤波器使用预测块和当前块的上、下、右、左侧的相邻像素根据以下等式进行加权平均,以得到最终的预测块:pred(x,y)=(pred_inter(x,y)*5 pred_q(x,y)*3)>>3(等式2)pred_q(x,y)=(pred_v(x,y) pred_h(x,y) 1)>>2(等式3)pred_v(x,y)=((h-1-y)*rec(x,-1) (y 1)*rec(-1,h) (h>>1))>>log2(h)(等式4)pred_h(x,y)=((w-1-x)*rec(-1,y) (x 1)*rec(w,-1) (w>>1))>>log2(w)(等式5)其中pred_inter是未滤波的预测块,pred是最终的预测块,rec表示重建相邻像素。当前块的宽度和高度分别由w和h表示。
96.当interpf指标等于1时,interpf滤波器使用预测块和当前块的上和左侧的相邻像素根据下面的等式进行加权平均,以得到最终的预测块:pred(x,y)=f(x)*rec(-1,y) f(y)*rec(x,-1) (1-f(x)-f(y))*pred_inter(x,
y)
ꢀꢀꢀ
(等式6)其中f(x)和f(y)是两个加权因子。
97.在avs3中,应用基于块的仿射运动补偿预测。affine可表示诸如放大/缩小、旋转、透视运动不规则的运动,就好像在真实世界中一样。图7是根据本公开的一些实施例示出仿射模型所基于的示例性控制点的示意图。如图7所示,块的仿射运动场由两个控制点(4个参数)或三个控制点运动向量(6个参数)的运动信息来描述。affine应用于大于16
×
16的块。
98.图8是示出了根据本公开的一些实施例的每个子块的中心采样的示例性运动向量的示意图。为了推导每个8
×
8亮度子块的运动向量,如图8所示,根据两个或三个控制点(cp)计算每个子块的中心采样的运动向量,并舍入到1/16分数精度。然后执行运动补偿以利用推导获得的运动向量生成每个子块的预测。
99.还存在两种仿射运动帧间预测模式:affine跳过或直接模式和affine帧间模式。
100.对于affine跳过模式或直接模式,基于空间相邻块的运动信息生成当前块的控制点的运动向量(cpmv)。可以存在最多五个affine跳过候选或直接候选,并且可以信令指示哪个候选将用于当前块的标号。affine跳过候选或直接候选由以下三种类型形成:1.从相邻块的cpmv外推获得的继承仿射跳过候选/直接候选;2.使用相邻块的平移mv推导获得的构建仿射跳过候选/直接候选cpmv;以及3.零运动向量。
101.在从相邻块的仿射运动模型推导获得的两个继承仿射候选中可以存在一个最大的。当识别出相邻仿射块时,其控制点运动向量用于推导当前块的仿射跳过或直接列表中的cpmv候选。构建仿射候选意味着通过组合每个控制点的相邻运动信息来构建该候选。控制点的运动信息是从图5所示的指定空间相邻者和时间相邻者推导获得的。cpmvk(k=1,2,3,4)表示第k个控制点cpk的运动向量。对于cpmv1,检查a->b->d块,并使用第一可用块的mv。对于cpmv2,检查g->c块,并且对于cpmv3,使用f块。对于cpmv4,如果时间运动向量预测(tmvp)可用,则将其用作cpmv4。在获得四个控制点的mv之后,基于运动信息构建仿射跳过/直接候选。使用控制点mv的以下组合来按顺序构建:{cpmv1,cpmv2,cpmv3}、{cpmv1,cpmv2,cpmv4}、{cpmv1,cpmv3,cpmv4}、{cpmv2,cpmv3,cpmv4}、{cpmv1,cpmv2}、{cpmv1,cpmv3}
102.3个cpmv的组合构建6-参数仿射合并候选,并且2个cpmv的组合构建4-参数仿射合并候选。
103.在检查继承的仿射跳过或直接候选和构建的仿射跳过或直接候选之后,如果列表仍然不满,则将零mv插入到列表的末尾。
104.对于affine帧间模式,在比特流中信令当前块的cpmv与它们的预测(cpmvp)的差。
105.如果bgc满足所有bgc应用条件,则将bgc应用于双向预测帧间编码块。然而,现有的设计使得bgc的应用受到了许多限制。例如,bgc不能应用于跳过或直接模式编码的块,即使该模式是双向预测帧间模式。结果,bgc不能被应用于基于跳过候选或直接候选的编码工具,诸如umve、interpf等。另外,bgc不能应用于当前帧的显示顺序不在两个参考帧之间的块。因此,bgc不能被应用于低延迟帧,并且在低延迟配置中被禁用。此外,bgc不能应用于色度块。
106.因此,目前的bgc设计不适合于上述条件。此外,上述限制可能对bgc的编码性能具有负面影响。
107.本公开提供了对上述问题中的一些或全部的解决方案。本公开公开的实施例可以提高bgc的编码性能,使其在不同条件下得到更广泛的应用。提供以下示例性方法来解决上述问题。
108.图9-11是根据本公开的一些实施例的示例性视频解码方法的流程图。该方法可由解码器执行(例如,由图3a的处理300a或图3b的处理300b执行)。图12-14是根据本公开的一些实施例的示例性视频编码方法的流程图。该方法可由编码器执行(例如,由图2a的处理200a或图2b的处理200b执行)。图9-14的方法可以由设备(例如,图4的设备400)的一个或多个软件或硬件组件来执行。例如,处理器(例如,图4的处理器402)可以执行图5中的方法。在一些实施例中,该方法可以由计算机程序产品来实现,该计算机程序产品包括在计算机可读介质中,包括由计算机(例如,图4的设备400)执行的诸如程序代码的计算机可执行指令。
109.本公开提供的一些实施例意在扩展bgc校正方法。如上所述,有两种校正方法来校正bgc中的双向预测块,其分别由bgcidx=0和bgcidx=1表示。然而,这两种方法可能不足以表示当前块的原始信号与p0、p1之间的关系。在本公开的一些实施例中,可以扩展bgc校正方法。图9的解码方法和图12的编码方法是为技术方案而提供的。
110.图9的解码方法可以包括以下步骤。
111.在步骤901中,解码来自比特流的编码单元的第一参数。
112.在步骤902中,基于第一参数确定用于编码单元的候选。在一些实施例中,候选是tmvp、smvp、mvap、hmvp、umve、interpf、仿射继承、仿射构建或零仿射候选中的一个。
113.在步骤903中,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值。第二参数指示双向预测校正是否被启用。在一些实施例中,第二参数可以是标志bgcflag。在一些实施例中,与编码单元相关联的第二参数的值等于与候选相关联的第二参数的值。
114.在步骤904中,响应于与编码单元相关联的第二参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。
115.在一些实施例中,基于与候选相关联的第三参数的值确定与编码单元相关联的第三参数的值,其中与编码单元相关联的第三参数指示执行双向预测校正方法中的一种。第三参数可以是bgcidx。
116.图12的编码方法可以包括以下步骤。
117.在步骤1201中,对于编码单元确定候选。
118.在步骤1202中,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用。
119.在步骤1203中,响应于与编码单元相关联的第二参数的值指示双向预测校正被启用,使用双向预测校正来对编码单元进行编码。
120.在步骤1204中,将与候选相关联的第一参数编码到比特流。
121.在一些实施例中,基于以下等式来确定校正的预测块pred:其中m和n是两个不同的校正强度因子,并且可以被设置为任何非负整数值以形成
两种不同的校正方法。在一个示例中,m和n分别被设置为3和2。
122.在一些实施例中,基于以下等式来确定校正的预测块pred:其中m和n是两个不同的校正强度因子,并且可以被设置为任何非负整数值以形成四种不同的校正方法。在一个示例中,m和n分别被设置为3和2。以此方式,有四种bgc校正方法,分别由bgcidx=0、bgcidx=1、bgcidx=2和bgcidx=3表示。
123.当标志bgcflag为真时,可使用经上下文编码二进位和/或旁路二进位来信令索引bgcidx。例如,如表3所示,可以用两个固定的二进位来信令4个bgcidxes。所有二进位以旁路二进位或上下文二进位编码。表3:具有固定二进位的bgcidx的二进制表示bgcidx0123码字00011011
124.例如,4个bgcidxes可以用一元截短二进位来信令,如表4所示。所有二进位以旁路二进位来编码。表4:具有一元截短二进位的bgcidx的二进制表示bgcidx0123码字010110111
125.在一些实施例中,基于以下等式来确定校正的预测块pred:其中因子p、q、r和s可以被设置为任何正整数值,并且因子t、u、v和w可以被设置为任何正整数值,以形成四种不同的校正方法。在一个示例中,p、q、r、s、t、u、v和w分别被设置为1、1、3、3、3、3、2和2。信令方法可以类似于以上结合表3和表4描述的那些方法。
126.扩展bgc校正方法能够适应更多的情况,并提高bgc的编码性能。
127.在本公开的一些实施例中,对于跳过或直接模式编码的块,可基于跳过或直接候选指标从相邻块推断bgcflag和bgcidx,并且然后通过所获得的bgcflag和bgcidx对预测块进行校正,从而bgc可应用于跳过或直接模式。
128.具体地,为了推导在跳过和直接模式中的帧间预测中使用的bgc信息,当在编码器侧和解码器侧推导获得跳过候选或直接候选时,节省了相邻块的bgcflag和bgcidx。跳过候选或直接候选含有相邻块的运动向量、参考标号、bgcflag和bgcidxes。当编码器选择跳过候选或直接候选标号或者解码器解析获得跳过候选或直接候选标号时,其首先使用对应的运动向量和参考标号来执行帧间预测,然后使用对应的bgcflags和bgcidxes来对预测块进行预测。以此方式,bgc可以被应用于跳过模式或直接模式,而无需信令bgcflag和bgcidx。跳过候选或直接候选包括tmvp、smvp、mvap和hmvp。bgc可以被应用于一种或多种类型的运
动向量预测。
129.在一些实施例中,bgc以如下方式应用于双向预测smvp和hmvp:-对于tmvp,对应的bgcflag和bgcidx被设置为0;-对于双向预测smvp,从获得双向预测smvp的空间相邻块继承对应的bgcflag和bgcidx;对于两个单向预测smvp,相应的bgcflag和bgcidx被设置为0;-对于mvap,相应的bgcflag和bgcidx被设置为0;以及-对于hmvp,当推导获得hmvp表时,先前编码或解码的帧间块的bgc信息也被添加到hmvp表的最后条目。从hmvp表中继承对应的bgcflag和bgcidx。
130.本公开的一些实施例可以将bgc扩展到跳过模式或直接模式编码的块,并且提高编码性能。
131.在本公开的一些实施例中,bgc可以与基于跳过候选或直接候选的其他编码工具组合。
132.在一些实施例中,bgc可以与umve组合。如上所述,对于每个跳过候选或直接候选标号,推导获得相应的bgcflag和相应的bgcflag。对于umve编码的块,可以基于基本运动向量的跳过候选或直接候选标号从相应的bgcflag和bgcidx继承bgcflag和bgcidx。
133.在一些实施例中,bgc可以与interpf组合。如上所述,对于每个跳过候选或直接候选指标,推导获得相应的bgcflag和相应的bgcidx。对于interpf编码的块,bgcflag和bgcidx可以基于跳过候选或直接候选标号从相应的bgcflag和bgcidx继承。
134.例如,首先用bgcflag和bgcidx校正未经滤波的当前预测块。然后,校正的当前预测块被用于帧间滤波器以获得最终的当前预测块。
135.对于另一示例,未经滤波的当前预测块没有被校正。当前块的滤波操作不变。准备继承的bgcflag和bgcidx以便于其他块来继承。
136.在一些实施例中,bgc可以与affine跳过模式/直接模式组合。
137.例如,对于affine跳过模式/直接模式,显式信令当前块的bgcflag和bgcidx。编码器可以选择所允许的bgcflag和bgcidx的任何值,并且在比特流中信令所选择的值。作为第一示例,由编码器选择包括继承仿射跳过候选或直接候选、构建仿射跳过候选或直接候选以及零运动向量的所有种类的仿射跳过候选或直接候选的bgcflag和bgcidx并且将其在比特流中信令。作为第二示例,由编码器选择仿射跳过候选或直接候选中的一些的bgcflag和bgcidx并且将其在比特流中信令。例如,仅对于构建的仿射跳过候选或直接候选,可以选择bgcflag和bgcidx,而对于其他候选(例如,继承的仿射跳过候选或直接候选),从相邻块推断bgcflag和bgcidx或将其固定为默认值。
138.对于另一示例,对于affine跳过模式/直接模式,从相邻块推断bbgcflag和bgcidx。
139.对于继承的仿射跳过候选或直接候选,还节省了相邻块的bgcflag和bgcidx,从而当前块的bgcflag和bgcidx可以分别从借用所使用的cpmv的相邻块的bgcflag和bgcidx继承。
140.对于构建的仿射跳过候选或直接候选的每一个,根据该构建的仿射跳过候选或直接候选的cp推导bgcflag和bgcidx,并且如果该构建的仿射跳过候选/直接候选被用于块,则推导获得的bgcflag和bgcidx也用于块。对于每个cp,相邻块被用于推导相应的cpmv。相
邻块也用于推导cp的bgcflag和bgcidx。对于cp1,检查图4中的a->b->d块,并且节省了第一可用块的mv、bbgcflag和bgcidx。对于cp2,检查g->c块,并且节省了第一可用块的mv、bgcflag和bgcidx。对于cp3,节省了块f的mv、bgcflag和bgcidx。对于cp4,如果时间运动向量预测(tmvp)可用,则将其用作cp4,并且将cp4的bgcflag和bgcidx设置为0。因此,需要指定规则以从最多4个bgcflag和bgcidxes推导活得用于构建的仿射跳过候选或直接候选的一个bgcflag和一个bgcidx。
141.在第一示例中,如果所有cp具有相同的bgcflag和bgcidx,则bgcflag和bgcidx被用于构建的仿射跳过候选或直接候选;否则将当前块的bgcflag设置为0。
142.在第二示例中,构建的仿射跳过候选或直接候选的bgcflag和bgcidx分别是最可能的bgcflag和bgcidx。并且最可能的bgcflag和bgcidx分别是被构建的仿射跳过候选或直接候选的最多cp使用的bgcflag和bgcidx。
143.在第三示例中,对于正常双向预测帧间模式,可将其视为pred0与pred1的相等权重加权平均值。使用bgcweight>>k表示pred0的权重,基于以下等式用bgcweight标记不同的校正方法:
144.构建的仿射跳过候选或直接候选的bgcweight是在构建的仿射跳过候选或直接候选的cp的所有bgcweights中最接近相等权重(bgcweight=4)的候选。
145.例如,对于具有2个cp(cpa,cpb)的构建的仿射合并候选对象,diffa=|cpabgcweight

相等权重|diffb=|cpbbgcweight

相等权重|如果(diffa《=diffb)那么仿射跳过候选/直接候选bgcweight=cpabgcweight否则仿射跳过候选/直接候选bgcweight=cpbbgcweight。
146.然后,利用仿射跳过候选或直接候选bgcweight,可以推导获得bgcflag和bgcidx。
147.在第四示例中,cpbgcweight的平均值被用作构建的仿射跳过候选或直接候选的bgcweight。然后,利用仿射跳过候选或直接候选bgcweight,可以推导获得bgcflag和bgcidx。
148.在第五示例中,使用构建的仿射跳过候选/直接候选的第一cp的bgcflag和bgcidx。具体地,对于构建的仿射跳过/直接候选{cpmv1,cpmv2,cpmv3}、{cpmv1,cpmv2,cpmv4}、{cpmv1,cpmv3,cpmv4}、{cpmv1,cpmv2}和{cpmv1,cpmv3},使用cp1的bgcflag和bgcidx;对于构建的仿射跳过候选/直接候选{cpmv2,cpmv3,cpmv4},使用cp2的bgcflag和bgcidx。
149.在现有设计中,bgc在低延迟配置中被禁用。本公开的一些实施例可以去除对两个参考帧和当前帧之间的显示顺序的限制,使得bgc可以应用于低延迟图片。用于低延迟图片的bgc方法可以与非低延迟图片所使用的bgc方法相同或不同。此外,本公开的一些实施例可以用于低延迟图片以改善编码性能。
150.可以提供图11的解码方法和图14的编码方法用于这样的技术方案。
151.图11的方法可以包括以下步骤。
152.在步骤1101中,确定与满足多个条件的编码单元相关联的第一参数的值,其中第一参数指示双向预测校正是否被启用。
153.在一些实施例中,多个条件包括:确定编码单元的两个参考图片列表;确定两个参考图片列表中的参考图片按显示次序是否位于与编码单元相关联的当前图片之前;以及响应于两个参考图片列表中的参考图片按显示次序位于与编码单元相关联的当前图片之前,确定编码单元满足多个条件。
154.在步骤1102中,响应于与编码单元相关联的第一参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。
155.在一些实施例中,确定与编码单元相关联的第二参数的值,其中与编码单元相关联的第二参数指示对编码单元执行双向预测校正方法中的一种。第二参数可以是bgcidx。
156.在一些实施例中,可以进行以下步骤:获得编码单元的第一预测与第二预测,其中使用编码单元的运动来预测第一预测和第二预测;通过将正确的强度因子应用于第一预测和第二预测之间的差确定第三预测;以及通过对第一预测和第二预测求平均再加上第三预测,使用第一预测、第二预测和第三预测来对编码单元进行解码。
157.在一些实施例中,第一预测与第二预测之间的差是以下中的一个:第一预测与第二预测之间的差值等于第一预测减去第二预测;或者第一预测与第二预测之间的差值等于第二预测减去第一预测。
158.在一些实施例中,正确的强度因子是1/8。
159.图14的编码方法可以包括以下步骤。
160.在步骤1401中,确定与满足多个条件的编码单元相关联的第一参数的值,其中第一参数指示双向预测校正是否被启用。
161.在步骤1402中,响应于与编码单元相关联的第一参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。
162.在一些实施例中,消除了当前帧的显示顺序必须在两个参考帧的显示顺序之间的限制。低延迟和非低延迟图片都可以根据下面的等式10以相同的方式将bgc应用于双向预测块:其中pred0和pred1分别表示通过第一运动向量和第二运动向量获得的预测块。
163.在一些实施例中,还去除了当前帧的显示次序在两个参考帧的显示次序之间的限制,同时低延迟和非低延迟图片以不同的方式将bgc应用于双向预测块。对于非低延迟图片,校正方法与上述相同。对于低延迟图片,校正因子可以被设置为2或除3之外的其他非负整数值。
164.在一些实施例中,对于低延迟图片,可以基于以下等式来确定校正方法:其中k被设置为3。同时,因子k可以被设置为任何非负整数值。
165.在一些实施例中,对于低延迟图片,可以基于以下等式来确定校正方法:其中m和n分别被设置为3和2。同时,因子m和n可以被设置为任何非负整数值。
166.在一些实施例中,对于低延迟图片,可以基于以下等式来确定校正方法:其中m和n分别被设置为3和2。同时,因子m和n可以设置为任意非负整数值,以形成四种不同的校正方法。信令方法可以与上述相同。
167.在一些实施例中,对于低延迟图片,可以基于以下等式来确定校正方法:其中p、q、r、s、t、u、v和w分别被设置为1、1、3、3、3、3、2和2。同时,因子p、q、r和s可以被设置为任何正整数值,并且因子t、u、v和w可以被设置为任何正整数值,以形成四种不同的校正方法。信令方法可以与上述相同。所公开的方法可以将bgc扩展到低延迟图片,从而可以在低延迟配置中启用bgc。同时,可以在随机访问和低延迟配置中提高编码性能。
168.在常规设计中,针对色度块禁用bgc。本公开的一些实施例可使用从位于同一位置的亮度块继承的bgcflag及bgcidx来在bgcflag等于1时以与上述相同的方式来校正当前预测色度块。以此方式,bgc被扩展到色度块,并且可以改进编码性能。
169.提供图10的解码方法和图13的编码方法用于解决上述问题。图10的解码方法可以包括以下步骤。
170.在步骤1001中,基于与亮度编码单元相关联的第一参数的值确定与色度编码单元相关联的第一参数的值,其中一个第一参数指示双向预测校正是否被启用。在一些实施例中,亮度编码单元是色度编码单元的共置块。
171.在步骤1002中,响应于与色度编码单元相关联的第一参数的值指示双向预测校正被启用,对色度编码单元执行双向预测校正。
172.在一些实施例中,基于与亮度编码单元相关联的第二参数的值确定与色度编码单元相关联的第二参数的值,其中一个第二参数指示对色度编码单元执行双向预测校正方法中的一种。
173.在一些实施例中,从比特流解码获得与亮度编码单元相关联的第一参数和第二参数。
174.在一些实施例中,从由从比特流解码获得的第三参数确定的候选继承与亮度编码单元相关联的第一参数和第二参数。
175.图13的编码方法可以包括以下步骤。
176.在步骤1301中,基于与亮度编码单元相关联的第一参数的值确定与色度编码单元相关联的第一参数的值,其中一个第一参数指示双向预测校正是否被启用。
177.在步骤1302中,响应于与色度编码单元相关联的第一参数的值指示双向预测校正被启用,对色度编码单元执行双向预测校正。
178.可以预期,可以组合本公开的上述实施例以提高编码性能。
179.本公开的一些实施例可以将bgc扩展到单向预测块以补偿图片之间的亮度改变。
180.在一些实施例中,当使用单向预测模式对块进行编码时,信令指示是否将权重施加于预测样本的标志。当标志等于1时,信令权重指标以指示将什么权重施加于预测采样。当标志等于0时,预测采样不采用任何权重并且直接与残余相加。例如,可以基于以下等式利用uniweight来校正或更新当前亮度预测块:pred=clip(pred
uni
*uniweight)
ꢀꢀ
(等式15)其中uniweight是正值。
181.在一些实施例中,当指示是否校正预测采样的标志等于1时,信令额外偏移指标以指示将什么偏移施加于预测采样。例如,可以基于以下等式利用uniweight和unioffset来校正或更新当前亮度预测块:pred=clip(pred
uni
*uniweight unioffset),(等式16)其中unioffset∈[-20,-10,0,10,20]。uniweight是正值,而unioffset是整数值。
[0182]
另外,可以对于跳过或直接编码的块,从相邻块继承标志及指标。
[0183]
应当理解,本领域的普通技术人员可以将所描述的实施例中的一些组合成一个实施例。
[0184]
在一些实施例中,还提供了包括指令的非瞬时性计算机可读存储介质,并且指令可以由设备(诸如所公开的编码器和解码器)执行,以用于执行上述方法。非瞬时性介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、cd-rom、任何其他光学数据存储介质、具有孔图案的任何物理介质、ram、prom和eprom、flash-eprom或任何其他闪存、nvram、高速缓存、寄存器、任何其他存储器芯片或盒和它们的联网版本。该设备可以包括一个或多个处理器(cpu)、输入/输出接口、网络接口和/或存储器。
[0185]
应当注意,这里的关系术语,诸如“第一”和“第二”,仅用于将实体或操作与另一实体或操作区分开,而不要求或暗示这样的实体或操作之间的任何实际关系或顺序。此外,词语“包括(comprising)”、“具有(having)”、“含有(containing)”和“包括(including)”和其他类似形式在含义上是等同的并且是开放式的,因为在这样的词语中的任一个之后的一个或多个项目不意味着是这一个或多个项目的穷举列表,或者意味着仅限于所列出的一个或多个项目。
[0186]
除非另有说明,否则本文所用术语“或”包括所有可能的组合,除非是不可行的。例如,如果陈述数据库可以包括a或b,则除非另外特别陈述或不可行,否则数据库可以包括a或b,或a和b。作为第二个示例,如果陈述数据库可以包括a、b或c,则除非另外特别陈述或不可行,否则数据库可以包括a、或b、或c、或a和b、或a和c、或b和c、或a和b和c。
[0187]
应当理解,上述实施例可以由硬件、或软件(程序代码)、或硬件和软件的组合来实施。如果由软件实施,则它可以被存储在上述计算机可读介质中。当由处理器执行时,软件可以执行所公开的方法。本公开中描述的计算单元和其他功能单元可以由硬件、或软件、或硬件和软件的组合来实施。本领域的普通技术人员还将理解,上述模块/单元中的多个可以被组合为一个模块/单元,并且上述模块/单元中的每一个可以被进一步划分成多个子模块/子单元。
[0188]
所公开的实施例还可以使用以下条款来描述:1.一种视频解码方法,包括:从比特流解码获得用于编码单元的第一参数,并基于第一参数确定用于编码单元的候选;基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;以及响应于与编码单元相关联的第二参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。2.根据条款1所述的方法,还包括:确定与编码单元相关联的第二参数的值等于与候选相关联的第二参数的值。3.根据条款1所述的方法,还包括:基于与候选相关联的第三参数的值确定与编码单元相关联的第三参数的值,其中第三参数指示执行双向预测校正方法中的一种。4.根据条款1至3中任一条款所述的方法,其中候选是tmvp、smvp、mvap、hmvp、umve、interpf、仿射继承、仿射构建或零仿射候选中的一个。5.根据条款1和4中任一条款所述的方法,其中候选是tmvp、mvap或零仿射候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:将与编码单元相关联的第二参数的值设置为禁用,并且禁用编码单元的双向预测校正。6.根据条款1和4中任一条款所述的方法,其中候选是仿射构建候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:确定用于编码单元的多个控制点,其中多个控制点包括至少第一控制点;确定与编码单元相关联的第二参数的值和第三参数的值分别等于与第一控制点相关联的第二参数的值和第三参数的值。7.根据条款1至6中任一条款所述的方法,其中第二参数是标志,并且第三参数是指标。8.一种视频解码方法,包括:基于与亮度编码单元相关联的第四参数的值确定与色度编码单元相关联的第四参数的值,其中第四参数指示双向预测校正是否被启用;以及响应于与色度编码单元相关联的第四参数的值指示双向预测校正被启用,对色度编码单元执行双向预测校正。9.根据条款8所述的方法,其中亮度编码单元是色度编码单元的共置块。
10.根据条款8所述的方法,还包括:基于与亮度编码单元相关联的第五参数的值,确定与色度编码单元相关联的第五参数的值,其中第五参数指示对色度编码单元执行双向预测校正方法中的一种。11.根据条款8至10中任一条款所述的方法,其中:从比特流解码获得与亮度编码单元相关联的第四参数和第五参数。12.根据条款8至10中任一条款所述的方法,其中:从由从比特流解码获得的第六参数确定的候选继承与亮度编码单元相关联的第四参数和第五参数。13.一种视频解码方法,包括:确定与满足多个条件的编码单元相关联的第七参数的值,其中第七参数指示双向预测校正是否被启用;以及响应于与编码单元相关联的第七参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。14.根据条款13所述的方法,其中多个条件包括:确定编码单元的两个参考图片列表;确定两个参考图片列表中的参考图片是否按显示次序位于与编码单元相关联的当前图片之前;以及响应于两个参考图片列表中的参考图片按显示次序位于与编码单元相关联的当前图片之前,确定编码单元满足多个条件。15.根据条款13所述的方法,还包括:确定与编码单元相关联的第八参数的值,其中第八参数指示对编码单元执行双向预测校正方法中的一种。16.根据条款13所述的方法,还包括:获得编码单元的第一预测与第二预测,其中使用编码单元的运动来预测第一预测和第二预测;通过将校正强度因子施加于第一预测和第二预测之间的差来确定第三预测;以及通过对第一预测和第二预测计算平均并加上第三预测,使用该第一预测、第二预测和第三预测来对编码单元进行解码。17.根据条款16所述的方法,其中第一预测与第二预测之间的差是以下中的一个:第一预测与第二预测之间的差值等于第一预测减去第二预测;或第一预测与第二预测之间的差值等于第二预测减去第一预测。18.根据条款16所述的方法,其中校正强度因子是1/8。19.一种视频编码方法,包括:确定用于编码单元的候选;基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;响应于与编码单元相关联的第二参数的值指示双向预测校正被启用,使用双向预测校正对编码单元进行编码;以及将与候选相关联的第一参数编码到比特流。
20.根据条款19所述的方法,还包括:确定与编码单元相关联的第二参数的值等于与候选相关联的第二参数的值。21.根据条款19所述的方法,还包括:基于与候选相关联的第三参数的值确定与编码单元相关联的第三参数的值,其中第三参数指示执行双向预测校正方法中的一种。22.根据条款19至21中任一条款所述的方法,其中候选是tmvp、smvp、mvap、hmvp、umve、interpf、仿射继承、仿射构建或零仿射候选中的一个。23.根据条款22所述的方法,其中,候选是tmvp、mvap或零仿射候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:将与编码单元相关联的第二参数的值设置为禁用,并且对于该编码单元禁用双向预测校正。24.根据条款19和22中任一条款所述的方法,其中,候选是仿射构建候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:确定用于编码单元的多个控制点,其中多个控制点包括至少第一控制点;确定与编码单元相关联的第二参数的值和第三参数的值分别等于与第一控制点相关联的第二参数的值和第三参数的值。25.根据条款19至24中任一条款所述的方法,其中第二参数是标志,并且第三参数是指标。26.一种视频编码方法,包括:基于与亮度编码单元相关联的第四参数的值确定与色度编码单元相关联的第四参数的值,其中第四参数指示双向预测校正是否被启用;响应于与色度编码单元相关联的第四参数的值指示双向预测校正被启用,对色度编码单元执行双向预测校正。27.根据条款26所述的方法,其中,亮度编码单元是色度编码单元的共置块。28.根据条款26所述的方法,还包括:基于与亮度编码单元相关联的第五参数的值,确定与色度编码单元相关联的第五参数的值,其中第五参数指示对色度编码单元执行双向预测校正方法中的一种。29.根据条款26至28中任一条款所述的方法,其中将与亮度编码单元相关联的第四参数和第五参数编码到比特流。30.根据条款26至28中任一条款所述的方法,还包括:确定用于亮度编码单元的候选;将与亮度编码单元相关联的第四参数和第五参数继承给候选,以及将与候选相关联的第六参数编码到比特流。31.一种视频编码方法,包括:确定与满足多个条件的编码单元相关联的第七参数的值,其中第七参数指示双向预测校正是否被启用;响应于与编码单元相关联的第七参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。
32.根据条款31所述的方法,其中多个条件包括:确定编码单元的两个参考图片列表;确定两个参考图片列表中的所有参考图片是否按显示次序位于与编码单元相关联的当前图片之前;以及响应于两个参考图片列表中的所有参考图片按显示次序位于与编码单元相关联的当前图片之前,确定编码单元满足多个条件。33.根据条款31所述的方法,还包括:确定与编码单元相关联的第八参数的值,其中第八参数指示对编码单元执行双向预测校正方法中的一种。34.一种视频处理设备,包括:存储指令集的存储器;和一个或多个处理器,一个或多个处理器被配置为执行指令集以使设备执行:从比特流解码获得用于编码单元的第一参数,并基于第一参数确定用于编码单元的候选;基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;以及响应于与编码单元相关联的第二参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。35.根据条款34所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:确定与编码单元相关联的第二参数的值等于与候选相关联的第二参数的值。36.根据条款34所述的设备,其中一个或多个处理器被配置为执行指令集以使装置进一步执行:基于与候选相关联的第三参数的值确定与编码单元相关联的第三参数的值,其中第三参数指示执行双向预测校正方法中的一种。37.根据条款34至36中任一条款所述的设备,其中候选是tmvp、smvp、mvap、hmvp、umve、interpf、仿射继承、仿射构建或零仿射候选中的一个。38.根据条款34和37中任一条款所述的设备,其中候选是tmvp、mvap或零仿射候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:将与编码单元相关联的第二参数的值设置为禁用,并且对于该编码单元禁用双向预测校正。39.根据条款34和37中任一条款所述的设备,其中候选是仿射构建候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:确定用于编码单元的多个控制点,其中多个控制点包括至少第一控制点;确定与编码单元相关联的第二参数的值和第三参数的值分别等于与第一控制点相关联的第二参数的值和第三参数的值。40.根据条款34至39中任一条款所述的设备,其中第二参数是标志,并且第三参数是指标。41.一种视频解码设备,包括:存储指令集的存储器;和
一个或多个处理器,一个或多个处理器被配置为执行指令集以使设备执行:基于与亮度编码单元相关联的第四参数的值确定与色度编码单元相关联的第四参数的值,其中第四参数指示双向预测校正是否被启用;响应于与色度编码单元相关联的第四参数的值指示双向预测校正被启用,对色度编码单元执行双向预测校正。42.根据条款41所述的设备,其中亮度编码单元是色度编码单元的共置块。43.根据条款41所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:基于与亮度编码单元相关联的第五参数的值,确定与色度编码单元相关联的第五参数的值,其中第五参数指示对色度编码单元执行双向预测校正方法中的一种。44.根据条款41至43中任一条款所述的设备,其中:从比特流解码获得与亮度编码单元相关联的第四参数和第五参数。45.根据条款41至43中任一条款所述的设备,其中:从由从比特流解码获得的第六参数确定的候选继承与亮度编码单元相关联的第四参数和第五参数。46.一种视频解码设备,包括:存储指令集的存储器;和一个或多个处理器,一个或多个处理器被配置为执行指令集以使设备执行:确定与满足多个条件的编码单元相关联的第七参数的值,其中第七参数指示双向预测校正是否被启用;响应于与编码单元相关联的第七参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。47.根据条款46所述的设备,其中多个条件包括:确定编码单元的两个参考图片列表;确定两个参考图片列表中的参考图片是否按显示次序位于与编码单元相关联的当前图片之前;以及响应于两个参考图片列表中的参考图片按显示次序位于与编码单元相关联的当前图片之前,确定编码单元满足多个条件。48.根据条款46所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:确定与编码单元相关联的第八参数的值,其中第八参数指示对编码单元执行双向预测校正方法中的一种。49.根据条款46所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:获得编码单元的第一预测与第二预测,其中使用编码单元的运动来预测第一预测和第二预测;通过将校正强度因子应用于第一预测和第二预测之间的差来确定第三预测;以及通过对第一预测和第二预测进行平均计算并再与第三预测相加,来使用第一预
测、第二预测和第三预测对编码单元进行解码。50.根据权利要求49所述的设备,其中第一预测与第二预测之间的差是以下中的一个:第一预测与第二预测之间的差值等于第一预测减去第二预测;或第一预测与第二预测之间的差值等于第二预测减去第一预测。51.根据条款49所述的设备,其中校正强度因子是1/8。52.一种视频编码设备,包括:存储指令集的存储器;和一个或多个处理器,一个或多个处理器被配置为执行指令集以使设备执行:确定用于编码单元的候选;基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;响应于与编码单元相关联的第二参数的值指示双向预测校正被启用,使用双向预测校正对编码单元进行编码;以及将与候选相关联的第一参数编码到比特流。53.根据条款52所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:确定与编码单元相关联的第二参数的值等于与候选相关联的第二参数的值。54.根据条款52所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:基于与候选相关联的第三参数的值确定与编码单元相关联的第三参数的值,其中第三参数指示执行双向预测校正方法中的一种。55.根据条款52至54中任一条款所述的设备,其中候选是tmvp、smvp、mvap、hmvp、umve、interpf、仿射继承、仿射构建或零仿射候选中的一个。56.根据条款55所述的设备,其中候选是tmvp、mvap或零仿射候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:将与编码单元相关联的第二参数的值设置为禁用,并且对于编码单元禁用双向预测校正。57.根据条款52和55中任一条款所述的设备,其中候选是仿射构建候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:确定用于编码单元的多个控制点,其中多个控制点包括至少第一控制点;确定与编码单元相关联的第二参数的值和第三参数的值分别等于与第一控制点相关联的第二参数的值和第三参数的值。58.根据条款52至57中任一条款所述的设备,其中第二参数是标志,并且第三参数是指标。59.一种视频编码装置,包括:存储指令集的存储器;和一个或多个处理器,一个或多个处理器被配置为执行指令集以使设备执行:基于与亮度编码单元相关联的第四参数的值确定与色度编码单元相关联的第四
参数的值,其中第四参数指示双向预测校正是否被启用;响应于与色度编码单元相关联的第四参数的值指示双向预测校正被启用,对色度编码单元执行双向预测校正。60.根据条款59所述的设备,其中亮度编码单元是色度编码单元的共置块。61.根据条款59所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:基于与亮度编码单元相关联的第五参数的值,确定与色度编码单元相关联的第五参数的值,其中第五参数指示对色度编码单元执行双向预测校正方法中的一种。62.根据条款59至61中任一条款所述的设备,其中将与亮度编码单元相关联的第四参数和第五参数编码到比特流。63.根据条款59至61中任一条款所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:确定用于亮度编码单元的候选;将与亮度编码单元相关联的第四参数和第五参数继承给候选,以及将与候选相关联的第六参数编码到比特流。64.一种视频编码设备,包括:确定与满足多个条件的编码单元相关联的第七参数的值,其中第七参数指示双向预测校正是否被启用;以及响应于与编码单元相关联的第七参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。65.根据条款64所述的设备,其中多个条件包括:确定编码单元的两个参考图片列表;确定两个参考图片列表中的所有参考图片是否按显示次序位于与编码单元相关联的当前图片之前;以及响应于两个参考图片列表中的所有参考图片按显示次序位于与编码单元相关联的当前图片之前,确定编码单元满足多个条件。66.根据条款64所述的设备,其中一个或多个处理器被配置为执行指令集以使设备进一步执行:确定与编码单元相关联的第八参数的值,其中第八参数指示对编码单元执行双向预测校正方法中的一种。67.一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质存储有指令集,该指令集可由计算机的至少一个处理器执行以使计算机执行视频解码方法,方法包括:从比特流解码获得用于编码单元的第一参数,并基于第一参数确定用于编码单元的候选;基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;以及响应于与编码单元相关联的第二参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。
68.根据条款67所述的非瞬时性计算机可读介质,其中至少一个处理器被配置为执行指令集以使计算机进一步执行:确定与编码单元相关联的第二参数的值等于与候选相关联的第二参数的值。69.根据条款67所述的非瞬时性计算机可读介质,其中至少一个处理器被配置为执行指令集以使计算机进一步执行:基于与候选相关联的第三参数的值确定与编码单元相关联的第三参数的值,其中第三参数指示执行双向预测校正方法中的一种。70.根据权利要求67至69中任一项所述的非瞬时性计算机可读介质,其中候选是tmvp、smvp、mvap、hmvp、umve、interpf、仿射继承、仿射构建或零仿射候选中的一个。71.根据条款67和70中任一条款所述的非瞬时性计算机可读介质,其中候选是tmvp、mvap或零仿射候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:将与编码单元相关联的第二参数的值设置为禁用,并且对于编码单元禁用双向预测校正。72.根据条款67和70中任一条款所述的非瞬时性计算机可读介质,其中候选是仿射构建候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:确定用于编码单元的多个控制点,其中多个控制点包括至少第一控制点;确定与编码单元相关联的第二参数的值和第三参数的值分别等于与第一控制点相关联的第二参数的值和第三参数的值。73.根据条款67至72中任一条款的非瞬时性计算机可读介质,其中第二参数是标志,并且第三参数是指标。74.一种非瞬时性计算机可读介质,该非瞬时性计算机可读介质存储有指令集,该指令集可由计算机的至少一个处理器执行以使计算机执行视频解码方法,方法包括:基于与亮度编码单元相关联的第四参数的值确定与色度编码单元相关联的第四参数的值,其中第四参数指示双向预测校正是否被启用;以及响应于与色度编码单元相关联的第四参数的值指示双向预测校正被启用,对色度编码单元执行双向预测校正。75.根据条款74所述的非瞬时性计算机可读介质,其中亮度编码单元是色度编码单元的共置块。76.根据条款74所述的非瞬时性计算机可读介质,还包括:基于与亮度编码单元相关联的第五参数的值,确定与色度编码单元相关联的第五参数的值,其中第五参数指示对色度编码单元执行双向预测校正方法中的一种。77.根据条款74至76中任一条款所述的非瞬时性计算机可读介质,其中:从比特流解码获得与亮度编码单元相关联的第四参数和第五参数。78.根据条款74至76中任一条款所述的非瞬时性计算机可读介质,其中:从由从比特流解码获得的第六参数确定的候选继承与亮度编码单元相关联的第四参数和第五参数。79.一种非瞬时性计算机可读介质,该非瞬时性计算机可读介质存储有指令集,该
指令集可由计算机的至少一个处理器执行以使计算机执行视频解码方法,方法包括:确定与满足多个条件的编码单元相关联的第七参数的值,其中第七参数指示双向预测校正是否被启用;以及响应于与编码单元相关联的第七参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。80.根据条款79所述的非瞬时性计算机可读介质,其中多个条件包括:确定编码单元的两个参考图片列表;确定两个参考图片列表中的参考图片是否按显示次序位于与编码单元相关联的当前图片之前;以及响应于两个参考图片列表中的参考图片按显示次序位于与编码单元相关联的当前图片之前,确定编码单元满足多个条件。81.根据条款79所述的非瞬时性计算机可读介质,还包括:确定与编码单元相关联的第八参数的值,其中第八参数指示对编码单元执行双向预测校正方法中的一种。82.根据条款79所述的非瞬时性计算机可读介质,还包括:获得编码单元的第一预测与第二预测,其中使用编码单元的运动来预测第一预测和第二预测;通过将校正强度因子应用于第一预测和第二预测之间的差来确定第三预测;以及通过对第一预测和第二预测进行平均计算并与第三预测相加,来使用第一预测、第二预测和第三预测对编码单元进行解码。83.根据条款82所述的非瞬时性计算机可读介质,其中第一预测和第二预测之间的差是以下中的一个:第一预测与第二预测之间的差值等于第一预测减去第二预测;或第一预测与第二预测之间的差值等于第二预测减去第一预测。84.根据条款82所述的非瞬时性计算机可读介质,其中校正强度因子是1/8。85.一种非瞬时性计算机可读介质,该非瞬时性计算机可读介质存储有指令集,该指令集可由计算机的至少一个处理器执行以使计算机执行视频编码方法,方法包括:确定用于编码单元的候选;基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值,其中第二参数指示双向预测校正是否被启用;响应于与编码单元相关联的第二参数的值指示双向预测校正被启用,用双向预测校正对编码单元进行编码;以及将与候选相关联的第一参数编码到比特流。86.根据条款85所述的非瞬时性计算机可读介质,还包括:确定与编码单元相关联的第二参数的值等于与候选相关联的第二参数的值。87.根据条款85所述的非瞬时性计算机可读介质,其中至少一个处理器被配置为执行指令集以使计算机进一步执行:基于与候选相关联的第三参数的值确定与编码单元相关联的第三参数的值,其中第三参数指示执行双向预测校正方法中的一种。
88.根据条款85至87中任一条款所述的非瞬时性计算机可读介质,其中候选是tmvp、smvp、mvap、hmvp、umve、interpf、仿射继承、仿射构建或零仿射候选中的一个。89.根据条款88所述的非瞬时性计算机可读介质,其中候选为tmvp、mvap或零仿射候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:将与编码单元相关联的第二参数的值设置为禁用,并且对于编码单元禁用双向预测校正。90.根据条款85和88中任一条款所述的非瞬时性计算机可读介质,其中候选是仿射构建候选,基于与候选相关联的第二参数的值确定与编码单元相关联的第二参数的值还包括:确定用于编码单元的多个控制点,其中多个控制点包括至少第一控制点;确定与编码单元相关联的第二参数的值和第三参数的值分别等于与第一控制点相关联的第二参数的值和第三参数的值。91.根据条款85至90中任一条款所述的非瞬时性计算机可读介质,其中第二参数是标志,并且第三参数是指标。92.一种非瞬时性计算机可读介质,该非瞬时性计算机可读介质存储有指令集,该指令集可由计算机的至少一个处理器执行以使计算机执行视频编码方法,方法包括:基于与亮度编码单元相关联的第四参数的值确定与色度编码单元相关联的第四参数的值,其中第四参数指示双向预测校正是否被启用;响应于与色度编码单元相关联的第四参数的值指示双向预测校正被启用,对色度编码单元执行双向预测校正。93.根据条款92所述的非瞬时性计算机可读介质,其中亮度编码单元是色度编码单元的共置块。94.根据条款92所述的非瞬时性计算机可读介质,还包括:基于与亮度编码单元相关联的第五参数的值,确定与色度编码单元相关联的第五参数的值,其中第五参数指示对色度编码单元执行双向预测校正方法中的一种。95.根据条款92至94中任一条款所述的非瞬时性计算机可读介质,其中与亮度编码单元相关联的第四参数和第五参数被编码到比特流。96.根据条款92至94中任一条款的非瞬时性计算机可读介质,还包括:确定用于亮度编码单元的候选;将与亮度编码单元相关联的第四参数和第五参数继承给候选,以及将与候选相关联的第六参数编码到比特流。97.一种非瞬时性计算机可读介质,该非瞬时性计算机可读介质存储有指令集,该指令集可由计算机的至少一个处理器执行以使计算机执行视频解码方法,方法包括:确定与满足多个条件的编码单元相关联的第七参数的值,其中第七参数指示双向预测校正是否被启用;响应于与编码单元相关联的第七参数的值指示双向预测校正被启用,对编码单元执行双向预测校正。98.根据条款97所述的非瞬时性计算机可读介质,其中多个条件包括:确定编码单元的两个参考图片列表;
确定两个参考图片列表中的所有参考图片是否按显示次序位于与编码单元相关联的当前图片之前;以及响应于两个参考图片列表中的所有参考图片按显示次序位于与编码单元相关联的当前图片之前,确定编码单元满足多个条件。99.根据条款97所述的非瞬时性计算机可读介质,还包括:确定与编码单元相关联的第八参数的值,其中第八参数指示对编码单元执行双向预测校正方法中的一种。
[0189]
在前述说明书中,已经参考可以随实现方式而变化的许多具体细节描述了实施例。可以对所描述的实施例进行某些调整和修改。考虑到本文公开的本公开的说明书和实践,其他实施例对于本领域技术人员来说是显而易见的。说明书和实施例仅是示例性的,本公开的真实范围和精神由所附权利要求书限定。还意图是,图中所示的步骤的顺序仅用于说明性目的,并且不意图限于任何特定的步骤顺序。因此,本领域技术人员可以理解,在实现相同方法时,这样的步骤可以以不同的顺序执行。
[0190]
在附图和说明书中,已经公开了示例性实施例。然而,可以对这样的实施例进行许多变化和修改。因此,尽管采用了特定术语,但是它们仅在一般和描述性意义上使用,而不是为了限制的目的。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献