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

编解码方法及装置与流程

2023-02-10 18:06:40 来源:中国专利 TAG:


1.本技术实施例涉及数据压缩技术领域,尤其涉及一种编解码方法及装置。


背景技术:

2.视频编解码(视频编码和解码)广泛用于数字视频应用,例如广播数字电视、互联网、 相册以及移动网络上的视频传输、视频聊天和视频会议等实时会话应用、数字多功能影音 光盘(digital versatile disc,dvd)和蓝光光盘、视频内容采集和编辑系统以及可携式摄 像机的安全应用。
3.视频的数据量通常较多,当视频数据要在带宽容量受限的网络中发送或以其它方式传 输时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中传输。 由于内存资源可能有限,当在存储设备上存储视频时,视频的大小也可能成为问题。视频 压缩设备通常在信源侧使用软件和/或硬件,以在传输或存储之前对视频数据进行编码,从 而减少用来表示数字视所需的数据量。然后,压缩的视频数据在目的地侧由视频解压缩设 备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩 和解压缩技术,这些改进的技术能够提高压缩率而几乎不影响图像质量。
4.数字视频应用的部分操作中需要显示原始图像的缩略图,以在显示界面中显示数量较 多的图像。相关技术中先对接收到的原始图像的码流进行解码和重建,得到原始图像。之 后对原始图像的分辨率进行缩小,得到原始图像的缩略图。但是上述获取原始图像的缩略 图的方式复杂度较高且耗时较长,从而影响数字视频应用显示原始图像的缩略图的速度。


技术实现要素:

5.本技术提供一种编解码方法及装置,以提高获取重建图像的效率,从而提高数字视频 应用显示原始图像的缩略图的速度。
6.第一方面,本技术提供一种解码方法,所述方法包括:对码流进行解码得到第一特征 图,所述第一特征图的分辨率小于原始图像的分辨率;根据第一神经网络对第二特征图进 行重建,得到重建图像,所述第二特征图和所述重建图像的分辨率均为目标分辨率,所述 目标分辨率小于所述原始图像的分辨率,其中所述第二特征图为所述第一特征图、或所述 第二特征图为通过第二神经网络对所述第一特征图进行处理得到的特征图。
7.其中,特征图是卷积神经网络中卷积层、激活层、池化层、批量归一化层等层输出的 三维数据,其三个维度分别称为宽(width)、高(height)、通道(channel)。特征图可 以为m
×w×
h,表示该特征图包括m个通道的分辨率为w
×
h的二维特征图,w表示 宽,h表示高。
8.第一神经网络输出的重建图像的分辨率与输入的第二特征图的分辨率相同,均为目标 分辨率。当第二特征图为第一特征图时,目标分辨率等于第一特征图的分辨率。当第二特 征图为对通过第二神经网络对第一特征图进行处理得到的特征图时,目标分辨率大于第一 特征图的分辨率。
9.第二神经网络用于对第一特征图进行处理得到第二特征图,该处理可以包括卷积操作 和/或反卷积操作,进一步地,处理还可以包括归一化操作。
10.该解码方法中,解码器对码流进行解码得到第一特征图,之后根据第一神经网络对第 二特征图进行重建,得到重建图像,第二特征图和重建图像的分辨率均为目标分辨率,目 标分辨率小于原始图像的分辨率,第二特征图包括第一特征图,或第二特征图为通过第二 神经网络对原始图像的特征图进行处理得到的特征图。经过解码和重建得到的重建图像的 分辨率小于原始图像的分辨率,在获取重建图像的过程中无需先重建得到原始图像,而是 直接得到重建图像,提高了获取重建图像的效率,从而提高了数字视频应用显示原始图像 的缩略图的速度
11.当第一神经网络的数量为一个时,在一种示例中,无需应用第二神经网络,第一神经 网络可以独立存在,此时第二特征图为第一特征图,第一神经网络仅能输出一种分辨率的 重建图像,该一种分辨率即为第一特征图的分辨率。
12.在另一种示例中,该一个第一神经网络可以与第二神经网络的输入端连接和/或与一 个或多个输出节点连接。此时第二特征图为第一特征图或通过第二神经网络对第一特征图 进行处理得到的特征图,第一神经网络能输出一种或多种分辨率的重建图像。
13.当第一神经网络的数量为多个时,第二神经网络的输入端和/或每个输出节点连接有 第一神经网络。此时第二特征图为第一特征图或通过第二神经网络对第一特征图进行处理 得到的特征图,第一神经网络能输出多种分辨率的重建图像。
14.在一种可能的实现方式中,当第二特征图为通过第二神经网络对第一特征图进行处理 得到的特征图,所述第二神经网络包括一个或多个输出节点和多个卷积层,所述输出节点 位于第一层卷积层的输出端与最后一层卷积层的输入端之间,所述输出节点与所述第一神 经网络的输入端连接,所述方法还包括:将所述第一特征图输入所述第二神经网络,得到 所述第二神经网络的目标输出节点输出的所述第二特征图,所述目标输出节点属于所述一 个或多个输出节点;所述根据第一神经网络对第二特征图进行重建,得到重建图像,包括: 将所述目标输出节点输出的第二特征图输入所述第一神经网络,得到所述第一神经网络输 出的所述重建图像。
15.其中,第二神经网络是相关技术中用于编解码的网络中已有的神经网络,其用于生成 原始分辨率的重建图像。在第二神经网络的不同位置设置输出节点,利用输出节点以及现 有的第二神经网络即可实现多种目标分辨率的重建图像的生成。该过程中第二神经网络用 于对第一特征图进行处理,在生成不同目标分辨率的重建图像的过程中,各个输出节点共 享第二神经网络中的层。这样能够减小用于生成重建图像的神经网络(包括第一神经网络 和第二神经网络)的大小,减小了用于生成重建图像的神经网络占用解码器的存储空间, 从而降低了用于生成重建图像的神经网络在解码器中的运行开销和运行复杂度。
16.在一种可能的实现方式中,当第一神经网络的数量为一个时,直接将目标输出节点输 出的第二特征图输入该一个网络,得到该一个神经网络输出的重建图像。当所述第一神经 网络的数量为多个,所述将所述目标输出节点输出的第二特征图输入所述第一神经网络, 得到所述第一神经网络输出的所述重建图像,包括:将所述第二特征图输入所述目标输出 节点连接的第一神经网络,得到所述目标输出节点连接的第一神经网络输出的所述重建图 像。
17.在一种可能的实现方式中,当所述目标分辨率的个数为多个,所述目标输出节点的个 数为多个,所述将所述第一特征图输入所述第二神经网络,得到所述第二神经网络的目标 输出节点输出的所述第二特征图,包括:将所述第一特征图输入所述第二神经网络,得到 所述第二神经网络的多个目标输出节点输出的多个分辨率的第二特征图;所述将所述第二 特征图输入所述目标输出节点连接的第一神经网络,得到所述目标输出节点连接的第一神 经网络输出的所述重建图像,包括:将每个所述目标输出节点输出的第二特征图输入所述 目标输出节点连接的第一神经网络,得到所述多个目标输出节点分别连接的第一神经网络 输出的多个分辨率的重建图像。
18.各个输出节点可以并行或串行输出第二特征图,当并行输出第二特征图时,可以提高 获取重建图像的效率。当串行输出第二特征图时,各个输出节点输出的第二特征图可以共 享。这样可以减小第二神经网络的计算次数,进而减小第二神经网络的运算开销。
19.在一种可能的实现方式中,当所述第二神经网络包括多个输出节点,每个所述输出节 点对应一个输出分辨率,所述方法还包括:确定所述目标分辨率;将输出分辨率为所述目 标分辨率的输出节点确定为所述目标输出节点。
20.目标分辨率可以由解码器确定,也可以由解码器外部确定,例如由解码器的外部应用 层或者编码器确定。外部应用层可以参考前述数字视频应用,例如视频播放器、相册以及 网页等。
21.示例地,可以根据缩略图分辨率确定目标分辨率。例如将第一神经网络能够输出的候 选分辨率中与缩略图分辨率最接近的分辨率确定为目标分辨率。又一示例地,可以根据各 个候选分辨率的重建图像获取过程的复杂度和/或功耗约束确定目标分辨率。
22.在一种可能的实现方式中,所述第一神经网络包括至少一个卷积层,所述至少一个卷 积层的卷积步长为1。
23.在一种可能的实现方式中,所述码流对应m1个通道的二维特征图,所述对码流进行 解码得到第一特征图,包括:对所述m1个通道中m2个通道的二维特征图对应的码流进 行解码,得到所述第一特征图,m2《m1,所述第一特征图包括所述m2个通道的二维特征 图。
24.解码器可以对m1个通道中前m2个通道的二维特征图对应的码流进行解码。这样在 m2个通道的二维特征图对应的码流被解码后即可执行后续的重建流程,无需在整个码流 解码完成后再执行后续的重建流程,提高了得到第三特征图的效率,从而提高了获取重建 图像的效率。
25.在一种可能的实现方式中,所述方法还包括:对所述重建图像进行上采样处理,得到 第一图像,所述第一图像的分辨率与所述原始图像的分辨率相同。
26.示例地,上采样处理可以包括双线性插值上采样,或者直接填充临近位置的像素值进 行上采样或者通过步长大于1的卷积层的反卷积操作实现上采样。
27.需要说明的是,若对整个码流进行解码得到的特征图进行重建,生成重建的原始分辨 率的图像,则该原始分辨率的图像的分辨率较大,生成过程耗时较长,影响数字视频应用 显示原始分辨率的图像的速度,导致用户在浏览原始分辨率的图像是会出现卡顿的情况。 本技术实施例中,在得到重建图像的过程中仅对码流中的部分码流进行了解码,使得重建 图像的数据量较小,得到重建图像的效率较高。进而在基于重建图像得到第一图像时,提 高了得到第一图像的效率,从而减小了得到第一图像的过程的耗时,提高了数字视
频应用 显示原始分辨率的图像的速度。
28.结合上述实现方式,当所述码流为初始特征图的码流,所述初始特征图是对所述原始 图像进行特征提取得到的,所述方法还包括:对所述m1个通道中除所述m2个通道之外 的通道的二维特征图对应的码流进行解码,得到第三特征图,所述第三特征图包括所述 m1-m2个通道的二维特征图;根据所述第二神经网络对所述第一特征图和所述第三特征 图进行处理,得到第二图像,所述第二图像的分辨率与所述原始图像的分辨率相同。
29.第二图像是对第一特征图和第三特征图进行重建后生成的,第二图像的数据量大于前 述第一图像的数据量,且图像质量高于第一图像。由于第二图像的重建过程耗时较长,因 此先快速生成低质量的第一图像进行显示,同时重建得到高质量的第二图像,使得数字视 频应用在显示原始分辨率的图像时不会出现卡顿的情况,提高了对原始分辨率的图像的显 示效果。
30.在一种可能的实现方式中,所述第二特征图包括多个通道的二维特征图,在根据第一 神经网络对第二特征图进行重建,得到重建图像之前,所述方法还包括:对所述第二特征 图进行通道缩减处理;所述根据第一神经网络对第二特征图进行重建,得到重建图像,包 括:根据所述第一神经网络对所述通道缩减处理后的第二特征图进行重建,得到所述重建 图像。
31.在一种可能的实现方式中,所述第一特征图包括多个通道的二维特征图,所述方法还 包括:对所述第一特征图进行通道缩减处理;所述第二特征图为所述通道缩减处理后的第 一特征图,或所述第二特征图为通过所述第二神经网络对所述通道缩减处理后的第一特征 图进行处理得到的特征图。
32.对第二特征图和/或第一特征图进行通道缩减处理,能够减少后续的重建过程的复杂 度,提高重建过程的效率。
33.第二方面,本技术提供一种解码方法,包括:对码流进行解码得到第一特征图;根据 第一神经网络对第一分辨率的第二特征图进行重建,得到第二分辨率的重建图像,第二分 辨率与第一分辨率不同,第二分辨率小于原始图像的分辨率,第二特征图包括第一特征图、 或第二特征图为通过第二神经网络对第一特征图进行处理得到的特征图。
34.第一神经网络输出的重建图像的分辨率与输入的第二特征图的分辨率不同。由于第二 神经网络能够输出的多种分辨率的值是固定的,导致与第二神经网络的一个或多个输出节 点连接的第一神经网络输出的分辨率的值是固定的。该方法中,第一神经网络也具备改变 输入的特征图的分辨率的功能,这样能够通过不同结构的第一神经网络,实现各种数值的 分辨率的输出,在降低了用于生成重建图像的神经网络在解码器中的运行开销和运行复杂 度的同时,提高了生成重建图像的灵活性。
35.第三方面,本技术提供一种编码方法,所述方法包括:对原始图像进行特征提取得到 初始特征图,所述初始特征图包括多个通道的二维特征图,所述初始特征图的分辨率小于 所述原始图像的分辨率;对待编码特征图进行编码得到码流,所述待编码特征图为所述初 始特征图,或包括所述初始特征图中部分通道的二维特征图。
36.当待编码特征图包括初始特征图中部分通道的二维特征图时,可以减少后续编码后的 码流的数据量,从而减小码流传输至解码器侧的通信开销。
37.第四方面,本技术提供一种解码装置,所述解码装置包括:处理模块,用于对码流
进 行解码得到第一特征图,所述第一特征图的分辨率小于原始图像的分辨率;重建模块,用 于根据第一神经网络对第二特征图进行重建,得到重建图像,所述第二特征图和所述重建 图像的分辨率均为目标分辨率,所述目标分辨率小于所述原始图像的分辨率,其中所述第 二特征图为所述第一特征图、或所述第二特征图为通过第二神经网络对所述第一特征图进 行处理得到的特征图。
38.在一种可能的实现方式中,当所述第二特征图为通过所述第二神经网络对所述第一特 征图进行处理得到的特征图,所述第二神经网络包括一个或多个输出节点和多个卷积层, 所述输出节点位于第一层卷积层的输出端与最后一层卷积层的输入端之间,所述输出节点 与所述第一神经网络的输入端连接,所述重建模块,还用于将所述第一特征图输入所述第 二神经网络,得到所述第二神经网络的目标输出节点输出的所述第二特征图,所述目标输 出节点属于所述一个或多个输出节点;所述重建模块,具体用于将所述目标输出节点输出 的第二特征图输入所述第一神经网络,得到所述第一神经网络输出的所述重建图像。
39.在一种可能的实现方式中,当所述第一神经网络的数量为多个,所述重建模块,具体 用于将所述第二特征图输入所述目标输出节点连接的第一神经网络,得到所述目标输出节 点连接的第一神经网络输出的所述重建图像。
40.在一种可能的实现方式中,当所述目标分辨率的个数为多个,所述目标输出节点的个 数为多个,所述重建模块,具体用于将所述第一特征图输入所述第二神经网络,得到所述 第二神经网络的多个目标输出节点输出的多个分辨率的第二特征图;将每个所述目标输出 节点输出的第二特征图输入所述目标输出节点连接的第一神经网络,得到所述多个目标输 出节点分别连接的第一神经网络输出的多个分辨率的重建图像。
41.在一种可能的实现方式中,当所述第二神经网络包括多个输出节点,每个所述输出节 点对应一个输出分辨率,所述重建模块,还用于确定所述目标分辨率;将输出分辨率为所 述目标分辨率的输出节点确定为所述目标输出节点。
42.在一种可能的实现方式中,所述第一神经网络包括至少一个卷积层,所述至少一个卷 积层的卷积步长为1。
43.在一种可能的实现方式中,所述码流对应m1个通道的二维特征图,所述处理模块, 具体用于对所述m1个通道中m2个通道的二维特征图对应的码流进行解码,得到所述第 一特征图,m2《m1,所述第一特征图包括所述m2个通道的二维特征图。
44.在一种可能的实现方式中,所述重建模块,还用于对所述重建图像进行上采样处理, 得到第一图像,所述第一图像的分辨率与所述原始图像的分辨率相同。
45.在一种可能的实现方式中,所述码流为初始特征图的码流,所述初始特征图是对所述 原始图像进行特征提取得到的,所述处理模块,还用于对所述m1个通道中除所述m2个 通道之外的通道的二维特征图对应的码流进行解码,得到第三特征图,所述第三特征图包 括所述m1-m2个通道的二维特征图;所述重建模块,还用于根据所述第二神经网络对所 述第一特征图和所述第三特征图进行处理,得到第二图像,所述第二图像的分辨率与所述 原始图像的分辨率相同。
46.在一种可能的实现方式中,所述第二特征图包括多个通道的二维特征图,所述重建模 块,还用于对所述第二特征图进行通道缩减处理;所述重建模块,具体用于根据所述
第一 神经网络对所述通道缩减处理后的第二特征图进行重建,得到所述重建图像。
47.在一种可能的实现方式中,所述第一特征图包括多个通道的二维特征图,所述重建模 块,还用于对所述第一特征图进行通道缩减处理;所述第二特征图为所述通道缩减处理后 的第一特征图,或所述第二特征图为通过所述第二神经网络对所述通道缩减处理后的第一 特征图进行处理得到的特征图。
48.第五方面,本技术提供一种编码装置,所述编码装置包括:处理模块,用于对原始图 像进行特征提取得到初始特征图,所述初始特征图包括多个通道的二维特征图,所述初始 特征图的分辨率小于所述原始图像的分辨率;编码模块,用于对待编码特征图进行编码得 到码流,所述待编码特征图为所述初始特征图,或包括所述初始特征图中部分通道的二维 特征图。
49.第六方面,本技术提供一种电子设备,包括:一个或多个处理器;存储器,用于存储 一个或多个计算机程序或指令;当所述一个或多个计算机程序或指令被所述一个或多个处 理器执行,使得所述一个或多个处理器实现如第一方面至第三方面中任一项所述的方法。
50.第七方面,本技术提供一种电子设备,包括:处理器,用于执行如第一方面至第三方 面中任一项所述的方法。
51.第八方面,本技术提供一种计算机可读存储介质,其特征在于,包括计算机程序或指 令,所述计算机程序或指令在计算机上被执行时,使得所述计算机执行第一方面至第三方 面中任一项所述的方法。
附图说明
52.图1为本技术实施例提供的一种译码系统10的示例性框图;
53.图2为本技术实施例提供的一种基于深度学习的视频编解码的网络示意图;
54.图3为本技术实施例提供的一种基于深度学习的端到端的视频编解码的网络结构示 意图;
55.图4为本技术实施例提供的一种编解码方法的过程400的流程示意图;
56.图5为本技术实施例提供的一种第一神经网络和第二神经网络的结构示意图;
57.图6为本技术实施例提供的另一种第一神经网络和第二神经网络的结构示意图;
58.图7为本技术实施例提供的一种通道缩减的流程示意图;
59.图8为本技术实施例提供的另一种编解码方法的过程500的流程示意图;
60.图9为本技术实施例提供的再一种编解码方法的过程600的流程示意图;
61.图10为本技术实施例提供的另一种编解码方法的过程700的流程示意图;
62.图11为本技术实施例提供的一种神经网络的结构示意图;
63.图12为本技术实施例提供的另一种神经网络的结构示意图;
64.图13为本技术实施例提供的另一种通道缩减的流程示意图;
65.图14为本技术实施例提供的一种编解码流程示意图;
66.图15为本技术实施例提供的一种特征提取模块的网络结构示意图;
67.图16为本技术实施例提供的一种重建模块的网络结构示意图;
68.图17为本技术实施例提供的一种解码端的流程示意图;
69.图18为本技术实施例提供的一种重建网络的结构示意图;
输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若 干个神经单元组成的区域。
112.(2)深度神经网络
113.深度神经网络(deep neural network,dnn),也称多层神经网络,可以理解为具有很 多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从dnn按不同层的位 置划分,dnn内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层 是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是 说,第i层的任意一个神经元一定与第i 1层的任意一个神经元相连。虽然dnn看起来 很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,w是权重矩阵(也称 系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于dnn层数多,则系数w和偏移向量的数量也就很多了。这些参数在dnn中的定义 如下所述:以系数w为例:假设在一个三层的dnn中,第二层的第4个神经元到第三层 的第2个神经元的线性系数定义为上标3代表系数w所在的层数,而下标对应的是 输出的第三层索引2和输入的第二层索引4。总结就是:第l-1层的第k个神经元到第l 层的第j个神经元的系数定义为需要注意的是,输入层是没有w参数的。在深度神经 网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多 的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深 度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所 有层的权重矩阵(由很多层的向量w形成的权重矩阵)。
114.(3)卷积神经网络(convolutional neuron network,cnn)
115.卷积神经网络是一种深度学习架构,是图像处理、分析领域中的典型方法。卷积神经 网络至少包含卷积层,还可能包含激活层、池化层(pooling layer)、批量归一化层(batchnormalization layer,bn)、全连接层(fully connected layer,fc)等其它功能模块。其 中,激活层可以为线性整流单元(rectified linear unit,relu)、参数化线性整流单元 (parametric rectified linear unit,prelu)等。典型的卷积神经网络如lenet、alexnet、 超分辨率测试序列网络(visual geometry group network,vggnet)、深度残差网络(deepresidual network,resnet)、yolo(you only look once)、faster rcnn(region with cnnfeature)、遮掩rcnn(mask rcnn)以及aslfeat等。
116.基本的卷积神经网络可由主干网络(backbone network)和头部网络(head network) 构成,如物体识别(object recognition)中的alexnet;而一些复杂的cnn,如目标检测 领域的带有特征金字塔结构的faster rcnn网络由主干网络、脖子网络(neck network) 和头部网络几个部分网络构成。
117.主干网络是卷积神经网络的第一部分,其功能为对输入图像提取多个尺度的特征图, 通常由卷积层、池化层、激活层等构成,不含有全连接层。通常,主干网络中较靠近输入 图像的层输出的特征图分辨率(宽、高)较大,但通道数较少。典型的主干网络有vgg
‑ꢀ
16、resnet-50以及resnet-101等。主干网络可以细分成主干网络前部和主干网络核心部 分两
往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络深度 的加深,越往后的卷积层提取到的特征越来越复杂,比如高级别的语义之类的特征,语义 越高的特征越适用于待解决的问题。
123.由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层, 可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在 图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化 算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子 可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化 算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层 中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相 关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的 图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
124.在经过卷积层/池化层的处理后,卷积神经网络还不足以输出所需要的输出信息。因为 如前所述,卷积层/池化层只会提取特征,并减少输入图像带来的参数。然而为了生成最终 的输出信息(所需要的类信息或其他相关信息),卷积神经网络需要利用神经网络层来生 成一个或者一组所需要的类的数量的输出。因此,在神经网络层中可以包括多层隐含层(例 如激活层、bn层和/或fc层),该多层隐含层中所包含的参数可以根据具体的任务类型 的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像 超分辨率重建等等。
125.可选的,在神经网络层中的多层隐含层之后,还包括整个卷积神经网络的输出层,该 输出层具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络 的前向传播完成,反向传播就会开始更新前面提到的各层的权重值以及偏差,以减少卷积 神经网络的损失,及卷积神经网络通过输出层输出的结果和理想结果之间的误差。
126.神经网络需要通过训练确定神经网络各层的参数。训练的过程中,使用前向损失计算 加反向梯度传播的方式,更新神经网络中的可训练参数。通过多次参数更新,最终使得神 经网络各层的参数收敛到较优的分析精度。当训练完毕后,通常固定网络各层的参数,将 输入信号通过神经网络得到结果,这个实际使用神经网络的过程称为“推理”。
127.(4)循环神经网络
128.循环神经网络(recurrent neural networks,rnn)是用来处理序列数据的。在传统的神 经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层 层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然 对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的 单词,因为一个句子中前后单词并不是独立的。rnn之所以称为循环神经网路,即一个序 列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应 用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层 的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,rnn能够对任何 长度的序列数据进行处理。对于rnn的训练和对传统的cnn或dnn的训练一样。同样 使用误差反向传播算法,不过有一点区别:即,如果将rnn进行网络展开,那么其中的 参数,如
w,是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下 降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习 算法称为基于时间的反向传播算法(back propagation through time,bptt)。
129.(5)损失函数
130.在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要 预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的 差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的 过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调 整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标 值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标 值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们 是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出 值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的 过程。
131.(6)反向传播算法
132.卷积神经网络可以采用误差反向传播(back propagation,bp)算法在训练过程中修正 初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地, 前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超 分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播 运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
133.(7)生成式对抗网络
134.生成式对抗网络(generative adversarial networks,gan)是一种深度学习模型。该模 型中至少包括两个模块:一个模块是生成模型(generative model),另一个模块是判别模 型(discriminative model),通过这两个模块互相博弈学习,从而产生更好的输出。生成 模型和判别模型都可以是神经网络,具体可以是深度神经网络,或者卷积神经网络。gan 的基本原理如下:以生成图片的gan为例,假设有两个网络,g(generator)和d (discriminator),其中g是一个生成图片的网络,它接收一个随机的噪声z,通过这个 噪声生成图片,记做g(z);d是一个判别网络,用于判别一张图片是不是“真实的”。它 的输入参数是x,x代表一张图片,输出d(x)代表x为真实图片的概率,如果为1,就 代表100%是真实的图片,如果为0,就代表不可能是真实的图片。在对该生成式对抗网络 进行训练的过程中,生成网络g的目标就是尽可能生成真实的图片去欺骗判别网络d,而 判别网络d的目标就是尽量把g生成的图片和真实的图片区分开来。这样,g和d就构 成了一个动态的“博弈”过程,也即“生成式对抗网络”中的“对抗”。最后博弈的结果, 在理想的状态下,g可以生成足以“以假乱真”的图片g(z),而d难以判定g生成的 图片究竟是不是真实的,即d(g(z))=0.5。这样就得到了一个优异的生成模型g,它 可以用来生成图片。
135.图2为本技术实施例提供的一种基于深度学习的视频编解码的网络示意图,图2以熵 编解码为例进行说明。该网络包括特征提取模块、特征量化模块、熵编码模块,熵解码模 块,特征反量化模块以及特征解码(或图像重建)模块。
136.在编码端,将原始图像输入特征提取模块,特征提取模块通过堆叠多层卷积以及
结合 非线性映射激活函数,输出提取后的原始图像的特征图。特征量化模块将特征图中浮点数 的特征值进行量化,得到量化后的特征图。量化后的特征图经过熵编码,得到码流。
137.在解码端,熵解码模块解析码流,得到量化的特征图。特征反量化模块将量化的特征 图中整数的特征值进行反量化,得到反量化后的特征图。反量化后的特征图经过特征解码 模块的重建后,得到重建图像。
138.其中,该网络也可以不包括特征量化模块和特征反量化模块。此时网络可以直接对特 征图为浮点数的特征图进行一系列处理。或者可以对网络进行整型化处理,以使特征提取 模块输出的特征图中的特征值均为整数。
139.图3为本技术实施例提供的一种基于深度学习的端到端的视频编解码的网络结构示 意图,图3以熵编解码为例进行说明。该神经网络包括特征提取模块ga,量化模块q、边 信息提取模块ha、熵编码模块、熵解码模块、概率估计模块hs以及重建模块gs。熵编码可 以为自动编码器(auto-encoders,ae),熵解码可以为自动解码器(auto-dncoders,ad)。
140.其中,ga包括穿插级联的四个卷积层和三个归一化层,该归一化层可以包括gdn (generalized divisive normalization)层。ga中四个卷积层的卷积核均为5
×
5,步长均为2, 第一层至第三层卷积层的输出通道数为n,最后一层卷积层的输出通道数为m。在本技术 实施例中,步长用于控制输入到卷积层的图像或特征图的分辨率。当步长为1时,卷积层 控制输入的图像或特征图的分辨率保持不变;当步长大于1时,卷积层将步长作为采样倍 率对输入的图像或特征图进行上采样或下采样。ga中各个卷积层用于对输入的图像或特征 图的分辨率进行2倍的下采样。此外,输出通道数用于控制卷积层输出的图像或特征图的 通道数,ga输出的原始图像的特征图的通道数为m。
141.ha包括穿插级联的三个卷积层、两个激活层和一个abs层。ha中第一层卷积层的卷积 核为3
×
3,步长为1,输出通道数为n。ha中第二层卷积层和第三层卷积层的卷积核均为 5
×
5,步长均为2,输出通道数均为n。hs包括穿插级联的三个卷积层和三个激活层。hs中第一层卷积层和第二层卷积层的卷积核均为5
×
5,步长均为2,输出通道数均为n。hs中第三层卷积层的卷积核为3
×
3,步长为1,输出通道数为m。gs包括穿插级联的四个卷 积层和三个逆归一化层,逆归一化层可以包括igdn层,ga中四个卷积层的卷积核均为5
ꢀ×
5,步长均为2,第一层至第三层卷积层的输出通道数为n,最后一层卷积层的输出通道 数为3。
142.在编码端,将原始图像x输入ga,ga输出原始图像的特征图y。一方面,将该特征图 y输入q,q输出量化后的特征图,将量化后的特征图输入熵编码模块。另一方面,将特 征图y输入ha,ha输出边信息z。将边信息z输入q,q输出量化后的边信息。量化后的 边信息经过熵编码模块得到边信息的码流,再经过熵解码模块得到解码后的边信息。将解 码后的边信息输入hs,hs输出量化后的特征图中每个特征元素[x][y][i]的概率分布,将每个 特征元素的概率分布输入熵编码模块。熵编码模块根据每个特征元素的概率分布对输入的 每个特征元素进行熵编码得到超先验码流。
[0143]
其中,边信息z是一种特征信息,表示为一个三维特征图,其包含的特征元素数量比 特征图y少。特征图y和量化后的特征图的通道数均为m,分辨率均为w
×
h,m与ga中最后一层卷积层的输出通道数相同,w和h与原始图像的宽和高以及ga中每个卷积层 的步长有关。如图3所示,ga对原始图像进行了4次倍率为2的下采样,假设特征图y或 量化后的特征图的分辨率为w
×
h,则原始图像的分辨率为24w
×24
h。
[0144]
在解码端,熵解码模块解析边信息的码流得到边信息,将边信息输入hs,hs输出待解 码符号中每个特征元素[x][y][i]的概率分布。将每个特征元素[x][y][i]的概率分布输入熵解 码模块。熵解码模块根据每个特征元素的概率分布对每个特征元素进行熵解码得到解码后 的特征图。将解码后的特征图输入gs,gs输出重建图像。
[0145]
此外,有些变分自动编码器(variational auto encoder,vae)的概率估计模块中还利 用到当前特征元素周围已编码或已解码的特征元素,以更准确地估计当前特征元素的概率 分布。
[0146]
需要说明的是,图2和图3所示的网络结构仅为示例性说明,本技术实施例对网络中 包括的模块以及模块的结构均不做限定。
[0147]
数字视频应用的部分操作中需要显示原始图像的缩略图,以在显示界面中显示数量较 多的图像。相关技术中先对接收到的原始图像的码流进行解码和重建,得到原始图像。之 后对原始图像的分辨率进行缩小,得到原始图像的缩略图。即获取缩略图的过程中均需要 先重建得到原始分辨率的图像,重建得到原始分辨率的图像的复杂度较高,导致获取原始 图像的缩略图的方式耗时较长,从而影响数字视频应用显示原始图像的缩略图的速度。例 如对于相册应用,需要同时显示多个图像的缩略图,导致显示界面无法及时刷新,从而影 响相册应用的显示效果。
[0148]
本技术实施例提供了一种编解码方法,请参考图4,图4为本技术实施例提供的一种 编解码方法的过程400的流程示意图。过程400可由电子设备(包括编码器和解码器)执 行,具体地,过程400可由电子设备通过调用神经网络模型实现执行。过程400描述为一 系列的操作,应当理解的是,过程400可以以各种顺序执行和/或同时发生,不限于图4所 示的执行顺序。过程400可以包括以下过程:
[0149]
401、编码器对原始图像进行特征提取得到初始特征图,初始特征图的分辨率小于原 始图像的分辨率。
[0150]
编码器可以将原始图像输入基于深度学习的网络中的特征提取模块,特征提取模块通 过堆叠多层卷积以及结合非线性映射激活函数,输出提取后的初始特征图。
[0151]
可选地,特征提取模块可以参考前述图2和图3。以图3为例,该特征提取模块可以 包括穿插级联的四个卷积层和三个归一化层。每层卷积层的卷积核大小均为5x5,步长均 为2,即每层卷积层对输入的原始图像或特征图的分辨率进行2倍下采样(对宽和高分别 进行2倍下采样)。前三层卷积层的输出通道数为n,最后一层卷积层的输出通道数为m。
[0152]
假设原始图像的分辨率为w
×
h,将原始图像输入特征提取模块后,第一层卷积层对 原始图像的分辨率进行2倍的下采样,输出特征图通道数为n,分辨率为w/2
×
h/2的特 征图。第二层卷积层对第一层卷积层输出的特征图的分辨率进行2倍的下采样,输出通道 数为n,分辨率为w/4
×
h/4的特征图。第三层卷积层对第二层卷积层输出的特征图的分 辨率进行2倍的下采样,输出通道数为n,分辨率为w/8
×
h/8的特征图。最后一层卷积 层对第三层卷积层输出的特征图的分辨率进行2倍的下采样,输出通道数为m,分辨率为 w/16
×
h/16的初始特征图。也即是初始特征图包括m个通道的分辨率为w/16
×
h/16的 二维特征图。
[0153]
需要说明的是,前述图3所示的特征提取模块仅为示例性说明,本技术实施例对特征 提取模块的结构、各个层的连接关系、卷积层的数量以及任一卷积层的步长、卷积核和输 出通道数等均不做具体限定。此外,任意两层卷积层的以下至少一种参数可以相同:步
长、 卷积核以及输出通道数。示例地,任一卷积层的卷积核还可以为3
×
3、7
×
7或9
×
9等, 步长还可以为1、1.5、3、3.2、4或5等,输出通道数可以为1、2、5或8等。特征提取 模块可以不包括归一化层,或者特征提取模块还可以包括至少一个激活层和/或池化层等
[0154]
402、编码器对第一特征图进行编码得到码流,第一特征图为初始特征图,或第一特 征图包括初始特征图中部分通道的二维特征图。
[0155]
初始通道图包括多个通道的二维特征图,当第一特征图包括初始特征图中部分通道的 二维特征图时,编码器无需对初始特征图中所有通道的二维特征图进行编码。这样可以减 少后续编码后的码流的数据量,从而减小码流传输至解码器侧的通信开销。
[0156]
示例地,假设初始特征图包括m个通道的二维特征图,第一特征图可以包括m1个 通道的二维特征图,m1≤m。当m1<m时,第一特征图可以包括m个通道中任意m1个 通道的二维特征图,也可以包括m个通道中前m1个通道或者后m1个通道的二维特征 图,本技术实施例对此不做限定。
[0157]
第一特征图包括多个特征元素,编码器对每个特征元素进行编码得到码流。可选地, 可以基于概率分布模型对第一特征图进行编码,或采用超先验(hyper prior)熵编码方式 对第一特征图进行编码。
[0158]
在一种实现方式中,基于概率分布模型对第一特征图进行编码。先根据概率分布模型 建模,再获取待编码特征元素的上下文信息。根据上下文信息获取待编码特征元素的概率 分布,之后根据待编码特征元素的概率分布对待编码特征元素进行编码。对第一特征图中 每个特征元素均执行前述过程后,得到码流。其中,上下文信息可以包括第一特征图中与 待编码特征元素相邻的已编码的特征元素。
[0159]
其中,概率分布模型包括以下至少一种:单高斯模型(gaussian single model,gsm)、 非对称高斯模型、混合高斯模型(gaussian mixture model,gmm)和拉普拉斯分布模型 (laplace distribution)。
[0160]
编码器可以调用神经网络模型基于概率分布模型对第一特征图进行编码。示例地,可 以将上下文信息输入概率估计网络,概率估计网络输出待编码特征元素的模型参数。将模 型参数输入概率分布模型,概率分布模型输出待编码特征元素的概率分布。概率估计网络 可以包括基于深度学习的神经网络,例如rnn和cnn等。
[0161]
在第二种实现方式中,采用超先验熵编码方式对第一特征图进行编码。先从第一特征 图中提取边信息,对提取到的边信息进行量化处理,再依次对量化后的边信息进行熵编码 和熵解码,得到解码后的边信息。根据解码后的边信息获取待编码特征元素的概率分布, 之后根据待编码特征元素的概率分布对待编码特征元素进行熵编码。对第一特征图中每个 特征元素均执行前述过程后,得到码流。
[0162]
编码器可以调用神经网络模型采用超先验熵编码方式对第一特征图进行编码。可选地, 可以将第一特征图输入边信息提取模块,边信息提取模块输出边信息。将边信息输入概率 估计网络,概率估计网络输出待编码特征元素的模型参数。边信息提取模块和概率估计网 络可以参考前述图3对应的描述,本技术实施例在此不做赘述。
[0163]
在对第一特征图进行编码之前,可以先对第一特征图进行量化处理,得到量化后的第 一特征图。再对量化后的第一特征图进行编码得到码流。如前述图2或图3所示,可以通 过量化模块对第一特征图进行量化处理。
[0164]
示例地,量化处理过程包括:对第一特征图中的每个特征元素(或者称为特征值)进 行量化,将浮点数的特征元素整数化得到整数的特征元素。可选地,可以将浮点数的特征 元素进行四舍五入得到整数的特征元素,或者将浮点数的特征元素进行截断得到整数的特 征元素,或者根据预设的量化步长得到整数的特征元素,本技术实施例对量化处理过程不 做限定。
[0165]
403、编码器向解码器发送码流。
[0166]
如前述实施例所述,编码器和解码器具有建立有通信连接的通信接口,编码器可以通 过通信接口向解码器的通信接口发送码流。
[0167]
404、解码器对码流进行解码得到第一特征图。
[0168]
该码流对应第一特征图,即码流对应第一特征图包括的多个通道的二维特征图。解码 器可以对码流中包括的每个特征元素对应的码流进行解码得到第一特征图。
[0169]
解码过程与编码过程对应。对应前述基于概率分布模型的编码方式,解码器获取待解 码特征元素对应的码流的上下文信息,根据上下文信息获取待解码特征元素对应的码流的 概率分布,之后根据该概率分布对待解码特征元素对应的码流进行解码。对多个通道中每 个特征元素对应的码流均执行前述过程后,得到第一特征图。
[0170]
当编码器调用神经网络模型基于概率分布模型对第一特征图进行编码时,解码器也可 以调用神经网络模型对码流进行解码。示例地,可以将待解码特征元素对应的码流的上下 文信息输入与编码器侧相同的概率估计网络,概率估计网络输出待解码特征元素对应的码 流的模型参数。将模型参数输入与编码器侧相同的概率分布模型,概率分布模型输出待解 码特征元素对应的码流的概率分布。概率分布模型和概率估计网络均可以参考过程402, 本技术实施例在此不做赘述。
[0171]
对应前述超先验熵编码方式,解码器先对边信息的码流进行熵解码得到边信息,根据 熵解码后的边信息获取待解码特征元素对应的码流的概率分布,之后根据该概率分布对待 解码特征元素对应的码流进行熵解码。对多个通道中每个特征元素对应的码流均执行前述 过程后,得到第一特征图。
[0172]
当编码器调用神经网络模型采用超先验熵编码方式对第一特征图进行熵编码时,解码 器也可以调用神经网络模型对码流进行熵解码。示例地,可以将熵解码后的边信息输入与 编码器侧相同的概率估计网络,概率估计网络输出待解码特征元素对应的码流的概率分布。 概率估计网络可以参考过程402,本技术实施例在此不做赘述。
[0173]
405、解码器根据第一神经网络对第二特征图进行重建,得到重建图像,第二特征图 和重建图像的分辨率均为目标分辨率,目标分辨率小于原始图像的分辨率,第二特征图为 第一特征图、或第二特征图为通过第二神经网络对第一特征图进行处理得到的特征图。
[0174]
第一神经网络输出的重建图像的分辨率与输入的第二特征图的分辨率相同,均为目标 分辨率。当第二特征图为第一特征图时,目标分辨率等于第一特征图的分辨率。当第二特 征图为对通过第二神经网络对第一特征图进行处理得到的特征图时,目标分辨率大于第一 特征图的分辨率。
[0175]
可选地,第一神经网络可以包括至少一个卷积层,至少一个卷积层的卷积步长为1。 第一神经网络用于转换输入的特征图的通道数,其数量可以为一个或多个。当第一神经网 络的数量为多个时,任意两个第一神经网络的结构可以相同或不同,本技术实施例对此
不 做限定。
[0176]
第二神经网络用于对第一特征图进行处理得到第二特征图,该处理可以包括卷积操作 和/或反卷积操作,进一步地,处理还可以包括归一化操作。可选地,第二神经网络可以包 括一个或多个输出节点和多个卷积层,输出节点位于第一层卷积层的输出端与最后一层卷 积层的输入端之间,输出节点与第一神经网络的输入端连接。卷积层用于对输入的特征图 进行卷积操作和/或反卷积操作。第一神经网络还可以包括至少一个归一化层,归一化层用 于对输入的特征图进行归一化操作。
[0177]
如前述过程401所述,编码器侧的特征提取模块用于对原始图像进行特征提取得到初 始特征图,当第一特征图为初始特征图时,第二神经网络能够对第一特征图进行重建得到 原始分辨率的重建图像。因此第二神经网络的结构与编码器侧的特征提取模块的结构相对 应。第二神经网络包括的卷积层对第一特征图的总上采样倍率与图3所示的特征提取模块 包括的卷积层对原始图像的总下采样倍率相同。也即是第二神经网络包括的卷积层对第一 特征图的分辨率的放大总倍数,与图3所示的特征提取模块包括的卷积层对原始图像的分 辨率的缩小总倍数相同。且第二神经网络的最后一层卷积层的输出通道数与原始图像的实 际通道数相同,这样第二神经网络能够实现重建得到原始分辨率的重建图像。
[0178]
当第一神经网络的数量为一个时,在一种示例中,无需应用第二神经网络,第一神经 网络可以独立存在,此时第二特征图为第一特征图,第一神经网络仅能输出一种分辨率的 重建图像,该一种分辨率即为第一特征图的分辨率。
[0179]
在另一种示例中,该一个第一神经网络可以与第二神经网络的输入端连接和/或与一 个或多个输出节点连接。此时第二特征图为第一特征图或通过第二神经网络对第一特征图 进行处理得到的特征图,第一神经网络能输出一种或多种分辨率的重建图像。
[0180]
当第一神经网络的数量为多个时,第二神经网络的输入端和/或每个输出节点连接有 第一神经网络。此时第二特征图为第一特征图或通过第二神经网络对第一特征图进行处理 得到的特征图,第一神经网络能输出多种分辨率的重建图像。
[0181]
其中,第二神经网络用于对第一特征图进行处理得到第二特征图,第二特征图由输出 节点输出并输入至该输出节点连接的第一神经网络。
[0182]
以下以第一神经网络的数量为一个或多个,输出节点的数量为多个,且第二神经网络 的输入端以及每个输出节点均与一个第一神经网络的输入端连接例进行说明。
[0183]
每个输出节点对应一个输出分辨率,第一神经网络输出的重建图像的分辨率可以包括 各个输出节点对应的输出分辨率以及第一特征图的分辨率。为了便于说明,以下将第一神 经网络能够输出的重建图像的所有分辨率称为候选分辨率。解码器可以先确定目标分辨率, 当目标分辨率等于第一特征图的分辨率时,解码器可以直接将第一特征图输入与第二神经 网络的输入端连接的第一神经网络,得到该第一神经网络输出的重建图像。当目标分辨率 不等于第一特征图的分辨率时,解码器可以将输出分辨率为目标分辨率的输出节点确定为 目标输入节点。之后将第一特征图输入第二神经网络,得到第二神经网络的目标输出节点 输出的第二特征图,将从目标输出节点输出的第二特征图输入第一神经网络,得到第一神 经网络输出的重建图像。
[0184]
当第一神经网络的数量为一个时,直接将目标输出节点输出的第二特征图输入该一个 网络,得到该一个神经网络输出的重建图像。当第一神经网络的数量为多个时,将第
二特 征图输入目标输出节点连接的第一神经网络,得到目标输出节点连接的第一神经网络输出 的重建图像。
[0185]
目标分辨率可以由解码器确定,也可以由解码器外部确定,例如由解码器的外部应用 层或者编码器确定。外部应用层可以参考前述数字视频应用,例如视频播放器、相册以及 网页等。
[0186]
当目标分辨率由解码器确定时,在一种示例中,解码器可以根据缩略图分辨率确定目 标分辨率。例如,结合本技术实施例,解码器可以将候选分辨率中与缩略图分辨率最接近 的分辨率确定为目标分辨率。缩略图分辨率为最终在解码器的外部应用层显示的缩略图的 分辨率,其可以与目标分辨率相同或不同。
[0187]
可选地,缩略图分辨率可以由外部应用层或者编码器指示。外部应用层或编码器可以 向解码器发送用于指示缩略图分辨率的标识。当编码器向解码器发送用于指示缩略图分辨 率的标识时,缩略图分辨率的标识可以单独发送或者携带在码流中。本技术实施例对解码 器确定缩略图分辨率的方式不做限定。
[0188]
在另一种示例中,解码器可以根据各个候选分辨率的重建图像获取过程的复杂度和/ 或功耗约束确定目标分辨率。例如,解码器可以将复杂度最小的重建图像获取过程所对应 的候选分辨率确定为目标分辨率;或者将与外部应用层能够承担的最大复杂度最接近的重 建图像获取过程所对应的候选分辨率确定为目标分辨率。
[0189]
当目标分辨率由解码器外部确定时,在一种示例中,目标分辨率由外部应用层确定并 向解码器发送。外部应用层可以向解码器发送用于指示目标分辨率的标识,解码器基于目 标分辨率的标识确定目标分辨率。外部应用层可以根据候选分辨率以及缩略图分辨率确定 目标分辨率,也可以根据各个候选分辨率的重建图像获取过程的复杂度和/或功耗约束确 定目标分辨率。候选分辨率可以以补充增强信息(supplemental enhancement information, sei)方式位于解码器发送的码流中,或者以文件格式位于应用层中,以使外部应用层获 取到候选分辨率。该确定目标分辨率的过程可以参考前述解码器确定目标分辨率的过程, 本技术实施例在此不做赘述。
[0190]
在另一种示例中,目标分辨率由编码器确定并向解码器发送。编码器可以向解码器发 送用于指示目标分辨率的标识,解码器基于目标分辨率的标识确定目标分辨率。目标分辨 率的标识可以单独发送或者携带在码流中。该确定目标分辨率的过程可以参考前述解码器 确定目标分辨率的过程,本技术实施例在此不做赘述。
[0191]
示例地,请参考图5,图5为本技术实施例提供的一种第一神经网络和第二神经网络 的结构示意图,图5以第一神经网络的数量为多个为例进行说明。图5中的第二神经网络 的结构可以与图3所示的特征提取模块的结构对应。如图5所示,第二神经网络包括穿插 级联的四个卷积层和三个归一化层。每层卷积层的卷积核大小与图3所示的特征提取模块 中的卷积层的卷积核相同,均为5
×
5,步长均为2,即每层卷积层对输入的特征图的分辨 率进行2倍上采样(对宽和高分别进行2倍上采样)。前三层卷积层的输出通道数为n, 最后一层卷积层的输出通道数为3。第二神经网络包括三个输出节点a1至a3,a1位于第 一层卷积层的输出端,a2位于第二层卷积层的输出端,a3位于第三层卷积层的输出端。
[0192]
图5示出了四个第一神经网络b1至b4。b1的输入端与第二神经网络的输入端连接, b2的输入端与a1连接,b3的输入端与a2连接,b4的输入端与a3连接。
[0193]
图5以b1和b2结构相同,b1、b3和b4结构均不同为例进行说明。b1和b2均包括 两个卷积层,该两个卷积层的卷积核均为5
×
5,步长均为1。该两个卷积层中第一层卷积 层的输出通道数为n1,最后一层卷积层的输出通道数为p。示例地,p可以为1或3等, 当p为1时,输出的重建图像为灰度图像;当p为3时,输出的重建图像为三通道的彩色 图像。n1>p,n1越大,输入到最后一层卷积层的特征元素越多,能够为最后一层卷积层 提供更多的信息,使得最后一层卷积层输出能够输出质量较好的重建图像。b3包括三个卷 积层,三个卷积层的卷积核均为5
×
5,步长均为1。b3中第一层卷积层的输出通道数为 n2,第二层卷积层的输出通道数为n3,第三层卷积层的输出通道数为p。b4包括两个卷 积层,两个卷积层的卷积核均为5
×
5,步长均为1。b4中第一层卷积层的输出通道数为 n4,第二层卷积层的输出通道数为p。由图5所示的第一神经网络和第二神经网络的结构 可知,任意两个神经网络的输入端输入的特征图的分辨率不同。
[0194]
图5中b1输出的分辨率为第一特征图的分辨率。b2输出的分辨率为:在将第一特征 图输入第二神经网络后第一层卷积层输出的特征图的分辨率。b3输出的分辨率为:在将第 一特征图输入第二神经网络后第二层卷积层输出的特征图的分辨率。b4输出的分辨率为: 在将第一特征图输入第二神经网络后第三层卷积层输出的特征图的分辨率。假设第一特征 图的分辨率为w/16
×
h/16,则b1至b4的输出分辨率分别为w/16
×
h/16、w/8
×
h/8、 w/4
×
h/4和w/2
×
h/2。
[0195]
假设第一特征图的通道数为m1,分辨率为w/16
×
h/16,当确定的目标分辨率为第一 特征图的分辨率时,将第一特征图直接输入b1,b1的第一层卷积层保持第一特征图的分 辨率不变,对第一特征图进行通道数转换,输出通道数为n1,分辨率为w/16
×
h/16的特 征图。b1的第二层卷积层保持输入的特征图的分辨率不变,对输入的特征图进行通道数转 换,输出通道数为p,分辨率为w/16
×
h/16的重建图像。
[0196]
当根据目标分辨率确定的目标输出节点为a1时,将第一特征图输入第二神经网络, 第二神经网络的第一层卷积层对第一特征图的分辨率进行2倍的上采样,从a1输出通道 数为n,分辨率为w/8
×
h/8的第二特征图。将第二特征图输入与a1连接的b2,b2的第 一层卷积层和第二层卷积层保持输入的特征图的分辨率不变,依次对输入的特征图进行通 道转换,最终输出通道数为p,分辨率为w/8
×
h/8的重建图像。b2中各个卷积层的输出 可以参考b1,本技术实施例在此不做赘述。
[0197]
当根据目标分辨率确定的目标输出节点为a2时,将第一特征图输入第二神经网络, 第二神经网络的第一层卷积层和第二层卷积层依次对第一特征图的分辨率进行2倍的上 采样,从a2输出通道数为n,分辨率为w/4
×
h/4的第二特征图。将第二特征图输入与a2 连接的b3,b3的第一层卷积层至第三层卷积层保持输入的特征图的分辨率不变,依次对 输入的特征图进行通道转换,最终输出通道数为p,分辨率为w/4
×
h/4的重建图像。b3 中各个卷积层的输出可以参考b1,本技术实施例在此不做赘述。
[0198]
当根据目标分辨率确定的目标输出节点为a3时,将第一特征图输入第二神经网络, 第二神经网络的第一层至第三层卷积层依次对第一特征图的分辨率进行2倍的上采样,输 出通道数为n,分辨率为w/2
×
h/2的第二特征图。将第二特征图输入与a3连接的b4,b4的第一层卷积层和第二层卷积层保持输入的特征图的分辨率不变,依次对输入的特征 图进行通道转换,最终输出通道数为p,分辨率为w/2
×
h/2的重建图像。
网络最终输出通道数为p,分辨率为w/8
×
h/8的重建图像,第一神经网络对输入的特征 图的处理过程可以参考前述描述,本技术实施例在此不做赘述。
[0208]
当根据目标分辨率确定的目标输出点为c2时,将第一特征图输入第二神经网络,第 二神经网络的第一层卷积层和第二层卷积层依次对第一特征图的分辨率进行2倍的上采 样,从c2输出通道数为n,分辨率为w/4
×
h/4的第二特征图。将第二特征图输入第一神 经网络,第一神经网络输出通道数为p,分辨率为w/4
×
h/4的重建图像,第一神经网络 对输入的特征图的处理过程可以参考前述描述,本技术实施例在此不做赘述。
[0209]
当根据目标分辨率确定的目标输出点为c3时,将第一特征图输入第二神经网络,第 二神经网络的第一层卷积层至第三层卷积层依次对第一特征图的分辨率进行2倍的上采 样,从c3输出通道数为n,分辨率为w/2
×
h/2的第二特征图。将第二特征图输入第一神 经网络,第一神经网络输出通道数为p,分辨率为w/2
×
h/2的重建图像,第一神经网络 对输入的特征图的处理过程可以参考前述描述,本技术实施例在此不做赘述。
[0210]
需要说明的是,第二神经网络是相关技术中用于编解码的网络中已有的神经网络,其 用于生成原始分辨率的重建图像。在第二神经网络的不同位置设置输出节点,利用输出节 点以及现有的第二神经网络即可实现多种目标分辨率的重建图像的生成。该过程中第二神 经网络用于对第一特征图进行处理,在生成不同目标分辨率的重建图像的过程中,各个输 出节点共享第二神经网络中的层。这样能够减小用于生成重建图像的神经网络(包括第一 神经网络和第二神经网络)的大小,减小了用于生成重建图像的神经网络占用解码器的存 储空间,从而降低了用于生成重建图像的神经网络在解码器中的运行开销和运行复杂度。
[0211]
可选地,在本技术实施例中,在对目标分辨率的特征图进行重建之前,还可以对第一 特征图和/或第二特征图的通道进行缩减,以减少后续的重建过程的复杂度,提高重建过程 的效率。
[0212]
示例地,第二特征图包括多个通道的二维特征图,可以对第二特征图进行通道缩减处 理。之后对进行通道缩减处理后的第二特征图进行重建,得到重建图像。可以从第二特征 图包括的多个通道的二维特征图中随机提取部分通道的二维特征图,或者提取多个通道中 前几个通道的二维特征图,或者提取多个通道中后几个通道的二维特征图。本技术实施例 对通道缩减处理的方式不做限定。
[0213]
例如,请参考图7,图7为本技术实施例提供的一种通道缩减的流程示意图,图7以 在图5所示的第一神经网络和第二神经网络的基础上进行通道缩减处理为例进行说明,在 每个第一神经网络中对第二特征图进行通道缩减处理。如图7所示,在b1中将第二特征 图的通道数由m1缩减为s1,在b2中将第二特征图的通道数由n缩减为s2,在b3中将 第二特征图的通道数由n缩减为s3,在b4中将第二特征图的通道数由n缩减为s4。s1 小于m1,s2、s3和s4均小于n。以a1为例,可以从m1个通道的二维特征图中随机提 取s1个通道的二维特征图,或者可以提取m1个通道中的前s1个通道的二维特征图。其 中,b1中的第二特征图即为第一特征图,m1表示第一特征图的通道数。
[0214]
又一示例地,第一特征图包括多个通道的二维特征图,可以对第一特征图进行通道缩 减处理。第二特征图为进行通道缩减处理后的第一特征图,或第二特征图为通过第二神经 网络对进行通道缩减处理后的第一特征图进行处理得到的特征图。如前述图7所示,
可以 在将第一特征图输入第二神经网络或b1之前对第一特征图进行通道缩减处理,该过程可 以参考前述示例,本技术实施例在此不做赘述。
[0215]
进一步地,在本技术实施例中,在得到重建图像后,可以直接将目标分辨率的重建图 像输出并显示在外部应用层。或者可以将目标分辨率与缩略图分辨率进行对比,根据对比 结果进行进一步处理。
[0216]
可选地,当目标分辨率与缩略图分辨率相等时,直接将目标分辨率的重建图像输出并 显示。当目标分辨率与缩略图分辨率不等时,对重建图像进行缩放操作,以使目标分辨率 等于缩略图分辨率,之后将缩放操作后的重建图像输出并显示。缩放操作包括下采样操作 和上采样操作,当目标分辨率小于缩略图分辨率时,可以对重建图像进行上采样操作;当 目标分辨率大于缩略图分辨率时,可以对重建图像进行下采样操作。示例地,上采样操作 可以包括双线性插值上采样,或者直接填充临近位置的像素值进行上采样或者通过步长大 于1的卷积层的反卷积操作实现上采样。下采样操作可以包括双线性插值下采样,直接去 除部分像素值进行下采样或者通过步长小于1的卷积层的卷积操作实现下采样。本技术实 施例上采样和下采样方式不做限定,只要能够将重建图像的分辨率由目标分辨率增大或缩 小为缩略图分辨率即可。
[0217]
又一可选地,当目标分辨率与缩略图分辨率的差值小于差值阈值时,直接将目标分辨 率的重建图像输出并显示。当目标分辨率与缩略图分辨率的差值大于差值阈值时,对重建 图像进行缩放操作,以使目标分辨率与缩略图分辨率的差值小于差值阈值,之后将缩放操 作后的重建图像输出并显示。缩放操作可以参考前述描述,本技术实施例在此不做赘述。
[0218]
需要说明的是,将目标分辨率与缩略图分辨率进行对比,根据对比结果进行进一步处 理的过程可以由解码器执行,也可以由解码器的外部模块执行,本技术实施例对此不做限 定。
[0219]
综上所述,本技术实施例提供的编解码方法,编码器对原始图像进行特征提取得到初 始特征图,对第一特征图进行编码得到码流并向解码器发送码流,解码器对码流进行解码 得到第一特征图,之后根据第一神经网络对第二特征图进行重建,得到重建图像,第二特 征图和重建图像的分辨率均为目标分辨率,目标分辨率小于原始图像的分辨率,第二特征 图包括第一特征图,或第二特征图为通过第二神经网络对原始图像的特征图进行处理得到 的特征图。经过解码和重建得到的重建图像的分辨率小于原始图像的分辨率,在获取重建 图像的过程中无需先重建得到原始图像,而是直接得到重建图像,提高了获取重建图像的 效率,从而提高了数字视频应用显示原始图像的缩略图的速度。
[0220]
此外,第二神经网络包括一个或多个输出节点,每个输出节点对应一个输出分辨率, 利用输出节点以及第二神经网络即可实现多种目标分辨率的重建图像的生成。该过程中第 二神经网络用于对第一特征图进行处理,在生成不同目标分辨率的重建图像的过程中,各 个输出节点共享第二神经网络中的层。这样能够减小用于生成重建图像的神经网络(包括 第一神经网络和第二神经网络)的大小,减小了用于生成重建图像的神经网络占用解码器 的存储空间,从而降低了用于生成重建图像的神经网络在解码器中的运行开销和运行复杂 度。
[0221]
本技术实施例提供的方法的先后顺序可以进行适当调整,过程也可以根据情况进
行相 应增减。任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的 方法,都应涵盖在本技术的保护范围之内,本技术实施例对此不做限定。
[0222]
本技术实施例提供了另一种编解码方法,请参考图8,图8为本技术实施例提供的另 一种编解码方法的过程500的流程示意图。过程500可由电子设备(包括编码器和解码 器)执行,具体地,过程500可由电子设备通过调用神经网络模型实现执行。过程500描 述为一系列的操作,应当理解的是,过程500可以以各种顺序执行和/或同时发生,不限于 图8所示的执行顺序。过程500可以包括以下过程:
[0223]
501、编码器对原始图像进行特征提取得到初始特征图,初始特征图的分辨率小于原 始图像的分辨率。
[0224]
该过程可以参考前述过程401,本技术实施例在此不做赘述。
[0225]
502、编码器对第一特征图进行编码得到码流,第一特征图为初始特征图,或第一特 征图包括初始特征图中部分通道的二维特征图。
[0226]
该过程可以参考前述过程402,本技术实施例在此不做赘述。
[0227]
503、编码器向解码器发送码流。
[0228]
该过程可以参考前述过程403,本技术实施例在此不做赘述。
[0229]
504、解码器对码流进行解码得到第一特征图。
[0230]
该过程可以参考前述过程404,本技术实施例在此不做赘述。
[0231]
505、解码器根据第一神经网络对第一分辨率的第二特征图进行重建,得到第二分辨 率的重建图像,第二分辨率与第一分辨率不同,第二分辨率小于原始图像的分辨率,第二 特征图包括第一特征图、或第二特征图为通过第二神经网络对第一特征图进行处理得到的 特征图。
[0232]
该过程与前述过程405的区别在于前述过程405中第一神经网络保持第二特征图的 分辨率不变,生成重建图像,而过程505中第一神经网络能够改变第二特征图的分辨率。
[0233]
第一神经网络输出的重建图像的分辨率与输入的第二特征图的分辨率不同。可选地, 第一神经网络可以包括至少一个卷积层,至少一个卷积层中存在步长非1的卷积层,第一 神经网络可以通过步长非1的卷积层对输入的第二特征图的分辨率进行上采样或下采样, 以改变输入的第二特征图的分辨率。
[0234]
示例地,如前述图5所示,b1中的第二层卷积层的步长可以为1.3,并用于对第二特 征图的分辨率进行1.3倍的下采样。如前述图6所示,第一神经网络的第一层卷积层的步 长可以为1.6,并用于对第二特征图的分辨率进行1.6倍的上采样。
[0235]
由于第二神经网络能够输出的多种分辨率的值是固定的,导致与第二神经网络的一个 或多个输出节点连接的第一神经网络输出的分辨率的值是固定的。该过程505中,第一神 经网络也具备改变输入的特征图的分辨率的功能,这样能够通过不同结构的第一神经网络, 实现各种数值的分辨率的输出,在降低了用于生成重建图像的神经网络在解码器中的运行 开销和运行复杂度的同时,提高了生成重建图像的灵活性。
[0236]
该过程505中第一神经网络和第二神经网络的相关描述可以参考前述过程405,本申 请实施例在此不做赘述。
[0237]
综上所述,本技术实施例提供的编解码方法,编码器对原始图像进行特征提取得到初 始特征图,再对第一特征图进行编码得到码流并向解码器发送码流,解码器对码流进
行解 码得到第一特征图,之后根据第一神经网络对第一分辨率的第二特征图进行重建,得到第 二分辨率的重建图像,第二分辨率与第一分辨率不同,第二分辨率小于原始图像的分辨率, 第二特征图包括第一特征图,或第二特征图为通过第二神经网络对第一特征图进行处理得 到的特征图。经过解码和重建得到的重建图像的分辨率小于原始图像的分辨率,在获取重 建图像的过程中无需先重建得到原始图像,而是直接得到重建图像,提高了获取重建图像 的效率,从而提高了数字视频应用显示原始图像的缩略图的速度。
[0238]
此外,第一神经网络也具备改变输入的特征图的分辨率的功能,这样能够通过不同结 构的第一神经网络,实现各种数值的分辨率的输出,在降低了用于生成重建图像的神经网 络在解码器中的运行开销和运行复杂度的同时,提高了生成重建图像的灵活性。
[0239]
本技术实施例提供的方法的先后顺序可以进行适当调整,过程也可以根据情况进行相 应增减。任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的 方法,都应涵盖在本技术的保护范围之内,本技术实施例对此不做限定。
[0240]
本技术实施例提供了再一种编解码方法,请参考图9,图9为本技术实施例提供的再 一种编解码方法的过程600的流程示意图。过程600可由电子设备(包括编码器和解码 器)执行,具体地,过程600可由电子设备通过调用神经网络模型实现执行。过程600描 述为一系列的操作,应当理解的是,过程600可以以各种顺序执行和/或同时发生,不限于 图8所示的执行顺序。过程600可以包括以下过程:
[0241]
601、编码器对原始图像进行特征提取得到初始特征图,初始特征图的分辨率小于原 始图像的分辨率,初始特征图的通道数为m。
[0242]
该过程可以参考前述过程401,本技术实施例在此不做赘述。
[0243]
602、编码器对待编码特征图进行编码得到码流,码流对应初始特征图中m1个通道 的二维特征图,m1≤m。
[0244]
该过程可以参考前述过程402,待编码特征图相当于过程602中的第一特征图,本申 请实施例在此不做赘述。
[0245]
603、编码器向解码器发送码流。
[0246]
该过程可以参考前述过程403,本技术实施例在此不做赘述。
[0247]
604、解码器对m1个通道中m2个通道的二维特征图对应的码流进行解码,得到第 一特征图,m2<m1,第一特征图包括m2个通道的二维特征图。
[0248]
码流对应m1个通道的二维特征图,m1个通道的二维特征图对应的码流按照顺序排 列。解码器可以对m1个通道中前m2个通道的二维特征图对应的码流进行解码。这样在 m2个通道的二维特征图对应的码流被解码后即可执行后续的重建流程,无需在整个码流 解码完成后再执行后续的重建流程,提高了得到第三特征图的效率,从而提高了获取重建 图像的效率。
[0249]
对m1个通道中m2个通道的二维特征图对应的码流进行解码的过程可以参考前述过 程404,本技术实施例在此不做赘述。
[0250]
605、解码器根据第一神经网络对第二特征图进行重建,得到重建图像,第二特征图 和重建图像的分辨率均为目标分辨率,目标分辨率小于原始图像的分辨率,第二特征图为 第一特征图、或第二特征图为通过第二神经网络对第一特征图进行处理得到的特征图。
[0251]
该过程可以参考前述过程405,本技术实施例在此不做赘述。
[0252]
606、解码器对重建图像进行上采样处理,得到第一图像,第一图像的分辨率与原始 图像的分辨率相同。
[0253]
示例地,上采样处理可以包括双线性插值上采样,或者直接填充临近位置的像素值进 行上采样或者通过步长大于1的卷积层的反卷积操作实现上采样。
[0254]
需要说明的是,若对整个码流进行解码得到的特征图进行重建,生成重建的原始分辨 率的图像,则该原始分辨率的图像的分辨率较大,生成过程耗时较长,影响数字视频应用 显示原始分辨率的图像的速度,导致用户在浏览原始分辨率的图像是会出现卡顿的情况。 本技术实施例中,在得到重建图像的过程中仅对码流中的部分码流进行了解码,使得重建 图像的数据量较小,得到重建图像的效率较高。进而在基于重建图像得到第一图像时,提 高了得到第一图像的效率,从而减小了得到第一图像的过程的耗时,提高了数字视频应用 显示原始分辨率的图像的速度。
[0255]
由过程602可知,码流可以为初始特征图的码流(即m1=m),或者码流对应初始特 征图中部分通道的二维特征图(即m1<m)。当m1=m时,可以重建得到高质量的原始 分辨率的图像,即可以执行后续过程607和608。当m1<m时,无需执行后续过程607 和608。
[0256]
607、解码器对m1个通道中除m2个通道之外的通道的二维特征图对应的码流进行 解码,得到第三特征图,第三特征图包括m1-m2个通道的二维特征图。
[0257]
该解码过程可以参考过程404,本技术实施例在此不做赘述。
[0258]
608、解码器根据第二神经网络对第一特征图和第三特征图进行处理,得到第二图像, 第二图像的分辨率与原始图像的分辨率相同。
[0259]
第一特征图和第三特征图组成m1个通道的二维特征图(即组成初始特征图)。该第 二图像为第二神经网络的最终输出。第二神经网络的结构及处理过程可以参考前述过程 405,本技术实施例在此不做赘述。
[0260]
第二图像是对第一特征图和第三特征图进行重建后生成的,第二图像的数据量大于前 述第一图像的数据量,且图像质量高于第一图像。前述过程607和过程608可以与过程 606同时执行,即通过过程606快速生成低质量的第一图像以由数字视频应用先进行显示, 同时通过过程607和过程608重建得到高质量的第二图像。由于第二图像的重建过程耗时 较长,因此先快速生成低质量的第一图像进行显示,同时重建得到高质量的第二图像,使 得数字视频应用在显示原始分辨率的图像时不会出现卡顿的情况,提高了对原始分辨率的 图像的显示效果。
[0261]
综上所述,本技术实施例提供的编解码方法,编码器对原始图像进行特征提取得到初 始特征图,初始特征图的通道数为m,再对第一特征图进行编码得到码流并向解码器发送 码流,码流对应初始特征图中m1个通道的二维特征数据,m1≤m,解码器对m1个通道 中m2个通道的二维特征图对应的码流进行解码,得到第一特征图,之后根据第一神经网 络对第二特征图进行重建,得到重建图像,第二特征图和重建图像的分辨率均为目标分辨 率,目标分辨率小于原始图像的分辨率,第二特征图为第二特征图、或第二特征图为通过 第二神经网络对第二特征图进行处理得到的特征图。经过解码和重建得到的重建图像的分 辨率小于原始图像的分辨率,在获取重建图像的过程中无需先重建得到原始图像,而是直 接得到重建图像,提高了获取重建图像的效率,从而提高了数字视频应用显示原始图像的 缩略图的速度。
[0262]
此外,在得到重建图像后,还可以对重建图像进行上采样处理,得到第一图像,第一 图像的分辨率与原始图像的分辨率相同,同时对m1个通道中除m2个通道之外的通道的 二维特征图对应的码流进行解码,得到第三特征图,第三特征图包括m1-m2个通道的二 维特征图,并根据第二神经网络对第一特征图和第三特征图进行处理,得到第二图像,第 二图像的分辨率与原始图像的分辨率相同。第二图像的数据量大于前述第一图像的数据量, 且图像质量高于第一图像。由于第二图像的重建过程耗时较长,因此先快速生成低质量的 第一图像进行显示,同时重建得到高质量的第二图像,使得数字视频应用在显示原始分辨 率的图像时不会出现卡顿的情况,提高了对原始分辨率的图像的显示效果。
[0263]
本技术实施例提供的方法的先后顺序可以进行适当调整,过程也可以根据情况进行相 应增减,例如当码流对应初始特征图中部分通道的二维特征图时,可以不执行过程607和 608。任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的方 法,都应涵盖在本技术的保护范围之内,本技术实施例对此不做限定。
[0264]
本技术实施例提供了又一种编解码方法,请参考图10,图10为本技术实施例提供的 另一种编解码方法的过程700的流程示意图。过程700可由电子设备(包括编码器和解码 器)执行,具体地,过程700可由电子设备通过调用神经网络模型实现执行。过程700描 述为一系列的操作,应当理解的是,过程700可以以各种顺序执行和/或同时发生,不限于 图10所示的执行顺序。过程700可以包括以下过程:
[0265]
701、编码器对原始图像进行特征提取得到初始特征图,初始特征图的分辨率小于原 始图像的分辨率。
[0266]
该过程可以参考前述过程401,本技术实施例在此不做赘述。
[0267]
702、编码器对原始图像的特征图进行编码得到码流,原始图像的特征图为初始特征 图,或原始图像的特征图包括初始特征图中部分通道的二维特征图。
[0268]
该过程可以参考前述过程402,本技术实施例在此不做赘述。
[0269]
703、编码器向解码器发送码流。
[0270]
该过程可以参考前述过程403,本技术实施例在此不做赘述。
[0271]
704、解码器对码流进行解码得到原始图像的特征图。
[0272]
该过程可以参考前述过程404,本技术实施例在此不做赘述。
[0273]
705、解码器根据神经网络对原始图像的特征图进行重建,得到目标分辨率的重建图 像,目标分辨率小于或等于原始图像的特征图的分辨率。
[0274]
神经网络输出的重建图像的分辨率与输入的特征图的分辨率相同或不同。
[0275]
该神经网络的数量可以为一个或多个。当神经网络的数量为一个时,解码器可以直接 将原始图像的特征图输入该一个神经网络,得到该一个神经网络输出的重建图像。此时该 神经网络仅能输出一种分辨率的重建图像。
[0276]
当神经网络的数量为多个时,任意两个神经网络的结构可以相同或不同,本技术实施 例对此不做限定。解码器可以确定多个神经网络中的目标神经网络。之后将原始图像的特 征图输入目标神经网络,得到目标神经网络输出的重建图像。
[0277]
每个神经网络包括至少一个卷积层,卷积层用于对输入的原始图像的特征图进行处理。 每个神经网络对应一个输出分辨率,任一神经网络的输出分辨率为将原始图像的特征图输 入该任一神经网络后,该任一神经网络中的最后一层卷积层输出的特征图的分辨
率。解码 器可以先确定目标分辨率,之后将输入分辨率为目标分辨率的神经网络确定为目标神经网 络。目标分辨率的确定方法可以参考前述过程405,本技术实施例在此不做赘述。
[0278]
示例地,请参考图11,图11为本技术实施例提供的一种神经网络的结构示意图。图 11示出了四个神经网络d1至d4。d1包括两个卷积层,d1中的两个卷积层的卷积核大小 均为5x5,步长均为1。d1中第一层卷积层的输出通道数为n1,最后一层卷积层的输出通 道数为p。d2包括三个卷积层,d2中的三个卷积层的卷积核大小均为5x5。d2中第一层 卷积层的步长为2,输出通道数为n;d2中第二层卷积层和最后一层卷积层的步长均为1, d2中第二层卷积层的输出通道数为n1,最后一层卷积层的输出通道数为p。d3包括四个 卷积层,d3中第一层卷积层和第二层卷积层的步长均为2,输出通道数均为n;d3中第三 层卷积层和最后一层卷积层的步长均为1,d3中第三层卷积层的输出通道数为n1,最后 一层卷积层的输出通道数为p。d4包括五个卷积层,d4中第一层卷积层、第二层卷积层和 第三层卷积层的步长均为2,输出通道数均为n;d4中第四层卷积层和最后一层卷积层的 步长均为1,d4中第四层卷积层的输出通道数为n1,最后一层卷积层的输出通道数为p。
[0279]
假设原始图像的特征图的通道数为m,分辨率为w/16
×
h/16,四个神经网络d1至d4 的输出分辨率分别为w/16
×
h/16、w/8
×
h/8、w/4
×
h/4和w/2
×
h/2。
[0280]
当目标神经网络为d1时,将原始图像的特征图输入d1,d1的第一层卷积层和第二层 卷积层保持输入的特征图的分辨率不变,依次对输入的特征图进行通道转换,最终输出通 道数为p,分辨率为w/16
×
h/16的重建图像。
[0281]
当目标神经网络为d2时,将原始图像的特征图输入d2,d2的第一层卷积层对特征图 的分辨率进行2倍的上采样,输出通道数为n,分辨率为w/8
×
h/8的特征图。d2的第二 层卷积层和第三层卷积层保持输入的特征图的分辨率不变,依次对输入的特征图进行通道 转换,最终输出通道数为p,分辨率为w/8
×
h/8的重建图像。
[0282]
当目标神经网络为d3时,将原始图像的特征图输入d3,d3的第一层卷积层和第二层 卷积层依次对原始图像的特征图的分辨率进行2倍的上采样,输出通道数为n,分辨率为 w/4
×
h/4的特征图。d3的第三层卷积层和第四层卷积层保持输入的特征图的分辨率不变, 依次对输入的特征图进行通道转换,最终输出通道数为p,分辨率为w/4
×
h/4的重建图 像。
[0283]
当目标神经网络为d4时,将原始图像的特征图输入d4,d4的第一层卷积层、第二层 卷积层和第三层卷积层依次对原始图像的特征图的分辨率进行2倍的上采样,输出通道数 为n,分辨率为w/2
×
h/2的特征图。d4的第四层卷积层和第五层卷积层保持输入的特征 图的分辨率不变,依次对输入的特征图进行通道转换,最终输出通道数为p,分辨率为w/2
ꢀ×
h/2的重建图像。
[0284]
示例地,请参考图12,图12为本技术实施例提供的另一种神经网络的结构示意图。 图12示出了四个神经网络e1至e4。e1包括两个卷积层,e1中的两个卷积层的卷积核大 小均为5x5,步长均为1。e1中第一层卷积层的输出通道数为n1,最后一层卷积层的输出 通道数为p。e2包括一个卷积层,e2中的一个卷积层的卷积核大小为5x5,步长为2,输 出通道数为p。e3包括两个卷积层,e3中第一层卷积层和第二层卷积层的步长均为2,e3 中第一层卷积层的输出通道数为n,d3中第二层卷积层的输出通道数为p。e4包括三个卷 积层,e4中第一层卷积层、第二层卷积层和第三层卷积层的步长均为2,e4中第一层卷积 层和第二层卷积层的输出通道数均为n,e4中第三层卷积层的输出通道数为p。
[0285]
假设原始图像的特征图为m
×
w/16
×
h/16,四个神经网络e1至e4的输出分辨率分 别为w/16
×
h/16、w/8
×
h/8、w/4
×
h/4和w/2
×
h/2。即目标神经网络分别为e1至e4 时,输出的重建图像分别为p
×
w/16
×
h/16、p
×
w/8
×
h/8、p
×
w/4
×
h/4和p
×
w/2
×ꢀ
h/2。
[0286]
需要说明的是,目标分辨率的数量可以为一个或多个,相应地,目标神经网络的数量 也可以为一个或多个。当目标神经网络的数量为多个时,该多个目标神经网络可以同时输 出相应的目标分辨率的重建图像。每个目标神经网络的重建过程可以参考前述描述,本申 请实施例在此不做赘述。
[0287]
图11和图12中神经网络的结构为示例性说明,本技术实施例对此不做限定。示例地, 在图11或图12的基础上,任一神经网络还可以包括一个或多个卷积层,多个卷积层可以 相同或不同。
[0288]
可选地,在本技术实施例中,在对原始图像的特征图进行重建或者在神经网络的最后 一层卷积层输出重建图像之前,还可以对原始图像的特征图和/或某一卷积层输出的中间 特征图进行通道缩减,以减少后续的重建过程的复杂度,提高重建过程的效率。该过程可 以参考前述过程405,本技术实施例在此不做赘述。
[0289]
请参考图13,图13为本技术实施例提供的另一种通道缩减的流程示意图,图13以 在图11所示的神经网络的基础上进行通道缩减,且以对中间特征图进行通道缩减为例进 行说明,即在每个神经网络中对卷积层的输出通道数进行缩减。如图13所示,在d1中将 原始图像的特征图的通道由m1缩减为t1,在d2中将第一层卷积层输出的中间特征图的 通道由n缩减为t2,在d3中将第二层卷积层输出的中间特征图的通道由n缩减为t3, 在d4中将第三层卷积层输出的中间特征图的通道由n缩减为t4。t1小于m1,t2、t3 和t4均小于n。
[0290]
该过程505可以参考前述过程405,本技术实施例在此不做赘述。
[0291]
综上所述,本技术实施例提供的编解码方法,编码器对原始图像进行特征提取得到原 始图像的特征图,再对原始图像的特征图进行编码得到码流并向解码器发送码流,解码器 对码流进行解码得到原始图像的特征图,之后对原始图像的特征图进行重建,得到目标分 辨率的重建图像,目标分辨率小于或等于原始图像的特征图的分辨率。经过解码和重建得 到的重建图像的分辨率小于原始图像的分辨率,在获取重建图像的过程中无需先重建得到 原始图像,而是直接得到重建图像,提高了获取重建图像的效率,从而提高了数字视频应 用显示原始图像的缩略图的速度。
[0292]
此外,可以根据神经网络对原始图像的特征图进行重建,得到重建图像,神经网络包 括多个神经子网络,每个神经子网络对应一个输出分辨率,可以根据需要的缩略图分辨率 确定目标分辨率,将输出分辨率为目标分辨率的神经子网络确定为目标神经子网络,并根 据目标神经子网络得到重建图像。该获取重建图像的过程中能够根据确定的目标分辨率选 择匹配的神经子网络,且能够获取到多种目标分辨率的重建图像,提高了获取重建图像的 灵活性。
[0293]
本技术实施例提供的方法的先后顺序可以进行适当调整,过程也可以根据情况进行相 应增减。任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的 方法,都应涵盖在本技术的保护范围之内,本技术实施例对此不做限定。
[0294]
可选地,本技术实施例还可以包括以下五种实施例:
[0295]
实施例一
[0296]
本实施例的主要流程图如图14所示。
[0297]
图14为本技术实施例提供的一种编解码流程示意图。在编码端,原始图x输入特征提 取模块输出特征图y,该特征图y输入量化模块,得到量化后的特征图y0。熵编码模块对特 征图y0进行熵编码得到压缩码流。在编码端技术方案具体描述如下:
[0298]
步骤1:获取三维特征图y。
[0299]
原始图x输入特征提取模块输出三维特征图y。其中,特征提取模块使用基于神经网络 的方法来实现。如图15所示,图15为本技术实施例提供的一种特征提取模块的网络结构 示意图,主要包括四个卷积层与三个gdn层穿插级联构成,每层卷积层的卷积核大小均 为5x5,最后一层卷积输出特征图通道数为m,且每层卷积层的步长(stride)为2,表示 对输入的图像或者特征图的宽高均进行2倍下采样。因此,对于大小为w
×
h的原始图输 入此特征提取网络后,输出大小为m
×
w/16
×
h/16的三维特征图y,可以理解为,特征 图y包括m个通道的分辨率为w/16
×
h/16的二维特征图。
[0300]
以第一层卷积层(conv nx5x5/2

)为例,表示卷积核为5x5,n表示第一层卷积核的 输出特征图的通道数为n,数字2表示步长为2,理解为对输入图像的宽和高均进行2倍 的下采样操作,因此第一层卷积层会输出特征图的大小为n
×
w/2
×
h/2。
[0301]
同样的,第二层卷积的通道为n,步长为2,则输出特征图的大小为n
×
w/4
×
h/4, 则执行完图15所示的四层卷积操作后,输出的特征图y的大小为m
×
w/16
×
h/16。
[0302]
需要说明的是,本步骤中对特征提取网络的结构不做具体限定,卷积的层数不做限定, 是否包括gdn不做限定;是否有其它激活函数也不做限定;卷积核的大小不做限定,可 以为3
×
3或5
×
5或7
×
7或其它尺寸,由具体编解码端网络设计确定,本技术不作限定, 本技术中,以5
×
5为例进行描述。
[0303]
步骤2:该特征图y输入量化模块,得到量化后的特征图y0。
[0304]
特征量化模块对特征图y中的每个特征值(或者称为特征元素)进行量化,将浮点数 的特征值进行四舍五入得到整数特征值,得到量化后的特征图y0。特征图y0为m
×
w/16
ꢀ×
h/16的三维整数特征图。
[0305]
需要说明的是,本技术对具体的量化方法不做限定,还可以是,将浮点数的特征值进 行截断得到整数特征值。或者还可以是根据预设的量化步长对量化操作得到量化后的特征 值
[0306]
步骤3:熵编码模块对特征图y0进行熵编码得到压缩码流。
[0307]
对特征图y0中的每个特征元素进行熵编码时,可以使用以下方法之一进行处理,在 此不做限定。
[0308]
方法一:基于概率模型的熵编码方法:对特征图y0中的每个特征元素进行熵编码时, 首先使用概率分布模型进行建模,然后将当前特征元素上下文信息输入概率估计网络得到 模型参数,将模型参数代入概率分布模型中,得到当前特征元素的概率分布,根据概率分 布进行熵编码。其中,概率分布模型可以是:单高斯模型(gaussian single model,gsm)、 非对称高斯模型、混合高斯模型(gaussian mixture model,gmm)或者拉普拉斯分布模型 (laplace distribution)。其中,概率估计网络可以使用基于深度学习网络,例如循环神经 网络(recurrent neural network,rnn)和卷积神经网络(convolutional neural network, pixelcnn)等,在此不做限定。
[0309]
方法二:超先验(hyper prior)熵编码方法:
[0310]
特征图y经边信息提取模块模块,输出边信息z,对边信息z进行量化得到将进行 熵编码并写入码流,编码端执行熵解码操作得到解码后的输入概率估计模块输出特征 图y0每个特征元素的概率分布(将进行熵编码后再解码是为了保证编解码同步)。熵编 码模块根据y0的每个特征元素的概率分布对特征图y0中的每个特征元素进行熵编码,得 到压缩码流。其中,边信息也是一种特征信息,表示为一个三维特征图,其包含的特征元 素个数比特征图y的特征元素个数少。
[0311]
如图14所示的流程图,在解码端,从压缩码流中解析得到特征图y0,将y0输入重建 模块,得到重建图像,所述重建图像包括低分辨率的重建图像,还可以包括原分辨率的重 建图像。在端到端图像编解码方案中,一般情况下,解码重建模块结构与编码特征提取模 块对应,具体的,对应于编码端特征提取模块的图15所示的网络结构,如图16所示,图 16为本技术实施例提供的一种重建模块的网络结构示意图,其中,原分辨率重建网络可以 输出原分辨率的重建图像,低分辨率重建网络分支可以有一个或者多个不同的分支,对应 输出不同分辨率的低分辨率的重建图像。
[0312]
本技术的主要创新点在重建模块,对解码端的技术方案描述如下:
[0313]
步骤1:对压缩码流进行熵解码得到三维特征图y0,y0包括m个通道的分辨率为w/k
ꢀ×
h/k的二维特征图。
[0314]
其中k的值由编码端的特征提取网络的网络结构决定。具体的,k值与特征提取网络 中卷积层的数量以及每一个卷积层的步长有关。对应与编码端,本实施例中k=16,本实施 例以k=16进行描述。
[0315]
熵解码方法与编码端对应,对特征图y0中的每个特征元素进行熵编码时,可以使用 以下方法之一进行处理,简单描述如下:
[0316]
方法一:将当前特征元素上下文信息输入与编码端相同的概率估计网络得到模型参数, 将模型参数代入概率分布模型中,得到当前特征元素的概率分布,根据概率分布进行熵解 码得到特征元素的值。
[0317]
方法二:首先解码得到边信息然后将边信息输入与编码端相同的概率估计模块, 输出当前特征元素的概率分布。根据当前特征元素的概率分布对当前特征元素进行算术解 码,得到当前特征元素的值。
[0318]
步骤2:获取第一分辨率,第一分辨率小于原始图像的分辨率wxh。
[0319]
获取第一分辨率的方法可以使用以下方法之一,如果第一分辨率由解码器外部指定, 解码器根据指定的第一分辨率选择对应的重建支路执行图像重建操作,此时解码器可以不 包括获取第一分辨率这个步骤,可直接执行步骤3。
[0320]
需要说明的是,第一分辨率可以是多种分辨率,如果解码器外部指定多种分辨率,则 解码器可以同时输出对应的多种分辨率的重建图像。
[0321]
方法一:解码器外部指定第一分辨率:这要求解码器外部应用层了解解码器的能力, 即解码器能够输出哪些分辨率的图像。一个码流中能够输出哪些分辨率的图像(候选分辨 率),这一信息可以sei方式携带在码流中,也可以直接携带在应用层(文件格式)中。 播放器读取到所有候选分辨率,根据目标分辨率确定第一分辨率,再将第一分辨率信息告 知解码器。在本实施例中,候选分辨率包括w/16
×
h/16,w/8
×
h/8,w/4
×
h/4,w/2
×ꢀ
h/2。应
用层包括视频播放器、相册、网页等。
[0322]
方法二:解码器内部确定:应用层告知解码器目标分辨率,解码器匹配与目标分辨率 最接近的候选分辨率作为第一分辨率。候选分辨率由解码器结构内在决定。在本实施例中, 候选分辨率包括w/16
×
h/16,w/8
×
h/8,w/4
×
h/4,w/2
×
h/2。
[0323]
方法三:由解码器复杂度/功耗约束确定第一分辨率。具体的,可以为解码器每个重建 支路计算得到对应的复杂度指标,这个复杂度指标在上层(应用层)是可知的。应用层根 据复杂度指标选择对应的分辨率。
[0324]
方法四:目标分辨率由编码端指定,传输到解码端,解码端直接解码码流得到。例如, 编码端直接传输一个第一标识用来指示目标分辨率,解码端解析第一标识的值获取目标分 辨率。解码端根据目标分辨率从候选分辨率中匹配出最接近的候选分辨率作为第一分辨率。
[0325]
步骤3:根据第一分辨率选择对应的重建网络支路,将特征图y0输入重建模块,得到 第一分辨率的重建图像。
[0326]
在本实施例中,重建模块可以同时输出多个低分辨率的重建图像,也可以只输出一种 低分辨率重建图像,具体的输出结果视应用层的需要来确定,如果应用层指定的第一分辨 率包括多种分辨率,则本步骤可以输出多种低分辨率的重建图像。本实施例以输出一种低 分辨率的重建图像为例进行描述。
[0327]
具体的,如图16所示,对应于编码端,特征图y0输入重建模块的原分辨率重建网络 中,输出原分辨率的重建图像。另外,可以在原分辨率重建网络的结构中拉出不同分支, 在不改变原分辨率重建网络结构的基础上增加不同的卷积层,输出不同的低分辨率重建图 像。结合图16具体描述如下:其中,第一层卷积、第二层卷积和第三层卷积的通道数均 为n,步长为2。
[0328]
如果第一分辨率为w/16
×
h/16,将特征图y0直接输入分支一的重建网络中,得到大 小为p
×
w/16
×
h/16的重建图像a1。其中,分支一的重建网络包括第一反卷积层,第一 反卷积层的输出通道数为p,步长为1。分支一的重建网络还可以包括第二反卷积网络,第 二反卷积网络包括一个或者多个反卷积层,反卷积层的步长为1,输出通道为n1,多个反 卷积层的n1可以相同也可以不同。p用于指示最终输出重建图像a1的通道数,取值通 常为3或者1,如果需要输出三通道的彩色图像,则p取值为3,如果需要输出灰度图像, p取值为1。n1的取值不做限定。
[0329]
如果第一分辨率为w/8
×
h/8,将特征图y0输入原分辨率重建网络中,执行第一层反 卷积操作得到大小为n
×
w/8
×
h/8的特征图q2,特征图q2再输入分支二的重建网络中, 得到大小为p
×
w/8
×
h/8的重建图像a2。其中,分支二对应的网络结构可以与分支一相 同,也可以不同。
[0330]
如果第一分辨率为w/4
×
h/4,将特征图y0输入原分辨率重建网络中,执行第一层反 卷积操作和第二层反卷积操作得到大小为n
×
w/4
×
h/4的特征图q3,特征图q3再输入 分支三的重建网络中,得到大小为p
×
w/4
×
h/4的重建图像a3。其中,分支三对应的网 络结构可以与分支一或者分支二相同,也可以不同。
[0331]
如果第一分辨率为w/2
×
h/2,将特征图y0输入原分辨率重建网络中,执行第一层反 卷积操作、第二层反卷积操作和第三层反卷积操作得到大小为n
×
w/2
×
h/2的特征图
q4, 特征图q4再输入分支四的重建网络中,得到大小为p
×
w/2
×
h/2的重建图像a4。其中, 分支四对应的网络结构可以与分支一或者分支二或者分支三相同,也可以不同。
[0332]
步骤4:对第一分辨率的重建图像进行处理,得到目标分辨率重建图像。
[0333]
将第一分辨率与目标分辨率进行比较,如果相同,也无需处理,直接将第一分辨率的 重建图像作为目标分辨率重建图像输出显示。
[0334]
如果不同,还应该进行相应的缩放操作或者上采样或者下采样操作,得到与目标分辨 率相同的目标分辨率重建图像后输出。
[0335]
需要说明的是,本步骤可以在解码器的外部由播放器的图像缩放模块完成,因此解码 端的方案可以不包括本步骤。
[0336]
实施例二
[0337]
在编码端方案与实施例一相同,在此不做赘述。如图17所示,图17为本技术实施例 提供的一种解码端的流程示意图。具体步骤如下:仅步骤3与实施例一不同,在此仅对步 骤3展开详细描述。
[0338]
步骤3:根据第一分辨率选择对应的重建网络支路,将特征图y0输入重建模块,得到 第一分辨率的重建图像。
[0339]
如图18所示,图18为本技术实施例提供的一种重建网络的结构示意图。如果第一分 辨率为w/16
×
h/16,将特征图y0输入第一重建网络(如图18a),得到第一分辨率的目 标图像a1。其中,第一重建网络包括第一反卷积网络,第一反卷积网络的输出通道数为 p,步长为1。第一重建网络还可以包括一个或者多个步长为1的第二反卷积网络,多个第 二反卷积网络输出通道n1可以相同也可以不同。
[0340]
如果第一分辨率为w/8
×
h/8,将特征图y0输入第二重建网络(如图18b所示),得 到第一分辨率的目标图像a2。其中,第二重建网络包括第三反卷积网络,第三反卷积网 络的通道数为n,步长为2。第二重建网络还包括第一反卷积网络和第二反卷积网络。
[0341]
如果第一分辨率为w/4
×
h/4,将特征图y0输入第三重建网络(如图18c所示),得 到第一分辨率的目标图像a3。其中,则第三重建网络包括第三反卷积网络,第三反卷积 网络的通道数为n,步长为2。第三重建网络还包括第二重建网络的结构。
[0342]
如果第一分辨率为w/2
×
h/2,将特征图y0输入第四重建网络(如图18d所示),得 到第一分辨率的目标图像a4。其中,则第四重建网络包括第四反卷积网络,第四反卷积 网络的通道数为n,步长为2。第四重建网络还包括第三重建网络的结构。
[0343]
作为另外一种实现方式,如图19所示,图19为本技术实施例提供的另一种重建网络 的结构示意图,第一重建网络,第二重建网络,第三重建网络和第四重建网络还可以使用 图19所示的网络结构来实现,在此不做限定。
[0344]
步骤2.3:对第一分辨率的重建图像进行处理,得到目标分辨率图像。
[0345]
实施例三
[0346]
本实施例与实施例一的不同之处在于,对输入特征图进行重建之前对特征图的通道数 进行缩减,或者在重建过程中执行一层或者多层反卷积操作后得到的特征图的通道数进行 缩减,以减少解码复杂度。
[0347]
解码端方法如下:
[0348]
基于实施例一,本实施例仅步骤3与实施例一不同,在此仅对步骤3展开详细描述。
[0349]
一种可实现的方式中,如图20所示,图20为本技术实施例提供的一种通道缩减的流 程示意图。将特征图y0输入重建网络之前,对特征图y0的m个通道数进行缩减至s,只 输入特征图y0的s个通道数,其中s小于特征图y0的通道数m。在这种实现方式中, 不能同时输出多个不同的低分辨率重建图像。其中,重建网络的可以使用实施例一和实施 例二中的方式实现。
[0350]
一种可实现的方式中,结合实施例二进行描述。如图21所示,图21为本技术实施例 提供的另一种通道缩减的流程示意图。s1,s2,s3,s4均小于特征图y0的通道数m。以 第一分辨率为w/8
×
h/8时,将特征图y0输入第二重建网络得到目标图像a2为例进行描 述。在这种实现方式中,可以同时输出多个不同的低分辨率重建图像。当第一分辨率为w/8
ꢀ×
h/8时,将特征图y0输入第二重建网络,经过通道数为n,步长为2的反卷积层,输出 通道数为n的特征图y1,将y1的通道数进行缩减,得到通道数为s2的特征图并输入下 一层级的反卷积网络中直到输出目标图像a2。具体的缩减方法为,随机提取s2个通道的 特征图数据,或者提取n个通道中的前s2个通道的特征图数据,在此不做限定。
[0351]
在另外一种可实现的方式中,结合实施例一进行描述:如图22所示,图22为本技术 实施例提供的再一种通道缩减的流程示意图。图22为在重建网络中对卷积层输出的特征 图通道数进行缩减,s1,s2,s3,s4均小于特征图y0的通道数m。以第一分辨率为w/8
ꢀ×
h/8时,进行描述。在这种实现方式中,可以同时输出多个不同的低分辨率重建图像。 当第一分辨率为w/8
×
h/8时,将特征图y0输入原分辨率重建网络中,执行第一层卷积操 作得到大小为n
×
w/8
×
h/8的特征图q2,特征图q2的通道数进行缩减,得到通道数为 s2的特征图并输入分支二的重建网络中,得到大小为p
×
w/8
×
h/8的重建图像a2。具体 的缩减方法为,随机提取s2个通道的特征图数据,或者提取n个通道中的前s2个通道 的特征图数据,在此不做限定。
[0352]
实施例四
[0353]
步骤1:解码主码流特征图得到所有n个通道中的前m个通道(m《n)特征图(分 辨率w/k
×
h/k,k=16)。
[0354]
步骤2:将m个通道的特征图输入重建网络1,得到低分辨率图像a1(a1的分辨率 小于原始图像的分辨率w
×
h)。
[0355]
方法一:对低分辨率重建图像a1,执行图像上采样操作,得到目标分辨率图像b1。
[0356]
其中,将m个通道的特征图输入重建网络1得到低分辨率的图像a1方法与实施例一 相同,低分辨率对应实施例一的第一分辨率。目标分辨率的设置方法在此不做限定,例如 可以由应用侧指定。
[0357]
其中,图像上采样操作例如是双线性插值上采样,或者直接填充临近位置的像素值进 行上采样。
[0358]
方法二:对低分辨率重建图像a1,执行图像上采样操作,得到原始分辨率图像b3。
[0359]
上采样操作包括:图像上采样操作例如是双线性插值上采样,或者直接填充临近位置 的像素值进行上采样。或者,通过步长大于1的反卷积层来实现。
[0360]
b3的分辨率为wxh。
[0361]
步骤3:解码主码流特征图得到剩余的n-m个通道的特征图,将所有n个通道的特 征图输入重建网络2,得到原始分辨率图像b2。
[0362]
有益效果:通过步骤1和2,占用较少的熵解码延时和图像重建延时,快速产生一个 低质量的图像;步骤3可以和步骤2并行执行,以较大的延时获得高质量的(符合标准的) 图像。
[0363]
相比前两个实施例,
[0364]
1)部分道通特征图解码后即可开始低质量图像重建。
[0365]
2)重建网络可以含有步长大于1的反卷积层,达到上采样的效果。
[0366]
3)只包含2个重建分支。
[0367]
实施例五:
[0368]
在另外一种可实现方式中,实施例一到实施例四解码整个方案可以简化为以下两个步 骤:
[0369]
步骤1:对压缩码流进行熵解码得到三维特征图y0,y0包括m个通道的分辨率为w/k
ꢀ×
h/k的二维特征图。
[0370]
步骤2:将三维特征图y0输入重建网络,得到第一分辨率的重建图像。其中,第一分 辨率小于原始图像的分辨率w
×
h。
[0371]
需要说明的是,前述实施例的各个过程可以任意组合,例如过程605可以为:解码器 根据第二神经网络对第一分辨率的第三特征图进行重建,得到第二分辨率的重建图像,第 一第二分辨率与第一分辨率不同,第二分辨率小于原始图像的分辨率,第三特征图包括第 二特征图,和/或通过第二神经网络对第二特征图进行处理得到的特征图。本技术实施例对 此不做限定。
[0372]
上述主要从设备之间交互的角度对本技术实施例提供的编解码方法进行了介绍。可以 理解的是,各个设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件 模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算 法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件 还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专 业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不 应认为超出本技术的范围。
[0373]
本技术实施例可以根据上述方法示例对各个设备进行功能模块的划分,例如,可以对 应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。 上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要 说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实 现时可以有另外的划分方式。
[0374]
图23为本技术实施例提供的一种解码装置的框图,解码装置800可以应用于电子设 备(例如解码器),其可以为电子设备中的芯片或者功能模块。在采用对应各个功能划分 各个功能模块的情况下,该解码装置800包括处理模块801和重建模块802,还包括收发 模块803(图中未示出)。收发模块803可以包括发送模块和/或接收模块,分别用于执行 图4、8、9或图10所示的实施例中由解码器所执行的发送和接收的操作。示例地,解码 装置包括:
[0375]
处理模块801,用于对码流进行解码得到第一特征图,所述第一特征图的分辨率小于 原始图像的分辨率;
[0376]
重建模块802,用于根据第一神经网络对第二特征图进行重建,得到重建图像,所
述 第二特征图和所述重建图像的分辨率均为目标分辨率,所述目标分辨率小于所述原始图像 的分辨率,其中所述第二特征图为所述第一特征图、或所述第二特征图为通过第二神经网 络对所述第一特征图进行处理得到的特征图。
[0377]
结合上述方案,当所述第二特征图为通过所述第二神经网络对所述第一特征图进行处 理得到的特征图,所述第二神经网络包括一个或多个输出节点和多个卷积层,所述输出节 点位于第一层卷积层的输出端与最后一层卷积层的输入端之间,所述输出节点与所述第一 神经网络的输入端连接,所述重建模块802,还用于将所述第一特征图输入所述第二神经 网络,得到所述第二神经网络的目标输出节点输出的所述第二特征图,所述目标输出节点 属于所述一个或多个输出节点;所述重建模块802,具体用于将所述目标输出节点输出的 第二特征图输入所述第一神经网络,得到所述第一神经网络输出的所述重建图像。
[0378]
结合上述方案,当所述第一神经网络的数量为多个,所述重建模块802,具体用于将 所述第二特征图输入所述目标输出节点连接的第一神经网络,得到所述目标输出节点连接 的第一神经网络输出的所述重建图像。
[0379]
结合上述方案,当所述目标分辨率的个数为多个,所述目标输出节点的个数为多个, 所述重建模块802,具体用于将所述第一特征图输入所述第二神经网络,得到所述第二神 经网络的多个目标输出节点输出的多个分辨率的第二特征图;将每个所述目标输出节点输 出的第二特征图输入所述目标输出节点连接的第一神经网络,得到所述多个目标输出节点 分别连接的第一神经网络输出的多个分辨率的重建图像。
[0380]
结合上述方案,当所述第二神经网络包括多个输出节点,每个所述输出节点对应一个 输出分辨率,所述重建模块802,还用于确定所述目标分辨率;将输出分辨率为所述目标 分辨率的输出节点确定为所述目标输出节点。
[0381]
结合上述方案,所述第一神经网络包括至少一个卷积层,所述至少一个卷积层的卷积 步长为1。
[0382]
结合上述方案,所述码流对应m1个通道的二维特征图,所述处理模块801,具体用 于对所述m1个通道中m2个通道的二维特征图对应的码流进行解码,得到所述第一特征 图,m2《m1,所述第一特征图包括所述m2个通道的二维特征图。
[0383]
结合上述方案,所述重建模块802,还用于对所述重建图像进行上采样处理,得到第 一图像,所述第一图像的分辨率与所述原始图像的分辨率相同。
[0384]
结合上述方案,所述码流为初始特征图的码流,所述初始特征图是对所述原始图像进 行特征提取得到的,所述处理模块801,还用于对所述m1个通道中除所述m2个通道之 外的通道的二维特征图对应的码流进行解码,得到第三特征图,所述第三特征图包括所述 m1-m2个通道的二维特征图;所述重建模块802,还用于根据所述第二神经网络对所述第 一特征图和所述第三特征图进行处理,得到第二图像,所述第二图像的分辨率与所述原始 图像的分辨率相同。
[0385]
结合上述方案,所述第二特征图包括多个通道的二维特征图,在根据第一神经网络对 第二特征图进行重建,得到重建图像之前,所述处理模块801,还用于对所述第二特征图 进行通道缩减处理;所述处理模块801,具体用于根据所述第一神经网络对所述通道缩减 处理后的第二特征图进行重建,得到所述重建图像。
[0386]
结合上述方案,所述第一特征图包括多个通道的二维特征图,所述重建模块802,
还 用于对所述第一特征图进行通道缩减处理;所述第二特征图为所述通道缩减处理后的第一 特征图,或所述第二特征图为通过所述第二神经网络对所述通道缩减处理后的第一特征图 进行处理得到的特征图。
[0387]
编码装置的结构可以参考图23所示的解码装置的结构,编码装置可以应用于电子设 备(例如编码器),其可以为电子设备中的芯片或者功能模块。在采用对应各个功能划分 各个功能模块的情况下,该编码装置包括处理模块和编码模块,进一步地还可以包括收发 模块,收发模块包括发送模块和/或接收模块,分别用于执行图4、8、9或图10所示的实 施例中由编码器所执行的发送和接收的操作。示例地,编码装置包括:
[0388]
处理模块,用于对原始图像进行特征提取得到初始特征图,所述初始特征图包括多个 通道的二维特征图,所述初始特征图的分辨率小于所述原始图像的分辨率;
[0389]
编码模块,用于对待编码特征图进行编码得到码流,所述待编码特征图为所述初始特 征图,或包括所述初始特征图中部分通道的二维特征图;
[0390]
收发模块,用于向解码装置发送码流。
[0391]
图24为本技术实施例提供的一种电子设备的结构示意图,该电子设备900可以为编 码器中的芯片或者功能模块;也可以为解码器中的芯片或者功能模块。如图24所示,该 电子设备900包括处理器901,收发器902以及通信线路903。
[0392]
处理器901,收发器902以及通信线路903。其中,处理器901用于执行如图4、8、 9和10所示的方法实施例中由编码器或解码器执行的任一步骤,且在执行诸如获取等数 据传输时,可选择调用收发器902以及通信线路903来完成相应操作。
[0393]
进一步的,该电子设备900还可以包括存储器904。其中,处理器901,存储器904以 及收发器902之间可以通过通信线路903连接。
[0394]
其中,处理器901是中央处理器(central processing unit,cpu)、通用处理器网络处 理器(network processor,np)、数字信号处理器(digital signal processing,dsp)、微处 理器、微控制器、可编程逻辑器件(programmable logic device,pld)或它们的任意组合。 处理器901还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不予限制。
[0395]
收发器902,用于与其他设备进行通信。收发器902可以是模块、电路、收发器或者 任何能够实现通信的装置。
[0396]
收发器902主要用于图像或码流等数据的收发,可以包括发射器和接收器,分别进行 数据的发送和接收;除数据收发之外的操作由处理器实现,如数据处理,计算等。
[0397]
通信线路903,用于在电子设备900所包括的各部件之间传送信息。
[0398]
在一种设计中,可以将处理器看做逻辑电路,收发器看做接口电路。
[0399]
存储器904,用于存储指令。其中,指令可以是计算机程序。
[0400]
其中,存储器904可以是易失性存储器或非易失性存储器,或可包括易失性和非易失 性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、 可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。 易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速 缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器 (static ram,
sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机 存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器 (double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和 直接内存总线随机存取存储器(direct rambus ram,dr ram)。存储器904还可以是只 读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压 缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备 等。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型 的存储器。
[0401]
需要指出的是,存储器904可以独立于处理器901存在,也可以和处理器901集成在 一起。存储器904可以用于存储指令或者程序代码或者一些数据等。存储器904可以位于 电子设备900内,也可以位于电子设备900外,不予限制。处理器901,用于执行存储器 904中存储的指令,以实现本技术上述实施例提供的方法。
[0402]
在一种示例中,处理器901可以包括一个或多个cpu,例如图24中的cpu0和cpu1。
[0403]
作为一种可选的实现方式,编码装置900包括多个处理器,例如,除图24中的处理 器901之外,还可以包括处理器907。
[0404]
作为一种可选的实现方式,电子设备900还包括输出设备905和输入设备906。示例 性地,输入设备906是键盘、鼠标、麦克风或操作杆等设备,输出设备905是显示屏、扬 声器(speaker)等设备。
[0405]
本技术中描述的处理器和收发器可实现在集成电路(integrated circuit,ic)、模拟ic、 射频集成电路、混合信号ic、专用集成电路(application specific integrated circuit,asic)、 印刷电路板(printed circuit board,pcb)、电子设备等上。该处理器和收发器也可以用各种 ic工艺技术来制造,例如互补金属氧化物半导体(complementary metal oxide semiconductor, cmos)、n型金属氧化物半导体(nmetal-oxide-semiconductor,nmos)、p型金属氧化 物半导体(positive channel metal oxide semiconductor,pmos)、双极结型晶体管(bipolarjunction transistor,bjt)、双极cmos(bicmos)、硅锗(sige)、砷化镓(gaas)等。
[0406]
需要指出的是,电子设备900可以是任意类型的手持设备或固定设备,例如,笔记本 电脑或膝上型电脑、手机、智能手机、平板或平板电脑、相机、台式计算机、机顶盒、电 视机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备(例如,内容业务服务 器或内容分发服务器)、广播接收设备、广播发射设备以及监控设备等等,并可以不使用 或使用任意类型的操作系统。电子设备900也可以是云计算场景中的设备,例如云计算场 景中的虚拟机等。在一些情况下,电子设备900可配备用于无线通信的组件。因此,电子 设备900可以是无线通信设备。或有图15中类似结构的设备。此外,图24中示出的组成 结构并不构成对该电子设备900的限定,除图24所示部件之外,该电子设备900可以包 括比图24所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0407]
电子设备900还可以是芯片系统,芯片系统可以由芯片构成,也可以包括芯片和其他 分立器件。
[0408]
此外,本技术的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申 请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具
体实 现中也可以采用其他的名称,不予限制。
[0409]
作为又一种可实现方式,图23中的收发模块801可以由图24中的收发器902代替, 该收发器902可以集成收发模块801的功能;处理模块802可以由处理器907代替,该处 理器907可以集成处理模块802的功能。进一步的,图23所示解码装置800还可以包括 存储器(图中未示出)。当收发模块801由收发器代替,处理模块802由处理器代替时, 本技术实施例所涉及的解码装置800或编码装置可以为图24所示的电子设备900。
[0410]
根据本技术实施例提供的方法,本技术还提供一种计算机程序产品,该计算机程序产 品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行本技术实 施例任一所述的方法。
[0411]
本技术实施例还提供一种芯片,上述芯片包括至少一个处理器,存储器和接口电路, 上述存储器、上述收发器和上述至少一个处理器通过线路互联,上述至少一个存储器中存 储有计算机程序;上述计算机程序被上述处理器执行时,本技术实施例任一所述的方法得 以实现。
[0412]
本技术实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分 流程可以由计算机或者具有信息处理能力的装置执行计算机程序或指令,以控制相关的硬 件完成,该计算机程序或该组指令可存储于上述计算机可读存储介质中,该计算机程序或 该组指令在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述 任一实施例的电子设备(包括编码器和/或解码器)的内部存储单元,例如电子设备的硬盘 或内存。上述计算机可读存储介质也可以是上述电子设备的外部存储设备,例如上述电子 设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述 电子设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计 算机程序或指令以及上述电子设备所需的其他程序和数据。上述计算机可读存储介质还可 以用于暂时地存储已经输出或者将要输出的数据。
[0413]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及 算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可 以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。
[0414]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0415]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通 过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组 件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显 示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间 接耦合或通信连接,可以是电性,机械或其它的形式。
[0416]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0417]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0418]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储 在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现 有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机 软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机, 服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的 存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码 的介质。
[0419]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟 悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖 在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献