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

编解码方法、装置、设备、存储介质及计算机程序与流程

2022-11-30 08:37:20 来源:中国专利 TAG:


1.本技术实施例涉及编解码技术领域,特别涉及一种编解码方法、装置、设备、存储介质及计算机程序。


背景技术:

2.图像压缩技术能够实现图像信息的有效传输和存储,对于当前图像信息的种类和数据量越来越大的媒体时代起着重要作用。图像压缩技术包括对图像的编码和解码,而编解码性能(体现图像质量)以及编解码效率(体现耗时)是图像压缩技术中需要考虑的要素。
3.在相关技术中,经过技术人员长期的研究与优化,目前已经形成了诸如jpeg、png等有损图像压缩标准。但是这些较为传统的图像压缩技术在编解码性能的提升上遇到了瓶颈,已无法满足多媒体应用数据日益增多的时代需求。而随着深度学习技术在图像识别、目标检测等领域的广泛应用,深度学习技术也被应用于图像压缩任务中,这样编解码效率比传统的图像压缩技术更高。例如,使用基于深度学习技术的变分自编码器(variational auto-encoder,vae)进行图像编解码,能够大幅提升编解码性能。
4.然而,在基于深度学习技术的图像压缩方法的研究过程中,如何有效地保证编解码性能,同时又能提升编解码效率,是需要关注和研究的问题。例如,相关技术中在使用vae进行图像解码的过程中,采用神经网络模型串行计算图像的各个特征点的概率分布,基于概率分布解码出图像。而计算概率分布由神经网络模型实现,串行计算会使解码效率较低。如何保证不降低编解码性能的同时,突破解码时串行计算所带来的效率瓶颈,是基于vae进行编解码方法研究中需要关注的问题。


技术实现要素:

5.本技术实施例提供了一种编解码方法、装置、设备、存储介质及计算机程序,能够保证不降低编解码性能的同时,突破基于vae解码时串行计算所带来的效率瓶颈。所述技术方案如下:
6.第一方面,提供了一种解码方法,所述方法包括:
7.基于码流确定待解码的图像的多个特征点中各个特征点的先验特征;基于指定数值将该多个特征点划分为多组;基于该多个特征点的先验特征,依次确定多组中每组特征点的第一图像特征;其中,确定任一组特征点的第一图像特征的步骤为:并行确定该任一组中各个特征点的概率分布,基于该任一组中各个特征点的概率分布,从码流中解析出该任一组中各个特征点的第一图像特征;基于该多个特征点的第一图像特征重建图像。
8.也即是,在本技术实施例中,解码过程中基于指定数值将多个特征点划分为多组,对于同一组中的各个特征点并行确定概率分布,这样能够加快解码效率。也即是,本方案能够突破基于vae进行解码时串行计算所带来的效率瓶颈,有效提高解码效率。
9.需要说明的是,该方法应用于包括上下文模型的编解码器中,当解码到该多组中任一组时,该任一组中各个特征点的周边信息已全部解码得到,也即是该任一组中的特征
点满足周边信息已解码得到的条件。
10.其中,该多个特征点包括第一特征点,确定第一特征点的概率分布,包括:若第一特征点为该多个特征点中的非首个特征点,则从已解码的各个特征点的第一图像特征中,确定第一特征点的周边信息,第一特征点为任一组中的一个特征点;将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一特征点的上下文特征;基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布。
11.可选地,第一特征点的周边信息包括以第一特征点为几何中心的邻域内已解码的特征点的第一图像特征,该邻域的大小基于上下文模型使用的感受野的尺寸确定,该周边信息至少包括第一特征点周边的n个特征点的第一图像特征,n大于或等于4。也即是,为了保证编解码性能,保证图像质量,本方案在保证压缩率的同时尽量利用较多的周边信息。
12.可选地,该多个特征点包括第一特征点,确定第一特征点的概率分布,包括:若第一特征点为该多个特征点中的首个特征点,则基于第一特征点的先验特征,确定第一特征点的概率分布。
13.可选地,指定数值基于上下文模型使用的感受野的尺寸确定;基于指定数值将该多个特征点划分为多组,包括:基于指定数值确定斜率,该斜率用于指示划分为同一组的特征点所在直线的倾斜程度;基于该斜率,将该多个特征点划分为多组。也即是,本方案基于感受野的尺寸来确定可以并行解码的一组特征点。
14.可选地,若上下文模型使用多个尺寸不同的感受野,则指定数值是通过该多个尺寸不同的感受野中最大感受野的尺寸确定。
15.可选地,上下文模型使用的感受野包括尺寸为5*5的感受野。
16.第二方面,提供了一种编码方法,该方法包括:
17.基于待编码的图像,确定该图像的多个特征点中各个特征点的第一图像特征、概率分布和第一超先验特征;基于指定数值将该多个特征点划分为多组;基于该多个特征点的概率分布,依次将该多组中每组特征点的第一图像特征编入码流;将该多个特征点的第一超先验特征编入码流。
18.也即是,在本技术实施例中,为了在解码过程中并行确定概率分布,以提高解码效率,在编码过程中基于指定数值将多个特征点划分为多组,依次将该多组中每组特征点的第一图像特征编入码流。这样,在解码过程中也按照同样的方式分组,对于同一组中的各个特征点并行确定概率分布,以提高解码效率。也即是,本方案能够突破基于vae进行解码时串行计算所带来的效率瓶颈,有效提高解码效率。
19.可选地,基于待编码的图像,确定该图像的多个特征点中各个特征点的第一图像特征、概率分布和第一超先验特征,包括:基于该图像,确定该多个特征点的第一图像特征;基于该多个特征点的第一图像特征,确定该多个特征点的第一超先验特征,以及并行确定该多个特征点中各个特征点的概率分布。
20.与解码方法相对应,该方法也应用于包括上下文模型的编解码器。可选地,该多个特征点包括第一特征点,确定第一特征点的概率分布,包括:若第一特征点为该多个特征点中的非首个特征点,则基于第一特征点的第一图像特征,确定第一特征点的先验特征,第一特征点为该多个特征点中的一个特征点;从该多个特征点的第一图像特征中,确定第一特征点的周边信息;将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一
特征点的上下文特征;基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布。
21.可选地,该多个特征点包括第一特征点,确定第一特征点的概率分布,包括:若第一特征点为该多个特征点中的首个特征点,则基于第一特征点的先验特征,确定第一特征点的概率分布。
22.可选地,指定数值基于上下文模型使用的感受野的尺寸确定;基于指定数值将该多个特征点划分为多组,包括:基于该指定数值确定斜率,该斜率用于指示划分为同一组的特征点所在直线的倾斜程度;基于该斜率,将该多个特征点划分为多组。
23.可选地,若上下文模型使用多个尺寸不同的感受野,则指定数值是通过该多个尺寸不同的感受野中最大感受野的尺寸确定。
24.可选地,上下文模型使用的感受野包括尺寸为5*5的感受野。
25.第三方面,提供了一种解码装置,所述解码装置具有实现上述第一方面中解码方法行为的功能。所述解码装置包括一个或多个模块,该一个或多个模块用于实现上述第一方面所提供的解码方法。
26.也即是,提供了一种解码装置,该解码装置包括:
27.第一确定模块,用于基于码流确定待解码的图像的多个特征点中各个特征点的先验特征;
28.分组模块,用于基于指定数值将该多个特征点划分为多组;
29.第二确定模块,用于基于该多个特征点的先验特征,依次确定该多组中每组特征点的第一图像特征;其中,确定任一组特征点的第一图像特征的步骤为:并行确定该任一组中各个特征点的概率分布,基于该任一组中各个特征点的概率分布,从码流中解析出该任一组中各个特征点的第一图像特征;
30.重建模块,用于基于该多个特征点的第一图像特征重建图像。
31.可选地,该多个特征点包括第一特征点,第二确定模块包括:
32.第一处理子模块,用于若第一特征点为该多个特征点中的非首个特征点,则从已解码的各个特征点的第一图像特征中,确定第一特征点的周边信息,第一特征点为该任一组中的一个特征点;
33.第二处理子模块,用于将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一特征点的上下文特征;
34.第三处理子模块,用于基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布。
35.可选地,第一特征点的周边信息包括以第一特征点为几何中心的邻域内已解码的特征点的第一图像特征,该邻域的大小基于上下文模型使用的感受野的尺寸确定,该周边信息至少包括第一特征点周边的n个特征点的第一图像特征,n大于或等于4。
36.可选地,该多个特征点包括第一特征点,第二确定模块包括:
37.第四处理子模块,用于若第一特征点为该多个特征点中的首个特征点,则基于第一特征点的先验特征,确定第一特征点的概率分布。
38.可选地,指定数值基于上下文模型使用的感受野的尺寸确定;
39.分组模块包括:
40.第一确定子模块,用于基于指定数值确定斜率,该斜率用于指示划分为同一组的特征点所在直线的倾斜程度;
41.划分子模块,用于基于该斜率,将该多个特征点划分为多组。
42.可选地,若上下文模型使用多个尺寸不同的感受野,则指定数值是通过该多个尺寸不同的感受野中最大感受野的尺寸确定。
43.可选地,上下文模型使用的感受野包括尺寸为5*5的感受野。
44.第四方面,提供了一种编码装置,所述编码装置具有实现上述第二方面中编码方法行为的功能。所述编码装置包括一个或多个模块,该一个或多个模块用于实现上述第二方面所提供的编码方法。
45.也即是,提供了一种编码装置,所述装置包括:
46.第一确定模块,用于基于待编码的图像,确定图像的多个特征点中各个特征点的第一图像特征、概率分布和第一超先验特征;
47.分组模块,用于基于指定数值将该多个特征点划分为多组;
48.第一编码模块,用于基于该多个特征点的概率分布,依次将该多组中每组特征点的第一图像特征编入码流;
49.第二编码模块,用于将该多个特征点的第一超先验特征编入码流。
50.可选地,第一确定模块包括:
51.第一确定子模块,用于基于该图像,确定该多个特征点的第一图像特征;
52.第二确定子模块,用于基于该多个特征点的第一图像特征,确定该多个特征点的第一超先验特征,以及并行确定该多个特征点中各个特征点的概率分布。
53.可选地,该多个特征点包括第一特征点,第二确定子模块用于:
54.若第一特征点为该多个特征点中的非首个特征点,则基于第一特征点的第一图像特征,确定第一特征点的先验特征,第一特征点为该多个特征点中的一个特征点;
55.从该多个特征点的第一图像特征中,确定第一特征点的周边信息;
56.将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一特征点的上下文特征;
57.基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布。
58.可选地,该多个特征点包括第一特征点,第二确定子模块用于:
59.若第一特征点为该多个特征点中的首个特征点,则基于第一特征点的先验特征,确定第一特征点的概率分布。
60.可选地,该指定数值基于上下文模型使用的感受野的尺寸确定;
61.分组模块包括:
62.第三确定子模块,用于基于该指定数值确定斜率,该斜率用于指示划分为同一组的特征点所在直线的倾斜程度;
63.划分子模块,用于基于该斜率,将该多个特征点划分为多组。
64.可选地,若上下文模型使用多个尺寸不同的感受野,则该指定数值是通过该多个尺寸不同的感受野中最大感受野的尺寸确定。
65.可选地,上下文模型使用的感受野包括尺寸为5*5的感受野。
66.第五方面,提供了一种解码端设备,所述解码端设备包括处理器和存储器,所述存储器用于存储执行上述第一方面所提供的解码方法的程序。所述处理器被配置为用于执行所述存储器中存储的程序,以实现上述第一方面提供的解码方法。
67.可选地,所述解码端设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
68.第六方面,提供了一种编码端设备,所述编码端设备包括处理器和存储器,所述存储器用于存储执行上述第二方面所提供的编码方法的程序。所述处理器被配置为用于执行所述存储器中存储的程序,以实现上述第二方面提供的编码方法。
69.可选地,所述编码端设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
70.第七方面,提供了一种计算机可读存储介质,所述存储介质内存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的解码方法的步骤,或者执行上述第二方面所述的编码方法的步骤。
71.第八方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的解码方法的步骤,或者执行上述第二方面所述的编码方法的步骤。或者说,提供了一种计算机程序,所述计算机程序被执行时实现上述第一方面所述的解码方法的步骤,或者实现上述第二方面所述的编码方法的步骤。
72.上述第三方面、第四方面、第五方面、第六方面、第七方面和第八方面所得到的技术效果与第一方面或第二方面中对应的技术手段得到的技术效果近似,在这里不再赘述。
73.本技术实施例提供的技术方案至少能够带来以下有益效果:
74.在本技术实施例中,解码过程中基于指定数值将多个特征点划分为多组,对于同一组中的各个特征点并行确定概率分布,这样能够加快解码效率。相应地,在编码过程中也是按照同样的分组方式将该多个特征组进行分组,依次该多组中每组特征点的第一图像特征编入码流。也即是,本方案能够突破基于vae进行解码时串行计算所带来的效率瓶颈,有效提高解码效率。
附图说明
75.图1是本技术实施例提供的一种实施环境的示意图;
76.图2是本技术实施例提供的一种编解码框架的结构示意图;
77.图3是本技术实施例提供的一种编解码顺序的示意图;
78.图4是本技术实施例提供的一种编码方法的流程图;
79.图5是本技术实施例提供的一种编码中利用周边信息的示意图;
80.图6是本技术实施例提供的另一种编解码顺序的示意图;
81.图7是本技术实施例提供的又一种编解码顺序的示意图;
82.图8是本技术实施例提供的又一种编解码顺序的示意图;
83.图9是本技术实施例提供的又一种编解码顺序的示意图;
84.图10是本技术实施例提供的另一种编解码框架的结构示意图;
85.图11是本技术实施例提供的一种解码方法的流程图;
86.图12是本技术实施例提供的一种解码装置的结构示意图;
87.图13是本技术实施例提供的一种编码装置的结构示意图;
88.图14是本技术实施例提供的一种编解码装置的示意性框图。
具体实施方式
89.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
90.本技术实施例描述的网络架构以及业务场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
91.在对本技术实施例提供的编解码方法进行详细地解释说明之前,先对本技术实施例涉及的术语和实施环境进行介绍。
92.为了便于理解,首先对本技术实施例涉及的术语进行解释。
93.像素深度(bits per pixel,bpp):又称为位/像素,bpp是存储每个像素所用的位数,bpp越小代表压缩码率越小。
94.码率:在图像压缩中,指单位像素编码所需要的编码长度,码率越高,图像重建质量越好。
95.峰值信噪比(peak signal to noise ratio,psnr):是一种评价图像质量的客观标准,psnr越高代表图像质量越好。
96.多尺度结构相似性(multi-scale structural similarity index measure,ms-ssim):是一种评价图像的客观标准,ms-ssim越高代表图像质量越好。
97.卷积神经网络(convolution neural network,cnn):是一种包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
98.变分自编码器(variational autoencoder,vae):是用于数据压缩或去噪的自动编码器的一种。
99.接下来对本技术实施例涉及的实施环境进行介绍。
100.请参考图1,图1是本技术实施例提供的一种实施环境的示意图。该实施环境包括源装置10、目的地装置20、链路30和存储装置40。其中,源装置10可以产生经编码的图像。因此,源装置10也可以被称为图像编码装置。目的地装置20可以对由源装置10所产生的经编码的图像进行解码。因此,目的地装置20也可以被称为图像解码装置。链路30可以接收源装置10所产生的经编码的图像,并可以将该经编码的图像传输给目的地装置20。存储装置40可以接收源装置10所产生的经编码的图像,并可以将该经编码的图像进行存储,这样的条件下,目的地装置20可以直接从存储装置40中获取经编码的图像。或者,存储装置40可以对应于文件服务器或可以保存由源装置10产生的经编码的图像的另一中间存储装置,这样的条件下,目的地装置20可以经由流式传输或下载存储装置40存储的经编码的图像。
101.源装置10和目的地装置20均可以包括一个或多个处理器以及耦合到该一个或多个处理器的存储器,该存储器可以包括随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、带电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、快闪存储器、可用于以可由计算机存取的指令
或数据结构的形式存储所要的程序代码的任何其它媒体等。例如,源装置10和目的地装置20均可以包括手机、智能手机、个人数字助手(personal digital assistant,pda)、可穿戴设备、掌上电脑ppc(pocket pc)、平板电脑、智能车机、智能电视、智能音箱、桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
102.链路30可以包括能够将经编码的图像从源装置10传输到目的地装置20的一个或多个媒体或装置。在一种可能的实现方式中,链路30可以包括能够使源装置10实时地将经编码的图像直接发送到目的地装置20的一个或多个通信媒体。在本技术实施例中,源装置10可以基于通信标准来调制经编码的图像,该通信标准可以为无线通信协议等,并且可以将经调制的图像发送给目的地装置20。该一个或多个通信媒体可以包括无线和/或有线通信媒体,例如该一个或多个通信媒体可以包括射频(radio frequency,rf)频谱或一个或多个物理传输线。该一个或多个通信媒体可以形成基于分组的网络的一部分,基于分组的网络可以为局域网、广域网或全球网络(例如,因特网)等。该一个或多个通信媒体可以包括路由器、交换器、基站或促进从源装置10到目的地装置20的通信的其它设备等,本技术实施例对此不做具体限定。
103.在一种可能的实现方式中,存储装置40可以将接收到的由源装置10发送的经编码的图像进行存储,目的地装置20可以直接从存储装置40中获取经编码的图像。这样的条件下,存储装置40可以包括多种分布式或本地存取的数据存储媒体中的任一者,例如,该多种分布式或本地存取的数据存储媒体中的任一者可以为硬盘驱动器、蓝光光盘、数字多功能光盘(digital versatile disc,dvd)、只读光盘(compact disc read-only memory,cd-rom)、快闪存储器、易失性或非易失性存储器,或用于存储经编码图像的任何其它合适的数字存储媒体等。
104.在一种可能的实现方式中,存储装置40可以对应于文件服务器或可以保存由源装置10产生的经编码图像的另一中间存储装置,目的地装置20可经由流式传输或下载存储装置40存储的图像。文件服务器可以为能够存储经编码的图像并且将经编码的图像发送给目的地装置20的任意类型的服务器。在一种可能的实现方式中,文件服务器可以包括网络服务器、文件传输协议(file transfer protocol,ftp)服务器、网络附属存储(network attached storage,nas)装置或本地磁盘驱动器等。目的地装置20可以通过任意标准数据连接(包括因特网连接)来获取经编码图像。任意标准数据连接可以包括无线信道(例如,wi-fi连接)、有线连接(例如,数字用户线路(digital subscriber line,dsl)、电缆调制解调器等),或适合于获取存储在文件服务器上的经编码的图像的两者的组合。经编码的图像从存储装置40的传输可为流式传输、下载传输或两者的组合。
105.图1所示的实施环境仅为一种可能的实现方式,并且本技术实施例的技术不仅可以适用于图1所示的可以对图像进行编码的源装置10,以及可以对经编码的图像进行解码的目的地装置20,还可以适用于其他可以对图像进行编码和对经编码的图像进行解码的装置,本技术实施例对此不做具体限定。
106.在图1所示的实施环境中,源装置10包括数据源120、编码器100和输出接口140。在一些实施例中,输出接口140可以包括调节器/解调器(调制解调器)和/或发送器,其中发送
器也可以称为发射器。数据源120可以包括图像捕获装置(例如,摄像机等)、含有先前捕获的图像的存档、用于从图像内容提供者接收图像的馈入接口,和/或用于产生图像的计算机图形系统,或图像的这些来源的组合。
107.数据源120可以向编码器100发送图像,编码器100可以对接收到由数据源120发送的图像进行编码,得到经编码的图像。编码器可以将经编码的图像发送给输出接口。在一些实施例中,源装置10经由输出接口140将经编码的图像直接发送到目的地装置20。在其它实施例中,经编码的图像还可存储到存储装置40上,供目的地装置20以后获取并用于解码和/或显示。
108.在图1所示的实施环境中,目的地装置20包括输入接口240、解码器200和显示装置220。在一些实施例中,输入接口240包括接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码的图像,然后再发送给解码器200,解码器200可以对接收到的经编码的图像进行解码,得到经解码的图像。解码器可以将经解码的图像发送给显示装置220。显示装置220可与目的地装置20集成或可在目的地装置20外部。一般来说,显示装置220显示经解码的图像。显示装置220可以为多种类型中的任一种类型的显示装置,例如,显示装置220可以为液晶显示器(liquid crystal display,lcd)、等离子显示器、有机发光二极管(organic light-emitting diode,oled)显示器或其它类型的显示装置。
109.尽管图1中未示出,但在一些方面,编码器100和解码器200可各自与编码器和解码器集成,且可以包括适当的多路复用器-多路分用器(multiplexer-demultiplexer,mux-demux)单元或其它硬件和软件,用于共同数据流或单独数据流中的音频和视频两者的编码。在一些实施例中,如果适用的话,那么mux-demux单元可符合itu h.223多路复用器协议,或例如用户数据报协议(user datagram protocol,udp)等其它协议。
110.编码器100和解码器200各自可为以下各项电路中的任一者:一个或多个微处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本技术实施例的技术,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一个或多个处理器在硬件中执行所述指令从而实施本技术实施例的技术。前述内容(包括硬件、软件、硬件与软件的组合等)中的任一者可被视为一个或多个处理器。编码器100和解码器200中的每一者都可以包括在一个或多个编码器或解码器中,所述编码器或所述解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
111.本技术实施例可大体上将编码器100称为将某些信息“发信号通知”或“发送”到例如解码器200的另一装置。术语“发信号通知”或“发送”可大体上指代用于对经压缩的图像进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
112.本技术实施例提供的编解码方法可以应用于多种场景,在各种场景中编解码的图像均可以是图像文件包括的图像,也可以是视频文件包括的图像。需要说明的是,结合图1所示的实施环境,下文中的任一种编码方法可以是源装置10中的编码器100执行的。下文中
的任一种解码方法可以是目的地装置20中的解码器200执行的。
113.需要说明的是,本技术实施例提供的编解码方法可以应用于任何vae方法的视频、图像压缩框架中,提供的编解码方法。接下来先对基础的vae方法的编解码模型进行介绍。
114.请参考图2,在编码端,将原始图像输入编码网络模型提取特征得到多个特征点的待量化的图像特征y,待量化的图像特征y在本技术实施例中也称为第二图像特征y,对该多个特征点的第二图像特征y进行量化得到该多个特征点的第一图像特征将该多个特征点的第一图像特征输入至超编码网络模型得到该多个特征点的待量化的超先验特征z,待量化的超先验特征z在本技术实施例中也称为第二超先验特征z,对该多个特征点的第二超先验特征z进行量化得到该多个特征点的第一超先验特征根据指定的概率分布对该多个特征点的第一超先验特征进行熵编码,以将编入码流。如图2所示对进行熵编码得到的比特序列即为码流包括的部分比特序列,这部分比特序列(如图2中右侧黑白条所示)可称为超先验比特流。
115.另外,将该多个特征点的第一超先验特征输入超解码网络模型得到该多个特征点的先验特征ψ。将该多个特征点的第一图像特征输入上下文模型(context model,cm)得到该多个特征点的上下文特征φ。结合该多个特征点的先验特征ψ和上下文特征φ,通过概率分布估计模型(图示为gather model,gm)估计出该多个特征点的概率分布n(μ,σ),基于该多个特征点的概率分布n(μ,σ),依次将该多个特征点中各个特征点的第一图像特征以编入码流。如图2所示对进行熵编码得到的比特序列即为码流包括的部分比特序列,这部分比特序列(如图2中左侧黑白条所示)可称为图像比特流。
116.在解码端,首先根据指定的概率分布从码流包括的超先验比特流中熵解码得到该多个特征点的第一超先验特征将该多个特征点的第一超先验特征输入超解码网络模型得到该多个特征点的先验特征ψ。对于该多个特征点中的首个特征点,基于首个特征点的先验特征来估计首个特征点的概率分布,基于首个特征点的概率分布,从码流包括的图像比特流中解析出首个特征点的第一图像特征。对于该多个特征点中的非首个特征点,如第一特征点,从已解码的各个特征点的第一图像特征中,确定第一特征点的周边信息,将第一特征点的周边信息输入上下文模型cm得到第一特征点的上下文特征,结合第一特征点的先验特征和上下文特征,通过概率分布估计模型gm估计出第一特征点的概率分布,基于第一特征点的概率分布,从码流包括的图像比特流中解析出第一特征点的第一图像特征。从码流中熵解码出该多个特征点的第一图像特征之后,将输入解码网络模型得到重建后的图像。
117.其中,对于估计该多个特征点的概率分布这个计算过程来说,相关技术中编码端设备和解码端设备均是对该多个特征点中的各个特征点依次进行概率分布的计算,如图3所示,相关技术中解码端按照图3中箭头指示的顺序依次估计各个特征点的概率分布,编码端按照图3中箭头指示的顺序依次将各个特征点的第一图像特征编入码流。另外,如图3所示,相关技术中,假设当前解码端解码到黑色填充的一个特征点,斜线填充的特征点为已解
码的特征点,对于黑色填充的这个特征点来说,该特征点的周边信息包括黑色粗线框中斜线填充的12个特征点的第一图像特征。
118.由以上可知,vae方法的编解码模型包含两部分,一部分为特征提取及解码模块,另一部分为熵编码模块。在熵编码模块中通过引入上下文信息(即周边信息)和超先验信息,能够大幅提升压缩性能。
119.接下来对本技术实施例提供的编码方法进行介绍。
120.请参考图4,图4是本技术实施例提供的一种编码方法的流程图,该编码方法应用于编码端设备,该编码方法包括如下步骤。
121.步骤401:基于待编码的图像,确定该图像的多个特征点中各个特征点的第一图像特征、概率分布和第一超先验特征。
122.其中,待编码的图像为图像文件中的图像,或者为视频文件中的图像,且待编码的图像的形式可以为任一种形式,本技术实施例对此不作限定。
123.在本技术实施例中,基于待编码的图像,确定该图像的多个特征点中各个特征点的第一图像特征、概率分布和第一超先验特征的实现过程为:基于该图像,确定该多个特征点的第一图像特征,基于该多个特征点的第一图像特征,确定该多个特征点的第一超先验特征,以及并行确定该多个特征点中各个特征点的概率分布。
124.其中,基于该图像,确定该多个特征点的第一图像特征的实现过程为:将该图像输入编码网络模型,得到该编码网络模型输出的该多个特征点的第二图像特征,对该多个特征点的第二图像特征进行量化处理,得到该多个特征点的第一图像特征。
125.基于该多个特征点的第一图像特征,确定该多个特征点的第一超先验特征的实现过程为:将该多个特征点的第一图像特征输入超编码网络模型,得到该超编码网络模型输出的该多个特征点的第二超先验特征,对该多个特征点的第二超先验特征进行量化处理,得到该多个特征点的第一超先验特征。
126.其中,上述实现过程中所涉及的量化处理的方式可以有多种,例如标量量化,变量量化的量化步长可以基于不同的编码速率来确定,也即是,事先存储编码速率与量化步长的对应关系,基于本技术实施例采用的编码速率从该对应关系中获取对应的量化步长。另外,标量量化还可以存在偏置量,即通过偏置量对待量化的数据(如第二图像特征或第二超先验特征)进行偏置处理后再按照量化步长进行标量量化。
127.需要说明的是,下文的量化处理的方式与此处的类似,下文的量化处理方式可以参考此处的方式,本技术实施例在后文不再赘述。
128.该多个特征点包括第一特征点,确定第一特征点的概率分布的实现过程为:若第一特征点为该多个特征点中的非首个特征点,则基于第一特征点的第一图像特征,确定第一特征点的先验特征,从该多个特征点的第一图像特征中,确定第一特征点的周边信息,将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一特征点的上下文特征,基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布。其中,第一特征点为多个特征点中的一个特征点。
129.其中,基于第一特征点的第一图像特征,确定第一特征点的先验特征的实现过程为:基于第一特征点的第一图像特征,确定第一特征点的第一超先验特征,基于第一特征点的第一超先验特征,确定第一特征点的先验特征。需要说明的是,确定第一特征点的第一超
先验特征的实现过程,即确定该多个特征点中任一特征点的第一超先验特征的实现过程,该过程已在上文进行了介绍,这里不再赘述。而基于第一特征点的第一超先验特征,确定第一特征点的先验特征的实现过程为:将第一特征点的第一超先验特征输入超解码网络模型,得到该超解码网络模型输出的第一特征点的先验特征。
130.上述介绍的编码网络模型、超编码网络模型和超解码网络模型均是预先训练好的,本技术实施例对编码网络模型、超编码网络模型和超解码网络模型的网络结构和训练方法不作限定。例如,编码网络模型、超编码网络模型和超解码网络模型的网络结构均可以是全连接网络或卷积神经网络cnn,卷积神经网络中的卷积可以是2d卷积或3d卷积。另外,本技术实施例对编码网络模型、超编码网络模型和超解码网络模型的网络结构所包含的层数和每一层的节点数也不作限定。
131.在本技术实施例中,以编码网络模型、超编码网络模型和超解码网络模型的网络结构均为cnn,cnn中的卷积为2d卷积为例,编码网络模型输出多个特征点的第二图像特征由一个c*w*h维矩阵表示,量化处理得到的该多个特征点的第一图像特征也由一个c*w*h维矩阵表示,其中c为cnn的通道数,w*h表示该多个特征点所组成的特征图的大小。相应地,基于超编码网络模型得到多个特征点的第二超先验特征、量化得到的多个特征点的第一超先验特征、基于超解码网络模型得到的多个特征点的先验特征也均由c*w*h维矩阵表示。
132.另外,本技术实施例中的上下文模型也为预先训练好的,本技术实施例对上下文模型的网络结构和训练方法不作限定。例如,上下文模型的网络结构可以是掩膜区cnn(mask region cnn,mask r-cnn),其中mask r-cnn中使用感受野来提取上下文特征,上下文模型中可以使用一个或多个感受野,该一个或多个感受野中各个感受野的尺寸不同,本技术实施例对此不作限定。可选地,在本技术实施例中,上下文模型使用的感受野包括尺寸为5*5的感受野。另外,上下文模型中的卷积可以为2d卷积或3d卷积,假设上下文模型中的卷积为2d卷积,那么感受野的尺寸可以为3*3、5*5或7*7等。
133.需要说明的是,第一特征点的周边信息即为确定第一特征点的上下文特征所需利用的图像特征。可选地,从该多个特征点的第一图像特征中,确定第一特征点的周边信息的实现过程为:根据预设规则从该多个特征点的第一图像特征中,确定第一特征线的周边信息。可选地,第一特征点的周边信息包括以第一特征点为几何中心的邻域内至少n个特征点的第一图像特征,该邻域的大小基于上下文模型使用的感受野的尺寸确定,第一特征点的周边信息至少包括第一特征点周边的n个特征点的第一图像特征,n大于或等于4。
134.示例性地,参见图5,假设上下文模型使用一个尺寸为5*5的感受野,上下文模型中的卷积为2d卷积,那么领域的大小即为5*5,根据预设规则所确定的特征点a的周边信息包括以特征点a为几何中心的粗线框内的6个特征点的第一图像特征,且这六个特征点位于特征点a的上方(包括正上方和斜上方)。特征点b的周边信息包括以特征线b为几何中心的粗线框内的12个特征点的第一图像特征,且这12个特征点位于特征点b的正左方的2个特征点和上方的10个特征点。特征点c的周边信息也包括12个特征点的第一图像特征,这12个特征点与特征点c的相对位置,类似于特征点b与特征点b对应的12个特征点的相对位置。特征点d的周边信息包括以特征点d为几何中心的粗线框内的8个特征点的第一图像特征,且这8个特征点位于特征点d的正左方的2个特征点和上方的6个特征点。
135.在第一特征点为该多个特征点中的非首个特征点的情况下,在确定第一特征点的
周边信息之后,将第一特征点的周边信息之后,将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一特征点的上下文特征。之后,基于第一特征点的先验特征和第一特征点的山下文特征,确定第一特征点的概率分布。
136.可选地,基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布的实现过程为:将第一特征点的先验特征和第一特征点的上下文特征输入概率分布估计模型,得到概率分布估计模型输出第一特征点的概率分布,概率分布由均值和标准差表示。其中,概率分布估计模型为预先训练好的,概率分布估计模型的网络结构为神经网络,例如cnn,本技术实施例对概率分布估计模型的网络结构所包含的层数和每一层的节点数不作限定。可选地,概率分布估计模型为上文介绍的gm模型。
137.另外,若第一特征点为该多个特征点中的首个特征点,则基于第一特征点的先验特征,确定第一特征点的概率分布。也就是说,对于首个特征点来说,编码过程中不利用周边信息,或者说将首个特征点的周边信息设定为0。需要说明的是,若第一特征点为该多个特征点中的首个特征点,则确定首个特征点的概率分布的实现过程为:将首个特征点的先验特征输入概率分布估计模型,得到概率分布估计模型输出的首个特征点的概率分布。或者,首个特征点的周边信息为0,确定首个特征点的概率分布的实现过程为:将首个特征点的周边信息输入上下文模型,得到上下文模型输出的首个特征点的上下文特征,首个特征点的上下文特征为0,将首个特征点的先验特征和上下文特征0输入概率分布估计模型,得到概率分布估计模型输出的首个特征点的概率分布。
138.需要说明的是,若上下文模型中使用多个感受野,则在基于上下文模型确定各个特征点的上下文特征的过程中,基于该多个感受野中的各个感受野,分别对各个特征点的周边信息进行特征提取,得到相应感受野对应的各个特征点的多个第一上下文特征,也即各个特征点的上下文特征基于相应特征点的多个第一上下文特征确定,该多个第一上下文特征与该多个感受野一一对应,简单地说,使用几个感受野,对于每个特征点来说即得到几个第一上下文特征。
139.基于此,在一种实现方式中,各个特征点的上下文特征包括相应特征点的多个第一上下文特征,基于上下文模型中使用的多个感受野得到各个特征点的多个第一上下文特征之后,上下文模型输出每个特征点的多个第一上下文特征,再将每个特征点的先验特征和相应特征点的多个第一上下文特征输入概率分布估计模型,得到概率分布估计模型输出的相应特征点的概率分布。在这种实现方式中,各个特征点的上下文特征包括相应特征点的多个第一上下文特征。
140.示例性地,上下文模型使用尺寸分别为3*3、5*5和7*7的三个感受野,那么对于每个特征点来说得到三个第一上下文特征,将每个特征点的先验特征和相应特征点的三个上下文特征输入概率分布估计模型,得到概率分布估计模型输出的相应特征点的概率分布。
141.在另一种实现方式中,基于上下文模型中使用的多个感受野得到各个特征点的多个第一上下文特征之后,继续通过上下文模型对每个特征点的多个第一上下文特征进行处理,得到上下文模型输出相应特征点的上下文特征,之后,将每个特征点的先验特征和上下文特征输入概率分布估计模型,得到概率分布估计模型输出的相应特征点的概率分布。在这种实现方式中,各个特征点的上下文特征是融合相应特征点的多个第一上下文特征而得到的上下文特征。
142.以上介绍了基于待编码的图像,确定该图像的多个特征点中各个特征点的第一图像特征、概率分布和第一超先验特征的实现过程,在本技术实施例中,该实现过程与前述介绍的vae方法的相关过程类似。上述实施例中,在得到各个特征点的第一图像特征之后,基于各个特征点的第一图像特征,分别确定各个特征点的先验特征和上下文特征,确定先验特征和上下文特征这两个步骤可以视为两个分支,这两个分支可以并行执行,以加快编码速度,另外,通过并行确定各个特征点的概率分布,能够保证编码效率。
143.步骤402:基于指定数值将该多个特征点划分为多组。
144.为了能够在解码端对特征点进行并行解码,以提高解码效率,相比于基于vae的相关技术,本方案对各个特征点的编解码顺序进行了优化,以使得能够并行确定部分特征点的概率分布。在本技术实施例中,基于指定数值将该多个特征点划分为多组,每组包括至少一个特征点,后续编码端设备可以按照下文步骤403的介绍依次将该多组中每组特征点的第一图像特征编入码流。
145.其中,指定数值基于上下文模型使用的感受野的尺寸确定。可选地,若上下文模型使用多个尺寸不同的感受野,则指定数值是通过多个尺寸不同的感受野中最大感受野的尺寸确定。
146.示例性地,以编码过程使用卷积网络,卷积网络中的卷积为2d卷积为例,指定数值由符合ks表示,若上下文模型使用一个尺寸为5*5的感受野,那么指定数值ks=5。若上下文模型使用尺寸分别为3*3、5*5和7*7的感受野,那么指定数值ks=7。
147.基于指定数值将该多个特征点划分为多组的实现过程为:基于该指定数值确定斜率,基于该斜率,将该多个特征点划分为多组。其中,该斜率用于指示划分为同一组的特征点所在直线的倾斜程度。需要说明的是,在2d卷积对应的分组方法中,斜率是直观的,如图5所示,根据本方案将特征点a、b、c和d划分为同一组,可以看出,特征点a、b、c和d实际在一条直线上,该斜率能够指示该直线的倾斜程度。而在3d卷积的实现方式中,斜率并不是直观的,在本技术实施例中以2d卷积为例对分组方法进行介绍,3d卷积对应的分组方法的原理与2d卷积对应的分组方法的原理相同。
148.示例性地,以2d卷积为例,指定数值ks=5,那么斜率其中,表示向上取整。也即是,基于该指定数值确定斜率的实现方式为:根据公式确定斜率k。
149.仍以2d卷积为例,假设首个特征点为特征图中左上角的特征点,首个特征点的坐标为(0,0),基于该斜率,将该多个特征点划分为多组的实现方式为:基于该斜率,通过循环方式将该多个特征点划分为多组。其中,循环方式的第t次循环包括:若该多个特征点中存在未被划分的特征点,则将该多个特征点中横坐标为t-i*k且纵坐标为i的特征点划分为一组。其中,k为斜率,t、i以及t-i*k均为整数,且t和i的最小值为0。
150.如图6所示,首个特征点为左上角的特征点,首个特征点的编解码序号为1,图6中编解码序号相同的特征点为同一组,编解码序号的从小到大的顺序即为该多组中各组的编解码顺序,最后一个特征点为右下角的特征点,最后一个特征点的编解码序号最大。可以看出图6所示的编解码顺序是从左上角开始,先向右,再逐渐向右下角。
151.可以想象,若将图6逆时针旋转90度后,即得到如图7所示的另一种编解码顺序。在图7中,首个特征点为特征图中左下角的特征点,编解码顺序为从左下角开始,先向上,再逐渐向右上角,最后一个特征点为右上角的特征点。或者,将图6基于由左上角连接右下角形
成的斜线进行镜像变换,即得到如图8所示的另一种编解码顺序,在图8中,首个特征点为特征图中左上角的特征点,编解码顺序为从左上角开始,先向下,再逐渐向右下角,最后一个特征点为右下角的特征点。可以看出,根据本方案实际上能够得到多种编解码顺序,直观地看,通过对图6进行旋转或/或镜像变换得到,即能够得到八种编解码顺序,而在八种编解码顺序在本质上是相似的。在对应这八种编解码顺序的分组方式中,均以首个特征点为坐标原点,首个特征点指向第二个特征点的方向为横轴,特征图上与横轴垂直的另一边为纵轴,按照斜率将该多个特征点划分为多组。
152.对于3d卷积来说,基于该斜率,将该多个特征点划分为多组的实现方式与2d卷积对应的实现方式类似,3d卷积对应的循环方式的第t次循环包括:若该多个特征点中存在未被划分的特征点,则将该多个特征点中坐标(x,y,z)满足x k*y k*k*z-t=0的特征点划分为一组,其中,k为斜率,x、y、z以及t均为整数,且x、y、z以及t的最小值均为0。也即是,将该多个特征点视为3d特征图包括的特征点,该3d特征图包括多个2d特征图,每个2d特征图所在平面与xy平面平行,被划分为同一组的特征点分散在3d特征图包括的各个2d特征图上,这样可以做到空间并行编解码,并行度很高。
153.或者,按照z从小到大的顺序,按照与上述2d卷积对应的分组方式相类似的方式,依次对该多个2d特征图中每个2d特征图中的特征点进行分组。如图9所示,首先对z=0的平面上的特征点进行分组,也即对xy平面的2d特征图中的特征点进行分组,分组方法与2d的类似,z=0的平面分组完成后,然后对z=1的平面上的特征点进行分组,分组方法与2d的类似,然后按照这样的方式直至将所有的特征点均分组。这样所实现的编解码实际是在平面上作并行,在空间上作串行。
154.需要说明的是,本方案能够相对于相关技术来说,通过调整各个特征点的编解码顺序,在不改变各个特征点可利用的周边信息的情况下,实现后续解码过程中并行确定概率分布。如图5所示,与相关技术中类似地,在保证编解码时最多可利用的周边信息的情况下,仅调整编解码顺序,既不会降低编解码性能,又提高了编解码效率。
155.步骤403:基于该多个特征点的概率分布,依次将该多组中每组特征点的第一图像特征编入码流。
156.在本技术实施例中,在将该多个特征点分为多组之后,基于该多个特征点的概率分布,依次将该多组中每组特征点的第一图像特征编入码流。也即是,按照分组后的编解码顺序,先对特征点的编解码序号较小的组进行编码,再对特征点的编解码序号较大的组进行编码,直至将该多个特征点中的各个特征点的第一图像特征均编入码流为止。
157.其中,基于该多个特征点的概率分布,依次将该多组中每组特征点的第一图像特征编入码流的实现过程为:基于该多个特征的概率分布,依次对该多组中每组特征点的第一图像特征进行熵编码,得到相应组中特征点对应的图像比特序列,将相应组中特征点的图像比特序列写入码流。可选地,码流中该多个特征点的图像比特序列构成图像比特流。
158.在本技术实施例中,熵编码采用基于概率分布的熵编码模型进行熵编码,熵编码可以采用算术编码(arithmetic coding)、区间编码(range coding,rc)或者哈夫曼(huffman)编码中的一种,本技术实施例不做限定。
159.步骤404:将该多个特征点的第一超先验特征编入码流。
160.在本技术实施例中,由于解码端的解码需要依赖特征点的超先验特征,因此,在编
码端还需要将该多个特征点的第一超先验特征编入码流。其中,将该多个特征点的第一超先验特征编入码流的实现过程为:根据指定的概率分布,将该多个特征点的第一超先验特征编入码流。在一种实现方式中,根据指定的概率分布,对该多个特征点的第一超先验特征进行熵编码,得到该多个特征点的超先验比特序列,将该多个特征点的超先验比特序列写入码流。也即是,第一超先验特征也可以通过熵编码的方式编入码流。可选地,码流中该多个特征点的超先验比特序列构成超先验比特流。也即是,码流包括两部分,一部分为图像比特流,另一部分为超先验比特流。
161.其中,指定的概率分布为预先通过概率分布网络模型确定的概率分布,本技术实施例不限定用于训练得到该指定的概率分布所采用的概率分布网络模型的网络结构和训练方法。例如,概率分布网络模型的网络结构可以为全连接网络或者cnn。另外,本技术实施例对概率分布网络模型的网络结构所包含的层数和每一层的节点数也不做限定。
162.至此,编码端设备通过步骤401至步骤404完成了对待编码的图像的编码,也即得到了码流。需要说明的是,步骤402和步骤403可以串行执行,也即将特征点分组后再依次编码,或者,步骤402和步骤403并行执行,也即按照上述循环方式进行分组的同时,每分好一组,即将该组中特征点的第一图像特征编入码流,然后划分下一组,直至分好最后一组,将最后一组中特征点的第一图像特征编入码流。
163.接下来结合图2,并通过下述步骤1至步骤7再次对本技术实施例提供的编码方法进行示例性地解释说明。
164.1.将待编码的图像输入编码网络模型,得到多个特征点的第二图像特征y,对y进行量化得到该多个特征点的第一图像特征第一图像特征即为待编入码流的图像特征。
165.2.将该多个特征点的第一图像特征输入超编码网络模型,得到该多个特征点的第二超先验特征z,对z进行量化得到该多个特征点的第一超先验特征
166.3.将输入超解码网络模型,得到该多个特征点的先验特征ψ。
167.4.将输入上下文模型,得到该多个特征点的上下文特征φ。
168.5.结合先验特征ψ和上下文特征φ,通过概率分布估计模型,得到该多个特征点的概率分布。
169.6.根据指定的概率分布,对进行熵编码,得到超先验比特流。
170.7.对进行熵编码,包括步骤a至步骤c:
171.a.当前循环次数为t。
172.b.编码坐标为(t-k*i,i)的特征点的第一图像特征,其中,k为斜率,i为整数。
173.c.t=t 1,返回步骤a,直至编码完全部特征点的第一图像特征。
174.需要说明的是,上述步骤1至步骤7中所涉及的各个网络模型中的卷积为2d卷积,且从左上角的特征点开始,先向右,再逐渐向右下角进行编码,假设k=3,这样编码端的编解码顺序即如图6所示。
175.综上所述,在本技术实施例中,为了在解码过程中并行确定概率分布,以提高解码效率,在编码过程中基于指定数值将多个特征点划分为多组,依次将该多组中每组特征点
的第一图像特征编入码流。这样,在解码过程中也按照同样的方式分组,对于同一组中的各个特征点并行确定概率分布,以提高解码效率。也即是,本方案能够突破基于vae进行解码时串行计算所带来的效率瓶颈,有效提高解码效率。
176.接下来对本技术实施例提供的解码方法进行介绍。
177.请参考图11,图11是本技术实施例提供的一种解码方法的流程图,该解码方法应用于解码端设备,该解码方法包括如下步骤。
178.步骤1101:基于码流确定待解码的图像的多个特征点中各个特征点的先验特征。
179.在本技术实施例中,基于码流确定待解码的图像的多个特征点中各个特征点的先验特征的实现过程为:基于码流确定该多个特征点的第一超先验特征,基于该多个特征点的第一超先验特征,确定该多个特征点的先验特征。
180.其中,基于码流确定该多个特征点的第一超先验特征的实现过程可以为:根据指定的概率分布,对码流进行熵解码得到该多个特征点的第一超先验特征。基于该多个特征点的第一超先验特征,确定该多个特征点的先验特征的实现过程可以为:将该多个特征点的第一超先验特征输入超解码网络模型,得到该超解码网络模型输出的该多个特征点的先验特征。
181.如图2所示,在解码端根据指定的概率分布,对码流包括的超先验比特流进行熵解码,得到该多个特征点的第一超先验特征将输入超解码网络模型,得到超解码网络模型输出的该多个特征点的先验特征ψ。
182.需要说明的是,本步骤的解码方法与编码端的编码方法中相对应,本步骤中的指定的概率分布与编码端中的指定的概率分布相同,本步骤中的超解码网络模型与编码端的超解码网络模型的网络结构一致。
183.步骤1102:基于指定数值将该多个特征点划分为多组。
184.与编码端类似,在解码端同样需要基于指定数值将该多个特征点划分为多组,且本步骤中分组的方式与编码端中分组的方式相同,即,基于指定数值将该多个特征点划分为多组的实现过程可以为:基于指定数值确定斜率,基于该斜率,将该多个特征点划分为多组。其中,指定数值基于上下文模型使用的感受野的尺寸确定,斜率用于指示划分为同一组的特征点所在直线的倾斜程度。可选地,若上下文模型使用多个尺寸不同的感受野,则指定数值是通过多个尺寸不同的感受野中最大感受野的尺寸确定。需要说明的是,分组的具体实现方式参照前述编码方法中的相关介绍,这里不再赘述。
185.步骤1103:基于该多个特征点的先验特征,依次确定该多组中每组特征点的第一图像特征,其中,确定任一组特征点的第一图像特征的步骤为:并行确定该任一组中各个特征点的概率分布,基于该任一组中各个特征点的概率分布,从码流中解析出该任一组中各个特征点的第一图像特征。
186.在本技术实施例中,在将该多个特征点划分为多组的情况下,在解码端基于该多个特征点的先验特征,依次确定该多组中每组特征点的第一图像特征。其中,对于任一组中各个特征点来说,并行确定该任一组中各个特征点的概率分布,之后,再基于该任一组中各个特征点的概率分布,从码流中解析出该任一组中各个特征点的第一图像特征。
187.示例性地,假设在编码端分组后形成如图6中所示的编解码序号,在解码端同样按照图6所示的编解码序号进行概率分布的确定。先确定编解码序号为1的特征点的概率分
布,再确定编解码序号为2的特征点的概率分布,再确定编解码序号为3的特征点的概率分布,以此类推,直至将该多个特征点的概率分布全部确定为止。由图6可以看出,本方案中能够并行确定编解码序号相同的一组特征点的概率分布,解码效率得到大幅提升。
188.其中,该多个特征点包括第一特征点,确定第一特征点的概率分布的实现方式为:若第一特征点为该多个特征点中的非首个特征点,则从已解码的各个特征点的第一图像特征中,确定第一特征点的周边信息,将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一特征点的上下文特征,基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布。其中,第一特征点为该任一组中的一个特征点。
189.可选地,第一特征点的周边信息包括以第一特征点为几何中心的邻域内已解码的特征点的第一图像特征,该邻域的大小基于上下文模型使用的感受野的尺寸确定,第一特征点的周边信息至少包括第一特征点周边的n个特征点的第一图像特征,n大于或等于4。
190.需要说明的是,解码端的解码方法中第一特征点的周边信息,与编码端的编码方法中第一特征点的周边信息相同,这里不再赘述。
191.另外,若第一特征点为多个特征点中的首个特征点,则基于第一特征点的先验特征,确定第一特征点的概率分布。解码端确定首个特征点的概率分布的实现过程与编码端相同,这里不再赘述。
192.步骤1104:基于该多个特征点的第一图像特征重建图像。
193.在本技术实施例中,基于该多个特征点的第一图像特征重建图像的实现方式为:将该多个特征点的第一图像特征输入解码网络模型,得到该解码网络模型输出的重建后的图像。其中,本步骤中解码网络模型与编码端的编码网络模型的网络结构相对应,即,解码网络模型中的解码步骤为编码网络模型中的编码步骤的逆过程,例如在图10所示的编解码框架,解码网络模型的网络结构与编码网络模型的网络结构为相反的。
194.至此,解码端设备通过步骤1101至步骤1104完成了对码流的解码,也即重建出了图像。需要说明的是,步骤1102和步骤1103可以串行执行,也即将特征点分组后再依次解码,或者,步骤1102和步骤1103并行执行,也即按照上述循环方式进行分组的同时,每分好一组,即并行确定该组中各个特征点的概率分布,基于概率分布从码流中解析出该组中特征点的第一图像特征,然后划分下一组,依此类推,直至分好最后一组,从码流中解析出最后一组中特征点的概率分布。
195.接下来结合图2,并通过下述步骤1至步骤4再次对本技术实施例提供的解码方法进行示例性地解释说明。
196.1.读取码流,根据指定的概率分布,对码流包括的超先验比特流进行熵解码,以从码流中解析得到多个特征点的超先验特征
197.2.将输入超先验解码网络,得到该多个特征点的先验特征ψ。
198.3.按照下述步骤a至步骤e,对码流包括的图像比特流进行熵解码,得到该多个特征点的第一图像特征
199.a.当前循环次数为t;
200.b.将坐标为(t-k*i,i)的特征点的周边信息输入上下文模型中,得到坐标为(t-k*i,i)的特征点的上下文特征。
201.c.结合坐标为(t-k*i,i)的特征点的先验特征和上下文特征,通过概率分布估计模型,得到坐标为(t-k*i,i)的特征点的概率分布。
202.d.基于坐标为(t-k*i,i)的特征点的概率分布,从码流中解码出坐标为(t-k*i,i)的特征点的第一图像特征。
203.e.t=t 1,返回步骤a,直至解码得到全部特征点的第一图像特征
204.4.将该多个特征点的第一图像特征输入解码网络,得到重建后的图像。
205.需要说明的是,上述步骤1至步骤4中所涉及的各个网络模型中的卷积为2d卷积,且从左上角的特征点开始,先向右,再逐渐向右下角进行解码,假设k=3,这样解码端的解码顺序即如图6所示。
206.为了验证本技术实施例提供的编解码方法的性能和效率,采用本技术实施例所提供的编码方法,分别在测试集kodak和clic上进行实验。其中,测试集kodak中待编码的图像的分辨率为512*768,测试集clic中待编码的图像的分辨率为2048*1367。在一次实验中,编解码中的上下文模型使用单个感受野,该感受野的尺寸为5*5,该实验的实验结果如表1所示。其中,ctx串行代表相关技术的编解码方法,ctx并行代表本技术实施例提供的编解码方法,enc代表编码,dec代表解码,本方案与相关技术的编解码框架相同,但特征点的编解码顺序不同。可以看出,相比于现有技术,本方案能够大幅节省解码时间,本方案的编解码效率更高。需要说明的是,由于本方案与相关技术相比,并未减少或改变可利用的周边信息,因此本方案的编解码性能与相关技术相当,也即本方案并不会降低重建后的图像的质量。
207.表1
[0208][0209]
在另一次实验中,如图10所示的编解码框架,该编解码框架中的上下文模型使用三个感受野,这三个感受野的尺寸分别为3*3、5*5和7*7,本方案与相关技术的编解码框架相同,但特征点的编解码顺序不同,该实验的实验结果如表2所示。其中,比率ratio表示本方案相比于相关技术的编解码时间的节省率,enc-r为编码时间的节省率,dec-r为解码时间的节省率,节省率为正表示节省了时间,节省率为负表示增加了时间。可以看出,本方案相比于相关技术,在测试集kodak上能够节省84.6%的解码时间,在测试集clic上能够节省92%的编码时间,采用本方案的话,解码时间的节省率随着图像分辨率的变高而变高,这正是由于图像分辨率越高,采用本方案的过程中能够并行解码的特征点的比例越高。
[0210]
其中,ts表示相关技术的编码时间,且t
p
表示本方案的编码时间,或者,ts表示相关技术的解码时间,且t
p
表示本方案的解码时间。
[0211]
表2
[0212][0213]
由上述可知,本方案实际是一种利用上下文特征进行基于概率分布的熵编码的并行化方法,相比于相关技术,在不改变可利用的周边信息的条件下,实现解码时间的大幅减少。且图像的分辨率越高,编解码时间的节省率越高,上下文模型越复杂(如感受野越多),编解码时间的节省率也越高,在多层级的上下文模型和概率分布估计模型中,本方案相比于相关技术能够节省近10倍的时间。另外,本方案无需改变相关技术的整体方法,因此无需重新训练编解码框架中的网络模型,也即本方案更加便于应用,且不会降低编解码性能。
[0214]
综上所述,在本技术实施例中,解码过程中基于指定数值将多个特征点划分为多组,对于同一组中的各个特征点并行确定概率分布,这样能够加快解码效率。也即是,本方案能够突破基于vae进行解码时串行计算所带来的效率瓶颈,有效提高解码效率。
[0215]
图12是本技术实施例提供的一种解码装置1200的结构示意图,该解码装置1200可以由软件、硬件或者两者的结合实现成为解码端设备的部分或者全部,该解码端设备可以为图1所示的源装置。参见图12,该装置1200包括:第一确定模块1201、分组模块1202、第二确定模块1203和重建模块1204。
[0216]
第一确定模块1201,用于基于码流确定待解码的图像的多个特征点中各个特征点的先验特征;
[0217]
分组模块1202,用于基于指定数值将该多个特征点划分为多组;
[0218]
第二确定模块1203,用于基于该多个特征点的先验特征,依次确定该多组中每组特征点的第一图像特征;其中,确定任一组特征点的第一图像特征的步骤为:并行确定该任一组中各个特征点的概率分布,基于该任一组中各个特征点的概率分布,从码流中解析出该任一组中各个特征点的第一图像特征;
[0219]
重建模块1204,用于基于该多个特征点的第一图像特征重建图像。
[0220]
可选地,该多个特征点包括第一特征点,第二确定模块1203包括:
[0221]
第一处理子模块,用于若第一特征点为该多个特征点中的非首个特征点,则从已解码的各个特征点的第一图像特征中,确定第一特征点的周边信息,第一特征点为该任一组中的一个特征点;
[0222]
第二处理子模块,用于将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一特征点的上下文特征;
[0223]
第三处理子模块,用于基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布。
[0224]
可选地,第一特征点的周边信息包括以第一特征点为几何中心的邻域内已解码的特征点的第一图像特征,该邻域的大小基于上下文模型使用的感受野的尺寸确定,该周边信息至少包括第一特征点周边的n个特征点的第一图像特征,n大于或等于4。
[0225]
可选地,该多个特征点包括第一特征点,第二确定模块1203包括:
[0226]
第四处理子模块,用于若第一特征点为该多个特征点中的首个特征点,则基于第一特征点的先验特征,确定第一特征点的概率分布。
[0227]
可选地,指定数值基于上下文模型使用的感受野的尺寸确定;
[0228]
分组模块1202包括:
[0229]
第一确定子模块,用于基于指定数值确定斜率,斜率用于指示划分为同一组的特征点所在直线的倾斜程度;
[0230]
划分子模块,用于基于斜率,将该多个特征点划分为多组。
[0231]
可选地,若上下文模型使用多个尺寸不同的感受野,则指定数值是通过多个尺寸不同的感受野中最大感受野的尺寸确定。
[0232]
可选地,上下文模型使用的感受野包括尺寸为5*5的感受野。
[0233]
综上所述,在本技术实施例中,解码过程中基于指定数值将多个特征点划分为多组,对于同一组中的各个特征点并行确定概率分布,这样能够加快解码效率。也即是,本方案能够突破基于vae进行解码时串行计算所带来的效率瓶颈,有效提高解码效率。
[0234]
需要说明的是:上述实施例提供的解码装置在解码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的解码装置与解码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0235]
图13是本技术实施例提供的一种编码装置1300的结构示意图,该编码装置1300可以由软件、硬件或者两者的结合实现成为编码端设备的部分或者全部,该编码端设备可以为图1所示的目的地装置。参见图13,该装置1300包括:第一确定模块1301、分组模块1302、第一编码模块1303和第二编码模块1304。
[0236]
第一确定模块1301,用于基于待编码的图像,确定该图像的多个特征点中各个特征点的第一图像特征、概率分布和第一超先验特征;
[0237]
分组模块1302,用于基于指定数值将该多个特征点划分为多组;
[0238]
第一编码模块1303,用于基于该多个特征点的概率分布,依次将该多组中每组特征点的第一图像特征编入码流;
[0239]
第二编码模块1304,用于将该多个特征点的第一超先验特征编入码流。
[0240]
可选地,第一确定模块1301包括:
[0241]
第一确定子模块,用于基于该图像,确定该多个特征点的第一图像特征;
[0242]
第二确定子模块,用于基于该多个特征点的第一图像特征,确定该多个特征点的第一超先验特征,以及并行确定该多个特征点中各个特征点的概率分布。
[0243]
可选地,该多个特征点包括第一特征点,第二确定子模块用于:
[0244]
若第一特征点为该多个特征点中的非首个特征点,则基于第一特征点的第一图像特征,确定第一特征点的先验特征,第一特征点为该多个特征点中的一个特征点;
[0245]
从该多个特征点的第一图像特征中,确定第一特征点的周边信息;
[0246]
将第一特征点的周边信息输入上下文模型,得到上下文模型输出的第一特征点的上下文特征;
[0247]
基于第一特征点的先验特征和第一特征点的上下文特征,确定第一特征点的概率分布。
[0248]
可选地,该多个特征点包括第一特征点,第二确定子模块用于:
[0249]
若第一特征点为该多个特征点中的首个特征点,则基于第一特征点的先验特征,确定第一特征点的概率分布。
[0250]
可选地,该指定数值基于上下文模型使用的感受野的尺寸确定;
[0251]
分组模块1302包括:
[0252]
第三确定子模块,用于基于指定数值确定斜率,斜率用于指示划分为同一组的特征点所在直线的倾斜程度;
[0253]
划分子模块,用于基于斜率,将该多个特征点划分为多组。
[0254]
可选地,若上下文模型使用多个尺寸不同的感受野,则该指定数值是通过该多个尺寸不同的感受野中最大感受野的尺寸确定。
[0255]
可选地,上下文模型使用的感受野包括尺寸为5*5的感受野。
[0256]
综上所述,在本技术实施例中,为了在解码过程中并行确定概率分布,以加快解码效率,在编码过程中基于指定数值将多个特征点划分为多组,依次将该多组中每组特征点的第一图像特征编入码流。这样,在解码过程中也按照同样的方式分组,对于同一组中的各个特征点并行确定概率分布,以加快解码效率。也即是,本方案能够突破基于vae进行解码时串行计算所带来的效率瓶颈,有效提高解码效率。
[0257]
需要说明的是:上述实施例提供的编码装置在编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的编码装置与编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0258]
图14为用于本技术实施例的一种编解码装置1400的示意性框图。其中,编解码装置1400可以包括处理器1401、存储器1402和总线系统1403。其中,处理器1401和存储器1402通过总线系统1403相连,该存储器1402用于存储指令,该处理器1401用于执行该存储器1402存储的指令,以执行本技术实施例描述的各种的编码或解码方法。为避免重复,这里不再详细描述。
[0259]
在本技术实施例中,该处理器1401可以是中央处理单元(central processing unit,cpu),该处理器1401还可以是其他通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0260]
该存储器1402可以包括rom设备或者ram设备。任何其他适宜类型的存储设备也可以用作存储器1402。存储器1402可以包括由处理器1401使用总线1403访问的代码和数据14021。存储器1402可以进一步包括操作系统14023和应用程序14022,该应用程序14022包括允许处理器1401执行本技术实施例描述的编码或解码方法的至少一个程序。例如,应用程序14022可以包括应用1至n,其进一步包括执行在本技术实施例描述的编码或解码方法的编码或解码应用(简称编解码应用)。
[0261]
该总线系统1403除包括数据总线之外,还可以包括电源总线、控制总线和状态信
号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1403。
[0262]
可选地,编解码装置1400还可以包括一个或多个输出设备,诸如显示器1404。在一个示例中,显示器1404可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1404可以经由总线1403连接到处理器1401。
[0263]
需要指出的是,编解码装置1400可以执行本技术实施例中的的编码方法,也可执行本技术实施例中的的解码方法。
[0264]
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,基于通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本技术中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0265]
作为实例而非限制,此类计算机可读存储媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(dsl)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、dsl或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、dvd和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
[0266]
可通过例如一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。在一种示例下,编码器100及解码器200中的各种说明性逻辑框、单元、模块可以理解为对应的电路器件或逻辑元件。
[0267]
本技术实施例的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(ic)或一组ic(例如,芯片组)。本技术实施例中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
[0268]
也就是说,在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))或半导体介质(例如:固态硬盘(solid state disk,ssd))等。值得注意的是,本技术实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
[0269]
应当理解的是,本文提及的“多个”是指两个或两个以上。在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术实施例的技术方案,在本技术实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0270]
以上所述为本技术提供的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献