视频和相关特征的可分级译码的制作方法
未命名
09-24
阅读:112
评论:0
1.本发明涉及视频图像及其图像特征的可分级编码和解码。
背景技术:
2.视频译码(视频编码和解码)用于广泛的数字视频应用,例如,广播数字电视、基于互联网和移动网络的视频传输、视频聊天和视频会议等实时会话应用、dvd和蓝光光盘、视频内容采集和编辑系统、移动设备视频录制和视频安全摄像机。
3.自1990年在h.261标准中开发基于块的混合视频编码方法以来,新的视频编码技术和工具相继出现,为新的视频编码标准奠定了基础。大多数视频编码标准的其中一个目标是,与前一代标准相比,在保证图像质量的情况下降低码率。其它视频编码标准包括mpeg-1视频、mpeg-2视频、itu-t h.262/mpeg-2、itu-t h.263、itu-t h.264/mpeg-4第10部分、高级视频编码(advanced video coding,avc)、itu-t h.265、高效视频编码(high efficiency video coding,hevc)、itu-t h.266、通用视频编码(versatile video coding,vvc)和这些标准的扩展版本,例如,可分级性和/或三维(three-dimension,3d)扩展版本。
4.视频图像的编码和解码(即压缩和解压缩)也适用于视频监控等需要检测和识别静止目标物体和/或移动目标物体的应用。在目前的视频监控技术方案中,视频在摄像机等终端(用户或客户端)侧压缩,并且传输到服务器。这些服务器可以是云的一部分。在云端,压缩视频则进行重建和进一步分析。视频的编码和解码可以由兼容h.264/avc、hevc(h.265)、vvc(h.266)或其它视频编码技术等的标准视频编码器和解码器执行。
5.一方面,用于物体检测或脸部识别等用途的计算机视觉(computer vision,cv)算法用于从视频(即视频图像)中提取有用信息。典型的检测和识别cv算法从根本上基于从视频中提取的特征,或者更准确地说,基于从视频序列的各个帧中提取的特征。特征包括传统特征,例如,尺度不变特征变换(scale invariant feature transform,sift)、加速鲁棒特征(speeded-up robust feature,surf)和二进制鲁棒独立基本特征(binary robust independent elementary feature,brief)。需要说明的是,传统特征直接根据输入图像来计算,例如,基于像素的梯度计算、图像等的亮度(或色度)的最大值或最小值。
6.近年来,基于深度神经网络(deep neural network,dnn)的特征激发了越来越多的兴趣,尤其是在计算机视觉方面(也称为机器视觉)。这些dnn类型的特征在许多场景下更多地称为机器学习特征,这是因为dnn特征是从包括dnn等的机器学习模型中提取到的和/或分类得到的。另一方面,在一些应用中,实际上是人类观看视频,目的是查找cv算法可能丢失的信息,或者证明cv算法结果的正确性。
7.然而,人类并不理解cv算法用来执行视频图像分析的特征,因此人类实际上在服务器端(云端)观看视频。因此,在视频监控中,视频经过译码(编码)和传输(例如,上传到云服务器),而且cv算法也使用高质量特征来提供快速准确的图像分析结果。相应地,在同时执行计算机视觉(computer-vision,cv)处理和人类视觉(human-vision,hv)图像处理的多
任务协同智能的情况下,可能需要对特征进行高效译码,以便同时执行cv和hv的处理操作。
技术实现要素:
8.本发明实施例由独立权利要求的特征限定,实施例的其它有利实现方式由从属权利要求的特征限定。
9.根据本发明的一方面,提供了一种用于对输入图像进行编码的装置。所述装置包括处理电路,所述处理电路用于:生成潜在空间中的用于计算机视觉处理的基本层特征,其中,所述生成基本层特征包括:使用训练过的网络中的一个或多个基本层网络层来处理所述输入图像;根据所述输入图像,生成用于重建所述输入图像的增强层特征;将所述基本层特征编码到基本层码流中,并将所述增强层特征编码到增强层码流中。
10.这种编码的优点之一是提供了两个码流,这样实现了一种可分级性,即可以对这两个码流采用不同的使用方式:基本层码流可以独自用于计算机视觉任务,而不需要获取(解码或甚至接收)增强层特征。另一方面,当需要图像重建时,可以使用两个码流。
11.例如,所述处理电路用于:通过使用所述训练过的网络中的一个或多个增强层网络层来处理所述输入图像,生成所述潜在空间中的所述增强层特征;将所述潜在空间中的特征细分为所述基本层特征和所述增强层特征。
12.将通过训练过的网络处理输入图像所得到的特征的潜在空间分成两部分是确定基本层特征和增强层特征的一种简单高效方法。
13.在一些实施例中,所述处理电路用于通过以下操作生成所述增强层特征:根据所述基本层特征重建基本层图像;根据所述输入图像和所述基本层图像确定所述增强层特征。
14.这样,码流中提供的基本层特征也可以用于确定增强层,从而可以利用这两者之间的相关性对码流进行更高效的编码。
15.例如,所述确定所述增强层特征基于所述输入图像和所述基本图像之间的差值。
16.因此,增强特征可以通过简单的差值计算进行高效编码。此外,一些现有的残差编码方法可以用于对这些增强层特征进行编码。
17.例如,所述输入图像是视频中的一帧,所述处理电路用于为所述视频中的单个帧或多个帧生成所述基本层特征和所述增强层特征(以及可选地生成相应的基本层码流和增强层码流)。
18.逐帧特征提取以及特征码流和视频码流的基于帧的关联关系可以根据从中提取特征的帧在经重建视频中定位特征。这表示不需要对整个视频进行解码,只需要对包括该特征的视频帧进行解码。
19.差分编码的可能性带来的优点是,将根据经解码特征重建的视频图像用作预测值提高了视频压缩比。换句话说,差分视频编码是非常高效的。
20.根据一种示例性实现方式,所述处理电路还用于将所述基本层特征和所述增强层特征按帧复用到码流中。
21.因此,基本层特征和增强层特征可以由编码器在单个码流中提供,但仍然以可分离的方式提供。逐帧视频特征关联关系可以快速定位视频或视频码流中的特征。因此,与视频帧对应的特征能够快速检索到,并且可以用于执行计算机视觉(computer vision,cv)处
理任务。另外,增强信息可以用于重建对应的视频帧,从该视频帧中可以提取与特征码流中包括的图像特征不同的一个或多个其它特征。这进一步提高cv系统使用图像特征执行cv处理任务的性能,cv处理任务包括对象和/或物体检测和识别,例如,使用面部特征等的脸部识别。
22.例如,所述处理电路还用于对包括所述增强层特征的码流的一部分进行加密。
23.对码流的一部分进行加密可以包括对整个增强层进行加密。可选地,增强层的一个或多个部分(也就是码流的一个或多个部分)可以进行加密。因此,可以禁止图像重建,而且可以防止未经授权的观看者(用户)进行人类视觉处理。
24.根据一个实施例,提供了一种用于处理码流的装置。所述装置包括处理电路,所述处理电路用于:获取包括潜在空间中的基本层特征的基本层码流和包括增强层特征的增强层码流;从所述基本层码流中提取所述基本层特征;执行以下至少一个操作:(i)根据所述基本层特征执行计算机视觉处理;(ii)从所述增强层码流中提取所述增强层特征,并根据所述基本层特征和所述增强层特征重建图像。
25.根据基本层特征执行计算机视觉处理可以包括只使用基本层特征而不使用增强层特征来执行所述cv处理。
26.因此,基本层特征的获取可以独立于增强层特征,因为基本特征和增强特征已经编码在不同的(即独立的)层中。但是这两个层都编码到码流中或不同的码流中。因此,按需(即仅在需要时,例如,根据请求)提取增强层特征可以获取到增强层特征。
27.例如,所述重建图像包括:组合所述基本层特征和所述增强层特征;根据所述组合特征重建所述图像。
28.因此,潜在空间特征可以通过公共特征张量访问。
29.在一些实施例中,所述计算机视觉处理包括:通过第一训练过的子网络中的一个或多个网络层处理所述基本层特征。
30.因此,不需要提供、解码和使用增强层来执行计算机视觉任务,从而减少了传输资源和/或处理资源。
31.例如,所述重建图像包括:通过与所述第一训练过的子网络不同的第二训练过的子网络中的一个或多个网络层处理所述组合特征。
32.因此,用于图像重建的组合特征可以由与用于计算机视觉(computer-vision,cv)处理的子网络不同的训练过的子网络来处理。因此,使用不同训练过的子网络来执行计算机视觉任务和人类视觉(human-vision,hv)任务,通过训练cv子网络和hv子网络执行它们的特定任务,使多任务协同智能更加灵活。
33.例如,所述重建图像包括:根据所述基本层特征重建基本层图像;将所述增强层特征添加到所述基本层图像中。
34.这样,码流中提供的基本层特征也可以用于确定增强层,从而可以利用这两者之间的相关性实现更高效的图像重建。
35.在一些示例性实现方式中,所述增强层特征基于编码端输入图像和所述基本层图像之间的差值。
36.因此,增强特征可以从简单的差值中高效解码出。此外,一些现有的残差解码方法可以用于进一步对这些增强层特征进行解码。
37.例如,所述经重建图像是视频中的一帧,所述基本层特征和所述增强层特征针对所述视频中的单个帧或多个帧。
38.逐帧特征提取以及特征码流和视频码流的基于帧的关联关系可以根据从中提取特征的帧在经重建视频中定位特征。这表示不需要对整个视频进行解码,只需要对包括该特征的视频帧进行解码。
39.例如,所述处理电路还用于从码流(例如,包括所述基本层码流和所述增强层码流的复用码流)中按帧解复用所述基本层特征和所述增强层特征。
40.因此,基本层特征和增强层特征可以由解码器从单个码流中获取到,但仍然以可分离的方式获取。逐帧视频特征关联关系可以快速定位视频或视频码流中的特征。因此,与视频帧对应的特征能够快速检索到,并且可以用于执行计算机视觉(computer vision,cv)处理任务。另外,增强信息可以用于重建对应的视频帧,从该视频帧中可以提取与特征码流中包括的图像特征不同的一个或多个其它特征。这进一步提高cv系统使用图像特征执行cv处理任务的性能,cv处理任务包括对象和/或物体检测和识别,例如,使用面部特征等的脸部识别。
41.例如,所述处理电路还用于对包括所述增强层特征的码流的一部分进行解密。
42.对码流的一部分进行解密可以包括对整个增强层进行解密。可选地,增强层的一个或多个部分(也就是码流的一个或多个部分)可以进行解密。因此,包括增强层特征的码流的那部分只能通过解密来访问。因此,输入图像只能重建,从而在授权用户进行解密之后可用于人类视觉处理。因此,保护了人类视觉处理的隐私。
43.根据一个实施例,提供了一种用于对输入图像进行编码的方法。所述方法包括:生成潜在空间中的用于计算机视觉处理的基本层特征,其中,所述生成基本层特征包括:使用训练过的网络中的一个或多个基本层网络层来处理所述输入图像;根据所述输入图像,生成用于重建所述输入图像的增强层特征;将所述基本层特征编码到基本层码流中,并将所述增强层特征编码到增强层码流中。
44.根据一个实施例,提供了一种用于处理码流的方法。所述方法包括:获取包括潜在空间中的基本层特征的基本层码流和包括增强层特征的增强层码流;从所述基本层码流中提取所述基本层特征;执行以下至少一个操作:(i)根据所述基本层特征执行计算机视觉处理;(ii)从所述增强层码流中提取所述增强层特征,并根据所述基本层特征和所述增强层特征重建图像。
45.这些方法提供了与执行上述对应步骤的装置相似的优点。
46.一种计算机可读非瞬时性介质存储程序。所述程序包括指令,当所述指令在一个或多个处理器上执行时,所述指令使得所述一个或多个处理器执行根据本文中任何实施例或示例所述的方法。
47.根据一个实施例,提供了一种用于对输入图像进行编码的装置。所述装置包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述一个或多个处理器并存储供所述一个或多个处理器执行的程序,其中,当所述程序由所述一个或多个处理器执行时,所述编码器用于执行根据本文中任何实施例或示例所述的方法。
48.根据一个实施例,提供了一种用于处理码流的装置。所述装置包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述一个或多个处理器并存储供所述一个或
多个处理器执行的程序,其中,当所述程序由所述一个或多个处理器执行时,所述装置用于执行根据本文中任何实施例或示例所述的方法。
49.根据本发明的一方面,提供了一种用于存储程序的计算机可读非瞬时性介质。所述程序包括指令,当所述指令在一个或多个处理器上执行时,所述指令使得所述一个或多个处理器执行上述方法步骤。
50.此外,本发明涉及一种包括程序代码的计算机程序。当所述程序代码在计算机上执行时,所述程序代码用于执行根据本文中提到的任何实施例或示例所述的方法。
51.本发明可以在硬件(hw)和/或软件(sw)或其任意组合中实现。此外,基于硬件的实现方式可以与基于软件的实现方式相结合。
52.以下附图和说明书详细阐述了一个或多个实施例。其它特征、目的和优点在说明书、附图以及权利要求书中是显而易见的。
附图说明
53.下面结合附图对本发明实施例进行详细描述。
54.图1是用于实现本发明一个实施例的编码器和对应解码器的一个示例的框图。
55.图2是用于实现本发明另一个实施例的编码器和解码器的一种示例性结构的框图。
56.图3是本发明一个实施例中的基本层编码器和解码器的一种详细结构的框图。
57.图4是元数据容器的语法的图示。
58.图5是一种计算机视觉处理系统的框图,包括可分级特征和视频编码器和解码器,从而根据基本特征码流中的图像特征对视频执行计算机视觉分析,并可选地使用增强特征码流中的增强特征来重建视频。
59.图6是另一种计算机视觉处理系统的框图,包括可分级特征和视频编码器和解码器,从而根据基本层码流中的图像特征对视频执行计算机视觉分析,并可选地使用增强层码流中的增强信息来重建视频。
60.图7是计算机视觉处理系统的框图,包括本发明实施例之一提供的可分级视频和特征解码器,从而执行脸部识别的计算机视觉处理任务。
61.图8是计算机视觉系统的框图,包括本发明实施例之一提供的可分级视频和特征解码器,从而执行脸部识别的计算机视觉处理任务。
62.图9是本发明实施例之一提供的输入图像和基本特征数据的示例性图示。
63.图10是本发明实施例之一提供的输入图像和特征数据的示例性图示。
64.图11是支持具有潜在空间可分级性的cv-hv多任务的编码器-解码器框架的框图。
65.图12是能够处理yuv 420格式的分析编码器的层配置的一种示例性实现方式。
66.图13是能够处理yuv 420格式的合成解码器的层配置的一种示例性实现方式。
67.图14是具有潜在空间可分级性的潜在变换和多任务的层配置的一种示例性实现方式。包括基本特征和增强特征的潜在空间特征向量用于图像重建,而只有基本特征用于物体检测。
68.图15是潜在空间的图示。
69.图16是包括处理电路的编码器的框图,其中,所述处理电路包括cv生成模块、hv生
成模块和cv-hv编码模块。
70.图17是包括处理电路的码流处理装置的框图,其中,所述处理电路包括获取模块、cv提取模块、cv处理模块、hv提取模块和hv重建模块。
71.图18是输入图像的编码方法的流程图。
72.图19是用于处理码流的处理方法的流程图。
73.图20a是用于实现本发明实施例的视频译码系统的一个示例的框图。
74.图20b是用于实现本发明实施例的视频译码系统的另一个示例的框图。
75.图21是编码装置或解码装置的一个示例的框图。
76.图22是编码装置或解码装置的另一个示例的框图。
具体实施方式
77.在以下描述中,参考构成本发明一部分的附图,这些附图通过说明的方式示出了本发明实施例的具体方面或可以使用本发明实施例的具体方面。应当理解的是,本发明实施例可以在其它方面中使用,并且可以包括附图中未描绘的结构变化或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本发明的范围由所附权利要求书界定。
78.例如,可以理解,与描述方法有关的公开内容可以对于用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如,功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元分别执行多个步骤中的一个或多个),即使附图中未明确描述或说明该一个或多个单元。另一方面,例如,如果基于一个或多个单元(例如,功能单元)来描述具体装置,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤分别执行多个单元中的一个或多个单元的功能),即使附图中未明确描述或示出该一个或多个单元。此外,可以理解,除非另外明确说明,本文中所描述的各个示例性实施例和/或方面的特征可以相互组合。
79.由于使用了高质量的图像特征,本发明一些实施例能够通过计算机视觉算法更高效、准确和可靠地执行计算机视觉分析(cv处理)。这些图像特征是在摄像机拍摄视频的那一端确定的,而且图像特征可以是从通常执行的未压缩(即未失真)视频中提取的。因此,物体检测和脸部识别等典型的计算机视觉任务可以高精度地执行。
80.对于这类计算机视觉任务,可能希望一个或多个图像特征具有高质量,以便在视频监控、计算机视觉特征译码或自动驾驶等应用中实现高精度。
81.同时,可能希望提取到的高质量图像特征经过高效编码(压缩),以确保计算机视觉任务可以使用较少的信息比特执行。这是通过本发明一些实施例和示例性实现方式来实现的,其中,特征被编码到基本特征码流或基本层码流中,这需要的比特比对输入视频进行编码需要的比特少。
82.视频译码(coding)通常是指处理形成视频或视频序列的图像序列。在视频译码领域,术语“帧”和“图像(picture/image)”可以用作同义词。视频译码包括视频编码和视频解码两部分。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图像,以减少表示视频图像所需的数据量(从而更高效地存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器的逆处理过程,用于重建视频图像。实施例涉及的视频图像(或通常称为
图像,稍后解释)的“译码”应理解为视频图像的“编码”和“解码”。编码部分和解码部分也合称为编解码(编码和解码)。
83.在无损视频译码的情况下,可以重建原始视频图像,即经重建视频图像与原始视频图像具有相同的质量(假设存储或传输期间没有传输错误或其它数据丢失)。在有损视频译码的情况下,通过量化等执行进一步压缩,以减少表示视频图像的数据量,而解码器侧无法完全重建视频图像,即经重建视频图像的质量比原始视频图像的质量低或差。
84.自h.261以来的若干个视频译码标准属于“有损混合视频编解码标准”组(即,将样本域中的空间和时间预测与2d变换译码相结合,以在变换域中进行量化)。视频序列中的每个图像通常分割成不重叠块的集合,而且通常在块级执行译码。换句话说,编码器侧通常在块(视频块)级通过以下方式对视频进行处理,即编码:例如,使用空间(帧内)预测和时间(帧间)预测来生成预测块,从当前块(当前处理/待处理的块)中减去预测块以获取残差块,在变换域中变换残差块并量化残差块,以减少待传输(压缩)的数据量;而解码器侧将相对于编码器的逆处理部分应用于经编码或经压缩块,以重建用于表示的当前块。此外,编码器复制解码器处理循环,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,以对后续块进行处理,即译码。
85.由于视频图像处理(也称为移动图像处理)和静止图像处理(术语“处理”包括译码)共用许多概念和技术或工具,在下文中,术语“图像”用于指视频序列(如上所述)中的视频图像和/或静止图像,以避免在不需要时不必要地重复和区分视频图像和静止图像。如果本文仅指静止图像(still picture/still image),则应使用术语“静止图像”。
86.利用本发明的视频图像的编码和解码(即压缩和解压缩)也适用于包括视频监控的需要检测和识别静止目标物体和/或移动目标物体的应用。在目前的视频监控技术方案中,视频在摄像机等终端(用户或客户端)侧压缩,并且传输到服务器。这些服务器可以是云的一部分。在云端,压缩视频则进行重建和/或进一步分析以用于计算机视觉。视频的各个部分或一些特征的编码和解码可以由兼容h.264/avc、hevc(h.265)、vvc(h.266)或其它视频编码技术等的标准视频编码器和解码器执行。
87.除了监控应用之外,远程监控、智能家居、边缘云协同视觉应用等还采用计算机视觉(computer vision,cv)算法,这些算法用于物体检测或脸部识别并用于从视频(即视频图像)中提取有用信息。典型的检测和识别cv算法从根本上基于从视频中提取的特征,或者更准确地说,基于从视频序列的各个帧中提取的特征。
88.虽然使用了不同类型的特征,包括传统特征(例如,surf、brief等),但基于深度神经网络(deep neural network,dnn)的特征受到越来越多的关注,尤其是在计算机视觉方面(也称为机器视觉)。这些dnn类型的特征在许多场景下更多地称为机器学习特征,这是因为dnn特征是从包括dnn等的机器学习模型中提取到的和/或分类得到的。在许多应用中,实际上是人类观看视频,目的是查找cv算法可能丢失的信息,或者证明cv算法结果的正确性。
89.因此,在这些应用中,机器视觉提供了分析,例如,人类检测和/或物体检测、分割或跟踪,这些分析可以连续执行,而人类视觉可能是偶尔执行,以验证机器视觉分析或在交通事故等紧急情况下提供高级评估。
90.通常,机器视觉任务不需要高质量人类观看所需的那么多信息。例如,成功检测场景中的物体可能不需要精确重建图像中的所有像素。反过来,实现高质量人类观看可能需
要对所有像素进行相当充分的重建,因为人类并不理解cv算法用来执行视频图像分析的特征。因此,会使用高质量特征,这样人类实际上在服务器端(云端)观看视频。因此,在视频监控中,视频经过译码(编码)和传输(例如,上传到云服务器),而且cv算法也使用高质量特征来提供快速准确的图像分析结果。
91.当前技术的效率仍然很低,因为特征和输入图像/视频是单独译码的,可能会产生冗余。此外,只有在少数情况下对特征和输入图像或视频进行联合译码,即手工特征(sift或边缘片段)和脸部特征(例如,作为图像/视频的增强)。
92.然而,支持多项任务的特征大部分仍未开发。相应地,在同时执行计算机视觉(computer-vision,cv)处理和人类视觉(human-vision,hv)图像处理的多任务协同智能的情况下,需要对特征进行高效译码,以便同时支持和执行cv和hv的处理操作。具体地,需要高效译码方法来获取特征的可分级表示,在这种情况下,可以支持任务的子集,而无需完整的特征重建。
93.如下详述,本发明的一些实施例和示例通过对用于人类视觉和机器视觉的视频码流进行高效译码来解决上述问题。具体地,机器视觉相关信息被译码为基本层,人类视觉所需的额外信息被译码为编码端的增强层。本发明提供了用于执行这种可分级译码(编码)的装置和方法,从而实现高效表示的潜在空间可分级性和处理多任务协同智能中的特征。在解码侧(例如,云服务器),可以根据人类视觉和机器视觉的需要选择性地对整个潜在或其部分进行解码。因此,码流以可分级的方式构成,也就是在基本层用于计算机视觉(物体检测),在增强层用于人类视觉。
94.这里的术语“可分级”是指编码器产生能够同时支持计算机视觉处理和输入图像重建(例如,用于人类视觉hv)的码流,而且解码器的操作可以扩展到支持这些处理任务中的任一个或两者。为了实现本发明的目的,如果图像或视频在感知意义上足够接近输入图像/视频,则认为该图像或视频是“经重建的”(或适合人类观看)。两个图像或视频的感知接近度可以通过以下各种度量来测量:例如,均方误差(mean squared error,mse)、平均绝对误差(mean absolute error,mae)、峰值信噪比(peak signal to noise ratio,psnr)、结构相似度(structural similarity index metric,ssim)或本领域已知的任何其它客观或主观感知质量度量。
95.术语“计算机视觉处理”(也称为“机器视觉处理”或“机器视觉”)是指为了实现以下一个或多个目的而对输入图像或视频进行的计算分析:图像分类、人类或物体检测、深度或距离估计、物体跟踪、物体分割、语义分割、实例分割、面部特征提取、脸部识别、人类识别、动作识别、异常检测等。在计算机视觉处理中,输入是图像或图像序列(视频)或潜在空间特征数据,输出可以是物体类别标签和/或一个或多个图像中物体的一组边界框和/或一组面部标志(landmark),和/或其它分析,取决于特定的计算机视觉任务。
96.下面描述了用于视频和相关计算机视觉处理特征的可分级译码系统的示例性实施例。
97.用于计算机视觉处理和图像重建的可分级译码
98.根据本发明的一个实施例,提供了一种用于对输入图像进行编码的装置。所述输入图像可以是静止图像或视频图像。相应的图像可以包括一个或多个样本(即像素)。
99.图16是用于对输入图像进行编码的编码装置1600的框图。装置1600包括处理电路
1610,处理电路1610用于生成潜在空间中的用于计算机视觉处理的基本层特征。所述生成基本层特征包括:使用训练过的网络中的一个或多个基本层网络层来处理所述输入图像。基本层网络层可以是训练过的网络(例如,神经网络或子网络)中的网络层。一般而言,基本层网络层可以是有助于获取基本层特征的任何类型的训练过的处理网络(例如,基于机器学习或深度学习)中的各层。
100.处理电路1610还用于根据所述输入图像,生成用于重建所述输入图像的增强层特征。这里的输入图像重建是指图像样本(有时也称为像素)的重建。样本域中的经重建图像此时适合人类视觉。本发明不限于生成增强特征的任何特定方法。下文提供了几个实施例和示例。
101.处理电路1610还用于将所述基本层特征编码到基本层码流中,并将所述增强层特征编码到增强层码流中。这种编码为基本层特征和增强层特征的可分级编码,使得计算机视觉处理设备和重建图像的人类视觉目的地设备中的一个或两个能够高效传输和处理码流。
102.在图16所示的装置1600的一种示例性实现方式中,配置处理电路1610可以包括:所述电路包括用于处理的相应模块。这可以包括:生成模块1612,用于生成用于计算机视觉目的的基本层特征;生成模块1614,用于生成用于重建图像的增强层特征;编码模块1616,用于将基本层特征和增强层特征编码到单独的码流中,即基本层码流和增强层码流。这些模块可以是逻辑和功能模块。但是,也可以设想以物理上分离的方式提供这些模块,包括硬件和/或软件的组合。
103.计算机视觉(computer-vision,cv)处理涉及使用潜在空间中的基本层特征对图像进行处理。相比之下,增强层特征用于重建输入图像(例如,在解码端),这发生在样本域(样本空间或像素空间)中,而不是在潜在空间中。
104.基本层特征可以包括关键点坐标、输入图像中包括的物体的关键点语义等。例如,关键点坐标可以包括人体关节(例如,肘部、手、肩、膝盖等)的坐标。关键点语义可以包括相应的标签“肘部”、“手”等。基本层特征还可以包括单独的点集,标记人类下巴的边缘、(上或下)嘴唇、眼睑、眉毛等。基本层特征还可以包括从关键点坐标获取到的用于表示人体面部表面的三角形网格(net)。基本层特征还可以包括边界框,这些边界框包括覆盖物体的区域的左上角和右下角坐标以及对应的物体标签。基本层特征可以包括的其它数据是语义分割,这是像素级物体识别。
105.本领域技术人员很清楚,其它类型的基本层特征可以通过训练过的网络处理输入图像生成,并且适合于机器视觉处理。因此,基本层特征涉及不适合或几乎不适合被人类理解或解释为图像的特征。换句话说,基本层特征可能是低级特征,因为它们可以由机器进行处理以执行其预期任务(例如,监控等),但不适合于人类。
106.反过来,增强层特征(el特征)提供用于人类视觉的信息,并且可以基于基本层特征。el特征需要更详细的信息(虽然不完整),这样原始图像可以进行重建,因此被人类理解(即观看和评估)。例如,上述关键点可以用于生成物体的面部表面的高质量表示,适合于人类用来识别相应的人。el特征还可以包括输入图像的颜色信息、颜色分级等。
107.训练过的网络可以是基于机器学习的网络和/或基于深度学习的框架,该网络可以是为了获取训练过的网络模型而通过将学习数据(测试数据)用作网络的输入经过预训
练的,该网络模型由作为预训练结果的参数表示。训练过的网络可以是神经网络(neural network,nn)、人工神经网络(artificial neural network,ann)、卷积神经网络(convolutional neural network,cnn)、全连接神经网络(fully connected neural network,fcn),等等。
108.人工神经网络(artificial neural network,ann)或联结(connectionist)系统是受到构成动物大脑的生物神经网络模糊启发的计算系统。这些系统通过举例来“学习”执行任务,通常不使用任务专用规则进行编程。例如,在图像识别中,这些系统可能会通过分析手动标记为“猫”或“没有猫”的示例性图像并使用结果来识别其它图像中的猫,从而学习识别包括猫的图像。这些系统这样做时不需要知道猫的先验知识,例如,猫有毛皮、尾巴、胡须和猫脸。相反,这些系统会从它们处理的示例中自动生成识别特征。
109.ann以一组称为人工神经元的连接单元或节点为基础,这些连接单元或节点松散地模拟生物大脑中的神经元。每个连接,就像生物大脑中的突触一样,可以向其它神经元传递信号。接收信号的人工神经元则处理该信号,并且可以向连接到该人工神经元的神经元发信号。在ann实现方式中,连接处的“信号”是实数,每个神经元的输出可以根据该神经元的输入之和的某种非线性函数计算出。这些连接称为边。神经元和边通常具有随着学习的进行而调整的权重。该权重会增加或减少连接处信号的强度。神经元可以具有一个阈值,使得只有在聚合信号超过该阈值时,才发送信号。通常,神经元聚集成层。不同的层可以对它们的输入执行不同的变换。信号从第一层(输入层)传输到最后一层(输出层),但可能是在多次遍历这些层之后。
110.ann方法的最初目标是通过与人脑相同的方式解决问题。随着时间的推移,注意力转移到执行具体任务上,从而导致偏离生物学。ann已经应用于各种各样的任务,包括计算机视觉、语音识别、机器翻译、社交网络过滤、棋盘游戏和视频游戏、医学诊断,甚至应用于传统上认为只属于人类的活动,例如,绘画。
111.cnn是“卷积神经网络”,采用了一种称为卷积的数学运算。卷积是一种专用线性运算。卷积网络简单地说是神经网络,在其至少一个层中使用卷积代替通用矩阵乘法。卷积神经网络包括输入层和输出层以及多个隐藏层。输入层是向其提供输入以进行处理的层。
112.例如,图12至图14示出了可以与本发明实施例和示例结合使用的一些神经网络。这些神经网络在结构上是cnn。虽然cnn可能特别适合于一些计算机视觉任务,而且也可能适用于对用于人类视觉的特征进行编码,但本发明并不限于这类网络。一些特定的计算机视觉任务可以由其它框架/网络执行,而采用典型的图像/视频译码方法或一些特定类型的机器学习处理甚至可以有益于人类视觉相关部分(增强层特征译码)。cnn中的隐藏层通常包括一系列卷积层,这些卷积层通过乘法或其它点积进行卷积。一层的结果是一个或多个特征图,有时也称为通道。部分或全部层中可能涉及子采样。因此,特征图可能会变小。cnn中的激活函数可以是修正线性单元(rectified linear unit,relu)层或广义除法归一化(generalized divisive normalization,gdn)层,随后是其它卷积层,例如,池化层、全连接层和归一化层,这些层称为隐藏层,因为这些层的输入和输出被激活函数和最终卷积层掩蔽。虽然这些层通俗地称为卷积层,但这只是一种惯例。从数学上讲,卷积在技术上是滑动点积或互相关。这对矩阵中的索引具有重要意义,因为滑动点积或互相关会影响在具体索引点确定权重的方式。
113.gdn层执行以下变换:
[0114][0115]
其中,α、β和γ是可训练的参数,xi是该层的输入,yi是该层的输出。
[0116]
当配置cnn来处理图像(picture/image)时,输入是形状为(图像数量)
×
(图像宽度)
×
(图像高度)
×
(图像深度)的张量。然后,在通过卷积层之后,图像被抽象为特征图,形状为(图像数量)
×
(特征图宽度)
×
(特征图高度)
×
(特征图通道)。神经网络内的卷积层应具有以下属性:由宽度和高度(超参数)限定的卷积核;输入通道和输出通道的数量(超参数)。卷积滤波器(输入通道)的深度应等于输入特征图的通道数量(深度)。
[0117]
在过去,传统的多层感知器(multilayer perceptron,mlp)模型已经应用于图像识别。但是,由于节点之间存在全连接,因此mlp模型受到高维度的影响,而且不能很好地在处理高分辨率图像时进行缩放。具有rgb颜色通道的1000
×
1000像素图像具有300万个权重,权重太高而无法在全连接的情况下高效地、可行地进行大规模处理。这种网络架构也没有考虑数据的空间结构,导致相距很远的输入像素与靠得很近的像素通过相同的方式处理。这在计算上和语义上都忽略了图像数据中的局部性原理。因此,神经元的全连接对于由空间局部输入模式主导的图像识别等目的没有用处。
[0118]
卷积神经网络是受生物学启发的多层感知器变体,专门设计用于模拟视觉皮层的行为。cnn模型通过自然图像中存在的强空间局部相关性来减轻mlp架构带来的挑战。卷积层是cnn中的核心构建块。这一层的参数包括一组可学习的滤波器(上述核),这些滤波器具有一个小的感受野,但延伸到输入图像的整个深度。在前向传播的过程中,每个滤波器通过输入图像的宽度和高度进行卷积,从而计算该滤波器中的元素与输入之间的点积,并且产生该滤波器的二维激活图。因此,网络学习滤波器,当该网络在输入中的某个空间位置上检测到某一特定类型的特征时,这些滤波器就会激活。
[0119]
沿着深度维度堆叠所有滤波器的激活图形成卷积层的完整输出图像。因此,也可以将输出图像中的每个元素解释为神经元的输出,该神经元查看输入中的一个小区域并与相同激活图中的神经元共享参数。特征图或激活图是给定滤波器的输出激活。特征图与激活具有相同的含义。在一些论文中,称为激活图是因为它是与图像中的不同部分的激活对应的映射,还称为特征图是因为它还是指示在图像中找到某种特征的位置的映射。高激活表示找到了某个特征。
[0120]
cnn的另一个重要概念是池化,池化是非线性下采样的一种形式。有几种非线性函数可以实现池化,其中最常见的是最大池化。最大池化将输入图像分割成一组不重叠的矩形,输出每个子区域的最大值。直观上讲,一个特征的确切位置不如其相对于其它特征的粗略位置重要。这就是在卷积神经网络中使用池化背后的原因。池化层用于逐步减小表示的空间大小,减少网络中参数的数量、内存占用空间和计算量,因此也用于控制过拟合。在cnn架构中,很常见的做法是在连续的卷积层之间定期插入池化层。池化运算提供了另一种形式的平移不变性。
[0121]
池化层对输入中的每个深度条带进行独立操作,并且在空间上调整其大小。最常见的形式是包括大小为2
×
2的滤波器的池化层,该滤波器对输入中的每个深度条带应用步长为2的下采样,宽度和高度均减小二分之一,从而丢弃75%的激活。在这种情况下,每次
max操作是对4个数进行。深度维度保持不变。
[0122]
除了最大池化之外,池化单元还可以使用其它函数,例如,平均池化或l2范数池化。平均池化在过去经常使用,但最近逊于最大池化,因为最大池化在实践中表现更好。由于表示的大小大幅减小,最近出现了使用较小的滤波器或完全丢弃池化层的趋势。“感兴趣区域”池化(也称为roi池化)是最大池化的变体,其中的输出大小是固定的,输入矩形是参数。池化是基于快速r-cnn架构的用于物体检测的卷积神经网络中的重要组成部分。
[0123]
上述relu是修正线性单元的缩写,使用的是非饱和激活函数。relu通过将负值设置为0,有效地从激活图中移除负值,它增加了决策函数和整体网络的非线性特性,而不影响卷积层的感受野。其它函数也用于增加非线性,例如,饱和双曲正切和sigmoid函数。relu通常优于其它函数,因为它训练神经网络的速度快了好几倍,而且不会显著降低泛化精度。
[0124]
经过几个卷积层和最大池层,神经网络中的高级推理通过全连接层实现。全连接层中的神经元与前一层中的所有激活都有连接,如常规(非卷积)人工神经网络中所示。因此,这些激活可以计算为仿射变换,仿射变换包括矩阵乘法和随后的偏置偏移(学习到的或固定的偏置项的向量加法)。
[0125]“损失层”指定训练如何补偿预测(输出)和真实标签之间的偏差,通常是神经网络的最后一层。可以使用适合于不同任务的各种损失函数。softmax损失用于预测k个互斥类别中的单个类别。sigmoid交叉熵损失用于预测[0,1]内的k个独立概率值。欧几里德损失用于回归到实值标签。
[0126]
大多数基于深度学习(deep learning,dl)的图像/视频压缩系统在将信号转换为二进制位(比特)之前降低信号维度。例如,在vae框架中,编码器是非线性变换,将输入图像x映射到y中,其中,y的宽度和高度小于x的宽度和高度。由于y具有较小的宽度和高度,因此大小较小,降低了信号的维度(的大小),所以更容易压缩信号y。需要说明的是,一般而言,编码器不一定需要在两个(或通常是所有)维度上减小大小。相反,一些示例性实现方式可以提供一种只在一个维度(或通常是维度子集)上减小大小的编码器。
[0127]
潜在空间是指可以在训练过的网络(例如,神经网络)中提供数据压缩的瓶颈层(bottleneck layer)中生成的特征(例如,特征图)组成的空间。这在图15所示的示例中进行了示意性说明。在nn拓扑的情况下,其中的网络是为了降低输入信号的维度,瓶颈层通常是指输入信号的维度降低到最小值(可以是网络内的局部或全局最小值)的层。降低维度通常是为了获得输入的更紧凑的表示(数据压缩)。因此,瓶颈层是适合于压缩的层,因此在视频译码应用的情况下,码流是根据瓶颈层生成的。但是,术语“潜在空间”不一定指瓶颈。一般而言,潜在空间是一个或多个网络层进行处理之后的特征空间(与原始输入图像中的样本相反)。潜在空间不一定由输出层生成,也可以是任何隐藏层。虽然瓶颈特征提供了压缩图像信息的优点,但对于一些计算机视觉任务,特征对计算机视觉的适用性可能是主要关注的问题。特征图是通过将滤波器(内核)或特征检测器应用于先前层的输入图像或特征图输出来生成的。特征图可视化提供了对模型中每个卷积层的特定输入的内部表示的深入了解。一般而言,特征图是神经网络层的输出。特征图通常包括一个或多个特征元素,也称为特征。
[0128]
图15举例说明了数据压缩的一般原理。潜在空间是编码器的输出和解码器的输入,表示压缩数据。需要说明的是,潜在空间的大小可以远小于输入信号大小。在这里,术语“大小”可以指分辨率,例如,由编码器输出的一个或多个特征图中的样本(元素)数量。分辨率可以计算为每个维度的样本数量的乘积(例如,宽度
×
高度
×
输入图像或特征图的通道数量)。基于深度学习的视频/图像压缩方法采用多个下采样层和上采样层,如图12和图13所示。图15中的输入数据可以是图像样本。潜在空间可以是输出层(瓶颈),这时图像也可以根据潜在空间数据(特征)进行重建。但是,如下详述,潜在空间可以是任何隐藏层,这时重建可能不会产生适合于人类视觉的经重建图像。相反,这种重建只能使潜在空间特征可视化。
[0129]
下采样是一种降低输入信号采样率的过程。例如,如果输入图像的大小为h和w,并且下采样的输出是h2和w2,则以下至少一项成立:
[0130]
·
h2《h
[0131]
·
w2《w
[0132]
信号大小的减小通常沿着处理层链逐步地发生,而不是一次发生。例如,如果输入图像x具有h和w(指示高度和宽度)的维度(或维度的大小),而潜在空间y具有维度h/16和w/16,则在编码过程中,大小的减小可能发生在4个层上,其中,每一层在每个维度上将信号的大小减小1/2。
[0133]
上采样是一种提高离散输入信号的采样率(采样间隔)的过程。例如,如果输入图像的大小为h和w,并且下采样的输出的大小为h2和w2,则以下至少一项成立:
[0134]
·
h2》h
[0135]
·
w2》w
[0136]
输入信号大小的减小如图15举例说明,图15示出了基于深度学习的编码器和解码器。在图15中,输入图像x对应于输入数据,即编码器的输入。经变换信号y对应于潜在空间,潜在空间在至少一个维度上具有比输入信号小的维度或大小。每列圆表示编码器或解码器的处理链中的一层。每一层中的圆的数量指示该层上的信号的大小或维度。从图15中可以看出,编码操作对应于输入信号大小的减小(通过下采样),而解码操作对应于图像原始大小的重建(通过上采样)。
[0137]
基本层特征和增强层特征可以编码到相应的基本层码流和增强层码流中,基本层码流和增强层码流可以是分离的或者是码流中的分离(例如,在不完全解码的情况下可分离的)数据容器。图4示出了基本层数据和增强层数据的数据容器400和410的语法的一个示例性实施例。在下文中,术语“基本层码流”和“基本特征码流”用作同义词。同样,术语“增强层码流”和“增强特征码流”用作同义词。数据容器语法如下详细解释。
[0138]
网络层生成的增强层特征
[0139]
图1是可分级译码系统的一个实施例的示意框图,其中,译码系统包括编码器系统100,编码器系统100用于提供基本特征码流122和增强特征码流124。基本特征码流122可以由基本特征解码器系统160进行解码,增强特征码流124可以由增强特征解码器130进行解码。
[0140]
输入图像102可以由任何类型的用于捕获真实世界图像等目的的图像捕获设备,和/或任何类型的用于生成计算机动画图像的计算机图形处理器等图像生成设备,或者任何类型的用于获取和/或提供真实世界图像、计算机生成图像(例如,屏幕内容、虚拟现实(virtual reality,vr)图像)和/或其任意组合(例如增强现实(augmented reality,ar)图
像)的设备产生。在下文中,所有这些类型的图像和任何其它类型的图像都会称为“图像”,除非另有具体说明;而先前对于涵盖“视频图像”和“静态图像”的术语“图像”的解释仍然成立,除非另有明确说明。
[0141]
在一种示例性实现方式中,所述输入图像是视频中的一帧,所述处理电路用于为所述视频中的多个帧生成所述基本层特征和所述增强层特征(以及可选地生成相应的基本层码流和增强层码流)。此外,在另一种示例性实现方式中,所述处理电路用于将所述基本层特征和所述增强层特征按帧复用到码流中。但是,本发明并不限于此,复用可以按预定数量的帧执行。因此,基本层特征和增强层特征可以由编码器在单个码流中提供。提供与增强层特征分开访问的基本层特征,这样就不需要对增强特征进行解码来解析和解码基本层特征,这可能是有利的。这可以通过语法和通过设计合适的熵译码(如果应用)等方式来实现。
[0142]
(数字)图像是或可以视为由具有强度值的样本(sample)组成的二维阵列或矩阵。阵列中的样本也可以称为像素(pixel/pel)(图像元素的简称)。阵列或图像在水平方向和垂直方向(或轴线)上的样本数量限定了图像的大小和/或分辨率。为了表示颜色,通常采用3个颜色分量,即图像可以表示为或可以包括3个样本阵列。在rgb格式或颜色空间中,一个图像包括对应的红色、绿色和蓝色样本阵列。但是,在视频译码中,每个像素通常以亮度/色度格式或颜色空间表示,例如,ycbcr,包括y表示的亮度分量(有时还用l表示)以及cb和cr表示的2个色度分量。亮度(luminance,简写为luma)分量y表示亮度或灰度级强度(例如,在灰度等级图像中两者相同),而2个色度(chrominance,简写为chroma)分量cb和cr表示色度或颜色信息分量。因此,ycbcr格式的图像包括由亮度样本值(y)组成的亮度样本阵列和由色度值(cb和cr)组成的2个色度样本阵列。rgb格式的图像可以转换或变换为ycbcr格式,反之亦然。该过程也称为颜色变换或转换。如果图像是黑白的,则该图像可以只包括亮度样本阵列。
[0143]
输入图像102可以由用于捕获图像的摄像机等产生,或者从包括或存储先前捕获或生成的图像的存储器(例如,图像存储器)中读取,和/或从任何类型的用于获取或接收图像的接口(内部或外部)读取。上述摄像机可以是集成在传感器或源设备中的本地或集成摄像机,上述存储器可以是集成在源设备中的本地或集成存储器。上述接口可以是从外部视频源接收图像的外部接口,该外部视频源可以是摄像机等外部图像捕获设备、外部存储器或外部图像生成设备,例如,外部计算机图形处理器、计算机或服务器。上述接口可以是任何类型的接口,例如,基于任何私有或标准化接口协议的有线接口或无线接口或光接口。
[0144]
根据本发明的一种示例性实现方式,所述处理电路用于:通过使用所述训练过的网络中的一个或多个增强层网络层来处理所述输入图像,生成所述潜在空间中的所述增强层特征;将所述潜在空间中的特征细分为所述基本层特征和所述增强层特征。
[0145]
图1示出了输入图像102输入到与训练过的网络对应的编码器神经网络110。编码器神经网络110处理输入图像并提供与基本特征112和增强特征114对应的两种特征数据作为输出。基本特征和增强特征属于潜在空间中的特征。
[0146]
图12以输入图像中的亮度分量和色度分量为例进一步说明了输入图像102的处理。在该示例中,训练过的网络包括多个下采样卷积层1200和它们之间的gdn层1220。在这种情况下,训练过的网络的输出是特征数据1130,包括基本层特征和增强层特征。请注意,特征数据1130对应于图13和图14中的经重建特征数据1160,用作解码端的输入。结合图1,
特征数据1130包括基本层特征112和增强层特征114。在编码器神经网络的末端,特征数据(即全部潜在空间特征)被分割成两个特征数据集,即基本特征数据112和增强特征数据114。
[0147]
需要说明的是,图12只是可能的示例性实现方式之一。基本特征数据112和增强特征数据114可以是来自单个网络层的特征数据的子集。但是,可以设想,基本层特征是从位于(按照处理顺序)输出增强层特征的层之前的网络层输出的。
[0148]
图1示出了输入图像102可以由预处理单元进行预处理,该预处理单元可以用于接收(原始)图像数据,并对图像数据执行预处理以获取预处理图像或预处理图像数据。预处理单元执行的预处理可以包括修剪(trimming)、颜色格式转换(例如,从rgb转换为ycbcr)、调色或去噪等。一般而言,本发明不限于输入一个以上颜色分量(通道)。可以改为处理灰度图像或甚至处理黑白图像。还需要说明的是,可以设想以下实施例:只处理一个颜色通道(例如,亮度通道)以获取基本层特征,而处理一个以上颜色通道以获取增强层特征。具体的实现方式可以取决于所需的计算机视觉任务。
[0149]
编码器系统100用于接收(可选地预处理后的)输入图像102,并提供基本特征码流122和增强特征码流124。
[0150]
这些码流可以传输到另一设备,例如,目的地设备或任何其它设备,以用于存储或直接重建,或在存储经编码码流和/或将经编码码流传输到另一设备(例如,目的地设备或用于解码或存储的任何其它设备)之前分别处理基本特征码流122和/或增强特征码流124。
[0151]
目的地设备包括基本特征解码器系统160和可选地包括增强特征解码器系统130,并且还可以(即可选地)包括通信接口或通信单元、后处理单元和显示设备。
[0152]
目的地设备中的通信接口用于接收基本特征码流122和可选地接收增强特征码流124,例如,直接从编码器系统100或从任何其它源(例如,存储介质、经编码码流存储器等存储器)接收。
[0153]
编码器系统100和解码器系统130和160中的通信接口可以用于通过编码设备和解码设备之间的直接通信链路(例如,直接有线或无线连接)或者通过任何类型的网络(例如,有线网络或无线网络或其任意组合,或者任何类型的私网和公网,或者其任意类型的组合)传输或接收基本特征码流122和/或增强特征码流124。
[0154]
例如,编码端通信接口可以用于将基本特征码流122和可选的增强特征码流124封装成合适的格式(例如,数据包),以便通过通信链路或通信网络进行传输,并且还可以包括数据丢失保护和数据丢失恢复。这两个码流也可以复用。
[0155]
例如,与编码端通信接口对应的解码端通信接口可以用于解复用和解封装经编码码流,以获取基本特征码流122和可选地获取增强特征码流124,并且还可以用于执行数据丢失保护和数据丢失恢复,例如,包括差错隐藏或抗丢包。
[0156]
编码端通信接口和解码端通信接口均可以配置为图1中从编码器系统100指向解码器系统130和160的基本特征码流122和增强特征码流124的箭头所表示的单向通信接口,或者配置为双向通信接口,并且可以用于发送和接收消息等,以建立连接、确认和/或重新发送丢失或延迟的数据,以及交换与通信链路和/或数据传输(例如,基本和增强特征数据传输)相关的任何其它信息,等等。
[0157]
需要说明的是,解码端不必同时包括基本特征解码系统160和增强层解码系统
130。对于计算机视觉处理任务,一个设备可以仅实现基本特征解码系统160。在这类情况下,可以设想只接收基本层特征码流。但是,也可以设想接收(获取)包括两个容器(基本层特征码流和增强层特征码流)的码流,并且仅提取(解析)和解码基本层特征码流。对于人类视觉任务(图像重建),解码系统160和130都包括在内,如图1所示。可选地,可以提供仅用于图像重建的解码系统,该解码系统不执行机器视觉任务,而仅仅对基本层特征和增强层特征进行解码并相应地重建图像。
[0158]
根据本发明的一个实施例,提供了一种用于处理码流的装置。
[0159]
图17是用于码流处理的装置1700的框图。所述装置包括处理电路1710,处理电路1710用于获取包括潜在空间中的基本层特征的基本层码流和包括增强层特征的增强层码流。处理电路1710还用于:从所述基本层码流中提取所述基本层特征;执行以下至少一个操作:(i)根据所述基本层特征执行计算机视觉处理;从所述增强层码流中提取所述增强层特征,并(ii)根据所述基本层特征和所述增强层特征重建图像(所述图像中的样本)。
[0160]
根据基本层特征执行计算机视觉处理可以包括只使用基本层特征而不使用增强层特征来执行所述cv处理。
[0161]
在图17所示的装置1700的一种示例性实现方式中,配置处理电路1710可以包括:所述电路包括用于处理的相应模块。这可以包括:获取模块1712,用于获取基本层码流;提取模块1714,用于从所述基本层码流中提取基本层特征;cv处理模块1716,用于对基本层特征执行计算机视觉处理。这些模块还可以包括提取模块1718,用于从增强层码流中提取增强层特征。然后,重建模块1720可以根据基本层特征和增强层特征重建图像。
[0162]
图像的重建可以在样本(像素)域中执行。增强层特征也可以属于潜在空间(例如,如上结合图14所述)。
[0163]
因此,一个或多个基本层特征的获取可以独立于增强层特征,因为基本特征和增强特征已经编码在不同的(即独立的)层中。但是这两个层都编码到码流中或不同的码流中。因此,按需(即仅在需要时,例如,根据与解码系统(130)对应的设备的请求)提取增强层特征可以获取到增强层特征。
[0164]
图5示出了根据请求访问增强层特征,其中,cv分析器500对基本层特征执行计算机视觉处理,并且可以通过向增强特征码流存储器510发送访问请求511来触发图像重建。
[0165]
解码器系统160和130分别用于接收基本特征码流122和增强特征码流124,并且提供经变换特征数据182和可选地提供经重建图像152。
[0166]
根据一种实现方式,所述重建图像包括:组合所述基本层特征和所述增强层特征;根据所述组合特征重建所述图像。
[0167]
因此,组合特征是潜在空间特征,表示潜在空间中的一个或多个特征是作为编码端的训练过的网络中的隐藏层等的输出的特征。组合基本特征和增强特征可以包括合并基本层特征和增强层特征。因此,潜在空间特征可以通过公共特征张量访问。在图14中,所述公共特征张量对应于经重建特征数据1160,该数据输入到语法解码器1170以重建图像。
[0168]
在另一个实现示例中,所述计算机视觉处理包括通过第一训练过的子网络中的一个或多个网络层处理所述基本层特征。
[0169]
第一训练过的子网络可以是基于机器学习的网络,包括与编码端的训练过的网络相似的nn、cnn、fcnn等。术语“子网络”不是以限制性意义解释的,表示术语“子网络”可以是
同时执行cv和hv处理任务的(主)网络的一部分。在这种情况下,cv子网络被理解为子网络。可选地,第一子网络可以是单独的网络,在执行cv处理时,可以不与解码端的其它网络进行交互。
[0170]
第一训练过的子网络可以与编码端的训练过的网络以类似的方式配置,包括一个或多个卷积层和逆gdn层,以将基本层特征变换为经变换特征数据182,如图14所示。除了第一子网络之外,计算机视觉处理还包括执行一些计算机视觉处理的后端子网络190。因此,第一子网络和子网络190可以形成一个网络,或者可以认为第一子网络和子网络190是两个单独的网络。
[0171]
图1示出了基本特征码流122输入到基本特征解码器系统160。基本特征解码器系统160通过重建从基本层码流中提取基本层特征。相应的基本层特征输入到与第一训练过的子网络对应的潜在空间变换神经网络180。经变换特征数据182这时输入到cv后端网络190。cv后端网络190处理特征数据并提供cv输出192。第一子网络180和网络190可以联合训练。但是,还可以设想它们单独训练。
[0172]
图14示出了这种变换神经网络的一种示例性实现方式,其中,基本层特征通过网络中的多个层进行cv处理。如图14所示,从与潜在空间的特征张量对应的重建特征数据1160中提取基本层特征。在通过潜在空间变换神经网络180和后续的cv后端网络190进行处理之后,提供了cv输出192,其包括狮子、大象或长颈鹿等一列物体项。
[0173]
在另一个实现示例中,所述重建图像包括:通过与所述第一训练过的子网络不同的第二训练过的(子)网络150(例如,如图13所示,或在图14中示为系统解码器1170)中的一个或多个网络层处理所述组合特征。
[0174]
与第一训练过的子网络类似,第二训练过的(子)网络可以是基于机器学习的网络,包括与编码端的训练过的网络相似的nn、cnn、fcnn等。这图12中说明,示出了第二训练过的网络的一个实现示例,包括多个上采样卷积层和它们之间的逆gdn(inverse gdn,igdn)层。如图所示,重建特征数据1160(即潜在空间的特征张量)输入到用于人视觉处理的第二训练过的(子)网络,以便提供经重建图像152作为输出。由于增强层特征在基本层特征之上使用,原始输入图像可以重建,从而可用于人类视觉,以观看真实的物体:狮子、大象和长颈鹿。
[0175]
图1示出了经重建增强特征数据142和经重建基本特征数据172输入到解码器神经网络150。换句话说,解码器nn 150使用潜在空间的整个特征张量来重建输入图像152。如图1所示,解码器nn 150不同于仅处理用于cv任务的基本层特征的潜在空间变换nn 180。因此,神经网络150和180独立地处理它们各自的输入特征数据,因此可以视为单独的网络。
[0176]
解码器神经网络150是第二训练过的子网络的一个示例。
[0177]
经重建图像152可以通过以下方式进行后处理:例如,颜色格式转换(例如,从ycbcr转换为rgb)、调色、修剪(trimming)或重采样,或者任何其它处理,以便提供图像由显示设备等显示,等等。显示设备可以向用户或观看者等显示图像。显示设备可以是或可以包括任何类型的用于表示经重建图像152或其后处理版本的显示器,例如,集成或外部显示器或显示屏。例如,上述显示器可以包括阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)、等离子显示器、有机发光二极管(organic light emitting diode,oled)显示器或任何类型的其它显示器,例如,放映机、投影仪、全息图
(3d)等。
[0178]
虽然图1将编码器系统100和解码器系统130和160作为单独的设备进行描述,但是设备实施例还可以包括两种系统或两种功能,即编码器系统100或对应功能以及解码器系统130和/或160或对应功能。在这些实施例中,编码器系统100或对应的功能以及解码器系统130和160或对应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
[0179]
根据描述,图1中示出的编码器系统100和/或解码器系统130和/或160中具有和(准确)划分的不同单元或功能可能根据实际设备和应用而有所不同,这对技术人员来说是显而易见的。
[0180]
因此,图1中示出的编码器系统100和解码器系统130和/或160只是本发明的示例性实施例,本发明实施例不限于图1中示出的那些系统。
[0181]
编码器系统100和解码器系统130和/或160可以包括多种设备中的任一种,包括任何类型的手持或固定设备,例如,笔记本或膝上型电脑、手机、智能手机、平板或平板电脑、摄像机、台式电脑、机顶盒、电视、显示设备、数字媒体播放器、视频游戏机、视频流设备、广播接收器设备等,并且可以不使用或使用任何类型的操作系统。
[0182]
在样本域中生成增强特征
[0183]
在上述实施例中,编码端的训练过的网络生成潜在空间中的特征,包括用作训练过的网络的输出的基本层特征和增强层特征。然后,这些特征划分成单独的特征数据,对应于基本层特征和增强层特征。
[0184]
根据本发明的一个实施例,所述处理电路用于通过以下操作生成所述增强层特征:根据所述基本层特征重建基本层图像;根据所述输入图像和所述基本层图像确定所述增强层特征。
[0185]
基本层图像包括一个或多个样本(或像素)。因此,重建基本层图像是在样本域中进行的。
[0186]
图2是可分级译码系统的一个实施例的示意框图,其中,译码系统包括编码器系统200,编码器系统200用于提供基本层码流242和增强层码流282。基本层码流242可以由基本层解码器系统250进行解码,增强层码流282可以由增强层解码器系统290进行解码。
[0187]
与上述实施例类似,输入图像202也可以由用于捕获图像的摄像机等产生,或者从包括或存储先前捕获或生成的图像的存储器(例如,图像存储器)中读取,和/或从任何类型的用于获取或接收图像的接口(内部或外部)读取。与图1中的输入图像102相关的所有描述(包括其特征和预处理)也适用于输入图像202。
[0188]
编码器系统200用于接收(可选地预处理后的)输入图像202,并提供基本层码流242和增强层码流282。
[0189]
这些码流可以传输到另一设备,例如,目的地设备或任何其它设备,以用于存储或直接重建,或在存储经编码码流和/或将经编码码流传输到另一设备(例如,目的地设备或用于解码或存储的任何其它设备)之前分别处理基本层码流242和/或增强层码流282。前面提到的与图1中的实施例相关的目的地设备和通信接口的所有描述(包括它们的特征和它们的操作性质)也适用于图2所示的实施例。
[0190]
图2示出了增强层码流不再基于通过训练过的网络处理输入图像而生成的全部潜
在空间特征,与上述实施例中的情况一样。相反,输入图像202通过计算机视觉前端进行处理。网络220对应于图1中的编码器系统100的编码器神经网络110(训练过的网络),并且仅提供基本层特征。与前面一样,基本层特征被编码到基本层码流242中,如图2所示。在编码端,基本层特征由基本层解码器250进行解码,并且用于重建基本层图像,对应于图2中的预测输入图像262。输入图像202和基本层图像都用于确定增强层特征,然后将增强层特征编码到增强层码流282中。
[0191]
在一个示例性实现方式中,所述确定所述增强层特征基于所述输入图像和所述基本图像之间的差值。例如,增强层特征可以是输入图像202和预测输入图像262(即基本层图像)之间的差值,如图2所示。换句话说,增强层特征是残差图像244。因此,基本层特征和el特征可以进行高效编码。这些差值可以进一步处理,以获取el特征,例如,这些差值可以使用训练过的模块(例如,nn中的一个或多个层)进行进一步编码,以进一步提高效率。因此,在一些示例性实现方式中,增强特征不一定是差值本身。即使增强层特征是差值,增强层特征仍然可以使用任何典型的残差编码方法(例如,已知图像/视频编解码器)进行(进一步)编码(压缩)。
[0192]
解码器系统260用于接收基本层码流242和增强层码流282,并提供经重建特征数据252和可选地提供经重建图像212。
[0193]
在一种示例性实现方式中,所述重建图像包括:根据所述基本层特征重建基本层图像;将所述增强层特征添加到所述基本层图像中。
[0194]
图2进一步详述了相应的处理,其中,解码器系统260将基本层码流242和增强层码流282作为输入。如前所述,相应特征被编码到这些单独的码流中。此外,如上所述执行cv处理,其中,基本层特征通过基本层解码器系统250从基本层码流中解码出,以重建基本层特征。基本层特征输入到后端网络。基本层特征的重建是预测输入图像262。预测输入图像262对应于基本层图像。基本层图像的预测在样本域中执行。预测输入图像被添加到根据增强层码流重建的增强层特征中。图3示出了基本层解码器系统250的一种示例性实现方式,其中,基本层特征通过神经网络330重建。
[0195]
根据一个示例,所述增强层特征基于编码端输入图像和所述基本层图像之间的差值。换句话说,增强层特征基于残差。因此,图像可以高效重建。具体地,图2示出了增强层特征是预测输入图像262添加到其中的经重建残差图像292。
[0196]
经重建图像212可以通过以下方式进行后处理:例如,颜色格式转换(例如,从ycbcr转换为rgb)、调色、修剪(trimming)或重采样,或者任何其它处理,以便提供图像由显示设备等显示,等等。所有前面提到的与经重建图像152相关的后处理和用途也适用于经重建图像212。
[0197]
例如,所述经重建图像是视频中的一帧,所述基本层特征和所述增强层特征针对所述视频中的多个帧。此外,所述处理电路还用于从码流(例如,包括所述基本层码流和所述增强层码流的复用码流)中每帧解复用所述基本层特征和所述增强层特征。但是,如上所述,可以设想,如果解码器仅执行机器视觉任务,则仅向解码器提供包括基本层特征码流的码流。
[0198]
虽然图2将编码器系统200和解码器系统260作为单独的设备进行描述,但是设备实施例还可以包括两种系统或两种功能,即编码器系统200或对应功能以及解码器系统260
或对应功能。在这些实施例中,编码器系统200或对应的功能以及解码器系统260或对应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
[0199]
根据描述,图2中示出的编码器系统200和/或解码器系统260中具有和(准确)划分的不同单元或功能可能根据实际设备和应用而有所不同,这对技术人员来说是显而易见的。
[0200]
因此,图2中示出的编码器系统200和解码器系统260只是本发明的示例性实施例,本发明实施例不限于图2中示出的那些系统。
[0201]
编码器系统200和解码器系统260可以包括多种设备中的任一种,包括任何类型的手持或固定设备,例如,笔记本或膝上型电脑、手机、智能手机、平板或平板电脑、摄像机、台式电脑、机顶盒、电视、显示设备、数字媒体播放器、视频游戏机、视频流设备、广播接收器设备等,并且可以不使用或使用任何类型的操作系统。
[0202]
具体地,使用增强层特征来重建图像可以在增强特征是差值(残差)时,使用hevc/vvc编解码器对增强特征进行解码,等等。
[0203]
编码器和编码方法的一些实施例
[0204]
图1中的编码器系统100包括编码器神经网络110和压缩子系统120。图1中的编码器神经网络110是训练过的网络的一个示例。编码器系统100用于接收输入图像102(如上所述,可以是可选地预处理后的),并产生基本特征码流122和增强特征码流124。输入图像102还可以称为当前图像或待译码图像(尤其是在视频译码中为了将当前图像与同一视频序列(也就是同样包括当前图像的视频序列)中的其它图像(例如,先前的经编码和/或经解码图像)区分开)。
[0205]
编码器神经网络110用于接收输入图像102(如上所述,可以是可选地预处理后的),并处理输入图像以产生一组特征,也称为特征张量或潜在空间数据。潜在空间的特征张量(即潜在空间中的特征)可以包括基本层特征和增强层特征。基本层特征和增强层特征也可以分别称为基本特征数据和增强特征数据。
[0206]
具体地,编码器神经网络110产生两组特征:基本特征数据112和增强特征数据114。在一个示例性实施例中,这两组特征可以表示潜在空间张量通道。基本特征数据和增强特征数据一起提供的信息足以重建输入图像。潜在空间特征数据包括的信息足以重建输入图像的神经网络包括具有gdn层的网络等。但是,这类网络不能直接用于编码器系统100;它们需要重新训练,使得与计算机视觉处理相关的特征被引导到潜在空间特征的子集(即,基本特征数据112)中,而与计算机视觉处理无关的其它特征被引导到潜在空间的其余部分(即,增强特征数据114)中。
[0207]
图9示出了输入图像102和对应的基本特征数据112的一个示例,其中,基本特征数据包括潜在空间特征张量的通道的子集,为了说明,通道拼接成图像。一些特征可以与输入图像102具有相似性,但它们在感知上与输入图像大不相同,因此它们不能实现足够精确的输入图像重建。它们的目的是支持计算机视觉处理任务,例如,图像分类、人类或物体检测、深度或距离估计、物体跟踪、物体分割、语义分割、实例分割、面部特征提取、脸部识别、人类识别、动作识别、异常检测等。在其它实施例中,基本特征数据可以包括潜在空间张量元素的其它子集。
[0208]
压缩子系统120接收这些基本特征数据112和增强特征数据114作为单独的输入,
然后使用熵编码器对基本特征数据112和增强特征数据114进行编码,生成了基本特征码流122和增强特征码流124。压缩子系统120还可以包括下面通常在压缩系统中发现的任何和所有处理块,例如,缩放、限幅(clipping)、空间和/或时间预测、变换、标量量化和向量量化,这些如本领域技术人员所知的方式使用。熵编码器可以用于对其输入数据应用熵编码算法或方案(例如,可变长度编码(variable length coding,vlc)方案、上下文自适应vlc方案(context adaptive vlc scheme,calvc)、算术编码方案、上下文自适应二进制算术编码(context adaptive binary arithmetic coding,cabac)或基于神经网络的熵编码),并产生基本特征码流122和增强特征码流124。
[0209]
图2中的编码器系统200包括计算机视觉处理前端网络220、基本层编码器系统240、基本层解码器系统250和增强层编码器系统280。编码器系统200用于接收输入图像202(如上所述,可以是可选地预处理后的),并产生基本层码流242和增强层码流282。输入图像202还可以称为当前图像或待译码图像(尤其是在视频译码中为了将当前图像与同一视频序列(也就是同样包括当前图像的视频序列)中的其它图像(例如,先前的经编码和/或经解码图像)区分开)。
[0210]
计算机视觉前端网络220用于接收输入图像202(如上所述,可以是可选地预处理后的),并处理输入图像以产生一组特征,也称为特征张量或潜在空间数据,如图2中的特征数据222所示。术语“计算机视觉前端网络”表示这是一个更大的计算机视觉处理网络的一部分,该网络已经训练成根据计算机视觉任务产生计算机视觉处理输出,例如,物体类别标签、物体边界框等。这类网络(现有框架)的示例包括:在k.simonyan等人发表的“very deep convolutional networks for large-scale image recognition(用于大规模图像识别的非常深度卷积网络)”中详述的视觉几何群(visual geometric group,vgg)、在k.he等人发表的“deep residual learning for image recognition(用于图像识别的深度残差学习)”中描述的残差(神经)网络resnet、j.redmon在“you only look once:unified,real-time object detection(只看一次:实时物体检测)”中论述的you-only-look-once(yolo)、w.liu在“ssd:single shot multibox detector(ssd:单发多框检测器)”中详述的单发检测器(single shot detector,ssd)、o.ronneberger在“u-net:convolutional networks for biomedical image segmentation(u-net:用于生物医学图像分割的卷积网络)”中论述的u-net,以及本领域已知的许多其它计算机视觉网络。这类网络的前端用于接收输入图像202并产生中间潜在空间特征数据222。这些特征数据222则可以输入到所述较大的计算机视觉处理网络的后端,以产生计算机视觉处理输出。较大的计算机视觉处理网络的后端将在解码器的上下文中论述。
[0211]
图10示出了输入图像202和对应的潜在空间特征数据222的一个示例,其中,为了说明,潜在空间特征张量通道拼接成图像。一些特征可以与输入图像202具有相似性,但它们在感知上与输入图像大不相同,因此它们不能实现足够精确的输入图像重建。它们的目的是支持计算机视觉任务,例如,图像分类、人类或物体检测、深度或距离估计、物体跟踪、物体分割、语义分割、实例分割、面部特征提取、脸部识别、人类识别、动作识别、异常检测等。基本层编码器系统240用于接收(潜在空间)特征数据222并产生基本层码流242。
[0212]
图3示出了基本层编码器系统240的详细内容。在图3中的基本层编码器系统240内,编码器神经网络320用于接收(潜在空间)特征数据222并产生编码器特征数据322。压缩
子系统340用于接收编码器特征数据322并产生基本层码流242。压缩子系统340包括熵编码器,并且还可以包括下面通常在压缩系统中发现的任何和所有处理块,例如,缩放、限幅(clipping)、空间和/或时间预测、变换、标量量化和向量量化,这些如本领域技术人员所知的方式使用。熵编码器可以用于对其输入数据应用熵编码算法或方案(例如,可变长度编码(variable length coding,vlc)方案、上下文自适应vlc方案(context adaptive vlc scheme,calvc)、算术编码方案、上下文自适应二进制算术编码(context adaptive binary arithmetic coding,cabac)或基于神经网络的熵编码),并产生基本层码流242。
[0213]
在图2的编码器系统200中,基本层解码器系统250用于接收基本层码流242并产生预测输入图像262。基本层解码器系统250的详细示意图如图3所示。
[0214]
图3中的基本层解码器系统250用于接收基本层码流242并产生经重建特征数据252和预测输入图像262。在不同的实施例中,可能只需要这些输出中的一个或两个输出。例如,基本层解码器系统250可以用于仅产生预测输入图像262,与图2中的编码器系统200中的情况一样。在另一个实施例中,基本层解码器系统250可以用于仅产生经重建特征数据252。基本层解码器系统250在图3中的示例性实施例仅仅是系统能够产生两个输出的说明,而不表示所有情况下都会产生或需要两个输出。
[0215]
在图3中的基本层解码器系统250内,解码子系统350用于接收基本层码流242并产生经解码特征数据352。特征重建神经网络330用于接收经解码特征数据352并产生经重建(潜在空间)特征数据252。在无损译码系统中,经重建(潜在空间)特征数据252等于图2中的特征数据222。在有损译码系统中,经重建(潜在空间)特征数据252近似(潜在空间)特征数据222。输入图像预测神经网络360用于接收经解码特征数据352并产生近似图2中输入图像202的预测输入图像262。
[0216]
在图2的编码器系统200中,从实际输入图像202中减去预测输入图像262,差值称为残差图像244。增强层编码器系统280用于接收残差图像244并产生增强层码流282。增强层编码器系统280包括熵编码器,并且还可以包括下面通常在压缩系统中发现的任何和所有处理块,例如,缩放、限幅(clipping)、空间和/或时间预测、变换、标量量化和向量量化,这些如本领域技术人员所知的方式使用。熵编码器可以用于对其输入数据应用熵编码算法或方案(例如,可变长度编码(variable length coding,vlc)方案、上下文自适应vlc方案(context adaptive vlc scheme,calvc)、算术编码方案、上下文自适应二进制算术编码(context adaptive binary arithmetic coding,cabac)或基于神经网络的熵编码),并产生增强层码流282。
[0217]
在一种示例性实现方式中,所示处理电路还用于对包括所示增强层特征的码流的一部分进行加密。因此,可以禁止图像重建,而且可以防止未经授权的观看者(用户)进行人类视觉处理。对码流的一部分进行加密可以包括对整个增强层进行加密。可选地,增强层的一个或多个部分(也就是码流的一个或多个部分)可以进行加密。
[0218]
解码器和解码方法的示例性实施例
[0219]
图1示出了两个解码器:基本特征解码器系统160和增强特征解码器系统130。虽然图1将基本特征解码器系统160和增强特征解码器系统130作为单独的设备进行描述,但是设备实施例还可以包括两种系统或两种功能,即基本特征解码器系统160或对应功能以及增强特征解码器系统130或对应功能。在这些实施例中,基本特征解码器系统160或对应的
功能以及增强特征解码器系统130或对应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
[0220]
基本特征解码器系统160用于接收基本特征码流122并产生两个输出:经重建基本特征数据172和经变换特征数据182。基本特征解码器系统160包括基本特征重建子系统170和潜在空间变换神经网络180。基本特征重建子系统170用于接收基本特征码流122并产生经重建基本特征数据172。在无损译码系统中,经重建基本特征数据172等于基本特征数据112。在有损译码系统中,经重建基本特征数据172近似基本特征数据112。基本特征重建子系统170包括熵解码器(与压缩子系统120中的熵编码器对应),并且可以可选地包括可用于压缩子系统120的其它处理块的对应块(例如,缩放、限幅(clipping)、空间和/或时间预测、变换、标量量化和向量量化),这些如本领域技术人员所知的方式使用。
[0221]
潜在空间变换神经网络180用于接收经重建基本特征数据172并产生经变换特征数据182。经变换特征数据182用作计算机视觉处理后端网络190的输入,计算机视觉处理后端网络190执行计算机视觉处理并产生计算机视觉处理输出192,计算机视觉处理输出192可以包括物体类别标签、物体边界框、面部标志或其它输出,取决于计算机视觉任务。在一个示例性实施例中,经变换特征数据182可以输入到某个预训练过的计算机视觉处理网络(例如,vgg、resnet、yolo、ssd、u-net等)的中间层,所述预训练过的网络中从引入经变换特征数据182的点到所述预训练过的网络的输出的那部分称为“计算机视觉后端网络”190。在这样的实施例中,潜在空间变换神经网络180会进行训练,并用于使用经重建基本特征数据172来近似预训练过的网络的中间层中的特征。
[0222]
增强特征解码器系统130用于接收增强特征码流124和经重建基本特征数据172,并产生经重建图像152。在无损译码系统中,经重建图像152等于输入图像102。在有损译码系统中,经重建图像152近似输入图像102。
[0223]
增强特征解码器系统130包括增强特征重建子系统140和解码器神经网络150。增强特征重建子系统140用于接收增强特征码流124并产生经重建增强特征数据142。在无损译码系统中,经重建增强特征数据142等于增强特征数据114。在有损译码系统中,经重建增强特征数据142近似增强特征数据114。增强特征重建子系统140包括熵解码器(与压缩子系统120中的熵编码器对应),并且可以可选地包括可用于压缩子系统120的其它处理块的对应块(例如,缩放、限幅(clipping)、空间和/或时间预测、变换、标量量化和向量量化),这些如本领域技术人员所知的方式使用。
[0224]
解码器神经网络150用于接收经重建增强特征数据142和经重建基本特征数据172,并产生经重建图像152。如上所述,在有损译码系统中,经重建图像152近似输入图像102。解码器神经网络150可以进行训练,并用于使近似误差(输入图像102和经重建图像152之间的差值)最小化,这种近似误差通过均方误差(mean squared error,mse)、平均绝对误差(mean absolute error,mae)或其它误差度量进行测量。可选地,解码器神经网络150可以进行训练,并用于使经重建图像152相对于输入图像102的感知质量最大化,这种感知质量通过结构相似度(structural similarity index measure,ssim)或其它感知度量进行测量。
[0225]
图2示出了解码器系统260,其包括基本层解码器系统250和增强层解码器系统290。解码器系统260用于接收基本层码流242和增强层码流282,并产生经重建特征数据252
和经重建图像212。在无损译码系统中,经重建(潜在空间)特征数据252等于(潜在空间)特征数据222,经重建图像212等于输入图像202。在有损译码系统中,经重建(潜在空间)特征数据252近似(潜在空间)特征数据222,经重建图像212近似输入图像202。
[0226]
图3详细示出了基本层解码器系统250。基本层解码器系统250用于接收基本层码流242并产生经重建(潜在空间)特征数据252和预测输入图像262。在不同的实施例中,可能只需要这些输出中的一个或两个输出。例如,基本层解码器系统250可以用于仅产生预测输入图像262,与图2中的编码器系统200中的情况一样。在另一个实施例中,基本层解码器系统250可以用于仅产生经重建特征数据252。基本层解码器系统250在图3中的示例性实施例仅仅是系统能够产生两个输出的说明,而不表示所有情况下都会产生或需要两个输出。
[0227]
图3中的基本层解码器系统250包括解码子系统350、特征重建神经网络330和输入图像预测神经网络360。解码子系统350用于接收基本层码流242并产生经解码特征数据352。解码子系统350包括熵解码器(与压缩子系统340中的熵编码器对应),并且可以可选地包括可用于压缩子系统340的其它处理块的对应块(例如,缩放、限幅(clipping)、空间和/或时间预测、变换、标量量化和向量量化),这些如本领域技术人员所知的方式使用。
[0228]
特征重建神经网络330用于接收经解码特征数据352并产生经重建(潜在空间)特征数据252。在无损译码系统中,经重建(潜在空间)特征数据252等于图2中的(潜在空间)特征数据222。在有损译码系统中,经重建(潜在空间)特征数据252近似(潜在空间)特征数据222。输入图像预测神经网络360用于接收经解码特征数据352并产生近似图2中输入图像202的预测输入图像262。
[0229]
图2中的增强层解码器子系统290用于接收增强层码流282并产生经重建残差图像292。在无损译码系统中,经重建残差图像292等于残差图像244。在有损译码系统中,经重建残差图像292近似残差图像244。增强层解码器子系统290包括熵解码器(与增强层编码器系统280中的熵编码器对应),并且可以可选地包括可用于增强层编码器系统280的其它处理块的对应块(例如,缩放、限幅(clipping)、空间和/或时间预测、变换、标量量化和向量量化),这些如本领域技术人员所知的方式使用。
[0230]
经重建残差图像292被添加到预测输入图像262中,以产生经重建图像212。经重建图像212可以经过后处理,如上所述。
[0231]
上文的描述示出了如何将视频和图像特征编码到基本特征(层)码流122(242)和增强特征(层)码流142(282)中,以及如何对这些码流进行解码。实际上,两个码流和可能与视频帧索引或其它参数相关的信息被封装成合适的格式。如上所述,基本特征(层)码流以复用方式与增强特征(层)码流组合成输出码流,输出码流可以在解码端解复用。
[0232]
根据一个实现示例,所述处理电路还用于对包括所述增强层特征的码流的一部分进行解密。对码流的一部分进行解密可以包括对整个增强层进行解密。可选地,增强层的一个或多个部分(也就是码流的一个或多个部分)可以进行解密。因此,包括增强层特征的码流的那部分只能通过解密来访问。因此,输入图像只能重建,从而在授权用户进行解密之后可用于人类视觉处理。因此,保护了人类视觉处理的隐私。
[0233]
图4示出了基本层数据和增强层数据的数据容器400和410的语法的一个示例性实施例。
[0234]
数据容器400的语法的一个示例性实施例包括由编码器系统100中的压缩子系统
120或编码器系统200中的基本层编码器系统240进行编码的基本特征(层)码流406。在两层的情况下,如在示例性实施例中所述,一个比特用于标识层索引(在基本层的情况下,l=0)。如果有两个以上层,则可以将几个比特分配给参数l。经译码基本数据头404包括与经译码基本特征(层)数据相关联的维度或分辨率信息,还可以包括与计算机视觉任务或计算机视觉任务神经网络190(230)相关的信息。有了这些参数,解码器就可以正确地解析经解码定点特征值,并重建浮点值。当然,特征张量的维度、特征的数量、特征在视频或帧中的位置等其它图像特征信息也可以添加到经译码基本数据头404中。经译码数据可以包指示特征类型的其它参数。
[0235]
数据容器410的语法的一个示例性实施例包括由编码器系统100中的压缩子系统120或编码器系统200中的增强层编码器系统280进行编码的增强特征(层)码流418。在两层的情况下,如在示例性实施例中所述,一个比特用于标识层索引(在增强层的情况下,l=1)。如果有两个以上层,则可以将几个比特分配给参数l。此外,一个比特(m)用于指示译码模式(在级联译码的情况下,m=1;在差分译码的情况下,m=0)。经译码增强数据头414包括与经译码增强特征(层)数据相关联的维度或分辨率信息,还可以包括与用于人类观看的输入图像重建有关的信息,例如,位深度、与原始输入图像相关联的任何范围或比例信息、感兴趣区域等。有了这些参数{l,m}和经译码增强数据头414,解码器就可以正确解析经解码定点增强特征(层)值,并重建浮点值。数据容器的语法的其它实施例可以在以下情况下不使用(不包括)译码模式(m):例如,模式是预定的或不改变(即固定的),对于整个视频图像序列、整个视频,或通常通过流配置。
[0236]
为了利用标准视频流架构,数据容器400和410可以被封装到标准视频流中,例如,h.264、h.265或h.266。在这类情况下,补充增强信息(supplemental enhancement information,sei)可以用于关于基本码流和/或增强码流的其它信息。
[0237]
当从视频帧中提取一个以上特征时,与该帧相关的所有提取到的图像特征都会一起放在单个数据容器中。如果使用标准视频流,则可以将此信息添加到视频码流中的视频帧的sei头中。通过这种方式,增强层中的特征与视频流同步。换句话说,与帧有关的特征和与帧有关的增强信息是相关联的。
[0238]
以下示例性实施例示出了视觉系统,其中,主要目标是完成计算机视觉(computer vision,cv)处理(cv分析),而不太需要输入图像重建。实际上需要此类系统的示例包括视频监控、监控和自动驾驶。通过在基本特征(层)码流中提供cv处理相关信息,这些示例性实施例能够高效地完成cv处理(cv分析),而不需要输入图像重建。
[0239]
图5示出了基于图1中的编解码器的本发明一个示例性实施例,其中,基于基本特征信息的cv处理/分析连续运行,而输入图像重建仅在请求时启用。cv分析器500用于接收基本特征码流122,使用基本特征解码器系统160对其进行解码,并产生用于cv处理(cv分析)的经变换特征数据180。图5中示出的cv处理(cv分析)的示例是脸部识别540和物体检测550,但是其它cv处理(cv分析)可以使用合适的特征(即,使用图1中的适当训练过的潜在空间变换神经网络180)来支持。cv分析器500还为经重建基本特征数据172提供基本特征存储520和基本特征检索530。
[0240]
由编码器系统100产生的增强特征码流124存储在增强特征码流存储器510中。当需要输入图像重建时,cv分析器发送访问请求信号511(可选地,相同的信号可以由人工操
作员发送)。这会使得增强特征码流存储器510中的增强特征码流124和基本特征存储器520中的重建基本特征数据172移动到增强特征解码器系统130中,并如上所述进行解码。因此产生了经重建图像152。
[0241]
图6示出了基于图2中的编解码器的本发明一个示例性实施例,其中,基于基本特征信息的cv分析连续运行,而输入图像重建仅在请求时启用。cv分析器600用于接收基本层码流242,使用基本特征解码器系统250对其进行解码,并产生用于cv分析(cv处理)的经重建特征数据252。图6中示出的cv分析(cv处理)的示例是脸部识别540和物体检测550,但是其它cv分析(cv处理)可以使用合适的特征(即,使用图2中的合适计算机视觉前端网络220)来支持。cv分析器600还提供经解码特征数据存储630,其中存储了图3中的经解码特征数据352。
[0242]
由编码器系统200产生的增强层码流282存储在增强层码流存储器610中。当需要输入图像重建时,cv分析器发送访问请求信号611(可选地,相同的信号可以由人工操作员发送)。这会使得增强层码流282从增强层码流存储器610移动到增强层解码器系统290中,并如上所述进行解码以产生增强信息。相同的访问请求信号会使得经解码特征数据存储器630中的经解码特征数据发送到输入预测神经网络360,这会产生预测输入图像262。当增强信息添加到预测输入图像262中时,产生了经重建图像212。
[0243]
与图5中示出的实施例相比,图6中的实施例的优点是,预测输入图像262可以直接从cv分析器600获取,而无需进行增强层解码。这可以降低生成输入图像近似的计算复杂性。但是,一旦增强层码流282完成解码并且增强信息添加到预测输入图像262中,就可以获取到质量更好的图像(具体是经重建图像212)。
[0244]
图11示出了基于图1中的编解码器的适用于协同智能的本发明一个示例性实施例。编码器系统1100用于接收输入图像102并产生两个码流:边码流1140和主码流1145。在本实施例中,边码流和主码流都编码基本特征和增强特征(即,基本特征和增强特征在码流级别不分离)。输入图像102由分析编码器1120(下文详述)进行处理,产生了潜在空间特征数据1130。潜在空间特征数据1130包括基本特征数据和增强特征数据,但在本实施例中,基本特征数据和增强特征数据不编码到单独的码流中。潜空间特征数据1130通过超分析进行处理,以产生超参数,这些超参数进行量化(q)并使用算术编码器(ae)编码到边码流1140中。在这种情况下,“超参数”是用于提高熵编码效率的参数。超参数用于计算熵参数,熵参数用于潜在空间特征数据1130的算术编码(arithmetic encoding,ae)以产生主码流1145。
[0245]
图11中的解码器系统1150用于接收边码流1140和主码流1145,并产生经变换特征数据182和可选的经重建图像152。边码流1140进行算术解码(arithmetic decoding,ad)以重建超参数,然后对其进行处理以计算熵参数。熵参数用于潜在空间特征数据的算术解码(arithmetic decoding,ad),以获取经重建特征数据1160。然后,提取经重建特征数据1160的子集以产生经重建基本特征数据1170。经重建基本特征数据输入到潜在空间变换神经网络180中,以产生用于计算机视觉处理任务的经变换特征数据182。可选地,整个重建特征数据1160可以由合成解码器1170进行解码以产生经重建图像152。
[0246]
图12是分析编码器1120在输入图像102使用yuv420格式的情况下的详细图示,包括一个亮度分量1203(y)和两个色度分量1204(u和v)。亮度分量1203由卷积层(conv)、下采样(
↓
2)和广义除法归一化(generalized divisive normalization,gdn)层进行处理。色度
分量1204由conv层和gdn层进行处理。然后,处理后的亮度分量和色度分量进行级联并由一系列conv、下采样和gdn层进行处理,产生了特征数据1130。
[0247]
图13是合成解码器1170在输入图像102使用yuv420格式的情况下的详细图示。在这种情况下,经重建图像也使用yuv420格式。经重建特征数据1160由一系列conv层、上采样(
↑
2)和逆广义除法归一化(inverse generalized divisive normalization,igdn)层进行处理。然后,处理后的特征数据划分成亮度相关特征数据和色度相关特征数据。亮度相关特征数据由一系列conv、上采样和igdn层进行处理,产生了经重建亮度分量1303。色度相关特征数据由一系列conv、上采样和igdn层进行处理,产生了经重建色度分量1304。经重建亮度分量1303和经重建色度分量1304进行组合,产生了使用yuv420格式的经重建图像152。
[0248]
图14示出了图11中的本发明实施例的另一个示例,其中,cv分析任务是物体识别。经重建基本特征数据1170从经重建特征数据1160中提取,并输入到潜在空间变换神经网络180中。潜在空间变换神经网络180包括一系列conv、上采样和igdn层,并产生经变换特征数据182。经变换特征数据180输入到计算机视觉后端网络190中,产生了计算机视觉输出192。当cv分析任务是物体检测时,如图14所示,计算机视觉输出192包括输入图像中物体的边界框坐标、物体类别标签(“狮子”、“大象
”……
)和置信度。可选地,经重建特征数据1160可以输入到合成解码器1170,产生了经重建图像152。
[0249]
更详细地,当查看图11时,特征数据1130可以是特征张量y,其被编码到码流中并包括(可分离的)基本层特征和增强层特征。基本层特征和增强层特征可以在码流中进行量化/有损编码,因此,一般而言,解码端对与张量对应的经重建特征数据1160进行解码。换句话说,对接收到的码流进行正确解码可以获取到经重建潜在特征张量学习并共用一些潜在特征不仅表示输入重建,而且还表示物体特征相关信息。因此,经解码潜在的子集(其中,j《n)用作潜在变换块180的输入,潜在变换块180产生目标视觉任务网络(180+190)中的中间层的估计输出张量182。在使用进行网络计算时,剩余的潜在特征{y(j+1),...,yn}被忽略(或者,在一些实施例中,甚至没有接收或没有从码流中解码出)。将这种与计算机视觉任务相关的操作称为用于机器视觉的基本层,它独立于上述人类视觉任务。只有当需要输入重建任务时,才通过将整个用作合成解码器1170的输入来估计输入图像,使潜在空间可分级性起作用。
[0250]
在一个实施例中,参考图11,分析编码器1120是gdn分析网络,其为每个输入图像102产生包括192个通道(n=192)的潜在特征张量y。合成解码器1170是使用所有(n=192个)张量通道重建输入图像的gnd合成网络。这些通道的子集{y1,y2,
…
,yj}(其中,j=128)被指定为支持物体检测任务的基本层,而全部通道{y1,y2,...,y192}支持输入图像重建。在解码器系统1150中,经重建基本特征数据1170从剩余的潜在特征中分离出来,并传递到潜在空间变换神经网络180,产生了经变换特征数据182。经变换特征数据182输入到yolov3物体检测神经网络中的层12。为了确保基本层(即潜在空间张量通道{y1,y2,
…
,y128})确实支持物体检测,编码器系统1100和解码器系统1150进行端到端联合训练。对于该训练,损失函数包括将输入图像重建的保真度测量为经重建图像152的至少一个项和将重建yolov3网络中的层12的特征的保真度测量为经变换特征数据182的至少一个项。
[0251]
根据本发明的一个实施例,提供了一种对输入图像进行编码的方法。编码方法如图18所示,包括生成(s1810)用于计算机视觉处理的潜在空间中的基本层特征。所述生成基本层特征包括:使用训练过的网络中的一个或多个基本层网络层来处理所述输入图像。此外,所述方法包括:根据所述输入图像,生成(s1820)用于重建所述输入图像的增强层特征。此外,所述方法包括:将所述基本层特征编码(s1830)到基本层码流中,并将所述增强层特征编码到增强层码流中。
[0252]
根据本发明的一个实施例,提供了一种处理码流的方法。码流处理方法如图19所示,包括:获取(s1910)包括潜在空间中的基本层特征的基本层码流和包括增强层特征的增强层码流。此外,所述方法包括:从所述基本层码流中提取(s1920)所述基本层特征。此外,所述方法包括执行以下至少一个操作:根据所述基本层特征执行计算机视觉处理(s1930);从所述增强层码流中提取(s1940)所述增强层特征,并根据所述基本层特征和所述增强层特征重建(1942)图像。
[0253]
根据本发明的一个实施例,提供了一种存储程序的计算机可读非瞬时性介质。所述程序包括指令,当所述指令在一个或多个处理器上执行时,所述指令使得所述一个或多个处理器执行根据任一上述实施例所述的方法。
[0254]
根据本发明的一个实施例,提供了用于对输入图像进行编码的装置。所示装置包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述一个或多个处理器并存储供所述一个或多个处理器执行的程序,其中,当所述程序由所述一个或多个处理器执行时,所述编码器用于执行上述编码方法。
[0255]
根据本发明的一个实施例,提供了一种用于处理码流的装置。所述装置包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述一个或多个处理器并存储供所述一个或多个处理器执行的程序,其中,当所述程序由所述一个或多个处理器执行时,所所述装置用于执行上述码流处理方法。
[0256]
根据本发明的一个实施例,提供了一种包括程序代码的计算机程序。当所述程序代码在计算机上执行时,所述程序代码用于执行根据任一上述实施例所述的方法。
[0257]
所述程序可以是一个按顺序执行用于对视频和相关特征进行编码和重建的指令的程序。可选地,所述程序可以包括用于对视频和关联特征进行编码的第一程序和与第一程序不同的用于重建视频和关联特征的第二程序。
[0258]
由于使用了高质量的图像特征,本发明实施例能够通过计算机视觉算法更高效、准确和可靠地执行计算机视觉分析(cv处理)。这些图像特征是在摄像机拍摄视频的那一端确定的,而且图像特征是从通常执行的未压缩(即未失真)视频中提取的。因此,物体检测和脸部识别等典型的计算机视觉任务可以高精度地执行。
[0259]
对于这类计算机视觉任务,最重要的是一个或多个图像特征具有高质量,以便在视频监控、计算机视觉特征译码或自动驾驶等应用中实现高精度。
[0260]
同时,最重要的是提取到的高质量图像特征经过高效编码(压缩),以确保计算机视觉任务可以使用较少的信息比特执行。这是通过本发明实施例来实现的,其中,特征被编码到基本特征码流或基本层码流中,这需要的比特比对输入视频进行编码需要的比特少。
[0261]
本发明实施例公开的方法可以在芯片上、监控摄像机中或具有基于摄像机的计算机视觉算法的其它消费型设备上使用和实现。
[0262]
请注意,本文提供了图像(帧)的解释,但在隔行图像信号的情况下,场代替图像。
[0263]
虽然本发明实施例已经主要基于视频译码进行了描述,但需要说明的是,权利要求书中规定的和本技术中描述的不使用帧间预测的任何实施例都是或也可以用于静态图像特征提取和静态图像处理或译码,即用于特征提取和基于与视频译码中任何一个或多个先前或连续图像无关的单个图像的处理或译码。本文中提供的关于视频图像实施例的公开内容同样适用于静态图像实施例。与视频特征提取和视频译码相比,唯一的区别是译码不使用帧间预测。
[0264]
本领域技术人员将理解,各种附图(方法和装置)中的“方框”(“单元”)表示或描述本发明实施例的功能(而不一定是硬件或软件中的独立“单元”),从而同等地描述装置实施例以及方法实施例的功能或特征。
[0265]
术语“单元”仅用于编码器/解码器实施例的功能的说明性目的,并不旨在限制本发明。
[0266]
在本技术中提供的几个实施例中,应当理解,所公开的系统、装置和方法可以通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是一种逻辑功能划分,实际实现时可以有其它划分方式。例如,可以将多个单元或组件合并或集成到另一系统中,或者可以忽略或不执行一些特征。另外,所显示或描述的相互耦合或直接耦合或通信连接可以通过一些接口来实现。装置或单元之间的直接耦合或通信连接可通过电子、光、机械或其它形式实现。
[0267]
作为分离部件描述的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,可以位于一个位置上,或者可以分布在多个网络单元上。可以根据实际需要选择一些或全部单元来实现实施例方案的目的。
[0268]
另外,本发明的实施例中的功能单元可集成到一个处理单元中,或每个单元可物理上单独存在,或两个或更多单元可集成到一个单元中。
[0269]
本发明实施例还可以包括一种装置,例如,编码器和/或解码器,包括用于执行本文中描述的任何方法和/或过程的处理电路。
[0270]
本发明中的编码器100、200和/或解码器130、160、260的实施例可以实现为硬件、固件、软件或其任意组合。例如,编码器/编码或解码器/解码的功能可以由包括或不包括软件固件的处理电路执行,例如,处理器、微控制器、数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field programmable gate array,fpga)、专用集成电路(application-specific integrated circuit,asic)等。
[0271]
编码器100、200(和对应的编码方法100、200)和/或解码器130、160、260(和对应的解码方法130、160、260)等任何实施例的功能可以通过存储在计算机可读介质中的程序指令来实现。所述程序指令在执行时,使得处理电路、计算机、处理器等执行编码和/或解码方法的步骤。计算机可读介质可以是存储程序的任何介质,包括非瞬时性存储介质,例如,蓝光光盘、dvd、cd、usb(闪存)驱动器、硬盘、通过网络可用的服务器存储器等。
[0272]
本发明的一个实施例包括或是一种包括程序代码的计算机程序。当所述程序代码在计算机上执行时,所述程序代码用于执行本文中描述的任何方法。
[0273]
本发明的一个实施例包括或是一种包括程序代码的非瞬时性计算机可读介质。当所述程序代码由处理器执行时,所述程序代码使得计算机系统执行本文中描述的任何方
法。
[0274]
上文论述的本发明实施例包括将增强特征编码到对应的码流中,并且需要在帧的基础上重建视频中的原始输入图像。相应的图像处理任务,即增强层(视频)中的编码和解码可以由视频译码系统执行。
[0275]
图20至图22示出了视频译码系统和方法的一种示例性实现方式,它们可以与在附图中描述的本发明更具体的实施例一起使用。
[0276]
图20a是可以利用本技术中技术的示例性译码系统10(例如,视频译码系统10(或简称为译码系统10))的示意框图。视频译码系统10中的视频编码器20(或简称为编码器20)和视频解码器30(或简称为解码器30)是两个示例,即可以用于根据本技术中描述的各种示例执行各种技术的设备。
[0277]
如图20a所示,译码系统10包括源设备12,源设备12用于提供经编码图像数据21,例如,提供给目的地设备14;目的地设备对经编码图像数据13进行解码。
[0278]
源设备12包括编码器20,并且可以另外(即可选地)可以包括图像源16、预处理器(或预处理单元)18(例如,图像预处理器18)和通信接口或通信单元22。本发明的一些实施例(例如,涉及两个连续层之间的初始缩放或缩放)可以由编码器20实现。一些实施例(例如,设计初始缩放)可以由图像预处理器18实现。
[0279]
图像源16可以包括或者可以是任何类型的用于捕获真实世界图像的摄像机等图像捕获设备,和/或任何类型的用于生成计算机动画图像的计算机图形处理器等图像生成设备,或者任何类型的用于获取和/或提供真实世界图像、计算机生成图像(例如,屏幕内容、虚拟现实(virtual reality,vr)图像)和/或其任意组合(例如增强现实(augmented reality,ar)图像)的其它设备。图像源可以是任何类型的存储任一上述图像的存储器或存储。
[0280]
为了区分预处理器18和预处理单元18执行的处理,图像或图像数据17还可以称为原始图像或原始图像数据17。
[0281]
预处理器18用于接收(原始)图像数据17并对图像数据17执行预处理,以获取预处理图像19或预处理图像数据19。预处理器18执行的预处理可以包括修剪(trimming)、颜色格式转换(例如,从rgb转换为ycbcr)、调色或去噪等。可以理解的是,预处理单元18可以是可选组件。
[0282]
视频编码器20用于接收预处理图像数据19并提供经编码图像数据21。编码器20可以通过处理电路46实现,以实现各种模块。
[0283]
源设备12中的通信接口22可以用于接收经编码图像数据21,并通过通信信道13将经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据)传输给另一设备,例如,目的地设备14或任何其它设备,以便进行存储或直接重建。
[0284]
目的地设备14包括解码器30(例如,视频解码器30),并且可以另外(即可选地)包括通信接口或通信单元28、后处理器32(或后处理单元32)和显示设备34。
[0285]
目的地设备14中的通信接口28用于直接从源设备12或从存储设备(例如,经编码图像数据存储设备)等任何其它源,接收经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据),并将经编码图像数据21提供给解码器30。
[0286]
通信接口22和通信接口28可以用于通过源设备12和目的地设备14之间的直接通
信链路(例如,直接有线或无线连接)或者通过任何类型的网络(例如,有线网络或无线网络或其任何组合,或者任何类型的私网和公网,或者其任何类型的组合)传输或接收经编码图像数据21或经编码数据13。
[0287]
例如,通信接口22可以用于将经编码图像数据21封装成合适的格式(例如,数据包),和/或通过任何类型的传输编码或处理方式来处理经编码图像数据,以便通过通信链路或通信网络进行传输。
[0288]
例如,与通信接口22对应的通信接口28可以用于接收传输数据,并使用任何类型的对应传输解码或处理方式和/或解封装方式对传输数据进行处理,以获取经编码图像数据21。
[0289]
通信接口22和通信接口28均可以配置为图1a中从源设备12指向目的地设备14的通信信道13的箭头所表示的单向通信接口,或者配置为双向通信接口,并且可以用于发送和接收消息等,以建立连接、确认并交换与通信链路和/或数据传输(例如,经编码图像数据传输)相关的任何其它信息等。
[0290]
解码器30用于接收经编码图像数据21并提供经解码图像数据31或经解码图像31(例如,更多详细内容基于图22等在下文描述)。解码器30可以通过处理电路46实现,以实现各种模块。
[0291]
目的地设备14中的后处理器32用于对经解码图像数据31(也称为重建图像数据)(例如,经解码图像31)进行后处理,以获取后处理图像数据33(例如,后处理图像33)。后处理单元32执行的后处理可以包括,例如,颜色格式转换(例如,从ycbcr转换为rgb)、调色、修剪或重采样,或者任何其它处理,以便提供经解码图像数据31由显示设备34等显示,等等。
[0292]
本发明的一些实施例可以由解码器30或后处理器32实现。
[0293]
目的地设备14中的显示设备34用于接收后处理图像数据33,以便向用户或观看者等显示图像。显示设备34可以是或可以包括任何类型的用于表示经重建图像的显示器,例如,集成或外部显示器或显示屏。例如,显示器可以包括液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light emitting diode,oled)显示器、等离子显示器、投影仪、微型led显示器、硅基液晶(liquid crystal on silicon,lcos)显示器、数字光处理器(digital light processor,dlp)或任何类型的其它显示器。
[0294]
尽管图20a将源设备12和目的地设备14作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备12或对应功能以及目的地设备14或对应功能。在这些实施例中,源设备12或对应的功能以及目的地设备14或对应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
[0295]
根据描述,图20a所示的源设备12和/或目的地设备14中具有和(准确)划分的不同单元或功能可能根据实际设备和应用而有所不同,这对技术人员来说是显而易见的。
[0296]
编码器20(例如,视频编码器20)或解码器30(例如,视频解码器30),或编码器20和解码器30都可以通过如图1b所示的处理电路来实现,例如,一个或多个微处理器、一个或多个数字信号处理器(digital signal processor,dsp)、一个或多个专用集成电路(application-specific integrated circuit,asic)、一个或多个现场可编程门阵列(field-programmable gate array,fpga)、一个或多个离散逻辑、一个或多个硬件、一个或多个视频编码专用处理器或其任意组合。编码器20可以通过处理电路46来实现,以体现本
文中描述的各种模块和/或任何其它编码器系统或子系统。解码器30可以通过处理电路46来实现,以体现本文中描述的各种模块和/或任何其它解码器系统或子系统。处理电路可以用于执行下文论述的各种操作。如图22所示,如果上述技术部分地以软件形式实现,则设备可以将该软件的指令存储在合适的非瞬时性计算机可读存储介质中,并且可以通过一个或多个处理器以硬件形式执行这些指令,以实现本发明中的技术。视频编码器20和视频解码器30中的任一个可以作为组合编码器/解码器(编解码器)的一部分集成在单个设备中,例如,如图20b所示。
[0297]
源设备12和目的地设备14可以包括多种设备中的任一种,包括任何类型的手持或固定设备,例如,笔记本或膝上型电脑、手机、智能手机、平板或平板电脑、摄像机、台式电脑、机顶盒、电视、显示设备、数字媒体播放器、视频游戏机、视频流设备(例如,内容业务服务器或内容分发服务器)、广播接收器设备、广播发送器设备等,并且可以不使用或使用任何类型的操作系统。在一些情况下,源设备12和目的地设备14可以配备用于无线通信。因此,源设备12和目的地设备14可以是无线通信设备。
[0298]
在一些情况下,图20a所示的视频译码系统10仅仅是示例性的,本技术提供的技术可以适用于视频译码设置(例如,视频编码或视频解码),这些设置不一定包括编码设备和解码设备之间的任何数据通信。在其它示例中,数据从本地存储器检索、通过网络流式传输,等等。视频编码设备可以对数据进行编码并且将数据存储到存储器中,和/或视频解码设备可以从存储器检索数据并且对数据进行解码。在一些示例中,编码和解码由相互不通信而是仅仅将数据编码到存储器和/或从存储器检索数据并对数据进行解码的设备执行。
[0299]
图21是本发明一个实施例提供的视频译码设备400的示意图。视频译码设备400适用于实现本文中描述的公开实施例。在一个实施例中,视频译码设备400可以是解码器,例如,图20a中的视频解码器30,也可以是编码器,例如,图20a中的视频编码器20。
[0300]
视频译码设备400包括用于接收数据的入端口410(或输入端口410)和接收单元(rx)420,用于处理所述数据的处理器、逻辑单元或中央处理器(central processing unit,cpu)430,用于传输所述数据的传输单元(tx)440和出端口450(或输出端口450)以及用于存储所述数据的存储器460。视频译码设备400还可以包括与入端口410、接收单元420、传输单元440和出端口450耦合的光电(optical-to-electrical,oe)组件和电光(electrical-to-optical,eo)组件,用作光信号或电信号的出口或入口。
[0301]
处理器430通过硬件和软件来实现。处理器430可以实现为一个或多个cpu芯片、一个或多个核(例如,作为多核处理器)、一个或多个fpga、一个或多个asic和一个或多个dsp。处理器430与入端口410、接收单元420、传输单元440、出端口450和存储器460进行通信。处理器430包括译码模块470。译码模块470实现上文描述的公开实施例。例如,译码模块470执行、处理、准备或提供各种译码操作。因此,将译码模块470包含在内为视频译码设备400的功能提供了实质性的改进,并且影响了视频译码设备400到不同状态的转换。可选地,以存储在存储器460中并由处理器430执行的指令来实现译码模块470。
[0302]
存储器460可以包括一个或多个磁盘、一个或多个磁带机以及一个或多个固态硬盘,并且可以用作溢出数据存储设备,以在选择程序来执行时存储这些程序以及存储在执行程序过程中读取的指令和数据。例如,存储器460可以是易失性和/或非易失性存储器,并且可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,
ram)、三态内容寻址存储器(ternary content-addressable memory,tcam)和/或静态随机存取存储器(static random-access memory,sram)。
[0303]
图22是一个示例性实施例提供的装置500的简化框图,其中,装置500可以用作图20a中的源设备12和目的地设备14中的任一个或两个。
[0304]
装置500中的处理器502可以是中央处理器。可选地,处理器502可以是现有的或今后将开发出的能够操作或处理信息的任何其它类型的设备或多个设备。虽然所公开的实现方式可以使用如图所示的处理器502等单个处理器来实施,但使用多个处理器可以提高速度和效率。
[0305]
在一种实现方式中,装置500中的存储器504可以是只读存储器(read only memory,rom)设备或随机存取存储器(random access memory,ram)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可以包括操作系统508和应用程序510,应用程序510包括至少一个程序,至少一个程序使得处理器502执行本文描述的方法。例如,应用程序510可以包括应用1至应用n,还包括执行本文描述的方法的视频译码应用。
[0306]
装置500还可以包括一个或多个输出设备,例如,显示器518。在一个示例中,显示器518可以是将显示器与触敏元件组合的触敏显示器,其中,该触敏元件能够用于感测触摸输入。显示器518可以通过总线512耦合到处理器502。
[0307]
虽然装置500中的总线512在本文描述为单个总线,但是总线512可以包括多个总线。此外,辅助存储器514可以直接耦合到装置500中的其它组件或可以通过网络访问,并且可以包括单个集成单元(例如,一个存储卡)或多个单元(例如,多个存储卡)。因此,装置500可以通过多种配置来实现。
[0308]
总而言之,本发明涉及图像的可分级编码和解码。具体地,图像由训练过的模块中的一个或多个网络层进行处理,得到基本层特征。然后,通过训练过的网络在样本域中进行处理等方式得到增强层特征。基本层特征用于计算机视觉处理。基本层特征与增强层特征都用于与人类视觉等相关的图像重建。基本层特征和增强层特征在相应的基本层码流和增强层码流中进行译码。因此,提供了支持计算机视觉处理和/或图像重建的可分级译码。
[0309]
附图标记列表
[0310]
图1
[0311]
100 编码器系统
[0312]
102 输入图像
[0313]
110 编码器神经网络
[0314]
112 基本特征数据
[0315]
114 增强数据
[0316]
120 压缩子系统
[0317]
122 基本特征码流
[0318]
124 增强特征码流
[0319]
130 增强特征解码器系统
[0320]
140 增强特征重建子系统
[0321]
142 重建增强特征数据
[0322]
150 解码器神经网络
[0323]
152 经重建图像
[0324]
160基本特征解码器系统160
[0325]
170 基本特征重建子系统
[0326]
172 重建基本特征数据
[0327]
180 潜在空间变换神经网络
[0328]
182 变换特征数据
[0329]
190 计算机视觉后端网络
[0330]
192 计算机视觉输出
[0331]
图2
[0332]
200 编码器系统
[0333]
202 输入图像
[0334]
212 经重建图像
[0335]
220 计算机视觉前端网络
[0336]
222 特征数据
[0337]
230 计算机视觉后端网络
[0338]
232 计算机视觉输出
[0339]
240 基本层编码器系统
[0340]
242 基本层码流
[0341]
244 残差图像
[0342]
250 基本层解码器系统
[0343]
252 重建特征数据
[0344]
260 解码器系统260
[0345]
262 预测输入图像
[0346]
280 增强层编码器系统
[0347]
282 增强层码流
[0348]
290 增强层解码器系统
[0349]
292 重建残差图像
[0350]
图3
[0351]
320 编码器神经网络
[0352]
322 编码器特征数据
[0353]
330 特征重建神经网络
[0354]
340 压缩子系统
[0355]
350 解码子系统
[0356]
352 经解码特征数据
[0357]
360 输入预测神经网络
[0358]
图4
[0359]
400 基本层数据容器
[0360]
404 经译码基本数据头
[0361]
406 基本特征(层)码流
[0362]
410 增强层数据容器
[0363]
414 经译码增强数据头
[0364]
418 增强特征(层)码流
[0365]
图5
[0366]
500 cv分析器
[0367]
510 增强特征码流存储器
[0368]
511 访问请求
[0369]
520 基本特征存储
[0370]
530 基本特征检索
[0371]
540 脸部识别
[0372]
550 物体检测
[0373]
图6
[0374]
600 cv分析器
[0375]
610 增强层码流存储器
[0376]
611 访问请求
[0377]
630 经解码特征数据存储
[0378]
图7
[0379]
703 合成图像
[0380]
793 计算机视觉输出
[0381]
图8
[0382]
813 合成图像
[0383]
832 计算机视觉输出
[0384]
863合成图像
技术特征:
1.一种用于对输入图像进行编码的装置(1600),其特征在于,所述装置包括:处理电路(1610),用于:生成潜在空间中的用于计算机视觉处理的基本层特征,其中,所述生成基本层特征包括:使用训练过的网络中的一个或多个基本层网络层来处理所述输入图像;根据所述输入图像,生成用于重建所述输入图像的增强层特征;将所述基本层特征编码到基本层码流中,并将所述增强层特征编码到增强层码流中。2.根据权利要求1所述的装置,其特征在于,所述处理电路用于:通过使用所述训练过的网络在的一个或多个增强层网络层来处理所述输入图像,生成所述潜在空间中的所述增强层特征;将所述潜在空间中的特征细分为所述基本层特征和所述增强层特征。3.根据权利要求1所述的装置,其特征在于,所述处理电路用于通过以下操作生成所述增强层特征:根据所述基本层特征重建基本层图像;根据所述输入图像和所述基本层图像确定所述增强层特征。4.根据权利要求3所述的装置,其特征在于,所述确定所述增强层特征基于所述输入图像和所述基本图像之间的差值。5.根据权利要求1至4所述的装置,其特征在于,所述输入图像是视频中的一帧,所述处理电路用于为所述视频中的多个帧生成所述基本层特征和所述增强层特征。6.根据权利要求1至5所述的装置,其特征在于,所述处理电路还用于将所述基本层特征和所述增强层特征按帧复用到码流中。7.根据权利要求1至6中任一项所述的装置,其特征在于,所述处理电路还用于对包括所述增强层特征的码流的一部分进行加密。8.一种用于处理码流的装置(1800),其特征在于,所述装置包括:处理电路(1810),用于:获取包括潜在空间中的基本层特征的基本层码流和包括增强层特征的增强层码流;从所述基本层码流中提取所述基本层特征;执行以下至少一个操作:根据所述基本层特征执行计算机视觉处理;从所述增强层码流中提取所述增强层特征,并根据所述基本层特征和所述增强层特征重建图像。9.根据权利要求8所述的装置,其特征在于,所述重建图像包括:组合所述基本层特征和所述增强层特征;根据所述组合特征重建所述图像。10.根据权利要求8所述的装置,其特征在于,所述计算机视觉处理包括:通过第一训练过的子网络中的一个或多个网络层处理所述基本层特征。11.根据权利要求8至10所述的装置,其特征在于,所述重建图像包括:通过与所述第一训练过的子网络不同的第二训练过的子网络中的一个或多个网络层处理所述组合特征。12.根据权利要求8所述的装置,其特征在于,所述重建图像包括:根据所述基本层特征重建基本层图像;
将所述增强层特征添加到所述基本层图像中。13.根据权利要求12所述的装置,其特征在于,所述增强层特征基于编码端输入图像和所述基本层图像之间的差值。14.根据权利要求8至13所述的装置,其特征在于,所述经重建图像是视频中的一帧,所述基本层特征和所述增强层特征针对所述视频中的多个帧。15.根据权利要求8至14所述的装置,其特征在于,所述处理电路还用于从码流中按帧解复用所述基本层特征和所述增强层特征。16.根据权利要求8至15所述的装置,其特征在于,所述处理电路还用于对包括所述增强层特征的码流的一部分进行解密。17.一种用于对输入图像进行编码的方法,其特征在于,所述方法包括:生成(s1810)潜在空间中的用于计算机视觉处理的基本层特征,其中,所述生成基本层特征包括:使用训练过的网络中的一个或多个基本层网络层来处理所述输入图像;根据所述输入图像,生成(s1820)用于重建所述输入图像的增强层特征;将所述基本层特征编码(s1830)到基本层码流中,并将所述增强层特征编码到增强层码流中。18.一种用于处理码流的方法,其特征在于,所述方法包括:获取(s1910)包括潜在空间中的基本层特征的基本层码流和包括增强层特征的增强层码流;从所述基本层码流中提取(s1920)所述基本层特征;执行以下至少一个操作:根据所述基本层特征执行计算机视觉处理(s1940);从所述增强层码流中提取(s1942)所述增强层特征,并根据所述基本层特征和所述增强层特征重建图像。19.一种存储程序的计算机可读非瞬时性介质,其特征在于,所述程序包括指令,当所述指令在一个或多个处理器上执行时,所述指令使得所述一个或多个处理器执行根据权利要求17和/或18中任一项所述的方法。20.一种用于对输入图像进行编码的装置,其特征在于,所述装置包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述一个或多个处理器并存储供所述一个或多个处理器执行的程序,其中,当所述程序由所述一个或多个处理器执行时,所述编码器用于执行根据权利要求17所述的方法。21.一种用于处理码流的装置,其特征在于,所述装置包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述一个或多个处理器并存储供所述一个或多个处理器执行的程序,其中,当所述程序由所述一个或多个处理器执行时,所述装置用于执行根据权利要求18所述的方法。22.一种包括程序代码的计算机程序,其特征在于,当所述程序代码在计算机上执行时,所述程序代码用于执行根据权利要求17和/或18中任一项所述的方法。
技术总结
本发明涉及图像的可分级编码和解码。具体地,图像由训练过的模块中的一个或多个网络层进行处理,得到基本层特征。然后,通过训练过的网络在样本域中进行处理等方式得到增强层特征。基本层特征用于计算机视觉处理。基本层特征与增强层特征都用于与人类视觉等相关的图像重建。基本层特征和增强层特征在相应的基本层码流和增强层码流中进行译码。因此,提供了支持计算机视觉处理和/或图像重建的可分级译码。码。码。
技术研发人员:亚历山大
受保护的技术使用者:华为技术有限公司
技术研发日:2021.01.13
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/