基于机器学习的图像译码中的色度子采样格式处理方法与流程

未命名 09-08 阅读:146 评论:0


1.本发明实施例大体上涉及图像或视频编码和解码领域,尤其涉及根据经训练的网络在视频译码中对具有子采样色度的颜色格式进行处理。


背景技术:

2.视频译码(视频编码和解码)广泛用于数字视频应用,例如广播数字电视、基于互联网和移动网络的视频传输、视频聊天和视频会议等实时会话应用、dvd和蓝光光盘、视频内容采集和编辑系统以及安全应用的可携式摄像机。
3.即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备上存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行编码,然后传输或存储视频数据,从而减少表示数字视频图像所需的数据量。然后,对视频数据进行解码的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
4.最近,人们已经将机器学习(machine learning,ml)应用于图像和视频编码。通常,机器学习可以通过各种不同的方式应用于图像和视频编码。例如,人们已经讨论了一些端到端优化的图像或视频编码方案。更广泛地说,机器学习是人工智能的一个子集,在机器学习中,模型(通常是网络模型)是基于样本数据(通常称为训练数据)构建的。在经过训练之后,这类基于ml的方法会根据可能尚未用作训练数据的输入数据做出预测或决策。这表示在经过训练之后,ml网络被训练,称为经训练的网络。
5.存在大量基于ml方法的网络模型,包括支持向量机(support vector machine,svm)、神经网络(neural network,nn)、人工神经网络(artificial neural network,ann)、全连接神经网络(full connected neural network,fcn)、卷积神经网络(convolutional neural network,cnn)等,这里只给出一些示例。这类网络通常有共同之处,即它们的网络结构需要多层(即至少一层)网络节点。因此,一层中的一些节点或所有节点可以连接到在这一层之前或之后的一层或多层中的一些节点或所有节点。
6.希望进一步提高基于经训练的网络的这种图像编码(视频编码或静止图像编码)的效率。


技术实现要素:

7.本发明的一些实施例提供了对包括作为输入的亮度分量和子采样色度分量的图像部分进行编码和解码的方法和装置。亮度分量可以通过下采样来处理,使得编码和解码处理可以更快地以低码率执行,产生低分辨率。色度分量可以通过色度上采样来处理,得到高分辨率结果。亮度与色度之间的空间相关性也可以通过这种方式保留。在任何一种情况
下,调整大小后的亮度和色度分量具有匹配的分辨率,然后经训练的网络对这些匹配分量进行编码。编码器可以在亮度下采样与色度上采样之间进行适应性选择,而解码器执行亮度上采样和色度下采样的相反图像处理。因此,编码和解码处理可以根据所选图像处理提供低分辨率或高分辨率图像(picture/image)。
8.上述和其它目的通过独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中显而易见。
9.根据本发明的一方面,提供了一种用于对图像部分进行编码的方法。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述方法包括:选择以下之一作为所述图像部分的图像处理:对所述亮度分量进行下采样,以获得分辨率与所述色度分量的分辨率匹配的下采样亮度分量;对所述色度分量进行上采样,以获得分辨率与所述亮度分量的分辨率匹配的上采样色度分量;根据所选处理对所述图像部分进行处理;根据所选处理生成码流,其中,所述生成包括对所述经处理的图像部分进行编码。
10.无论是对亮度分量进行下采样还是对色度分量进行上采样,都提供了大小相等的亮度和色度输出作为输出。因此,所述输出然后可以由具有类似结构(特别是相同输入分辨率)的经训练的网络(例如在机器学习框架内)进行处理。如果所有颜色分量的分辨率都相同,则机器学习框架能够在所有样本位置上以相同的方式利用颜色互相关。在其中一个图像处理中,亮度通道可以保持不受影响,在这种情况下,不存在质量损失。
11.下采样亮度有利于实现低分辨率以降低码率,而上采样色度有利于实现高分辨率以保留亮度信息。因此,适应性切换能够根据对码率或图像质量的要求和/或限制选择采样模式。由于在为图像部分选择的图像处理的任何一种情况下,经处理的亮度和色度分量具有匹配的分辨率,因此输出可以在vae框架或支持高效编码的其它框架内处理。
12.在一些示例性实现方式中,所述选择包括对速率和失真的成本函数进行估算。因此,采样模式(即亮度下采样和色度上采样)是基于成本选择的。
13.根据所述方法的一种示例性实现方式,所述选择包括:对所述亮度分量进行下采样,以获得中间下采样亮度分量;对所述色度分量进行上采样,以获得中间上采样色度分量。选择采样模式(包括亮度下采样和色度上采样)在任何一种情况下都提供中间亮度分量和中间色度分量,每个分量都具有匹配的分辨率(即大小)。然后,大小相等的亮度和色度分量可以由vae等进一步处理。
14.在所述方法的另一个实现示例中,所述选择包括:根据所述成本函数,分别确定所述中间下采样亮度分量和所述色度分量的成本以及所述亮度分量和所述中间上采样色度分量的成本,其中,在所述选择中,所述确定成本较低的图像部分的图像处理被选择。因此,亮度分量和子采样色度分量的整体编码是通过使用成本最低的采样模式(即亮度下采样或色度上采样)高效执行的。
15.根据所述方法的一个实现示例,所述确定包括:将所述中间下采样亮度分量和所述色度分量编码到第一码流中;将所述亮度分量和所述中间上采样色度分量编码到第二码流中;根据所述成本函数,确定所述第一码流和所述第二码流的成本。因此,实际成本可以准确地确定,因为它是基于实际经编码的第一和第二码流。
16.在所述方法的一个示例中,所述生成码流包括将表示所选图像处理的选择指示符
编码到所述码流中。这降低了指示已经对码流执行的图像处理的复杂度。
17.在另一个示例中,所述生成码流包括所述将亮度分量的宽度w和/或高度h的指示编码到所述码流中。因此,原始图像部分的宽度和高度可以指示给编码器。
18.根据所述方法的一种示例性实现方式,所述上采样和/或下采样由经训练的网络执行。基于经训练的网络的译码可以提高性能,这要归功于可以使用所需数据训练这种网络。
19.根据一个示例,所述对所述经处理的图像部分进行编码由变分自动编码器(variational autoencoder,vae)执行。vae可以有利于高效执行与图像(image/picture)编码和/或解码相关的任务,同时在所需码率与重建图像的质量之间实现良好的平衡。
20.根据本发明的一方面,提供了一种用于从码流中重建图像部分的方法。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述方法包括:从所述码流中解码具有相同分辨率的亮度分量和色度分量;根据所述码流确定以下之一作为图像处理:对所述经解码的亮度分量进行上采样,并获取包括所述经解码的色度分量和所述上采样亮度分量的重建图像部分;对所述经解码的色度分量进行下采样,并获取包括所述经解码的亮度分量和所述下采样色度分量的重建图像部分;根据所述确定的图像处理,获取所述图像部分。
21.因此,确定图像处理为亮度上采样和色度下采样之一在任何一种情况下都提供了调整大小后的亮度或色度分量,使得它们具有对应于已经输入用于编码的分量(原始图像分量)的不同大小。因此,图像部分被重建为其原始颜色格式,其中,色度的分辨率小于色度的分辨率。由此,无论确定哪一种图像处理,经编码的大小相等的亮度和色度通道可以在通用vae框架内处理。通常,通过相应编码方法的对应其它特征,解码端提供的优点可以类似于编码端提供的优点。
22.根据所述方法的一种实现示例,所述确定还包括:从所述码流解码表示图像处理的选择指示符;将通过所述选择指示符表示的所述处理确定为所述图像处理。这样可以高效指示图像处理。相应地,解码端可以根据码流中包括的简单指示符快速确定编码端已经使用的图像处理(即亮度下采样或色度上采样)。
23.根据另一种示例性实现方式,所述确定还包括从所述码流中解码所述图像部分中的所述亮度分量的宽度w和/或高度h。这样可以根据图像部分中的亮度通道的宽度和高度确定图像处理。换句话说,携带图像部分的重要信息的通道被用作所述确定的参考。
24.在一个示例中,所述确定还包括:确定所述宽度w和所述高度h是否与所述经解码的亮度分量的相应宽度和高度相同;如果确定w和h与和相同,则对所述经解码的色度分量进行下采样;如果确定w和h中的任一个与和/或不相同,则对所述经解码的亮度分量进行上采样。通过根据宽度和高度推导待应用的处理,可以通过排除显式选择指示符来降低速率。此外,通过将亮度的w和h与经解码亮度的相应宽度和高度进行简单比较,图像处理可以很容易在编码端确定。可以不使用关于(经解码)色度的信息,因此减少了确定图像处理时的开销。
25.根据另一个实现示例,所述确定包括:确定所述码流的大小s;从所述码流中解码所述图像部分的潜在表示其中,所述潜在表示具有宽度和/或高度通过将所述码
流的大小和所述宽度和/高度的函数与预定义阈值t进行比较,确定所述图像处理。这样可以根据潜在表示确定图像处理。潜在表示可以基于特征图。因此,图像处理的确定更准确,因为利用了潜在表示和特征图。
26.在一种示例性实现方式中,所述确定包括:确定所述大小s与的比率是否等于或大于所述预定义阈值;如果确定所述比率等于或大于所述预定义阈值,则对所述经解码的色度分量进行下采样;如果确定所述比率小于所述预定义阈值,则对所述经解码的亮度分量进行上采样。相应地,解码器待执行的图像处理可以简单地使用码流的大小s与潜在空间的大小的比率来确定。此外,通过简单地对码流的大小与潜在空间的大小的比率设定阈值,有助于快速确定图像处理。这使图像处理的确定更高效,因为只使用了码流和潜在空间。这样进一步降低了确定图像处理时的开销。
27.根据另一个实现示例,所述确定包括:从所述码流中解码潜在表示将所述图像处理确定为以所述经解码的潜在表示作为输入的分类神经网络的输出,其中,所述输出是第一类别和第二类别中的一种,第一类别表示所述经解码的亮度分量的上采样,第二类别表示所述经解码的色度分量的下采样。这样可以利用神经网络来确定图像处理。这使图像处理的确定更加灵活。此外,可以与特征分类相结合用于所述确定,因为潜在空间可以基于特征图。相应地,图像处理的确定可以更准确。此外,上采样或下采样方法可以在不从码流中解析任何边信息的情况下在解码端执行,这降低了码率成本。
28.根据一种示例性实现方式,所述上采样和/或所述下采样由经训练的网络执行。通过提供基于下采样亮度或上采样色度的码流,解码端可以高质量和/或低速率重建图像(静止图像或视频)。经训练的网络可以提供适应性和高效的译码,从而在相同速率下提高质量或在相同质量下降低速率。
29.例如,所述对所述经处理的图像部分进行解码由变分自动编码器(variational auto encoder,vae)执行。因此,解码可以高效执行,同时在所需码率和/或重建图像的质量之间实现良好的平衡。
30.根据本发明的一方面,提供了一种存储在非瞬时性介质中的计算机程序。所述计算机程序包括代码,当所述代码在一个或多个处理器上执行时,执行任一上述方法的步骤。
31.根据本发明的一方面,提供了一种用于对图像部分进行编码的编码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述编码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述编码器用于执行上述编码方法。
32.根据本发明的一方面,提供了一种用于从码流中重建图像部分的解码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述解码器执行上述解码方法。
33.根据本发明的一方面,提供了一种用于对图像部分进行编码的编码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述
编码器包括处理电路,所述处理电路用于执行上述编码方法的步骤。
34.根据本发明的一方面,提供了一种用于从码流中重建图像部分的解码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述解码器包括处理电路,所述处理电路用于执行上述解码方法。
35.根据本发明的一方面,提供了一种用于对图像部分进行编码的编码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述编码器包括:选择模块,用于选择以下之一作为所述图像部分的图像处理:对所述亮度分量进行下采样,以获得分辨率与所述色度分量的分辨率匹配的下采样亮度分量;对所述色度分量进行上采样,以获得分辨率与所述亮度分量的分辨率匹配的上采样色度分量;处理模块,用于根据所选图像处理对所述图像部分进行处理;生成模块,用于根据所选图像处理生成码流,其中,所述生成包括对所述经处理的图像部分进行编码。
36.根据本发明的一方面,提供了一种用于从码流中重建图像部分的解码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述解码器包括:解码模块,用于从所述码流中解码具有相同分辨率的亮度分量和色度分量;确定模块,用于根据所述码流确定以下之一作为图像处理:对所述经解码的亮度分量进行上采样,并获取包括所述经解码的色度分量和所述上采样亮度分量的重建图像部分;对所述经解码的色度分量进行下采样,并获取包括所述经解码的亮度分量和所述下采样色度分量的重建图像部分;获取模块,用于根据所述确定的图像处理,获取所述图像部分。
37.这些实施例能够根据所需应用在输入图像部分的色度上采样与亮度下采样之间进行适应性切换。例如,一些应用的目的可能是降低复杂度或码率,在这种情况下,亮度下采样可能更有利,而其它应用的目的可能是获得高质量,在这种情况下,色度上采样可能更有利。相应地,包括亮度分量和子采样色度分量的图像部分可以在图像处理的任何采样模式(包括亮度下采样和色度上采样)中高效编码和/或解码。
38.需要说明的是,本发明并不限于特定框架。此外,本发明并不限于图像或视频压缩,还可以应用于对象检测、图像生成和识别系统。
39.本发明可以在硬件和/或软件中实现。
40.为了清楚起见,任一上述实施例可以与上述其它任何一个或多个实施例组合以创建在本发明范围内的新实施例。
41.以下附图和说明书详细阐述了一个或多个实施例。其它特征、目的和优点在说明书、附图和权利要求中是显而易见的。
附图说明
42.下面结合附图对本发明实施例进行详细描述。
43.图1(a)、图1(b)和图1(c)示出了亮度和色度yuv格式的示例,包括yuv444、yuv422和yuv420。
44.图2a为人工神经网络中的层处理的输入和输出的示意图。
45.图2b为示例性自动编码器的各部分的框图。
46.图2c为包括超先验模型的变分自动编码器架构的示意图。
47.图3为包括超先验模型的vae结构的示意图,亮度分量的下采样是在vae结构中执
行的。
48.图4为本发明的基于vae的编码器和解码器架构的示意图,使用亮度分量作为边信息执行色度通道的上采样和下采样。
49.图5为使用亮度分量作为边信息,在vae架构的编码端进行色度上采样的大小均衡网络的示意图。
50.图6为使用亮度分量作为边信息,在vae架构的解码端进行(中间)色度下采样的大小转换网络的示意图。
51.图7为不使用亮度分量作为边信息,在vae架构的编码端进行色度上采样的大小均衡网络的示意图。
52.图8为不使用亮度分量作为边信息,在vae架构的解码端进行(中间)色度下采样的大小转换网络的示意图。
53.图9示出了通过在奇数行和奇数列中插入0进行色度上采样的一个示例。
54.图10示出了通过从奇数行和奇数列中移除0进行色度下采样的一个示例。
55.图11示出了通过在值等于色度分量中相应的最邻近样本的奇数行和奇数列中插入0进行色度上采样的另一个示例。
56.图12示出了通过从对应于色度分量中最邻近样本的奇数行和奇数列中移除样本值进行色度下采样的另一个示例。
57.图13为编码方法的流程图,包括将子采样色度上采样到大小与亮度相同的中间色度。
58.图14为解码方法的流程图,包括从码流中解码中间色度以及将中间色度下采样到大小与亮度不同的子采样色度。
59.图15为编码器的框图,包括上采样模块和编码模块。
60.图16为解码器的框图,包括解码模块和下采样模块。
61.图17为编码器不使用一个或多个色度分量执行亮度下采样(上分支)以及不使用亮度分量执行色度上采样(下分支)以根据率失真优化(rate distortion optimization,rdo)及其在码流中的指示(signaling)确定成本的示意图。
62.图18为解码器根据从经编码码流中解析的指示符,不使用色度分量执行亮度上采样(上分支)或者不使用亮度分量执行色度下采样(下分支)的示意图。
63.图19为不使用一个或多个色度分量作为边信息,在vae架构的编码端进行亮度下采样的大小均衡网络的示意图。
64.图20为不使用亮度分量作为边信息,在vae架构的编码端进行色度上采样的大小均衡网络的示意图。
65.图21为不使用一个或多个色度分量作为边信息,在vae架构的解码端进行(中间)亮度上采样的大小转换网络的示意图。
66.图22为不使用亮度分量作为边信息,在vae架构的解码端进行(中间)色度下采样的大小转换网络的示意图。
67.图23为编码器使用一个或多个色度分量执行亮度下采样(上分支)以及使用亮度分量执行色度上采样(下分支)以根据率失真优化(rate distortion optimization,rdo)及其在码流中的指示(signaling)确定成本的示意图。
68.图24为解码器根据从经编码码流中解析的指示符,使用一个或多个色度分量执行亮度上采样(上分支)或者使用亮度分量执行色度下采样(下分支)的示意图。
69.图25为使用一个或多个色度分量作为边信息,在vae架构的编码端进行亮度下采样的大小均衡网络的示意图。
70.图26为使用亮度分量作为边信息,在vae架构的编码端进行色度上采样的大小均衡网络的示意图。
71.图27为使用一个或多个色度分量作为输入到网络的边信息,在vae架构的解码端进行(中间)亮度上采样的大小转换网络的示意图。
72.图28为使用亮度分量作为输入到网络的边信息,在vae架构的解码端进行(中间)色度下采样的大小转换网络的示意图。
73.图29为不在码流中指示(signal)指示符,编码器不使用一个或多个色度分量执行亮度下采样(上分支)以及不使用亮度分量执行色度上采样(下分支)以根据率失真优化(rate distortion optimization,rdo)确定成本的示意图。
74.图30为解码器根据决策模块对采样模式的决策结果,不使用一个或多个色度分量执行亮度上采样(上分支)或者不使用亮度分量执行色度下采样(下分支)的示意图。
75.图31为编码方法的流程图,包括根据最低成本选择一种图像处理(亮度下采样或色度上采样)以及从经处理的图像部分中生成码流。
76.图32示出了解码方法的流程图,包括从码流中解码亮度和色度以及确定一种图像处理(亮度上采样或色度下采样)以从经处理的图像部分中重建原始图像部分。
77.图33示出了编码器的框图,包括选择模块、处理模块和生成模块,选择模块还可以包括下采样器(亮度)和上采样器(色度)。
78.图34示出了解码器的框图,包括解码模块、确定模块和获取模块,确定模块还可以包括下采样器(色度)和上采样器(亮度)。
79.图35为用于实现本发明实施例的视频译码系统的一个示例的框图。
80.图36为用于实现本发明实施例的视频译码系统的另一个示例的框图。
81.图37为编码装置或解码装置的一个示例的框图。
82.图38为编码装置或解码装置的另一个示例的框图。
具体实施方式
83.以下描述中,参考形成本发明一部分并以说明的方式示出本发明实施例的具体方面或可以使用本发明实施例的具体方面的附图。应当理解,本发明实施例可以在其它方面中使用,并且可以包括附图中未描述的结构变化或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本发明的范围由所附权利要求书界定。
84.例如,应当理解,与描述方法有关的公开内容可以对用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如,功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元各自执行多个步骤中的一个或多个步骤),即使附图中未明确描述或示出这种一个或多个单元。另一方面,例如,如果根据一个或多个单元(例如,功能单元)来描述具体装置,则对应的方法可以包括一个步骤来执行一个或多个单
元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤各自执行多个单元中的一个或多个单元的功能),即使附图中未明确描述或示出这种一个或多个单元。此外,应当理解,除非另外明确说明,否则本文中所描述的各个示例性实施例和/或方面的特征可以相互组合。
85.下面简要概述了在整个本发明中使用的一些技术术语。
86.视频序列的颜色格式:颜色格式描述视频序列中颜色的具体组织结构。通常,颜色格式表示为描述颜色表示方式的数学模型,例如,表示为数字元组。例如,rgb格式描述帧(图像(picture/image))与红色(r)、绿色(g)和蓝色(b)颜色分量组合,而yuv格式描述帧与一个亮度分量(y)和两个色度分量(u和v)组合。由此,亮度是指样本、像素或一组样本/像素(例如图像或图像部分)中的亮度分量。通常,颜色格式可以包括一个或多个颜色分量。
87.rgb:rgb颜色格式是加色模型,包括红色(r)、绿色(g)和蓝色(b)分量。rgb颜色空间中的图像通常包括在相应宽度和高度方面具有相同大小的分量,例如,帧的宽度和高度对应于样本或像素的数量,因此对应于分辨率。这些rgb分量可以通过各种方式添加进去,以表示大量颜色。
88.yuv:yuv颜色格式包括三个分量,其中,亮度分量y是指亮度信息(即亮度),色度分量u(蓝色投影)和v(红色投影)是指色度或颜色信息。在颜色信息的数字编码中,yuv可以通过线性矩阵直接从rgb转换而来,如下例示。
[0089][0090]
换句话说,每个yuv分量都可以通过rgb分量的线性组合写入。因此,在这种转换之后,yuv中的三个分量也具有相同大小(宽度和高度)。
[0091]
色度子采样(chroma subsampling):色度子采样是通过实现色度信息(u和v)的分辨率小于亮度信息(y)的分辨率对图像进行编码的实践。对色度分量进行子采样是因为人类视觉系统对颜色差异的敏锐度低于对亮度的敏锐度。因此,就亮度视觉系统而言,当使用yuv(或ycbcr)格式时,亮度分量可以视为最重要的通道。
[0092]
色度子采样可以显著减少色度分量信号。常用的色度子采样格式简要介绍如下:
[0093]
yuv 4:4:4(或简称为yuv444)是指不进行色度子采样,即y、u和v分量具有相同大小(宽度和高度),如图1(a)所示。
[0094]
yuv 4:2:2(或简称为yuv422)是指在水平方向以因子2对色度分量(u和v)进行子采样,如图1(b)所示。例如,当亮度分量的大小为w
×
h时,其中,w表示亮度分量的宽度,h表示亮度分量的高度,yuv 4:2:2中的色度分量u和v的大小都为w/2
×
h(在样本或像素的数量等方面,色度分量的宽度变为亮度分量的一半,即w/2,色度分量的高度h与亮度分量的高度相同)。在这种情况下,每个色度分量都为矩形。
[0095]
yuv 4:2:0(或简称为yuv420)是指在水平和垂直方向都以因子2对色度分量(u和v)进行子采样,如图1(c)所示。例如,当亮度分量的大小为w
×
h时,其中,w表示亮度分量的宽度,h表示亮度分量的高度,yuv 4:2:0中的色度分量的大小都为w/2
×
h/2(在样本或像素的数量等方面,色度分量的宽度变为亮度分量的一半,即w/2,色度分量的高度变为亮度分量的一半,即h/2)。在这种情况下,每个色度分量都为正方形。
[0096]
需要说明的是,yuv 4:2:0色度子采样是视频译码中最常用的色度子采样方法。通常,子采样可能是构造捕获图像的图像传感器导致的。例如,一些传感器提供更多的像素来捕获某些颜色分量。但是,子采样也可以是进一步处理捕获图像导致的。
[0097]
上述yuv格式在本发明中用作亮度和色度分量(通道)的示例,其中,相应的色度具有与亮度通道不同的分辨率(即不同的大小)。需要说明的是,通常只对两个色度分量中的一个进行子采样,而另一个则保持其大小。此外,一个或多个色度分量可以在垂直方向进行子采样,而不是如图1(b)所示只在水平方向对色度分量进行子采样。
[0098]
人工神经网络
[0099]
人工神经网络(artificial neural network,ann)或连接主义系统是模糊地受构成动物大脑的生物神经网络的启发而建立的计算系统。这些系统通过举例“学习”执行任务,通常不使用任务特定规则进行编程。例如,在图像识别中,这些系统可能会学习识别包括猫的图像,即通过分析手动标记为“猫”或“没有猫”的示例性图像并使用结果识别其它图像中的猫。这些系统这样做之前并不知道猫有毛皮、尾巴、胡须和猫脸等信息。相反,这些系统会从处理的示例中自动生成识别特征。
[0100]
ann是称为人工神经元(artificial neuron)的连接单元或节点的集合,这些单元或节点以松散方式建模生物大脑中的神经元。每个连接如同生物大脑中的突触(synapse)一样,可以向其它神经元发送信号。然后,接收信号的人工神经元处理这个信号,并可以向连接到该人工神经元的神经元发出信号。
[0101]
在ann实现方式中,连接处的“信号”是实数,每个神经元的输出都是通过对其输入求和,再进行非线性函数计算而得到的。这些连接称为边(edge)。神经元和边通常具有随着学习的进行而调整的权重。权重增强或减弱连接处信号的强度。神经元可以设置阈值,仅当聚合信号超过该阈值时才发送该信号。通常,神经元聚集成层。不同的层可以对其输入执行不同的变换。信号可能在多次遍历各层之后,从第一层(输入层)传播到最后一层(输出层)。
[0102]
ann方法的最初目标是以与人类大脑相同的方式解决问题。随着时间的推移,注意力转移到执行特定任务,导致偏离生物学。ann已用于各种任务,包括计算机视觉、语音识别、机器翻译、社交网络过滤、棋盘和视频游戏、医学诊断,甚至在传统上被认为是为人类保留的活动,例如绘画。
[0103]
卷积神经网络
[0104]“卷积神经网络(convolutional neural network,cnn)”这一名称表示网络采用一种称为卷积的数学运算。卷积是一种专门的线性运算。卷积网络是简单的神经网络,在其至少一个层中使用卷积代替一般矩阵乘法。
[0105]
图2a为由cnn等神经网络进行的处理的通用概念的示意图。卷积神经网络包括输入层、输出层以及多个隐藏层。输入层是将输入(例如图2a所示的图像的一部分)提供到其中进行处理的层。cnn中的隐藏层通常包括一系列卷积层,这些卷积层通过乘法或其它点积进行卷积。层的结果是一个或多个特征图(图2a中的f.map),有时也称为通道(channel)。部分或所有层中可能会涉及子采样(subsampling)。因此,特征图可能会变小,如图2a所示。cnn中的激活函数通常是修正线性单元(rectified linear unit,relu)层,后面是其它卷积层,例如池化层、全连接层和归一化层,它们称为隐藏层,因为它们的输入和输出被激活函数和最终卷积所掩盖。虽然这些层通俗地称为卷积,但这只是依照惯例。从数学上讲,卷
积在技术上是滑动点积(sliding dot product)或互相关(cross-correlation)。这对矩阵中的索引具有重要意义,因为影响到在特定索引点确定权重的方式。
[0106]
当对cnn进行编程以处理图像时,如图2a所示,输入是具有形状(图像数量)
×
(图像宽度)
×
(图像高度)
×
(图像深度)的张量。然后,在经过卷积层之后,图像被抽象为特征图,具有形状(图像数量)
×
(特征图宽度)
×
(特征图高度)
×
(特征图通道)。神经网络内的卷积层可以具有以下属性:由宽度和高度定义的卷积核(超参数);输入通道和输出通道的数量(超参数);卷积滤波器(输入通道)的深度可以等于输入特征图的数量通道(深度)。
[0107]
在过去,传统的多层感知机(multilayer perceptron,mlp)模型已经用于图像识别。mlp还称为全连接神经网络(fully connected neural network,fcn)。但是,由于节点之间的全连接,这些模型受到了高维度的影响,并且在高分辨率图像中无法充分扩展。具有rgb颜色通道的1000
×
1000像素图像具有3百万个权重,权重太高,无法在全连接的情况下切实高效地进行大规模处理。因此,mlp/fcn往往容易对数据进行过拟合(overfitting)。由于层的每个节点(感知机)将相邻层的所有节点的输出作为输入,因此fcn的网络架构不考虑数据的空间结构(例如,跨越层的节点),从而相距远的像素与相距近的像素以相同的方式处理。这在计算上和语义上都忽略了图像数据中的参考局部性。因此,神经元的全连接对于由空间局部输入模式占主导的图像识别等目的是浪费的。
[0108]
卷积神经网络是多层感知机的生物学启发变体,专门设计用于模拟视觉皮层的行为。这些模型通过利用自然图像中存在的强空间局部相关性,减轻了mlp架构带来的挑战。卷积层是cnn中的核心构建块。该层的参数包括一组可学习的滤波器(上述内核),这些滤波器具有一个小的感受野(receptive filed),但延伸到输入体积(input volume)的整个深度。在前向传播(forward pass)期间,每个滤波器跨输入体积的宽度和高度进行卷积,从而计算滤波器的系数(entry)与输入之间的点积,并生成该滤波器的二维激活图(activation map)。因此,当网络在输入中的某个空间位置上检测到某种特定类型的特征时,网络学习滤波器激活它们。
[0109]
沿深度维度堆叠所有滤波器的激活图形成卷积层的完整输出体积。因此,输出体积中的每个系数还可以被解释为神经元的输出,该神经元观察输入中的一个小区域,并与同一激活图中的神经元共享参数。特征图或激活图是给定滤波器的输出激活。特征图和激活具有相同的含义。在一些论文中,称为激活图,是因为它是一种与图像中不同部分的激活对应的映射关系,也称为特征图,是因为它也是一种在图像中找到某种特征所在的映射关系。高激活表示找到了某个特征。
[0110]
cnn的另一个重要概念是池化(pooling),它是非线性下采样的一种形式。有几个非线性函数可以实现池化,其中,最常见的是最大池化(max pooling),它将输入图像分割成一组不重叠的矩形,并输出每个子区域的最大值。
[0111]
直观地,特征的确切位置没有该特征相对于其它特征的粗略位置重要。这就是在卷积神经网络中使用池化背后的原因。池化层用于逐步减小表示的空间大小,减少网络中的参数数量、内存占用和计算量,从而也控制过拟合。在cnn架构中的连续卷积层之间定期插入池化层是很常见的。池化操作提供了另一种形式的平移不变性。
[0112]
池化层在输入的每个深度切片(slice)上独立运行,并在空间上调整每个深度切换的大小。最常见的形式是池化层具有大小为2
×
2的滤波器,这些滤波器在输入中的每个
深度切片上应用步幅为2的下采样,沿宽度和高度均缩小二分之一,从而丢弃75%的激活。在这种情况下,每个最大运算都超过4个系数。深度维度保持不变。
[0113]
除最大池化之外,池化单元还可以使用其它功能,例如平均池化或l2-范数池化。过去经常使用的是平均池化,但与实践中表现更好的最大池化相比,平均池化最近已经不受欢迎。由于表示的大小大幅减少,最近的趋势是使用较小的滤波器或完全丢弃池化层。“感兴趣区域(region of interest)”池化(还称为roi池化)是最大池化的变体,其中的输出大小是固定的,输入矩形是参数。池化是卷积神经网络中基于快速r-cnn架构进行对象检测的重要组成部分。
[0114]
上述relu是修正线性单元的缩写,使用非饱和激活函数(non-saturating activation function)。relu通过将负值设置为0,有效地从激活图中删除这些负值;增加了决策函数和整体网络的非线性,但不影响卷积层的感受野。其它函数也用于增加非线性,例如饱和双曲正切(saturating hyperbolic tangent)和s形函数(sigmoid function)。relu通常比其它函数更受欢迎,因为它训练神经网络的速度快几倍,但不会对泛化精度造成重大影响。
[0115]
在经过几个卷积层和最大池化层之后,神经网络中的高阶推理通过全连接层完成。全连接层中的神经元与前一层中的所有激活都有连接,如常规(非卷积)人工神经网络中所示。因此,神经元的激活可以计算为仿射变换,矩阵乘法之后是偏差偏移(bias offset)(学习到或固定的偏差项的矢量加法)。
[0116]“损失层(loss layer)”指定训练如何影响预测(输出)标签与真实标签之间的偏差(deviation),并且通常是神经网络的最后一层。可以使用适合不同任务的各种损失函数。softmax损失用于预测k个互斥类(mutually exclusive class)的单类。s形交叉熵损失(sigmoid cross-entropy loss)用于预测[0,1]中的k个独立概率值。欧几里得损失(euclidean loss)用于回归到实值标签。
[0117]
自动编码器和无监督学习
[0118]
自动编码器是一种人工神经网络,用于以无监督的方式学习高效数据编码。图2b为自动编码器的示意图。自动编码器的目的是通过训练网络忽略信号“噪声”来学习一组数据的表示(编码),通常用于降维(dimensionality reduction)。除了简化侧,还学习了重建侧,其中,自动编码器试图从简化的编码中生成尽可能接近其原始输入的表示,因此得名。在最简单的情况下,给定一个隐藏层,自动编码器的编码器级获取输入x并将输入映射到h:
[0119]
h=σ(wx+b)。
[0120]
图像h通常称为代码、潜在变量(latent variable)或潜在表示。这里,σ是以元素为单位的激活函数,例如s形函数或修正线性单位。w是权重矩阵,b是偏置矢量。权重和偏差通常是随机初始化的,然后在训练期间通过反向传播迭代更新。之后,自动编码器的解码器级将h映射到形状与x相同的重建x


[0121]
x

=σ

(w
′h′
+b

)
[0122]
其中,解码器的σ

、w

和b

可以与编码器的对应σ、w和b无关。
[0123]
变分自动编码器模型对潜在变量的分布做出了强假设。这些模型使用变分方法进行潜在表示学习,产生了额外的损失分量,和训练算法的特定估计器,称为随机梯度变分贝叶斯(stochastic gradient variational bayes,sgvb)估计器。该估计器假设数据是由有
向图模型(directed graphical model)p
θ
(x|h)生成的,并且假设编码器正在学习后验分布p
θ
(h|x)的近似值q
φ
(h|x),其中,φ和θ分别表示编码器(识别模型)和解码器(生成模型)的参数。vae的潜在矢量的概率分布通常比标准自动编码器更接近训练数据的概率分布。vae的目标具有以下形式:
[0124][0125]
这里,d
kl
表示kl散度(kullback-leibler divergence)。潜在变量的先验通常被设置为中心各向同性多变量高斯(centered isotropic multivariate gaussian)通常情况下,选择变分分布和似然分布的形状,使得它们是分解高斯(factorized gaussian):
[0126][0127][0128]
其中,ρ(x)和ω2(x)是编码器输出,而μ(h)和σ2(h)是解码器输出。
[0129]
人工神经网络领域(特别是卷积神经网络)的最新进展使得研究人员有兴趣将基于神经网络的技术应用于图像和视频压缩任务。例如,人们已经提出了端到端优化的图像压缩,这种技术使用基于变分自动编码器的网络。因此,数据压缩被认为是工程中一个基本且经过深入研究的问题,通常是为了给某个具有最小熵的离散数据集合(ensemble)设计代码。该技术方案在很大程度上依赖于对数据概率结构的了解,因此该问题与概率源建模密切相关。但是,由于所有实用代码都必须具有有限熵,因此连续值数据(例如图像像素强度的向量)必须量化为离散值的有限集,这会引入误差。在这种情况下,称为有损压缩问题,必须权衡两个相互矛盾的成本:离散化表示的熵(速率)和量化引起的误差(失真)。不同的压缩应用,例如数据存储或有限容量通道上的传输,需要不同地平衡速率和失真。速率和失真的联合优化比较困难。如果没有进一步的限制条件,高维空间中的最佳量化的一般问题就难以解决。出于这个原因,大多数现有的图像压缩方法通过如下方式来操作:将数据矢量线性地变换为合适的连续值表示,独立地量化其元素,然后使用无损熵编码对所得到的离散表示进行编码。由于变换起核心作用,所以该方案称为变换编码(transform coding)。例如,jpeg对像素块使用离散余弦变换,而jpeg 2000使用多尺度正交小波分解(multi-scale orthogonal wavelet decomposition)。通常,变换编码方法的三个组成部分是变换、量化器和熵编码,它们单独进行优化(通常通过手动参数调整)。hevc、vvc和evc等现代视频压缩标准也使用变换后的表示对预测之后的残差信号进行译码。下面几种变换用于此目的,例如离散余弦变换(discrete cosine transform,dct)和离散正弦变换(discrete sine transform,dst),以及手动优化的低频不可分离变换(low frequency non-separable transform,lfnst)。
[0130]
在上述类型的网络中,已经证明cnn有利于视频/图像编(解)码,并在变分自动编码器(variational autoencoder,vae)中实现,如j.balle在“variational image compression with a scale hyperprior(利用尺度超先验的变分图像压缩)”(arxiv preprint arxiv:1802.01436(2018))中所述。在下文中,参考“j.balle”的这一文献。
[0131]
vae结构是为基于深度学习的图像压缩而设计的,构成了一个相当高效的结构。由于输入到vae的图像的颜色格式通常是rgb,没有进行子采样,所以三个分量/通道具有相同
大小(宽度和高度)。因此,提供为vae结构的输入的rgb颜色格式图像可以直接处理和重建。
[0132]
在j.balle中,描述了一种基于变分自动编码器(variational autoencoder,vae)的端到端可训练图像压缩模型。该模型包含了超先验,以有效地捕获潜在表示中的空间依赖关系。这种超先验涉及也发送到解码端的边信息,这是一个对几乎所有现代图像编解码器都通用的概念,但在使用ann的图像压缩中基本上没有经过探索。与现有的自动编码器压缩方法不同,这种模型与底层自动编码器联合训练复杂的先验。
[0133]
vae框架可以认为是一个非线性变换编码模型。变换过程主要可以被分成四个部分。这在示出vae框架的图2c中进行了例示。
[0134]
图2c示出了包括超先验模型的网络架构。左侧(ga、gs)示出了图像自动编码器架构(vae),右侧(ha、hs)对应于实现超先验的自动编码器。分解先验模型使用相同的架构进行分析和合成变换ga和gs。q表示量化,ae、ad分别表示算术编码器和算术解码器。
[0135]
编码器将输入图像x输入到ga,产生具有空间变化标准偏差的响应y(潜在表示)。编码ga包括具有子采样的多个卷积层和作为激活函数的广义除法归一化(generalized divisive normalization,gdn)。具体地,编码器ga(1)通过函数y=f(x)将图像x映射到潜在表示y。量化器q(2)将潜在表示变换为离散值,
[0136]
将响应输入到ha中,将标准偏差分布汇总到z中,然后将z作为边信息量化、压缩和发送。熵模型或超编码器/解码器ha(也称为超先验)(3)估计的分布,以获得无损熵源编码可实现的最小速率。超先验的另一个边信息定义为z=ha(y),其量化为然后,编码器使用量化矢量来估计标准偏差的空间分布空间分布用于获取算术编码(arithmetic coding,ae)的概率值(或频率值),并使用量化矢量来压缩和发送量化图像表示(或潜在表示)。使用算术编码(arithmetic coding,ae)将和超先验的边信息包括在码流中。
[0137]
在vae结构的解码端,即图2c所示的gs和hs,解码器首先通过算术解码器从码流中解析来从压缩信号中恢复然后,用于算术解码器(arithmetic decoder,ad)作为vae中的参数的重建为类似地,算术解码器使用作为算术解码器参数从码流中解析以便为其提供正确的概率估计,从而确保成功恢复最后,重建图像通过生成。
[0138]
大多数基于深度学习的图像/视频压缩系统在将信号转换为二进制数字(比特)之前会降低信号的维度。例如,在vae框架中,进行非线性变换的编码器将输入图像x映射到y,其中,y的宽度和高度小于x的宽度和高度。由于y的宽度和高度较小,所以大小较小,从而减小了信号的维度。因此,更容易压缩信号y。压缩的一般原理在图2c中进行了例示。潜在空间是编码器ga的输出和解码器gs的输入,表示压缩数据。需要说明的是,潜在空间的大小通常远小于输入信号的大小。
[0139]
输入信号大小的减小在图2c中例示,图2c表示基于深度学习的编码器和解码器。如上所述,输入图像x对应于输入数据,输入数据是图2c所示编码器的输入。变换后的信号y对应于潜在空间潜在空间的大小小于输入信号的大小。每列圆圈表示编码器或解码器处理链中的一层。每层中的圆圈数表示该层信号的大小或维度。
[0140]
从图2c可以明显看出,编码操作对应于输入信号大小的减小,而解码操作对应于图像原始大小的重建。
[0141]
在vae结构的输入处,使用一个卷积网络层(conv n
×5×
5/2

)。需要说明的是,“n
×5×
5/2
↓”
是一个符号,表示cnn的一层。在本示例中,定义了具有5
×
5卷积层的cnn,具有n个通道作为输出。输出在两个维度上都按因子2进行下采样,如向下箭头所示。由于这个卷积层,输入图像的所有三个分量的大小相同(例
[0142]
444)。否则,本示例中的卷积网络层不会将具有不同大小的图像(或图像部分)作为输入,例如,yuv422或yuv420格式通常如此。
[0143]
类似地,如图2c所示,由于vae结构末尾存在最后一个反卷积网络层(conv 3
×5×
5/2

),所以输出图像(重建图像)的三个分量的大小相同。
[0144]
因此,当使用现有的vae结构来压缩视频序列中的帧时会存在问题。例如,vae结构可能不会直接处理色度子采样的颜色格式视频帧(例如,yuv422、yuv420),因为三个分量的大小不相同。如上所述,在一些情况下,输入图像不能由输入卷积网络层处理,导致输出图像的大小可能与输入图像的大小不同。
[0145]
mpeg提案(ankitesh k.singh等人“m55267:[dnnvc]a study of handling yuv420 input format for dnn-based video coding(m55267:[dnnvc]处理基于dnn的视频译码的yuv420输入格式的研究)”)讨论了针对视频序列的yuv420颜色格式帧的特定情况部分解决上述问题的方法。
[0146]
图3示出了mpeg提案的一种方法。在编码端,卷积网络层conv n
×5×
5/2

(即卷积核为5
×
5,输出通道为n个,输出在两个维度上都按2进行下采样)在水平和垂直方向都按因子2对亮度分量进行下采样;卷积网络层conv n
×5×
5/1

处理色度分量,而不进行下采样(就cnn表示法而言,这由“/1”表示,即除以1)。因此,输出y、u和v具有相同大小,并可以通过vae结构处理。在解码端,conv 1
×5×
5/2

在水平和垂直方向都按因子2对亮度输出y分量进行上采样;然后,conv 2
×5×
5/1

处理色度分量,而不进行上采样。因此,最终重建图像的大小与原始输入yuv420图像的大小相同。
[0147]
从上述处理可以明显看出,图3的方法通过对亮度分量进行下采样,提供了大小相同的亮度和色度分量。换句话说,处理了对人类视觉系统最重要并携带视频帧的最详细信息的分量。这会导致重要的亮度信息被丢弃,从而可能导致质量损失。
[0148]
但是,一旦帧中的分量和/或通道具有不同的分辨率(即大小),vae结构就不能再压缩视频序列中的这一帧。具体地,vae结构不能直接处理色度子采样的颜色格式视频帧(例如,yuv422、yuv420),因为三个分量的大小不相同。如上所述,输入图像(包括其图像部分)不能由输入卷积网络层处理,导致输出图像的大小与输入图像的大小不同。
[0149]
第一实施例
[0150]
本发明的一些实施例可以提供解决上述处理子采样色度分量的问题的技术方案,这一方案适用于现有的ann或vae框架结构。
[0151]
根据本发明的一个实施例,提供了一种用于对图像部分进行编码的方法。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。
[0152]
所述图像部分是指图像(picture/image)中的一定数量样本,所述数量(量)小于所述图像中的样本总数。需要说明的是,本文中的术语“图像(picture/image)”具有相同的含义。所述图像部分可以包括所述图像的部分(一个或多个)或所有样本。本文中的术语“样本”和“像素”具有相同的含义。所述图像可以是静止图像或视频图像,例如对应于视频序列中的帧(运动图像)。
[0153]
所述图像部分可以包括一个或多个颜色分量,例如亮度分量和一个或多个色度分量。例如,亮度和色度格式yuv420中的图像部分包括两个色度分量u和v(还称为色度通道),如上所述。相对于整个图像,所述图像部分的色度分辨率可以小于亮度通道的分辨率。或者,相对于所述图像的一部分,色度分辨率可以小于亮度通道的分辨率。换句话说,表示在图像中捕获的一部分场景的亮度样本可以比(相同色度的)色度样本多。分辨率可以通过二维(two-dimension,2d)亮度的大小(尺寸)或2d色度通道的大小给出。这通常通过2d图像内亮度或色度样本沿x和y方向的样本数或通过样本总数给出。相对分辨率可以指定为亮度样本的数量与色度样本的数量之间的比率,如上所述,例如4:2:0或4:2:2等。需要说明的是,虽然本文中描述了用于亮度通道和一个或多个色度通道的一些示例性实施例,但是本发明并不限于此。通常,除了或代替一个或多个颜色分量,可以如本发明中所论述处理深度等其它通道。
[0154]
所述方法在图13中示出,并包括步骤1310:对所述色度分量进行上采样,以获得分辨率与所述亮度分量的分辨率匹配的上采样色度分量。所述上采样色度分量还称为中间色度分量。分辨率匹配可以对应于所述亮度分量的大小匹配。所述方法还包括步骤1320:将所述亮度分量和所述上采样色度分量编码到码流中。
[0155]
所述亮度分量的分辨率是在所述上采样之前获得的。所述亮度分量的分辨率可以通过从存储器或输入图像的码流等中读取分辨率来确定。所述色度分量的分辨率可以通过类似的方式获得。包括亮度和色度通道的相应图像部分的分辨率可以与存储器中或一般意义上的任何类型的存储介质中的相应通道一起指示。相应通道的分辨率可以根据样本数来提供。可选地或另外,通道分辨率可以根据相对于图像大小(可以在码流中指示或以另一种方式获得)(即所述图像中的所有样本)的比率提供。
[0156]
上述编码可以由变分自动编码器(variational autoencoder,vae)执行。本领域已知vae可以高效执行与图像编码和解码相关的任务,而且在所需码率与重建图像的质量之间实现良好的平衡。通过对子采样色度分量(即分辨率小于亮度通道的分辨率的色度)进行上采样,使得调整大小后的色度与亮度具有相同的分辨率,原始子采样的yuv颜色格式可以由vae进行编码。图2c所示的vae的编码器部分则可以通过上文参考图2c所述的方式处理相应的大小相等的三通道输入。在该过程中,亮度通道保持不受影响,因此亮度提供的可能重要的图像信息得以保留。
[0157]
但是,需要说明的是,vae进行的编码只是可能的有利实现方式之一。这并不是为了限制本发明,本发明也可以与其它类型的自动编码器一起高效工作,例如具有图2b所示结构的自动编码器。此外,本发明并不限于自动编码器,可以应用于任何基于ann的网络,或通常应用于任何经训练的网络。原则上,本发明可应用于任何类型的编码器或解码器。
[0158]
在所述方法的一种示例性实现方式中,所述对所述色度分量进行上采样基于所述亮度分量的样本。这表示所述上采样基于亮度样本的值,因此是内容适应性的。亮度样本可以指一个或多个亮度样本。这包括使用所有亮度样本进行上采样。
[0159]
色度上采样还可以包括通过经训练的网络处理色度分量。大小均衡可以包括将亮度分量和色度分量输入到经训练的网络,并从经训练的网络输出上采样色度分量。使用亮度分量作为经训练的网络的输入可以保留亮度和色度通道之间的跨分量信息。
[0160]
编码端的经训练的网络可以是任何类型的适合进行上采样的网络。例如,这包括
人工神经网络(artificial neural network,ann),例如全连接或稀疏神经网络、卷积神经网络(convolutional neural network,cnn)等。具体地,cnn已成功应用于图像编码和解码的图像(image/picture)处理任务。用于色度上采样的经训练的网络还可以称为大小均衡网络,因为它提供调整大小后分辨率与亮度通道的分辨率匹配的色度分量(即中间色度分量)作为输出。换句话说,在大小均衡网络进行处理之后,所有输出的亮度和色度通道具有相同的分辨率(即大小)。但是,本发明并不限于这种上采样。如稍后所示,上采样有几种可能的有利实现方式。术语“经训练的网络”是指通过机器学习预先训练的一类网络。这种网络还可以是具有机器学习(有监督或无监督)输入的可训练网络。但是,经训练的网络可以通过配置权重但不对同一网络执行训练来提供,例如通过从存储介质中获得权重来提供。权重可以通过训练类似的网络预先获得,并存储。或者,权重(还称为系数)可以通过使用数学滤波器(例如文纳滤波器(wiener filter)或卡尔曼滤波器(kalman filter)等)来推导。另一种选择是使用离散余弦变换(discrete cosine transform,dct)或离散正弦变换(discrete sine transform,dst)等变换层推导权重。虽然变换层可以包括在经训练的网络中,但相应的权重可以是固定系数,并可以视为参数。需要说明的是,dct和dst仅仅是示例,通常可以使用正交酉变换等任何合适的已知变换,例如阿达马变换(hadamard transformation)、快速傅里叶变换(fast fourier transformation,fft)、离散傅里叶变换(discrete fourier transformation,dft),或修改上述变换以符合一些实现约束条件(例如数字表示和位深度)而获得的变换,或k-l变换(karhunen-lo
è
ve transformation)等。
[0161]
如下文进一步论述,可以在经训练的网络中的第一层(或其它地方)中进行的上采样可以使用双线性滤波器或另一种线性或非线性插值滤波器,而不是基于最邻近的滤波方法。最邻近滤波可以视为插值滤波器的简化版本。另外或可选地,可以使用其它超分辨率方法。
[0162]
例如,在编码端,大小均衡网络层将子采样颜色格式视频帧(例如yuv420、yuv422等)中的色度分量均衡为亮度分量的大小。
[0163]
在一种示例性实现方式中,经训练的网络包括至少两个处理层。在两个处理层中,第一层用于根据输入色度分量执行上采样,第二层用于对所述第一层的输出和亮度分量执行处理。这里的术语“第一”和“第二”仅仅是标记,不一定对应于网络的一系列层中的第一层和第二层。在所述第一和第二层之间可以存在一些其它的一个或多个层。
[0164]
在一个实现示例中,对第一层的输出和亮度分量进行处理包括对亮度分量和上采样色度分量逐元素相加。因此,使用亮度作为边信息可以高效执行色度上采样,因为“加法操作”的复杂度低。亮度和色度分量的基于“连接(joined)”的处理可以不限于加法操作。在本示例中,跨分量信息得以保留。在这里,术语“保留”表示在色度上采样操作中使用亮度信息,该亮度信息包括关于高频信息和锐边的细节。与现有技术相比,色度分量以这种方式得到大大增强。
[0165]
或者,色度可以与亮度级联。这通常会产生级联的亮度和色度复合物,其大小大于亮度分量和色度分量各自的大小。其它类型的“连接(join)”操作也可以使用,和/或与加法或级联组合,通过这类操作,大小均衡网络使用亮度的信息对子采样色度进行上采样和/或处理。
[0166]
上述处理可以由图4至图8例示,图4至图8示出了本发明的一些实施例,涵盖编码端和编码端。
[0167]
在图4顶部所示的编码端,输入包括亮度分量y和色度分量u和v。具体地,将色度分量u和v输入到大小均衡网络层410,小均衡网络层将(相比于亮度分量y,经过子采样的)一个或多个色度分量上转换到亮度分量的大小。术语“上转换”还可以称为上采样。如上所述,所述上转换或上采样也可以使用亮度分量作为大小均衡网络的输入信息(即边信息)来执行,输入信息在图4中通过nn大小均衡模块410的第三输入来表示。nn大小均衡模块410的输出是尺寸与亮度分量y的尺寸匹配的中间色度分量u和v。亮度分量和中间色度分量都输入到vae编码器420中。vae编码器可以是图2b或图2c等所示的编码器。vae编码器420输出码流,码流中包括(例如压缩)有中间色度分量u和v和亮度分量y。
[0168]
相应地,图4的底部示出了示例性解码端。具体地,将经编码码流(例如由vae 420编码的码流)输入到vae解码器470。vae解码器470可以是图2b或图2c等所示的解码器。vae解码器470输出亮度分量y和中间色度分量u和v。这些经解码的亮度分量y和中间色度分量u和v不一定与编码端的亮度和中间色度分量相同。这是因为在一些实施例中,vae编码器420可能以有损方式压缩输入。然后,将分辨率匹配的经解码的分量y、u和v输入到下采样网络480,下采样网络480将nn大小转换回输入大小(分辨率)。将中间色度分量u和v下采样到色度分量的尺寸。在下采样过程中,可以使用亮度分量y。
[0169]
图5示出了编码端的大小均衡网络410的本发明实现示例。在本示例中,各层属于卷积神经网络(convolutional neural network,cnn)。参考图5,卷积网络层定义如下:
[0170]
·
conv.n
×k×
k:表示卷积网络层,卷积核为k
×
k,k为正整数。k通常为数字3或5。但是,k并不限于这些数字,而是可以取任何其它正整数。具体地,k的值可能更大。n是正整数,表示卷积神经网络的输出通道的数量。n通常为数字128或192。但是,根据输出的需要,可以使用任何其它数字。具体地,n可以为1或2,即与具有一个或两个输出通道的cnn层对应的conv.1
×k×
k或conv.2
×k×
k。
[0171]
·
act.:是指激活层,它可以是非线性激活函数,例如上述修正线性单元(rectified linear unit,relu)或gdn。所述函数用于激活卷积层。在没有激活的情况下,卷积层可能只是一个线性组合,与没有卷积运算的情况相同。
[0172]
·
conv.n
×k×
k/2

:表示与conv.n
×k×
k相同,但进一步在水平和垂直方向都按因子2对输出进行上采样(上转换)(在本示例中)。这由“2”和向上箭头表示。
[0173]
·
conv.n
×k×
k,act.:表示卷积层加激活层。
[0174]
图5示出了颜色格式为yuv420时的编码端的示例。这表示涉及三个通道y、u和v,因此n=3。
[0175]
例如,当亮度大小为w
×
h,色度大小为w/2
×
h/2,颜色格式为yuv420时,大小均衡网络层在水平和垂直方向都按因子2对色度分量u和v进行上采样。这里,w表示亮度分量的宽度,h表示亮度分量的高度,例如,以(整数)样本计算。conv.n
×k×
k/2

层在水平和垂直方向都按因子2对u和v分量进行上采样。这一层的输出有n个通道。
[0176]
从图5可以明显看出,conv.n
×k×
k层处理y分量,没有进行上采样,因此y分量保留了亮度分量的分辨率(尺寸)。与大小均衡层conv.n
×k×
k/2

相同,这一层的输出也有n个通道。层conv.n
×k×
k/2

和conv.n
×k×
k的输出信号都由输出特征图的相应激活层(即
非线性激活函数,例如relu或gdn)处理,然后相加(求和)。在本示例中,使用了简单的信号之和。这表示相应的输出是逐元素相加的(对特征图的元素求和)。可以如此做的原因是卷积(conv/convolutional)层的输出的大小(尺寸)在宽度和高度方面是相同的。
[0177]
其它类型的操作也可以用于色度与亮度的合并操作(组合)。例如,可以进行亮度和色度输出的级联。加法可能是最简单的方案之一,在所得帧中只有n个通道。这表示求和操作保留了一定数量的通道。相比之下,级联引入了具有2n个通道的潜在表示。因此,求和操作降低了利用亮度对色度进行上采样处理的复杂度,无需增加通道。
[0178]
然后,组合信号由一个或多个卷积层和激活层处理,提供两个色度通道(对应于上采样色度分量的调整大小后的u和v)作为输出。原始y信号也提供给下一步骤,即编码420到码流中。上采样色度还称为中间色度分量/通道。然后,将这些大小相等的输出(信号)用作vae结构的输入。
[0179]
在图5的示例中,y和上采样色度u和v的加法操作放置在第一层之后。但是,所述操作(以及就此而言,用于级联和/或合并信号的任何其它合适操作)也可以放置在任何其它层之后。这种设计的好处是,y特征主要由安排在加法操作之后的卷积层提取。
[0180]
在另一个示例中,当亮度大小为w
×
h,色度大小为w/2
×
h,颜色格式为yuv422时,大小均衡网络层在水平方向按因子2对色度分量u和v进行上采样。在这种情况下,上采样色度分量为矩形。在任何一种情况下,大小均衡网络层输出的上采样色度分量u和v的大小与原始分量y的大小相同。因此,所述大小均衡网络层的输出可以用作vae结构的输入。
[0181]
在一种示例性实现方式中,上采样包括在色度分量的每n排样本之后插入另一排样本。在这里,排是指行和/或列,n是等于或大于1的整数。这表示每个奇数行是添加行,等等。另外或可选地,例如,所得上采样分量中的每个奇数列是添加列。除了奇数行和/或列,还可以添加每个偶数行和/或列。这些示例针对的是n=1,即在每一行之后(或之前),插入另一行。这种上采样是按2的上采样。但是,本发明并不限于这一特定示例。相反,n可以更大,表示在整数行之后,插入另一行样本。类似的方法也适用于列。行和列的n可能不同。此外,这支持通过在特定行和/或列插入一排样本来进一步调整色度上采样。
[0182]
此外,上采样可以通过在色度分量的每n排样本之后插入一排值为0的样本来执行。这可以称为零填充。这是一种简单的上采样方式,只需将相应的一排样本设置为0。因此,不需要更多的指示或处理开销。这种方法在图9中例示,图9示出了上采样色度的4
×
4样本。实心圆形符号是指原始色度的样本。空心圆圈是指具有0值的样本。在本示例中,各排0值样本是在色度分量的每行和每列之后插入的。此外,在本示例中,大小均衡网络简化为单层网络(m=1),在图5的“加法”操作之后没有其它层。在图9(编码端)中,u和v的上采样简化为在颜色格式为yuv420的情况下在每行和每列中填充0。在yuv422格式的情况下,0的填充是针对每列的。在这种情况下,网络不是卷积神经网络,但是可以理解为全连接神经网络(fully-connected neural network,fcnn)中的一层。因此,这一网络本身不一定是可训练的,但是可以与vae结构联合训练,以获得更好的译码性能。因此,相应的fcnn也可以指经训练的网络。
[0183]
在另一种实现方式中,色度上采样可以通过在色度分量的每n排样本之后插入值等于色度分量中相应的最邻近样本的一排样本来执行。例如,可以通过将色度值复制到相应的相邻样本中来插入值。与上述零填充的情况一样,这可以通过在特定行和/或列插入一
排样本来进一步调整色度上采样。此外,使用参考色度的最邻近样本插入的一排样本的值,色度上采样的精度更高,因为使用了参考原始色度的相邻信息(由相邻色度样本值表示)。
[0184]
这在图11中例示,图11示出了上采样色度的4
×
4样本。同样,实心圆形符号是指原始色度的样本。空心圆圈是指值与相应的色度相邻样本一致的样本。在图11中,将色度值插入到相应的相邻样本中由箭头表示。在本示例中,样本值是在色度分量的每行和列之后插入的。此外,在本示例中,大小均衡网络简化为单层网络(m=1),在图5的“加法”操作之后没有其它层,其中,从亮度到色度的跨分量信息通过“加法”操作得以保留。例如,如果亮度包括更多信息(因为它具有更高的原始分辨率),则当亮度和色度具有相同尺寸时,将附加信息添加到正确位置上的色度样本中。在图11(编码端)中,u和v的上采样简化为每行和每列中的最邻近样本上采样,如图11中的yuv420格式所示。在yuv422格式的情况下,最邻近样本上采样是针对每列的。在上述色度上采样示例中,网络不是卷积神经网络,但是可以理解为全连接网络中的一层。因此,这一网络本身不是可训练的,但是可以与vae结构联合训练,以获得更好的译码性能。因此,相应的fcnn也可以指经训练的网络。这里的最邻近上采样表示将最近样本的值(在预定义的方向上)复制到新添加的样本中。在图11中,取左侧和上方的最邻近样本。这是不限制本发明的惯例。最邻近样本可以从右侧和下方复制而来。可能涉及插值(例如,相邻样本值的平均值)或其它类型的上采样。
[0185]
上述上采样网络仅仅是具有一层的用于大小均衡的经训练的网络的示例。本领域技术人员很清楚,大小均衡层可以具有多层,如图5和图7所示。在这种情况下,可以训练大小均衡网络执行色度上采样。
[0186]
在上文论述中,亮度分量用作边信息并输入到大小均衡层,以便对子采样色度通道执行上采样。在图7所示的大小均衡网络的另一个实现示例中,可以在不进一步使用亮度的情况下执行上采样。换句话说,亮度通道不输入到编码端的大小均衡网络。否则,编码器对子采样色度的处理与已经论述的亮度用作边信息进行色度上采样的情况相同。这可以简化大小均衡网络的设计,因为只将(一个或多个)色度分量作为输入。
[0187]
根据本发明的一个实施例,提供了一种用于从码流中解码图像部分的方法。所述图像部分包括亮度分量和色度分量,所述色度分量分辨率小于所述亮度分量的分辨率。所述图像部分是指图像(image/picture)中的一定数量样本,所述数量小于所述图像中的样本总数。所述图像部分还可以包括所述图像中的所有样本。术语“样本”还可以指像素。所述图像可以是静止图像或视频图像。所述图像部分可以包括一个或多个色度分量。例如,亮度和色度格式yuv420中的图像部分包括两个色度分量u和v(还称为色度通道)。相对于整个图像,所述图像部分的色度分辨率可以小于亮度通道的分辨率。或者,相对于所述图像的一部分,色度分辨率可以小于亮度通道的分辨率。在这种“部分”亮度分辨率情况下,亮度通道和一个或多个色度通道与所述图像的同一部分相关。所述图像的同一部分还可以称为所述图像的区域。
[0188]
所述方法在图14中示出,并包括步骤1410:从所述码流中解码所述亮度分量和分辨率与所述色度分量的分辨率匹配的中间色度分量。所述中间色度分量还称为上采样色度分量,表示所述中间分量已经通过对所述色度分量进行上采样生成/获得。分辨率是根据二维(two-dimension,2d)亮度或色度通道的大小(即尺寸)给出的。这通常通过2d亮度或色度样本沿x和y方向的样本数或通过样本总数给出。所述方法还包括步骤1420:对所述中间色
度分量进行下采样,以获得所述图像部分中的所述色度分量。上述解码可以由变分自动编码器(variational autoencoder,vae)执行。本领域已知vae可以高效执行与图像编码/解码相关的任务,而且在所需码率与重建图像的质量之间实现良好的平衡。图2c所示的vae的编码器部分则可以通过上文参考图2c所述的方式处理相应的大小相等的通道输入,包括亮度和中间色度。在该过程中,亮度通道保持不受影响,因此,当从码流中解码亮度分量时,亮度提供的最重要的图像信息得以保留。
[0189]
通过对中间色度分量(即分辨率与亮度通道的分辨率相同的色度)进行下采样,可以重建原始色度分量(即子采样色度)。具体地,具有原始亮度和色度格式的图像部分可以高质量重建。因此,解码器能够提供色度格式的图像部分作为输出,色度的分辨率(即大小)小于亮度的分辨率。
[0190]
在所述方法的一种示例性实现方式中,所述下采样还包括通过经训练的网络对所述中间色度分量进行处理。这一网络可以称为大小转换网络,表示其目的是为了将输入中间色度(大小与亮度的大小相同)转换到分辨率比亮度的分辨率更小(即大小更小)的原始色度的大小。
[0191]
解码端的经训练的网络可以是任何类型的适合进行下采样的网络。例如,这包括人工神经网络(artificial neural network,ann),例如神经网络、卷积神经网络(convolutional neural network,cnn)等。具体地,cnn已成功应用于图像编码和解码的图像(image/picture)处理任务。用于色度下采样的经训练的网络还可以称为大小转换网络,因为它提供调整大小后分辨率小于亮度通道的分辨率的色度分量(即原始子采样色度分量)作为输出。换句话说,在大小转换网络进行处理之后,所有输出的亮度和色度通道具有不同的分辨率(即大小)。
[0192]
在所述方法的第一种示例性实现方式中,经训练的网络进行的处理包括向经训练的网络输入中间色度分量,并从经训练的网络输出色度分量。这表示经训练的网络仅使用中间色度作为输入以对中间色度执行下采样。因此,在本示例中,大小转换网络层不使用关于亮度的边信息。因此,经训练的网络的设计不复杂,而且由于没有亮度用作边信息,处理开销较低。
[0193]
这在图8中例示,图8示出了亮度分量可以不用作解码器侧的大小转换网络的输入。在本示例中,两个色度分量u和v表示颜色格式yuv444,其中,u和v的大小与亮度y的大小相同。否则,解码器对中间色度的处理与已经参考图4论述的相同。在经训练的网络的一种示例性实现方式中,经训练的网络包括至少两个处理层。在这至少两个层中,第一层对输入中间色度分量执行处理;至少两个处理层中的第二层对所述第一层的输出执行下采样。
[0194]
在图8的示例中,解码端的大小转换网络由多个卷积层和激活层conv.n
×k×
k,act.构建。左侧的第一个conv.n
×k×
k,act.将中间色度分量u和v作为输入。网络中的最后一层(conv.2
×k×
k/2

)在水平和垂直方向都按因子2对信号进行下采样,并输出两个通道。这两个通道用作yuv420格式中的重建u和v信号。当所有中间conv.n
×k×
k,act.层都移除时,最后一个conv.2
×k×
k/2

表示第二层。
[0195]
在本示例中,与j.balle的方法相比,没有对y信息进行下采样。因此,y的亮度信息和空间信息大部分得以保留。如上所述,可以在不使用亮度信息作为边信息的情况下执行色度下采样。
[0196]
在另一种示例性实现方式中,对中间色度分量进行下采样基于亮度分量的样本。这表示所述下采样不是基于大小,而是基于亮度通道的内容,即亮度样本的相应值。亮度样本可以指一个或多个亮度样本。这包括使用所有亮度样本进行上采样。
[0197]
当色度由经训练的网络处理时,经训练的网络进行的处理包括向经训练的网络输入亮度分量。在一种示例性实现方式中,经训练的网络中的第一层对中间色度分量和亮度分量执行处理。换句话说,亮度用作边信息以进行色度下采样处理。这会保留亮度和色度通道之间的跨分量信息。具体地,亮度分量可以包括比子采样(原始)色度分量更多的详细信息。使用亮度作为边信息,可以根据亮度分量恢复色度的一些细节。上采样网络可以专门训练用于这种上采样。
[0198]
需要说明的是,对于解码端,大小转换网络中的第一处理层与编码端相比可以不需要执行“加法操作”,其中,这类操作可以如图5所示执行(至少某种显式组合操作可以用于编码器侧的大小均衡网络)。这是因为解码器的大小转换网络中的第一层的输入(包括亮度y和中间色度u和v)已经具有相同大小,如图6所示。相反,三个大小相等的通道可以直接输入到所述第一cnn层,而不需要单独的加法操作。对于图5所示的编码器的大小均衡网络中的第一层的输入,情况并非如此。在这种情况下,首先对色度进行上采样,接着加上上采样色度和亮度,然后输入到cnn层中。
[0199]
图6示出了vae结构的解码端的实现示例,将vae结构的上述编码端的输出作为其输入。如上所述,大小转换网络的相应输入有3个大小相同的分量(即yuv444)。第一通道直接用作重建亮度分量,具有与yuv420格式中的原始亮度分量相同的大小。conv.2
×k×
k/2

表示与conv.n
×k×
k相同,但进一步在水平和垂直方向都按因子2对输出进行下采样(下转换)。这由“2”和向下箭头表示。如上所述,这种设置可以有利于保留跨分量信息,例如,使用来自亮度的更多细节增强色度,亮度最初的分辨率(尺寸)大于色度的分辨率。
[0200]
通常,在vae结构的解码端使用亮度的经训练的网络可以通过与不使用亮度相同的方式构建,不同之处在于将其它亮度作为输入。这在图6中例示,其中,大小转换网络也设计有多个卷积层和激活层conv.n
×k×
k,act.。同样,网络中的最后一层(conv.2
×k×
k/2

)在水平和垂直方向都按因子2对信号进行下采样,并输出两个通道。这两个通道用作yuv420格式中的重建u和v信号。
[0201]
例如,当颜色格式为yuv420时,大小转换网络层在水平和垂直方向都按因子2对中间色度分量u和v进行下采样。在另一个示例中,当颜色格式为yuv422时,大小转换网络层在水平方向按因子2对中间色度分量u和v进行下采样。在任何一种情况下,最终输出具有与颜色格式为yuv420或yuv422的输入帧的原始分量相同的大小。
[0202]
在所述方法的一种示例性实现方式中,下采样包括在中间色度分量的每n排样本之后移除一排样本。在这里,排是行和/或列,n是等于或大于1的整数。例如,这表示在每一(n=1)或两(n=2)行和/或列之后,可以移除或删除所述一排样本。因此,可以通过简单地移除相应的一排样本来快速执行中间色度的下采样。或者,下采样可以通过对最邻近色度样本的样本值进行平均(可能进行加权)等方式来执行。
[0203]
图10和图12示出了移除一排样本的示例。需要说明的是,图10和图12的样本配置分别对应于图9和图11的样本配置,从而在编码端对色度分量进行上采样处理。
[0204]
具体地,图10和图12示出了中间色度的4
×
4样本。实心圆形符号是指原始色度的
样本。带叉空心圆圈是指可以为非0值的样本,是编码端的大小均衡网络进行色度上采样处理(使用和不使用亮度作为边信息)和/或解码端的大小转换网络中的一个或多个第一层进行色度处理的结果。
[0205]
在图10和图12所示的示例中,大小转换网络简化为单层网络(m=1)。在图10和图12(解码端)中,简化了u和v的下采样,以便在颜色格式为yuv420的情况下丢弃奇数行和奇数列样本。对于yuv422,移除奇数列样本。在图10和图12所示的这些情况中的任何一种情况下,相应网络不是卷积神经网络,但是可以理解为全连接神经网络(fully-connected neural network,fcnn)中的一层。因此,这一网络本身不是可训练的,但是可以与vae结构联合训练,以获得更好的译码性能。因此,相应的fcnn也可以指经训练的网络。
[0206]
但是,这仅仅是用于大小转换的具有一层的经训练的网络的示例。本领域技术人员很清楚,大小转换层可以具有多层,如图6和图8所示。在这种情况下,可以训练大小转换网络执行色度上采样。
[0207]
需要说明的是,图5所示的编码端的大小均衡网络和图6所示的解码端的大小转换网络可以与vae结构联合训练。这可以进一步改善子采样色度分量的编码和解码处理,特别是在vae框架内。例如,这包括编码和解码性能和/或重建图像(picture/image)的质量。
[0208]
或者,这些网络可以单独训练并用作经预训练的vae网络。在任何一种情况下,相应的网络都是指经训练的网络。需要说明的是,按因子2(采样因子)进行上采样/下采样是一个非限制性示例,但是为常用值之一。通常,采样因子可以是等于或大于1的任何整数。或者,采样因子可以是分数采样因子,例如两个正整数p和q的比率p/q等。
[0209]
总结本实施例的这一部分,大小均衡网络(用于上采样)和大小转换网络(用于下采样)用于调整子采样色度通道的大小,使得yuv420中的三个分量大小相同。然后,这些分量可以由现有的vae结构处理。
[0210]
此外,如上所述,本发明还提供了用于执行上述方法的步骤的设备。
[0211]
图15示出了用于对图像部分进行编码的编码器1500。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。所述编码器包括:上采样模块1510,用于对所述色度分量进行上采样,以获得分辨率与所述亮度分量的分辨率匹配的上采样色度分量;编码模块1520,用于将所述亮度分量和所述上采样色度分量编码到码流中。
[0212]
在一个实现示例中,所述编码器可以包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述编码器用于执行上述方法。
[0213]
图16示出了用于从码流中解码图像部分的解码器1600。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。所述解码器包括:解码模块1610,用于从所述码流中解码所述亮度分量和分辨率与所述色度分量的分辨率匹配的中间色度分量;下采样模块1620,用于对所述中间色度分量进行下采样,以获得所述图像部分中的所述色度分量。
[0214]
具体地,所述解码器可以包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述解码器用于执行上述方法。
[0215]
根据本发明的一个实施例,提供了一种存储在非瞬时性介质中的计算机程序。所述计算机程序包括代码,当所述代码在一个或多个处理器上执行时,执行任一上述方法的步骤。
[0216]
本发明的一些实施例可以提供以下优点,总结如下:
[0217]
·
亮度的样本信息得以完全保留。
[0218]
·
亮度的空间信息得以完全保留。
[0219]
·
用于大小均衡和大小转换的网络(即经训练的网络)(两种经训练的网络都可以是cnn)可以与vae网络结构联合训练。这可以具有进一步改善结果的优点。
[0220]
·
vae网络结构可以灵活处理各种其它色度子采样格式,例如yuv422。
[0221]
·
跨分量信息得以保留。
[0222]
第二实施例
[0223]
第二实施例可以与第一实施例的任一上述示例性实现方式组合。如上所述,第一实施例涉及对参照亮度分量进行子采样的色度分量的处理。色度分量的上采样使这种调整大小后的色度分量以及亮度分量适合在基于可训练网络的框架(例如ann或vae)中进一步处理。因此,亮度分量可以保持大部分不受影响,所以亮度的样本信息和空间信息得以保留。需要高质量重建图像(或其部分)的许多应用都需要实现这一点。这表示需要保持高分辨率,因此编码和解码处理不可以篡改亮度。
[0224]
但是,在其它应用中,高分辨率不一定是最重要的目标,而是更快地执行编码和解码过程。此外,期望目标可能是低码率,导致分辨率较低,例如亮度下采样导致的低分辨率。因此,可能需要在提供低分辨率或高分辨率图像的编码和解码处理之间进行选择。
[0225]
这个问题可以通过第二实施例来解决,第二实施例涉及在调整两个或两个以上输入通道的分辨率以匹配时,在亮度的下采样与色度的上采样之间进行适应性切换。亮度下采样和色度上采样还可以称为采样模式。两种采样模式中的哪一种可以执行是根据亮度和色度通道在编码端确定的,并向解码端指示和/或由解码端确定。
[0226]
具体地,如下参考本发明的各种示例性实现方式和方面进一步所述,与色度的大小(分辨率)匹配的亮度下采样和与亮度的大小(分辨率)匹配的色度上采样由编码器适应性地选择。编码器选择哪一种采样模式可以通过各种方式指示,如下进一步详述,并且可以包括通过接收到的码流指示和/或从接收到的码流中确定。根据指示其中一种采样模式(即亮度下采样或色度上采样)的方式,解码端执行亮度上采样或色度下采样,以产生与输入到编码器的图像部分具有相同分辨率的重建图像部分(即与输入帧相同的子采样格式)。
[0227]
根据本发明的一个实施例,提供了一种用于对图像部分进行编码的方法。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。所述图像部分是指图像(image/picture)中的一定数量样本,所述数量小于所述图像中的样本总数。所述图像部分还可以包括所述图像中的所有样本。术语“样本”还可以指像素。所述图像部分可以是静止图像或视频图像。术语“图像”和“图像部分”可以作为同义词使用。所述图像部分可以包括一个或多个色度分量。例如,亮度和色度格式yuv420中的图像部分包括两个色度分量u和v(还称为色度通道)。相对于整个图像,所述图像部分的色度分辨率可以小于亮度通道的分辨率。或者,相对于所述图像的一部分,色度分辨率可以小于亮度通道的分辨率。在这种“部分”亮度分辨率的情况下,亮度通道和一个或多个色度通道与所述图
像的同一部分有关。所述图像的这一部分还可以称为所述图像的区域。
[0228]
下采样亮度有利于实现低分辨率以降低码率,而上采样色度有利于实现高分辨率以保留亮度信息。因此,适应性切换能够根据对码率或图像质量的要求和/或限制选择采样模式。由于在为图像部分选择的图像处理的任何一种情况下,经处理的亮度和色度分量具有匹配的分辨率,因此输出可以在vae框架或支持高效编码的另一框架内处理。
[0229]
所述方法在图31中示出,并包括步骤3110:选择以下之一作为所述图像部分的图像处理:
[0230]

对所述亮度分量进行下采样,以获得分辨率与所述色度分量的分辨率匹配的下采样亮度分量;
[0231]

对所述色度分量进行上采样,以获得分辨率与亮度分量的分辨率匹配的上采样色度分量。
[0232]
分辨率是根据二维(two-dimension,2d)亮度通道的大小(即尺寸)给出的。但是,需要说明的是,分辨率还可以通过不同于亮度的通道的尺寸给出,该通道可以是色度通道或其它类型的通道,例如深度通道等。分辨率通常通过2d亮度和/或色度通道沿x和y方向的样本数给出或通过在一个时刻的通道中的样本总数(图像中的样本总数)给出。
[0233]
在亮度下采样和/或色度上采样之前,亮度分量和/或色度分量的分辨率可以从存储器(memory/storage)等中获得,在存储器中,该分辨率可以与待编码的图像部分一起存储。图像部分可以是图像的一部分,也可以是整个图像。因此,图像部分可以包括一个或多个亮度样本和一个或多个色度样本。在一些实施例中,图像部分可以是构成图像的多个图像部分中的一个。这些图像部分可以通过将图像细分成图像部分来获得。通常,图像部分的大小(尺寸)可以相同,也可以不同。
[0234]
图像可以是视频(运动图像)的一部分。相应通道的分辨率可以根据样本数来提供。或者,通道分辨率可以根据与图像大小(即所述图像中的所有样本)有关的比率来提供。
[0235]
图31的所述方法还包括步骤3120:根据所选图像处理对所述图像部分进行处理。换句话说,所选图像处理可以是下采样亮度或上采样色度中的一种。此外,所述方法包括步骤3130:根据所选图像处理生成码流,其中,所述生成包括对所述经处理的图像部分进行编码。图像部分的编码可以由自动编码器执行,例如由变分自动编码器(variational autoencoder,vae)或另一种自动编码器执行。本领域已知vae可以高效执行与图像编码和解码相关的任务,而且在所需码率与重建图像的质量之间实现良好的平衡。
[0236]
在亮度下采样和色度上采样之间选择的图像处理在任何一种情况下都提供调整大小后具有相同分辨率(例如相同尺寸)的亮度分量和色度分量。因此,无论选择哪种图像处理,大小相等的亮度和色度通道都可以在通用框架(例如ann框架,例如vae)内处理。
[0237]
这具体包括子采样色度格式,例如yuv422、yuv420。颜色格式还可以包括任何其它亮度和色度格式,其中任何通道可以具有不同的大小。图2所示的vae的编码器部分则可以通过上文参考图2所述的方式处理相应的大小相等的三通道输入。此外,图像处理的选择可以在亮度下采样和色度上采样之间进行适应性切换。因此,可以选择低分辨率或高分辨率图像处理。
[0238]
图17通过yuv420颜色格式的示例来说明编码端,在这种情况下,色度输入u和v的分辨率小于亮度分量y的分辨率。如图15所示,在编码端,yuv输入经过大小均衡处理。一方
面,这包括对亮度分量进行下采样1710,如图17的上分支所示。本示例中的输出是大小相同的三个yuv分量。这里,大小相同是指色度分量u和v的大小(尺寸)。另一方面,通过在图17的下分支中执行的大小均衡处理对色度分量进行上采样1720。同样,输出是大小相同的三个yuv分量。这里,大小相同是指亮度分量。在vae等对上分支和下分支的大小均衡yuv进行编码之后,根据成本函数确定成本。例如,成本确定可以基于率失真优化(rate-distortion-optimization,rdo)1730。最终要使用哪种采样模式(即色度上采样或亮度下采样)取决于上分支还是下分支的处理提供较低成本。在图17的示例中,最低成本采样模式通过标志(指示符)指示,编码到码流中或单独向解码器指示。下文详细论述如何根据成本选择采样模式的各种方法。
[0239]
在rdo中,优化了速率和失真的加权和。但是,本发明并不限于基于速率和失真的成本最小化。例如,除了或代替速率和/或失真,可以在成本函数中考虑复杂度。可以添加或使用其它成本参数来代替上述参数。
[0240]
在所述方法的一种实现方式中,所述上采样和/或下采样由经训练的网络执行。
[0241]
如第一实施例所述,编码端的经训练的网络可以是适合下采样或上采样的任何类型的网络。例如,这包括人工神经网络(artificial neural network,ann),例如神经网络、卷积神经网络(convolutional neural network,cnn)等。用于亮度下采样和/或色度上采样的经训练的网络还可以称为大小均衡网络,因为这两种网络都提供调整大小后分辨率与色度通道的分辨率匹配(即亮度下采样1710)或与亮度通道的分辨率匹配(即色度上采样1720)的颜色(亮度、色度)分量作为输出。换句话说,在大小均衡网络进行处理之后,输出的y、u和v通道具有相同的分辨率(即大小)。
[0242]
图19和图20示出了在颜色格式为yuv420的情况下,编码端的大小均衡网络的实现示例。图19示出了执行亮度下采样(上分支)的大小均衡网络,图20示出了对两个色度u和v执行上采样的大小均衡网络。在本示例中,各层属于卷积神经网络(convolutional neural network,cnn)。
[0243]
图19和图20所示的卷积网络层以与第一实施例(例如图5至图8)类似的方式定义。概括如下。
[0244]
·
conv.n
×k×
k:表示卷积网络层,卷积核为k
×
k,k为正整数。k通常为数字3或5。但是,k并不限于这些数字,而是可以设置为其它正整数。具体地,k的值可以为2或更大。n是正整数,表示卷积神经网络的输出通道的数量。
[0245]
·
act.:表示激活层,可以是非线性激活函数,例如上述relu或gdn。
[0246]
·
conv.n
×k×
k/2

:表示与conv.n
×k×
k相同,但该层进一步在水平和垂直方向都按因子2对输出进行上采样(上转换)。这由“2”和向上箭头表示。
[0247]
·
conv.2
×k×
k/2

:表示与conv.n
×k×
k相同,但进一步在水平和垂直方向都按因子2对输出进行下采样(下转换)。这由“2”和向下箭头表示。
[0248]
·
conv.n
×k×
k,act.:表示卷积层加激活层。
[0249]
如图19和图20所述,待编码的图像部分的颜色格式为yuv420。这表示亮度大小为w
×
h,色度大小为w/2
×
h/2。但是,本领域技术人员了解到,可以采用其它格式(各种色度子采样),例如yuv422等。
[0250]
亮度处理:图19中用于亮度处理的大小均衡网络包括第一层conv.n
×k×
k/2

,具
有k
×
k核和作为输出的n个通道。这一层在水平和垂直方向都按因子2对亮度分量进行下采样。这一层之后是一系列激活层act.和卷积层加激活层conv.n
×k×
k,act.。大小均衡网络由最后一层(即卷积层conv.1
×k×
k)终止,因此具有一个通道作为输出,即下采样亮度分量y。亮度分量的大小(分辨率)现在调整为与色度分量u和v的大小相同。这种处理在图17的上分支(1710)中执行。
[0251]
色度处理:图20中用于色度分量处理的大小均衡网络包括第一层conv.n
×k×
k/2

,具有k
×
k核和作为输出的n个通道。这一层在水平和垂直方向都按因子2对两个色度分量u和v进行上采样。这一层之后是一系列激活层act.和卷积层加激活层conv.n
×k×
k,act.。大小均衡网络由最后一层(即卷积层conv.2
×k×
k)终止,因此具有两个通道作为输出,即上采样色度分量u和v。色度分量u和v的大小(分辨率)现在调整为与亮度分量y的大小相同。这种处理在图17的下分支(1720)中执行。需要说明的是,在这种情况下,亮度分量得以保留,具有第一实施例中论述的所有优点。
[0252]
从图19和图20可以明显看出,在任何一种情况下,相应卷积层conv.n
×k×
k/2

和conv.n
×k×
k/2

的输出为n个通道,并进一步通过激活层(即非线性激活函数,例如relu或gdn)处理。调整大小后的亮度和一个或多个色度还可以分别称为中间亮度和一个或多个中间色度。然后,相应的大小相等的输出亮度和一个或多个输出色度用作它们在上分支和下分支的相应vae的输入。上分支和下分支的vae将经译码码流作为结果传送,这时可以重建经译码码流以获得质量(损失)。然后,可以在rdo 1730中使用质量(与失真成反比)和速率(例如,通过码流中的比特量测量)来选择可以执行rdo之后的vae的适当处理。
[0253]
上述大小均衡处理不限于yuv420颜色格式,而是可以应用于其它子采样色度格式,例如yuv422等。
[0254]
在第一实施例中,描述了编码端的色度上采样可以使用亮度分量作为边信息。这可以与上述第二实施例的一个或多个色度分量的处理组合。此外,同样的流程也可以应用于编码端对亮度的下采样,因为色度用作边信息。
[0255]
图23针对编码端进一步说明了这一点,示出了与图17中类似的编码器结构以及图像部分的图像处理的选择可以通过编码到经编码码流中的标志(指示符)指示的示例性情况。如图23所示,与图17的示意图的不同之处在于亮度下采样(上分支)使用关于色度分量u和v的信息。类似地,色度上采样(下分支)使用关于亮度y的信息。否则,亮度和一个或多个色度的相应采样处理以与上文参考图17论述的相同方式执行。
[0256]
因此,无论是否执行亮度下采样和/或色度上采样,在任何一种情况下,跨分量信息都用于相应的采样。这表示亮度与一个或多个色度之间的相关性得以保留。
[0257]
图25和图26分别示出了编码端的用于亮度下采样和色度上采样的大小均衡网络的示例性实现方式。如图25和图26所示,相应的大小均衡网络在它们的卷积层和激活层的排列顺序方面的设计与图19和图20所示的设计相同。不同之处在于,添加了附加层,以便将图25中的一个或多个色度或图26中的亮度提供给相应的大小均衡网络。在图25的情况下,所述添加层是用于色度分量的卷积层conv.n
×k×
k/1

,具有k
×
k核和作为输出的n个通道,这一输出被输入到激活层act.。在图26的情况下,所述添加层是用于亮度的卷积层conv.n
×k×
k/1

,具有k
×
k核和作为输出的n个通道,这一输出被输入到激活层act.。在图25和图26所示的示例中,将相应的输出信号与大小均衡网络中的第一卷积层conv.n
×k×
k/2

和conv.n
×k×
k/2

之后的激活层act.的输出相加。
[0258]
例如,相应的加法可以是将一个或多个色度分量与下采样亮度分量逐元素相加以及将亮度分量与一个或多个上采样色度分量逐元素相加。因此,可以高效地执行使用亮度作为边信息的色度上采样以及使用色度作为边信息的亮度下采样。另外,原始分辨率较高的亮度中可能存在的细节可以在原始子采样色度中恢复。类似地,原始分辨率较低的色度中可能存在的细节可以在原始亮度中恢复。
[0259]
亮度和色度分量的联合(组合)处理(在亮度下采样和/或色度上采样处理中)可以不限于加法操作。或者,色度和亮度可以级联。这通常会产生级联的亮度和色度复合物,其大小大于亮度分量和色度分量各自的大小。其它类型的组合操作也可以使用,和/或与加法或级联组合。因此,相应的大小均衡网络使用亮度和色度的信息进行色度上采样和/或亮度下采样。
[0260]
如上所述,哪一种图像处理在编码端执行可以通过各种方式确定。下文对此进行讨论。
[0261]
在所述方法的一种示例性实现方式中,所述选择包括对速率和失真的成本函数进行估算。根据所述(编码)方法的一种实现方式,所述选择还包括根据所述成本函数,分别确定所述中间下采样亮度分量和所述色度分量的成本以及所述亮度分量和所述中间上采样色度分量的成本。此外,在所述选择中,所述确的成本较低的图像部分的图像处理被选择。因此,亮度分量和子采样色度分量的整体编码是通过使用成本最低的采样模式(即亮度下采样或色度上采样)高效执行的。
[0262]
例如,成本可以是根据重建图像部分和原始图像部分与码率之间的失真指定的损失。在这种情况下,损失可以表示为:
[0263]
loss=rate+λdistortion
[0264]
或者
[0265]
loss=λrate+distortion。
[0266]
在这里,λ表示拉格朗日(lagrange)乘数,这是一个可以预定义的数字。该数字可以基于所需应用和/或结果凭经验确定。如上所述,可以使用成本函数的其它参数。此外,需要说明的是,本发明不一定包括rdo。例如,选择可以由预先为这种选择训练的经训练的网络(例如ann)执行。也可能有各种其它方法。
[0267]
所述选择还可以包括对所述亮度分量进行下采样,以获得中间下采样亮度分量;对所述色度分量进行上采样,以获得中间上采样色度分量。在图17中,在rdo 1730之后,vae应用于亮度下采样或色度上采样之后大小匹配的颜色分量。但是,事实并非如此。相反,可以使用由所选上分支(1710)或下分支(1720)的vae生成的码流,而不是再次使用vae。换句话说,经译码部分可以重复使用,从而降低一定复杂度。
[0268]
图17示出了三个vae。使用三次vae可能会比较复杂且耗时。因此,为了降低复杂度,在一些示例性实现方式中,上分支和下分支中的vae并不是完整的网络。相反,它们可以由模型替代,这些模型并不真正生成码流,而是估计速率和失真。在估计/选择更好的分支之后,在rdo 1730之后使用真实vae来生成要发送(传送)给解码器的码流。如果分支中模型vae对速率和失真的估计比rdo之后的vae更快,这可能是有利的。在编码端,这两种情况都可能存在(两个vae相对三个vae)。
[0269]
在其中一种示例性实现方式中,所述确定成本包括将所述中间下采样亮度分量和所述色度分量编码到第一码流中;将所述亮度分量和所述中间上采样色度分量编码到第二码流中。在此之后,根据所述成本函数确定所述第一码流和所述第二码流的成本。因此,实际成本可以准确地确定,因为它是基于经编码的第一码流和第二码流。但是,如上所述,本发明并不限于这种方法。相反,可以通过估计函数估计成本,而不是编码到码流中。此外,为了获得速率而进行的编码并不需要通过实际生成码流来执行。例如,成本可以根据量化数据的数量和/或量化数据的分布,或通过使用为这种估计而训练的经训练的网络,或通过任何可考虑的方式来估计。
[0270]
根据一个实现示例,生成用于携带经编码图像或视频数据的码流包括将指示所选图像处理的选择指示符编码到码流中。这降低了指示已经对码流执行的图像处理的复杂度。例如,选择指示符可以具有一个比特的长度,并且能够在两个值之间区分,一个值表示亮度下采样,另一个值表示色度上采样。
[0271]
这在图17中示出。如上所述,对于具有亮度分量和子采样色度分量的图像部分,执行亮度下采样(上分支)和色度上采样(下分支)的采样处理。在任何一种情况下,都提供大小相等的亮度和色度分量,分别输入到上分支和下分支的vae。两个vae都计算其相应的亮度和色度输入的成本,该成本可以基于码率和失真(rdo)。根据哪种成本较低,选择相应的图像处理。根据所选图像处理,生成码流,但不将指示符编码到码流中。所述图像处理(即编码端的亮度下采样或色度上采样)的选择可以通过选择指示符指示。例如,所述指示符可以是标志。通过将标志插入(可以包括编码)到码流中,编码端已经执行的所选图像处理可以在码流中向解码器指示。然后,解码器从码流解析指示符,并根据指示符确定要执行的图像处理。具体地,这种选择指示符可以取第一值和第二值。这种选择指示符的第一值可以表示亮度已经在编码器侧进行下采样(1710),因此要在解码器侧进行上采样。这种选择指示符的第二值可以表示色度已经在编码器侧进行上采样(1720),因此要在解码器侧进行下采样。在图17中,功能块“上采样或下采样”1740表示将选择指示符插入到码流中。
[0272]
或者,所选图像处理可以在没有编码到码流中的显式指示符(例如,1比特标志)的情况下进行指示。
[0273]
根据另一个实现示例,所述生成码流包括将所述亮度分量的宽度w和/或高度h的指示编码到所述码流中。因此,原始图像部分的宽度和高度可以指示给编码器。这种指示可以指定亮度分量的分辨率。如果亮度分量和色度分量的分辨率之间的比率是已知的,则可以根据指示的w和h相应地确定色度分辨率。这种指示可以是图像或视频译码的一部分。通常,经编码图像或视频的码流包括图像或视频尺寸的指示。
[0274]
图29示出了一种示例性实现方式。类似于图17所示的示例,对于具有亮度分量和分辨率小于亮度分量的分辨率的色度分量(因此相对于亮度分量进行“子采样”)的图像部分,执行亮度下采样(上分支)2910和色度上采样(下分支)2920的采样处理。上分支和下分支的大小相等的亮度和色度分量分别输入到vae。两个vae计算其相应的亮度和色度输入的成本,该成本可以基于码率和失真(rdo)2930。根据哪种成本较低,选择相应的图像处理。根据所选图像处理生成码流。在本示例性实现方式中,与图17的不同之处在于将选择指示符(例如标志)编码到码流中。然后,解码器可以根据码流,例如根据编码到码流中的亮度的宽度和高度,确定要执行的图像处理。或者或另外,在码流中指示的其它参数,例如用于译码
目的的参数,可以用于在解码器侧推导待应用的处理(亮度上采样或色度下采样)。这些参数可以在编码器和解码器侧预定义和已知,以便编码器和解码器一致地使用这些参数来选择处理。
[0275]
根据本发明的一个实施例,提供了一种用于从码流中重建图像部分的方法。这种方法可以应用于解码端。如上文参考第一实施例所述,所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。所述图像部分是指图像(image/picture)中的一定数量样本,所述数量小于所述图像中的样本总数。所述图像部分还可以包括所述图像中的所有样本。所述图像可以静止图像或视频(图像序列)。所述图像部分可以包括一个或多个色度分量。例如,亮度和色度格式yuv420中的图像部分包括两个色度分量u和v(还称为色度通道)。色度分辨率可能小于亮度通道的分辨率(在图像部分或整个图像中)。图像部分中的亮度和色度分量通常是空间相关的,因为它们参考同一图像区域。
[0276]
所述方法在图32中示出,并包括步骤s3210:从所述码流中解码分辨率相同的亮度分量和色度分量。如上所述,分辨率可以通过二维(two-dimension,2d)亮度通道的大小(即尺寸)给出。所述从码流中解码所述经处理的图像部分可以由变分自动编码器(variational autoencoder,vae)等自动编码器执行。本领域已知vae可以高效执行与图像编码和解码相关的任务,而且在所需码率与重建图像的质量之间实现良好的平衡。但是,本发明并不限于使用自动编码器。通常,可以应用任何编码器,包括例如,仅对一些解码器操作或功能使用经训练的网络(例如,ann或任何基于ml/dl的网络)的编码器。
[0277]
所述方法还包括步骤s3220:根据所述码流确定以下之一作为图像处理:
[0278]

对所述经解码的亮度分量进行上采样,并获取包括所述经解码的色度分量和所述上采样亮度分量的重建图像部分;
[0279]

对所述经解码的色度分量进行下采样,并获取包括所述经解码的亮度分量和所述下采样色度分量的重建图像部分。
[0280]
可以通过从码流中解析用于指示待应用的处理的选择指示符来进行确定。但是,如上所述,在一些实施例中,不一定要显式指示选择指示。相反,可以从码流中与经编码图像或视频数据相关的其它参数中推导出。
[0281]
此外,所述方法包括步骤s3230:根据所述确定的图像处理获取所述图像部分。因此,编码到码流中的图像部分可以由相同类型的经训练的网络的解码器部分处理,例如图2所示的vae,因为经编码的亮度分量和色度分量具有相同大小。此外,确定图像处理为亮度上采样和色度下采样之一在任何一种情况下都提供调整大小后的亮度分量或色度分量,使得它们具有对应于输入用于编码的分量(原始图像分量)的不同大小。这表示图像部分被重建为其原始颜色格式,其中,色度的分辨率小于色度。因此,无论确定哪一种图像处理,经编码的大小相等的亮度和色度通道都可以在通用vae框架内处理。此外,图像处理的确定可以在亮度上采样和色度下采样之间进行适应性切换。这确保可以在任何一种情况下都重建具有原始颜色格式的图像部分。因此,适应性切换可以根据一些优化标准(例如rdo等)选择低分辨率或高分辨率图像处理。
[0282]
图18示出了解码端及其操作。参考图17的示例,其中,采样模式通过编码到码流中的标志(指示符)指示,该标志是解码端从码流中解析出来的。根据功能块1840中的标志的值(即是否表示编码段的下转换(亮度)或上转换(色度)),在相应的上分支和下分支中,亮
度被上转换1810或色度被下转换1820。这表示,根据标志的指示,输入码流中的亮度和色度分量具有原始经译码图像中的一个或多个色度的大小或亮度的大小。在这两种情况下,相应的上采样和/或下采样处理可以通过大小转换处理执行,并提供原始格式中的重建帧作为输出。但是,如图18所示,上分支1810执行亮度上采样,下分支1820执行色度分量(u和/或v)下采样。相应的大小转换可以由相应的大小转换网络执行。与图17的情况一样,通过经编码标志指示采样模式是支持解码器确定执行哪一种采用模式来重建原始图像部分的示例。如何在解码端确定要执行的采样模式的各种方法可以通过以下论述的其它方式执行。此外,需要说明的是,在这些示例中,调整大小后的颜色分量(通道)与原始经译码图像的大小匹配。但是,这并不限制本发明。对于一些应用,提供尺寸与原始经译码图像的尺寸不同的颜色分量可能是有益的。
[0283]
在一个实现示例中,上采样和/或下采样由经训练的网络执行。编码端的经训练的网络可以是任何类型的适合进行下采样或上采样的网络。例如,这包括人工神经网络(artificial neural network,ann),例如神经网络、卷积神经网络(convolutional neural network,cnn)等。解码器处的经训练的网络可以是根据期望分辨率调整输入到该网络的通道的大小的任何大小调整网络。结果是尺寸(大小)互不相同的信道,例如,尺寸与原始经编码图像的尺寸或其它期望尺寸不同的通道。
[0284]
图21和图22示出了在颜色格式为yuv444情况下,解码端的大小转换网络的实现示例。亮度分量和色度分量u和v具有不同大小。图21示出了执行亮度上采样的大小转换网络(对应于1810的上分支)。图22(对应于1820)示出了对两个色度u和v执行下采样的大小转换网络。在本示例中,相应的层可以视为卷积神经网络中的层。
[0285]
参考图5,图21和图22所示的卷积网络层以类似的方式定义。因此,相同的术语和/或表示法在此也适用。如图21和图22所述,待从码流中解码的图像部分的输入颜色格式为yuv444。这表示从码流中解码的亮度和色度分量具有相同大小(即分辨率)。
[0286]
亮度处理(图18中的上分支1810和图21):用于亮度处理的大小转换网络包括一系列卷积层加上激活层对conv.n
×k×
k,act.。大小转换网络由最后一层终止(即卷积层conv.1
×k×
k/2

),这一层在水平和垂直方向都按因子2对亮度分量进行上采样。输出是一个通道,即大小与原始亮度相同的重建亮度分量。
[0287]
色度处理(图18中的下分支1820和图22):用于色度处理的大小转换网络类似地包括一系列卷积层加上激活层conv.n
×k×
k.act.。大小转换网络由最后一层终止(即卷积层conv.2
×k×
k/2

),这一层在水平和垂直方向都按因子2对两个色度分量进行下采样。输出是两个通道,即大小与其原始色度分量相同的两个重建色度分量。需要说明的是,在这种情况下,亮度分量得以保留,具有第一实施例中论述的所有优点。
[0288]
由于解码端的大小转换网络的输入亮度和色度分量具有相同的分辨率(即大小),因此这些分量可以在现有的相同框架(例如具有相同输入大小的ann架构)内高效处理。因此,可以使用与应用于亮度相同的网络架构重建具有一个或多个子采样色度的任何颜色格式的图像部分。因此,还能够在处理不同分量(通道)时保留跨分量相关性信息。
[0289]
在第一实施例中,描述了解码端的色度下采样可以使用亮度分量作为边信息。这可以与上述第二实施例的一个或多个色度分量的处理组合。此外,同样的流程也可以应用于解码端对亮度的上采样,因为色度用作边信息。
[0290]
图24针对解码端进一步说明了这一点,示出了与图18中类似的解码器结构以及图像部分的图像处理的选择可以通过编码到经编码码流中的标志(指示符)指示的示例性情况。如图24所示,与图18的示意图的不同之处在于亮度上采样(上分支)使用关于色度分量u和v的信息。类似地,色度下采样(下分支)使用关于亮度y的信息。否则,亮度和一个或多个色度的相应采样处理以与上文参考图18论述的相同方式执行。
[0291]
因此,无论是否执行亮度上采样和/或色度下采样,在任何一种情况下,跨分量信息都用于相应的采样。这表示亮度与一个或多个色度之间的相关性可以用于重建通道。同样的方法可以应用于其它颜色空间中的通道,或者通常应用于不限于颜色通道的任何通道,例如深度或运动或与图像相关的其它附加信息。
[0292]
图27和图28分别示出了解码端的亮度上采样和色度下采样的大小转换网络的示例性实现方式。如图27和图28所示,大小转换网络在它们的卷积层和激活层的排列顺序方面的设计与图21和图22所示的设计相同。对于图27的情况,不同之处在于色度分量u和v与下采样亮度一起直接输入到第一卷积层conv.n
×k×
k,act.。类似地,对于图28的情况,亮度与上采样色度分量u和v一起直接输入到第一卷积层conv.n
×k×
k,act.。
[0293]
这表示,对于解码端,大小转换网络中的第一处理层与编码端相反可能不需要执行加法操作,其中,这种操作可以如图25和图26所示执行。编码器侧的大小均衡网络中的组合(连接或联合处理)是为了使用跨分量相关性。在解码端不需要这种处理的相反处理,因为解码器的大小转换网络中的第一层的输入(包括亮度分量和色度分量)已经具有如图24所示在编码器侧获得的相同大小。
[0294]
如上所述,在解码端执行哪一种图像处理可以通过各种方式确定。下文对此进行讨论。
[0295]
在一种示例性实现方式中,确定待应用的处理还包括:从所述码流中解码指示图像处理的选择指示符;将通过所述选择指示符指示的处理确定为所述图像处理。这样可以高效指示图像处理。相应地,解码端可以根据码流中包括的简单指示符快速确定编码端已经使用的图像处理(即亮度下采样或色度上采样)。上文参考编码端描述了选择指示符。如上所述,选择指示符可以是至少可以取第一值和第二值的指示符,其中,第一值表示亮度的上采样(在解码端,这对应于编码端的亮度的下采样),第二值表示一个或多个色度的下采样(在解码端,对应于编码端的一个或多个色度的上采样)。需要说明的是,选择指示符通常可以取两个以上值中的一个。例如,选择指示符可以取第三值和/或第四值,其中,第三值表示不执行大小调整,第四值表示要调整多个分量的大小或者甚至进一步指定调整大小的方式(按何种比例或调整到哪种期望分辨率)。这适用于编码端和解码端,因为编码器和解码器对选择指示符具有相同的理解(解释或语义)。另一方面,提供只能取两个值(第一值和第二值)中的一个值的1比特标志(指示符)可能是高效的,因为它不会引入额外的高指示开销。
[0296]
解码端操作如图18所示。如上所述,解码器接收具有相同大小的亮度和色度分量的码流。该码流由编码端的图像处理产生。在选择指示符(标志,例如rdo)编码到码流中的情况下,解码器解析码流并根据选择指示符确定要执行哪种图像处理。然后,如果标志表示亮度在编码端已经经过下采样,则解码器对亮度分量执行上采样。相反,如果标志表示色度分量在编码端已经经过上采样,则解码器对色度分量执行下采样。在任何一种情况下,都会
重建其原始大小的图像部分。
[0297]
在一些实施例中,(除了或代替其它示例性实现方式)确定可以包括从码流中解码图像部分中的亮度分量的宽度w和/或高度h。这样可以根据图像部分中的亮度通道的宽度和高度确定图像处理。换句话说,携带图像部分的重要信息的通道被用作所述确定的参考。
[0298]
此外,根据一种示例性实现方式,所述确定还可以包括确定所述宽度和高度是否与所述经解码的亮度分量的相应宽度和高度相同。如果确定w和h与和相同,则对所述经解码的色度分量进行下采样。在这里,“相同”表示w和h以及相应的和具有相同的尺寸,例如在宽度方向(即沿水平x方向)和高度方向(即沿垂直y方向)上的样本数相同。换句话说,w和h都与相应的宽度和高度匹配。在这种示例性情况下,色度在编码端已经进行了上采样(高分辨率结果)。但是,如上所述,匹配也可以通过在编码器侧对亮度进行下采样来实现。然后,解码器执行相反操作,例如,对亮度进行上采样或对色度进行下采样,以获得图像在编码前的原始分辨率。通过根据宽度和高度推导待应用的处理,可以通过排除显式选择指示符来降低速率。图像或图像部分的宽度和高度通常已经在用于配置图像或图像部分的编码/解码的参数集内指示。
[0299]
需要说明的是,编码端和解码端对图像部分的这种图像处理,即色度上采样(编码器)和色度下采样(解码器)就采样处理(上采样/下采样)而言对应于第一实施例的处理。
[0300]
在上述示例中,如果原始图像的w和h分别与从码流中解码的图像的和不匹配,则对色度进行下采样,因为假设编码器对色度进行了上采样。这可能是默认功能。
[0301]
但是,本发明并不限于此。默认功能可以包括在解码端对亮度进行上采样,假设编码器对亮度进行了下采样。
[0302]
因此,如果确定w和h中的任一个与和/或不相同,则对所述经解码的亮度分量进行上采样。在这里,“不相同”表示w和/或h以及相应的和/或在宽度方向(即沿水平x方向)和/或高度方向(即沿垂直y方向)上具有不同的样本数。换句话说,w和h中的任一个与相应的宽度和/或高度不对应。在这种情况下,亮度在编码端已经进行了下采样(低分辨率结果)。
[0303]
因此,通过将亮度的w和h与经解码亮度的相应宽度和高度进行简单比较,可以很容易地在编码端确定图像处理。关于(经解码)色度的信息可以不使用。这减少了在确定图像处理时的开销。
[0304]
需要说明的是,上述色度下采样或亮度上采样都可以适用于解码器。例如,解码器和编码器可以具有规则,根据该规则决定使用两种处理类型中的哪一种。该规则可以是基于一些条件的决策,这些条件取决于一些语法元素(编码参数),例如宽度和高度和/或质量参数或其它参数。
[0305]
在另一种示例性实现方式中,确定待应用的处理包括确定所述码流的大小s。大小s可以使用任何单位,例如比特、字节、字等。确定还包括从码流中解码图像部分的潜在表示
[0306]
其中,潜在表示具有宽度和/或高度此外,通过将码流的大小以及宽度和高度的函数与预定义的阈值t进行比较来确定图像处理。这样可以根据潜在表示来确
定图像处理。潜在表示可以基于特征图。因此,图像处理确定更准确,因为利用了潜在表示和特征图。根据一个实现示例,所述确定包括确定大小s与的比率是否等于或大于所述预定义阈值(这里的“*”是指乘法)。如果确定所述比率等于或大于所述预定义阈值,则对所述经解码的色度分量进行下采样。在这种情况下,色度在编码端已经进行了上采样(高分辨率结果)。需要说明的是,编码端和解码端对图像部分的这种图像处理,即色度上采样(编码器)和色度下采样(解码器)就采样处理(上采样/下采样)而言可以对应于第一实施例的处理。
[0307]
如果待应用的处理的确定结果是比率小于预定义阈值,则在一种示例性实现方式中,对所述经解码的亮度分量进行上采样。在这种情况下,亮度在编码端已经进行了下采样(低分辨率结果)。
[0308]
因此,通过简单地对码流的大小与潜在空间的大小的比率设定阈值,可以很容易在编码端确定图像处理。这使图像处理更高效和快速地确定,因为只使用码流和潜在空间。这样进一步降低了确定图像处理时的开销。
[0309]
这在图30中示出。在这种情况下,解码器根据码流确定待执行的图像处理。例如,所述确定可以由分析码流的决策模块执行。例如,当图像部分中的亮度分量的宽度w和高度h被编码到码流中时,解码器从码流中解析w和h。此外,亮度分量和色度分量从码流中解码。因此,经解码的亮度分量的宽度和高度是已知的,或者可以在解码端确定。例如,
[0310][0311]
这也可以由决策模块执行。然后,所述模块将w和h与经解码的亮度分量的相应宽度和高度进行比较(例如,逐样本)。如果且则对经解码的色度分量进行下采样。否则,如果这些等式中的任何一个都不成立,则对经解码的亮度分量进行上采样。
[0312]
可选地或另外,确定模块可以根据码流的大小s和潜在空间表示确定图像处理。然后,决策模块可以使用比较函数和预定义阈值将大小s与宽度和/高度进行比较。例如,比较函数可以包括取比率并确定r是否等于或大于预定义阈值。
[0313]
如果是,即r≥t,则对经解码的色度分量进行下采样。在这种情况下,色度在编码端已经进行了上采样(高分辨率结果)。如果否(即r》t),则对经解码的亮度分量进行上采样。在这种情况下,亮度在编码端已经进行了下采样(低分辨率结果)。根据一个实现示例,确定包括从码流中解码潜在表示此外,将图像处理被确定以经解码的潜在表示作为输入的分类神经网络的输出。输出是第一类别和第二类别中的一种,第一类别表示经解码的亮度分量的上采样,第二类别表示经解码的色度分量的下采样。这样可以通过神经网络使用分类灵活地执行图像处理确定。此外,可以与特征分类相结合用于所述确定,因此可以更准确地确定图像处理。此外,解码端的上采样或下采样可以在不从码流中解析任何边信息的情况下执行,这降低了码率成本。
[0314]
这种基于神经网络的确定也可以由决策模块执行,在这种情况下,所述模块根据分类结果确定图像处理。例如,分类可以通过残差神经网络(residual neural network,resnet)使用重建潜在空间作为输入来执行。采样处理,即编码端的色度上采样和解码端的色度下采样,可以提供与第一实施例中已经论述的类似方式执行。为了完整性重复此操
作。
[0315]
例如,色度上采样(编码端)可以包括在色度分量的每n排样本之后插入一排样本。在这里,排是指行和/或列,n是等于或大于1的整数。例如,这表示在每一(n=1)或两(n=2)行和/或列之后,可以插入所述一排样本。这样可以通过在特定行和/或列插入已排样本来进一步调整色度上采样。类似的处理可以应用于解码端的亮度。
[0316]
或者,色度上采样(编码端)可以包括在色度分量的每n排样本之后插入一排值为0的样本。这可以称为零填充。这是一种简单的上采样方式,只需将相应的一排样本设置为0。因此,不需要更多的指示和/或处理开销。类似的处理可以应用于解码端的亮度。
[0317]
这在图9中例示,图9示出了上采样色度的4
×
4样本。实心圆形符号是指原始色度的样本。空心圆圈是指具有0值的样本。在本示例中,0值样本是在色度分量的第一行和第一列之后插入的。此外,在本示例中,大小均衡网络简化为单层网络(m=1),在图5的“加法”操作之后没有其它层。在图9(编码端)中,u和v的上采样简化为在颜色格式为yuv420的情况下在每行和每列中填充0。在yuv422格式的情况下,0的填充是针对每列的。在这种情况下,网络不是卷积神经网络,但是可以理解为全连接神经网络(fully-connected neural network,fcnn)中的一层。因此,这一网络本身不是可训练的,但是可以与vae结构联合训练,以获得更好的译码性能。因此,相应的fcnn也可以指经训练的网络。
[0318]
在另一种实现方式中,色度上采样可以通过在色度分量的每n排样本之后插入值等于色度分量中相应的最邻近样本的一排样本来执行。例如,可以通过将色度值复制到相应的相邻样本中来插入值。与上述零填充的情况一样,这可以通过在特定行和/或列插入一排样本来进一步调整色度上采样。此外,使用参考色度的最邻近样本插入的一排样本的值,色度上采样的精度更高,因为使用了参考原始色度的相邻信息(由相邻色度样本值表示)。
[0319]
这在图11中例示,图11示出了上采样色度的4
×
4样本。同样,实心圆形符号是指原始色度的样本。空心圆圈是指值与相应的色度相邻样本一致的样本。在图11中,将色度值插入到相应的相邻样本中由箭头表示。在本示例中,样本值是在色度分量的第一行和第一列之后插入的。此外,在本示例中,大小均衡网络简化为单层网络(m=1),在图5的“加法”操作之后没有其它层。在图11(编码端)中,u和v的上采样简化为每行和每列中的最邻近样本上采样,如图11中的yuv420格式所示。在yuv422格式的情况下,最邻近样本上采样是针对每列的。在上述色度上采样示例中,网络不是卷积神经网络,但是可以理解为全连接网络中的一层。因此,这一网络本身不是可训练的,但是可以与vae结构联合训练,以获得更好的译码性能。因此,相应的fcnn也可以指经训练的网络。
[0320]
但是,这仅仅是具有一层的用于大小均衡的经训练的网络的示例。本领域技术人员很清楚,大小均衡层可以具有多层,如图5和图7所示。在这种情况下,可以训练大小均衡网络执行色度上采样。
[0321]
同样,可以执行解码端对亮度进行上采样的图像处理,至少通过每n排填充一些附加样本。但是,通过使用插值滤波器执行亮度上采样可以是有利的,即将添加的亮度样本的值确定为相邻样本的函数,例如确定为平均值或加权平均值等。通过经训练的(经预训练的)网络(例如基于ml/cl的网络等)执行亮度上采样可以是有利的。
[0322]
例如,色度下采样(解码端)可以通过在中间色度分量的每n排样本之后移除一排样本来执行。在这里,排是行和/或列,n是等于或大于1的整数。例如,这表示在每一(n=1)
或两(n=2)行和/或列之后,可以移除(删除)所述一排(行和/或列)。因此,可以通过简单地移除相应的一排样本来快速执行中间色度的下采样。
[0323]
图10和图12示出了移除一排样本的示例。需要说明的是,图10和图12的样本配置分别对应于图9和图11的样本配置,从而在编码端对色度分量进行上采样处理。具体地,图10和图12示出了中间色度的4
×
4样本。实心圆形符号是指原始色度的样本。交叉空心圆圈是指可以为非0值的样本,是编码端的大小均衡网络进行色度上采样处理(使用和不使用亮度作为边信息)和/或解码端的大小转换网络的一个或多个第一层进行色度处理。
[0324]
在图10和图12所示的示例中,大小转换网络简化为单层网络(m=1)。在图10和图12(解码端)中,简化了u和v的下采样,以便在颜色格式为yuv420的情况下丢弃奇数行和奇数列样本。对于yuv422,移除奇数列样本。在图10和图12所示的这些情况中的任何一种情况下,相应网络不是卷积神经网络,但是可以理解为全连接神经网络(fully-connected neural network,fcnn)中的一层。因此,在该示例中,这一网络本身是不可训练的,但是可以与vae结构联合训练,以获得更好的译码性能。因此,相应的fcnn也可以指经训练的网络。
[0325]
但是,这仅仅是用于大小转换的具有一层的经训练的网络的示例。本领域技术人员很清楚,大小转换层可以具有多层,如图6和图8所示。在这种情况下,可以训练大小转换网络执行色度上采样。
[0326]
需要说明的是,图5所示的编码端的大小均衡网络和图6所示的解码端的大小转换网络可以与vae结构联合训练。这可以进一步改善子采样色度分量的编码和解码处理,特别是在vae框架内。例如,这包括编码和解码性能和/或重建图像(picture/image)的质量。
[0327]
或者,这些网络可以单独训练并用作经预训练的vae网络。在任何一种情况下,相应的网络都是指经训练的网络或经预训练的网络。同样,可以执行编码端对亮度进行下采样的图像处理。通常,训练可以事先执行,即在网络在推理阶段用于编码、上采样、解码等之前执行。
[0328]
此外,如上所述,本发明还提供了用于执行上述方法的步骤的设备。
[0329]
图33示出了用于对图像部分进行编码的编码器3300。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。所述编码器包括:选择模块3310,用于选择以下之一作为所述图像部分的图像处理:对所述亮度分量进行下采样,以获得分辨率与所述色度分量的分辨率匹配的下采样亮度分量;对所述色度分量进行上采样,以获得分辨率与所述亮度分量的分辨率匹配的上采样色度分量。此外,所述编码器包括处理模块3320,用于根据所选图像处理对所述图像部分进行处理。所述编码器还包括生成模块3330,用于根据所选图像处理生成码流,其中,所述生成包括对所述经处理的图像部分进行编码。
[0330]
在一个实现示例中,所述编码器可以包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述编码器用于执行上述方法。
[0331]
图34示出了用于从码流中重建图像部分的解码器3400。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。所述解码器包括解码模块3410,用于从所述码流中解码分辨率相同的亮度分量和色度分量。此外,所述解码器包括确定模块3420,用于根据所述码流确定以下之一作为图像处理:对所述经解码的亮度分
量进行上采样,并获取包括所述经解码的色度分量和所述上采样亮度分量的重建图像部分;对所述经解码的色度分量进行下采样,并获取包括所述经解码的亮度分量和所述下采样色度分量的重建图像部分。所述解码器还包括获取模块3430,用于根据所述确定的图像处理获取所述图像部分。
[0332]
在一个实现示例中,所述解码器可以包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述解码器用于执行上述方法。
[0333]
根据本发明的一个实施例,提供了一种存储在非瞬时性介质中的计算机程序。所述计算机程序包括代码,当所述代码在一个或多个处理器上执行时,执行任一上述方法的步骤。
[0334]
本发明的一些实施例可以提供优点,这些优点可以总结如下:
[0335]
·
亮度样本信息得以完全保留。
[0336]
·
亮度空间信息得以完全保留。
[0337]
·
大小均衡cnn和大小转换cnn可以与vae网络结构联合训练。联合训练可以进一步改善结果。或者,大小均衡cnn和大小转换cnn也可以与vae分开训练。
[0338]
·
其它类型的色度子采样格式(例如yuv422)可以由vae网络结构处理。
[0339]
·
跨分量亮度和色度信息得以保留。
[0340]
·
在实现低分辨率以降低码率的亮度下采样和实现高分辨率以保留亮度信息的色度上采样之间进行适应性切换。
[0341]
硬件和软件中的一些示例性实现方式
[0342]
图35示出了可以部署上述编码器和解码器处理链的对应系统。图35为示例性译码系统的示意框图,该示例性译码系统可以是利用本技术中技术的视频、图像、音频和/或其它译码系统(或简称为译码系统)等。视频译码系统10中的视频编码器20(或简称为编码器20)和视频解码器30(或简称为解码器30)表示两个示例,即可以用于根据本技术中描述的各种示例执行各技术的设备。例如,视频编码和解码可以使用神经网络,例如图2a至图2c所示的神经网络,该神经网络可以是分布式的并且可以包括上述在色度上采样之前(第一实施例)或评估是对色度上采样还是对亮度下采样之前编码的码流(第二实施例)。
[0343]
如图35所示,译码系统10包括源设备12,源设备12用于将经编码图像数据21提供给目的地设备14等,以对经编码图像数据21进行解码。
[0344]
源设备12包括编码器20,并且可以另外(即可选地)包括图像源16、预处理器(或预处理单元)18(例如图像预处理器18)和通信接口或通信单元22。
[0345]
需要说明的是,本发明的第一和第二实施例和以及上述与编码有关的示例性实现方式可以作为编码器20的一部分执行。但是,还可以考虑这些实施例是由预处理器18执行的。类似地,在解码端,本发明的第一和第二实施例以及上述与解码有关的示例性实现方式可以作为解码器30的一部分执行。但是,还可以考虑执行这些实施例是由后处理器32执行的。
[0346]
图像源16可以包括或者可以是任何类型的用于捕获真实世界图像等的图像捕获设备;和/或任何类型的图像生成设备(例如用于生成计算机动画图像的计算机图形处理器);或者任何类型的用于获取和/或提供真实世界图像、计算机动画图像(例如屏幕内容、
虚拟现实(virtual reality,vr)图像)和/或其任何组合(例如,增强现实(augmented reality,ar)图像)的设备。图像源可以为任何类型的存储任一上述图像的存储器(memory/storage)。
[0347]
为了区分预处理器18和预处理单元18执行的处理,图像或图像数据17还可以称为原始图像或原始图像数据17。
[0348]
预处理器18用于接收(原始)图像数据17并对图像数据17执行预处理,得到预处理图像19或预处理图像数据19。预处理器18执行的预处理可以包括修剪(trimming)、颜色格式转换(例如从rgb转换为ycbcr)、调色或去噪等。可以理解的是,预处理单元18可以为可选组件。需要说明的是,预处理还可以使用神经网络(例如在图1至图7中的任一个中)。如上所述,预处理可以包括神经网络(经训练的网络)对色度上采样(第一实施例和/或第二实施例)或对亮度下采样(第二实施例)的处理。
[0349]
视频编码器20用于接收预处理图像数据19并提供经编码图像数据21。
[0350]
源设备12中的通信接口22可以用于接收经编码图像数据21,并通过通信通道13将经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据)发送给另一设备(例如目的地设备14)或任何其它设备,以便进行存储或直接重建。
[0351]
目的地设备14包括解码器30(例如视频解码器30),并且可以另外(即可选地)包括通信接口或通信单元28、后处理器32(或后处理单元32)和显示设备34。
[0352]
目的地设备14中的通信接口28用于(例如)直接从源设备12或从存储设备(例如经编码图像数据存储设备)等任何其它源,接收经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据),并将经编码图像数据21提供给解码器30。
[0353]
通信接口22和通信接口28可以用于经由源设备12与目的地设备14之间的直接通信链路(例如直接有线或无线连接)或者经由任何类型的网络(例如有线网络、无线网络或其任何组合,或者任何类型的私网和公网或其任何类型的组合)发送或接收经编码图像数据21或经编码数据21。
[0354]
例如,通信接口22可以用于将经编码图像数据21封装成合适的格式(例如数据包),和/或通过任何类型的传输编码或处理方式来处理经编码图像数据,以便通过通信链路或通信网络进行传输。
[0355]
例如,与通信接口22对应的通信接口28可以用于接收传输数据,并通过任何类型的对应传输解码或处理和/或解封装方式对传输数据进行处理,得到经编码图像数据21。
[0356]
通信接口22和通信接口28都可以配置为图35中从源设备12指向目的地设备14的通信信道13的箭头所表示的单向通信接口,或者配置为双向通信接口,并且可以用于发送和接收消息等,以建立连接、确认并交换与通信链路和/或数据传输(例如经编码图像数据传输)相关的任何其它信息,等等。解码器30用于接收经编码图像数据21并提供经解码图像数据31或经解码图像31(例如,使用基于图1至图7中的一个或多个的神经网络)。
[0357]
目的地设备14中的后处理器32用于对经解码图像数据31(也称为重建图像数据)(例如经解码图像31)进行后处理,得到后处理图像数据33(例如后处理图像33)。后处理单元32执行的后处理可以包括,例如颜色格式转换(例如从ycbcr转换为rgb)、调色、修剪(trimming)或重采样,或者任何其它处理,以便提供经解码图像数据31由显示设备34等显示,等等。
[0358]
目的地设备14中的显示设备34用于接收后处理图像数据33,以便向用户或观看者等显示图像。显示设备34可以为或者可以包括任何类型的用于表示重建图像的显示器,例如集成或外部显示器或显示屏。例如,显示器可以包括液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light emitting diode,oled)显示器、等离子显示器、投影仪、微型led显示器、硅基液晶(liquid crystal on silicon,lcos)显示器、数字光处理器(digital light processor,dlp)或任何类型的其它显示器。
[0359]
虽然图35示出了源设备12和目的地设备14作为单独的设备,但是设备的实施例还可以同时包括两种设备或两种功能、源设备12或对应功能以及目的地设备14或对应功能。在这些实施例中,源设备12或对应功能以及目的地设备14或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任何组合来实现。
[0360]
根据描述,图35所示的源设备12和/或目的地设备14中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而有所不同,这对技术人员来说是显而易见的。
[0361]
编码器20(例如视频编码器20)或解码器30(例如视频解码器30)或者或编码器20和解码器30两者可以通过处理电路来实现,例如一个或多个微处理器、一个或多个数字信号处理器(digital signal processor,dsp)、一个或多个专用集成电路(application-specific integrated circuit,asic)、一个或多个现场可编程门阵列(field-programmable gate array,fpga)、一个或多个离散逻辑、一个或多个硬件、一个或多个视频译码专用处理器或其任意组合。编码器20可以通过处理电路46实现,以体现包括神经网络的各种模块,例如图2a至图2c中任一个所示的神经网络或其部分。解码器30可以由处理电路46实现,以体现结合图2a至图2c论述的各种模块和/或本文描述的任何其它解码器系统或子系统。处理电路可以用于执行下文描述的各种操作。如果上述技术部分在软件中实现,则一种设备可以将该软件的指令存储在合适的非瞬时性计算机可读存储介质中,并且可以使用一个或多个处理器在硬件中执行这些指令,以执行本发明中的技术。视频编码器20或视频解码器30可以作为组合编码器/解码器(编解码器)的一部分集成在单个设备中,如图36所示。
[0362]
源设备12和目的地设备14可以包括多种设备中的任一种,包括任何类型的手持或固定设备,例如,笔记本电脑或膝上型电脑、手机、智能手机、平板或平板电脑、摄像机、台式电脑、机顶盒、电视、显示设备、数字媒体播放器、视频游戏机、视频流设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并且可以不使用或使用任何类型的操作系统。在一些情况下,源设备12和目的地设备14可以用于无线通信。因此,源设备12和目的地设备14可以是无线通信设备。
[0363]
在一些情况下,图35所示的视频译码系统10仅仅是示例性的,本技术中的技术可以适用于不一定包括编码设备与解码设备之间的任何数据通信的视频译码设置(例如视频编码或视频解码)。在其它示例中,数据从本地存储器中检索,通过网络传输,等等。视频编码设备可以对数据进行编码并将数据存储到存储器中,和/或视频解码设备可以从存储器检索数据并对数据进行解码。在一些示例中,编码和解码由相互不通信而只是将数据编码到存储器和/或从存储器检索数据并对数据进行解码的设备来执行。
[0364]
图37为本发明一个实施例提供的视频译码设备1000的示意图。视频译码设备1000适用于实现本文描述的公开实施例。在一个实施例中,译码设备1000可以是解码器(例如图
35中的视频解码器30)或编码器(例如图35中的视频编码器20)
[0365]
视频译码设备1000包括:用于接收数据的入端口1010(或输入端口1010)和接收单元(rx)1020;用于处理数据的处理器、逻辑单元或中央处理单元(central processing unit,cpu)1030;用于发送数据的发送单元(tx)1040和出端口1050(或输出端口1050);用于存储数据的存储器1060。视频译码设备1000还可以包括与入端口1010、接收单元1020、发送单元1040和出端口1050耦合的光电(optical-to-electrical,oe)组件和电光(electrical-to-optical,eo)组件,用于光信号或电信号的出入。
[0366]
处理器1030通过硬件和软件实现。处理器1030可以实现为一个或多个cpu芯片、一个或多个核(例如多核处理器)、一个或多个fpga、一个或多个asic和一个或多个dsp。处理器1030与入端口1010、接收单元1020、发送单元1040、出端口1050和存储器1060通信。处理器1030包括译码模块1070。译码模块1070实现上文描述的公开实施例。例如,译码模块1070执行、处理、准备或提供各种译码操作。因此,将译码模块1070包含在内为视频译码设备1000的功能得到了实质性的改进,并且影响了视频译码设备1000到不同状态的转换。或者,以存储在存储器1060中并由处理器1030执行的指令来实现译码模块1070。
[0367]
存储器1060可以包括一个或多个磁盘、一个或多个磁带机或一个或多个固态硬盘,并且可以用作溢出数据存储设备,以在选择程序来执行时存储这些程序以及存储在执行程序过程中读取的指令和数据。例如,存储器1060可以是易失性的和/或非易失性的,可以是只读存储器(read-only memory,rom)、随机存取存储器(random-access memory,ram)、三态内容寻址存储器(ternary content-addressable memory,tcam)和/或静态随机存取存储器(static random-access memory,sram)。
[0368]
图38为一个示例性实施例提供的装置800的简化框图。装置800可以用作图35的源设备12和目的地设备14中的任一个或两个。
[0369]
装置1100中的处理器1102可以是中央处理单元。或者,处理器1102可以是现有的或今后将开发出的能够操控或处理信息的任何其它类型的设备或多个设备。虽然可以使用如图所示的处理器1102等单个处理器来实施所公开的实现方式,但使用多个处理器可以提高速度和效率。
[0370]
在一种实现方式中,装置1100中的存储器1104可以是只读存储器(read only memory,rom)设备或随机存取存储器(random access memory,ram)设备。任何其它合适类型的存储设备都可以用作存储器1104。存储器1104可以包括处理器1102通过总线1112访问的代码和数据1106。存储器1104还可包括操作系统1108和应用程序1110,应用程序1110包括至少一个程序,这个程序使得处理器1102执行本文所述方法。例如,应用程序1110可以包括应用1至n,还可以包括执行本文所述方法的视频译码应用。
[0371]
装置1100还可以包括一个或多个输出设备,例如显示器1118。在一个示例中,显示器1118可以是将显示器与触敏元件组合的触敏显示器,该触敏元件能够用于感测触摸输入。显示器1118可以通过总线1112与处理器1102耦合。
[0372]
虽然装置1100的总线1112在本文中描述为单个总线,但是可以包括多个总线。此外,辅助存储器可以直接与装置1100中的其它组件耦合或可以通过网络访问,并且可以包括单个集成单元(例如一个存储卡)或多个单元(例如多个存储卡)。因此,装置1100可以通过多种配置实现。
[0373]
一些示例性实施例的概述
[0374]
本发明的一些实施例提供了对包括亮度分量和下采样色度分量作为输入的图像部分进行编码和解码的方法和装置。因此,对色度分量进行上采样以匹配亮度分量,然后经训练的网络对具有匹配大小的分量进行编码。这可以使编码和解码更高效,因为可以使用具有类似设计(输入尺寸、分辨率)的经训练的网络。亮度与色度之间的空间相关性也可以通过这种方式保留。
[0375]
根据本发明的一个方面,提供了一种用于对图像部分进行编码的方法。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述方法包括:对所述色度分量进行上采样,以获得分辨率与所述亮度分量的所述分辨率匹配的上采样色度分量;将所述亮度分量和所述上采样色度分量编码到码流中。
[0376]
这提供了大小相等的亮度和色度输出作为输出。因此,所述输出则可以由具有类似结构(特别是相同输入分辨率)的经训练的网络(例如在机器学习框架内)进行处理。如果所有颜色分量的分辨率都相同,则机器学习框架能够在所有样本位置上以相同的方式利用颜色互相关。在该过程中,亮度通道可以保持不受影响,在这种情况下,不存在质量损失。
[0377]
在一些示例性实现方式中,所述对色度分量进行上采样基于所述亮度分量的样本。这杨可以根据亮度分量的内容进行上采样。
[0378]
根据所述方法的一种示例性实现方式,所述上采样还包括通过经训练的网络对所述色度分量进行处理。基于经训练的网络的译码可以提高性能,这要归功于可以使用所需数据训练这种网络。
[0379]
在一种实现方式示例中,通过经训练的网络进行处理包括向经训练的网络输入亮度分量和色度分量,并从经训练的网络输出上采样色度分量。使用亮度分量作为经训练的网络的输入可以保留亮度和色度通道之间的跨分量信息。
[0380]
根据一个示例,经训练的网络包括至少两个处理层,至少两个处理层中的第一层根据输入色度分量执行上采样,至少两个处理层中的第二层对所述第一层的输出和亮度分量执行处理。组合处理可以改善亮度与色度之间的相关性的使用,并可以对多个分量使用通用网络设计。
[0381]
在所述方法的一种实现方式示例中,对第一层的输出和亮度分量进行处理包括将亮度分量和上采样色度分量逐元素相加。因此,可以高效地执行使用亮度作为边信息的色度上采样,因为亮度包含更多的信息,例如关于对象形状的信息。另外,原始分辨率较高的亮度中可能存在的细节可以在原始子采样色度中恢复。
[0382]
在一个示例中,上采样包括在色度分量的每n排样本之后插入一排样本,其中,排为行和/或列,n为等于或大于1的整数。该示例性实现方式可以通过在每两行或每两列中插入某个预定义值实现简单有效的上采样。
[0383]
根据一个示例,上采样包括在色度分量的每n排样本之后插入一排值为0的样本,其中,排为行和/或列,n为等于或大于1的整数。这是一种简单的上采样方式,只需将相应的一排样本设置为0。
[0384]
根据所述方法的另一个实现方式示例,上采样包括在色度分量的每n排样本之后插入值等于色度分量中相应的最邻近样本的一排样本,其中,排为行和/或列,n为等于或大于1的整数。这样可以通过考虑特定行和/或列中的相邻样本的内容来进一步调整色度上采
样。此外,使用参考色度的最邻近样本插入的一排样本的值可以提高色度上采样的精度,因为使用了参考原始色度的相邻信息(由相邻色度样本值表示)。
[0385]
根据一个示例,编码由变分自动编码器(variational autoencoder,vae)执行。vae可以有利于高效执行与图像编码和解码相关的任务,而且在所需码率与重建图像的质量之间实现良好的平衡。
[0386]
根据本发明的一个方面,提供了一种用于从码流中解码图像部分的方法。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述方法包括:从码流中解码亮度分量和分辨率与所述色度分量的分辨率匹配的中间色度分量;对所述中间色度分量进行下采样,以获得所述图像部分中的所述色度分量。因此,可以根据中间色度分量重建原始色度分量(即子采样色度)。具体地,具有原始亮度和色度格式的图像部分可以高质量重建。因此,解码器能够提供色度格式中的重建图像部分作为输出,色度的分辨率(即大小)小于亮度的分辨率。此外,由于亮度没有被下采样,因此y的亮度信息和空间信息大部分得以保留。通常,通过相应编码方法的对应其它特征,解码端提供的优点可以类似于编码端提供的优点。
[0387]
根据一种示例性实现方式,下采样还包括通过经训练的网络对中间色度分量进行处理。通过提供基于上采样色度的码流,解码侧可以高质量和/或低速率重建图像(静止或视频图像)。经训练的网络可以提供适应性和高效的译码,从而在相同速率下提高质量或在相同质量下降低速率。
[0388]
例如,通过经训练的网络进行处理包括向经训练的网络输入中间色度分量,并从经训练的网络输出色度分量。因此,经训练的网络可以在亮度和色度的输入处设计有相似的分辨率,从而降低复杂度,并可以降低处理开销。例如,在一些实施例中,可能没有必要使用亮度作为边信息以恢复色度。
[0389]
根据所述方法的一个实现方式示例,经训练的网络包括至少两个处理层,其中,至少两个处理层中的第一层对输入中间色度分量执行处理;至少两个处理层中的第二层对第一层的输出执行下采样。该示例性网络架构可以根据使用上采样色度生成的码流获得原始分辨率。
[0390]
在另一个示例中,对中间色度分量进行下采样基于亮度分量的样本。因此,对色度通道进行下采样可以考虑亮度通道的内容。
[0391]
根据所述方法的一个实现方式示例,通过经训练的网络进行处理包括向经训练的网络输入亮度分量。
[0392]
例如,第一层对中间色度分量和亮度分量执行处理。因此,一个或多个亮度通道与色度通道之间的跨分量信息得以保留。
[0393]
在所述方法的另一个示例中,下采样包括在中间色度分量的每n排样本之后移除一排样本,其中,排为行和/或列,n为等于或大于1的整数。因此,可以通过简单地移除相应的一排样本来快速执行中间色度的下采样。
[0394]
例如,解码由变分自动编码器(variational autoencoder,vae)执行。因此,可以进行高效解码,而且在所需码率和/或重建图像的质量之间实现良好的平衡。
[0395]
根据本发明的一方面,提供了一种用于对图像部分进行编码的编码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述
编码器包括处理电路,所述处理电路用于执行上述编码方法的步骤。
[0396]
根据本发明的一方面,提供了一种用于从码流中重建图像部分的解码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述解码器包括处理电路,所述处理电路用于执行上述解码方法的步骤
[0397]
根据本发明的一方面,提供了一种存储在非瞬时性介质中的计算机程序。所述计算机程序包括代码,当所述代码在一个或多个处理器上执行时,执行任一上述方法的步骤。
[0398]
根据本发明的一方面,提供了一种用于对图像部分进行编码的编码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述编码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述一个或多个处理器执行所述程序时,所述编码器用于执行上述编码方法。
[0399]
根据本发明的一方面,提供了一种用于从码流中解码图像部分的解码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述解码器执行上述解码方法。
[0400]
根据本发明的一个方面,提供了一种用于对图像部分进行编码的编码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述编码器包括:上采样模块,用于对所述色度分量进行上采样,以获得分辨率与所述亮度分量的分辨率匹配的上采样色度分量;编码模块,将所述亮度分量和所述上采样色度分量编码到码流中。
[0401]
根据本发明的一个方面,提供了一种用于从码流中解码图像部分的解码器。所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述解码器包括:解码模块,用于从所述码流中解码所述亮度分量和分辨率与所述色度分量的分辨率匹配的中间色度分量;下采样模块,用于对所述中间色度分量进行下采样,以获得所述图像部分中的所述色度分量。
[0402]
这些实施例可以对具有亮度分量和上采样色度分量的图像部分进行高效编码和/或解码。换句话说,待编码和/或解码的图像部分可以具有不同的亮度和色度格式,即亮度通道和色度通道的大小不同。
[0403]
需要说明的是,本发明并不限于特定框架。此外,本发明并不限于图像或视频压缩,还可以应用于对象检测、图像生成和识别系统。
[0404]
本发明可以在硬件和/或软件中实现。
[0405]
为了清楚起见,任一上述实施例可以与上述其它任何一个或多个实施例组合以创建在本发明范围内的新实施例。
[0406]
总而言之,本发明涉及视频编码和解码,具体涉及在基于深度学习的视频(解码)编码中对色度子采样格式进行处理。对应的装置和方法能够对包括亮度分量和分辨率小于所述亮度分量的分辨率的色度分量的相应图像部分进行编码和解码处理。为了处理这些不同大小的亮度和色度通道,对色度分量进行上采样,使得获得的上采样色度分量具有与其中一个亮度分量的分辨率匹配的分辨率。然后,亮度分量和上采样色度分量被编码到码流
中。为了重建所述图像部分,从码流中解码亮度分量和分辨率与亮度分量的分辨率匹配的中间色度分量,然后对中间色度分量进行下采样。因此,子采样色度格式可以由自动编码器/自动解码器框架处理,同时保留亮度通道。
[0407]
此外,本发明涉及图像或视频编码和解码。图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。为了获得所述亮度分量和所述色度分量的匹配分辨率,在所述亮度分量的下采样处理与所述色度分量的上采样处理之间执行选择。接着,将所选处理应用于所述图像部分。然后,根据所选处理生成码流,包括对所述经处理的图像部分进行编码。在色度上采样与亮度下采样之间进行选择能够针对所需应用调整输入图像部分。例如,一些应用的目的可能是降低复杂度或码率,在这种情况下,亮度下采样可能更有利,而其它应用的目的可能是获得高质量,在这种情况下,色度上采样可能更有利。

技术特征:
1.一种用于对图像部分进行编码的方法,其特征在于,所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述方法包括:选择以下之一作为所述图像部分的图像处理:对所述亮度分量进行下采样,以获得分辨率与所述色度分量的分辨率匹配的下采样亮度分量;对所述色度分量进行上采样,以获得分辨率与所述亮度分量的分辨率匹配的上采样色度分量;根据所选图像处理对所述图像部分进行处理;根据所选图像处理生成码流,其中,所述生成包括对所述经处理的图像部分进行编码。2.根据权利要求1所述的方法,其特征在于,所述选择包括对速率和失真的成本函数进行估算。3.根据权利要求2所述的方法,其特征在于,所述选择包括:对所述亮度分量进行下采样,以获得中间下采样亮度分量;对所述色度分量进行上采样,以获得中间上采样色度分量。4.根据权利要求3所述的方法,其特征在于,所述选择包括:根据所述成本函数,分别确定所述中间下采样亮度分量和所述色度分量的成本以及所述亮度分量和所述中间上采样色度分量的成本,其中,在所述选择中,所述确定成本较低的图像部分的图像处理被选择。5.根据权利要求4所述的方法,其特征在于,所述确定包括:将所述中间下采样亮度分量和所述色度分量编码到第一码流中;将所述亮度分量和所述中间上采样色度分量编码到第二码流中;根据所述成本函数,确定所述第一码流和所述第二码流的成本。6.根据权利要求1至5所述的方法,其特征在于,所述生成码流包括将表示所选图像处理的选择指示符编码到所述码流中。7.根据权利要求1至5所述的方法,其特征在于,所述生成码流包括将所述亮度分量的宽度w和/或高度h的指示编码到所述码流中。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述上采样和/或所述下采样由经训练的网络执行。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述对所述经处理的图像部分进行编码由变分自动编码器(variational autoencoder,vae)执行。10.一种用于从码流中重建图像部分的方法,其特征在于,所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述方法包括:从所述码流中解码具有相同分辨率的亮度分量和色度分量;根据所述码流确定以下之一作为图像处理:对所述经解码的亮度分量进行上采样,并获取包括所述经解码的色度分量和所述上采样亮度分量的重建图像部分;对所述经解码的色度分量进行下采样,并获取包括所述经解码的亮度分量和所述下采样色度分量的重建图像部分;根据所述确定的图像处理,获取所述图像部分。
11.根据权利要求10所述的方法,其特征在于,所述确定还包括:从所述码流中解码表示图像处理的选择指示符;将通过所述选择指示符表示的所述处理确定为所述图像处理。12.根据权利要求10或11所述的方法,其特征在于,所述确定还包括从所述码流中解码所述图像部分中的所述亮度分量的宽度w和/或高度h。13.根据权利要求12所述的方法,其特征在于,所述确定还包括:确定所述宽度w和所述高度h是否与所述经解码的亮度分量的对应宽度和高度相同;如果确定w和h与和相同,则对所述经解码的色度分量进行下采样;如果确定w和h中的任一个与和/或不相同,则对所述经解码的亮度分量进行上采样。14.根据权利要求10所述的方法,其特征在于,所述确定包括:确定所述码流的大小s;从所述码流中解码所述图像部分的潜在表示其中,所述潜在表示具有宽度和/或高度通过将所述码流的大小和所述宽度和/高度的函数与预定义阈值t进行比较,确定所述图像处理。15.根据权利要求14所述的方法,其特征在于,所述确定包括:确定所述大小s与的比率是否等于或大于所述预定义阈值;如果确定所述比率等于或大于所述预定义阈值,则对所述经解码的色度分量进行下采样;如果确定所述比率小于所述预定义阈值,则对所述经解码的亮度分量进行上采样。16.根据权利要求10所述的方法,其特征在于,所述确定包括:从所述码流中解码潜在表示将所述图像处理确定为以所述经解码的潜在表示作为输入的分类神经网络的输出,其中,所述输出是第一类别和第二类别中的一种,所述第一类别表示所述经解码的亮度分量的上采样,所述第二类别表示所述经解码的色度分量的下采样。17.根据权利要求10至16中任一项所述的方法,其特征在于,所述上采样和/或所述下采样由经训练的网络执行。18.根据权利要求10至17中任一项所述的方法,其特征在于,所述对所述经处理的图像部分进行解码由变分自动编码器(variational autoencoder,vae)执行。19.一种存储在非瞬时性介质中的计算机程序,其特征在于,所述计算机程序包括代码,当所述代码在一个或多个处理器上执行时,执行根据方法1至18中任一项所述的步骤。20.一种用于对图像部分进行编码的编码器,其特征在于,所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述编码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多
个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述编码器用于执行根据权利要求1至9中任一项所述的方法。21.一种用于从码流中重建图像部分的解码器,其特征在于,所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述一个或多个处理器执行所述程序时,所述解码器用于执行根据权利要求10至18中任一项所述的方法。22.一种用于对图像部分进行编码的编码器,其特征在于,所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述编码器包括处理电路,所述处理电路用于执行根据权利要求1至9中任一项所述的方法的步骤。23.一种从码流中重建图像部分的解码器,其特征在于,所述图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率,所述解码器包括处理电路,所述处理电路用于执行根据权利要求10至18中任一项所述的方法的步骤。

技术总结
本发明涉及图像或视频编码和解码。图像部分包括亮度分量和色度分量,所述色度分量的分辨率小于所述亮度分量的分辨率。为了获得所述亮度分量和所述色度分量的匹配分辨率,在所述亮度分量的下采样处理与所述色度分量的上采样处理之间执行选择;接着,将所选处理应用于所述图像部分;然后,根据所选处理生成码流,其中,所述生成包括对所述经处理的图像部分进行编码。在色度上采样与亮度下采样之间进行选择能够针对所需应用调整输入图像部分。例如,一些应用的目的可能是降低复杂度或码率,在这种情况下,亮度下采样可能更有利,而其它应用的目的可能是获得高质量,在这种情况下,色度上采样可能更有利。采样可能更有利。采样可能更有利。


技术研发人员:高晗 伊蕾娜
受保护的技术使用者:华为技术有限公司
技术研发日:2020.11.19
技术公布日:2023/8/1
版权声明

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

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

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

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

分享:

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

相关推荐