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

用于执行BDOF的图像编码/解码方法和装置及用于发送比特流的方法与流程

2022-04-16 21:46:08 来源:中国专利 TAG:

用于执行bdof的图像编码/解码方法和装置及用于发送比特流的方法
技术领域
1.本公开涉及图像编码/解码方法和设备以及发送比特流的方法,更具体地,涉及一种用于执行双向光流(bdof)的图像编码/解码方法和设备以及发送通过本公开的图像编码方法/设备生成的比特流的方法。


背景技术:

2.最近,各个领域对高分辨率和高质量图像,例如高清(hd)图像和超高清(uhd)图像的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
3.因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。


技术实现要素:

4.技术问题
5.本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
6.本公开的另一个目的是提供一种用于推导bdof偏移的图像编码/解码方法和设备。
7.本公开的另一个目的是提供一种用于执行bdof的图像编码/解码方法和设备。
8.本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
9.本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
10.本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
11.本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
12.技术方案
13.根据本公开的一方面的图像解码方法可以包括:基于当前块的运动信息来推导当前块的预测样本;确定是否对当前块应用双向光流(bdof);基于对当前块应用bdof,推导当前块中的当前子块的梯度;基于梯度来推导述当前子块的运动细化(v
x
,vy);基于梯度和运动细化来推导bdof偏移;以及基于当前块的预测样本和bdof偏移来推导当前块的细化预测样本。
14.在根据本公开的图像解码方法中,推导梯度的步骤可以包括使当前块的预测样本右移第一移位,并且不管当前块的比特深度如何,第一移位可以被设定为固定值。
15.在根据本公开的图像解码方法中,第一移位可为6。
16.在根据本公开的图像解码方法中,推导运动细化(v
x
,vy)的步骤可以包括:基于当前块的预测样本来推导第一中间参数diff;以及基于梯度来推导第二中间参数temph和tempv。
17.在根据本公开的图像解码方法中,推导第一中间参数diff的步骤可以包括使当前块的预测样本右移第二移位,并且不管当前块的比特深度如何,第二移位可以被设定为固定值。
18.在根据本公开的图像解码方法中,第二移位可为4。
19.在根据本公开的图像解码方法中,推导第二中间参数temph和tempv的步骤可以包括使基于梯度推导的值右移第三移位,并且不管当前块的比特深度如何,第三移位可以被设定为固定值。
20.在根据本公开的图像解码方法中,第三移位可为1。
21.在根据本公开的图像解码方法中,运动细化(v
x
,vy)可以被限幅在预定范围内。
22.在根据本公开的图像解码方法中,不管当前块的比特深度如何,运动细化(v
x
,vy)被限幅的预定范围可以被设定为固定范围。
23.在根据本公开的图像解码方法中,推导bdof偏移的步骤可以包括使基于梯度和运动细化推导的值右移预定移位,并且不管当前块的比特深度如何,预定移位可以被设定为固定范围。
24.在根据本公开的图像解码方法中,推导当前块的细化预测样本的步骤可以包括将bdof偏移限幅在预定范围内,并且预定范围可以基于当前块的比特深度来设定。
25.根据本公开的另一方面的图像解码设备可以包括存储器和至少一个处理器。所述至少一个处理器可以基于当前块的运动信息来推导当前块的预测样本;确定是否对当前块应用双向光流(bdof);基于对当前块应用bdof,推导当前块中的当前子块的梯度;基于梯度来推导当前子块的运动细化(v
x
,vy);基于梯度和运动细化来推导bdof偏移;并且基于当前块的预测样本和bdof偏移来推导当前块的细化预测样本。
26.根据本公开的另一方面的图像编码方法可以包括:基于当前块的运动信息来推导当前块的预测样本;确定是否对当前块应用双向光流(bdof);基于对当前块应用bdof,推导当前块中的当前子块的梯度;基于梯度来推导当前子块的运动细化(v
x
,vy);基于梯度和运动细化来推导bdof偏移;以及基于当前块的预测样本和bdof偏移来推导当前块的细化预测样本。
27.另外,根据本公开的另一方面的发送方法可以发送通过本公开的图像编码设备或方法生成的比特流。
28.此外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
29.以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
30.有益效果
31.根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
32.此外,根据本公开,能够提供一种用于推导bdof偏移的图像编码/解码方法和设备。
33.此外,根据本公开,能够提供一种用于执行bdof的图像编码/解码方法和设备。
34.此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
35.此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
36.此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
37.本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
38.图1是示意性地例示本公开的实施方式适用于的视频编码系统的视图。
39.图2是示意性地例示本公开的实施方式适用于的图像编码设备的视图。
40.图3是示意性地例示本公开的实施方式适用于的图像解码设备的视图。
41.图4是例示基于帧间预测的视频/图像编码方法的流程图。
42.图5是例示根据本公开的帧间预测单元180的配置的视图。
43.图6是例示基于帧间预测的视频/图像解码方法的流程图。
44.图7是例示根据本公开的帧间预测单元260的配置的视图。
45.图8是例示可用作空间合并候选的邻近块的视图。
46.图9是示意性地例示根据本公开的示例的合并候选列表构建方法的视图。
47.图10是例示用于对空间候选执行的冗余检查的候选对的视图。
48.图11是例示缩放时间候选的运动向量的方法的视图。
49.图12是例示推导时间候选的位置的视图。
50.图13是示意性地例示根据本公开的示例的运动向量预测子候选列表配置方法的视图。
51.图14是例示扩展以执行bdof的cu的视图。
52.图15是例示通过应用bdof来推导当前块的预测样本的处理的视图。
53.图16是例示根据本公开的实施方式的bdof处理的输入和输出的视图。
54.图17是例示根据本公开的实施方式的用于bdof处理的变量的视图。
55.图18是例示根据本公开的实施方式的基于是否应用bdof生成当前cu中的各个子块的预测样本的方法的视图。
56.图19是例示根据本公开的实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。
57.图20是例示根据本公开的实施方式的推导运动细化(vx,vy),推导bdof偏移并生成当前子块的预测样本的方法的视图。
58.图21是例示根据本公开的另一实施方式的用于bdof处理的变量的视图。
59.图22是例示根据本公开的另一实施方式的推导当前子块的梯度、自相关和互相关
的方法的视图。
60.图23是例示根据本公开的另一实施方式的推导运动细化(vx,vy),推导bdof偏移并生成当前子块的预测样本的方法的视图。
61.图24是例示根据本公开的另一实施方式的用于bdof处理的变量的视图。
62.图25是例示根据本公开的另一实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。
63.图26是例示根据本公开的另一实施方式的用于bdof处理的变量的视图。
64.图27是例示根据本公开的另一实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。
65.图28是示出本公开的实施方式可适用于的内容流系统的视图。
具体实施方式
66.以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
67.在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
68.在本公开中,当一个组件“连接”、“联接”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
69.在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
70.在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
71.在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
72.本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
73.在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(ctu)。
74.在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以
仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
75.在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,m
×
n块可以包括m列n行的样本(或样本阵列)或变换系数的集合(或阵列)。
76.在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
77.在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“a/b”和“a,b”可以意指“a和/或b”。此外,“a/b/c”和“a/b/c”可以意指“a、b和/或c中的至少一个”。
78.在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“a或b”可以包括1)仅“a”,2)仅“b”,或3)“a和b”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
79.视频编码系统的概述
80.图1是示意性地示出根据本公开的视频编码系统的视图。
81.根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。
82.根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
83.视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
84.编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
85.发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如usb、sd、cd、dvd、蓝光、hdd、ssd等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
86.解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量
化、逆变换和预测来解码视频/图像。
87.渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
88.图像编码设备的概述
89.图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。
90.如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
91.在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(dpb)并且可以由数字存储介质配置。
92.图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分割编码树单元(ctu)或最大编码单元(lcu)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
93.预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
94.帧内预测单元185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
95.帧间预测单元180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在
的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考画面可以被称为并置画面(colpic)。例如,帧间预测单元180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(mvp)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
96.预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。此外,预测单元可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(scc)。ibc是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用ibc时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。
97.预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
98.变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图形表示时从图形获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的正方形像素块或者可以应用于具有可变大小而不是正方形的块。
99.量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
100.熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单位进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程
被编码并且被包括在比特流中。
101.比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括usb、sd、cd、dvd、蓝光、hdd、ssd等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
102.从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
103.加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
104.此外,如下所述,亮度映射与色度缩放(lmcs)适用于画面编码处理。
105.滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
106.传输到存储器170的修改的重构画面可以用作帧间预测单元180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
107.存储器170的dpb可以存储修改的重构画面以用作帧间预测单元180中的参考画面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
108.图像解码设备的概述
109.图3是示意性地示出本公开的实施方式可适用的图像解码设备的视图。
110.如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
111.根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(dpb)或者可以由数字存储介质配置。
112.已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由
图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
113.图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于关于参数集的信息和/或通用约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、cavlc或cabac的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,cabac熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,cabac熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),并且在熵解码器210中对其执行熵解码的残差值,即,量化变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将熵解码器210解码的信息当中关于滤波的信息提供给滤波器240。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。
114.此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元160或帧内预测单元265中的至少一个。
115.解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
116.逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
117.预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
118.与在图像编码设备100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
119.帧内预测单元265可以通过参考当前画面中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
120.帧间预测单元260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
121.加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。加法器155的描述同样适用于加法器235。
122.此外,如下所述,亮度映射与色度缩放(lmcs)适用于画面解码处理。
123.滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
124.存储在存储器250的dpb中的(修改的)重构画面可以用作帧间预测单元260中的参考画面。存储器250可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测单元265。
125.在本公开中,在图像编码设备100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测单元260和帧内预测单元265。
126.帧间预测的概述
127.图像编码设备/图像解码设备可以以块为单位执行帧间预测以推导预测样本。帧间预测可以意指以依赖于当前画面以外的画面的数据元素的方式推导的预测。当帧间预测应用于当前块时,可以基于参考画面上由运动向量指定的参考块来推导当前块的预测块。
128.在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性来推导当前块的运动信息,并且可以以块、子块或样本为单位推导运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测类型信息。这里,帧间预测类型信息可以意指帧间预测的方向信息。帧间预测类型信息可以指示使用l0预测、l1预测或双预测之一来预测当前块。
129.当对当前块应用帧间预测时,当前块的邻近块可以包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。包括当前块的参考块的参考画面和包括时间邻近块的参考画面可以是相同或不同的。时间邻近块可以被称为并置参考块或并置cu
(colcu),并且包括时间邻近块的参考画面可以被称为并置画面(colpic)。
130.此外,可以基于当前块的邻近块来构建运动信息候选列表,并且在这种情况下,可以用信号通知指示使用哪个候选的标志或索引信息以便推导当前块的运动向量和/或参考画面索引。
131.根据帧间预测类型,运动信息可以包括l0运动信息和/或l1运动信息。l0方向上的运动向量可以被定义为l0运动向量或mvl0,l1方向上的运动向量可以被定义为l1运动向量或mvl1。基于l0运动向量的预测可以被定义为l0预测,基于l1运动向量的预测可以被定义为l1预测,基于l0运动向量和l1运动向量二者的预测可以被定义为双预测。这里,l0运动向量可以意指与参考画面列表l0关联的运动向量,l1运动向量可以意指与参考画面列表l1关联的运动向量。
132.参考画面列表l0可以包括按输出顺序在当前画面之前的画面作为参考画面,参考画面列表l1可以包括按输出顺序在当前画面之后的画面。先前画面可以被定义为前向(参考)画面,后续画面可以被定义为后向(参考)画面。此外,参考画面列表l0还可以包括按输出顺序在当前画面之后的画面作为参考画面。在这种情况下,在参考画面列表l0内,可以首先对先前画面进行索引,然后可以对后续画面进行索引。参考画面列表l1还可以包括按输出顺序在当前画面之前的画面作为参考画面。在这种情况下,在参考画面列表l1内,可以首先对后续画面进行索引,然后可以对先前画面进行索引。这里,输出顺序可以对应于画面顺序计数(poc)顺序。
133.图4是例示了基于帧间预测的视频/图像编码方法的流程图。
134.图5是例示了根据本公开的帧间预测器180的配置的视图。
135.图6的编码方法可以由图2的图像编码设备执行。具体地,步骤s410可以由帧间预测器180执行,并且步骤s420可以由残差处理器执行。具体地,步骤s420可以由减法器115执行。步骤s430可以由熵编码器190执行。步骤s630的预测信息可以由帧间预测器180推导,并且步骤s630的残差信息可以由残差处理器推导。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。如上所述,残差样本可以通过图像编码设备的变换器120被推导为变换系数,并且变换系数可以通过量化器130被推导为量化变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编码过程来编码。
136.图像编码设备可以针对当前块执行帧间预测(s410)。图像编码设备可以推导当前块的帧间预测模式和运动信息并且生成当前块的预测样本。这里,可以同时地执行帧间预测模式确定、运动信息推导和预测样本生成过程或者可以在其它过程之前执行其任何一个。例如,如图5所示,图像编码设备的帧间预测单元180可以包括预测模式确定单元181、运动信息推导单元182和预测样本推导单元183。预测模式确定单元181可以确定当前块的预测模式,运动信息推导单元182可以推导当前块的运动信息,并且预测样本推导单元183可以推导当前块的预测样本。例如,图像编码设备的帧间预测单元180可以通过运动估计在参考画面的预定区域(搜索区域)内搜索与当前块相似的块,并且推导其与当前块的差等于或小于预定准则或最小值的参考块。基于此,可以推导指示参考块位于其中的参考画面的参考画面索引,并且可以基于参考块与当前块之间的位置差来推导运动向量。图像编码设备可以在各种帧间预测模式当中确定应用于当前块的模式。图像编码设备可以针对各种预测模式比较速率失真(rd)成本,并且确定当前块的最佳帧间预测模式。然而,由图像编码设备
确定当前块的帧间预测模式的方法不限于上述示例,并且可以使用各种方法。
137.例如,当前块的帧间预测模式可以被确定为合并模式、合并跳过模式、运动向量预测(mvp)模式、对称运动向量差(smvd)模式、仿射模式、基于子块的合并模式、自适应运动向量分辨率(amvr)模式、基于历史的运动向量预测子(hmvp)模式、成对平均合并模式、以运动向量差的合并模式(mmvd)模式、解码器侧运动向量细化(dmvr)模式、组合帧间和帧内预测(ciip)模式或几何分割模式(gpm)中的至少一种。
138.例如,当跳过模式或合并模式应用于当前块时,图像编码设备可以从当前块的邻近块推导合并候选,并且使用所推导的合并候选来构建合并候选列表。另外,图像编码设备可以在通过合并候选列表中包括的合并候选指示的参考块当中推导其与当前块的差等于或小于预定准则或最小值的参考块。在这种情况下,可以选择与所推导的参考块关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且将其用信号通知给图像解码设备。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。
139.作为另一示例,当mvp模式应用于当前块时,图像编码设备可以从当前块的邻近块推导运动向量预测子(mvp)候选,并且使用所推导的mvp候选来构建mvp候选列表。另外,图像编码设备可以使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计推导的参考块的运动向量可以被用作当前块的运动向量,在mvp候选当中具有与当前块的运动向量的差最小的运动向量的mvp候选可以是所选择的mvp候选。可以推导作为通过从当前块的运动向量减去mvp所获得的差的运动向量差(mvd)。在这种情况下,可以将指示所选择的mvp候选的索引信息和关于mvd的信息用信号通知给图像解码设备。另外,当应用mvp模式时,可以将参考画面索引的值构建为参考画面索引信息并且单独地用信号通知给图像解码设备。
140.图像编码设备可以基于预测样本来推导残差样本(s420)。图像编码设备可以通过当前块的原始样本与预测样本之间的比较来推导残差样本。例如,可以通过从原始样本减去对应的预测样本来推导残差样本。
141.图像编码设备可以对包括预测信息和残差信息的图像信息进行编码(s430)。图像编码设备可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)和关于运动信息的信息作为与预测过程有关的信息。在预测模式信息当中,跳过标志指示跳过模式是否应用于当前块,而合并标志指示合并模式是否应用于当前块。另选地,预测模式信息可以指示多种预测模式中的一种,例如模式索引。当跳过标志和合并标志为0时,可以确定mvp模式应用于当前块。关于运动信息的信息可以包括作为用于推导运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。在候选选择信息当中,合并索引可以在合并模式应用于当前块时用信号通知,并且可以是用于选择合并候选列表中包括的合并候选中的一个的信息。在候选选择信息当中,mvp标志或mvp索引可以在mvp模式应用于当前块时用信号通知,并且可以是用于选择mvp候选列表中的mvp候选中的一个的信息。具体地,mvp标志可以使用语法元素mvp_10_flag或mvp_11_flag来用信号通知。另外,关于运动信息的信息可以包括关于上述mvd的信息和/或参考画面索引信息。另外,关于运动信息的信息可以包括指示是应用l0预测、l1预测还是双预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
142.输出比特流可以被存储在(数字)存储介质中并且被发送到图像解码设备或者可以经由网络被发送到图像解码设备。
143.如上所述,图像编码设备可以基于参考样本和残差样本来生成重构画面(包括重构样本和重构块的画面)。这是为了图像编码设备推导与由图像解码设备执行的预测结果相同的预测结果,从而提高编码效率。因此,图像编码设备可以将重构画面(或重构样本和重构块)存储在存储器中并且将其用作用于帧间预测的参考画面。如上所述,环路内滤波过程还适用于重构画面。
144.图6是例示了基于帧间预测的视频/图像解码方法的流程图。
145.图7是例示了根据本公开的帧间预测单元260的配置的视图。
146.图像解码设备可以执行与由图像编码设备执行的操作对应的操作。图像解码设备可以基于接收到的预测信息来针对当前块执行预测并且推导预测样本。
147.图6的解码方法可以由图3的图像解码设备执行。步骤s610至s630可以由帧间预测单元260执行,并且步骤s610的预测信息和步骤s640的残差信息可以由熵解码器210从比特流获得。图像解码设备的残差处理器可以基于残差信息来推导当前块的残差样本(s640)。具体地,残差处理器的解量化器220可以基于根据残差信息而推导的量化变换系数来执行解量化以推导变换系数,并且残差处理器的逆变换器230可以针对变换系数执行逆变换以推导当前块的残差样本。步骤s650可以由加法器235或重构器执行。
148.具体地,图像解码设备可以基于所接收到的预测信息来确定当前块的预测模式(s610)。图像解码设备可以基于预测信息中的预测模式信息来确定哪种帧间预测模式应用于当前块。
149.例如,可以基于跳过标志来确定跳过模式是否应用于当前块。另外,可以基于合并标志来确定是合并模式还是mvp模式应用于当前块。另选地,可以基于模式索引来选择各种帧间预测模式候选中的一个。帧间预测模式候选可以包括跳过模式、合并模式和/或mvp模式或者可以包括将在下面描述的各种帧间预测模式。
150.图像解码设备可以基于所确定的帧间预测模式来推导当前块的运动信息(s620)。例如,当跳过模式或合并模式应用于当前块时,图像解码设备可以构建将在下面描述的合并候选列表,并且选择合并候选列表中包括的合并候选中的一个。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。例如,可以将所选择的合并候选的运动信息用作当前块的运动信息。
151.作为另一示例,当mvp模式应用于当前块时,图像解码设备可以构建mvp候选列表,并且使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于mvd的信息来推导当前块的mvd,并且可以基于当前块的mvp和mvd来推导当前块的运动向量。另外,可以基于参考画面索引信息来推导当前块的参考画面索引。可以将当前块的参考画面列表中通过参考画面索引指示的画面推导为被参考以进行当前块的帧间预测的参考画面。
152.图像解码设备可以基于当前块的运动信息来生成当前块的预测样本(s630)。在这种情况下,可以基于当前块的参考画面索引来推导参考画面,并且可以使用参考画面上通过当前块的运动向量指示的参考块的样本来推导当前块的预测样本。在一些情况下,还可
以针对当前块的预测样本中的全部或一些执行预测样本滤波过程。
153.例如,如图7所示,图像解码设备的帧间预测单元260可以包括预测模式确定单元261、运动信息推导单元262和预测样本推导单元263。在图像解码设备的帧间预测单元260中,预测模式确定单元261可以基于所接收到的预测模式信息来确定当前块的预测模式,运动信息推导单元262可以基于所接收到的运动信息来推导当前块的运动信息(运动向量和/或参考画面索引等),并且预测样本推导单元263可以推导当前块的预测样本。
154.图像解码设备可以基于所接收到的残差信息来生成当前块的残差样本(s640)。图像解码设备可以基于预测样本和残差样本来生成当前块的重构样本并且基于此来生成重构画面(s650)。此后,环路内滤波过程适用于如上所述的重构画面。
155.如上所述,帧间预测过程可以包括确定帧间预测模式的步骤、根据所确定的预测模式来推导运动信息的步骤、以及基于所推导的运动信息来执行预测(生成预测样本)的步骤。如上所述,帧间预测过程可以由图像编码设备和图像解码设备执行。
156.在下文中,将更详细地描述根据预测模式来推导运动信息的步骤。
157.如上所述,可以使用当前块的运动信息来执行帧间预测。图像编码设备可以通过运动估计过程来推导当前块的最佳运动信息。例如,图像编码设备可以按分数像素单元使用当前块的原始画面中的原始块来在参考画面中在预定搜索范围内搜索具有高相关性的相似参考块,并且使用其来推导运动信息。可以基于当前块与参考块之间的绝对差之和(sad)来计算块的相似度。在这种情况下,可以基于搜索区域中具有最小sad的参考块来推导运动信息。可以根据基于帧间预测模式的各种方法将所推导的运动信息用信号通知给图像解码设备。
158.当合并模式应用于当前块时,不直接发送当前块的运动信息,并且使用邻近块的运动信息来推导当前块的运动信息。因此,可以通过发送指示合并模式被使用的标志信息和指示哪个邻近块被用作合并候选的候选选择信息(例如,合并索引)来指示当前预测块的运动信息。在本公开中,由于当前块是预测执行单元,所以当前块可以被用作与当前预测块相同的含义,并且邻近块可以被用作与邻近预测块相同的含义。
159.图像编码设备可以搜索用于推导当前块的运动信息的合并候选块以执行合并模式。例如,可以使用最多五个合并候选块,但不限于此。可以在切片头或拼块组头中发送合并候选块的最大数量,但不限于此。在找到合并候选块之后,图像编码设备可以生成合并候选列表并且选择具有最小rd成本的合并候选块作为最终合并候选块。
160.本公开提供针对配置合并候选列表的合并候选块的各种实施方式。合并候选列表可以使用例如五个合并候选块。例如,可以使用四个空间合并候选和一个时间合并候选。
161.图8是例示了可用作空间合并候选的邻近块的视图。
162.图9是示意性地例示了根据本公开的示例的合并候选列表构建方法的视图。
163.图像编码/解码设备可以将通过搜索当前块的空间邻近块推导的空间合并候选插入到合并候选列表中(s910)。例如,如图8所示,空间邻近块可以包括当前块的左下角邻近块a0、左邻近块a1、右上角邻近块b0、上邻近块b1和左上角邻近块b2。然而,这是示例,并且除了上述空间邻近块之外,诸如右邻近块、下邻近块和右下邻近块的附加邻近块可以被进一步用作空间邻近块。图像编码/解码设备可以通过基于优先级搜索空间邻近块来检测可用块,并且推导所检测到的块的运动信息作为空间合并候选。例如,图像编码/解码设备可以
通过按a1、b1、b0、a0和b2的顺序搜索图8所示的五个块,并且依次对可用候选进行索引来构建合并候选列表。
164.图像编码/解码设备可以将通过搜索当前块的时间邻近块推导的时间合并候选插入到合并候选列表中(s920)。时间邻近块可以位于与当前块位于其中的当前画面不同的参考画面上。时间邻近块位于其中的参考画面可以被称为并置画面或col画面。可以按col画面上当前块的并置块的右下角邻近块和右下中心块的顺序搜索时间邻近块。此外,当应用运动数据压缩以便减少存储器负载时,可以将特定运动信息存储为col画面的每个预定存储单元的代表性运动信息。在这种情况下,不需要存储预定存储单元中的所有块的运动信息,从而获得运动数据压缩效果。在这种情况下,可以将预定存储单元预先确定为例如16
×
16样本单元或8
×
8样本单元,或者可以将预定存储单元的大小信息从图像编码设备用信号通知给图像解码设备。当应用运动数据压缩时,时间邻近块的运动信息可以用时间邻近块位于其中的预定存储单元的代表性运动信息替换。也就是说,在这种情况下,从实现方式的观点看,可以基于在基于时间邻近块的坐标(左上样本位置)算术右移了预定值之后覆盖算术左移位置的预测块(而不是位于时间邻近块的坐标上的预测块)的运动信息,来推导时间合并候选。例如,当预定存储单元是2n×2n
样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》n)《《n),(ytnb》》n)《《n))处的预测块的运动信息可以被用于时间合并候选。具体地,例如,当预定存储单元是16
×
16样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》4)《《4),(ytnb》》4)《《4))处的预测块的运动信息可以被用于时间合并候选。另选地,例如,当预定存储单元是8
×
8样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》3)《《3),(ytnb》》3)《《3))处的预测块的运动信息可以被用于时间合并候选。
165.再次参照图9,图像编码/解码设备可以检查当前合并候选数量是否小于合并候选的最大数量(s930)。合并候选的最大数量可以被预定义或者从图像编码设备用信号通知给图像解码设备。例如,图像编码设备可以生成关于合并候选的最大数量的信息并对其进行编码,并且将编码的信息以比特流的形式发送到图像解码设备。当满足合并候选的最大数量时,可以不执行后续候选添加过程s940。
166.当作为步骤s930的检查结果当前合并候选数量小于合并候选的最大数量时,图像编码/解码设备可以根据预定方法来推导附加合并候选,然后将附加合并候选插入到合并候选列表(s940)。例如,附加合并候选可以包括基于历史的合并候选、成对平均合并候选、atmvp、组合双预测合并候选(当当前切片/拼块组的切片/拼块组类型为b类型时)和/或零向量合并候选中的至少一个。
167.当作为步骤s930的检查结果当前合并候选数量不小于合并候选的最大数量时,图像编码/解码设备可以结束合并候选列表的构建。在这种情况下,图像编码设备可以从配置合并候选列表的合并候选当中选择最佳合并候选,并且将指示所选择的合并候选的候选选择信息(例如,合并候选索引或合并索引)用信号通知给图像解码设备。图像解码设备可以基于合并候选列表和候选选择信息来选择最佳合并候选。
168.如上所述,所选择的合并候选的运动信息可以被用作当前块的运动信息,并且可以基于当前块的运动信息来推导当前块的预测样本。图像编码设备可以基于预测样本来推导当前块的残差样本,并且将残差样本的残差信息用信号通知给图像解码设备。如上所述,
图像解码设备可以基于根据残差信息和预测样本而推导的残差样本来生成重构样本,并且基于其来生成重构画面。
169.当对当前块应用跳过模式时,可以使用与应用合并模式的情况相同的方法来推导当前块的运动信息。然而,当应用跳过模式时,对应块的残差信号被省略,并且因此预测样本可以被直接用作重构样本。例如,当cu_skip_flag的值为1时,可应用上述跳过模式。
170.以下,将描述在合并模式和/或跳过模式下推导空间候选的方法。空间候选可以表示上述空间合并候选。
171.可以基于空间邻近块来执行空间候选的推导。例如,可以从存在于图8所示的位置处的候选块推导最多四个空间候选。推导空间候选的顺序可以是a1-》b1-》b0-》a0-》b2。然而,推导空间候选的顺序不限于上述顺序,可以是例如b1-》a1-》b0-》a0-》b2。当前四个位置(上述示例中的a1、b1、b0和a0)中的至少一个不可用时,可以考虑顺序中的最后位置(上述示例中的位置b2)。在这种情况下,不可用的预定位置处的块可以包括属于与当前块不同的切片或拼块的对应块或作为帧内预测块的对应块。当从顺序中的第一位置(上述示例中的a1或b1)推导空间候选时,可以对后续位置的空间候选执行冗余检查。例如,当后续空间候选的运动信息与合并候选列表中已经包括的空间候选的运动信息相同时,后续空间候选可不被包括在合并候选列表中,从而改进编码效率。对后续空间候选执行的冗余检查可以对一些候选对而非所有可能候选对执行,从而降低计算复杂度。
172.图10是例示用于对空间候选执行的冗余检查的候选对的视图。
173.在图10所示的示例中,可以仅对位置a0处的空间候选执行对位置b0处的空间候选的冗余检查。另外,可以仅对位置b0处的空间候选执行对位置b1处的空间候选的冗余检查。另外,可以仅对位置a0处的空间候选执行对位置a1处的空间候选的冗余检查。最后,可以仅对位置a0和位置b0处的空间候选执行对位置b2处的空间候选的冗余检查。
174.在图10所示的示例中,推导空间候选的顺序为a0-》b0-》b1-》a1-》b2。然而,本公开不限于此,即使推导空间候选的顺序改变,如图10所示的示例中,可以仅对一些候选对执行冗余检查。
175.以下,将描述在合并模式和/或跳过模式的情况下推导时间候选的方法。时间候选可以表示上述时间合并候选。另外,时间候选的运动向量可以对应于mvp模式的时间候选。
176.在时间候选的情况下,仅一个候选可以被包括在合并候选列表中。在推导时间候选的过程中,可以缩放时间候选的运动向量。例如,可以基于属于并置参考画面(colpic)(以下称为“col画面”)的并置块(cu)(以下称为“col块”)来执行缩放。可以在切片头中明确地用信号通知用于推导col块的参考画面列表。
177.图11是例示缩放时间候选的运动向量的方法的视图。
178.在图11中,curr_cu和curr_pic分别表示当前块和当前画面,col_cu和col_pic分别表示col块和col画面。另外,curr_ref表示当前块的参考画面,col_ref表示col块的参考画面。另外,tb表示当前块的参考画面与当前画面之间的距离,td表示col块的参考画面与col画面之间的距离。tb和td可以表示与画面之间的poc(画面顺序计数)的差对应的值。可以基于tb和td来执行时间候选的运动向量的缩放。另外,时间候选的参考画面索引可以被设定为0。
179.图12是例示推导时间候选的位置的视图。
180.在图12中,粗实线的块表示当前块。可以从col画面中与图12的位置c0(右下位置)或c1(中心位置)对应的块推导时间候选。首先,可以确定位置c0是否可用,并且当位置c0可用时,可以基于位置c0来推导时间候选。当位置c0不可用时,可以基于位置c1来推导时间候选。例如,当col画面中位置c0处的块是帧内预测块或者位于当前ctu行之外时,可以确定位置c0不可用。
181.如上所述,当应用运动数据压缩时,可以为各个预定单元块存储col块的运动向量。在这种情况下,为了推导覆盖位置c0或位置c1的块的运动向量,可以修改位置c0或位置c1。例如,当预定单元块为8
×
8块并且位置c0或位置c1为(xcolci,ycolci)时,用于推导时间候选的位置可以被修改为((xcolci》》3)《《3,(ycolci》》3)《《3)。
182.以下,将描述在合并模式和/或跳过模式的情况下推导基于历史的候选的方法。基于历史的候选可以由基于历史的合并候选表示。
183.在空间候选和时间候选被添加到合并候选列表之后,基于历史的候选可以被添加到合并候选列表。例如,先前编码/解码的块的运动信息可以被存储在表中并用作当前块的基于历史的候选。该表可以在编码/解码处理期间存储多个基于历史的候选。该表可以在新ctu行开始时被初始化。将表初始化可以意指通过删除存储在表中的所有基于历史的候选来清空对应表。每当存在帧间预测块时,相关运动信息可以作为最后条目被添加到表。在这种情况下,帧间预测块可能不是基于子块预测的块。添加到表的运动信息可以用作新的基于历史的候选。
184.基于历史的候选的表可以具有预定大小。例如,该大小可为5。在这种情况下,该表可以存储最多五个基于历史的候选。当新的候选被添加到表时,可应用检查表中是否存在相同候选的冗余检查的有限先入先出(fifo)规则。如果表中已经存在相同候选,则可以从该表删除该相同候选并且所有后续基于历史的候选的位置可以前移。
185.可以在配置合并候选列表的过程中使用基于历史的候选。在这种情况下,最近包括在表中的基于历史的候选可以被依次检查并且位于合并候选列表的时间候选之后的位置。当基于历史的候选被包括在合并候选列表中时,可以执行与已经包括在合并候选列表中的空间候选或时间候选的冗余检查。如果已经包括在合并候选列表中的空间候选或时间候选与基于历史的候选交叠,则基于历史的候选可以不被包括在合并候选列表中。通过如下简化冗余检查,计算量可以减少。
186.用于生成合并候选列表的基于历史的候选的数量可以被设定为(n《=4)?m:(8-n)。在这种情况下,n可以表示已经包括在合并候选列表中的候选的数量,m可以表示包括在表中的可用的基于历史的候选的数量。即,当合并候选列表中包括4个或更少的候选时,用于生成合并候选列表的基于历史的候选的数量可为m,并且当合并候选列表中包括大于4的n个候选时,用于生成合并候选列表的基于历史的候选的数量可以被设定为(8-n)。
187.当可用合并候选的总数达到(合并候选的最大允许数量-1)时,使用基于历史的候选的合并候选列表的配置可以结束。
188.以下,将描述在合并模式和/或跳过模式的情况下推导成对平均候选的方法。成对平均候选可以由成对平均合并候选或成对候选表示。
189.可以通过从包括在合并候选列表中的候选获得预定义的候选对并对它们取平均来生成成对平均候选。预定义的候选对可以是{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)}
并且配置各个候选对的数可以是合并候选列表的索引。即,预定义的候选对(0,1)可以意指合并候选列表的一对索引0候选和索引1候选,并且成对平均候选可以由索引0候选和索引1候选的平均生成。可以按预定义的候选对的顺序执行成对平均候选的推导。即,在推导候选对(0,1)的成对平均候选之后,可以按候选对(0,2)和候选对(1,2)的顺序执行推导成对平均候选的过程。可以执行成对平均候选推导过程直至合并候选列表的配置完成。例如,可以执行成对平均候选推导过程直至包括在合并候选列表中的合并候选的数量达到最大合并候选数量。
190.可以为各个参考画面列表单独地计算成对平均候选。当对于一个参考画面列表(l0列表或l1列表)两个运动向量可用时,可以计算两个运动向量的平均。在这种情况下,即使两个运动向量指示不同的参考画面,也可以执行两个运动向量的平均。如果对于一个参考画面列表仅一个运动向量可用,则可用运动向量可以用作成对平均候选的运动向量。如果对于一个参考画面列表两个运动向量均不可用,则可以确定参考画面列表无效。
191.当即使在成对平均候选被包括在合并候选列表中之后合并候选列表的配置仍未完成时,零向量可以被添加到合并候选列表直至达到最大合并候选数量。
192.当对当前块应用mvp模式时,可以使用重构的空间邻近块(例如,图8所示的邻近块)的运动向量和/或与时间邻近块(或col块)对应的运动向量来生成运动向量预测子(mvp)候选列表。即,重构的空间邻近块的运动向量以及与时间邻近块对应的运动向量可以用作当前块的运动向量预测子候选。当应用双向预测时,单独地生成并使用用于l0运动信息推导的mvp候选列表和用于l1运动信息推导的mvp候选列表。当前块的预测信息(或关于预测的信息)可以包括指示从包括在mvp候选列表中的运动向量预测子候选当中选择的最佳运动向量预测子候选的候选选择信息(例如,mvp标志或mvp索引)。在这种情况下,预测单元可以使用候选选择信息从包括在mvp候选列表中的运动向量预测子候选当中选择当前块的运动向量预测子。图像编码设备的预测单元可以获得并编码当前块的运动向量与运动向量预测子之间的运动向量差(mvd)并以比特流的形式输出编码的mvd。即,可以通过从当前块的运动向量减去运动向量预测子来获得mvd。图像解码设备的预测单元可以获得包括在关于预测的信息中的运动向量差并通过运动向量差与运动向量预测子的相加来推导当前块的运动向量。图像解码设备的预测单元可以从关于预测的信息获得或推导指示参考画面的参考画面索引。
193.图13是示意性地例示了根据本公开的示例的运动向量预测子候选列表构建方法的视图。
194.首先,可以搜索当前块的空间候选块并且可以将可用候选块插入到mvp候选列表中(s1010)。此后,确定mvp候选列表中包括的mvp候选的数量是否小于2(s1020),并且当mvp候选的数量为2时,可以完成mvp候选列表的构建。
195.在步骤s1020中,当可用空间候选块的数量小于2时,可以搜索当前块的时间候选块并且可以将可用候选块插入到mvp候选列表中(s1030)。当时间候选块不可用时,可以将零运动向量插入到mvp候选列表中(s1040),从而完成mvp候选列表的构建。
196.此外,当应用mvp模式时,可以显式地用信号通知参考画面索引。在这种情况下,可以区别地用信号通知用于l0预测的参考画面索引refidxl0和用于l1预测的参考画面索引refidxl1。例如,当应用mvp模式并且应用双预测时,可以用信号通知关于refidxl0的信息
和关于refidxl1的信息。
197.如上所述,当应用mvp模式时,可以将关于由图像编码设备推导的mvp的信息用信号通知给图像解码设备。例如,关于mvd的信息可以包括mvd绝对值以及为正负号(sign)指示x和y分量的信息。在这种情况下,当mvd绝对值大于0时,可以分步地用信号通知mvd绝对值是否大于1和指示mvd余数的信息。例如,只有当指示mvd绝对值是否大于0的标志信息的值为1时才可以用信号通知指示mvd绝对值是否大于1的信息。
198.以下,将描述本公开的预测执行方法的实施方式。可以在图4的步骤s410或图6的步骤s630中执行以下预测执行方法。
199.可以基于根据预测模式推导的运动信息来生成当前块的预测块。预测块(预测的块)可以包括当前块的预测样本(预测样本阵列)。当当前块的运动向量指定部分样本单元时,可以执行插值过程,并且由此,可以基于参考样本以参考画面内的部分样本为单位来推导当前块的预测样本。当仿射帧间预测应用于当前块时,可以基于样本/子块单元mv来生成预测样本。当应用双预测时,通过基于l0预测(即,使用mvl0和参考画面列表l0内的参考画面的预测)推导的预测样本和基于l1预测(即,使用mlv1和参考画面列表l1内的参考画面的预测)推导的预测样本的加权和或加权平均(根据相位)推导的预测样本可以用作当前块的预测样本。当应用双预测并且用于l0预测的参考画面和用于l1预测的参考画面相对于当前画面位于不同的时间方向上时(即,如果其对应于双预测和双向预测),这可被称为真双预测。
200.在图像解码设备中,可以基于推导的预测样本来生成重构样本和重构画面,然后可以执行环路内滤波过程。另外,在图像编码设备中,可以基于推导的预测样本来推导残差样本,并且可以执行包括预测信息和残差信息的图像信息的编码。
201.双向光流(bdof)
202.根据本公开,bdof可以用于细化双预测信号。当双预测应用于当前块(例如,cu)时,bdof通过计算细化运动信息来生成预测样本。因此,通过应用bdof来计算细化运动信息的处理可以被包括在上述运动信息推导步骤中。
203.例如,可以在4
×
4子块级别应用bdof。即,可以在当前块内以4
×
4子块为单位执行bdof。
204.例如,bodf可以应用于满足以下条件中的至少一个或所有的cu。
[0205]-cu以真正的双预测模式编码,即,两个参考画面之一按显示顺序在当前画面之前,另一个按显示顺序在当前画面之后
[0206]-cu不处于仿射模式或atmvp合并模式
[0207]-cu具有64个或更多个亮度样本
[0208]-cu的高度和宽度为8个或更多个亮度样本
[0209]-bcw权重索引指定等权重,即,对l0预测样本和l1预测样本应用等权重
[0210]-加权预测(wp)不应用于当前cu
[0211]-ciip模式用于当前cu
[0212]
另外,bdof可以仅应用于亮度分量。然而,本公开不限于此,bdof可以应用于色度分量或亮度分量和色度分量二者。
[0213]
bdof模式基于光流的概念。即,假设对象的运动平滑。当应用bdof时,对于各个4
×
4子块,可以计算运动细化(v
x
,vy)。可以通过使l0预测样本和l1预测样本之间的差最小化来计算运动细化。运动细化可以用于调节4
×
4子块内的双预测样本值。
[0214]
在下文中,将更详细地描述执行bdof的处理。
[0215]
首先,可以计算两个预测信号的水平梯度和垂直梯度在这种情况下,k可为0或1。可以通过直接计算两个相邻样本之间的差来计算梯度。例如,梯度可以如下计算。
[0216]
[式1]
[0217][0218][0219]
在上式1中,i
(k)
(i,j)表示列表k(k=0,1)中的预测信号的坐标(i,j)的样本值。例如,i
(0)
(i,j)可以表示l0预测块中的位置(i,j)处的样本值,i
(1)
(i,j)可以表示l1预测块中的位置(i,j)处的样本值。在上式1中,可以基于亮度分量的比特深度来确定第一移位shift1。例如,当亮度分量的比特深度为bitdepth时,shift1可以被确定为max(6,bitdepth-6)。
[0220]
如上所述,在计算梯度之后,梯度之间的自相关和互相关s1、s2、s3、s5和s6可以如下计算。
[0221]
[式2]
[0222]
s1=∑
(i,j)∈ω
abs(ψ
x
(i,j)),s3=∑
(i,j)∈ω
θ(i,j)
·
sign(ψ
x
(i,j))
[0223][0224][0225]
其中,
[0226][0227][0228]
θ(i,j)=(i
(1)(
i,j)>>nb)-(i
(0)
(i,j)>>nb)
[0229]
其中,ω是4
×
4子块周围的6
×
6窗口。
[0230]
在上式2中,na和nb可以分别被设定为min(1,bitdepth-11)和min(4,bitdepth-8)。
[0231]
运动细化(v
x
,vy)可以使用梯度之间的上述自相关和互相关如下推导。
[0232]
[式3]
[0233]
[0234][0235]
其中,s_(2,s)=s_2&(2^(n_(s_2))-1),th

bio
=2
13-bd
。并且是floor函数。
[0236]
在上式3中,n
s2
可为12。基于推导的运动细化和梯度,可以针对4
×
4子块中的各个样本执行以下调节。
[0237]
[式4]
[0238][0239]
最后,可以通过如下调节cu的双预测样本来计算应用bdof的cu的预测样本pred
bdof

[0240]
[式5]
[0241]
pred
bdof
(x,y)=(i
(0)
(x,y) i
(1)
(x,y) b(x,y) o
offset
)>>shift
[0242]
在上式中,na、nb和n
s2
可分别为3、6和12。这些值可以被选择为使得在bdof处理中乘数不超过15比特并且中间参数的比特宽度维持在32比特内。
[0243]
为了推导梯度值,可以生成列表k(k=0,1)中存在于当前cu之外的预测样本i
(k)
(i,j)。图14是例示扩展以执行bdof的cu的视图。
[0244]
如图14所示,为了执行bdof,可以使用围绕cu的边界扩展的行/列。为了控制生成边界之外的预测样本的计算复杂度,扩展区域(图14中的白色区域)中的预测样本可以使用双线性滤波器来生成,cu(图14中的灰色区域)中的预测样本可以使用正常8抽头运动补偿插值滤波器来生成。扩展位置处的样本值可以仅用于梯度计算。当需要位于cu边界之外的样本值和/或梯度值以执行bdof处理的剩余步骤时,可以填充(重复)并使用最近的邻近样本值和/或梯度值。
[0245]
当cu的宽度和/或高度大于16个亮度样本时,对应cu可以被划分为具有16个亮度样本的宽度和/或高度的子块。子块的边界可以按照与bdof处理中的上述cu边界相同的方式处理。执行bdof处理的最大单元大小可以被限制为16
×
16。
[0246]
对于各个子块,可以确定是否执行bdof。即,可以跳过对各个子块的bdof处理。例如,当初始l0预测样本与初始l1预测样本之间的sad值小于预定阈值时,bdof处理可以不应用于对应子块。在这种情况下,当对应子块的宽度和高度为w和h时,预定阈值可以被设定为(8*w*(h>>1)。考虑到附加sad计算的复杂度,可以重用在dmvr处理中计算的初始l0预测样本与初始l1预测样本之间的sad。
[0247]
当对于当前块bcw可用时,例如,当bcw权重索引指定不等权重时,可以不应用bdof。类似地,当对于当前块wp可用时,例如,当两个参考画面中的至少一个的luma_weight_lx_flag为1时,可以不应用bdof。在这种情况下,luma_weight_lx_flag可以是指定用于lx预测(x为0或1)的亮度分量的wp的加权因子是否存在于比特流中的信息或指定wp是否应用于lx预测的亮度分量的信息。当cu以对称mvd(smvd)模式或ciip模式编码时,可以不应用bdof。
[0248]
如上所述,通过在帧间预测处理中应用bdof以在运动补偿处理中细化参考样本,可增加图像的压缩性能。bdof可以在正常模式下执行。即,在仿射模式、gpm模式或ciip模式的情况下不执行bdof。
[0249]
本公开提出了能够通过在bdof处理中在推导用于参考样本细化的bdof偏移bdofoffset(b(x,y))时应用归一化和限幅来防止bdof的潜在错误并改进性能的各种方法。在本公开中,归一化可以意指以各种单位(例如,1/64像元、1/32像元、2像元等)表达的值被统一为预定单位(例如,1像元)的值。另外,在本公开中,[a,b]可以意指a至b的值的范围,将特定值x限幅在[a,b]范围内可以意指x的范围被限制为当x小于a时具有值a,当x大于b时具有值b,在其它情况下具有值x。另外,在本公开中,比特深度不限于亮度分量的比特深度,可以包括例如当亮度分量和色度分量的比特深度相同时的比特深度。
[0250]
图15是例示通过应用bdof来推导当前块的预测样本的处理的视图。
[0251]
图15的基于bdof的帧间预测过程可以由图像编码设备和图像解码设备执行。
[0252]
首先,在步骤s1510中,可以推导当前块的运动信息。当前块的运动信息可以通过本公开中描述的各种方法来推导。例如,当前块的运动信息可以通过常规合并模式、mmvd模式或amvp模式来推导。运动信息可以包括双预测运动信息(l0运动信息和l1运动信息)。例如,l0运动信息可以包括mvl0(l0运动向量)和refidxl0(l0参考画面索引),l1运动信息可以包括mvl1(l1运动向量)和refidxl1(l1参考画面索引)。
[0253]
此后,可以基于当前块的运动推导信息来推导当前块的预测样本(s1520)。具体地,当前块的l0预测样本可以基于l0运动信息来推导。另外,当前块的l1预测样本可以基于l1运动信息来推导。
[0254]
此后,可以基于所推导的预测样本来推导bdof偏移(s1530)。步骤s1530的bdof可以根据本公开中描述的方法来执行。例如,可以基于l0预测样本的梯度(根据相位)和l1预测样本的梯度(根据相位)来推导bdof偏移。
[0255]
此后,基于lx(x=0或1)预测样本和bdof偏移,可以推导当前块的细化预测样本(s1540)。细化预测样本可以用于生成当前块的最终预测块。
[0256]
图像编码设备可以基于根据图15的方法生成的当前块的预测样本通过与原始样本的比较来推导残差样本。如上所述,关于残差样本的信息(残差信息)可以被包括在图像/视频信息中并编码并且以比特流的形式输出。另外,如上所述,图像解码设备可以基于根据图15的方法生成的当前块的预测样本和基于比特流中的残差信息获得的残差样本来生成重构的当前块。
[0257]
图16是例示根据本公开的实施方式的bdof处理的输入和输出的视图。
[0258]
如图16所示,bdof处理的输入可以包括当前块的宽度ncbw、高度cbh、边界区域扩展预定长度(例如,2)的预测子块predsamplesl0和predsamplesl1、预测方向索引predflagl0和predflagl1以及参考画面索引refidxl0和refidxl1。另外,bdof处理的输入还可以包括bdof利用标志bdofutilizationflag。在这种情况下,bdof利用标志可以是以当前块内的子块为单位指定bdof是否应用于对应子块的输入。
[0259]
另外,bdof处理可以通过基于输入信息应用bdof来生成细化预测块pbsamples。
[0260]
图17是例示根据本公开的实施方式的用于bdof处理的变量的视图。图17可以是图16之后的处理。
[0261]
如图17所示,为了执行bdof处理,当前块的输入比特深度bitdepth可以被设定为bitdepthy。在这种情况下,bitdepthy可以基于通过比特流用信号通知的关于比特深度的信息来推导。另外,可以基于比特深度来设定各种右移。例如,第一移位shift1、第二移位shift2、第三移位shift3和第四移位shift4可以如图17所示基于比特深度来推导。另外,可以基于shift4来设定偏移offset4。另外,可以基于比特深度来设定用于指定运动细化的限幅范围的变量mvrefinethres。下面将描述图17中描述的各种变量的用途。
[0262]
图18是例示根据本公开的实施方式的基于是否应用bdof来生成当前cu中的各个子块的预测样本的方法的视图。图18可以是图17之后的处理。
[0263]
可以对当前cu中的各个子块执行图18所示的处理,并且在这种情况下,子块的大小可为4
×
4。当当前子块的bdof利用标志bdofutilizationflag为第一值(假,“0”)时,bdof可不应用于当前子块。在这种情况下,当前子块的预测样本由l0预测样本和l1预测样本的加权和推导,并且在这种情况下,应用于l0预测样本的权重和应用于l1预测样本的权重可以相同。图18的式(1)中使用的shift4和offset4可以是图17中设定的值。当当前子块的bdof利用标志bdofutilizationflag为第二值(真,“1”)时,bdof可应用于当前子块。在这种情况下,可以通过根据本公开的bdof处理来生成当前子块的预测样本。
[0264]
图19是例示根据本公开的实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。图19可以是图18之后的处理。
[0265]
对当前cu中的各个子块执行图19所示的处理,并且在这种情况下,子块的大小可为4
×
4。
[0266]
根据图19,根据式(1)和式(2),可以推导当前子块中的各个样本位置(x,y)的位置(h
x
,hy)。此后,可以根据式(3)至式(6)推导各个样本位置的水平梯度和垂直梯度。此后,可以根据式(7)至式(9)推导用于推导自相关和互相关的变量(第一中间参数diff以及第二中间参数temph和tempv)。例如,可以使用通过对当前块的预测样本predsamplesl0和predsamplesl1应用右移第二移位shift2而获得的值来推导第一中间参数diff。例如,可以通过如式(8)和式(9)中对l0方向上的梯度与l1方向上的梯度之和应用右移第三移位shift3来推导第二中间参数temph和tempv。此后,可以根据式(10)至式(16)基于所推导的第一中间参数和第二中间参数来推导自相关和互相关。
[0267]
图20是例示根据本公开的实施方式的推导运动细化(v
x
,vy),推导bdof偏移并生成当前子块的预测样本的方法的视图。图20可以是图19之后的处理。
[0268]
对当前cu中的各个子块执行图20所示的处理,并且在这种情况下,子块的大小可为4
×
4。
[0269]
根据式20,可以根据式(1)和式(2)推导运动细化(v
x
,vy)。运动细化可以被限幅在由mvrefinethres指定的范围内。另外,基于运动细化和梯度,可以根据式(3)推导bdof偏移bdofoffset。可以根据式(4)使用所推导的bdof偏移生成当前子块的预测样本pbsamples。
[0270]
通过连续地执行参照图16至图20描述的方法,可以实现根据本公开的第一实施方式的bdof处理。在根据图16至图20的实施方式中,第一移位shift1被设定为max(6,bitdepth-6),mvrefinethres被设定为1《《max(,bitdepth-7)。因此,predsample的比特宽度和根据bitdepth的bdof的各个参数可以如下表所示推导。
[0271]
[表1]
[0272][0273][0274]
在上表1中,例如,当bitdepth为8时,predsample具有16比特范围的值,梯度使用11比特,v
x
和vy使用6比特,结果,bdofoffset值的范围为[-49856,48298]。如上表1所示,随着bitdepth改变,predsample的比特宽度改变。然而,即使当bitdepth改变时,与bitdepth高度关联的梯度也具有固定比特宽度(11比特)。另外,不与bitdepth关联的v
x
和vy的比特宽度随着bitdepth改变而改变。
[0275]
根据本公开的其它实施方式,通过细化bdof处理中使用的参数的归一化和限幅,可以更准确地反映与参数和bitdept的关联。因此,参数可以具有更准确的值并且可以解决bdof处理中的存储器溢出问题。
[0276]
本公开的其它实施方式可以通过改变上面参照图16至图20描述的本公开的第一实施方式的部分来实现。
[0277]
在下文中,将描述根据本公开的第二实施方式的bdof处理。
[0278]
本公开的第二实施方式应用了与本公开的第一实施方式的bdof处理不同的归一化方法。根据本公开,梯度gradienthlx和gradientvlx(在这种情况下,x为0或1)表示当前样本位置的水平方向和垂直方向上2像素距离处的斜率。另外,当v
x
和vy为1/32像元精度并且具有[-32,31]或[-32,32]的值的范围时,v
x
和vy的值1表示实际1/32像元距离。因此,v
x
和vy可以被视为对1像素单位值应用“1《《5”操作。
[0279]
根据本公开的第二实施方式,用于计算bdof偏移的参数(水平梯度、垂直梯度、v
x
和vy)可以被归一化为1像素单位值。例如,对于作为2像素距离处的斜率的梯度,可以通过应用“》》1”操作对1像素单位值执行归一化。另外,对于1/32像元精度的v
x
和vy,可以通过应用“》》5”操作对1像素单位值执行归一化。考虑到这一点,如图23的式(3)所示,为了归一化,通过将梯度乘以v
x
和vy而获得的值可以被右移第一移位shift1。在这种情况下,不管比特深度如何,shift1可以被设定为固定值(例如,7)。另外,v
x
和vy可以被限幅在与比特深度无关设定的值的范围内。例如,指定v
x
和vy的限幅范围的变量mvrefinethres可以被设定为“1《《5”的值。如上所述,根据本公开的第二实施方式的归一化可以通过考虑梯度以及v
x
和vy来执行。
[0280]
本公开的第二实施方式可以通过改进本公开的第一实施方式的图17、图19和图20来实现。
[0281]
图21是例示根据本公开的另一实施方式的用于bdof处理的变量的视图。图21可以是通过修改图17的示例而获得的示例。因此,图17和图21中的共同部分的描述将省略。
[0282]
如图21所示,为了执行bdof处理,当前块的输入比特深度bitdepth可以被设定为
bitdepthy。在这种情况下,bitdepthy可以基于通过比特流用信号通知的关于比特深度的信息来推导。另外,不管比特深度如何,第一移位shift1、第二移位shift2和第三移位shift3可以被设定为固定值。例如,第一移位shift1、第二移位shift2和第三移位shift3可以分别被设定为7、4和1。第四移位shift4和偏移offset4可以按照与图17的示例相同的方式推导。另外,不管比特深度如何,变量mvrefinethres可以被设定为固定值。例如,变量mvrefinethres可以被设定为“1《《5”。
[0283]
图22是例示根据本公开的另一实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。图22可以是通过修改图19的示例而获得的示例。因此,图19和图22中的共同部分的描述将省略。
[0284]
与图19的示例相比,在图22的式(3)至式(6)的梯度计算中,可不执行右移操作(“》》shift1”)。根据本实施方式,可通过省略右移操作以更高的准确度获得梯度。
[0285]
图23是例示根据本公开的另一实施方式的推导运动细化(v
x
,vy),推导bdof偏移并生成当前子块的预测样本的方法的视图。图23可以是通过修改图20的示例而获得的示例。因此,图20和图23中的共同部分的描述将省略。
[0286]
与图20的示例相比,在图23的式(3)的bdofoffset的计算中,右移操作“》》1”可以改变为“》》shift1”。即,如上所述,为了梯度以及v
x
和vy的归一化,通过将梯度乘以v
x
和vy而获得的值可以右移第一移位shift1。在这种情况下,如上所述,不管比特深度如何,shift1可以被设定为固定值(例如,7)。
[0287]
如上所述,通过如图21、图22和图23所示修改图17、图19和图20的根据本公开的第一实施方式的示例,可以实现本公开的第二实施方式。
[0288]
根据本公开的第二实施方式,predsample的比特宽度和根据bitdepth的bdof的各个参数可以如下表所示推导。
[0289]
[表2]
[0290][0291]
如上表2所示,与比特深度高度关联的梯度根据比特深度而改变。另外,由于梯度值的范围基于predsample值来确定,所以梯度值的准确度可以增加。另外,不管比特深度如何,不与比特深度关联的v
x
和vy的比特宽度可以具有固定值。根据表2,代替增加梯度值的范围,由于v
x
和vy的值的范围减小,所以不会影响bdofoffset值的范围。
[0292]
在下文中,将描述根据本公开的第三实施方式的bdof处理。
[0293]
如上面在本公开的第二实施方式中描述的,梯度以及v
x
和vy可以被归一化为1像素单位值。然而,根据图22的实施方式,在梯度计算处理中可能产生比特溢出。例如,如图22的式(3)至式(6)中所示,当梯度计算处理中不执行移位操作时,可以执行32比特操作以计算
梯度。即,在计算梯度时可能产生比特溢出。
[0294]
在本公开的第三实施方式中,考虑到这一点,在计算梯度时适用对梯度的归一化。即,可以在计算梯度时通过应用“》》1”操作来执行归一化,从而防止比特溢出。根据本公开的第三实施方式,梯度可不超过16比特。此外,可以通过按调节的shift1应用右移操作来执行对v
x
和vy的归一化。例如,不管比特深度如何,shift1可以被设定为固定值(例如,6)。
[0295]
本公开的第三实施方式可以通过改进本公开的第二实施方式的图21和图22来实现。
[0296]
图24是例示根据本公开的另一实施方式的用于bdof处理的变量的视图。图24可以是通过修改图21的示例而获得的示例。因此,图21和图24中的共同部分的描述将省略。
[0297]
如图24所示,为了执行bdof处理,当前块的输入比特深度bitdepth可以被设定为bitdepthy。在这种情况下,bitdepthy可以基于通过比特流用信号通知的关于比特深度的信息来推导。另外,不管比特深度如何。第一移位shift1、第二移位shift2和第三移位shift3可以被设定为固定值。例如,第一移位shift1、第二移位shift2和第三移位shift3可以分别被设定为6、4和1。第四移位shift4和偏移offset4可以按照与图17的示例相同的方式推导。另外,不管比特深度如何,变量mvrefinethres可以被设定为固定值。例如,变量mvrefinethres可以被设定为“1《《5”。
[0298]
图25是例示根据本公开的另一实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。图25可以是通过修改图22的示例而获得的示例。因此,图22和图25中的共同部分的描述将省略。
[0299]
与图22的示例相比,在图25的式(3)至式(6)的梯度计算中,可以执行右移操作(“》》1”)。通过在梯度计算处理中执行右移操作,可防止产生比特溢出。
[0300]
另外,如图24所示,由于shift1被修改为6,所以应用于梯度以及v
x
和vy的总右移为“7”。因此,本公开的第三实施方式和本公开的第二实施方式中的总右移可以维持相等。
[0301]
如上所述,通过如图24和图25所示修改根据本公开的第二实施方式的图21和图22的示例,可以实现本公开的第三实施方式。
[0302]
根据本公开的第三实施方式,predsample的比特宽度和根据bitdepth的bdof的各个参数可以如下表所示推导。
[0303]
[表3]
[0304][0305]
如上表3所示,与比特深度高度关联的梯度根据比特深度而改变。另外,由于梯度值的范围基于predsample值确定,所以梯度值的准确度可以增加。另外,通过执行图25的式(3)至式(6)中的右移操作,可以防止计算梯度时的比特溢出。另外,不管比特深度如何,不
与比特深度关联的v
x
和vy的比特宽度可以具有固定值。
[0306]
在下文中,将描述根据本公开的第四实施方式的bdof处理。
[0307]
如上面在本公开的第二实施方式中描述的,梯度以及v
x
和vy可以被归一化为1像素单位值。然而,根据图22的实施方式,在梯度计算处理中可能产生比特溢出。例如,如图22的式(3)至式(6)中所示,当梯度计算处理中不执行移位操作时,可以执行32比特操作以计算梯度。即,在计算梯度时可能产生比特溢出。
[0308]
在本公开的第四实施方式中,考虑到这一点,通过在计算梯度时执行限幅,可以防止比特溢出。根据本公开的第四实施方式,梯度可不超过16比特。此外,可以按照与本公开的第二实施方式相同的方式执行对梯度以及v
x
和vy的归一化。为此,通过将梯度乘以v
x
和vy而获得的值可以右移第一移位shift1。例如,不管比特深度如何,shift1可以被设定为固定值(例如,7)。
[0309]
本公开的第四实施方式可以通过修改本公开的第二实施方式的图21和图22来实现。
[0310]
图26是例示根据本公开的另一实施方式的用于bdof处理的变量的视图。图26可以是通过修改图21的示例而获得的示例。因此,图21和图26中的共同部分的描述将省略。
[0311]
如图26所示,为了执行bdof处理,当前块的输入比特深度bitdepth可以被设定为bitdepthy。在这种情况下,bitdepthy可以基于通过比特流用信号通知的关于比特深度的信息来推导。另外,不管比特深度如何,第一移位shift1、第二移位shift2和第三移位shift3可以被设定为固定值。例如,第一移位shift1、第二移位shift2和第三移位shift3可以分别被设定为7、4和1。第四移位shift4和偏移offset4可以按照与图17的示例相同的方式推导。另外,不管比特深度如何,变量mvrefinethres可以被设定为固定值。例如,变量mvrefinethres可以被设定为“1《《5”。另外,可以设定用于指定梯度值的限幅范围的变量gradlimit。在这种情况下,gradlimit可以基于比特深度来设定,并且例如可以被设定为“1《《max(15,bitdepth 3)”。
[0312]
图27是例示根据本公开的另一实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。图27可以是通过修改图22的示例而获得的示例。因此,图22和图27中的共同部分的描述将省略。
[0313]
与图22的示例相比,在图27的式(3)至式(6)的梯度计算中,可以执行限幅操作。即,所计算的梯度值可以被限幅为gradlimit所指定的范围内的值。例如,限幅范围可为[-gradlimit,gradlimit-1]。根据第三实施方式,通过在梯度计算处理中执行限幅操作,可防止产生比特溢出。
[0314]
如上所述,通过如图26和图27所示修改根据本公开的第二实施方式的图21和图22的示例,可以实现本公开的第四实施方式。
[0315]
根据本公开的第四实施方式,predsample的比特宽度和根据bitdepth的bdof的各个参数可以如下表所示推导。
[0316]
[表4]
[0317][0318]
如上表4所示,与比特深度高度关联的梯度根据比特深度而改变。另外,由于梯度值的范围基于predsample值确定,所以梯度值的准确度可以增加。另外,通过执行图27的式(3)至式(6)中的限幅操作,可以防止计算梯度时的比特溢出。另外,不管比特深度如何,不与比特深度关联的v
x
和vy的比特宽度可以具有固定值。
[0319]
在下文中,将描述根据本公开的对bdof偏移进行限幅的实施方式。
[0320]
通过帧间预测的插值而生成的预测样本predsample具有由输入比特深度和插值滤波器的系数确定的值的范围,并且在最坏情况下,具有[-16830,33150]的值的范围。在这种情况下,通过将值-8192与predsample值相加以便防止16比特溢出,如表1所示,predsample的值可以被调节至[-25022,24958]的范围。
[0321]
因此,如表1所示,当bitdepthy为8时,predsample具有16比特范围的值,梯度使用11比特,v
x
和vy使用6比特,并且最终bdofoffset的范围为[-49856,48298]。因此,根据本公开的各种实施方式,当predsample和bdofoffset相加时,可能产生16比特溢出。
[0322]
根据本公开,当通过将bdof偏移(bdofoffset)值限幅在预定范围内来计算细化预测样本的值时,可以防止产生16比特溢出。更具体地,当比特深度为8至12时,predsample具有16比特范围的值,当比特深度分别为14和16时,predsample具有18比特范围和20比特范围的值。因此,也可以考虑比特深度来定义bdofoffset的限幅范围。例如,指定bdofoffset的限幅范围的变量offsetlimit可以基于比特深度来定义,并且bdofoffset的限幅可以另外应用于本公开的实施方式。
[0323]
例如,在图20的式(4)和图23的式(4)中,bdofoffset可以被限幅在[-offsetlimit,offsetlimit-1]的范围内。例如,在图20的式(4)和图23的式(4)中,bdofoffset可以由clip3(-offsetlimit,offsetlimit-1,bdofoffset)代替。在这种情况下,offsetlimit可以基于比特深度来定义。例如,offsetlimit可以被设定为“1《《max(12,bitdepthy)”。如上所述,通过对bdofoffset应用限幅,可以防止在将predsample和bdofoffset相加时可能产生的比特溢出。
[0324]
在下文中,将描述根据本公开的另一实施方式的推导bdof偏移bdofoffset的方法。
[0325]
根据本实施方式,可使梯度计算处理中的右移操作最小化,以改进bdof偏移的准确度。另外,当在bdofoffset计算处理中执行右移操作时,通过与偏移值相加,bdofoffset的准确度可以进一步增加。在这种情况下,可以基于右移确定偏移。例如,本实施方式可以应用于本公开的第三实施方式。在这种情况下,图23的式(3)可以如下修改。
[0326]
bdofoffset=(vx*(gradienthl0[x 1][y 1]-gradienthl1[x 1][y 1] offset))
》》shift1 (vy*(gradientvl0[x 1][y 1]-gradientvl1[x 1][y 1]) offset)》》shift1
[0327]
在上式中,shift1可被设定为“6”,偏移可以基于shift1设定,例如“1《《(shift1-1)”。
[0328]
上式(3)的修改不限于应用于本公开的第三实施方式,并且适用于本公开的其它实施方式。例如,式(3)的修改可以应用于本公开的第四实施方式。在这种情况下,shift1可以被设定为“7”,偏移可以基于shift1设定,例如“1《《(shift1-1)”。
[0329]
根据本实施方式,通过使梯度计算处理中的右移操作最小化并在bdofoffset计算处理中执行右移操作时与偏移值相加,可增加bdofoffset的准确度。
[0330]
在下文中,将描述根据本公开的另一实施方式的推导bdof偏移bdofoffset的方法。
[0331]
如上所述,在bdof偏移计算处理中,使用预测样本和梯度来推导各种变量。当根据本公开的各种实施方式执行归一化时,如果在梯度计算处理中右移被设定为“1”或执行限幅,则梯度值的比特范围可变化。例如,如表1所示,在本公开的第一实施方式中,可以通过对16比特范围内的预测样本应用“》》6”来计算11比特范围内的梯度。在这种情况下,根据本公开的第三实施方式或第四实施方式,当“》》1”或限幅应用于16比特范围内的预测样本时,如表3或表4所示,梯度可以具有16比特范围内的值。然而,当梯度值的范围增加时,在计算基于梯度计算的变量temph和tempv时可能产生16比特溢出。在本实施方式中,考虑到这一点,可以在计算temph和tempv时通过对梯度的各项应用右移操作来防止产生比特溢出。例如,图25和图27的式(8)和式(9)可以如下修改。
[0332]
temph[x][y]=(gradienthl0[x][y]》》shift3) (gradienthl1[x][y]》》shift3) (8)
[0333]
tempv[x][y]=(gradientvl0[x][y]》》shift3) (gradientvl1[x][y]》》shift3) (9)
[0334]
在修改的式(8)和(9)中,shift3可以被设定为max(1,bitdepth-11)或固定值1。如上所述,通过修改本公开的第三实施方式和第四实施方式,可以在计算temph和tempv时防止产生比特溢出。
[0335]
在下文中,将描述根据本公开的另一实施方式的防止产生比特溢出的方法。
[0336]
如上所述,当根据本公开的第三实施方式或第四实施方式“》》1”或限幅应用于16比特范围内的预测样本时,在计算变量temph和tempv时可能产生16比特溢出。在这种情况下,即使在基于变量temph和tempv计算的诸如sgx2、sgy2、sgxgy、sgxdi和sgydi的中间参数的计算中,仍可能产生16比特溢出。根据本实施方式,为了防止在不仅变量temph和tempv,而且中间参数sgx2、sgy2、sgxgy、sgxdi和sgydi的计算中产生比特溢出,可以调节应用于修改的式(8)和(9)的右移shift3。例如,在本公开的第三实施方式中,在如上所述图25的式(8)和(9)的修改中,shift3可以被设定为max(6,bitdepth-6)或固定值6。另外,在本公开的第四实施方式中,在如上所述图27的式(8)和(9)的修改中,shift3可以被设定为max(6,bitdepth-6) 1或固定值7。根据本实施方式,在不仅变量temph和tempv,而且中间参数sgx2、sgy2、sgxgy、sgxdi和sgydi的计算中,可以防止产生比特溢出。
[0337]
本公开的实施方式不限于上述示例,本公开的实施方式可以与其它实施方式或修改组合使用。例如,本公开的第五实施方式可以通过改变参照图16至图20描述的本公开的
第一实施方式的步骤当中的图17的步骤来实现。例如,通过将本公开的第一实施方式的图17改变为本公开的第三实施方式的图24,可以推导本公开的第五实施方式。
[0338]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
[0339]
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
[0340]
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
[0341]
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0342]
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(vod)服务提供装置、ott视频(over the top video)装置、互联网流传输服务提供装置、三维(3d)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,ott视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板pc、数字录像机(dvr)等。
[0343]
图28是示出可应用本公开的实施方式的内容流系统的视图。
[0344]
如图28中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
[0345]
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
[0346]
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
[0347]
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
[0348]
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
[0349]
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、石板pc、平板pc、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0350]
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
[0351]
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
[0352]
工业实用性
[0353]
本公开的实施方式可以被用于对图像进行编码或解码。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献