编解码视频数据的装置、存储编码视频数据比特流的方法与流程

未命名 09-09 阅读:64 评论:0

编解码视频数据的装置、存储编码视频数据比特流的方法
1.本技术是申请号为201880034013.7(国际申请号为pct/kr2018/003044,国际申请日为2018年03月15日,发明名称为“用于估计运动补偿的光流的方法及装置”)的发明专利申请的分案申请。
技术领域
2.本公开涉及视频编码或解码。更具体地,本公开涉及一种用于视频编码期间的帧间预测补偿的自适应双向光流估计的方法。


背景技术:

3.本部分中的陈述仅提供与本公开有关的背景信息,并且可能不构成现有技术。
4.在视频编码中,利用空间维度和时间维度的数据冗余来执行压缩。通过变换编码极大地减少了空间冗余。通过预测编码减少时间冗余。观察到时间相关性沿运动轨迹最大化,为此目的使用运动补偿预测。在这种上下文中,运动估计的主要目的不是在场景中找到“真实”运动,而是使压缩效率最大化。换句话说,运动矢量必须提供信号的准确预测。另外,由于运动信息必须作为开销在压缩比特流中传输,因此它必须启用压缩表示。在视频编码中有效的运动估计对于实现高压缩非常重要。
5.运动是视频序列中重要的信息来源。发生运动不仅是由于物体的运动,还因为相机的运动。视在运动(也称为光流)捕获图像序列中像素强度的时空变化。
6.双向光流(bio)是jctvc-c204和vceg-az05中公开的一种运动估计/补偿技术,该技术基于光流和稳定运动的假设来推导样本级运动细化。当前正在讨论的双向光流估计方法能够对运动矢量信息进行精细细化,这是优点,但是与用于运动矢量信息的精细校正的传统双向预测相比,需要更高的计算复杂度,这是不利的。
7.非专利文献1:jctvc-c204(e.alshina,et al.,bi-directional optical flow,joint collaborative team on video coding(jct-vc)of itu-t sg 16wp 3and iso/iec jtc 1/sc 29/wg 11,3rd meeting:guangzhou,cn,7-15october,2010(e.alshina等人,双向光流,itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11的视频编码联合协作小组(jct-vc),第3次会议:中国广州,2010年10月7日至15日))。
8.非专利文献2:vceg-az05(e.alshina,et al.,known tools performance investigation for next generation video coding,itu-t sg 16question 6,video coding experts group(vceg),52nd meeting:19-26june 2015,warsaw,poland(e.alshina等人,下一代视频编码的已知工具性能研究,itu-t sg 16问题6,视频编码专家组(vceg),第52次会议:2015年6月19至26日,波兰华沙))。


技术实现要素:

9.技术问题
10.本公开的目的是减少双向光流(bio)的复杂度和/或成本。
11.技术方案
12.根据本公开的一个方面,提供了一种用于对视频数据进行编码或解码的方法,该方法包括以下步骤:确定指示第一参考图片中与当前块最相似的第一对应区域的第一运动矢量,以及指示第二参考图片中与当前块最相似的第二对应区域的第二运动矢量;通过以子块为单位应用双向光流(bio)处理来生成当前块的预测块;以及使用所生成的预测块重构当前块。这里,生成预测块包括:确定构成当前块的每个子块的bio运动矢量;以及基于所确定的bio运动矢量来生成构成对应子块的像素的预测值。
13.根据本发明的另一方面,提供了一种用于对视频数据进行解码的装置,该装置包括存储器;以及一个或更多个处理器,其中,一个或更多个处理器被配置为执行以下操作:确定指示第一参考图片中与当前块最相似的第一对应区域的第一运动矢量,以及指示第二参考图片中与当前块最相似的第二对应区域的第二运动矢量;通过以子块为单位应用双向光流(bio)处理来生成当前块的预测块;以及使用所生成的预测块重构当前块的像素。这里,生成预测块的操作包括:确定构成当前块的每个子块的bio运动矢量;以及基于所确定的bio运动矢量来生成构成对应子块的像素的预测值。
14.bio运动矢量(v
x
,vy)可以被确定为是使得位于搜索区域中的各个像素的流差的平方和最小的矢量,搜索区域是由以子块中的每个像素为中心的预定掩蔽窗口所限定的。另选地,bio运动矢量(v
x
,vy)可以被确定为是使得位于搜索区域中的全部像素的流差的平方和最小的矢量,搜索区域是由以子块中的一些像素为中心的预定掩蔽窗口所限定的。例如,应用了掩蔽窗口的像素的位置和未应用掩蔽窗口的像素的位置可以形成格子图案、水平条纹图案或垂直条纹图案。
15.在一些实施方式中,代替重复计算流差,可以根据差值的重复次数来对重复的差值进行加权。在一些示例中,在确定位于当前块的边缘处的子块的bio运动矢量时,可以不考虑位于当前块外部的区域中的像素的流差。
16.在一些实施方式中,可以不使用掩蔽窗口。例如,bio运动矢量(v
x
,vy)可以被确定为是使得子块中的各个像素的流差的平方和最小的矢量。
17.根据本发明的另一方面,提供了一种用于解码视频数据的方法,该方法包括以下步骤:确定指示第一参考图片中与当前块最相似的第一对应区域的第一运动矢量以及指示第二参考图片中与当前块最相似的第二对应区域的第二运动矢量;通过以像素为单位应用双向光流(bio)处理来生成当前块的预测块;以及使用所生成的预测块重构当前块的像素,其中,生成预测块的步骤包括确定构成当前块的每个像素的bio运动矢量,其中,bio运动矢量被确定为是使得针对位于以对应像素为中心的加号形状或菱形形状的掩蔽窗口中的全部掩蔽像素所获得的流差的平方和最小的矢量;以及基于所确定的bio运动矢量来生成对应像素的预测值。
18.根据本发明的另一方面,提供一种用于对视频数据进行解码的装置,该装置包括存储器;以及一个或更多个处理器,其中,一个或更多个处理器被配置为执行以下操作:确定指示第一参考图片中与当前块最相似的第一对应区域的第一运动矢量以及指示第二参考图片中与当前块最相似的第二对应区域的第二运动矢量;通过以像素为单位应用双向光流(bio)处理来生成当前块的预测块;以及使用所生成的预测块重构当前块的像素。这里,生成预测块的操作包括:确定构成当前块的每个像素的bio运动矢量,其中,bio运动矢量被
确定为是使得针对位于以对应像素为中心的加号形状或菱形形状的掩蔽窗口中的全部掩蔽像素所获得的流差的平方和最小的矢量;以及基于所确定的bio运动矢量来生成对应像素的预测值。
附图说明
19.图1是能够实现本公开技术的视频编码装置的示例性框图。
20.图2是当前块的相邻块的示例图。
21.图3是能够实现本公开技术的视频解码装置的示例性框图。
22.图4是用于说明bio的基本概念的参照图。
23.图5a是例示了根据本公开实施方式的基于像素级bio所执行的用于双向运动补偿的方法的流程图。
24.图5b是例示了根据本公开实施方式的基于子块级的bio所执行的用于双向运动补偿的方法的流程图。
25.图6是例示了根据第一实施方式的用于基于bio运动补偿的5
×
5掩蔽窗口和当前块的1
×
1块的图。
26.图7是例示了根据第二实施方式的可用于确定像素级bio运动矢量的非矩形掩蔽窗口的图。
27.图8是例示了根据第二实施方式的用于确定像素级bio运动矢量的菱形形状的掩蔽窗口和当前块的1
×
1块的图。
28.图9是例示了根据第三实施方式的用于确定子块级bio运动矢量的5
×
5掩蔽窗口和4
×
4子块的图。
29.图10a是用于说明以交叠的方式计算在确定子块级的bio运动矢量中所使用的差值的图。
30.图10b是示例性地示出在确定子块级bio运动矢量中所使用的差值的各个像素位置的权重的图。
31.图11是例示了根据第四实施方式的用于确定子块级bio运动矢量的菱形形状的掩蔽窗口和4
×
4子块的图。
32.图12是例示了根据第五实施方式的在子块中应用了掩蔽窗口的像素的三种类型的位置的图。
33.图13是例示了根据第五实施方式的在确定子块级的bio运动矢量中所使用的5
×
5掩蔽窗口和通过对应用了掩蔽窗口的像素进行采样所获得的格子图案中的4
×
4子块的图。
34.图14是例示了根据第六实施方式的用于基于bio的运动补偿的菱形形状的掩蔽窗口和4
×
4子块中的预测像素的示图。
35.图15是例示了根据第七实施方式的子块中的每个像素的加权的示例的图。
36.图16a例示了位于包括16个4
×
4子块的16
×
16当前块的边缘处的子块。
37.图16b是示例性地示出针对位于16
×
16当前块的左上角的4
×
4子块用于bio运动矢量所使用的按像素位置的差值的权重的图。
具体实施方式
38.在下文中,将参照附图详细描述本发明的一些实施方式。应当注意,在各个附图中向构成元件添加附图标记时,尽管元件示出在不同的附图中,但是相似的附图标记指代相似的元件。此外,在本发明的以下描述中,这里并入的已知功能和配置的详细描述在可能使本发明的主题相对不清楚时将被省略。
39.本公开的技术总体上涉及降低双向光流(bio)技术的复杂度和/或成本。在运动补偿期间可以应用bio。通常,bio用于通过光流为当前块中的每个像素计算运动矢量,并基于为每个像素计算的运动矢量值来更新位于相应像素处的预测值。
40.图1是能够实现本公开技术的视频编码装置的示例性框图。
41.视频编码装置包括块分割器110、预测器120、减法器130、变换器140、量化器145、编码器150、逆量化器160、逆变换器165、加法器170、滤波器单元180和存储器190。视频编码装置的每个元件可以被实现为硬件芯片,或者可以被实现为软件,并且微处理器可以实现为执行与各个元件相对应的软件的功能。
42.块分割器110将构成视频的每个图片分割为多个编码树单元(ctu),然后使用树结构来递归地分割ctu。树结构中的叶节点是编码单元(cu),该编码单元是编码的基本单元。节点(或父节点)被分割为相同尺寸的四个子节点(或子节点)的四叉树(qt)结构、或者结合了qt结构和节点被分割为两个子节点的二叉树(bt)结构的四叉树加二叉树(qtbt)结构可以用作树结构。也就是说,可以使用qtbt将ctu分割为多个cu。
43.在四叉树加二叉树(qtbt)结构中,能够首先根据qt结构分割ctu。可以重复四叉树分割,直到分割块的尺寸达到qt中所允许的叶节点的最小块尺寸minqtsize。如果qt的叶节点不大于bt中所允许的根节点的最大块尺寸maxbtsize,则可以将其进一步划分为bt结构。bt可以具有多种分割类型。例如,在一些示例中,可以存在两种分割类型,一种是将节点的块水平分割为相同尺寸的两个块(即,对称水平分割),一种是将节点的块垂直分割为相同尺寸的两个块(即,对称垂直分割)。此外,可以存在以非对称形式将节点的块分割成两个块的分割类型。非对称分割可以包括以1:3的尺寸比将节点的块分割为两个矩形块,或者沿对角线方向分割节点的块。
44.由块分割器110通过按照qtbt结构分割ctu而生成的分割信息由编码器150编码,并且向视频解码装置发送。
45.以下,与要编码或解码的cu(即,qtbt的叶节点)相对应的块称为“当前块”。
46.预测器120通过预测当前块来生成预测块。预测器120包括帧内预测器122和帧间预测器124。
47.通常,图片内的当前块可以各自被预测性地编码。通常,可以使用帧内预测技术或帧间预测技术来完成当前块的预测,该帧内预测技术使用来自包含当前块的图片的数据,该帧间预测技术针对包含当前块的图片使用来自先前编码的图像的数据。帧间预测包括单向预测和双向预测。
48.对于每个帧间预测块,运动信息集是可用的。运动信息的集合可以包括关于前向和后向预测方向的运动信息。这里,前向预测方向和后向预测方向是双向预测模式中的两个预测方向,并且术语“前向”和“后向”并非必须具有几何含义。相反,它们通常对应于在当前图片之前(“后向方向”)还是之后(“前向方向”)显示参考图片。在一些示例中,“前向”和“后向”预测方向可以对应于当前图片的参考图片列表0(refpiclist0)和参考图片列表1(refpiclist1)。
49.对于每个预测方向,运动信息包括参考索引和运动矢量。参考索引可以用于识别当前参考图片列表(refpiclist0或refpiclist1)中的参考图片。运动矢量具有水平分量x和垂直分量y。通常,水平分量表示参考图片中相对于当前图片中当前块的位置的水平位移,这是定位参考块的x坐标所需要的。垂直分量表示参考图片中相对于当前块的位置的垂直位移,这是定位参考块的y坐标所需要的。
50.帧间预测器124在比当前图片更早编码和解码的参考图片中搜索与当前块最相似的块,并使用搜索到的块为当前块生成预测块。然后,帧间预测器生成与当前图片中的当前块和参考图片中的预测块之间的位移相对应的运动矢量。通常,对亮度分量执行运动估计,并且基于亮度分量计算出的运动矢量被用于亮度分量和色度分量。包括关于参考图片的信息和用于预测当前块的运动矢量的运动信息由编码器150编码,并且发送给视频解码装置。
51.本公开的示例总体上涉及双向光流(bio)技术。本公开的一些技术可以由帧间预测器124执行。例如,帧间预测器124可以实施以下参照图4至图13描述的本公开的技术。换句话说,在确定当前块的双向运动矢量之后,帧间预测器124可以以图像像素或子块为基础根据bio技术使用运动补偿来生成针对当前块的预测块。在其它示例中,编码装置的一个或更多个其它组件可以附加地参与实施本公开的技术。另外,由于存在用于计算运动矢量的显式方程,所以不需要用于获取运动信息的搜索操作和用于发送运动信息的信令。
52.可以使用各种方法来最小化编码运动信息所需的比特数。
53.例如,在当前块的参考图片和运动矢量与相邻块的参考图片和运动矢量相同时,可以通过编码用于标识相邻块的信息将关于当前块的运动信息发送给解码装置。此方法称为“合并模式”。
54.在合并模式中,帧间预测器124从当前块的相邻块中选择预定数量的合并候选块(以下称为“合并候选”)。
55.如图2所示,作为推导出合并候选的相邻块,可以使用当前图片中与当前块相邻的左块l、上块a、右上块ar、左下块bl和左上块al中的全部或一部分。另外,位于除了当前块所位于的当前图片之外的参考图片(该参考图片可以与用于预测当前块的参考图片相同或不同)内的块可以用作合并候选。例如,在参考图片中与当前块位于相同位置的共定位块(co-located block)或与该在相同位置的块相邻的块也可以用作合并候选。
56.帧间预测器124使用这样的相邻块来配置包括预定数量的合并候选的合并列表。从合并列表中所包括的合并候选中选择要被用作关于当前块的运动信息的合并候选,并且生成用于标识所选候选的合并索引信息。所生成的合并索引信息由编码器150编码,并且发送给解码装置。
57.运动信息的另一种编码方法是编码运动矢量差。
58.在该方法中,帧间预测器124使用当前块的相邻块来推导出当前块的运动矢量的预测运动矢量候选。作为用于推导出预测运动矢量候选的相邻块,可以使用图2中所示的在当前图片中与当前块相邻的左块l、上块a、右上块ar、左下块bl和左上块al的全部或一部分。另外,位于除了当前块所位于的当前图片之外的参考图片(该参考图片可以与用于预测当前块的参考图片相同或不同)内的块可以用作用于推导预测运动矢量候选的相邻块。例
如,在参考图片中与当前块位于相同位置的共定位块或与位于相同位置的该块相邻的块也可以用作合并候选。
59.帧间预测器124使用相邻块的运动矢量来推导出预测运动矢量候选,并且使用预测运动矢量候选来确定当前块的运动矢量的预测运动矢量。然后,通过从当前块的运动矢量减去预测运动矢量来计算运动矢量差。
60.可以通过将预定函数(例如,用于计算中位数、平均值等的函数)应用于预测运动矢量候选来获得预测运动矢量。在这种情况下,视频解码装置也知道预定函数。另外,由于用于推导出预测运动矢量候选的相邻块已经被编码和解码,所以视频解码装置也已经知道相邻块的运动矢量。因此,视频编码装置不需要对用于标识预测运动矢量候选的信息进行编码。因此,在这种情况下,关于运动矢量差的信息和关于用于预测当前块的参考图片的信息被编码。
61.可以通过选择预测运动矢量候选中的任意一个来确定预测运动矢量。在这种情况下,用于标识所选预测运动矢量候选的信息与关于运动矢量差的信息和关于用于预测当前块的参考图片的信息一起被进一步编码。
62.帧内预测器122使用包括当前块的当前图片中位于当前块周围的像素(参考像素)来预测当前块中的像素。根据预测方向存在多种帧内预测模式,并且根据每种预测模式不同地定义要使用的周边像素和方程。具体地,帧内预测器122可以确定在对当前块进行编码中要使用的帧内预测模式。在一些示例中,帧内预测器122可以使用几种帧内预测模式对当前块进行编码,并且从被测模式中选择合适的帧内预测模式来使用。例如,帧内预测器122可以使用对几种被测帧内预测模式的速率失真分析来计算速率失真值,并且可以选择被测模式中具有最佳速率失真特性的帧内预测模式。
63.帧内预测器122从多个帧内预测模式中选择一种帧内预测模式,并使用根据所选帧内预测模式而确定的相邻像素(参考像素)和方程来预测当前块。关于所选帧内预测模式的信息由编码器150编码,并且发送给视频解码装置。
64.减法器130从当前块中减去由帧内预测器122或帧间预测器124生成的预测块,以生成残差块。
65.变换器140将空间域中具有像素值的残差块中的残差信号变换为频域中的变换系数。变换器140可以通过使用当前块的尺寸作为变换单元来变换残差块中的残差信号,或者可以将残差块分割为多个更小的子块,并以与子块尺寸相对应的变换单位来变换残差信号。可以有各种方法将残差块分割为更小子块。例如,可以将残差块分割成相同预定义尺寸的子块,或者可以以将残差块作为根节点的四叉树(qt)的方式来分割残差块。
66.量化器145对从变换器140输出的变换系数进行量化,并将量化后的变换系数输出至编码器150。
67.编码器150使用诸如cabac之类的编码方案对量化后的变换系数进行编码以生成比特流。编码器150对与块分割相关联的诸如ctu尺寸、minqtsize、maxbtsize、maxbtdepth、minbtsize、qt分割标志、bt分割标志和分割类型的信息进行编码、使得视频解码装置以与视频编码装置相同的方式来分割块。
68.编码器150对关于指示当前块是通过帧内预测还是帧间预测进行编码的预测类型的信息进行编码,并且根据预测类型对帧内预测信息或帧间预测信息进行编码。
69.当对当前块进行帧内预测时,用于帧内预测模式的语法元素被编码为帧内预测信息。当对当前块进行帧间预测时,编码器150对用于帧间预测信息的语法元素进行编码。帧间预测信息的语法元素包括以下信息:
70.(1)模式信息,该模式信息指示关于当前块的运动信息是以合并模式还是用于编码运动矢量差的模式被编码的。
71.(2)关于运动信息的语法元素
72.当以合并模式对运动信息进行编码时,编码器150可以对合并索引信息进行编码作为运动信息的语法元素,该合并索引信息指示合并候选当中被选择作为用于提取关于当前块的运动信息的候选的合并候选。
73.另一方面,当在用于对运动矢量差进行编码的模式下对运动信息进行编码时,关于运动矢量差的信息和关于参考图片的信息被编码为运动信息的语法元素。当以选择多个预测运动矢量候选中的一个的方式确定预测运动矢量时,运动信息的语法元素还包括用于标识所选的候选的预测运动矢量标识信息。
74.逆量化器160对从量化器145输出的量化后的变换系数进行逆量化以生成变换系数。逆变换器165将从逆量化器160输出的变换系数从频域变换到空间域,并重构残差块。
75.加法器170将重构的残差块与由预测器120生成的预测块相加以重构当前块。重构的当前块中的像素依次在执行下一个块的帧内预测时用作参考样本。
76.滤波器单元180对重构的块之间的边界进行解块滤波,以便消除由逐块编码/解码引起的块伪像,并将块存储在存储器190中。当重构了一张图片中的所有块时,已重构的图片用作在要编码的后续图片中的块进行帧间预测的参考图片。
77.以下,将描述视频解码装置。
78.图3是能够实现本公开技术的视频解码装置的示例性框图。
79.视频解码装置包括解码器310、逆量化器320、逆变换器330、预测器340、加法器350、滤波器单元360和存储器370。如图2所示的视频编码装置的情况,视频编码装置的每个元件可以实现为硬件芯片,或者可以实现为软件,并且微处理器可以实现为执行与各个元件相对应的软件的功能。
80.解码器310对从视频编码装置接收到的比特流进行解码,提取与块分割有关的信息以确定要解码的当前块,并且提取重构当前块所需的预测信息和关于残差信号的信息。
81.解码器310从序列参数集(sps)或图片参数集(pps)中提取关于ctu尺寸的信息,确定ctu的尺寸,并将图片分割为所确定出的尺寸的ctu。然后,解码器将ctu确定为树结构的最上层(即,根节点),并提取有关ctu的分割信息,以使用树结构分割ctu。例如,当使用qtbt结构分割ctu时,提取与qt的分割有关的第一标记(qt_split_flag)以将每个节点分割为子层的四个节点。对于与qt的叶节点相对应的节点,提取第二标志(bt_split_flag)和与bt的分割有关的分割类型信息,以将叶节点分割为bt结构。
82.在通过树结构的分割确定要解码的当前块时,解码器310提取关于指示当前块是帧内预测还是帧间预测的预测类型的信息。
83.当预测类型信息指示帧内预测时,解码器310提取关于当前块的帧内预测信息的语法元素(帧内预测模式)。
84.当预测类型信息指示帧间预测时,解码器310提取用于帧间预测信息的语法元素。
首先,解码器提取指示多个编码模式中关于当前块的运动信息被编码的编码模式的模式信息。在此,多个编码模式包括:包括跳过模式的合并模式和运动矢量差编码模式。当模式信息指示合并模式时,解码器310提取指示在合并候选中的将从中推导出当前块的运动矢量的合并候选的合并索引信息,作为运动的语法元素。另一方面,当模式信息指示运动矢量差编码模式时,解码器310提取关于运动矢量差的信息和关于当前块的运动矢量所参考的参考图片的信息,作为运动矢量的语法元素。当视频编码装置使用多个预测运动矢量候选之一作为当前块的预测运动矢量时,预测运动矢量标识信息包括在比特流中。因此,在这种情况下,不仅提取关于运动矢量差和参考图片的信息,而且提取预测运动矢量标识信息作为运动矢量的语法元素。
85.解码器310提取关于当前块的已量化变换系数的信息作为关于残差信号的信息。
86.逆量化器320对已量化变换系数进行逆量化。逆变换器330将逆量化后的变换系数从频域逆变换到空间域以重构残差信号,从而生成当前块的残差块。
87.预测器340包括帧内预测器342和帧间预测器344。当当前块的预测类型是帧内预测时,激活帧内预测器342,而当当前块的预测类型是帧间预测时,激活帧间预测器344。
88.帧内预测器342根据从解码器310提取的关于帧内预测模式的语法元素,从多个帧内预测模式中确定当前块的帧内预测模式,并根据帧内预测模式使用当前块周围的参考像素预测当前块。
89.帧间预测器344使用从解码器310提取的帧内预测模式的语法元素来确定关于当前块的运动信息,并使用所确定的运动信息来预测当前块。
90.首先,帧间预测器344检查从解码器310提取的关于帧间预测的模式信息。当模式信息指示合并模式时,帧间预测器344使用当前块的相邻块配置包括预定数量的合并候选的合并列表。帧间预测器344以与视频编码装置的帧间预测器124的情况相同的方式配置合并列表。然后,使用从解码器310发送的合并索引信息从合并列表中的合并候选中选择一个合并候选。关于所选合并候选的运动信息(即,合并候选的运动矢量和参考图片)设置为当前块的运动矢量和参考图片。
91.另一方面,当模式信息指示运动矢量差编码模式时,帧间预测器344使用当前块的相邻块的运动矢量来推导出预测运动矢量候选,并使用预测运动矢量候选,确定关于当前块的运动矢量的预测运动矢量。帧间预测器344以与视频编码装置的帧间预测器124的情况相同的方式推导出预测运动矢量候选。在视频编码装置使用多个预测运动矢量候选之一作为当前块的预测运动矢量的情况下,运动信息的语法元素包括预测运动矢量标识信息。因此,在这种情况下,帧间预测器344可以在预测运动矢量候选之中选择由预测运动矢量标识信息指示的候选作为预测运动矢量。然而,当视频编码装置使用针对多个预测运动矢量候选预定义的函数来确定预测运动矢量时,帧间预测器可以使用与视频编码装置所使用的函数相同的函数来确定预测运动矢量。一旦确定了当前块的预测运动矢量,帧间预测器344将预测运动矢量与从解码器310发送的运动矢量差相加,来确定当前块的运动矢量。使用从解码器310传送的关于参考图片的信息来确定当前块的运动矢量所参考的参考图片。
92.当在合并模式或运动矢量差编码模式中确定当前块的运动矢量和参考图片时,帧间预测器344使用参考图片中在由运动矢量所指示的位置处的块来生成当前块的预测块。
93.本公开的示例通常涉及双向光流(bio)技术。本公开的预定技术可以由帧间预测
器344实施。例如,帧间预测器344可以实施以下参照图4至图13描述的本公开的技术。换句话说,帧间预测器124可以以图像像素或子块为基础,根据bio技术使用运动补偿来生成当前块的预测块。在其它示例中,解码装置的一个或更多个其它组件可以附加地参与实施本公开的技术。
94.加法器350将从逆变换器输出的残差块与从帧间预测器或帧内预测器输出的预测块相加以重构当前块。重构的当前块中的像素被用作用于对稍后要被解码的块进行帧内预测的参考样本。
95.滤波器单元360对重构块之间的边界进行解块滤波,以消除由逐块解码引起的块伪像,并且将经解块滤波的块存储在存储器370中。当重构了一个图片中的所有块时,重构的图片用作用于对要解码的后续图片中的块进行帧间预测的参考图片。
96.本公开涉及使用双向光流(bio)估计技术来细化通过帧间预测获得的运动矢量信息。编码装置在帧间预测操作中以编码单元(cu)执行运动估计和补偿,然后将得到的运动矢量(mv)值发送给解码装置。编码装置和解码装置可以使用bio进一步以小于cu的像素为单位或子块为单位(即,子cu)细化mv值。即,bio可以基于每个块的尺寸从n
×
n块中以1
×
1块(即,像素)为单位精确地补偿编码块cu的运动。另外,由于存在用于计算运动矢量的显式方程,所以不需要用于获取运动信息的搜索操作和用于发送运动信息的信令。
97.图4是用于说明bio的基本概念的参照图。
98.用于视频编码和解码的bio基于以下假设:运动矢量信息应该是双向(或双预测)信息,并且该运动是在时间轴上顺序移动的稳定运动。图4示出了参考两个参考图片ref0和ref1的当前图片(b图片)。
99.首先,假设针对当前图片中要编码的当前块已经通过(正常)双向运动预测确定了双向运动矢量mv0和mv1,其中mv0和mv1指示参考图片ref0和ref1中与当前块最相似的对应区域(即,参考块)。两个双向运动矢量具有表示当前块的运动的值。即,通过将当前块设置为一个单元并作为整体来估计和补偿该单元的运动来获得所述值。
100.在图4的示例中,p0是由运动矢量mv0指示的参考图片ref0中的像素,以对应于当前块中的像素p,并且p1是由运动矢量mv1指示的参考图片ref1中的像素,以对应于当前块中的像素p。此外,假设图4中的像素p的运动与当前块的整体运动略有不同。例如,当位于图4的ref0中的像素a处的物体经由当前图片的当前块中的像素p移动到ref1中的像素b,像素a和像素b可以具有彼此非常相似的值。另外,在这种情况下,ref0中与当前块中的像素p最相似的点不是由运动矢量mv0指示的p0,而是已经将p0移动了预定位移矢量(v
x
τ0,vyτ0)的像素a。ref1中与当前块中的像素p最相似的点不是由运动矢量mv1指示的p1,而是已经将p1移动了预定位移矢量(-v
x
τ1,-vyτ1)的像素b。在下文中,为简单起见,将(v
x
,vy)称为“bio运动矢量”。
101.因此,在预测当前图片中当前块的像素p的值时,与使用由双向运动矢量mv0和mv1所指示的参考像素p0和p1相比,使用两个参考像素a和b的值能够进行更准确的预测。如上所述,考虑到由bio运动矢量(v
x
,vy)指定的当前块内的像素级运动改变用于预测当前块的一个像素的参考像素的概念可以扩展到当前块内的子块。
102.在下文中,将描述用于根据bio技术为当前块中的像素生成预测值的理论方法。为了简单起见,假设基于bio的双向运动补偿是在像素的基础上执行的。
103.假设通过(正常)双向运动预测针对当前图像中要编码的当前块的双向运动矢量mv0和mv1,其中mv0和mv1指示参考图片ref0和ref1中与当前图片中编码的当前块最相似的相应区域(即,参考块)。解码装置可以根据比特流中包括的运动矢量信息生成双向运动矢量mv0和mv1。另外,将与当前块内的像素(i,j)相对应的、由运动矢量mv0表示的参考图片ref0内的像素的亮度值定义为i
(0)
(i,j),并且将与当前块内的像素(i,j)相对应的、由运动矢量mv1表示的参考图片ref1内的像素的亮度值被定义为i
(1)
(i,j)。
104.可以将与当前块中的像素相对应的、由bio运动矢量(v
x
,vy)表示的参考图片ref0中的像素a的亮度值定义为并且可以将参考图片ref1中的像素b的亮度值定义为因此,像素a和像素b之间的流差δ通常被定义为下式1。
105.[式1]
[0106][0107]
这里,i
(k)
(k=0,1)表示与当前块内要预测的像素相对应的、由运动矢量mv0和mv1表示的参考图片ref0和ref1内的像素的亮度。(v
x
,vy)是要计算的bio运动矢量。为了简单起见,从上式1的各个项中省略了参考图片ref0和ref1内的像素的位置(i,j)。和分别表示i
(k)
梯度的水平和垂直分量。τ0和τ1表示当前图片与两个参考图片ref0和ref1之间的时间距离。可以基于图片顺序计数(poc)来计算τ0和τ1。例如,τ0=poc(当前)-poc(ref0),并且τ1=poc(ref1)-poc(当前)。这里,poc(当前)、poc(ref0)和poc(ref1)分别表示当前图片、参考图片ref0和参考图片ref1的poc。
[0108]
基于运动与周围像素局部一致的假设,要预测的当前像素(i,j)的bio运动矢量考虑了式1中存在于要预测的当前像素(i,j)周围的一定区域ω中的全部像素(i',j')的差值δ。即,当前像素(i,j)的bio运动矢量可以确定为产生针对一定区域ω中的各个像素获得的差值δ[i',j']的最小平方和的矢量,如式2所示。
[0109]
[式2]
[0110][0111]
在此,(i',j')表示位于搜索区域ω中的全部像素。由于当前像素的bio运动矢量(v
x
,vy)可以通过计算如式2这样的显式方程来确定,该显式方程使当前像素位置的目标函数(δ2之和)最小,因此无需搜索用于获取详细运动信息的搜索操作和用于发送运动信息的信令。
[0112]
通常,搜索区域ω可以定义为以当前像素(i,j)为中心的尺寸为(2m+1)
×
(2n+1)的掩蔽窗口。掩蔽窗口的结构和尺寸极大地影响用于确定bio运动矢量(v
x
,vy)的算法的复杂度和精度。因此,选择掩蔽窗口对于用于确定bio运动矢量(v
x
,vy)的算法非常重要。
[0113]
当确定了当前像素的bio运动矢量(v
x
,vy)时,可以按照下式3计算当前像素(i,j)的基于bio运动矢量的双向预测值pred
bio

[0114]
[式3]
[0115][0116]
在式3中,(i
(0)
+i
(1)
)/2是典型的双向预测补偿,因此剩余项可以称为bio偏移。
[0117]
在下文中,将参照图5a和图5b描述基于bio的双向运动补偿方法。以下描述的方法共用于视频编码装置和视频解码装置。尽管图5a和图5b中未示出,但是假设编码装置已经对要用作参考图片的图片进行编码和解码,并且将该图片存储在存储器中。还假设解码装置已经对要用作参考图片的图片进行了解码并将图片存储在存储器中。
[0118]
图5a是例示了根据本公开实施方式的用于基于像素级bio所执行的双向运动补偿的方法的流程图。
[0119]
首先,编码装置和解码装置确定指示第一参考图片中与当前块最相似的第一对应区域的第一运动矢量,并确定指示第二参考图片中与当前块最相似的第二对应区域的第二运动矢量(s510)。
[0120]
编码装置和解码装置通过以像素为基础应用bio处理来确定与当前块中的每个对象像素相对应的各个bio运动矢量(v
x
,vy)(s520)。
[0121]
可以将bio运动矢量(v
x
,vy)确定为是使得位于搜索区域中的各个像素(i’,j’)的流差的平方和(即,式2)最小的矢量,该搜索区域是由以相应对象像素(i,j)为中心的预定义的掩蔽窗口限定的。
[0122]
在一些示例中,在确定位于当前块的边缘处的像素的bio运动矢量时,可以不考虑位于当前块外部的区域中的像素的流差。
[0123]
在一些示例中,可以使用具有(2m+1)
×
(2n+1)尺寸的矩形掩蔽窗口。优选地,例如,可以使用具有5
×
5尺寸的正方形掩蔽窗口。在一些其它示例中,可以使用具有诸如加号形状或菱形形状的非正方形形状的掩蔽窗口。
[0124]
编码装置和解码装置基于以像素为基础计算出的bio运动矢量(v
x
,vy),使用双向预测来生成当前块的预测块(s530)。即,编码装置和解码装置使用各个bio运动矢量基于式3来生成对象像素的双向预测值。
[0125]
最后,编码装置和解码装置使用所生成的预测块对当前块进行编码或解码(s540)。
[0126]
图5b是例示了根据本公开实施方式的用于基于子块级bio所执行的双向运动补偿的方法的流程图。
[0127]
首先,编码装置和解码装置确定指示第一参考图片中与当前块最相似的第一对应区域的第一运动矢量,并确定指示第二参考图片中与当前块最相似的第二对应区域的第二运动矢量(s560)。
[0128]
编码装置和解码装置通过以子块为基础应用bio处理来确定与当前块内的每个子块相对应的各个bio运动矢量(v
x
,vy)(s570)。
[0129]
可以将bio运动矢量(v
x
,vy)确定为是使得位于各个搜索区域中的像素(i’,j’)的流差的平方和(即,式2)最小的矢量,该搜索区域是由子块内以每个像素(i,j)为中心的预定义掩蔽窗口限定的。另选地,可以将bio运动矢量(v
x
,vy)确定为是使得位于各个搜索区域中的像素(i’,j’)的流差的平方和最小的矢量,各个搜索区域是由子块内以一些像素(i,j)为中心的预定掩蔽窗口所限定的。例如,应用了掩蔽窗口的像素的位置和未应用掩蔽窗口
的像素的位置可以形成格子图案、水平条纹图案或垂直条纹图案。
[0130]
在一些实施方式中,代替重复计算流差,可以根据差值的重复次数,对重复的差值进行加权。在一些示例中,在确定位于当前块的边缘处的子块的bio运动矢量时,可以不考虑位于当前块外部的区域中的像素的流差。
[0131]
在一些实施方式中,可以使用具有(2m+1)
×
(2n+1)尺寸的矩形掩蔽窗口。在一些实施方式中,掩蔽窗口可以具有正方形形状(例如,5
×
5尺寸)。在一些其它实施方式中,可以使用具有诸如加号形状或菱形形状的非正方形形状的掩蔽窗口。在一些实施方式中,可以不使用掩蔽窗口。例如,可以将bio运动矢量(v
x
,vy)确定为是使得子块中的各个像素的流差的平方和最小的矢量。
[0132]
编码装置和解码装置基于以子块为基础计算出的bio运动矢量(v
x
,vy),使用双向预测生成当前块的预测块(s580)。子块中的所有像素共享以子块为基础计算出的bio运动矢量(v
x
,vy)。即,使用针对对象子块所确定的一个bio运动矢量(v
x
,vy),通过式3来计算对象子块中全部像素的基于bio的预测值。
[0133]
最后,编码装置和解码装置使用所生成的预测块对当前块进行编码或解码(s590)。
[0134]
在本公开的一些实施方式中,以像素级为基础应用bio。在一些其它实施方式中,以块级为基础应用bio。在下文中,将首先描述像素级bio处理的实施方式,然后将描述块级bio处理的实施方式。
[0135]
在下面描述的第一实施方式和第二实施方式中,以像素级为基础来应用bio。bio处理中使用的掩蔽窗口的尺寸可以具有(2m+1)
×
(2n+1)尺寸,并且以当前像素(i,j)为中心。为了简单起见,在下面的描述中,假设掩蔽窗口的宽度和高度彼此相等(即,m=n)。在生成当前块的预测块时,像素级bio获得像素级的bio运动矢量,并基于所获得的bio运动矢量生成像素级的双向预测值。
[0136]
第一实施方式
[0137]
在该实施方式中,使用矩形掩蔽窗口来计算像素级的bio运动矢量。在该实施方式中,将参照图6描述确定要预测的像素的bio运动矢量所需的差值δ的总数。图6例示了在当前块中5
×
5掩蔽窗口610和要预测的像素621。当前块中要预测的一个像素621是图6中的阴影线所指示的掩蔽窗口610的中心,并且位于包括要预测的像素621的掩蔽窗口610内的像素数量总共为25。因此,确定当前块中要预测的像素621的bio运动矢量(v
x
,vy)所需的差值δ的数量为25。最后,通过将25个差值δ代入式2来估计要预测的像素的bio运动矢量(v
x
,vy)。一旦基于光流确定了bio运动矢量((v
x
,vy),按照公式3计算当前块的对象像素的双向预测值。该处理重复应用于当前块中的每个像素,以产生构成当前块的预测块的所有像素的预测值。
[0138]
然而,在确定位于当前块的边缘处的像素的bio运动矢量时,即使位于当前块外部的区域中的像素包括在掩蔽窗口中,也可以不考虑该像素的流差。
[0139]
第二实施方式
[0140]
图7是例示了根据第二实施方式的基于bio的运动补偿所使用的非矩形掩蔽窗口的图。
[0141]
与使用正方形掩蔽窗口的第一实施方式不同,本实施方式采用各种形状的掩蔽窗
口。在图7中,呈现了两种类型的掩蔽窗口(即,具有加号形状和菱形形状的掩蔽窗口),但是本公开不排除使用除矩形掩蔽窗口以外的任何形状的掩蔽窗口。使用这样的掩蔽窗口减少了处理在第一实施方式中所使用的正方形掩蔽窗口中的所有像素所花费的复杂度。如图7所示,可以依据参数m的值来缩放加号形状和菱形形状的掩蔽窗口的尺寸。
[0142]
在该实施方式中,将参照图8描述确定子块的bio运动矢量所需的差值δ的总数。
[0143]
图8例示了m=2的菱形形状的掩蔽窗口810和当前块中要预测的像素821。当前块中要预测的一个像素821是图8中由阴影线所指示的掩蔽窗口810的中心,并且包括要预测的像素821的掩蔽窗口810内的像素的数量为13。因此,确定当前块中要预测的像素821的bio运动矢量(v
x
,vy)所需的差值δ的数量为13。最后,通过将13个差值δ代入式2来估计要预测的像素821的bio运动矢量(v
x
,vy)。在该实施方式中,针对当前块中的每个像素执行这些处理,以计算与每个像素相对应的bio运动矢量。
[0144]
然而,在确定位于当前块的边缘处的像素的bio运动矢量时,即使位于当前块外部的区域中的像素包括在掩蔽窗口中,也可以不考虑该像素的流差。
[0145]
在下面描述的第三实施方式到第八实施方式中,在块级应用基于bio的运动补偿。在子块级bio运动补偿过程中,子块尺寸可以为m
×
n(其中,m和n为整数)。m
×
n子块中的全部像素共享以子块级为基础计算出的bio运动矢量(v
x
,vy)。即,使用计算出的bio运动矢量(v
x
,vy)按照式3来计算m
×
n子块中全部像素的基于光流的双向预测。尽管本公开的方法不限制子块的尺寸,但是应当注意,为了简单起见,在以下实施方式中基于4
×
4子块描述bio处理。
[0146]
第三实施方式
[0147]
在该实施方式中,为了确定子块的一个bio运动矢量,将以子块中的每个像素为中心的矩形掩蔽窗口应用于每个像素,并且针对位于掩蔽窗口中的像素中的每个估计式1的差值δ。最后,将这些差值代入式2,以估计与子块相对应的bio运动矢量。
[0148]
图9例示了根据本实施方式中提出的方案的示例的5
×
5掩蔽窗口910和4
×
4子块920的示例。图9中所示的掩蔽窗口910具有m=2的正方形形状。子块920中的当前像素(i,j)921是对应于图9的阴影部分的掩蔽窗口910的中心。对于子块的一个像素(i,j),在掩蔽窗口910中的像素的总数为25(=(2m+1)
×
(2m+1)=5
×
5)。因此,基于子块的尺寸和掩蔽窗口的尺寸,确定4
×
4子块的bio运动矢量所需的差值的总数为400(=16
×
25)。将子块的bio运动矢量确定为是使得这些差值的平方和最小的矢量。
[0149]
应当注意,在上述400个差值中,除了64个不同的差值之外的其余差值是这64个差值的重复形式。例如,如图10a所示,以位于子块1020的位置(0、0)处的像素为中心的掩蔽窗口1010a中所位于的大多数像素也位于以子块1020的位置(1,0)处的像素为中心的掩蔽窗口1010b内。因此,代替重复计算交叠的差值,可以通过根据交叠的数量为交叠的差值分配权重来简化式2的计算。例如,当将5
×
5掩蔽窗口应用于4
×
4子块时,计算出总共64个不同的差值,然后可以为每个差值分配相应权重。然后,可以确定bio运动矢量(v
x
,vy)以使加权差值的平方和最小。在图10b中,标记在像素上的数字是根据交叠数量的权重值。此处,突出显示的4
×
4块表示子块的位置。
[0150]
第四实施方式
[0151]
与使用矩形的掩蔽窗口第三实施方式不同,该实施方式采用各种图案的掩蔽窗口
(如图7所示)。使用这样的掩蔽窗口降低了处理矩形掩蔽窗口中的全部像素所花费的复杂度。
[0152]
图11例示了菱形形状的掩蔽窗口1110和4
×
4子块1120。如图11所示,当使用m=2的菱形形状的掩蔽窗口1110时,掩蔽窗口1110中的像素总数为13。因此,确定子块的bio运动矢量(v
x
,vy)所需的差值δ的总数为208(=16
×
13)。最后,通过将208个差值代入式2来估计与4
×
4块相对应的bio运动矢量。如在第三实施方式中一样,可以为差值分配与交叠的数量相对应的权重,并且可以将加权的差值代入式2以估计4
×
4子块的bio运动矢量。
[0153]
第五实施方式
[0154]
在第三实施方式和第四实施方式中,掩蔽窗口应用于子块中的全部像素。相反,在该实施方式中,掩蔽窗口应用于子块中的一些像素。
[0155]
图12是例示了在子块中应用了掩蔽窗口的像素的三种类型的位置的图。在一种类型中,应用了掩蔽窗口的像素的位置和未应用掩蔽窗口的像素的位置形成格子图案(参见图12中的(a))。在其它两种类型中,像素分别形成水平条纹图案和垂直条纹图案(参见图12中的(b)和(c))。除了图12中所示出的类型之外,本公开不排除使用仅对子块中的一些像素进行采样和处理的任何类型。因此,在上述实施方式中,可以减少对于子块中的所有像素计算数量与掩蔽窗口相对应的差值所需的计算复杂度。
[0156]
在本实施方式中,将参照图13描述确定子块的bio运动矢量所需的差值δ的总数。图13例示了5
×
5正方形掩蔽窗口1310和在格子图案中采样的4
×
4子块1320的像素。5
×
5正方形掩蔽窗口1310中的像素的总数为25。应该通过将掩蔽窗口应用于子块中由阴影指示的八个像素中的每一个来估计式1的25个差值δ。因此,确定4
×
4子块的bio运动矢量(v
x
,vy)所需的差值δ的总数为200(=8
×
25)。最后,将200个差值代入式2,以估计对应于4
×
4块的bio运动矢量。如在第三实施方式中一样,可以为差值分配与交叠的数量相对应的权重,并且可以将加权的差值代入式2以估计4
×
4子块的bio运动矢量。
[0157]
第六实施方式
[0158]
该实施方式是在第四实施方式和第五实施方式中呈现的方案的组合。也就是说,本实施方式采用除了矩形形状之外的各种其它图案的掩蔽窗口(类似于第四实施方式)并且仅将掩蔽窗口应用于子块中的一些采样像素(类似于第五实施方式)。因此,与第四实施方式和第五实施方式相比,该实施方式的技术的计算复杂度低。
[0159]
图14例示了根据本实施方式中提出的方案的示例的菱形形状的掩蔽窗口1410和在4
×
4子块1420中应用了bio处理的采样像素。在图14的情况下,确定子块的bio运动矢量(v
x
,vy)所需的差值δ的总数为104(=8
×
13)。最后,将104个差值代入式2以估计对应于4
×
4子块的bio运动矢量(v
x
,vy)。如同第三实施方式中一样,可以向差值分配与交叠的数量相对应的权重,并且可以将加权的差值代入式2以估计4
×
4子块的bio运动矢量。
[0160]
第七实施方式
[0161]
在先前的实施方式中,针对子块的(全部或一些)像素中的每个计算数量对应于掩蔽窗口的尺寸的差值δ。例如,在第三实施方式中,使用5
×
5掩蔽窗口确定4
×
4子块的bio运动矢量所需的差值的总数为400(=16
×
25)。相反,该实施方式不采用掩蔽窗口。该实施方式可以被视为使用1
×
1掩蔽窗口。即,对于子块中的每个像素,仅计算式1的一个差值δ。例如,估计4
×
4子块的bio运动矢量所考虑的差值δ的总数为16。最后,仅16个差值δ被代
入式2以估计4
×
4子块的bio运动矢量。即,计算bio运动矢量以使16个差值的平方和最小化。
[0162]
另选地,可以通过为16个差值分配不同的权重并且将加权的差值代入式2来估计与4
×
4子块相对应的bio运动矢量。这里,可以为子块内部的区域分配更高的权重,并且可以为子块边缘区域分配更低的权重。图15示出了为子块的每个像素分配权重的示例。
[0163]
第八实施方式
[0164]
在本实施方式中,在确定位于当前块的边缘处的子块的bio运动矢量时,强加了在当前块外部的区域中不计算差值δ的约束。例如,假设当前块的尺寸是16
×
16,并且针对每个4
×
4子块计算bio运动矢量,如图16a所示。在确定16个4
×
4子块中位于当前块的边缘的12个4
×
4子块的bio运动矢量时,不考虑位于当前块外部的区域中的掩蔽像素的差值δ。这里,位于当前块外部的区域中的掩蔽像素可以根据子块的尺寸以及掩蔽窗口的尺寸和位置而变化。因此,在本实施方式中,确定子块的bio运动矢量所要计算的差值δ的数量可以取决于相应子块当前块中的位置。
[0165]
当该方案与第三实施方式的用于将权重分配给交叠的差值的方案相结合时,如图16b所示,给出了每个掩蔽像素的权重。即,在图16b中标记有0的像素是位于当前块外部的像素,并且不计算其差值。根据该方案,要计算的差值的数量比第三实施方式中的少。因此,减少了计算量,并且由于不参考位于当前块外部的像素的值,因此可以节省存储器。
[0166]
该方案不限于使用正方形掩蔽窗口的情况,甚至可以应用于使用包括菱形形状和加号形状的各种形状的掩蔽窗口的情况。
[0167]
尽管出于示例性目的已经描述了示例性实施方式,但是本领域技术人员将理解,在不脱离实施方式的构思和范围的情况下,可以有各种修改和变型。为了简洁和清楚起见,已经描述了示例性实施方式。因此,本领域普通技术人员将理解,实施方式的范围不限于以上明式地描述的实施方式,而是包括权利要求及其等同物。
[0168]
相关申请的交叉引用
[0169]
本技术要求于2017年4月24日在韩国提交的专利申请no.10-2017-0052290和于2017年6月19日在韩国提交的专利申请no.10-2017-0077246的优先权,全部内容通过引用合并于此。

技术特征:
1.一种用于解码视频数据的装置,该装置包括:存储器;以及一个或更多个处理器;其中,所述一个或更多个处理器被配置为执行以下操作:确定指示第一参考图片中与当前块相对应的第一区域的第一运动矢量、以及指示第二参考图片中与所述当前块相对应的第二区域的第二运动矢量;通过以逐个子块为基础应用双向光流bio处理来生成当前块的预测块;以及使用所生成的预测块重构所述当前块,其中,生成所述预测块的步骤包括以下步骤:确定构成所述当前块的每个子块的bio运动矢量;以及基于所确定的bio运动矢量来生成针对构成对应子块的像素中的每一个的预测值,其中,所述bio运动矢量基于针对围绕所述对应子块的方块内的像素所获得的流差来确定,其中,针对所述方块内的给定像素的所述流差是基于所述第一参考图片上的与所述方块内的所述给定像素相对应的第一点与所述第二参考图片上的与所述方块内的所述给定像素相对应的第二点来计算的,并且其中,所述子块的尺寸是4
×
4。2.根据权利要求1所述的装置,其中,所述bio运动矢量被确定为是使得针对围绕所述对应子块的所述方块内的各个像素所获得的流差的平方和或加权平方和最小的矢量。3.根据权利要求2所述的装置,其中,针对位于围绕所述对应子块的所述方块的内部区域的像素所获得的流差,分配的权重更高;并且针对位于围绕所述对应子块的所述方块的边缘区域的像素所获得的流差,分配的权重更低。4.一种用于编码视频数据的装置,该装置包括:存储器;以及一个或更多个处理器;其中,所述一个或更多个处理器被配置为执行以下操作:确定指示第一参考图片中与当前块相对应的第一区域的第一运动矢量、以及指示第二参考图片中与所述当前块相对应的第二区域的第二运动矢量;通过以子块为基础应用双向光流bio处理来生成所述当前块的预测块;使用所述预测块来确定所述当前块的残差块;以及将所述第一运动矢量、所述第二运动矢量和所述当前块的所述残差块编码成比特流,其中,生成所述预测块的步骤包括以下步骤:确定构成所述当前块的每个子块的bio运动矢量;以及基于所确定的bio运动矢量来生成针对构成对应子块的像素中的每一个的预测值,其中,所述bio运动矢量基于针对围绕所述对应子块的方块内的像素所获得的流差来确定,其中,针对所述方块内的给定像素的所述流差是基于所述第一参考图片上的与所述方块内的所述给定像素相对应的第一点与所述第二参考图片上的与所述方块内的所述给定像素相对应的第二点来计算的,并且
其中,所述子块的尺寸是4
×
4。5.根据权利要求4所述的装置,其中,所述bio运动矢量被确定为是使得针对围绕所述对应子块的所述方块内的各个像素所获得的流差的平方和或加权平方和最小的矢量。6.根据权利要求5所述的装置,其中,针对位于围绕所述对应子块的所述方块的内部区域的像素所获得的流差,分配的权重更高;并且针对位于围绕所述对应子块的所述方块的边缘区域的像素所获得的流差,分配的权重更低。7.一种用于存储编码视频数据的比特流的方法,该方法包括以下步骤:通过执行编码处理将视频数据编码成比特流;以及将所述比特流存储在存储器中;其中,所述编码处理包括以下操作:确定指示第一参考图片中与当前块相对应的第一区域的第一运动矢量、以及指示第二参考图片中与所述当前块相对应的第二区域的第二运动矢量;通过以子块为基础应用双向光流bio处理来生成所述当前块的预测块;使用所述预测块来确定所述当前块的残差块;以及将所述第一运动矢量、所述第二运动矢量和所述当前块的所述残差块编码成比特流,其中,生成所述预测块的步骤包括以下步骤:确定构成所述当前块的每个子块的bio运动矢量;以及基于所确定的bio运动矢量来生成针对构成对应子块的像素中的每一个的预测值,其中,所述bio运动矢量基于针对围绕所述对应子块的方块内的像素所获得的流差来确定,其中,针对所述方块内的给定像素的所述流差是基于所述第一参考图片上的与所述方块内的所述给定像素相对应的第一点与所述第二参考图片上的与所述方块内的所述给定像素相对应的第二点来计算的,并且其中,所述子块的尺寸是4
×
4。8.根据权利要求7所述的方法,其中,所述bio运动矢量被确定为是使得针对围绕所述对应子块的所述方块内的各个像素所获得的流差的平方和或加权平方和最小的矢量。9.根据权利要求8所述的方法,其中,针对位于围绕所述对应子块的所述方块的内部区域的像素所获得的流差,分配的权重更高;并且针对位于围绕所述对应子块的所述方块的边缘区域的像素所获得的流差,分配的权重更低。

技术总结
编解码视频数据的装置、存储编码视频数据比特流的方法。用于解码视频数据的装置,该装置包括:存储器;以及处理器,处理器执行以下操作:确定指示第一参考图片中与当前块相对应的第一区域的第一运动矢量,指示第二参考图片中与当前块相对应的第二区域的第二运动矢量;通过以逐个子块为基础应用BIO处理来生成预测块;以及使用预测块重构当前块,其中,生成预测块的步骤包括:确定构成当前块的每个子块的BIO运动矢量;以及生成针对构成对应子块的像素中的每一个的预测值,BIO运动矢量基于流差来确定,并且流差是基于第一参考图片上的与方块内的给定像素相对应的第一点与第二参考图片上的与方块内的给定像素相对应的第二点来计算的。计算的。计算的。


技术研发人员:林晶娟 金孝性 孙世勋 申在燮 李善英
受保护的技术使用者:SK电信有限公司
技术研发日:2018.03.15
技术公布日:2023/9/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐