用模式感知深度学习进行滤波的方法和装置与流程

文档序号:20842552发布日期:2020-05-22 17:42阅读:383来源:国知局
用模式感知深度学习进行滤波的方法和装置与流程

本实施例一般地涉及用于视频编码和解码的方法和装置,并且更具体地涉及用于在视频编码和解码中用模式感知神经网络进行滤波的方法和装置。



背景技术:

为了实现高压缩效率,图像和视频编码方案通常采用预测和变换来利用视频内容中的空间和时间冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后对原始图像块和预测图像块之间的差异(通常表示为预测误差或预测残差)进行变换、量化和熵编码。为了重建视频,通过对应于预测、变换、量化和熵编码的逆过程来对压缩数据进行解码。为了减少伪影,可以使用环内滤波。



技术实现要素:

根据一般方面,提出了一种用于视频编码的方法,包括:访问视频的图片的图像块的第一重建版本;以及通过神经网络对所述图像块的所述第一重建版本进行滤波,以形成所述图像块的第二重建版本,其中,所述神经网络响应于以下中的至少一个:(1)基于所述图像块的至少一个量化参数的信息,(2)所述图像块中的样本的块边界信息,以及(3)所述图像块的预测样本。

根据另一个一般方面,提出了一种用于视频解码的方法,包括:访问编码视频的图片的图像块的第一重建版本;以及通过神经网络对所述图像块的所述第一重建版本进行滤波,以形成所述图像块的第二重建版本,其中,所述神经网络响应于以下中的至少一个:(1)基于所述图像块的至少一个量化参数的信息,(2)所述图像块中的样本的块边界信息,以及(3)所述图像块的预测样本。

根据另一个一般方面,一种用于视频编码的装置,包括至少一个存储器和一个或多个处理器,所述一个或多个处理器被配置为:访问视频的图片的图像块的第一重建版本;以及通过神经网络对所述图像块的所述第一重建版本进行滤波,以形成所述图像块的第二重建版本,其中,所述神经网络响应于以下中的至少一个:(1)基于所述图像块的至少一个量化参数的信息,(2)所述图像块中的样本的块边界信息,以及(3)所述图像块的预测样本。

根据另一个一般方面,提出了一种用于视频解码的装置,包括至少一个存储器和一个或多个处理器,所述一个或多个处理器被配置为:访问编码视频的图片的图像块的第一重建版本;以及通过神经网络对所述图像块的所述第一重建版本进行滤波,以形成所述图像块的第二重建版本,其中,所述神经网络响应于以下中的至少一个:(1)基于所述图像块的至少一个量化参数的信息,(2)所述图像块中的样本的块边界信息,以及(3)所述图像块的预测样本。

在一个实施例中,所述神经网络是卷积神经网络。所述神经网络可以基于残差学习。

为了将所述块边界信息用作所述神经网络的输入,可以形成具有与所述图像块相同的尺寸的数据阵列,其中,所述数据阵列中的每个样本指示所述图像块中的相应样本是否在块边界处。

为了使用基于至少一个量化参数的所述信息,可以形成具有与所述图像块相同的尺寸的数据阵列,其中,所述数据阵列中的每个样本与所述图像块的所述至少一个量化参数相关联。基于至少一个量化参数的所述信息可以是量化步长。

在一个实施例中,所述神经网络还响应于以下中的一个或多个:(1)所述图像块的预测残差,以及(2)所述图像块的至少一个帧内预测模式。

尽管所述神经网络可以响应于如上所述作为输入的信息的不同通道,但是可以将所述神经网络的输入的一个或多个通道用作所述神经网络的中间层的输入。

在一个实施例中,所述图像块的所述第一重建版本可以基于所述预测样本和所述图像块的预测残差。所述图像块的所述第二重建版本可以用于预测另一图像块,以进行帧内或帧间预测。

在编码或解码时,所述图像块可以对应于编码单元(cu)、编码块(cb)或编码树单元(ctu)。

根据另一个一般方面,一种视频信号,被格式化为包括图像块和所述图像块的预测样本之间的预测残差;以及其中图像块的第一重建版本基于所述预测样本和所述预测残差,其中通过神经网络对所述图像块的所述第一重建版本进行滤波,以形成所述图像块的第二重建版本,以及其中所述神经网络响应于以下中的至少一个:(1)所述图像块的至少一个量化参数,(2)所述图像块中的样本的块边界信息,以及(3)所述图像块的所述预测样本。

本实施例还提供一种计算机可读存储介质,其上存储有用于根据上述方法对视频数据进行编码或解码的指令。本实施例还提供一种计算机可读存储介质,其上存储有根据上述方法生成的比特流。本实施例还提供一种用于发送根据上述方法生成的比特流的方法和装置。

附图说明

图1图示了示例性hevc(高效视频编码)视频编码器的框图。

图2图示了示例性hevc视频解码器的框图。

图3图示了jem6.0中使用的四个环内滤波器。

图4图示了示例性cnn(卷积神经网络)。

图5图示了被设计为用于hevc的后处理滤波器的可变滤波器尺寸残差学习cnn(vrcnn)。

图6a、图6b和图6c分别图示了将cnn用作环内滤波器的训练过程、编码过程和解码过程。

图7图示了根据实施例的用于生成边界图像的示例性方法。

图8a图示了示例性图像中的示例性分区边缘,图8b图示了对应的边界图像,图8c图示了ctu的示例性cu分区,以及图8d图示了对应的qp(量化参数)图像区域。

图9a、图9b和图9c分别图示了根据实施例的将模式感知cnn用作环内滤波器的训练过程、编码过程和解码过程

图10图示了其中可以实现示例性实施例的各个方面的示例性系统的框图。

具体实施方式

图1图示了示例性hevc编码器100。为了对具有一个或多个图片的视频序列进行编码,将图片分区为一个或多个条带,其中每个条带可以包括一个或多个条带段。将条带段组织为编码单元、预测单元和变换单元。

在本申请中,术语“重建”和“解码”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。通常但并非必须,术语“重建”在编码器侧使用,而“解码”在解码器侧使用。

hevc规范在“块”和“单元”之间进行区分,其中“块”针对样本阵列(例如,亮度,y)中的特定区域,而“单元”包括所有编码颜色分量(y,cb,cr或单色)的并置块、语法元素以及与块相关联的预测数据(例如,运动矢量)。

为了进行编码,将图片分区为具有可配置尺寸的方形的编码树块(ctb),并将连续的一组编码树块分组为条带。编码树单元(ctu)包含编码颜色分量的ctb。ctb是分区为编码块(cb)的四叉树的根,并且可将编码块分区为一个或多个预测块(pb),并形成分区为变换块(tb)的四叉树的根。与编码块、预测块和变换块相对应,编码单元(cu)包括预测单元(pu)和变换单元(tu)的树结构集,pu包括所有颜色分量的预测信息,并且tu包括每个颜色分量的残差编码语法结构。亮度分量的cb、pb和tb的尺寸适用于相应的cu、pu和tu。在本申请中,术语“块”可用于指代ctu、cu、pu、tu、cb、pb和tb中的任何一个。另外,“块”还可用于指代h.264/avc或其他视频编码标准中指定的宏块和分区,并且更一般地指代各种尺寸的数据阵列。

在示例性编码器100中,如下所述,由编码器元件对图片进行编码。要编码的图片以cu为单位进行处理。使用帧内或帧间模式对每个cu进行编码。当在帧内模式下对cu进行编码时,其执行帧内预测(160)。在帧间模式下,执行运动估计(175)和补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的哪一个来对cu进行编码,并且通过预测模式标志来指示帧内/帧间决定。通过从原始图像块中减去(110)预测块来计算预测残差。

为了利用空间冗余,从同一条带内的重建的相邻样本预测帧内模式下的cu。当考虑当前cu的编码/解码时,因果相邻cu已经被编码/解码。为了避免失配,编码器和解码器具有相同的预测。因此,编码器和解码器均使用来自重建/解码的相邻因果cu的信息来形成当前cu的预测。

35个帧内预测模式的集合在hevc中可用,包括平面(索引为0)、dc(索引为1)和33个角度预测模式(索引为2-34)。从与当前块邻近的行和列重建帧内预测参考。使用来自先前重建的块的可用样本,参考可以在水平和垂直方向上延伸超过块尺寸的两倍。当将角度预测模式用于帧内预测时,可以沿着由角度预测模式指示的方向复制参考样本。

对于帧间cu,将相应的编码块进一步分区为一个或多个预测块。在pb级别上执行帧间预测,并且相应的pu包含关于如何执行帧间预测的信息。运动信息(即运动矢量和参考图片索引)可以以两种方法来用信号通知,即“合并模式”和“高级运动矢量预测(amvp)”。

在合并模式中,视频编码器或解码器基于已经编码的块来组装候选列表,并且视频编码器用信号通知候选列表中的候选之一的索引。在解码器侧,基于用信号通知的候选来重建运动矢量(mv)和参考图片索引。

在amvp中,视频编码器或解码器基于从已经编码的块中确定的运动矢量来组装候选列表。然后,视频编码器用信号通知候选列表中的索引以标识运动矢量预测器(mvp),并用信号通知运动矢量差(mvd)。在解码器侧,将运动矢量(mv)重建为mvp+mvd。适用的参考图片索引还在amvp的pu语法中显式地编码。

然后对预测残差进行变换(125)和量化(130)。对量化的变换系数以及运动矢量和其他语法元素进行熵编码(145)以输出比特流。编码器还可以跳过该变换,并在4x4tu的基础上直接对未变换的残差信号应用量化。编码器还可以绕过变换和量化两者,即,在不应用变换或量化过程的情况下直接对残差进行编码。在直接pcm编码中,不应用预测,并且将编码单元样本直接编码到比特流中。

编码器对编码块进行解码,以提供用于进一步预测的参考。对量化的变换系数进行解量化(140)和逆变换(150)以对预测残差进行解码。将解码的预测残差和预测块组合(155),来重建图像块。将环内滤波器(165)应用于重建的图片,以例如执行解块/sao(样本自适应偏移)滤波以减少编码伪影。将滤波后的图像存储在参考图片缓冲器(180)。

图2图示了示例性hevc视频解码器200的框图。在示例性解码器200中,如下所述,由解码器元件对比特流进行解码。视频解码器200通常执行与如图1中所示的编码通道相对的解码通道,该编码通道执行视频解码作为编码视频数据的一部分。

特别地,解码器的输入包括可以由视频编码器100生成的视频比特流。首先对比特流进行熵解码(230),以获得变换系数、运动矢量和其他编码信息。对变换系数进行解量化(240)和逆变换(250)以对预测残差进行解码。将解码的预测残差和预测块组合(255),来重建图像块。可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得(270)预测块。如上所述,amvp和合并模式技术可以用于推导用于运动补偿的运动矢量,运动补偿可以使用插值滤波器来计算参考块的子整数样本的插值。将环内滤波器(265)应用于重建的图像。将滤波后的图像存储在参考图片缓冲器(280)。

如上针对hevc所描述,将解块和sao滤波器用作环内滤波器以减少编码伪影。更一般而言,对于视频压缩,可以将其他滤波器用于环内滤波。例如,如图3中所示,对于由jvet(联合视频探索组)开发的当前jem6.0(联合探索模型6.0),依次应用四个滤波器,即双边滤波器(blf)、解块滤波器(dbf)、sao和alf(自适应环路滤波器)。这些不同的滤波器通常基于:(1)样本分析和像素分类,以及(2)与类相关的滤波。

为了便于标记,我们将编码器的输入图像称为s,将环内滤波的输入称为将环内滤波的输出称为也可以称为初始重建或图像的初始重建版本。如图3中所示,环内滤波的输入是预测样本和解码的预测残差的和。对于某些块,当预测残差为零或不存在时(例如,在跳过模式中),环内滤波的输入直接是预测样本。

在当前jem中,在解块滤波器之前将双边滤波器应用于重建的样本blf通过以下进行工作:使滤波器权重不仅基于与相邻样本的距离,还基于相邻样本的值。将初始重建图片中的每个样本用其自身及其相邻者的加权平均值替换。基于与中心样本的距离以及样本值的差异来计算权重。由于滤波器具有小加号的形状(即,滤波器使用四个相邻样本),因此所有距离均为0或1。

位于(i,j)的样本将使用其相邻样本进行滤波。权重ω(i,j,k,l)是分配给相邻样本(k,l)的权重,用于对当前样本(i,j)进行滤波,并被定义为:

其中,i(i,j)和i(k,l)分别是初始重建中样本(i,j)和(k,l)的强度值,σd是空间参数,并且σr是范围参数。双边滤波器的属性(或强度)由参数σd和σr控制。在jem6.0中,根据变换单元尺寸和预测模式来设置σd,并根据用于当前块的qp来设置σr。

输出的滤波后的样本值if(i,j)计算为:

在编码器和解码器中,将所提出的双边滤波器应用于每个cu,或者最大尺寸为16x16的块(在cu大于16x16的情况下)。在jem6.0中,在编码器侧的rdo(率失真优化)循环内执行双边滤波器。因此,滤波后的块也可以用于预测后续块(帧内预测)。

alf基本上是基于wiener滤波器设计的,其目的是设计线性滤波器(1d或2d)以最小化l2失真,即最小化滤波后的样本与参考样本(通常是原始样本)之间的均方误差。在jem中,应用具有基于块的滤波器自适应的alf。对于亮度分量,基于信号的方向和活动为每个2x2块选择25个滤波器之中的一个。

对于亮度分量,最多支持三个圆形对称滤波器形状。在图片级别用信号通知索引以指示用于图片的亮度分量的滤波器形状。对于图片中的色度分量,始终使用5x5菱形滤波器。

对每个2x2块应用块分类,基于局部信号分析(梯度,方向性)将其分类为25个类中的一个。对于图片中的两个色度分量,不应用分类方法,即,将单个alf系数集应用于每个色度分量。

可以在cu级别控制亮度分量的滤波过程。用信号通知标志以指示是否将alf应用于cu的亮度分量。对于色度分量,仅在图片级别指示是否应用alf。在第一ctu的sao参数之前,在第一ctu中用信号通知alf滤波器参数。可以用信号通知多达25个亮度滤波器系数集。为了减少比特开销,可以合并不同类别的滤波器系数。而且,可以将参考图片的alf系数重新用作当前图片的alf系数。

也有一些工作使用深度学习来执行环内滤波。深度学习领域涉及深度神经网络的使用。神经网络包含由称为层的组所组织的神经元。神经网络中有输入层、输出层和隐藏层。深度神经网络具有两个或更多个隐藏层。

视频压缩可被视为与模式识别相联系,因为压缩通常寻找重复的模式,以便去除冗余。由于可以将视频压缩中的伪影去除或伪影减少视为识别并还原原始图像,因此可以使用神经网络作为滤波器来减少伪影。在本申请中,伪影减少也被称为图像还原,并且用于减少伪影的神经网络也可以被称为还原滤波器。

图4示出了示例性的m层卷积神经网络,其中通过添加由cnn计算的残差r,将来自视频编解码器的未经滤波的初始重建还原为数学上,网络可以表示为:

其中wi和bi分别是层i的权重和偏置参数,g()是激活函数(例如,sigmoid或整流线性单元(relu)函数),*表示卷积运算。来自cnn的输出可以存储在参考图片缓冲器(rpb)中,以用作对后续帧进行编码或解码的预测器。

可以从k个训练样本{sk},k={1,…,k}中训练参数集θ,包括wi和bi,i={1,…,m},例如,通过最小化损失函数,该损失函数基于还原图像和原始图像之间的误差定义为:

注意,损失函数还可以包含其他项,以便稳定收敛或避免过度拟合。可以简单地将这些正则项添加到误差函数。

为了减少压缩伪影,在yuanyingdai等人的题为“用于hevc帧内编码中的后处理的卷积神经网络方案”(国际多媒体建模会议,第28-39页,springer,2017年)的文章中,设计了一种用于hevc的基于cnn的后处理算法、一种可变滤波器尺寸残差学习cnn(vrcnn),以提高性能并加速网络训练。

特别地,如图5中所示,vrcnn被构造为四层全卷积神经网络,其中可以认为四个层分别对应于特征提取、特征增强、映射和重建。为了适应hevc中的可变尺寸变换,第二层使用5x5和3x3滤波器(conv2,conv3)的组合,而第三层使用3x3和1x1滤波器(conv4,conv5)的组合。另外,由于在伪影减少中滤波前的输入和滤波后的输出通常相似,因此学习它们之间的差异会更容易且更可靠。因此,vrcnn使用残差学习技术,其中cnn被设计为学习输出和输入之间的残差,而不是直接学习输出。

图6a示出了在大型图像数据库上训练cnn,其中网络试图通过最小化与原始图像的误差来还原由编码器重建的图像。图6b示出了所得的cnn在编码器中用于在重建之后还原图像。然后可以显示还原的图像或将其用作参考,以预测序列中的其他帧。对称地,如图6c中所示的解码器接收比特流,使用相同的cnn重建图像和还原图像。

vrcnn仅使用重建的图像在不同的qp下训练和应用cnn,而不使用可从编码器或解码器获得的其他信息。因此,cnn的输入没有显式地考虑出现在块边界上的块效应的特定伪影,也没有考虑取决于块编码类型的伪影。

本实施例针对用于滤波的模式感知cnn。特别地,除了初始重建图像之外,还将可从编码器或解码器获得的不同信息(通常也称为“模式”)用作训练、编码或解码过程期间cnn的输入。

在一个实施例中,可以将qp(量化参数)、图像的块分区和块编码类型用作附加输入。由于cnn将重建的图像作为一组样本当作输入,因此我们也可以使用附加通道作为cnn的输入,来输入分区、编码模式信息和与图像的重建样本对齐的qp。

在vrcnn和其他cnn中,cnn的第一层的输入通常是重建的图像的y分量,即,尺寸为wxhxl的图像,其中w和h是图像的宽度和高度。为了也将其他信息用作输入,我们将重建的图像视为一个通道,并使用附加通道输入其他信息。

在一个实施例中,将分区的边界信息组织成与重建的图像尺寸相同的一个样本阵列,以形成边界图像。边界图像中的样本指示对应的样本是否在分区边界处(即,是否在分区边缘)。该分区可以是cu、pu、tu、ctu或其他区域。

图7图示了根据实施例的用于生成边界图像的示例性方法700。在该示例中,针对分区边界而考虑cu边界。在步骤710、720、730和740中,检查上方样本、下方样本、左侧样本或右侧样本是否与当前样本位于同一cu中。如果不满足任一条件,则当前样本是边界样本,并且将边界图像中的对应样本设置(760)为1。否则,将边界图像中的样本设置为(750)为0。在步骤770,如果确定将要处理更多样本,则控制返回到步骤710。否则,获得边界图像。对于图像边框,我们可以将其视为边界或非边界。实际上,我们可以使用零填充策略。

图8a图示了将示例性图像划分为三个编码单元,其中,分区边缘以粗线示出,并且图8b示出了对应的边界图像。具体地,与分区边缘相邻的像素被视为边界像素,而其他像素被视为非边界像素。在边界图像中,边界像素由“1”表示,而非边界像素由“0”表示。边界信息可以帮助cnn理解分块伪影的位置,并且因此可以改善cnn,因为网络不需要花费参数来寻找分块伪影。

为了使用qp信息,我们可以生成与重建的图像尺寸相同的样本阵列以形成qp图像,其中,qp图像中的每个样本表示量化步长。例如,在hevc中,我们可以使用从[0..51]中的qp到量化步长(qs)的如下转换:qs(qp)=2(qp-4)/6。该转换还可以考虑量化矩阵和/或量化舍入偏移。注意,通常为块指示qp,例如,h.264/avc中的宏块或hevc中的cu,以获得个别样本的qp,将特定样本的qp设置为包括该特定样本的块的qp。在输入之前,可以在0和1之间对量化步长进行归一化。也可以将基于qp的其他参数用作输入。将qp图像用作附加通道可以适应与不同块相关联的不同量化步长。

为了考虑编码模式,使用与预测图像的像素值相对应的通道。由于用于不同编码模式(诸如帧内或帧间,滤波类型)的预测块具有不同的特性,因此预测块或预测残差将反映编码模式。

在另一实施例中,我们可以直接使用编码模式。与对qp所做的类似,我们可以用编码模式的值创建通道。例如,对于帧内方向,我们可以用帧内预测的角度值来设置通道,例如,用hevc标准规范中第8.4.4.2.6节中给出的角度值。然而,由于dc模式和平面模式是不同的,因此它们可能需要单独的通道,例如,当模式激活时设置为1。

除了帧内预测模式外,对于块还存在许多其他模式,例如但不限于jem中的emt(显式多核变换)索引、nsst(不可分二次变换)索引和边界滤波类型,并且可以用作cnn的输入。

可以将输入信息组织为wxhxd的阵列。当重建的图像、qp、边界信息和预测图像都用于输入时,d=4。可以将输入组织为[y分量边界图像bi,预测图像p,量化图像q]。在变型中,对所有颜色分量(例如,y、cb、cr)重复相同的配置。我们可以选择qp、边界信息和预测图像的一个或多个作为输入,并且d可以从2到4变化。

也可以将输入信息以不同的方式组织,例如,某些输入通道可以稍后在网络中输入。如上所述,vrcnn中的四个层可以视为分别对应于特征提取、特征增强、映射和重建。在一个实施例中,可以仅将qp用作特征增强阶段的输入,其中,qp信息可以更加相关。通过在稍后阶段使用qp信息,cnn可以在较早阶段使用较少的参数。通常,可以在cnn的中间层中使用一个或多个输入通道以降低复杂度。

在另一示例中,如果特定参数对最终重建的图像具有大的影响,则可以为该参数的不同值训练不同的网络。例如,可以在不同的qp下训练一组cnn,并使用具有与当前cu最接近的qp的cnn。在另一示例中,使用几个cnn的输入的加权平均来对图像进行滤波。

图9a图示了根据实施例的使用四个通道作为输入的示例性训练过程900a。将大型图像数据库(905)用作训练输入。训练图像由编码器进行编码(910)。将可以从编码器获得的信息(包括qp、分区边界、初始重建和预测图像)用作cnn的输入。特别地,qp信息用于形成(930)量化图像,并且边界信息用于形成(920)边界图像。

在训练过程期间,使用残差学习技术。即,将初始重建添加(940)到cnn的最后层的输出以还原图像。损失函数(950)基于还原的图像和原始图像s之间的差。

在数学上,该网络可以表示为:

其中wi和bi分别是层i的权重和偏置参数,g()是激活函数(例如,sigmoid或整流线性单元(relu)函数),*表示卷积运算。注意这里只有第一权重(w1)与等式(1)中描述的不同,因为第一权重的维度为wxhxd而不是wxhxl。还要注意,激活函数g()可以逐层不同,并且还可以包含其他处理,例如批归一化。

图9b图示了根据实施例的使用多个通道作为cnn的输入的示例性编码过程900b,该cnn对应于图9a的训练后的cnn。特别地,在没有环内滤波的情况下,由编码器对原始图像进行编码(915)。将可以从编码器获得的信息(包括qp、分区边界、初始重建和预测图像)用作cnn(950)的输入。特别地,qp信息用于形成(935)量化图像,并且边界信息用于形成(925)边界图像。

图9c图示了根据实施例的使用多个通道作为cnn的输入的示例性解码过程900c,该cnn对应于图9a的训练后的cnn。类似于编码过程900b,将四个通道用作cnn的输入。特别地,在没有环内滤波的情况下,由解码器对比特流进行解码(970)。将可以从解码器获得的信息(包括qp、分区边界、初始重建和预测图像)用作cnn(980)的输入。特别地,qp信息用于形成(995)量化图像,并且边界信息用于形成(990)边界图像。

在上文中,我们基于图像描述输入。然而,可以将输入的重建图像例如以w’xh’(其中w’<w且h’<h)的尺寸划分为区域。qp图像区域、边界图像区域或预测图像区域将相应地以w’xh’的尺寸生成。例如,在编码过程中,区域可以是cu、pu或ctu。当用于滤波的区域的尺寸大于用于qp或帧内预测的块尺寸、或更一般地大于执行编码模式的块尺寸时,滤波区域可以包括几个块,并且因此包括几个qp或帧内预测方向模式。在这种情况下,生成对应的qp图像区域,使得其中的样本与覆盖该样本的块的qp关联。例如,如果在ctu级别执行滤波并且在cu级别发送qp,则用于ctu的qp图像可以包含量化步长的若干个值,其中每个cu具有对应的量化步长。

图8c图示了将示例性ctu划分为七个编码单元,其中,cu边界以粗线示出,并且图8d示出了对应的qp图像。具体地,对于与具有qpi的cu相对应的样本,在qp图像中使用与qpi相对应的量化步长qsi。

在上文中,我们描述了用于环内滤波的模式感知cnn。本实施例还可以应用于编码循环之外的后处理,以在渲染之前增强图像质量,或者可以应用于能够应用滤波的其他模块。

以上关于残差学习cnn描述了不同的实施例。本实施例可以应用于其他类型的cnn或非卷积神经网络。在上文中,mse用于计算示例性实施例中的损失函数。然而,其他误差函数,诸如感知的可微度量,例如ms-ssim,也可以用于损失函数。

在上文中,我们假设所有的环内滤波器,诸如hevc视频编码器或解码器中的环内滤波器(165,265),都被模式感知cnn所取代。在其他实施例中,模式感知cnn可以与其他环内滤波器一起并行或相继使用。另外,由于模式感知方案在块级别应用时使用来自块本身的信息,因此可以在rdo决定中使用模式感知网络,类似于在rdo决定中测试双边滤波器的方式。

以上描述了各种方法,并且每种方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要特定的步骤或动作顺序,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。

在本申请中使用了各种数值,例如,通道数。应当注意,特定值是出于示例性目的,并且本实施例不限于这些特定值。

在上文中,关于jvet和hevc标准描述了各种实施例。然而,本实施例不限于jvet或hevc,并且可以应用于其他标准、建议书及其扩展。上述各种实施例可以单独或组合使用。

图10图示了其中可以实现示例性实施例的各个方面的示例性系统的框图。系统1000可以实施为包括以下描述的各种组件的设备,并且被配置为执行上述过程。这样的设备的示例包括但不限于个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、联网家用电器、以及服务器。系统1000可以通信地耦合到其他类似的系统,并且经由如图10中所示并且如本领域技术人员已知的通信信道通信地耦合到显示器,以实现上述示例性视频系统。

系统1000可以包括至少一个处理器1010,该至少一个处理器1010被配置为运行加载在其中的指令以实现如上所述的各种过程。处理器1010可以包括嵌入式存储器、输入输出接口和本领域已知的各种其他电路。系统1000还可包括至少一个存储器1020(例如,易失性存储器设备、非易失性存储器设备)。系统1000可以另外包括存储设备1020,该存储设备可以包括非易失性存储器,包括但不限于eeprom、rom、prom、ram、dram、sram、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接存储设备和/或网络可访问的存储设备。系统1000还可以包括编码器/解码器模块1030,该编码器/解码器模块1030被配置为处理数据以提供编码的视频或解码的视频。

编码器/解码器模块1030表示可以被包括在设备中以执行编码和/或解码功能的模块。如已知的,设备可以包括编码模块和解码模块中的一个或两者。另外,编码器/解码器模块1030可以被实现为系统1000的单独元件,或者可以作为本领域技术人员已知的硬件和软件的组合被并入处理器1010内。

可以将要被加载到处理器1010上以执行上述各种过程的程序代码存储在存储设备1040中,并且随后将其加载到存储器1020上以由处理器1010运行。根据示例性实施例,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中的一个或多个可以在执行本文上面讨论的过程期间存储各种项目中的一个或多个,包括但不限于输入视频、解码的视频、比特流、等式、公式、矩阵、变量、运算和运算逻辑。

系统1000还可以包括通信接口1050,其使得能够经由通信信道1060与其他设备进行通信。通信接口1050可以包括但不限于被配置为从通信信道1060发送和接收数据的收发器。通信接口可以包括但不限于调制解调器或网卡,并且通信信道可以在有线和/或无线介质内实现。系统1000的各个组件可以使用各种合适的连接(包括但不限于内部总线、线缆和印刷电路板)来连接或通信地耦合在一起。

示例性实施例可以通过由处理器1010实现的计算机软件、或者通过硬件、或者通过硬件和软件的结合来进行。作为非限制性示例,示例性实施例可以由一个或多个集成电路来实现。存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适合的数据存储技术来实现,诸如光存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器,作为非限制性示例。处理器1010可以是适合于技术环境的任何类型,并且可以包括微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个,作为非限制性示例。

本文描述的实现方式可以例如以方法或过程、装置、软件程序、数据流或信号来实现。即使仅在单一形式的实现方式的背景下进行讨论(例如,仅作为方法进行讨论),但是所讨论的特征的实现方式也可以以其他形式(例如,装置或程序)来实现。装置可以例如以适当的硬件、软件和固件来实现。方法可以例如以诸如处理器的装置实现,该处理器通常涉及处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑器件。处理器还包括通信设备,诸如例如计算机、蜂窝电话、便携式/个人数字助理(“pda”),以及其他有助于终端用户之间信息通信的设备。

对“一个实施例”或“实施例”或“一个实现方式”或“实现方式”及其其他变型的引用意指结合实施例描述的特定特征、结构、特性等包括在至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”或“在实施例中”或“在一个实现方式中”或“在实现方式中”以及任何其他变型的出现不一定全部指代相同的实施例。

另外,本申请或其权利要求可以涉及“确定”各种信息。确定信息可以包括例如以下中的一个或多个:估计信息、计算信息、预测信息或从存储器中取得信息。

此外,本申请或其权利要求可以涉及“访问”各种信息。访问信息可以包括例如以下中的一个或多个:接收信息、(例如从存储器中)取得信息、复制信息、计算信息、确定信息、预测信息或估计信息。

另外,本申请或其权利要求可以涉及“接收”各种信息。接收与“访问”一样,旨在为广义术语。接收信息可以包括例如访问信息或(例如从存储器中)取得信息中的一个或多个。此外,在诸如例如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,通常以一种或另一种方式涉及“接收”。

如对于本领域技术人员将明显的,实现方式可以产生各种信号,这些信号被格式化以承载例如可以被存储或发送的信息。信息可以包括例如用于执行方法的指令或由所描述的实现方式中的一个产生的数据。例如,信号可以被格式化以承载所描述的实施例的比特流。这样的信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码以及利用编码的数据流来调制载波。信号承载的信息可以是例如模拟或数字信息。如已知的,信号可以通过各种不同的有线或无线链路发送。信号可以存储在处理器可读介质上。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1