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

帧间预测方法及相关设备与流程

2022-06-08 19:04:35 来源:中国专利 TAG:


1.本技术涉及视频编解码技术领域,具体而言,本技术涉及一种帧间预测方法及相关设备。


背景技术:

2.在视频编码中,编码端将视频图像序列中的各图像划分为若干编码单元后,使用帧内预测模式和/或帧间预测模式确定各编码单元的预测值,将各编码单元的预测值与原始值之间的差值进行变换和量化后得到的系数信息,结合其他编码信息经熵编码后生成码流。
3.在视频解码中,解码端从码流中解析出各编码单元的编码信息和系数信息后,根据编码信息使用帧内预测模式和/或帧间预测模式确定各编码单元的预测值,对系数信息进行反量化和反变换后得到差值,将预测值与差值相加后获得各编码单元的重建值,进而基于重建值得到视频图像序列中的各图像。
4.其中,帧间预测模式的原理为基于不同图像中已经编码或已经解码的图像来预测当前图像。在帧间预测过程中,基于运动矢量指向编码单元在参考图像中的位置确定最优匹配块时,需要进行插值。然而,现有技术中,采用固定系数的插值滤波器进行插值,对于具有分辨率、颗粒度、纹理特性和运动特性等方面差异的视频,帧间预测的准确性差,导致视频图像的编解码性能差。


技术实现要素:

5.为至少能解决上述的技术缺陷之一,本技术提供了一种帧间预测方法及相关设备,该技术方案如下所示:
6.第一方面,提供了一种帧间预测方法,包括:
7.获取编码单元的编码信息;
8.基于所述编码信息确定所述编码单元在已解码的参考图像中的样本点;
9.确定与所述编码单元对应的插值滤波器;
10.基于所述样本点与所述插值滤波器,确定所述编码单元的预测样本矩阵。
11.在一个实施例中,所述确定与所述编码单元对应的插值滤波器;基于所述样本点与所述插值滤波器,确定所述编码单元的预测样本矩阵,包括以下至少一项:
12.若所述样本点的横坐标位置和/或纵坐标位置为非整像素点位置,将深度神经网络的第一插值滤波器确定为所述插值滤波器,基于所述插值滤波器,得到所述编码单元的预测样本矩阵;若所述样本点的横坐标位置和纵坐标位置为整像素点位置,将所述样本点所在的第一样本矩阵确定为所述编码单元的预测样本矩阵;
13.获取所述编码单元对应待解码图像的参考图像;将深度神经网络的第一插值滤波器作为所述插值滤波器对所述待解码图像的参考图像进行处理,得到第一预设像素点参考图像;基于所述样本点、所述第一预设像素点参考图像、和/或已解码的参考图像,确定所述
编码单元的预测样本矩阵;
14.将深度神经网络的第二插值滤波器作为所述插值滤波器,基于所述插值滤波器,得到第四样本矩阵;基于所述样本点与第四样本矩阵确定所述编码单元的预测样本矩阵。
15.在另一个实施例中,所述基于所述插值滤波器,得到所述编码单元的预测样本矩阵,包括:
16.将所述样本点所在的第一样本矩阵,移动所述样本点位置至整像素样本点位置,得到第二样本矩阵;
17.基于所述第一插值滤波器的卷积核信息扩充所述第二样本矩阵,得到第三样本矩阵;
18.基于所述编码单元的量化参数生成量化矩阵;
19.将所述第三样本矩阵和量化矩阵输入所述插值滤波器,得到所述编码单元的预测样本矩阵。
20.在另一个实施例中,所述基于所述样本点和所述第一预设像素点参考图像,确定所述编码单元的预测样本矩阵,包括以下至少一项:
21.若所述样本点的横坐标位置和纵坐标位置均为整像素样本点位置,将所述已解码的参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为所述编码单元的预测样本矩阵;
22.若所述样本点的横坐标位置和/或纵坐标位置为第一预设像素点位置,将所述第一预设像素点参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为所述编码单元的预测样本矩阵;
23.若所述样本点的横坐标位置和/或纵坐标位置为第二预设像素点位置,基于所述深度神经网络的第一插值滤波器对所述待解码图像的参考图像进行处理,得到第二预设像素点参考图像;将所述第二预设像素点参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为所述编码单元的预测样本矩阵;
24.其中,所述第一目标值基于所述样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数确定。
25.在另一个实施例中,所述将深度神经网络的第二插值滤波器作为所述插值滤波器,基于所述插值滤波器,得到第四样本矩阵,包括以下至少一项:
26.若所述样本点的横坐标位置和/或纵坐标位置为整像素点位置,将深度神经网络的第二插值滤波器中的第一子插值滤波器作为所述插值滤波器,基于所述第一子插值滤波器,得到第四样本矩阵;
27.若所述样本点的横坐标位置和/或纵坐标位置为第二预设像素点位置,将深度神经网络的第二插值滤波器中的第二子插值滤波器作为所述插值滤波器,基于所述第二子插值滤波器,得到第四样本矩阵。
28.在另一个实施例中,所述基于所述样本点与第四样本矩阵确定所述编码单元的预测样本矩阵,包括以下至少一项:
29.在所述第四样本矩阵中抽取第二目标值所对应第二编码单元的元素值作为所述编码单元的预测样本矩阵;
30.若所述样本点的横坐标位置和纵坐标位置均为整像素样本点位置,将所述样本点
所在的第一样本矩阵作为所述编码单元的预测样本矩阵;否则,在所述第四样本矩阵中抽取第二目标值所对应第二编码单元的元素值作为所述编码单元的预测样本矩阵;
31.若所述样本点的横坐标位置和纵坐标位置均为整像素样本点位置,基于所述编码单元对应码流中的标识信息,基于所述样本点与第四样本矩阵确定所述编码单元的预测样本矩阵;
32.若所述样本点的横坐标位置和/或纵坐标位置均为第二预设像素样本点位置,在所述第四样本矩阵中抽取第三目标值所对应第三编码单元的元素值作为所述编码单元的预测样本矩阵;
33.其中,所述第二目标值基于所述样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数,以及所述第二编码单元的宽和高分别与第一预设数值的乘积确定;所述第三目标值基于所述样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数,以及所述第三编码单元的宽和高分别与第二预设数值的乘积确定。
34.在另一个实施例中,所述编码信息包括运动矢量精度信息;所述运动矢量精度信息包括运动矢量精度标识;
35.所述确定与所述编码单元对应的插值滤波器;基于所述样本点与所述插值滤波器,确定所述编码单元的预测样本矩阵,包括以下至少一项:
36.若所述运动矢量精度标识为第一预设阈值,基于深度神经网络的第一插值滤波器或第二插值滤波器,得到所述编码单元的预测样本矩阵;
37.若所述运动矢量精度标识为第二预设阈值,基于第三插值滤波器,得到所述编码单元的预测样本矩阵或将所述样本点所在的第一样本矩阵确定为所述编码单元的预测样本矩阵。
38.在一个实施例中,还包括:基于所述预测样本矩阵对所述编码单元进行解码。
39.在另一个实施例中,所述第一插值滤波器的训练步骤包括:
40.获取第一视频中图像的第一编码信息和重建编码单元;
41.基于所述第一编码信息确定对应的第一编码单元在已解码的参考图像中的样本点;
42.将基于所述样本点、第一编码信息和/或重建编码单元处理得到的训练数据,输入第一插值滤波器神经网络,得到插值后的预测编码单元;
43.基于所述预测编码单元与所述第一编码单元,确定所述第一插值滤波器神经网络的参数。
44.在另一个实施例中,所述获取第一视频中图像的第一编码信息和重建编码单元,包括:
45.获取包括内容特征的第二视频;
46.对所述第二视频进行时间和/或空间的上采样和下采样,得到第一视频;
47.基于所述第一视频确定对应的第一编码信息和重建编码单元。
48.在另一个实施例中,所述将基于所述样本点、第一编码信息和/或重建编码单元处理得到的训练数据,输入第一插值滤波器神经网络,得到插值后的预测编码单元,包括:
49.基于所述样本点的横坐标位置和/或纵坐标位置划分重建编码单元,得到至少一组重建编码单元集合;
50.针对每一重建编码单元集合,基于所述第一插值滤波器的卷积核信息和/或所述第一编码单元的量化参数确定对应的训练数据;
51.针对不同的训练数据训练所述第一插值滤波器神经网络中的各子插值滤波器神经网络。
52.在另一个实施例中,所述样本点为所述第一编码单元在所述参考图像中预设精度样本矩阵的左上角位置样本点;
53.所述基于所述样本点的横坐标位置和/或纵坐标位置划分重建编码单元,得到至少一组重建编码单元集合,包括以下至少一项:
54.基于横坐标位置和/或纵坐标位置为第一预设像素点位置的样本点,划分重建编码单元,得到至少一组第一重建编码单元集合;
55.基于横坐标位置和/或纵坐标位置为第二预设像素点位置的样本点,划分重建编码单元,得到至少一组第二重建编码单元集合;
56.其中,所述第一重建编码单元集合数基于所述第一预设像素点位置确定;所述第二重建编码单元集合数基于所述第二预设像素点位置确定。
57.在另一个实施例中,所述第二插值滤波器的训练步骤包括:
58.基于第二视频进行空间下采样,得到第一视频;
59.获取第一视频中图像的第一编码信息和/或重建编码单元;
60.将基于所述第一编码信息和/或重建编码单元处理得到的训练数据,输入第二插值滤波器神经网络,得到插值后的预测编码单元;
61.基于所述第二视频中图像的编码单元与所述预测编码单元,确定所述第二插值滤波器神经网络的参数。
62.在另一个实施例中,所述基于第二视频进行空间下采样,得到第一视频,包括:
63.基于包括内容特征的第二视频中的图像大小进行第一预设倍数下采样,得到第一训练视频;
64.基于包括内容特征的第二视频中的图像大小进行第二预设倍数下采样,得到第二训练视频。
65.在另一个实施例中,所述将基于所述第一编码信息和/或重建编码单元处理得到的训练数据,输入第二插值滤波器,得到插值后的预测编码单元,包括:
66.针对所述第一训练视频对应的编码信息和/或重建编码单元,基于第二插值滤波器神经网络的卷积核信息和/或第一编码单元的量化参数确定对应的第一训练数据;基于所述第一训练数据训练所述第二插值滤波器神经网络中的第一子插值滤波器神经网络;
67.针对所述第二训练视频对应的编码信息和/或重建编码单元,基于第二插值滤波器神经网络的卷积核信息和/或第一编码单元的量化参数确定对应的第二训练数据;基于所述第二训练数据训练所述第二插值滤波器神经网络中的第二子插值滤波器神经网络。
68.第二方面,提供了一种帧间预测装置,包括:
69.获取模块,用于获取编码单元的编码信息;
70.第一确定模块,用于基于所述编码信息确定所述编码单元在已解码的参考图像中的样本点;
71.第二确定模块,用于确定与所述编码单元对应的插值滤波器;
72.预测模块,用于基于所述样本点与所述插值滤波器,确定所述编码单元的预测样本矩阵。
73.第三方面,提供了一种电子设备,该电子设备包括:处理器;以及
74.存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行上述第一方面及其任一实施例所述的方法。
75.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面及其任一实施例所述的方法。
76.本技术提供的技术方案带来的有益效果是:
77.本技术基于当前编码单元的编码信息确定编码单元在已解码的参考图像中的样本点,确定与当前编码单元对应的插值滤波器,进而基于样本点以及相适应的插值滤波器,确定预测样本矩阵,从而提高帧间预测的准确度,提升编解码的性能。
附图说明
78.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
79.图1示出了相关技术中参考图像亮度样本矩阵中整数样本、1/2样本和1/4样本的位置;
80.图2示出了相关技术中图1所示样本位置与其在1/4精度的亮度样本矩阵中的坐标位置的对应关系表;
81.图3为本技术实施例提供的一种帧间预测方法的流程图;
82.图4为本技术实施例提供的一种帧间预测方法的流程图;
83.图5为本技术实施例提供的一种帧间预测方法的流程图;
84.图6为本技术实施例提供的一种帧间预测方法的流程图;
85.图7为本技术实施例提供的一种帧间预测方法中第一插值滤波器的训练方法流程图;
86.图8为本技术实施例提供的一种帧间预测方法中样本矩阵扩充的示意图;
87.图9为本技术实施例提供的一种帧间预测方法的流程图;
88.图10为本技术实施例提供的一种帧间预测方法中第二插值滤波器的训练方法流程图;
89.图11为本技术实施例提供的一种帧间预测装置的结构示意图;
90.图12为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
91.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本发明的限制。
92.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加
一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
93.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
94.视频编解码通常是指处理形成视频或视频序列的图像序列。在视频编码技术中,术语“图片(picture)”、“帧(frame)”或“图像(image)”可以理解为相近术语。视频编码在源侧(如视频发送端)执行,通常包括处理(例如,通过压缩)原始视频图像以减少表示该视频图片所需的数据量(从而更高效地存储和/或传输)。视频解码在目的地侧(如视频接收端)执行,通常包括相对于编码器作逆处理,以重构视频图像。编码部分和解码部分的组合称为编解码(编码和解码)。在本技术中,所涉及的编码单元也可以被称作图像块、树块、和/或编码节点。图像可被称作帧,且参考图像可被称作参考帧。
95.在视频编码中,编码端将视频图像序列中的各图像划分为若干编码单元(codingunit,cu)后,使用帧内预测模式和/或帧间预测模式确定各编码单元的预测值,将各编码单元的预测值与原始值之间的差值进行变换和量化后得到的系数信息,结合其他编码信息经熵编码后生成码流。
96.在视频解码中,解码端从码流中解析出各编码单元的编码信息和系数信息后,根据编码信息使用帧内预测模式和/或帧间预测模式确定各编码单元的预测值,对系数信息进行反量化和反变换后得到差值,将预测值与差值相加后获得各编码单元的重建值,进而基于重建值得到视频图像序列中的各图像。
97.由于量化和反量化使得各编码单元的重建值与原始值之间存在差异,因此上述预测编码对应为有损编码。
98.利用当前编码单元与周围相邻块(又称相邻图像)存在空间和时间的相关性,在帧间预测过程中,首先根据相邻的已编码或已解码的块获得当前编码单元的运动矢量预测值;将在参考图像(已编码或已解码的图像)中导出运动矢量预测值所指向的位置作为搜索中心,并在一定的搜索范围内找到当前编码单元的最匹配块;由于运动矢量以1/4精度为基本单位,当前编码单元的最匹配块中各样本点的位置可能为整像素样本点位置,也可能为亚像素样本点位置,其中亚像素样本点位置(例如1/2和1/4精度位置)的值利用周围整像素样本点位置的值插值获得;最匹配块位置与搜索中心位置之间的差值为运动矢量差值,最匹配块中各样本点的值为当前编码单元中各样本点的预测值。在相关技术中,还可以对预测值进行修正获得最终的预测值,例如在avs3中提供有:帧间双向梯度预测样本改善技术,利用双向光流技术导出帧间预测中预测样本矩阵的改善值,预测补偿技术等方法。
99.其中,avs2中固定使用1/4精度的运动矢量基本单位,avs3中另外引入1/2、1、2和4四种精度的运动矢量基本单位,用来减小编码运动矢量差值所消耗的比特数,从而进一步提高编码效率。在编码端对1/4、1/2、1、2和4五个运动矢量精度进行编码,通过率失真优化过程选择最优的运动矢量精度,并将对应的索引值写入码流。五个运动矢量精度对应的索引值如表1所示。
100.表1 运动矢量精度索引和运动矢量精度对应关系
101.运动矢量精度索引01234运动矢量精度1/41/2124
102.现有视频编码标准中,例如vvc和avs3等,对于相同亚像素样本点位置使用相同系数的滤波器进行插值。例如图1中,和整像素样本点位于同一行的样本点a
0,0
、b
0,0
及c
0,0
的预测值由水平方向距离插值点最近的8个整数值滤波得到,预测值获取方式如下:
[0103][0104]
在上述预测值的获取方式中,以a
0,0
为例说明:在公式中,clip1指代预测值对应的格式;在4*a-2,0
中,4为所采用滤波器的固定系数、-2为横坐标值、0为纵坐标值;其中,32为常数(与所采用滤波器相关)。
[0105]
和整像素样本点位于同一列的样本点d
0,0
、h
0,0
及n
0,0
的预测值由垂直方向距离插值点最近的8个整数值滤波得到,预测值获取方式如下:
[0106]
样本位置e
0,0
、i
0,0
、p
0,0
、f
0,0
、j
0,0
、q
0,0
、g
0,0
、k
0,0
及r
0,0
的预测值获取方式如下:
[0107][0108][0109]
其中:
[0110][0111]
在上述例子中,大写字母标记的是整数样本位置(如a
0,-2
),小写字母标记的是1/2和1/4样本位置(如e
0,0
和f
0,0
)。其中,以a
0,-2
为例,0表示横坐标值、-2表示纵坐标值;以a-2,i
为例,-2表示横坐标值、i表示纵坐标值;clip1指代预测值对应的格式;以计算e
0,0
预测值为例:在4*a'
0,-2
中,4为所采用滤波器的固定系数、a'
0,-2
可以采用对应的公式a'
0,i
计算获得(i
表示纵坐标值)。位深bitdepth是指采用多少比特位来定义一个像素点;《《为左移位;》》为右移位。
[0112]
其中,在图1所示的样本位置与其在1/4精度的亮度样本矩阵中的坐标(fx,fy)的对应关系如图2所示,其中,xfracl=fx&3,yfracl=fy&3;&为运算符。
[0113]
由于上述方法中采用固定系数的插值滤波器进行插值,其对于具有分辨率、颗粒度、纹理特性和运动特性等方面差异的视频,进行帧间预测的准确性差,导致视频图像的编解码性能差。
[0114]
为解决上述问题,本技术提出一种帧间预测方法,利用深度神经网络在图像处理方面表现出来的优势,采用与当前编码视频序列相适应的深度神经网络的插值滤波器进行插值,从而提高帧间预测的准确度,提升编解码的性能。
[0115]
下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
[0116]
本技术实施例中提供了一种帧间预测方法,如图3所示,该方法包括下述步骤301-304:
[0117]
步骤301:获取编码单元的编码信息。
[0118]
具体地,可以从码流中获得当前待解码的编码单元的编码信息,编码信息可以包括:编码单元信息,量化参数信息;其中,编码单元信息可以包括:模式信息,自适应运动矢量精度索引值(amvrindex),预测参考模式,参考索引,运动矢量差值信息(x分量的运动矢量差值为mvdx,y分量的运动矢量差值为mvdy)。
[0119]
在本技术中,设当前待解码的编码单元的宽为w,高为h;该编码单元左上角位置样本点在当前待解码图像中的位置坐标为(x1,y1),其中x1为横坐标,y1为纵坐标,且x1和y1均为整像素点位置。
[0120]
步骤302:基于编码信息确定编码单元在已解码的参考图像中的样本点。
[0121]
具体地,已解码的参考图像可以是当前待解码的编码单元的相邻图像。考虑到运动矢量以1/4精度为基本单元,可以根据编码信息导出当前待解码的编码单元指向的参考图像中的1/4精度样本矩阵的左上角样本点位置坐标为(x2,y2)的第一样本矩阵;其中:x2=(x1《《2) (mvdx《《amvrindex) mvpx,y2=(y1《《2) (mvdy《《amvrindex) mvpy,《《为左移位操作,mvpx和mvpy为根据编码信息导出的当前待解码的编码单元的运动矢量预测值的x分量和y分量,且均以1/4精度为基本单位;第一样本矩阵包含w列h行,其中x2表征横坐标位置,y2表征纵坐标位置,且x2和y2可能是整像素样本点位置,也可能不是整像素样本点位置。
[0122]
步骤303:确定与编码单元对应的插值滤波器。
[0123]
具体地,在本技术中涉及的插值滤波器包括基于深度神经网络(deep neural network)的第一插值滤波器、基于深度神经网络的第二插值滤波器,和相关技术中涉及的第三插值滤波器。
[0124]
其中,本技术中所用第三插值滤波器为相关技术中提供的插值滤波器,可以是固定系数的插值滤波器,例如,双线性插值滤波器、双三次插值滤波器等;也可以是内容自适应插值滤波器或其他种类的插值滤波器。
[0125]
针对当前待解码的编码单元确定相适应插值滤波器的具体情况将在后续步骤中说明。
[0126]
步骤304:基于样本点与插值滤波器,确定编码单元的预测样本矩阵。
[0127]
具体地,确定出当前待解码编码单元的预测样本矩阵,可以确定出该编码单元中各样本点的预测值。
[0128]
本技术实施例基于当前编码单元的编码信息确定编码单元在已解码的参考图像中的样本点,确定编码单元对应的插值滤波器,进而基于样本点以及相适应的深度神经网络的插值滤波器,确定预测样本矩阵,从而提高帧间预测的准确度,提升编解码的性能。
[0129]
以下结合图4对本技术实施例提供的帧间预测方法进行说明。
[0130]
首先,针对待解码的编码单元,执行步骤401获取编码单元的编码信息;进而执行步骤402根据编码信息导出编码单元在已解码的参考图像中的样本点,具体地,还可以同步根据编码信息中的量化参数信息生成量化矩阵;而后,执行步骤403判断与编码单元对应的插值滤波器是否为深度神经网络的插值滤波,具体地,基于编码单元选择相适应的深度神经网络的插值滤波器;当确定与编码单元对应的插值滤波器为深度神经网络的插值滤波器时,执行步骤405基于样本点和量化矩阵,利用深度神经网络的插值滤波器确定编码单元的预测样本矩阵;否则,执行步骤404基于样本点,利用相关技术确定编码单元的预测样本矩阵,如可以将样本点所在的第一样本矩阵确定为预测样本矩阵,可选地,还可以对预测样本矩阵进行修正获得编码单元最终的预测样本矩阵;在获得编码单元对应的预测样本矩阵后,执行步骤406基于预测样本矩阵对编码单元进行解码。
[0131]
以下结合图5对本技术实施例提供的一种帧间预测方法进行说明。在本技术实施例提供的一种帧间预测方法中,执行步骤303和304包括执行下述步骤a1-a2:
[0132]
步骤a1:若样本点的横坐标位置和/或纵坐标位置为非整像素点位置,将深度神经网络的第一插值滤波器确定为插值滤波器。
[0133]
具体地,如果样本点的横坐标位置x2和纵坐标位置y2不全是整像素点位置,可以采用深度神经网络的第一插值滤波器;如果样本点的横坐标位置x2和纵坐标位置y2均为整像素点位置(即y2除以4的余数为0,且x2除以4的余数为0),则可以将样本点所在的第一样本矩阵确定为编码单元的预测样本矩阵。
[0134]
其中,在采用深度神经网络的第一插值滤波器进行插值时,考虑到不同运动适量精度的情况,在以1/4精度为运动矢量基本单位时,第一插值滤波器可以包括对应1/2精度的第一子插值滤波器、第二子插值滤波器、第三子插值滤波器。根据样本点的位置坐标确定采用第一插值滤波器中的哪一子插值滤波器,具体可以包括如下三种情况:
[0135]
(1)如果样本点位置坐标(x2,y2)中的y2为整像素点位置(即y2除以4的余数为0),且x2为1/2像素点位置(即x2除以4的余数为2),则使用第一子插值滤波器。
[0136]
(2)如果样本点位置坐标(x2,y2)中的x2为整像素点位置(即x2除以4的余数为0),且y2为1/2像素点位置(即y2除以4的余数为2),则使用第二子插值滤波器。
[0137]
(3)如果样本点位置坐标(x2,y2)中的x2和y2均为1/2像素点位置(即y2除以4的余数为2,且x2除以4的余数为2),则使用第三子插值滤波器。
[0138]
其中,第一、第二和第三子插值滤波器与位置坐标的对应关系不是唯一的,此处仅作为示例给出。
[0139]
步骤a2:基于插值滤波器,得到编码单元的预测样本矩阵。
[0140]
具体地,基于样本点坐标位置的不同情况,应用不同的插值滤波器进行插值,确定出当前待解码的编码单元的预测样本矩阵。
[0141]
本技术实施例提供的一种帧间预测方法中,执行步骤303和304还包括执行下述步骤a3:
[0142]
步骤a3:若样本点的横坐标位置和纵坐标位置均为整像素点位置,将样本点所在的第一样本矩阵确定为编码单元的预测样本矩阵。
[0143]
具体地,第一样本矩阵在已解码的参考图像中的位置由其左上角的样本点指示。其中,将第一样本矩阵确定为预测样本矩阵可以理解为将第一样本矩阵中各样本点的值作为编码单元中各样本点的预测值。
[0144]
在本技术实施例提供的一种帧间预测方法中,执行步骤a2包括执行下述步骤a21-a24:
[0145]
步骤a21:将样本点所在的第一样本矩阵,移动样本点位置至整像素样本点位置,得到第二样本矩阵。
[0146]
具体地,将导出的样本点所在的第一样本矩阵的左上角样本点的位置按照预设规则移动到最邻近的整像素样本点位置(即,基于样本点移动第一样本矩阵),获得第二样本矩阵(如图8所示)。其中,第二样本矩阵与第一样本矩阵大小一致,包含w列h行。
[0147]
步骤a22:基于第一插值滤波器的卷积核信息扩充第二样本矩阵,得到第三样本矩阵。
[0148]
具体地,根据深度神经网络中卷积核的信息将第二样本矩阵进行扩充获得第三样本矩阵。如果深度神经网络中的卷积核为3x3,则第三样本矩阵包含w 2列h 2行;如果深度神经网络中的卷积核为5x5,则第三样本矩阵包含w 4列h 4行;具体地,下面针对卷积核不同的情况下,可能的扩充(填充)方式进行说明:
[0149]
(1)如图8所示,如果深度神经网络中的卷积核为3x3,则将第二样本矩阵上边第一行样本点的元素值填充到与第一行相邻一行的从第二列到倒数第二列样本点,将第二样本矩阵的下边最后一行样本点的元素值填充到与下边最后一行相邻一行从第二列到倒数第二列样本点,将第二样本矩阵左边第一列样本点的元素值填充到与左边第一列相邻一列从第二行到倒数第二行样本点,将第二样本矩阵右边最后一列样本点的元素值填充到与右边最后一列相邻一列从第二行到倒数第二行样本点,将第二样本矩阵左上角样本点的元素值填充到与上边第一行相邻一行第一列样本点,将第二样本矩阵右上角样本点的元素值填充到与上边第一行相邻一行最后一列样本点,将第二样本矩阵左下角样本点的元素值填充到与下边最后一行相邻一行第一列样本点,将第二样本矩阵右下角样本点的元素值填充到与下边最后一行相邻一行最后一列样本点。
[0150]
(2)如果深度神经网络中的卷积核为5x5,则将第二样本矩阵上边第一行样本点的元素值填充到与第一行相邻两行的从第二列到倒数第二列样本点,将第二样本矩阵的下边最后一行样本点的元素值填充到与下边最后一行相邻两行从第二列到倒数第二列样本点,将第二样本矩阵左边第一列样本点的元素值填充到与左边第一列相邻两列从第二行到倒数第二行样本点,将第二样本矩阵右边最后一列样本点的元素值填充到与右边最后一列相邻两列从第二行到倒数第二行样本点,将第二样本矩阵左上角样本点的元素值填充到与上
边第一行相邻两行第一列样本点,将第二样本矩阵右上角样本点的元素值填充到与上边第一行相邻两行最后一列样本点,将第二样本矩阵左下角样本点的元素值填充到与下边最后一行相邻两行第一列样本点,将第二样本矩阵右下角样本点的元素值填充到与下边最后一行相邻两行最后一列样本点。
[0151]
步骤a23:基于编码单元的量化参数生成量化矩阵。
[0152]
具体地,将从码流中获得的当前待解码的编码单元的量化参数(或者量化步长)生成量化矩阵,量化矩阵的大小与第三样本矩阵相同(包含w列h行),其中量化矩阵中各样本点位置的元素值都相同且均等于量化参数(或者量化步长)。
[0153]
步骤a24:将第三样本矩阵和量化矩阵输入插值滤波器,得到编码单元的预测样本矩阵。
[0154]
具体地,将量化矩阵和第三样本矩阵输入到相适应的第一插值滤波器中,然后将第一插值滤波器输出的第四样本矩阵(包含w列h行)中各样本点的元素值作为当前待解码的编码单元的预测样本矩阵中各样本点的元素值。
[0155]
在一可行的实施例中,还可以进一步地应用相关技术对预测样本矩阵进行修正,获得当前待解码的编码单元的最终的预测样本矩阵。
[0156]
在本技术实施例提供的一种帧间预测方法中,执行步骤a1时,当样本点位置坐标(x2,y2)中的x2和/或y2为1/4像素点位置(即y2除以4的余数为1或者3,x2除以4的余数为1或者3)时,可以对获得的1/2像素样本点位置的元素值和/或整像素样本点位置的元素值使用第三插值滤波器进行插值获得预测样本矩阵,还可以应用相关技术对预测样本矩阵进行修正,获得当前待解码的编码单元最终的预测样本矩阵。
[0157]
在本技术实施例提供的一种帧间预测方法中,执行步骤a1时,第一插值滤波器可以包括对应1/4精度的十五个子插值滤波器。当样本点位置坐标(x2,y2)中的x2和/或y2为1/4像素点位置(即y2除以4的余数为1或者3,x2除以4的余数为1或者3)时,可以根据x2除以4的余数,和y2除以4的余数,分别确定不同情况下所使用的第一插值滤波器的子插值滤波器。在此情况下,可以采用上述步骤a22所示方法得到的第三样本矩阵和采用上述步骤a23得到的量化矩阵输入到确定的1/4精度的子插值滤波器中,然后将插值滤波器输出的第四样本矩阵(包含w列h行)中各样本点的元素值作为当前待解码的编码单元的预测样本矩阵中各样本点元素值。
[0158]
以下结合图6对本技术实施例提供的一种帧间预测方法进行说明。在本技术实施例提供的一种帧间预测方法中,执行步骤303和304包括执行下述步骤b1-b3:
[0159]
步骤b1:获取编码单元对应待解码图像的参考图像。
[0160]
具体地,获取当前待解码图像(划分得到多个编码单元)的参考图像队列中的所有参考图像。待解码图像和参考图像的宽和高分别为wp和hp。
[0161]
步骤b2:将深度神经网络的第一插值滤波器作为插值滤波器对待解码图像的参考图像进行处理,得到第一预设像素点参考图像。
[0162]
具体地,考虑到运动矢量以1/4精度为基本单位,可以采用第一插值滤波器中对应1/2精度的子插值滤波器对待解码图像的参考图像进行处理,获得1/2像素点参考图像(即第一预设像素点参考图像,又称第一预设像素点参考像素或第一预设像素点参考像素图像)。
[0163]
具体地,采用第一插值滤波器对参考图像进行处理时,包括:根据深度神经网络中卷积核的信息对参考图像队列中的各个参考图像进行扩充,例如,如果深度神经网络中的卷积核为3x3,则将参考图像扩充为宽wp 2和高hp 2的第二参考图像,具体扩充的方法可以参考上述步骤a22所示内容;将参考图像队列中的参考图像的量化参数(或者量化步长)生成量化矩阵,量化矩阵的大小与第二参考图像相同(宽w 2和高h 2),其中量化矩阵中各样本点位置的元素值都相同且均等于量化参数(或者量化步长);将量化矩阵和第二参考图像输入到第一插值滤波器中,可以得到:
[0164]
(1)从第一子插值滤波器输出的第一1/2像素点参考图像;
[0165]
(2)从第二子插值滤波器输出的第二1/2像素点参考图像;
[0166]
(3)从第三子插值滤波器输出的第三1/2像素点参考图像;
[0167]
其中,1/2像素点参考图像的宽和高分别为wp和hp。
[0168]
步骤b3:基于样本点、第一预设像素点参考图像和/或已解码的参考图像,确定编码单元的预测样本矩阵。
[0169]
具体地,根据编码信息导出当前待解码的编码单元的参考图像以及当前待解码的编码单元指向的参考图像中1/4精度样本点位置为(x2,y2)。其中,参考图像包括:整像素点参考图像(可以是已解码的参考图像),第一1/2像素点参考图像,第二1/2像素点参考图像和第三1/2像素点参考图像。其中,x2=(x1《《2) (mvdx《《amvrindex) mvpx,y2=(y1《《2) (mvdy《《amvrindex) mvpy,《《为左移位操作,mvpx和mvpy为根据编码单元信息导出的当前编码单元的运动矢量预测值的x分量和y分量,且均以1/4精度为基本单位;x2表征横坐标位置,y2表征纵坐标位置;且2和y2可能为整像素样本点位置,也可能不是整像素样本点位置。则,根据样本点和1/2像素点参考图像确定编码单元的预测样本矩阵,可以理解为基于样本点、待解码图像的参考图像(可以是已解码的参考图像)、和/或第一预设像素点参考图像确定编码单元的预测样本矩阵。
[0170]
在本技术实施例提供的一种帧间预测方法中,执行步骤b3可以包括执行下述步骤b31:若样本点的横坐标位置和纵坐标位置均为整像素样本点位置,将已解码的参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为编码单元的预测样本矩阵。
[0171]
具体地,如果x2和y2均为整像素样本点位置(即x2除以4的余数为0,且y2除以4的余数为0),则将参考图像的整像素点参考图像中左上角位置为(x3,y3)的宽和高分别为w和h的编码单元中各整像素点的值作为当前待解码的编码单元的预测样本矩阵;
[0172]
其中,第一目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数确定,即x3为x2除以4的整数部分,y3为y2除以4的整数部分。
[0173]
在本技术实施例提供的一种帧间预测方法中,执行步骤b3可以包括执行下述步骤b32:若样本点的横坐标位置和/或纵坐标位置为第一预设像素点位置,将第一预设像素点参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为编码单元的预测样本矩阵。
[0174]
具体地,可能包括下述几种情况:
[0175]
(1)如果y2为整像素点位置(即y2除以4的余数为0),且x2为1/2像素点位置(即x2除以4的余数为2),则将第一1/2像素点参考图像中左上角位置为第一目标值(x3,y3)的宽
和高分别为w和h的第一编码单元中各整像素点的值作为当前待解码的编码单元的预测样本矩阵。
[0176]
(2)如果x2为整像素点位置(即x2除以4的余数为0),且y2为1/2像素点位置(即y2除以4的余数为2),则将第二1/2像素点参考图像中左上角位置为第二目标值(x3,y3)的宽和高分别为w和h的第一编码单元中各整像素点的值作为当前待解码的编码单元的预测样本矩阵。
[0177]
(3)如果x2和y2均为1/2像素点位置(即x2除以4的余数为2,且y2除以4的余数为2),则将第三1/2像素点参考图像中左上角位置为第一目标值(x3,y3)中各整像素点的值的宽和高分别为w和h的第一编码单元中各整像素点的值作为当前待解码的编码单元的预测样本矩阵。
[0178]
其中,第一目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数确定;即,x3为x2除以4的整数部分,y3为y2除以4的整数部分。
[0179]
在本技术实施例提供的一种帧间预测方法中,执行步骤b3时,当样本点位置坐标(x2,y2)中的x2和/或y2为1/4像素点位置时,即y2除以4的余数为1或者3,x2除以4的余数为1或者3时;可以使用现有技术对获得的1/2样本点位置的元素值值和/或整像素样本点位置的元素值使用现有技术的插值滤波器进行插值获得预测样本矩阵,还可以应用现有技术对预测样本矩阵进行修正,获得当前待解码的编码单元最终的预测样本矩阵。
[0180]
在本技术实施例提供的一种帧间预测方法中,执行步骤b3可以包括执行步骤b33:若样本点的横坐标位置和/或纵坐标位置为第二预设像素点位置,基于深度神经网络的第一插值滤波器对待解码图像的参考图像进行处理,得到第二预设像素点参考图像;将第二预设像素点参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为编码单元的预测样本矩阵。
[0181]
具体地,第一插值滤波器可以包括对应1/4精度的十五个子插值滤波器。当样本点位置坐标(x2,y2)中的x2和/或y2为1/4像素点位置(即y2除以4的余数为1或者3,x2除以4的余数为1或者3)时,可以根据x2除以4的余数,和y2除以4的余数,分别确定不同情况下所使用的第一插值滤波器的子插值滤波器。在此情况下,将量化矩阵和第二参考图像输入到15个1/4精度的插值滤波器中,分别输出第一到第十五1/4像素点参考图像;1/4像素点参考图像的宽和高分别为wp和hp;根据参考图像和参考图像中1/4精度样本点位置(x2,y2)选择所使用的1/4像素点参考图像(在十五种1/4像素点参考图像中选择一种),则将所选择的1/4像素点参考图像中左上角位置为(x3,y3)的宽和高分别为w和h的编码单元中各整像素点的值作为当前待解码的编码单元的预测样本矩阵;其中,x3为x2除以4的整数部分,y3为y2除以4的整数部分。
[0182]
以下结合附图9对本技术实施例的帧间预测方法进行说明。在本技术实施例提供的一种帧间预测方法中,执行步骤303和304包括执行下述步骤c1-c2:
[0183]
步骤c1:将深度神经网络的第二插值滤波器作为插值滤波器,基于插值滤波器,得到第四样本矩阵。
[0184]
具体地,第二插值滤波器可以包括对应1/2精度的第一子插值滤波器和对应1/4精度的第二子插值滤波器;可以基于不同的子插值滤波器得到不同精度下的第四样本矩阵。
[0185]
步骤c2:基于样本点与第四样本矩阵确定编码单元的预测样本矩阵。
[0186]
在本技术实施例提供的一种帧间预测方法中,执行步骤c1包括执行下述步骤c11:若样本点的横坐标位置和/或纵坐标位置为整像素点位置,将深度神经网络的第二插值滤波器中的第一子插值滤波器作为插值滤波器,基于第一子插值滤波器,得到第四样本矩阵。
[0187]
具体地,如果样本点位置坐标中x2和y2不都是整像素样本点位置,将导出的第一样本矩阵的左上角样本点的位置按照规定预设规则移动到最邻近的像素样本点位置,获得第二样本矩阵;如果x2和y2都是整像素样本点点位置(即x2除以4的余数为0,且y2除以4的余数为0),则将第一样本矩阵作为第二样本矩阵;其中,第二样本矩阵包含w列h行。
[0188]
根据深度神经网络中卷积核的信息将第二样本矩阵进行扩充获得第三样本矩阵,例如深度神经网络中的卷积核为3x3,则第三样本矩阵包含w 2列h 2行;具体扩充的方法可以参考上述步骤a22所示内容。
[0189]
将在码流中获得的量化参数(或者量化步长)生成量化矩阵,量化矩阵的大小与第三样本矩阵相同(如,卷积核为3x3时,包含w 2列h 2行),其中量化矩阵中各样本点位置的元素值都相同且均等于量化参数(或者量化步长)。
[0190]
将量化矩阵和第三样本矩阵输入到第一子插值滤波器,第一子插值滤波器输出第四样本矩阵(包含(2*w)列(2*h)行)。
[0191]
在本技术实施例提供的一种帧间预测方法中,执行步骤c1包括执行下述步骤c12:若样本点的横坐标位置和/或纵坐标位置为第二预设像素点位置,将深度神经网络的第二插值滤波器中的第二子插值滤波器作为插值滤波器,基于第二子插值滤波器,得到第四样本矩阵。
[0192]
具体地,当样本点坐标位置(x2,y2)中的x2和/或y2为1/4像素点位置时,即y2除以4的余数为1或者3,x2除以4的余数为1或者3时:采用第二插值滤波器中对应1/4精度的第二子插值滤波器进行插值。将量化矩阵和第三样本矩阵输入到第二插值滤波器中对应1/4精度的第二子插值滤波器,输出第四样本矩阵(包含(4*w)列(4*h)行)。
[0193]
在本技术实施例提供的一种帧间预测方法中,执行步骤c2包括执行下述步骤c21:在第四样本矩阵中抽取第二目标值所对应第二编码单元的元素值作为编码单元的预测样本矩阵。
[0194]
具体地,从第四样本矩阵中抽取第二目标值(x3 2*i,y3 2*j),对应的样本位置(第二编码单元)的元素值,获得包含w列、h行的样本矩阵作为当前待解码的编码单元的预测样本矩阵。
[0195]
其中,i=0~w-1,j=0~h-1。第二目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数,以及第二编码单元的宽和高分别与第一预设数值(如2)的乘积确定;即,x3为x2除以4的整数部分,y3为y2除以4的整数部分。
[0196]
在本技术实施例提供的一种帧间预测方法中,执行步骤c2包括执行下述步骤c22:若样本点的横坐标位置和纵坐标位置均为整像素样本点位置,将样本点所在的第一样本矩阵作为编码单元的预测样本矩阵;否则,在第四样本矩阵中抽取第二目标值所对应第二编码单元的元素值作为编码单元的预测样本矩阵。
[0197]
具体地,如果样本点位置坐标中x2和y2均为整像素样本点位置(即x2除以4的余数为0,且y2除以4的余数为0),则将样本点所在的第一样本矩阵作为当前待解码的编码单元的预测样本矩阵;否则,从第四样本矩阵中抽取第二目标值(x3 2*i,y3 2*j),对应的样本
位置(第二编码单元)的元素值,获得包含w列、h行的样本矩阵作为当前待解码的编码单元的预测样本矩阵。
[0198]
其中,i=0~w-1,j=0~h-1。第二目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数,以及第二编码单元的宽和高分别与第一预设数值(如2)的乘积确定;即,x3为x2除以4的整数部分,y3为y2除以4的整数部分。
[0199]
在本技术实施例提供的一种帧间预测方法中,执行步骤c2包括执行下述步骤c23:若样本点的横坐标位置和纵坐标位置均为整像素样本点位置,基于编码单元对应码流中的标识信息,基于样本点与第四样本矩阵确定编码单元的预测样本矩阵。
[0200]
具体地,如果样本点位置中x2和y2均为整像素样本点位置(即x2除以4的余数为0,且y2除以4的余数为0),从码流中获得标识信息,根据标识信息获得预测样本矩阵,即:当标识信息为0则使用上述步骤c21获得预测样本矩阵,当标识信息为1则使用步骤c22获得预测样本矩阵;否则(x2和y2不都是整像素样本点位置),从第四样本矩阵中抽取第二目标值(x3 2*i,y3 2*j),对应的样本位置(第二编码单元)的元素值,获得包含w列、h行的样本矩阵作为当前待解码的编码单元的预测样本矩阵。
[0201]
其中,i=0~w-1,j=0~h-1。第二目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数,以及第二编码单元的宽和高分别与第一预设数值(如2)的乘积确定;即,x3为x2除以4的整数部分,y3为y2除以4的整数部分。
[0202]
在本技术实施例提供的一种帧间预测方法中,执行步骤c2包括执行下述步骤c24:若样本点的横坐标位置和/或纵坐标位置均为第二预设像素样本点位置,在第四样本矩阵中抽取第三目标值所对应第三编码单元的元素值作为编码单元的预测样本矩阵。
[0203]
具体地,当样本点位置中x2和y2中至少一个为1/4像素点位置时(即y2除以4的余数为1或者3,和/或,x2除以4的余数为1或者3),从第四样本矩阵中抽取第三目标值(x3 4*i,y3 4*j),对应的样本位置(第三编码单元)的元素值,获得包含w列、h行的样本矩阵作为当前待解码的编码单元的预测样本矩阵。
[0204]
其中,i=0~w-1,j=0~h-1。第三目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数,以及第三编码单元的宽和高分别与第二预设数值(如4)的乘积确定;即,x3为x2除以4的整数部分,y3为y2除以4的整数部分。
[0205]
在本技术实施例提供的一种帧间预测方法中,编码信息包括运动矢量精度信息;运动矢量精度信息包括运动矢量精度标识。
[0206]
其中,运动矢量精度标识指示了使用哪种方式获得当前待解码的编码单元的预测样本矩阵,例如在本实施例中运动矢量精度标识为第一预设阈值时,使用深度神经网络的插值滤波器获得当前待解码的编码单元的预测样本矩阵;运动矢量精度标识为第二预设阈值时,使用相关技术获得当前待解码的编码单元的预测样本矩阵;还可以的是,运动矢量精度标识为第三预设阈值时,使用本技术中的深度神经网络的插值滤波器获得预测样本矩阵后再对其进行修正获得最终的预测样本矩阵。其中,运动矢量精度标识也可以为其他信息。
[0207]
其中,运动矢量精度标识为第一预设阈值时,对应于第一运动矢量精度集合;运动矢量精度标识为第二预设阈值时,对应于第二运动矢量精度结合。第二运动矢量精度集合和第一运动矢量精度集合中包含的运动矢量精度索引值的个数可以相同也可以不同,第二运动矢量精度集合和第一运动矢量精度集合中包括的运动矢量精度索引值可以相同也可
以不同,但是运动矢量精度索引值对应的运动矢量精度值各不相同。具体地,可以将运动矢量精度中1/4和1/2划分为一个组(如组1),将运动矢量精度中1、2和4划分为一个组(如组2),组1和组2中各运动矢量精度与运动矢量精度索引值的对应关系可以参考下述表2:
[0208]
表2
[0209]
运动矢量精度索引值012组11/41/2n/a组2124
[0210]
结合上述表2的内容,在本技术实施例中,第一运动矢量精度集合可以包括组1和/或组2;第二运动矢量精度集合可以包括组1和/或组2。
[0211]
在一可行的实施例中,第一运动矢量精度集合和/或第二运动矢量精度集合中还可以仅包括一个运动矢量精度,在此情况下,各运动矢量精度与运动矢量精度索引值的对应关系可以参考下述表3:
[0212]
表3
[0213][0214]
结合上述表3的内容,在本技术实施例中,第一运动矢量精度集合和/或第二运动矢量精度集合可以至少包括运动矢量精度索引值为0至4中任一索引值对应的运动矢量精度;即第一运动矢量精度集合和/或第二运动矢量精度集合中可以包括运动矢量精度1/4、1/2、1、2和4中的至少一个。
[0215]
在本技术实施例提供的一种帧间预测方法中,执行步骤s303和s304包括执行下述步骤s3031:若运动矢量精度标识为第一预设阈值,基于深度神经网络的第一插值滤波器或第二插值滤波器,得到所述编码单元的预测样本矩阵。
[0216]
具体地,第一预设阈值可以是0,如果运动矢量精度标识为0,则当前待解码的编码单元使用第一运动矢量精度集合,第一运动矢量精度集合包含至少一个运动矢量精度索引值(如表2所示情况时,对应于组1时,包括2个运动矢量精度索引值;对应于组2时,包括3个运动矢量精度索引值;如表3所示情况时,对应于运动矢量精度1/4时,包括1个运动矢量精度索引值;对应于运动矢量精度1/4、1/2和1时,包括3个运动矢量精度索引值......如此类推)。
[0217]
具体的,根据第一运动矢量精度索引值导出当前待解码的编码单元的运动矢量精度值,再结合编码单元的其他编码信息获得当前待解码的编码单元的预测样本矩阵。
[0218]
其中,不同的运动矢量精度值结合编码信息所确定的编码单元在已解码的参考图像中的样本点不同;如运动矢量精度值为1时,对应导出样本点的横坐标位置和纵坐标位置
为整像素点位置。如运动矢量精度为1/4或1/2时,对应导出样本点的横坐标位置和/或纵坐标位置为非整像素点位置。
[0219]
在此基础上,可以参考上述步骤s301-s304所示方法,或应用相关技术获得当前待解码的编码单元的预测样本矩阵。具体地,可以基于深度神经网络的第一插值滤波器或第二插值滤波器,得到编码单元的预测样本矩阵。
[0220]
在本技术实施例提供的一种帧间预测方法中,执行步骤s303和s304包括执行下述步骤s3032:若运动矢量精度标识为第二预设阈值,基于第三插值滤波器,得到所述编码单元的预测样本矩阵或将所述样本点所在的第一样本矩阵确定为所述编码单元的预测样本矩阵。
[0221]
具体地,第二预设阈值可以是1,如果运动矢量精度标识为1,则当前待解码的编码单元的使用第二运动矢量精度集合,第二运动矢量精度集合包含至少一个运动矢量精度索引值(如表2所示情况时,对应于组1时,包括2个运动矢量精度索引值;对应于组2时,包括3个运动矢量精度索引值;如表3所示情况时,对应于运动矢量精度1/4时,包括1个运动矢量精度索引值;对应于运动矢量精度1/4、1/2和1时,包括3个运动矢量精度索引值......如此类推)。
[0222]
具体地,根据第二运动矢量精度索引值导出当前待解码的编码单元的运动矢量精度值,再结合编码单元的其他编码信息获得当前待解码的编码单元的预测样本矩阵。
[0223]
其中,不同的运动矢量精度值结合编码信息所确定的编码单元在已解码的参考图像中的样本点不同;如运动矢量精度值为1时,对应导出样本点的横坐标位置和纵坐标位置为整像素点位置。如运动矢量精度为1/4或1/2时,对应导出样本点的横坐标位置和/或纵坐标位置为非整像素点位置。
[0224]
在此基础上,可以应用第三插值滤波器得到编码单元的预测样本矩阵,或将样本点所在的第一样本矩阵确定为编码单元的预测样本矩阵。
[0225]
在本技术实施例提供的一种帧间预测方法中,还包括步骤s305:基于预测样本矩阵对编码单元进行解码。
[0226]
具体地,在获得编码单元的预测样本矩阵后,可以确定编码单元中各样本点的预测值,进而基于预测值进行解码。
[0227]
以下结合图7对本技术实施例中帧间预测方法中对第一插值滤波器进行训练的具体过程进行说明。在本技术实施例提供的一种帧间预测方法中,针对深度神经网络的第一插值滤波器,提供一种训练方法,具体包括下述步骤d1-d4:
[0228]
步骤d1:获取第一视频中图像的第一编码信息和重建编码单元。
[0229]
步骤d2:基于第一编码信息确定对应的第一编码单元在已解码的参考图像中的样本点。
[0230]
步骤d3:将基于样本点、第一编码信息和/或重建编码单元处理得到的训练数据,输入第一插值滤波器神经网络,得到插值后的预测编码单元。
[0231]
步骤d4:基于预测编码单元与第一编码单元,确定第一插值滤波器神经网络的参数。
[0232]
其中,在确定第一插值滤波器神经网络的参数时,基于预测编码单元和第一编码单元确定第一损失函数;第一损失函数定义为:神经网络每次迭代输出的插值后的预测编
码单元与作为目标的第一视频中的相应第一编码单元大小相同,两个编码单元中各位置元素的mse(均方误差,mean square error)作为损失函数;还可以将两个编码单元中各位置元素的差值作为损失函数,本技术对此不作限定。
[0233]
具体地,上述采用第一视频进行阐述,可以理解的是,在训练第一插值滤波器神经网络所采用的视频为至少包括一个视频的视频集。
[0234]
在本技术实施例提供的一种帧间预测方法中,针对深度神经网络的第一插值滤波器进行训练的步骤中,执行步骤d1包括执行下述d11-d13:
[0235]
步骤d11:获取包括内容特征的第二视频。
[0236]
具体地,获取若干个包含不同内容特性的视频组合第二视频集合,内容特性至少包括:纹理特性,运动特性。
[0237]
步骤d12:对第二视频进行时间和/或空间的上采样和下采样,得到第一视频。
[0238]
具体地,将第二视频集合中的各视频进行时间上采样和下采样获得不同帧率的视频,将第二视频集合中的各视频进行空间的上采样和下采样获得不同分辨率的视频,组成第一视频集合(包括第一视频)。
[0239]
步骤d13:基于第一视频确定对应的第一编码信息和重建编码单元。
[0240]
具体地,将第一视频集合中的各视频输入到视频编码器,视频编码器的编码参数为:量化系数的取值范围是0到63之间的整数,间隔1个整数取值;视频编码器输出第一视频集合中的各视频在各量化参数下的码流,组成第一码流集合。将第一码流集合中各码流输入到视频解码器,获取已编码的视频中各图像中的各编码单元信息,以及重建编码单元。
[0241]
在本技术实施例提供的一种帧间预测方法中,针对深度神经网络的第一插值滤波器进行训练的步骤中,执行步骤d3包括执行下述d31-d33:
[0242]
步骤d31:基于样本点的横坐标位置和/或纵坐标位置划分重建编码单元,得到至少一组重建编码单元集合。
[0243]
具体地,横坐标位置、纵坐标位置分别可以为第一预设像素点位置,或第二预设像素点位置;以运动矢量以1/4精度为基本单位作考虑,在训练第一插值滤波器神经网络时,可以区分训练三种对应1/2精度的子插值滤波器神经网络,和十五种对应1/4精度的子插值滤波器神经网络。
[0244]
在本技术实施例提供的一种帧间预测方法中,针对深度神经网络的第一插值滤波器进行训练的步骤中,样本点为第一编码单元在参考图像中预设精度样本矩阵的左上角位置样本点;执行步骤d31包括执行下述d311:基于横坐标位置和/或纵坐标位置为第一预设像素点位置的样本点,划分重建编码单元,得到至少一组第一重建编码单元集合;其中,第一重建编码单元集合数基于第一预设像素点位置确定。
[0245]
具体地,根据编码单元信息导出编码单元指向的参考图像中的1/4精度样本矩阵的左上角样本点位置(x2,y2),并基于样本点对重建编码单元作区分:
[0246]
(1)将y2为整像素点位置(即y2除以4的余数为0),且x2为1/2像素点位置(即x2除以4的余数为2)的重建编码单元组成第一组第一重建编码单元集合;
[0247]
(2)将x2为整像素点位置(即x2除以4的余数为0),且y2为1/2像素点位置(即y2除以4的余数为2)的重建的编码单元组成第二组第一重建编码单元集合;
[0248]
(3)将x2和y2均为1/2像素点位置(即y2除以4的余数为2,且x2除以4的余数为2)的
重建的编码单元组成第三组第一重建编码单元集合。
[0249]
其中,编码单元在当前图像中的位置坐标为(x1,y1),x2=(x1《《2) (mvdx《《amvrindex) mvpx,y2=(y1《《2) (mvdy《《amvrindex) mvpy,《《为左移位操作,mvpx和mvpy为根据编码单元信息导出的当前编码单元的运动矢量预测值的x分量和y分量,且均以1/4精度为基本单位。
[0250]
在本技术实施例提供的一种帧间预测方法中,针对深度神经网络的第一插值滤波器进行训练的步骤中,样本点为第一编码单元在参考图像中预设精度样本矩阵的左上角位置样本点;执行步骤d31包括执行下述d312:基于横坐标位置和/或纵坐标位置为第二预设像素点位置的样本点,划分重建编码单元,得到至少一组第二重建编码单元集合;其中,第二重建编码单元集合数基于第二预设像素点位置确定。
[0251]
具体地,根据编码单元信息导出编码单元指向的参考图像中的1/4精度样本矩阵的左上角样本点位置(x2,y2),并基于样本点对重建编码单元作区分,即根据x2除以4的余数,和y2除以4的余数对重建编码单元进行划分,获得第二重建编码单元集合。其中第二重建编码单元集合可以包括十五组。
[0252]
步骤d32:针对每一重建编码单元集合,基于第一插值滤波器神经网络的卷积核信息和/或第一编码单元的量化参数确定对应的训练数据。
[0253]
具体地,根据深度神经网络中卷积核的信息将第一组第一重建编码单元集合中的重建编码单元进行扩充获得第一训练数据集合,将第二组第一重建编码单元集合中的各重建编码单元进行扩充获得第二训练数据集合,将第三组第一重建编码单元集合中的各重建编码单元进行扩充获得第三训练数据集合。基于第一、第二和第三训练数据集合中编码单元的量化参数(或者量化步长)生成量化矩阵,分别对应获得第一量化矩阵集合,第二量化矩阵集合和第三量化矩阵集合;其中,量化矩阵的大小与编码单元大小相同,其中,量化矩阵中各样本点位置的元素值都相同且均等于量化参数(或者量化步长)。
[0254]
具体地,还根据深度神经网络中卷积核的信息将第二重建编码单元集合中的重建编码单元进行扩充获得对应的训练数据集合;并基于该训练数据集合中编码单元的量化参数生成量化矩阵,获得对应的量化矩阵集合。
[0255]
步骤d33:针对不同的训练数据训练第一插值滤波器神经网络中的各子插值滤波器神经网络。
[0256]
具体地,可以训练获得对应1/2精度的三个第一插值滤波器神经网络,即第一插值滤波器神经网络中包括三个对应1/2精度的子插值滤波器神经网络;还可以训练获得对应1/4精度的十五个第一插值滤波器神经网络,即第一插值滤波器神经网络中包括十五个1/4精度的子插值滤波器神经网络。
[0257]
以下结合图10对本技术实施例中帧间预测方法中对第二插值滤波器进行训练的具体过程进行说明。在本技术实施例提供的一种帧间预测方法中,针对深度神经网络的第二插值滤波器,提供一种训练方法,具体包括下述步骤e1-e4:
[0258]
步骤e1:基于第二视频进行空间下采样,得到第一视频。
[0259]
具体地,获取若干个包含不同内容特性的视频组合第二视频集合,内容特性至少包括:纹理特性,运动特性。对第二视频集合中的第二视频进行空间下采样,得到第一视频集合。
[0260]
在本技术实施例提供的一种帧间预测方法中,针对深度神经网络的第二插值滤波器进行训练的步骤中,执行步骤e1包括执行下述步骤e11-e12:
[0261]
步骤e11:基于包括内容特征的第二视频中的图像大小进行第一预设倍数下采样,得到第一训练视频;
[0262]
步骤e12:基于包括内容特征的第二视频中的图像大小进行第二预设倍数下采样,得到第二训练视频。
[0263]
具体地,将第二视频集合中的各视频进行空间的下采样获得各自的降低分辨率的视频,在宽和高分别两倍下采样后组成第一训练视频集合,在宽和高分别四倍下采样后组成第二训练视频集合。
[0264]
步骤e2:获取第一视频中图像的第一编码信息和/或重建编码单元。
[0265]
具体地,将第一训练视频集合中的各视频输入到视频编码器,视频编码器的编码参数为:量化系数的取值范围是0到63之间的整数,间隔1个整数取值;视频编码器输出第一训练视频集合中的各视频在各量化参数下的码流,组成第一码流集合;将第一码流集合中各码流输入到视频解码器,获取已编码的视频中各图像中的各编码单元信息,以及重建编码单元。
[0266]
将第二训练视频集合中的各视频输入到视频编码器,视频编码器的编码参数为:量化系数的取值范围是0到63之间的整数,间隔1个整数取值;视频编码器输出第二训练视频集合中的各视频在各量化参数下的码流,组成第二码流集合;将第二码流集合中各码流输入到视频解码器,获取已编码的视频中各图像中的各编码单元信息,以及重建编码单元。
[0267]
步骤e3:将基于第一编码信息和/或重建编码单元处理得到的训练数据,输入第二插值滤波器神经网络,得到插值后的预测编码单元。
[0268]
步骤e4:基于第二视频中图像的编码单元与预测编码单元,确定第二插值滤波器神经网络的参数。
[0269]
其中,在确定第二插值滤波器神经网络的参数时,基于预测编码单元和第二视频中图像的编码单元确定第二损失函数;第二损失函数定义为:神经网络每次迭代输出的插值后的预测编码单元与作为目标的第二视频集合中的相应编码单元大小相同,两个编码单元中各位置元素的mse(均方误差,mean square error)作为损失函数;还可以将两个编码单元中各位置元素的差值作为损失函数,本技术对此不作限定。
[0270]
在本技术实施例提供的一种帧间预测方法中,针对深度神经网络的第二插值滤波器进行训练的步骤中,执行步骤e3包括执行下述步骤e31-e32:
[0271]
步骤e31:针对第一训练视频对应的编码信息和/或重建编码单元,基于采用神经网络构建的第二插值滤波器的卷积核信息和/或第一编码单元的量化参数确定对应的第一训练数据;基于第一训练数据训练第二插值滤波器神经网络中的第一子插值滤波器神经网络。
[0272]
具体地,根据深度神经网络中卷积核的信息将重建编码单元进行扩充获得第一训练数据集合,将各编码单元信息中的量化参数信息生成量化矩阵,量化矩阵的大小与扩充后的重建编码单元相同,将各编码单元的量化矩阵生成第一量化矩阵集合。将第一训练数据集合和第一量化矩阵集合输入深度神经网络(第二插值滤波器中的第一子插值滤波器),将对应的第二视频集合中的编码单元作为训练深度神经网络的目标,训练深度神经网络。
[0273]
步骤e32:针对第二训练视频对应的编码信息和/或重建编码单元,基于采用神经网络构建的第二插值滤波器的卷积核信息和/或第一编码单元的量化参数确定对应的第二训练数据;基于第二训练数据训练第二插值滤波器神经网络中的第二子插值滤波器神经网络。
[0274]
具体地,根据深度神经网络中卷积核的信息将重建编码单元进行扩充获得第二训练数据集合,将各编码单元信息中的量化参数信息生成量化矩阵,量化矩阵的大小与扩充后的重建编码单元相同,将各编码单元的量化矩阵生成第二量化矩阵集合。将第二训练数据集合和第二量化矩阵集合输入深度神经网络(第二插值滤波器中的第二子插值滤波器),将对应的第二视频集合中的编码单元作为训练深度神经网络的目标,训练深度神经网络。
[0275]
基于同一发明构思,本技术提供一种帧间预测装置110,包括:获取模块1101,第一确定模块1102,第二确定模块1103,和预测模块1104。
[0276]
其中,获取模块1101,用于获取编码单元的编码信息;
[0277]
第一确定模块1102,用于基于编码信息确定编码单元在已解码的参考图像中的样本点;
[0278]
第二确定模块1103,用于确定与编码单元对应的插值滤波器;
[0279]
预测模块1104,用于基于样本点与插值滤波器,确定编码单元的预测样本矩阵。
[0280]
在一个实施例中,第二确定模块1103和预测模块1104可以视为同一模块,在视为同一模块时,可以执行以下至少一个单元:
[0281]
第一单元,用于若样本点的横坐标位置和/或纵坐标位置为非整像素点位置,将深度神经网络的第一插值滤波器确定为插值滤波器,基于插值滤波器,得到编码单元的预测样本矩阵;若样本点的横坐标位置和纵坐标位置为整像素点位置,将样本点所在的第一样本矩阵确定为编码单元的预测样本矩阵;
[0282]
第二单元,用于获取编码单元对应待解码图像的参考图像;将深度神经网络的第一插值滤波器作为插值滤波器对待解码图像的参考图像进行处理,得到第一预设像素点参考图像;基于样本点、第一预设像素点参考图像、和/或已解码的参考图像,确定编码单元的预测样本矩阵;
[0283]
第三单元,用于将深度神经网络的第二插值滤波器作为插值滤波器,基于插值滤波器,得到第四样本矩阵;基于样本点与第四样本矩阵确定编码单元的预测样本矩阵。
[0284]
在另一个实施例中,第一单元用于执行基于插值滤波器,得到编码单元的预测样本矩阵时,还用于执行:
[0285]
将样本点所在的第一样本矩阵,移动样本点位置至整像素样本点位置,得到第二样本矩阵;
[0286]
基于第一插值滤波器的卷积核信息扩充第二样本矩阵,得到第三样本矩阵;
[0287]
基于编码单元的量化参数生成量化矩阵;
[0288]
将第三样本矩阵和量化矩阵输入插值滤波器,得到编码单元的预测样本矩阵。
[0289]
在另一个实施例中,第二单元用于执行基于样本点和第一预设像素点参考图像,确定编码单元的预测样本矩阵时,还用于执行以下至少一项:
[0290]
若样本点的横坐标位置和纵坐标位置均为整像素样本点位置,将已解码的参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为编码单元的预测
样本矩阵;
[0291]
若样本点的横坐标位置和/或纵坐标位置为第一预设像素点位置,将第一预设像素点参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为编码单元的预测样本矩阵;
[0292]
若样本点的横坐标位置和/或纵坐标位置为第二预设像素点位置,基于深度神经网络的第一插值滤波器对待解码图像的参考图像进行处理,得到第二预设像素点参考图像;将第二预设像素点参考图像中左上角位置为第一目标值所对应第一编码单元中的整像素点值作为编码单元的预测样本矩阵;
[0293]
其中,第一目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数确定。
[0294]
在另一个实施例中,第三单元用于执行将深度神经网络的第二插值滤波器作为插值滤波器,基于插值滤波器,得到第四样本矩阵时,还用于执行以下至少一项:
[0295]
若样本点的横坐标位置和/或纵坐标位置为整像素点位置,将深度神经网络的第二插值滤波器中的第一子插值滤波器作为插值滤波器,基于第一子插值滤波器,得到第四样本矩阵;
[0296]
若样本点的横坐标位置和/或纵坐标位置为第二预设像素点位置,将深度神经网络的第二插值滤波器中的第二子插值滤波器作为插值滤波器,基于第二子插值滤波器,得到第四样本矩阵。
[0297]
在另一个实施例中,第三单元用于执行基于样本点与第四样本矩阵确定编码单元的预测样本矩阵时,还用于执行以下至少一项:
[0298]
在第四样本矩阵中抽取第二目标值所对应第二编码单元的元素值作为编码单元的预测样本矩阵;
[0299]
若样本点的横坐标位置和纵坐标位置均为整像素样本点位置,将样本点所在的第一样本矩阵作为编码单元的预测样本矩阵;否则,在第四样本矩阵中抽取第二目标值所对应第二编码单元的元素值作为编码单元的预测样本矩阵;
[0300]
若样本点的横坐标位置和纵坐标位置均为整像素样本点位置,基于编码单元对应码流中的标识信息,基于样本点与第四样本矩阵确定编码单元的预测样本矩阵;
[0301]
若样本点的横坐标位置和/或纵坐标位置均为第二预设像素样本点位置,在第四样本矩阵中抽取第三目标值所对应第三编码单元的元素值作为编码单元的预测样本矩阵;
[0302]
其中,第二目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数,以及第二编码单元的宽和高分别与第一预设数值的乘积确定;第三目标值基于样本点的横坐标值和纵坐标值分别与第二预设数值相除所得整数,以及第三编码单元的宽和高分别与第二预设数值的乘积确定。
[0303]
在另一个实施例中,编码信息包括运动矢量精度信息;运动矢量精度信息包括运动矢量精度标识;
[0304]
所述第二确定模块与预测模块视为同一模块时,还用于执行以下至少一项:
[0305]
若所述运动矢量精度标识为第一预设阈值,基于深度神经网络的第一插值滤波器或第二插值滤波器,得到所述编码单元的预测样本矩阵;
[0306]
若所述运动矢量精度标识为第二预设阈值,基于第三插值滤波器,得到所述编码
单元的预测样本矩阵或将所述样本点所在的第一样本矩阵确定为所述编码单元的预测样本矩阵。
[0307]
在一个实施例中,装置110还包括解码模块,用于基于预测样本矩阵对编码单元进行解码。
[0308]
在另一个实施例中,装置110还包括第一训练模块,用于执行第一插值滤波器的训练步骤,包括:
[0309]
获取第一视频中图像的第一编码信息和重建编码单元;
[0310]
基于第一编码信息确定对应的第一编码单元在已解码的参考图像中的样本点;
[0311]
将基于样本点、第一编码信息和/或重建编码单元处理得到的训练数据,输入第一插值滤波器神经网络,得到插值后的预测编码单元;
[0312]
基于预测编码单元与第一编码单元,确定第一插值滤波器神经网络的参数。
[0313]
在另一个实施例中,获取第一视频中图像的第一编码信息和重建编码单元,包括:
[0314]
获取包括内容特征的第二视频;
[0315]
对第二视频进行时间和/或空间的上采样和下采样,得到第一视频;
[0316]
基于第一视频确定对应的第一编码信息和重建编码单元。
[0317]
在另一个实施例中,将基于样本点、第一编码信息和/或重建编码单元处理得到的训练数据,输入第一插值滤波器神经网络,得到插值后的预测编码单元,包括:
[0318]
基于样本点的横坐标位置和/或纵坐标位置划分重建编码单元,得到至少一组重建编码单元集合;
[0319]
针对每一重建编码单元集合,基于第一插值滤波器的卷积核信息和/或第一编码单元的量化参数确定对应的训练数据;
[0320]
针对不同的训练数据训练第一插值滤波器神经网络中的各子插值滤波器神经网络。
[0321]
在另一个实施例中,样本点为第一编码单元在参考图像中预设精度样本矩阵的左上角位置样本点;
[0322]
基于样本点的横坐标位置和/或纵坐标位置划分重建编码单元,得到至少一组重建编码单元集合,包括以下至少一项:
[0323]
基于横坐标位置和/或纵坐标位置为第一预设像素点位置的样本点,划分重建编码单元,得到至少一组第一重建编码单元集合;
[0324]
基于横坐标位置和/或纵坐标位置为第二预设像素点位置的样本点,划分重建编码单元,得到至少一组第二重建编码单元集合;
[0325]
其中,第一重建编码单元集合数基于第一预设像素点位置确定;第二重建编码单元集合数基于第二预设像素点位置确定。
[0326]
在另一个实施例中,装置110还包括第二训练模块,用于执行下述第二插值滤波器的训练步骤,包括:
[0327]
基于第二视频进行空间下采样,得到第一视频;
[0328]
获取第一视频中图像的第一编码信息和/或重建编码单元;
[0329]
将基于第一编码信息和/或重建编码单元处理得到的训练数据,输入第二插值滤波器神经网络,得到插值后的预测编码单元;
[0330]
基于第二视频中图像的编码单元与预测编码单元,确定第二插值滤波器神经网络的参数。
[0331]
在另一个实施例中,基于第二视频进行空间下采样,得到第一视频,包括:
[0332]
基于包括内容特征的第二视频中的图像大小进行第一预设倍数下采样,得到第一训练视频;
[0333]
基于包括内容特征的第二视频中的图像大小进行第二预设倍数下采样,得到第二训练视频。
[0334]
在另一个实施例中,将基于第一编码信息和/或重建编码单元处理得到的训练数据,输入第二插值滤波器,得到插值后的预测编码单元,包括:
[0335]
针对第一训练视频对应的编码信息和/或重建编码单元,基于第二插值滤波器神经网络的卷积核信息和/或第一编码单元的量化参数确定对应的第一训练数据;基于第一训练数据训练第二插值滤波器神经网络中的第一子插值滤波器神经网络;
[0336]
针对第二训练视频对应的编码信息和/或重建编码单元,基于第二插值滤波器神经网络的卷积核信息和/或第一编码单元的量化参数确定对应的第二训练数据;基于第二训练数据训练第二插值滤波器神经网络中的第二子插值滤波器神经网络。
[0337]
关于上述实施例中的帧间预测装置,其中各个模块执行操作的具体方式已经在有关该编码方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0338]
实际应用中,上述获取模块1101、第一确定模块1102、第二确定模块1103、预测模块1104的具体结构均可由该帧间预测装置所属终端中的中央处理器(cpu,central processing unit)、微处理器(mcu,micro controller unit)、数字信号处理器(dsp,digital signal processing)或可编程逻辑器件(plc,programmable logic controller)等实现。
[0339]
本领域技术人员应当理解,本技术实施例的帧间预测装置中各模块的功能,可参照前述编码方法的相关描述而理解。本技术实施例的帧间预测装置中的各模块的功能,可通过实现本技术实施例所述的功能的模拟电路而实现,也可以通过执行本技术实施例所述的功能的软件在终端上的运行而实现。
[0340]
上述帧间预测装置的有益效果可以参见前文中对于帧间预测方法的描述,为了描述的简洁,在此不再赘述。
[0341]
基于相同的发明构思,本技术实施例还提供了一种电子设备,该电子设备的结构示意图如图12所示,该电子设备120包括:处理器1201、存储器1202和总线1203,处理器1201与存储器1202通过总线1203相连;存储器1202,配置用于存储机器可读指令,所述指令在由所述处理器1201执行时实现上述任一实施例所述的帧间预测方法。
[0342]
处理器1201可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1201也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0343]
总线1203可包括一通路,在上述组件之间传送信息。总线1203可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线1203可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0344]
存储器1202可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0345]
基于相同的发明构思,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述编码方法实施例中相应内容,或者前述解码方法实施例中相应内容。
[0346]
本技术实施例提供的计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-only memory,只读存储器)、ram(randomaccess memory,随即存储器)、eprom(erasable programmable read-only memory,可擦写可编程只读存储器)、eeprom(electrically erasable programmable read-only memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
[0347]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0348]
本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0349]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0350]
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献