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

通过时间可变形卷积进行深度环路滤波的制作方法

2022-06-22 17:25:39 来源:中国专利 TAG:

通过时间可变形卷积进行深度环路滤波
相关申请的交叉引用
1.本技术基于并要求于2020年10月9日向美国专利商标局提交的美国临时申请第63/090,126号以及于2021年8月5日向美国专利商标局提交的美国申请第17/394,504号的优先权,这两个申请的公开内容通过引用以其全部内容并入本文中。


背景技术:
1.技术领域
2.本公开内容涉及视频编码领域,尤其涉及使用环路滤波器来基于具有时间可变形卷积(tdc)的深度神经网络(dnn)处理经解码的视频的设备和方法。2.相关技术的描述
3.传统的视频编码标准例如h.264/高级视频编码(h.264/avc)、高效视频编码(hevc)和通用视频编码(vvc)共享类似(递归)基于块的混合预测/变换框架,在该基于块的混合预测/变换框架中,各个编码工具例如帧内/帧间预测、整数变换和上下文自适应熵编码被仔细地手工制作以优化整体效率。基本上,时空像素邻域被用于预测信号结构,以获取用于随后的变换、量化和熵编码的相应残差。另一方面,深度神经网络(dnn)的性质是通过分析来自邻近像素的感受野的时空信息来提取不同水平的时空刺激。探索高度非线性和非局部时空相关性的能力为大大改善压缩质量提供了有希望的机会。
4.然而,压缩的视频不可避免地遭受压缩伪像,这严重降低了体验质量(qoe)。已经开发了基于dnn的方法来提高压缩的图像的视觉质量,例如图像去噪、超分辨率、去模糊等。当这些方法被应用于视频时,基于图像的方法遭受由改变压缩的视频质量、视频场景和视频中的对象运动而引起的不稳定和波动。因此,重要的是,利用来自视频中的邻近帧的信息来稳定和改善提高的视觉质量。
5.利用来自多个邻近视频帧的信息的一个注意事项是由移动相机和动态场景而引起的复杂运动。传统的基于块的运动向量不适用于非平移运动。此外,虽然基于学习的光流方法可以在像素级提供更准确的运动信息,但这些方法仍然容易出错,尤其是沿着移动对象的边界容易出错。
6.因此,本公开内容的一个或更多个实施方式提供了一种具有时间可变形卷积(tdc)的基于dnn的模型,以在无需显式的运动估计的情况下以数据驱动的方式处理任意运动和复杂运动。


技术实现要素:

7.根据实施方式,提供了一种使用一个或更多个神经网络利用环路滤波器执行视频编码的方法。该方法包括:获取视频序列中的多个图像帧;确定多个图像帧中的每个图像帧的特征图,并且基于特征图来确定偏移图;通过对特征图和偏移图执行时间可变形卷积(tdc)来确定对齐特征图;以及生成多个对齐帧。
8.根据实施方式,提供了一种装置,该装置包括:至少一个存储器,所述至少一个存储器存储计算机程序代码;以及至少一个处理器,所述至少一个处理器被配置成访问至少一个存储器并按照计算机程序代码的指示进行操作。计算机程序代码包括:获取代码,其被配置成使至少一个处理器获取视频序列中的多个图像帧;确定代码,其被配置成使至少一个处理器:确定多个图像帧中的每个图像帧的特征图,并且基于特征图来确定偏移图,通过对特征图和偏移图执行时间可变形卷积(tdc)来确定对齐特征图;以及生成代码,其被配置成使至少一个处理器生成多个对齐帧。
9.根据实施方式,提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机程序代码,当由至少一个处理器执行所述计算机程序代码时,所述至少一个处理器被配置成:获取视频序列中的多个图像帧;确定多个图像帧中的每个图像帧的特征图,并且基于特征图来确定偏移图;通过对特征图和偏移图执行时间可变形卷积(tdc)来确定对齐特征图;以及生成多个对齐帧。
附图说明
10.下面的描述简要介绍了附图,附图示出了本公开内容的一个或更多个实施方式。
11.图1是示出了根据实施方式的视频编码系统的图;
12.图2是示出了根据实施方式的包括编码器和解码器的计算设备的示例的图;
13.图3是示出了根据实施方式的训练dnn lf模块的方法的图;
14.图4是示出了根据实施方式的使用2d tdc的dnn lf模块的操作的图;
15.图5是示出了根据实施方式的使用3d tdc的dnn lf模块的操作的图;以及
16.图6是根据实施方式的用于使用具有tdc的dnn处理视频数据的装置的框图。
具体实施方式
17.在本文中参照附图详细描述了示例实施方式。应当理解的是,本文中描述的本公开内容的一个或更多个实施方式仅是示例实施方式,并且不应被解释为限制本公开内容的范围。
18.图1是示出了根据实施方式的视频编码系统的图。
19.参照图1,视频编码系统100可以包括通过网络130彼此连接的编码器110和解码器120。编码器110可以被配置成对图像数据或视频数据进行压缩。编码器110可以设置在视频编码系统100的服务器侧上。服务器可以是云服务器或者包括多个服务器的服务器集群。服务器可以包括处理器、通信接口和数据库。处理器可以被配置成对视频序列的一个或更多个图像帧进行编码。通信接口可以被配置成发送和接收视频序列的一个或更多个图像帧或者可能与对视频序列进行编码有关的其他数据。数据库可以被配置成存储视频序列的一个或更多个图像、经编码的数据和经解码的数据。然而,一个或更多个实施方式不限于此。例如,编码器110可以在连接至网络130的计算设备(例如,台式计算机、膝上型计算机、平板计算机、移动设备、个人数字助理(pda)、控制台、可穿戴设备等)中被实现。编码器110可以是在计算设备上运行的软件。
20.图2是示出了根据实施方式的被实现为编码器和/或解码器的计算设备的示例的图。计算设备200可以被实现为图1中所示的编码器110和/或解码器120。
21.参照图2,计算设备200可以包括处理器210、存储器220、存储设备230、输入接口240、输出接口250、通信接口260和总线270。
1.处理器210以硬件、固件或硬件和软件的组合来实现。处理器210是中央处理单元(cpu)、图形处理单元(gpu)、加速处理单元(apu)、微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)或另一类型的处理部件。在一些实现中,处理器210包括能够被编程成执行功能的一个或更多个处理器。
2.存储器220包括存储用于由处理器210使用的信息和/或指令的随机存取存储器(ram)、只读存储器(rom)和/或另一类型的动态或静态存储设备(例如,闪速存储器、磁存储器和/或光学存储器)。
3.存储设备230存储与计算设备200的操作和使用相关的信息和/或软件。例如,存储设备230可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、致密盘(cd)、数字通用盘(dvd)、软盘、盒式磁带、磁带和/或另一类型的非暂态计算机可读介质以及相应的驱动器。
4.输入接口240包括允许计算设备200例如经由用户输入接收信息的部件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。另外地或替选地,输入接口240可以包括用于感测信息的传感器(例如,全球定位系统(gps)部件、加速度计、陀螺仪和/或致动器)。输出接口250包括从计算设备200提供输出信息的部件(例如,显示器、扬声器以及/或者一个或更多个发光二极管(led))。
5.通信接口260包括类似收发器的部件(例如,收发器和/或单独的接收器和发送器),该部件使得计算设备200能够例如经由有线连接、无线连接或者有线连接和无线连接的组合与其他设备进行通信。通信接口260可以允许计算设备200从另一设备接收信息以及/或者向另一设备提供信息。例如,通信接口260可以包括以太网接口、光学接口、同轴接口、红外接口、射频(rf)接口、通用串行总线(usb)接口、wi-fi接口、蜂窝网络接口等。
6.总线270包括允许计算设备200的部件之间进行通信的部件。
7.计算设备200可以执行本文中描述的一个或更多个操作。计算设备200可以响应于处理器210执行存储在非暂态计算机可读介质例如存储器220和/或存储设备230中的软件指令而执行本文中描述的操作。计算机可读介质在本文中被定义为非暂态存储器设备。存储器设备可以包括单个物理存储设备内的存储器空间或跨多个物理存储设备分布的存储器空间。
8.软件指令可以经由通信接口260从另一个计算机可读介质或从另一设备被读取到存储器220和/或存储设备230中。当被执行时,存储在存储器220和/或存储设备230中的软件指令可以使处理器210执行本文中描述的一个或更多个过程。另外地或替选地,可以使用硬连线电路系统来代替软件指令或者硬连线电路系统与软件指令的组合,以执行本文中描述的一个或更多个过程。因此,本文中描述的实现不限于硬件电路系统和软件的任何特定组合。
22.提供图2中所示的部件的数目和布置作为示例。在实践中,计算设备200可以包括附加部件、更少的部件、不同的部件或者与图2中所示的那些部件相比不同布置的部件。另外地或替选地,计算设备200的一组部件(例如,一个或更多个部件)可以执行被描述为由计算设备200的另一组部件执行的一个或更多个功能。
23.图3是示出了根据实施方式的训练dnn lf模块的方法的图。
24.首先,将在本文中描述典型的视频压缩框架。假设输入视频x包括多个原始图像帧x1,...,x
t
。在第一运动估计步骤中,多个原始图像帧被划分成空间块,每个空间块可以迭代地被进一步划分成更小的块,并且针对每个空间块计算当前原始图像帧x
t
与先前重构帧的集合之间的运动向量m
t
的集合。在此,下标t表示当前第t编码周期,其可能与图像帧的时间戳不匹配。此外,先前重构帧的集合可以包括来自多个先前编码周期的帧。在第二运动补偿步骤中,通过基于运动向量m
t
复制先前重构帧的相应像素来获取预测帧并且通过获取当前原始图像帧x
t
与预测帧之间的残差r
t
。在第三估计步骤中,在对空间块执行离散余弦变换(dct)之后,残差r
t
的dct系数被量化以获取量化残差由此,运动向量m
t
和量化残差两者通过熵编码被编码为比特流,并且比特流被发送到一个或更多个解码器。在解码器侧上,量化残差首先被去量化(例如,通过逆变换,例如离散余弦逆变换(idct)),以获取恢复残差然后通过将恢复残差加回到预测帧以获取重构帧。
25.此外,还可以使用附加部件来改善重构帧的视觉质量。可以选择诸如去块滤波器(df)、样本自适应偏移(sao)、自适应环路滤波器(alf)、跨部件自适应滤波器(ccalf)等的增强模块中的一个或更多个来处理重构帧例如,去块滤波器(df)是如下视频滤波器,该视频滤波器可以应用于经解码的视频以通过平滑在使用块编码技术时宏块之间形成的尖锐边缘来改善视觉质量和预测性能。样本自适应偏移(sao)是通过将偏移值与每个样本相加来减少平均样本失真的环路内滤波技术。sao包括两种类型的偏移技术,这两种类型的偏移技术是边缘偏移(eo)和带偏移(bo)。eo由要滤波的图像帧中的局部方向性结构来驱动,bo修改图像帧的强度值但不依赖于领域。自适应环路滤波器(alf)可以用于使原始样本图像与经解码的样本图像之间的均方误差最小化。可以根据用户设置对增强模块的处理顺序和对增强模块的选择进行各种修改。
26.根据实施方式,提供了训练dnn lf的整体方法。参照图3,n个先前重构帧的集合作为输入被提供给dnn lf模块310。dnn lf模块310可以通过使用端到端(e2e)lf dnn网络来生成高质量帧然后,由重构质量计算模块320计算生成的高质量帧以评估原始图像帧x
t
的重构质量。然后,重构质量计算模块320将重构质量输出至反向传播模块330。反向传播模块330将重构质量反馈至dnn lf模块310,以根据由重构质量计算模块320评估的重构质量来训练dnn lf模块310。
27.另外,由dnn lf模块310输出的n个先前重构帧的集合的对齐损失可以被馈送至反向传播模块330,该对齐损失然后通过
反向传播模块330被反馈至dnn lf模块310以训练dnn lf模块310。将在下面参照图4来描述对齐损失的更详细描述。
28.此外,高质量帧和原始图像帧x
t
可以被输入至判别模块340,以便识别和检测高质量帧与原始图像帧x
t
之间的差异。也就是说,判别模块340可以基于和x
t
来计算判别损失并将判别损失发送至反向传播模块330。判别损失可以通过反向传播模块330被反馈至dnn lf模块310和判别模块340,以训练dnn lf模块310和判别模块340。
29.判别dnn可以是使用和x
t
中的至少一个作为输入来计算判别特征图或d(x
t
)的分类网络。基于判别特征图或d(x
t
),判别dnn对输入是原始图像帧x
t
还是生成的(或合成的)高质量帧进行分类。可以计算分类损失以测量误分类损失,例如分类交叉熵损失。此外,可以计算特征判别损失以测量基于生成的高质量图像帧计算的判别特征图与基于原始图像帧x
t
计算的判别特征图之间的差异。
30.总判别损失可以是和的线性组合,根据下面的等式(1)来计算该总判别损失性组合,根据下面的等式(1)来计算该总判别损失
31.在此,γ是与判别特征图和d(x
t
)相关联的权重。
32.如上所述,由重构质量计算模块320输出的重构质量由dnn lf 310输出的对齐损失由判别模块340输出的判别损失被发送到反向传播模块330。基于从各个模块接收这些计算,反向传播模块330可以计算联合损失l
joint
的梯度,该联合损失l
joint
的梯度可以被反馈至dnn lf模块310和判别模块340。可以根据下面的等式(2)来计算联合损失l
joint
的梯度:
33.在此,λ是与对齐损失相关联的权重,β是与判别损失相关联的权重。
34.可以通过反向传播模块330反向传播联合损失l
joint
的梯度,以更新lf dnn(例如,特征提取dnn、偏移生成dnn、tdc dnn、帧重构dnn、帧合成dnn、判别dnn以及tdc和特征融合dnn)中的dnn权重系数。
35.基于将联合损失l
joint
反馈至上面的一个或更多个dnn,预测帧被添加以更新n个先前重构帧的集合例如,可以从n个先前重构帧的集合中移除距当前帧最远距离处的最老帧,并且可以添加预测帧以代替移除的最老帧。此后,编码器可以进
入从t到t 1的下一个编码周期。
36.根据实施方式,dnn lf模块310可以与上述附加部件(例如,df、sao、alf、ccalf等)中的一个或更多个组合使用,以改善重构帧的视觉质量。例如,可以通过df、dnn lf模块、sao和alf依次处理重构帧然而,一个或更多个实施方式不限于此,并且可以不同地配置处理附加部件的顺序。在实施方式中,dnn lf模块310可以单独用作对所有其他附加部件的替代,以提高重构帧的视觉质量。
37.图4是示出了根据实施方式的使用2d tdc的dnn lf模块的操作的图。
38.参照图4,dnn lf模块400可以包括特征提取模块410、偏移生成模块420、tdc模块430、帧重构模块440、帧合成模块450和对齐误差计算模块460。
39.特征提取模块410可以接收n个先前重构帧的集合作为输入,并且特征提取模块410可以被配置成通过使用特征提取dnn经过前向推理来计算特征图例如,假设帧被用作所有其他帧必须与其对齐的参考帧,偏移生成模块420可以经过偏移生成dnn通过连接特征图和并传递所连接的特征图基于和来计算偏移图δpj→
i,t
。在此,帧可以是n个先前重构帧的集合中的任何一个帧。不失一般性,n个先前重构帧的集合限据其时间戳以升序排列。因此,可以基于n个重构帧的时间戳来选择提高视觉质量的帧。例如,当目标是要提高当前重构帧时,则也就是说,所有其他先前重构的邻近帧可以在之前。在另一个实施方式中,先前重构的邻近帧的一部分可以在之前,并且其余帧可以在之后。
40.由偏移生成模块420生成的偏移图δpj→
i,t
可以被输入至tdc模块430。在图4中,tdc dnn可以通过堆叠几个tdc层来形成,每个层之后是非线性激活层例如整流线性单元(relu)以及其他dnn层(例如,瓶颈层)。tdc模块430使用tdc dnn来基于由特征提取模块410输出的特征图和由偏移生成模块420输出的偏移图δpj→
i,t
计算对齐特征图
41.根据实施方式,tdc dnn可以包括二维(2d)tdc层。例如,假设wk表示2d tdc核的权重系数,其中k是大于或等于1的自然数(例如,k=1,...,k),并且pk表示核中的第k位置的预定偏移(例如,用k=9和pk∈{(-1,-1),(-1,0),...,(1,1)}来定义3x3的核)。2d tdc层可以基于输入特征f
in
和可学习偏移δp来计算输出特征f
out
,其中,基于下面的等式来确定采样位置p0处的特征:
42.在此,偏移的总和(p0 pk δpk)可以是不规则的并且可以不是整数,tdc操作可以执行插值(例如,双线性插值)以纠正(p0 pk δpk)的不规则位置。
43.此外,对齐误差计算模块460可以被配置成:计算对齐损失以测量与之间未对齐的误差。例如,可以使用l1范数(或绝对误差的平均值)或l2范数(平方根误差的平均值)来计算未对齐。帧重构模块440可以使用通过前馈推理计算的帧重构dnn来基于由特征提取模块410输出的特征图和由tdc模块430输出的对齐特征图生成对齐帧对齐帧可以被用作到帧合成模块450的输入,并且帧合成模块450可以使用帧合成dnn来生成合成的高质量帧
44.虽然上面已经描述了dnn lf模块的一些具体实施方式,但是应当理解,本公开内容的一个或更多个实施方式不限于此。例如,可以针对特征提取dnn、偏移生成dnn、tdc dnn、帧重构dnn和帧合成dnn中的每一个不同地配置层的类型、层的数目、核尺寸等。例如,任何骨干网络例如resnet可以被用作特征合成dnn。例如,正则卷积的集合和瓶颈层可以被堆叠为偏移生成dnn。例如,tdc层的集合可以被堆叠为tdc dnn,并且利用跳过连接的一些卷积层可以被堆叠在一起作为帧重构dnn。例如,一些残差块层可以被堆叠在一起作为帧合成dnn。
45.图5是示出了根据实施方式的使用3d tdc的dnn lf模块的操作的图。
46.参照图5,dnn lf模块500可以包括特征提取模块510、tdc和特征融合模块520以及特征重构模块530。应当理解的是,上面参照图4描述了dnn lf模块500的部件的特征或功能中的一些。因此,可以省略对其的重复描述。
47.根据实施方式,输入帧可以被堆叠在一起以获取尺寸的4d输入张量(n,c,h,w),其中c是通道的数目(例如,用于彩色帧的三个通道),并且(h,w)提供了视频帧的分辨率。特征提取模块510可以被配置成:使用特征提取dnn通过前向推理来计算特征图的4d特征张量。在实施方式中,特征提取dnn使用3d卷积层(例如,c3d)来计算特征图并捕获视频的时空特性。在另一个实施方式中,可以使用如参照图4描述的2d卷积层来计算每个单独的特征图。在此,在计算每个单独的输入帧的特征图之后,可以将特征图连接成4d张量。因此,特征提取模块510可以输出4d特征张量。
48.例如,假设wk表示3d tdc核的权重系数并且pk表示核中的第k位置的预定偏移,其中k是大于或等于1的自然数(例如,k=1,...,k)。3d tdc核可以被定义为k=27并且pk∈{(-1,-1,-1),(-1,-1,0),...,(1,1,1)}。3d tdc层可以基于输入特征f
in
和可学习偏移δp来计算输出特征f
out
,其中使用上面提供的同一等式(3)给出采样位置p0处的特征。
49.在图5中,tdc和特征融合dnn可以通过堆叠一个或更多个3d tdc层来形成,其中每个层之后是非线性激活层,例如relu。另外地或替选地,每个3d tdc层之后可以是其他dnn层,例如瓶颈层。例如,假设帧是所有其他帧需要与其对齐的参考帧,那么tdc和特征融合模块520使用tdc和特征融合dnn来基于4d特征张量计算融合的对齐特征图
帧重构模块530使用帧重构dnn来基于融合的对齐特征图计算重构的高质量帧在此,在训练dnn lf模块500时没有执行显式的空间对齐。反而,3d可变形卷积直接学习时空偏移以生成对齐融合特征。
50.虽然上面已经描述了dnn lf模块的一些具体实施方式,但是应当理解,本公开内容的一个或更多个实施方式不限于此。例如,可以针对特征提取dnn、tdc和特征融合dnn以及帧重构dnn中的每一个不同地配置层的类型、层的数目、核尺寸等。
51.图6是根据实施方式的用于使用具有tdc的dnn lf处理视频数据的装置的框图。应当理解的是,上面参照图4和图5描述了装置600的部件的特征或功能中的一些。因此,可以省略对其的重复描述。
52.装置600可以包括:存储计算机程序代码的至少一个存储器;以及至少一个处理器,所述至少一个处理器被配置成访问至少一个存储器并按照计算机程序代码的指示进行操作。计算机程序代码600可以包括获取代码610、确定代码620和生成代码630。
53.获取代码610可以被配置成获取视频序列中的重构的图像帧的集合。根据实施方式,获取代码610可以被配置成执行上面关于图4和图5描述的特征提取模块410和510的操作。
54.确定代码620可以被配置成:确定多个图像帧中的每个图像帧的特征图,基于特征图来确定偏移图,并且通过对特征图和偏移图执行时间可变形卷积(tdc)来确定对齐特征图。根据实施方式,确定代码620可以被配置成:执行上面关于图4描述的偏移生成模块420、tdc 430和对齐误差计算模块460以及上面关于图5描述的tdc和特征融合模块520的操作。
55.生成代码630可以被配置成:生成多个对齐帧并且对多个对齐帧进行合成以输出与多个图像帧相对应的多个高质量帧。根据实施方式,生成代码630可以被配置成:执行图4的帧重构模块430和帧合成模块450以及图5的帧重构模块530的操作。
56.尽管将装置600描述为仅包括获取代码610、确定代码620和生成代码630,但是本公开内容的一个或更多个实施方式不限于此。一个或更多个实施方式可以包括比图6中所示的那些更多或更少的部件或部分。
57.在本公开内容的一个或更多个实施方式中使用的术语例如“单元”或“模块”指示用于处理至少一个功能或操作的单元,并且可以在硬件、软件中或者在硬件和软件的组合中被实现。
58.术语“单元”、“代码”或“模块”可以由存储在可寻址存储介质中并能够由处理器执行的程序来实现。
59.例如,术语“单元”、“代码”或“模块”可以包括软件组件、面向对象的软件组件、类组件和任务组件、进程、函数、属性、过程、子例程、程序代码段、驱动程序、固件、微代码、电路系统、数据、数据库、数据结构、表、数组和/或变量。
60.上面已经示出和描述了本公开内容的实施方式中的一些。然而,本公开内容的一个或更多个实施方式不限于前述具体实施方式。应当理解,在不脱离本公开内容的精神和范围的情况下,可以进行各种修改、替换、改进及其等同物。应当理解,这样的修改、替换、改进及其等同物应当落入本公开内容的保护范围内,并且不应被解释为独立于本公开内容的发明构思或前景。
再多了解一些

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

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

相关文献