通过元学习进行平滑质量控制的基于质量自适应神经网络的环路滤波器的制作方法

文档序号:32676164发布日期:2022-12-24 03:50阅读:39来源:国知局
通过元学习进行平滑质量控制的基于质量自适应神经网络的环路滤波器的制作方法
通过元学习进行平滑质量控制的基于质量自适应神经网络的环路滤波器
相关申请的交叉引用
1.本技术基于2021年4月19日提交的美国临时专利申请第63/176,787号并且要求其优先权,该美国临时专利申请的公开内容通过引用整体并入本文。


背景技术:

2.诸如h.264/高级视频编码(h.264/avc)、高效视频编码(high-efficiency video coding,hevc)和通用视频编码(versatile video coding,vvc)的视频编码标准共享相似(递归)的基于块的混合预测和/或变换框架。在这样的标准中,为了优化整体效率,如帧内/帧间预测、整数变换和上下文自适应熵编码的单独编码工具,都是强烈人为设计的。这些单独的编码工具利用时空像素邻域来进行预测信号构建,以获得用于后续变换、量化和熵编码的相应残差。另一方面,神经网络通过分析来自相邻像素的感受野的时空信息来提取不同级别的时空刺激,本质上是探索高度非线性和非局部时空相关性。需要使用高度非线性和非局部时空相关性来探索改进的压缩质量。
3.有损视频压缩方法经常遭受压缩视频具有伪影的困扰,这严重降低体验质量(quality of experience,qoe)。允许的失真量通常取决于应用,但一般来说,压缩比越高,失真越大。压缩质量可能受许多因素影响。例如,量化参数(quantization parameter,qp)确定了量化步长,qp值越大,量化步长越大,失真也越大。为了适应用户的不同请求,视频编码方法需要具有以不同压缩质量压缩视频的能力。
4.尽管涉及深度神经网络(deep neural network,dnn)的先前方法已经通过增强被压缩视频的视频质量显示出有希望的性能,但是对于基于神经网络(neural network-based,nn)的质量增强方法,适应不同的qp设置是一个挑战。例如,在以前的方法中,每个qp值都被视为单独的任务,并且针对每个qp值训练和部署一个nn模型实例。在实践中,不同的输入通道具有不同的qp值,例如色度和亮度分量具有不同qp值。在这种情况下,以前的方法需要组合数量的nn模型实例。当添加更多不同类型的质量设置时,组合nn模型的数量变得非常大。此外,针对特定质量因素(quality factor,qf)设置而训练的模型实例通常不适用于其他设置。虽然整个视频序列通常对某些qf参数具有相同的设置,但为了达到最佳增强效果,不同的帧可能需要不同的qf参数。因此,需要通过任意平滑的qf参数设置来提供灵活的质量控制的方法、系统和装置。


技术实现要素:

5.根据实施方式,提供了一种基于使用元学习进行基于神经网络的环路滤波的视频增强的方法。该方法可以由至少一个处理器执行,并且该方法可以包括:接收重建的视频数据;接收与所重建的视频数据相关联的一个或更多个质量因素;以及使用基于神经网络的环路滤波器,基于一个或更多个质量因素和所重建的视频数据,生成伪影减少的增强视频数据,其中,基于神经网络的环路滤波器包括基于神经网络的环路滤波器参数,该基于神经
网络的环路滤波器参数包括共享参数和自适应参数。
6.根据实施方式,提供了一种基于使用元学习进行基于神经网络的环路滤波的视频增强装置。该装置可以包括:至少一个存储器,其被配置成存储程序代码;以及至少一个处理器,其被配置成读取程序代码并且按照程序代码的指示进行操作。程序代码可以包括:第一接收代码,其被配置成使至少一个处理器接收重建的视频数据;第二接收代码,其被配置成使至少一个处理器接收与所重建的视频数据相关联的一个或更多个质量因素;以及第一生成代码,其被配置成使至少一个处理器使用基于神经网络的环路滤波器,基于一个或更多个质量因素和所重建的视频数据来生成伪影减少的增强视频数据,其中,基于神经网络的环路滤波器包括基于神经网络的环路滤波器参数,该基于神经网络的环路滤波器参数包括共享参数和自适应参数。
7.根据实施方式,可以提供一种非暂态计算机可读介质,其存储指令。该指令在由至少一个处理器执行时使至少一个处理器执行:接收重建的视频数据;接收与重建的视频数据相关联的一个或更多个质量因素;以及使用基于神经网络的环路滤波器,基于一个或更多个质量因素和所重建的视频数据来生成伪影减少的增强视频数据,其中,基于神经网络的环路滤波器包括基于神经网络的环路滤波器参数,该基于神经网络的环路滤波器参数包括共享参数和自适应参数。
附图说明
8.图1是根据实施方式的可以实现本文中描述的方法、装置和系统的环境的图。
9.图2是图1的一个或更多个设备的示例部件的框图。
10.图3a和图3b是根据实施方式的用于使用元学习进行视频增强的元神经网络环路滤波器(meta neural network loop filter,meta-nnlf)架构的框图。
11.图4是根据实施方式的用于使用元学习进行视频增强的meta-nnlf模型的装置的框图。
12.图5是根据实施方式的用于使用元学习进行视频增强的meta-nnlf的训练装置的框图。
13.图6a和图6b是示出根据实施方式的使用meta-nnlp进行视频增强的过程的流程图。
具体实施方式
14.本公开内容的实施方式描述了用于基于质量自适应神经网络的环路滤波(quality-adaptive neural network-based loop filtering,qannlf)的方法、系统和设备,用于处理解码视频以减少诸如噪声、模糊、块效应等伪影中的一种或更多种类型的伪影。在实施方式中,描述了基于元神经网络的环路滤波(meta neural network-based loop filtering,meta-nnlf)的方法和/或过程,以基于当前解码视频和解码视频的qf(例如编码树单元(coding tree unit,ctu)分区、qp、去块滤波器边界强度、cu帧内预测模式等),自适应地计算基于底层神经网络的环路滤波(neural network-based loop,filtering nnlf)模型的质量自适应权重参数。根据本公开内容的实施方式,通过任意平滑qf设置(包括训练过程中的可见设置和实际应用中的不可见设置),仅一个meta-nnlf模型实例就可以实现解
码视频的有效伪影减少。
15.图1是根据实施方式的可以实现本文中描述的方法、装置和系统的环境100的图。
16.如图1所示,环境100可以包括用户设备110、平台120和网络130。环境100的设备可以经由有线连接、无线连接或有线连接和无线连接的组合进行互连。
17.用户设备110包括能够接收、生成、存储、处理和/或提供与平台120相关联的信息的一个或更多个设备。例如,用户设备110可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,一副智能眼镜或智能手表)或类似设备。在一些实施方式中,用户设备110可以从平台120接收信息并且/或者向平台120发送信息。
18.平台120可以包括如本文中其它地方描述的一个或更多个设备。在一些实现方式中,平台120可以包括云服务器或云服务器组。在一些实现方式中,平台120可以被设计成模块化的,使得可以换入或换出软件部件。这样,可以容易地和/或快速地重新配置平台120以用于不同的用途。
19.在一些实现方式中,如所示出的,平台120可以被托管在云计算环境122中。值得注意的是,虽然本文中描述的实现方式将平台120描述为托管在云计算环境122中,但是在一些实现方式中,平台120可以不是基于云的(即,可以在云计算环境的外部实现)或者可以是部分基于云的。
20.云计算环境122可以包括托管平台120的环境。云计算环境122可以提供计算、软件、数据访问、存储等服务,这些服务不需要终端用户(例如,用户设备110)知道托管平台120的系统和/或设备的物理位置和配置。如所示出的,云计算环境122可以包括一组计算资源124(统称为“计算资源(computing resources)124”并且单独称为“计算资源(computing resource)124”)。
21.计算资源124可以包括一个或更多个个人计算机、工作站计算机、服务器设备或其它类型的计算和/或通信设备。在一些实现方式中,计算资源124可以托管平台120。云资源可以包括:在计算资源124中执行的计算实例、在计算资源124中提供的存储设备、由计算资源124提供的数据传输设备等。在一些实现方式中,计算资源124可以经由有线连接、无线连接或者有线和无线连接的组合与其他计算资源124通信。
22.如进一步在图1中示出的,计算资源124可以包括一组云资源,例如一个或更多个应用(“application,app”)124-1、一个或更多个虚拟机(“virtual machine,vm”)124-2、虚拟化存储(“virtualized storage,vs”)124-3、一个或更多个管理程序(“hypervisor,hyp”)124-4等。
23.应用124-1可以包括可以提供给用户设备110和/或平台120或者由用户设备110和/或平台120访问的一个或更多个软件应用。应用124-1可以消除在用户设备110上安装和执行软件应用的需求。例如,应用124-1可以包括与平台120相关联的软件和/或能够经由云计算环境122提供的任何其它软件。在一些实现方式中,一个应用124-1可以经由虚拟机124-2向一个或更多个其他应用124-1发送信息或者从一个或更多个其他应用124-1接收信息。
24.虚拟机124-2可以包括像物理机一样执行程序的机器(例如,计算机)的软件实现。虚拟机124-2可以为系统虚拟机或过程虚拟机,这取决于虚拟机124-2对任何真实机的使用
和对应程度。系统虚拟机可以提供支持完整操作系统(“os”)的执行的完整系统平台。过程虚拟机可以执行单个程序,并且可以支持单个过程。在一些实现方式中,虚拟机124-2可以代表用户(例如,用户设备110)执行,并且可以管理云计算环境122的基础架构,例如数据管理、同步或长持续时间数据传送。
25.虚拟化存储124-3可以包括在计算资源124的存储系统或设备内使用虚拟化技术的一个或更多个存储系统和/或一个或更多个设备。在一些实现方式中,在存储系统的上下文内,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指代逻辑存储从物理存储的抽象(或分离),以使得可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理员在管理员管理针对终端用户的存储方面的灵活性。文件虚拟化可以消除在文件级别访问的数据与物理地存储文件的位置之间的依赖性。这可以使得能够优化存储使用、服务器整合和/或无中断文件迁移的性能。
26.管理程序(hypervisor)124-4可以提供允许多个操作系统(例如,“客户操作系统”)在诸如计算资源124的主计算机上同时执行的硬件虚拟化技术。管理程序124-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。
27.网络130可以包括一个或更多个有线网络和/或无线网络。例如,网络130可以包括蜂窝网络(例如,第五代(fifth generation,5g)网络、长期演进(long-term evolution,lte)网络、第三代(third generation,3g)网络、码分多址(code division multiple access,cdma)网络等)、公共陆地移动网络(public land mobile network,plmn)、局域网(local area network,lan)、广域网(wide area network,wan)、城域网(metropolitan area network,man)、电话网络(例如,公共交换电话网络(public switched telephone network,pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,以及/或者这些或其他类型的网络的组合。
28.图1所示的设备和网络的数量和布置被作为示例来提供。实际上,除了图1所示的设备和/或网络以外,可以存在另外的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或不同布置的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备内实现,或者图1所示的单个设备可以被实现为多个分布式设备。附加地或替选地,环境100的一组设备(例如,一个或更多个设备)可以执行被描述为由环境100的另一组设备执行的一个或更多个功能。
29.图2是图1的一个或更多个设备的示例部件的框图。
30.设备200可以对应于用户设备110和/或平台120。如图2所示,设备200可以包括总线210、处理器220、存储器230、存储部件240、输入部件250、输出部件260和通信接口270。
31.总线210可以包括允许设备200的部件之间的通信的部件。处理器220可以以硬件、固件或者硬件和软件的组合来实现。处理器220可以为中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)、加速处理单元(accelerated processing unit,apu)、微处理器、微控制器、数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、专用集成电路(application-specific integrated circuit,asic)或者另一类型的处理部件。在一些实现方式中,处理器220可以包括能够被编程以执行功能的一个或更多个处理器。存储器
230可以包括随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)以及/或者存储供处理器220使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪速存储器、磁存储器和/或光存储器)。
32.存储部件240存储与设备200的操作和使用相关的信息和/或软件。例如,存储部件240可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、致密盘(compact disc,cd)、数字通用盘(digital versatile disc,dvd)、软盘、盒式存储器、磁带和/或另一类型的非易失性计算机可读介质以及对应的驱动器。
33.输入部件250可以包括允许设备200例如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)接收信息的部件。附加地或替选地,输入部件250可以包括用于感测信息的传感器(例如,全球定位系统(global positioning system,gps)部件、加速计、陀螺仪和/或致动器)。输出部件260可以包括提供来自设备200的输出信息的部件(例如,显示器、扬声器和/或一个或更多个发光二极管(led))。
34.通信接口270可以包括使得设备200能够例如经由有线连接、无线连接或有线连接和无线连接的组合与其它设备通信的类似收发器的部件(例如,收发器和/或单独的接收器和发送器)。通信接口270可以允许设备200从另一设备接收信息和/或向另一设备提供信息。例如,通信接口270可以包括以太网接口、光接口、同轴接口、红外接口、射频(radio frequency,rf)接口、通用串行总线(universal serial bus,usb)接口、wi-fi接口、蜂窝网络接口等。
35.设备200可以执行本文中所描述的一个或更多个处理。设备200可以响应于处理器220执行由非暂态计算机可读介质(例如,存储器230和/或存储部件240)存储的软件指令来执行这些处理。计算机可读介质在本文可以被限定为非暂态存储器设备。存储器设备可以包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
36.可以经由通信接口270从另一计算机可读介质或从另一设备将软件指令读入存储器230和/或存储部件240。存储在存储器230和/或存储部件240中的软件指令当被执行时可以使处理器220执行本文中所描述的一个或更多个处理。附加地或替选地,可以使用硬连线电路来代替软件指令或与软件指令结合以执行本文中所描述的一个或更多个过程。因此,本文中所描述的实现方式不限于硬件电路和软件的任何特定组合。
37.图2所示的部件的数目和布置被作为示例提供。实际上,与图2所示的部件相比,设备200可以包括另外的部件、更少的部件、不同的部件或不同地布置的部件。附加地或替选地,设备200的一组部件(例如,一个或更多个部件)可以执行被描述为由设备200的另一组部件执行的一个或更多个功能。
38.===================================================
39.现在将详细描述基于使用元学习进行基于神经网络的环路滤波的视频增强方法和装置。
40.本公开内容提出了qannlf机制以通过用于压缩视频的qf参数的任意平滑设置来支持灵活的质量控制。根据实施方式,元学习机制可以用于基于当前解码视频和qf参数来自适应地计算底层nnlf模型的质量自适应权重参数,使得单个meta-nnlf模型实例能够通过不同和任意平滑qf设置来增强解码视频。
41.本公开内容的实施方式涉及通过任意平滑qf设置(包括训练过程中的可见设置和实际应用中的不可见设置)来增强解码视频以实现解码视频的有效伪影减少。
42.通常,视频压缩框架可以描述如下。给定包括多个图像输入x1,...x
t
的输入视频,其中每个输入图像x
t
可以具有大小(h,w,c),可以是整个帧或者图像帧中的微块(例如ctu),其中h、w、c分别是高度、宽度和通道数。每个图像帧可以是彩色图像((c=3)、灰度图像(c=1)、rgb+深度图像(c=4)等。为了对视频数据进行编码,在第一运动估计步骤中,输入图像可以进一步被划分为空间块,每个块被迭代地划分为更小的块,并且针对每个块计算当前输入xi与一组先前重建输入之间的一组运动矢量m
t
。下标t表示当前第t个编码周期,这可以与图像输入的时间戳不匹配。此外,可以包含来自多个先前编码周期的重建输入,使得中的输入之间的时间差可以任意变化。然后,在第二运动补偿步骤中,可以通过基于运动矢量m
t
复制先前的对应像素来获得预测输入然后,可以获得原始输入x
t
与预测输入之间的残差r
t
。然后可以执行量化步骤,其中残差r
t
可以被量化。根据实施方式,在量化残差r
t
之前执行变换,例如其中将r
t
的dct系数量化的dct。量化的结果可以是经量化的然后使用熵编码将运动矢量m
t
和经量化的扁码为比特流并发送到解码器。在解码器侧,经量化后的可以被去量化以获得残差r
t
,然后将该残差加回至预测输入以获得重建输入在没有限制的情况下,可以使用任何方法或过程来进行去量化,例如像具有去量化系数的idct的逆变换。此外但非限制地,可以使用任何视频压缩方法或编码标准。
43.在之前的方法中,可以选择一个或更多个增强模块来处理重建的以增强重建输入的视觉质量,所述一个或更多个增强模块包括去块滤波器(deblocking filter,df)、样本自适应偏移(sample-adaptive offset,sao)、自适应环路滤波器(adaptive loop filter,alf)、交叉分量自适应环路滤波器(cross-component adaptive loop filter,ccalf)等。
44.本公开内容的实施方式旨在进一步提高重建输入的视觉质量。根据本公开内容的实施方式,可以提供qannlf机制来增强视频编码系统的重建输入的视觉质量。目标是减少中的诸如噪声、模糊、块效应的伪影,从而产生高质量的更具体地,meta-nnlf方法可以用于使用仅一个模型实例来计算该仅一个模型实例可以适应多个和任意平滑qf设置。
45.根据本公开内容的实施方式,所提出的qannlf和meta-nnlf可以与前面提到的附加部件(即df、sao、alf、ccalf等)中的一个或更多个结合使用以提高重建输入的视觉质量。例如,重建输入可以首先经过df,然后是meta-nnlf,然后是sao和alf。这些部件的顺序可以任意改变。在一个实施方式中,所提出的方法可以单独用作所有其他部件的替代,以增强重建输入的视觉质量,从而获得增强的
46.所提出的meta-nnlf机制的实施方式可以结合上述附加部件(例如df、sao、alf、
ccalf等)中的一个或更多个在帧、图块、切片、ctu和/或cu级别上操作。换言之,重建输入在馈入meta-nnlf时可以是一整个帧,但是在一些实施方式中,重建输入在馈入meta-nnlf时也可以是块,例如,图块、切片、ctu或cu。
47.图3a和图3b是根据实施方式的用于使用元学习进行视频增强的meta-nnlf架构300a和300b的框图。
48.如图3a所示,meta-nnlf架构300a可以包括共享nnlf nn 305、自适应nnlf nn 310。
49.如图3b所示,meta-nnlf架构300b可以包括共享nnlf层325和330以及自适应nnlf层335和340。
50.在本公开内容中,底层nnlf模型的模型参数被分成两部分θs、θa,分别表示共享nnlf参数(shared nnlf parameter,snnlfp)和自适应nnlf参数(adaptive nnlf parameter,annlfp)。图3a和图3b示出了nnlf网络架构的两个实施方式。
51.在图3a中,具有snnlfpθs的共享nnlfnn和具有annlfpθa的自适应nnlfnn是分离的单独nn模块,这些单独模块按顺序相互连接以用于网络前向计算。这里,图3a示出了连接这些单独的nn模块的顺序。此处可以使用其他顺序。
52.在图3b中,在nn层内拆分参数。令θs(i)、θa(i)分别表示nnlf模型第i层的snnlfp和annlfp。网络将基于分别针对snnlfp和annlfp的相应输入来计算推理输出,并将这些输出进行组合(例如,通过加法、级联、乘法等),然后发送到下一层。
53.图3a的实施方式可以看作图3b的如下情况:共享nnlf nn 325θs(i)中的层可以为空,自适应nnlf nn 340θa(i)中的层可以为空。因此,在其他实施方式中,可以将图3a和图3b的网络结构进行组合。
54.图4是根据实施方式的用于在测试阶段期间使用元学习进行视频增强的meta-nnlf的装置400的框图。
55.图4a示出了meta-nnlf的测试阶段或推理阶段的整体工作流程。
56.令大小为(h,w,c,d)的重建输入表示meta-nnlf系统的输入,其中h、w、c、d分别为高度、宽度、通道数和帧数。因此,的d-1(d-1≥0)数量的相邻帧可以与一起用作输入以帮助生成增强的这些多个相邻帧通常包括一组先前的帧其中每个可以是在时间l处解码的帧或增强帧令λ
t
表示qf设置,每个λ
l
与每个相关联以提供对应的qf信息,λ
t
可以是当前解码帧的qf设置。qf设置可以包括各种质量控制因素,例如qp值、cu帧内预测模式、ctu分区、去块滤波器边界强度、cu运动矢量等。
57.令θs(i)和θa(i)分别表示meta-nnlf模型400的第i层的snnlfp和annlfp。这是通用符号,因为对于可以完全共享的层,θa(i)为空。对于可以完全自适应的层,θs(i)可以为空。换言之,该符号可以用于图3a和图3b的两个实施方式。
58.提供了用于第i层的meta-nnlf模型400的推理工作流的示例实施方式。
59.给定输入许且给定qf设置λ
t
,meta-nnlf方法计算增强的令f(i)和f(i+1)表示meta-nnlf模型400的第i层的输入和输出张量。基于当前输入f(i)和θs(i),snnlfp推理部412基于共享推理函数gi(f(i),θs(i))计算共享特征g(i),该共享推理函数可以通过使
用第i层中的sep进行前向计算来建模。基于f(i)、g(i)、θa(i)和λ
t
,annlfp预测部414计算第i层的估计annlfpannlfp预测部414可以是例如包括卷积层和全连接层的nn,其基于原始annlfp θa(i)、当前输入和qf设置λ
t
来预测更新的在一些实施方式中,当前输入f(i)可以用作annlfp预测部414的输入。在一些其他实施方式中,可以使用共享特征g(i)代替当前输入f(i)。在其他实施方式中,可以基于共享特征g(i)来计算snnlfp损失,并且可以将损失的梯度用作annlfp预测部414的输入。基于估计的annlfp和共享特征g(i),annlfp推理部416基于annlfp推理函数来计算输出张量f(i+1),该推理函数可以通过使用第i层中的估计aep进行前向计算来建模。
60.请注意,图4中描述的工作流程是示例符号。对于θa(i)为空的可以完全共享的层,可以省略与annlfp相关的模块和f(i+1)=g(i)。对于θs(i)为空的可以完全自适应的层,可以省略snnlfp相关模块和g(i)=f(i)。
61.假设meta-nnlf模型400总共有n个层,最后层的输出可以是增强的
62.注意,meta-nnlf框架允许任意平滑qf设置以进行灵活的质量控制。换言之,上述处理工作流程将能够通过任意平滑qf设置来增强解码帧的质量,这些设置可以被包括在训练阶段中,或者也可以不被包括在训练阶段中。
63.在一种情况下,当annlfp预测部414仅在考虑/不考虑输入f(i)的情况下通过预定义的一组qf设置执行预测时,meta-nnlf模型简化为多qf nnlf模型,其使用一个nnlf模型实例,以适应多个预定义qf设置的增强。当然,其他简化的特定情况也可以涵盖于此。
64.图5是根据实施方式的在训练阶段期间使用元学习进行视频增强的用于meta-nnlf的训练装置500的框图。
65.如图5所示,训练装置500可以包括任务采样器510、内环损失生成器520、内环更新部530、元损失生成器540、元更新部550和权重更新部560。
66.训练过程旨在学习meta-nnlf模型400的snnlfpθs(i)和annlfp θa(i),i=1,

,n以及annlfp预测nn(模型参数表示为φ)。
67.在实施方式中,模型不可知元学习(model-agnostic meta-learning,maml)机制可以用于训练目的。图5给出了元训练框架的示例工作流程。这里可以使用其他元训练算法。
68.对于训练,可以存在一组训练数据其中每个对应于训练qf设置,并且总共存在k个训练qf设置(因此存在k个训练数据集)。对于训练,可以存在q
qp
个不同的训练qp值,q
ctu
个不同的训练ctu分区等,并且可以存在有限数目k=q
qp
×qctu
×…
个不同的训练qf设置。因此,每个训练数据集可以与这些qf设置中的每一个相关联。另外,可以存在一组验证数据其中每个对应于验证qf设置,总共有p个验证qf设置。验证qf设置可以包括与训练集不同的值。验证qf设置也可以具有与训练集相同的值。
69.总体训练目标是学习meta-nnlf模型,使得可以广泛应用于qf设置的所有(包括训练的和未来不可见的)值。假设具有qf设置的nnlf任务可以从任务分布p(λ)中得出。为了
实现上述训练目标,可以在所有训练qf设置在所有训练数据集中使学习meta-nnlf模型的损失最小化。
70.maml训练过程可以具有用于基于梯度的参数更新的外环和内环。对于每个外环迭代,任务采样器510首先对一组k

个训练qf设置(k

≤k)进行采样。然后针对每个采样的训练qf设置λi,任务采样器510从训练数据集中对训练数据集进行采样。此外,任务采样器510对一组p

(p

≤p)个验证qf设置进行采样,并且针对每个采样的验证qf设置λj,从验证数据集中对验证数据集进行采样。然后对于每个采样数据可以基于当前参数θs、θa和φ进行meta-nnlf前向计算,然后内环损失生成器520计算累积的内环损失
[0071][0072]
损失函数可以包括真实图像与增强输出之间的失真损失:以及其他一些正则化损失(例如,区分针对不同qf因数的中间网络输出的辅助损失)。可以使用的例如mse、mae、ssim等任何失真度量,可以用作
[0073]
然后,基于内环损失给定步长α
si
和α
ai
作为ai的质量控制参数/超参数,内环更新部530计算特定于更新任务的参数更新。
[0074]
以及
[0075][0076]
累积内环损失的梯度和梯度分别可以用于计算自适应参数和的更新版本。
[0077]
然后,元损失生成器540计算所有采样的验证质量控制参数的外部元目标或损失:
[0078]
以及
[0079][0080]
其中可以是使用参数φ基于meta-nnlf前向计算针对解码帧计算的损失,qf设置为λj。给定步长β
aj
和β
sj
作为λj的超参数,元更新部550将模型参数更新为:
[0081]
以及
[0082][0083]
在一些实施方式中,可以不在内环中更新θs,即,α
si
=0,不更新有助
于稳定训练过程。
[0084]
至于annlfp预测nn的参数φ,权重更新部560以常规训练方式更新它们。即,根据训练和验证数据练和验证数据基于当前的θs、θa、φ,可以计算所有样本的损失和所有样本的并且所有这些损失的梯度可以累积(例如相加)以通过常规反向传播在φ上执行参数更新。
[0085]
本公开内容的实施方式不限于用于更新这些模型参数的上述优化算法或损失函数。可以使用本领域已知的用于更新这些模型参数的任何优化算法或损失函数。
[0086]
对于meta-nnlf模型的annlfp预测部414仅在预定义的一组训练qf设置上执行预测的情况,验证qf设置将与训练qf设置相同。可以使用相同的maml训练过程,以训练上述简化的meta-nnlf模型(即,使用一个模型实例来适应多个预定义比特率的压缩效果的多qf设置nnlf模型)。
[0087]
本公开内容的实施方式允许通过使用元学习仅使用一个qannlf模型实例来适应多个qf设置。此外,本公开内容的实施方式使得能够仅使用meta-nnlf模型的一个实例来适应不同类型的输入(例如,帧级或块级、单图像或多图像、单通道或多通道)和不同类型的qf参数(例如,不同输入通道的qp值、ctu分区、去块滤波器边界强度等的任意组合)。
[0088]
图6a是根据实施方式的用于基于使用元学习进行基于神经网络的环路滤波的视频增强的方法600a的流程图。
[0089]
如图6a所示,在操作610处,方法600a可以包括:接收重建的视频数据;接收与重建的视频数据相关联的一个或更多个质量因素。
[0090]
在一些实施方式中,重建的视频数据可以包括多个重建输入帧,并且本文描述的方法可以应用于多个重建输入帧中的当前帧。在一些实施方式中,重建输入帧可以被进一步分解并且用作meta-nnlf模型的输入。
[0091]
在一些实施方式中,与重建的视频数据相关联的一个或更多个质量因素可以包括以下中的至少一个:编码树单元分区、量化参数、去块滤波器边界强度、编码单元运动矢量和编码单元预测模式。
[0092]
在一些实施方式中,重建的视频数据可以根据包括解码的量化视频数据和运动矢量数据的比特流生成。作为示例,生成重建的视频数据可以包括:接收包括量化视频数据和运动矢量数据的视频数据流。然后,生成重建的视频数据可以包括:使用逆变换对量化数据流进行去量化以获得恢复的残差;基于恢复的残差和运动矢量数据生成重建的视频数据。
[0093]
方法600a还可以包括:使用基于神经网络的环路滤波器基于一个或更多个质量因素和重建的视频数据来生成伪影减少的增强视频数据,其中,基于神经网络的环路滤波器包括基于神经网络的环路滤波器参数,基于神经网络的环路滤波器参数包括共享参数和自适应参数。作为示例,meta-nnlf模型400可以在多个层上使用,以基于一个或更多个质量因素和重建的视频数据来生成伪影减少的增强视频数据。在一些实施方式中,使用基于神经网络的环路滤波器生成增强视频数据可以包括操作615至630。在一些优选实施方式中,使用基于神经网络的环路滤波器生成增强视频数据可以包括:针对例如meta-nnlf模型400的meta-nnlf模型的多个层重复操作615至630。
[0094]
因此,针对使用元学习进行基于神经网络的环路滤波中的多个层中的每一个,在615处,该方法可以包括:使用具有第一共享参数的第一共享神经网络环路滤波器,基于来自前一层的输出来生成共享特征。作为示例,snnlfp推理部412可以使用具有第一共享参数snnlfp的第一共享神经网络环路滤波器,基于来自第i-1层的输出生成第i层的共享特征g(i)。
[0095]
在620处,该方法可以包括:使用预测神经网络,基于来自前一层的输出、共享特征、来自第一自适应神经网络环路滤波器的第一自适应参数以及一个或更多个质量因素,计算估计的自适应参数。作为示例,annlfp预测部414可以使用预测神经网络,基于来自第i-1层的输出、共享特征g(i)、来自第一自适应神经网络环路滤波器的第一自适应参数以及一个或更多个质量因素λ,计算估计的自适应参数
[0096]
在一些实施方式中,预测网络的训练可以包括:基于一个或更多个质量因素、第一共享参数、第一自适应参数和预测神经网络的预测参数来生成与一个或更多个质量因素对应的训练数据的第一损失以及与一个或更多个质量因素对应的验证数据的第二损失,然后基于所生成的第一损失和所生成的第二损失的梯度来更新预测参数。
[0097]
在625处,该方法可以包括:基于共享特征和估计的自适应参数来生成当前层的输出。作为示例,annlfp推理部416可以基于共享特征g(i)和估计的自适应参数来生成输出f(i+1)。
[0098]
在630处,该方法可以包括:根据基于神经网络的环路滤波器的最后层的输出来生成增强视频数据。
[0099]
在一些实施方式中,方法600a可以包括增强后处理,该增强后处理包括:将去块滤波器、自适应环路滤波器、样本自适应偏移和交叉分量自适应环路滤波器中的至少一个应用到增强视频数据。作为示例,增强后处理可以在操作630之后执行。
[0100]
在一些实施方式中,方法600b可以包括预增强处理,该预增强处理包括:在生成增强视频数据之前将去块滤波器、自适应环路滤波器、样本自适应偏移和交叉分量自适应环路滤波器中的至少一个应用到增强视频数据。作为示例,预增强处理可以在操作620之前执行。
[0101]
图6b是根据实施方式的通过元学习进行速率控制的自适应神经图像压缩的方法600b的流程图。
[0102]
如图6b所示,在650处,方法600b可以包括:接收重建的视频数据;接收与重建的视频数据相关联的一个或更多个质量因素。
[0103]
在一些实施方式中,重建的视频数据可以包括多个重建输入帧,并且本文描述的方法可以应用于多个重建输入帧中的当前帧。在一些实施方式中,重建输入帧可以被进一步分解并用作meta-nnlf模型的输入。
[0104]
在一些实施方式中,与重建的视频数据相关联的一个或更多个质量因素可以包括编码树单元分区、量化参数、去块滤波器边界强度、编码单元运动矢量和编码单元预测模式中的至少一个。
[0105]
在一些实施方式中,重建的视频数据可以根据包括解码的量化视频数据和运动矢量数据的比特流生成。作为示例,生成重建的视频数据可以包括:接收包括量化的视频数据
和运动矢量数据的视频数据流。然后,生成重建的视频数据可以包括:使用逆变换对量化数据流进行去量化以获得恢复的残差;以及基于恢复的残差和运动矢量数据来生成重建的视频数据。
[0106]
方法600b还可以包括:使用基于神经网络的环路滤波器,基于一个或更多个质量因素和重建的视频数据,生成伪影减少的增强视频数据,其中,基于神经网络的环路滤波器包括基于神经网络的环路滤波器参数,基于神经网络的环路滤波器参数包括共享参数和自适应参数。作为示例,meta-nnlf模型400可以在多个层上使用,以基于一个或更多个质量因素和重建的视频数据来生成伪影减少的增强视频数据。在一些实施方式中,使用基于神经网络的环路滤波器生成增强视频数据可以包括操作655至670。在一些优选实施方式中,使用基于神经网络的环路滤波器生成增强视频数据可以包括:针对例如meta-nnlf模型400的meta-nnlf模型的多个层重复操作655至670。
[0107]
在655处,该方法可以包括:使用具有第一共享参数的第一共享神经网络环路滤波器,基于来自前一层的先前组合输出来生成第一共享输出。在660处,该方法可以包括:使用具有第一自适应参数的第一自适应神经网络环路滤波器,基于来自前一层的先前组合输出来生成第一自适应输出。在665处,该方法可以包括:将第一共享输出和第一自适应输出进行组合以生成第一组合输出。在670处,该方法还可以包括:根据基于神经网络的环路滤波器的最后层的组合输出来生成增强视频数据。
[0108]
所提出的方法可以单独使用或以任何顺序组合使用。此外,方法(或实施方式)、编码器和解码器中的每一个可以通过处理电路(例如,一个或更多个处理器或一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行被存储在非暂态计算机可读介质中的程序。
[0109]
在一些实现方式中,图6a和图6b的一个或更多个处理块可以由平台120执行。在一些实现方式中,图6a和图6b的一个或更多个处理块可以由独立于平台120或包括平台120的另一设备或一组设备(例如用户设备110)执行。
[0110]
前述公开内容提供了说明和描述,但是并非旨在穷举性的或者将实现方式限制为所公开的确实形式。鉴于以上公开内容,可以进行修改和变型,或者可以从实现方式的实践中获得修改和变型。
[0111]
如本文所使用的,术语“部件”旨在被广义地解释为硬件、固件或硬件和软件的组合。
[0112]
将明显的是,本文所描述的系统和/或方法可以以不同形式的硬件、固件、或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码并不限制实现方式。因此,本文中在不参考特定软件代码的情况下描述了系统和/或方法的操作和行为,应当理解的是,可以将软件和硬件设计成基于本文中的描述来实现系统和/或方法。
[0113]
即使在权利要求中记载以及/或者在说明书中公开了特征的组合,这些组合也并非意在限制可能的实现方式的公开内容。实际上,这些特征中的许多特征可以以权利要求中未具体记载以及/或者说明书中未公开的方式组合。尽管以下列出的每个从属权利要求可以直接引用仅一个权利要求,但是可能的实现方式的公开内容可以包括与权利要求组中的每个其他权利要求组合的每个从属权利要求。
[0114]
本文使用的任何元素、动作或指令均不能被解释为关键的或必要的,除非明确地如此描述。此外,如本文所使用的,无量词修饰的项(“a”和“an”)旨在包括一个或更多个项,并且可以与“一个或更多个(one or more)”互换使用。此外,如本文所使用的,术语“组”旨在包括一个或更多个项(例如,相关项、不相关项、相关项与不相关项的组合等),并且可以与“一个或更多个”互换使用。在意指仅一项的情况下,使用术语“一个”或类似语言。此外,如本文中使用的,术语“具有”、“有”、“含有”等意在为开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分地基于”。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1