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

音视频或图像分层压缩方法和装置与流程

2022-08-31 01:23:12 来源:中国专利 TAG:


1.本发明实施例涉及基于人工智能(ai)的音视频或图像压缩技术领域,尤其涉及一种 音视频或图像分层压缩方法及装置。


背景技术:

2.音视频或图像编解码(视频编码和解码)广泛用于数字音视频或图像应用,例如广播 数字电视、互联网和移动网络上的音视频或图像传输、音视频聊天和音视频会议等实时会 话应用、dvd和蓝光光盘、音视频或图像内容采集和编辑系统以及可携式摄像机的安全应 用。
3.即使在影片较短的情况下也需要对大量的音视频数据进行描述,当数据要在带宽容量 受限的网络中发送或以其它方式传输时,这样可能会造成困难。因此,音视频或图像数据 通常要先压缩然后在现代电信网络中传输。由于内存资源可能有限,当在存储设备上存储 音视频时,音视频或图像的大小也可能成为问题。音视频或图像压缩设备通常在信源侧 使用软件和/或硬件,以在传输或存储之前对视频数据进行编码,从而减少用来表示数字 音视频或图像所需的数据量。然后,压缩的数据在目的地侧由视频解压缩设备接收。在有 限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术, 这些改进的技术能够提高压缩率而几乎不影响音图像质量。
4.近年来,将深度学习应用于在音视频或图像编解码领域逐渐成为一种趋势。如谷歌已 连续几年在cvpr会议上组织clic(challenge on learned image compression)专题竞 赛,clic专注使用深度神经网络来提升图像的压缩效率,在2020年clic中还加入了视 频或图像挑战类别。基于竞赛方案的性能评估,当前基于深度学习技术的图像编解码方案 的综合压缩效率已经与最新一代视频图像编解码标准vvc(versatile video coding)相 当,而且在提升用户感知质量方面有独特优势。
5.vvc的视频标准制定工作已于2020年6月完成,标准收纳几乎所有能够带来显著压 缩效率提升的技术算法。因此沿传统信号处理路径继续研究新型的压缩编码算法在短时间 内难以获得大的技术突破。区别于传统图像算法通过人工设计来对图像压缩的各模块进行 优化,端到端ai的图像压缩是作为一个整体共同进行优化,因此ai图像压缩方案的压缩 效果更好。变分自编码器(variational autoencoder,ae)方法是当前ai图像有损压缩 技术的主流技术方案。在目前的主流技术方案中,存在着在固定模型的高码率下模型压缩 质量趋于平稳的ae极限问题,虽然通过增加算力可以缓解ae极限问题,但是会导致高算 力问题。


技术实现要素:

6.本技术提供一种音视频或图像分层压缩方法和装置,能够提高保证低码率压缩质量的 情况下,高码率突破ae极限以及减少模型算力和运行时间。
7.第一方面,提供了一种音视频或图像的编码方法,包括:对待编码音频或图像经过
编 码网络获得所述待编码音频或图像的第一输出特征图和所述待编码音频或图像的第二输 出特征图;对所述第一输出特征图经过取整以获得所述待编码音频或图像的第一取整特征 图;对所述第二输出特征图经过取整以获得所述待编码音频或图像的第二取整特征图;根 据第二熵估计的概率估计结果,对所述第二取整特征图进行熵编码得到第二编码码流;根 据所述第二取整特征图或/和所述第二熵估计的概率估计结果,进行第一熵估计的概率估 计;根据所述第一熵估计的概率估计结果,对所述第一取整特征图进行熵编码得到第一编 码码流。
8.上述技术方案中,通过根据第二取整特征图或/和第二熵估计的概率估计结果进行第 一熵估计的概率估计,使得不同网络间的信号相关性得以利用。这样,可以提升音频或图 像压缩性能。
9.上述技术方案中,根据奈奎斯特采样定律高频信号需要更小感受野,低频信号需要更 大感受野。编码网络内的浅层网络对应所述第一编码网络的感受野小,有利于捕获高频信 息,编码网络内的深层网络对应待编码信号经过了第一编码网络和第二编码网络,感受野 大,有利于捕获低频信号。高低频信息分层传输,高频信息只进行浅层网络计算,能够减 小算力。
10.上述技术方案中,取整操作可以包括向下取整操作,或者采用四舍五入取整操作或者 采用向上取整操作。
11.上述技术方案中,熵估计是用于对取整特征图中的各点进行概率估计,实现模型压缩 的码率估计。
12.上述技术方案中,熵编码方案包括且不限于变长编码和算术编码方式。其中变长编码 方案可以包括指数哥伦布编码(exponential golomb codes)、上下文自适应可变长编码 (cavlc);算术编码方式可以包括基于上下文的自适应二进制算术编码(cabac)。
13.在一种可能的实现方式中,所述方法还包括:对所述待编码音频或图像经过编码网络 获得所述待编码音频或图像的第三输出特征图,以及对所述第三输出特征图取整获得所述 待编码音频或图像的第三取整特征图;根据第三熵估计的概率估计结果,对所述第三取整 特征图进行熵编码得到第三编码码流。
14.在一种可能的实现方式中,所述待编码音频或图像的第三熵估计结果和/或所述第三 取整特征图作为所述第二熵估计的输入信息。
15.在一种可能的实现方式中,所述方法还包括:对所述待编码音频或图像经过编码网络 获得所述待编码音频或图像的第k输出特征图,以及对所述第k输出特征图取整获得所述 待编码音频或图像的第k取整特征图,其中k》3整数。
16.上述技术方案中,所述第k取整特征图和/或第k熵估计结果作为第n熵估计的输入 信息,其中n《=k整数。
17.在一种可能的实现方式中,所述方法还包括:对所述至少一个取整特征图作为待编码 音频或图像的解码网络输入,经过所述解码网络后获得所述待编码音频或图像的重构音频 或图像;对待编码音频或图像与所述重构音频或图像的对应像素点求差以获得所述待编码 音频或图像的残差图像;根据以下3种信息中的至少一种信息得到待解码音频或图像的无 损熵估计的概率估计:
18.1)所述任意一个或多个熵估计结果;
19.2)所述任意一个或多个取整特征图;或
20.3)所述重构音频或图像;
21.根据所述无损熵估计结果,对所述残差图像进行熵编码以获得所述待编码音频或图像 的无损编码码流。
22.在一种可能的实现方式中,所述任意一个编码网络为单个或多个的卷积网络。
23.在一种可能的实现方式中,所述第r熵估计的概率估计结果输出为第r取整特征图的 均值和方差信息。
24.在一种可能的实现方式中,所述方法还包括:对所述第一输出特征图经过取整以获得 所述待编码音频或图像的第一取整特征图之前,所述方法还包括:对所述第一输出特征图 中的像素点的像素值与第一熵估计输出的均值相减得到第一偏移特征图。对所述第一输出 特征图经过取整以获得所述待编码音频或图像的第一取整特征图包括:对所述第一偏移特 征图经过取整以获得所述待编码音频或图像的所述第一取整特征图。
25.应理解,上一种可能的实现方式也可能应用于任意一个取整特征图的获得方式。
26.应理解,对上述图像压缩方法可以应用在神经网络的训练阶段,或者也可以应用在神 经网络的推理阶段,本技术对此不做具体限定。
27.应理解,将待编码音频或图像经过编码网络操作变换到了特征空间,通过多个编码网 络所对应的多个输出特征图从而提取到了特征空间中不同层的特征用来压缩,例如 1,2,

,n层或者其中若干层,1,2,

,n层特征频率依次降低,另外用来压缩的特征层 数可变,每层的特征通道数可变,以达到动态调整压缩能力。
28.第二方面,提供了一种音频或图像的解码方法,包括:获取待解码音频或图像的第一 待解码码流;获取待解码音频或图像的第二待解码码流;根据所述待解码音频或图像的第 二熵估计的概率估计结果,对所述解码图像的第二解码码流进行熵解码获得所述待解码音 频或图像的第二解码特征图;根据所述第二特征图或/和所述第二熵估计的概率估计结果, 对第一熵估计进行概率估计以获得第一熵估计的概率估计结果;根据所述第一熵估计的 概率估计结果,对所述第一解码码流进行熵解码获得所述待解码音频或图像的第一解码特 征图;所述第一解码特征图或/和所述第二解码特征图作为解码网络的输入,输出所述待 解码音频或图像的重构音频或图像。
29.上述技术方案中,通过根据第二解码特征图或/和第二熵估计的概率估计结果进行第 一熵估计的概率估计,使得特征空间中不同层间的信号相关性得以利用。这样,可以提升 图像压缩性能。
30.上述技术方案中,解码过程的熵估计是用于对解码特征图中的各点进行概率估计,实 现模型压缩的码率估计。
31.上述技术方案中,熵解码方案包括且不限于变长解码和算术解码方式。其中变长解码 方案可以包括指数哥伦布解码(exponential golomb codes)、上下文自适应可变长解码 (cavlc);算术解码方式可以包括基于上下文的自适应二进制算术解码(cabac)。
32.在一种可能的实现方式中,所述方法还包括:获取待解码音频或图像的第三待解码码 流;根据所述待解码音频或图像的第三熵估计的概率估计结果,对所述第三待解码码流进 行熵解码获得所述待解码音频或图像的第三解码特征图,根据所述第三解码特征图或/和 所述第三熵估计的概率估计结果,进行待解码音频或图像的第二熵估计的概率估
计;所 述输出所述待解码音频或图像的重构音频或图像具体包括:根据所述第一解码特征图、第 二解码特征图以及所述第三解码特征图中的至少一种解码特征图作为解码网络的输入,所 述解码网络输出所述待解码音频或图像的重构音频或图像。
33.在一种可能的实现方式中,根据所述第三解码特征图或/和所述第三熵估计的概率估 计结果,进行待解码音频或图像的第二熵估计的概率估计。
34.在一种可能的实现方式中,所述方法还包括:获取待解码音频或图像的第m待解码码 流;根据所述待解码音频或图像的第m熵估计的概率估计结果,对所述第m待解码码流进 行熵解码获得所述待解码音频或图像的第m解码特征图,其中m》3整数。
35.在上述可能的实现方式中,所述第m解码特征图作为第t熵估计的输入信息,其中 t《=m整数。
36.在一种可能的实现方式中,所述方法还包括:获取待解码音频或图像的无损待解码码 流;根据以下3种信息中的至少一种信息得到待解码音频或图像的无损熵估计的概率估计 结果。
37.1)所述至少一个解码特征图;
38.2)所述至少一个熵估计的概率估计结果;或
39.3)所述待解码音频或图像的重构音频或图像;
40.根据所述待解码音频或图像的无损熵估计的概率估计结果,对所述无损待解码码流进 行熵解码获得所述待解码音频或图像的残差图像;对所述待解码音频或图像的重构音频或 图像与所述待解码音频或图像的残差图像的对应像素点求和以获得所述待解码音频或图 像的无损重构音频或图像。
41.在一种可能的实现方式中,所述方法还包括:当所述第一解码特征图作为解码网络的 输入,对所述第一解码特征图中的像素点的像素值与第一熵估计输出的均值相加得到第一 解码特征图。
42.应理解,上一种可能的实现方式也可能应用于任意一个解码特征图的获得方式。
43.应理解,对上述图像压缩方法可以应用在神经网络的训练阶段,或者也可以应用在神 经网络的推理阶段,本技术对此不做具体限定。
44.由于采用了分层解码方案,一方面不同层提取不同频率分量的特征信息,从而对不同 层的熵解码更有针对性和有效,有利于信号的压缩和编码性能的提升。另一方面,利用了 层间特征信号的相关性,也有利于熵估计实现。这两方面因素保障了在低码率情况,即只 利用少量分层解码特征进行重构输出也能保障压缩质量。同样的,这两方面使得在高码率 情况,即利用更多的分层解码特征进行重构输出能进一步的提升压缩质量,突破ae极限。 由于采用了分层结构,能够根据实际需求采用分层解码方案。当采用解码网络浅层输出, 得到解码特征所需要的解码网络中的网络层数更少,从而减少了模型算力和运行时间。
45.第三方面,提供了一种音频或图像压缩处理装置,包括:
46.编码网络模块,将待编码音频或图像经过编码网络操作变换到了特征空间,通过多个 编码网络所对应的多个输出特征图从而提取到了特征空间中不同层的特征用来压缩,例如 1,2,

,n层或者其中若干层,1,2,

,n层特征频率依次降低,另外用来压缩的特征层 数可变,每层的特征通道数可变,以达到动态调整压缩能力。
47.取整模块,用于将输出特征图中的各点取整为整数以便后续编码;
48.熵估计网络模块:用于对取整特征图中的各点进行概率估计,实现模型压缩的码率估 计;
49.熵编解码模块,利用熵估计模型得到的概率分布,对多个取整特征图进行熵编码得到 多个编码码流,降低了输出特征的编码冗余,进一步降低图像压缩过程中的数据传输量。 对编码码流进行解码得到各解码特征图;
50.解码网络模块,用于对解码特征图进行反变换,将解码特征图解析为音频或图像。
51.上述编码网络模块、取整模块和熵估计网络模块、熵编解码模块、解码网络模块的进 一步实现功能可以参考第一、二方面或者第一、二方面的任意一种实现方式,此处不再赘 述。
52.第四方面,本技术提供一种编码器,包括处理电路,用于执行根据上述第一方面及第 一方面任一项所述的方法。
53.第五方面,本技术提供一种解码器,包括处理电路,用于执行上述第二方面及第二方 面任一项所述的方法。
54.第六方面,本技术提供一种计算机程序产品,包括程序代码,当其在计算机或处理器 上执行时,用于执行上述第一方面及第一方面任一项、上述第二方面及第二方面任一项所 述的方法。
55.第七方面,本技术提供一种编码器,包括:一个或多个处理器;非瞬时性计算机可读 存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中所述程序在由所述处 理器执行时,使得所述解码器执行上述第一方面及第一方面任一项所述的方法。
56.第八方面,本技术提供一种解码器,包括:一个或多个处理器;非瞬时性计算机可读 存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中所述程序在由所述处 理器执行时,使得所述编码器执行上述第二方面及第二方面任一项所述的方法所述的方法。
57.第九方面,本技术提供一种非瞬时性计算机可读存储介质,包括程序代码,当其由计 算机设备执行时,用于执行上述第一方面及第一方面任一项、上述第二方面及第二方面任 一项所述的方法。
58.第十方面,本发明涉及编码装置,具有实现上述第一方面或第一方面任一项的方法实 施例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。 所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述编 码装置包括:编码网络模块,用于将原始图像经过多层卷积操作变换到特征空间,提取特 征空间不同层的特征,用来压缩,例如1,2,

,n层或者其中若干层,1,2,

,n层特征 频率依次降低,另外用来压缩的特征层数可变,每层的特征通道数可变,以达到动态调整 压缩能力;取整模块,用于将输出特征取整为整数以便后续编码;熵估计网络模块,用于 对取整后的取整特征图中的各点进行概率估计,实现模型压缩的码率估计;以及熵编码模 块,利用熵估计模型得到的概率分布,对取整特征图进行熵编码,降低输出特征的编码冗 余,进一步降低图像压缩过程中的数据传输量。这些模块可以执行上述第一方面或第一方 面任一项方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
59.第十方面,本发明涉及解码装置,具有实现上述第二方面或第二方面任一项的方
法实 施例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。 所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述解 码装置包括:熵估计网络模块,用于对解码特征图中的各点进行概率估计,实现模型压缩 的码率估计;熵解码模块,利用熵估计模型得到的概率分布,对待解码码流进行熵解码得 到解码特征图,降低输出特征的编码冗余,进一步降低图像压缩过程中的数据传输量;解 码网络模块,用于对压缩特征进行反变换,将解码特征图解析为音频或图像。这些模块可 以执行上述第二方面或第二方面任一项方法示例中的相应功能,具体参见方法示例中的详 细描述,此处不做赘述。
60.在现有端到端音频或图像编码主流方案中,存在着在固定模型的高码率下模型压缩质 量趋于平稳的ae极限问题,虽然通过增加算力可以缓解ae极限问题,但是会导致高算力 问题。本技术增加了特征空间中不同层(不同的特征层)的特征信号传输,且利用了不同层 间特征信号的相关性,提高编码质量,突破ae极限。对于特征频率高的特征层所对应的 编码或解码网络的算力小,降低了复杂度。根据实际的编码质量要求,可调节压缩特征的 层数和通道数,兼容目前的多码率模型,可实现单模型多码率。
61.附图及以下说明中将详细描述一个或多个实施例。其它特征、目的和优点在说明、附 图以及权利要求中是显而易见的。
附图说明
62.下面对本技术实施例用到的附图进行介绍。
63.图1a为用于实现本发明实施例的音视频/图像译码系统示例的框图,其中该系统利用 神经网络来编码或解码视频或图像;
64.图1b为用于实现本发明实施例的音视频/图像译码系统另一示例的框图,其中该视频 或图像编码器和/或视频或图像解码器使用神经网络来编码或解码视频或图像;
65.图1c为用于实现本发明实施例的音视频或图像译码设备示意性框图;
66.图1d为用于实现本发明实施例的音视频或图像译码装置示意性框图
67.图2为用于实现本发明实施例的编码器系统示例框图;
68.图3a为用于实现本发明实施例的音频或图像编码器的编码网络示例框架;
69.图3b为用于实现本发明实施例的音频或图像编码器的编码网络输入输出结构;
70.图4为用于实现本发明实施例的子编码网络示例结构图;
71.图5为编码网络示例图;
72.图6a-6b为熵估计单元示例框图;
73.图7a-7m为熵估计输入示例框图;
74.图8熵估计网络示例;
75.图9为用于实现本发明实施例的解码器系统示意框图;
76.图10a-10b解码熵估计单元框架示意图;
77.图11解码网络示意框图;
78.图12解码网络输入结构示意图;
79.图13为本技术实施例中解码网络结构示例图;
80.图14a-14c为本技术实施例结构示例;
81.图15为本技术实施例系统架构示例(无损);
82.图16为本技术实施例系统架构示例;
83.图17为本技术实施例系统架构示例(云应用);
84.图18a-18b为本技术实施例系统架构示例;和
85.图19为本技术实施例系统架构示例(音频)。
具体实施方式
86.本技术实施例所涉及的术语“第一”、“第二”等仅用于区分描述的目的,而不能理 解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具 有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。 方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地 列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
87.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个 或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,
ꢀ“
a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b 可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至 少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个) 的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,
ꢀ“
a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
88.本技术实施例提供一种基于ai的音视频或图像压缩技术,尤其是提供一种基于神经 网络的音视频或图像压缩技术,具体提供一种基于端到端的音频或图像编解码系统。
89.在图像编码领域,术语“图像(picture)”、或“图片(image)”,可以用作同义 词。图像编码(或通常称为编码)包括图像编码和图像解码两部分,其中视频由多个图像 所组成,是连续图像的表示方式。音频编码(或通常称为编码)包括音频编码和音频解码 两部分。音频或图像编码在源侧执行,通常包括处理(例如,压缩)原始视频图像以减少 表示该音频或视频图像所需的数据量(从而更高效存储和/或传输)。音频或图像解码在 目的地侧执行,通常包括相对于编码器作逆处理,以重建音频或图像。实施例涉及的音频 或图像(或通常称为音频或图像)的“编码”应理解为音频或图像的“编码”或“解码”。 编码部分和解码部分也合称为编解码(编码和解码,codec)。
90.在无损音频或图像编码情况下,可以重建原始音频或图像,即重建的音频或图像与原 始音频或图像具有相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)。在 传统有损图像编码情况下,通过量化等执行进一步压缩,来减少表示音频或视频图像所需 的数据量,而解码器侧无法完全重建音频或视频图像,即重建的音频或视频图像的质量比 原始音频或视频图像的质量较低或较差。
91.由于本技术实施例涉及大量神经网络的应用,为了便于理解,下面先对本技术实施例 可能涉及的神经网络的相关术语和概念进行介绍。
92.(1)神经网络
93.神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算 单元,该运算单元的输出可以为:
[0094][0095]
其中,s=1、2、
……
n,n为大于1的自然数,ws为xs的权重,b为神经单元的偏置。 f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中, 来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积 层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在 一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的 输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若 干个神经单元组成的区域。
[0096]
(2)深度神经网络
[0097]
深度神经网络(deep neural network,dnn),也称多层神经网络,可以理解为具有 多层隐含层的神经网络。按照不同层的位置对dnn进行划分,dnn内部的神经网络可以分 为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间 的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与 第i 1层的任意一个神经元相连。
[0098]
虽然dnn看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如 下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量, w是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单 的操作得到输出向量由于dnn层数多,系数w和偏移向量的数量也比较多。这些参 数在dnn中的定义如下所述:以系数w为例:假设在一个三层的dnn中,第二层的第4个 神经元到第三层的第2个神经元的线性系数定义为上标3代表系数w所在的层数, 而下标对应的是输出的第三层索引2和输入的第二层索引4。
[0099]
综上,第l-1层的第k个神经元到第l层的第j个神经元的系数定义为
[0100]
需要注意的是,输入层是没有w参数的。在深度神经网络中,更多的隐含层让网络更 能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也 就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩 阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向 量w形成的权重矩阵)。
[0101]
(3)卷积神经网络
[0102]
卷积神经网络(convolutional neuron network,cnn)是一种带有卷积结构的深度 神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取 器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。 在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中, 通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征 平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信 息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训 练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减
少卷 积神经网络各层之间的连接,同时又降低了过拟合的风险。
[0103]
(4)循环神经网络(recurrent neural networks,rnn)是用来处理序列数据的。 在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而 对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题, 但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用 到前面的单词,因为一个句子中前后单词并不是独立的。rnn之所以称为循环神经网路, 即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行 记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并 且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,rnn能够 对任何长度的序列数据进行处理。对于rnn的训练和对传统的cnn或dnn的训练一样。rnn 旨在让机器像人一样拥有记忆的能力。因此,rnn的输出就需要依赖当前的输入信息和历 史的记忆信息。
[0104]
(5)损失函数
[0105]
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要 预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的 差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的 过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调 整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标 值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标 值之间的差异”,这便是损失函数(loss function)或目标函数(objective function), 它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的 输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个 loss的过程。
[0106]
(6)反向传播算法
[0107]
神经网络可以采用误差反向传播(back propagation,bp)算法在训练过程中修正初 始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地, 前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神 经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播 运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
[0108]
(7)生成式对抗网络
[0109]
生成式对抗网络(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,它可以用 来生成图片。
[0110]
在以下译码系统10的实施例中,编码器20和解码器30根据图1a至图13进行描述。
[0111]
图1a为示例性译码系统10的示意性框图,例如可以利用本技术技术的音视频或图像 译码系统10(或简称为译码系统10)。音视频或图像译码系统10中的视频编码器20(或 简称为编码器20)和音视频或图像解码器30(或简称为解码器30)代表可用于根据本申 请中描述的各种示例执行各技术的设备等。
[0112]
如图1a所示,译码系统10包括源设备12,源设备12用于将编码音频或图像等编码 音频或图像数据21提供给用于对编码音频或图像数据21进行解码的目的设备14。
[0113]
源设备12包括编码器20,另外即可选地,可包括音频或图像源16、音频或图像预处 理器等预处理器(或预处理单元)18、通信接口(或通信单元)22。
[0114]
音频或图像源16可包括或可以为任意类型的用于捕获现实世界图像等的音频或图像 捕获设备,和/或任意类型的图像生成设备,例如用于生成计算机动画图像的计算机图形 处理器或任意类型的用于获取和/或提供现实世界图像、计算机生成图像(例如,屏幕内 容、虚拟现实(virtual reality,vr)图像和/或其任意组合(例如增强现实(augmentedreality,ar)图像)的设备。所述音频或图像源可以为存储上述图像中的任意音频或图 像的任意类型的内存或存储器。
[0115]
为了区分预处理器(或预处理单元)18执行的处理,音频或图像(或图像数据)17 也可称为原始音频或图像(或原始图像数据)17。
[0116]
预处理器18用于接收(原始)音频或图像数据17,并对音频或图像数据17进行预 处理,得到预处理图像(或预处理图像数据)19。例如,预处理器18执行的预处理可包 括修剪、颜色格式转换(例如从rgb转换为ycbcr)、调色或去噪。可以理解的是,预处 理单元18可以为可选组件。
[0117]
音视频或图像编码器(或编码器)20用于接收预处理音频或图像数据19并提供编码 音频或图像数据21(下面将根据图2等进一步描述)。
[0118]
源设备12中的通信接口22可用于:接收编码音频或图像数据21并通过通信信道13 向目的设备14等另一设备或任何其它设备发送编码音频或图像数据21(或其它任意处理 后的版本),以便存储或直接重建。
[0119]
目的设备14包括解码器30,另外即可选地,可包括通信接口(或通信单元)28、后 处理器(或后处理单元)32和显示设备34。
[0120]
目的设备14中的通信接口28用于直接从源设备12或从存储设备等任意其它源设备 接收编码音频或图像数据21(或其它任意处理后的版本),例如,存储设备为编码音频 或图像数据存储设备,并将编码音频或图像数据21提供给解码器30。
[0121]
通信接口22和通信接口28可用于通过源设备12与目的设备14之间的直连通信链路, 例如直接有线或无线连接等,或者通过任意类型的网络,例如有线网络、无线网络或其任 意组合、任意类型的私网和公网或其任意类型的组合,发送或接收编码音频或图像数据
integratedcircuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)、离散 逻辑、硬件、音视频或图像编码专用处理器或其任意组合。编码器20可以通过处理电路 46实现,以包含参照图2编码器20论述的各种模块和/或本文描述的任何其它编码器系 统或子系统。解码器30可以通过处理电路46实现,以包含参照图4解码器30论述的各 种模块和/或本文描述的任何其它解码器系统或子系统。所述处理电路46可用于执行下文 论述的各种操作。如图7所示,如果部分技术在软件中实施,则设备可以将软件的指令存 储在合适的非瞬时性计算机可读存储介质中,并且使用一个或多个处理器在硬件中执行指 令,从而执行本发明技术。音视频或图像编码器20和视频或图像解码器30中的其中一个 可作为组合编解码器(encoder/decoder,codec)的一部分集成在单个设备中,如图1b 所示。
[0132]
源设备12和目的设备14可包括各种设备中的任一种,包括任意类型的手持设备或固 定设备,例如,笔记本电脑或膝上型电脑、手机、智能手机、平板或平板电脑、相机、台 式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备 (例如,内容业务服务器或内容分发服务器)、广播接收设备、广播发射设备,等等,并 可以不使用或使用任意类型的操作系统。在一些情况下,源设备12和目的设备14可配备 用于无线通信的组件。因此,源设备12和目的设备14可以是无线通信设备。
[0133]
在一些情况下,图1a所示的音视频或图像译码系统10仅仅是示例性的,本技术提供 的技术可适用于音视频或图像编码设置(例如,音视频或图像编码或视频或图像解码), 这些设置不一定包括编码设备与解码设备之间的任何数据通信。在其它示例中,数据从本 地存储器中检索,通过网络发送,等等。音视频或图像编码设备可以对数据进行编码并将 数据存储到存储器中,和/或音视频或图像解码设备可以从存储器中检索数据并对数据进 行解码。在一些示例中,编码和解码由相互不通信而只是编码数据到存储器和/或从存储 器中检索并解码数据的设备来执行。
[0134]
图1b是根据一示例性实施例包含图1a的音视频或图像编码器20和/或图1b的音视 频或图像解码器30的视频或图像译码系统40的实例的说明图。音视频或图像译码系统 40可以包含成像设备41、音视频或图像编码器20、音视频或图像解码器30(和/或藉由 处理电路46实施的音视频或图像编/解码器)、天线42、一个或多个处理器43、一个或 多个内存存储器44和/或显示设备45。
[0135]
如图1b所示,成像设备41、天线42、处理电路46、音视频或图像编码器20、音视 频或图像解码器30、处理器43、内存存储器44和/或显示设备45能够互相通信。在不同 实例中,音视频或图像译码系统40可以只包含音视频或图像编码器20或只包含音视频或 图像解码器30。
[0136]
在一些实例中,天线42可以用于传输或接收音视频或图像数据的经编码比特流。另 外,在一些实例中,显示设备45可以用于呈现音视频或图像数据。处理电路46可以包含 专用集成电路(application-specific integrated circuit,asic)逻辑、图形处理器、 通用处理器等。音视频或图像译码系统40也可以包含可选的处理器43,该可选处理器43 类似地可以包含专用集成电路(application-specific integrated circuit,asic)逻 辑、图形处理器、通用处理器等。另外,内存存储器44可以是任何类型的存储器,例如 易失性存储器(例如,静态随机存取存储器(static random access memory,sram)、 动态随机存储器(dynamic random access memory,dram)等)或非易失性存储器(例如, 闪存等)等。在非限
制性实例中,内存存储器44可以由超速缓存内存实施。在其它实例 中,处理电路46可以包含存储器(例如,缓存等)用于实施图像缓冲器等。
[0137]
在一些实例中,通过逻辑电路实施的音视频或图像编码器20可以包含(例如,通过 处理电路46或内存存储器44实施的)音频或图像缓冲器和(例如,通过处理电路46实 施的)音频或图形处理单元。音频或图形处理单元可以通信耦合至图像缓冲器。音频或图 形处理单元可以包含通过处理电路46实施的音视频或图像编码器20,以实施参照图2和 /或本文中所描述的任何其它编码器系统或子系统所论述的各种模块。逻辑电路可以用于 执行本文所论述的各种操作。
[0138]
在一些实例中,音视频或图像解码器30可以以类似方式通过处理电路46实施,以实 施参照图1b的音视频或图像解码器30和/或本文中所描述的任何其它解码器系统或子系 统所论述的各种模块。在一些实例中,逻辑电路实施的音视频或图像解码器30可以包含 (通过处理电路46或内存存储器44实施的)音频或图像缓冲器和(例如,通过处理电路 46实施的)音频或图形处理单元。音频或图形处理单元可以通信耦合至图像缓冲器。音 频或图形处理单元可以包含通过处理电路46实施的音视频或图像解码器30,以实施参照 图4和/或本文中所描述的任何其它解码器系统或子系统所论述的各种模块。
[0139]
在一些实例中,天线42可以用于接收音视频或图像数据的经编码比特流。如所论述, 经编码比特流可以包含本文所论述的与编码音频或视频帧相关的数据、指示符、索引值、 模式选择数据等,例如与编码分割相关的数据(例如,变换系数或经量化变换系数,(如 所论述的)可选指示符,和/或定义编码分割的数据)。音视频或图像译码系统40还可包 含耦合至天线42并用于解码经编码比特流的视频或图像解码器30。显示设备45用于呈 现视频帧。
[0140]
应理解,本技术实施例中对于参考音视频或图像编码器20所描述的实例,音视频或 图像解码器30可以用于执行相反过程。关于信令语法元素,音视频或图像解码器30可以 用于接收并解析这种语法元素,相应地解码相关视频数据。在一些例子中,音视频或图像 编码器20可以将语法元素熵编码成经编码比特流。在此类实例中,音视频或图像解码器 30可以解析这种语法元素,并相应地解码相关音视频或图像数据。
[0141]
图1c为本发明实施例提供的音视频或图像译码设备400的示意图。音视频或图像译 码设备400适用于实现本文描述的公开实施例。在一个实施例中,音视频或图像译码设备 400可以是解码器,例如图1a中的音视频或图像解码器30,也可以是编码器,例如图1a 中的音视频或图像编码器20。
[0142]
音视频或图像译码设备400包括:用于接收数据的入端口410(或输入端口410)和 接收单元(receiver unit,rx)420;用于处理数据的处理器、逻辑单元或中央处理器 (central processing unit,cpu)430;例如,这里的处理器430可以是神经网络处理 器430;用于传输数据的发送单元(transmitter unit,tx)440和出端口450(或输出 端口450);用于存储数据的存储器460。音视频或图像译码设备400还可包括耦合到入 端口410、接收单元420、发送单元440和出端口450的光电(optical-to-electrical, oe)组件和电光(electrical-to-optical,eo)组件,用于光信号或电信号的出口或入 口。
[0143]
处理器430通过硬件和软件实现。处理器430可实现为一个或多个处理器芯片、核(例 如,多核处理器)、fpga、asic和dsp。处理器430与入端口410、接收单元420、发送 单元
440、出端口450和存储器460通信。处理器430包括译码模块470(例如,基于神 经网络nn的译码模块470)。译码模块470实施上文所公开的实施例。例如,译码模块 470执行、处理、准备或提供各种编码操作。因此,通过译码模块470为音视频或图像译 码设备400的功能提供了实质性的改进,并且影响了音视频或图像译码设备400到不同状 态的切换。或者,以存储在存储器460中并由处理器430执行的指令来实现译码模块470。
[0144]
存储器460包括一个或多个磁盘、磁带机和固态硬盘,可以用作溢出数据存储设备, 用于在选择执行程序时存储此类程序,并且存储在程序执行过程中读取的指令和数据。存 储器460可以是易失性和/或非易失性的,可以是只读存储器(read-only memory,rom)、 随机存取存储器(random access memory,ram)、三态内容寻址存储器(ternarycontent-addressable memory,tcam)和/或静态随机存取存储器(static random-accessmemory,sram)。
[0145]
图1d为示例性实施例提供的装置500的简化框图,装置500可用作图1a中的源设备 12和目的设备14中的任一个或两个。
[0146]
装置500中的处理器502可以是中央处理器。或者,处理器502可以是现有的或今后 将研发出的能够操控或处理信息的任何其它类型设备或多个设备。虽然可以使用如图所示 的处理器502等单个处理器来实施已公开的实现方式,但使用一个以上的处理器速度更快 和效率更高。
[0147]
在一种实现方式中,装置500中的存储器504可以是只读存储器(rom)设备或随机 存取存储器(ram)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器 504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可包括操作 系统508和应用程序510,应用程序510包括允许处理器502执行本文所述方法的至少一 个程序。例如,应用程序510可以包括应用1至n,还包括执行本文所述方法的音视频或 图像译码应用。
[0148]
装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器 518可以是将显示器与可用于感测触摸输入的触敏元件组合的触敏显示器。显示器518可 以通过总线512耦合到处理器502。
[0149]
虽然装置500中的总线512在本文中描述为单个总线,但是总线512可以包括多个总 线。此外,辅助储存器可以直接耦合到装置500的其它组件或通过网络访问,并且可以包 括存储卡等单个集成单元或多个存储卡等多个单元。因此,装置500可以具有各种各样的 配置。
[0150]
编码器和编码方法
[0151]
图2为用于实现本技术技术的一种音视频或图像编码器20的示例的示意性框图。在 图2的示例中,音视频或图像编码器20包括输入端(或输入接口)202、编码网络204、 取整206、熵编码208、熵估计210和输出端(或输出接口)212。图2所示的音视频编码 器20也可称端到端音频或图像编码器或基于端到端音频或图像编解码器的音频或图像编 码器。
[0152]
编码器20可用于通过输入端202等接收音频或图像(或音频或图像数据)17,例如, 形成音视频或视频序列的音频或图像。接收的音频或图像、音频或图像数据也可以是预处 理后的音频或图像(或预处理后的音频或图像数据)19。为简单起见,以下描述使用音频 或图像17。音频或图像17也可称为当前音频或图像或待编码的音频或图像(尤其是在音 视频编码中将当前音频或图像与其它音频区分开时,其它音频或图像例如同一音频或视频 序
列,即也包括当前音频或图像的音频或视频序列中的之前编码后音频或图像和/或解码 后音频或图像)。
[0153]
(数字)图像为或可以视为具有强度值的像素点组成的二维阵列或矩阵。阵列中的像 素点也可以称为像素(pixel或pel)(图像元素的简称)。阵列或图像在水平方向和垂 直方向(或轴线)上的像素点数量决定了图像的大小和/或分辨率。为了表示颜色,通常 采用三个颜色分量,即图像可以表示为或包括三个像素点阵列。在rbg格式或颜色空间中, 图像包括对应的红色、绿色和蓝色像素点阵列。但是,在视频或图像编码中,每个像素通 常以亮度/色度格式或颜色空间表示,例如ycbcr,包括y指示的亮度分量(有时也用l 表示)以及cb、cr表示的两个色度分量。亮度(luma)分量y表示亮度或灰度水平强度 (例如,在灰度等级图像中两者相同),而两个色度(chrominance,简写为chroma)分 量cb和cr表示色度或颜色信息分量。相应地,ycbcr格式的图像包括亮度像素点值(y) 的亮度像素点阵列和色度值(cb和cr)的两个色度像素点阵列。rgb格式的图像可以转 换或变换为ycbcr格式,反之亦然,该过程也称为颜色变换或转换。如果图像是黑白的, 则该图像可以只包括亮度像素点阵列。相应地,图像可以为例如单色格式的亮度像素点阵 列或4:2:0、4:2:2和4:4:4彩色格式的亮度像素点阵列和两个相应的色度像素点阵列。
[0154]
在一个可能性中,视频或图像编码器20的实施例可包括图像分割单元(图1a或图 1b中未示出),用于将图像17分割成多个(通常不重叠)图像块203。这些块在h.265/hevc 和vvc标准中也可以称为根块、宏块(h.264/avc)或编码树块(coding tree block,ctb), 或编码树单元(coding tree unit,ctu)。分割单元可用于对视频序列中的所有图像使 用相同的块大小和使用限定块大小的对应网格,或在图像或图像子集或图像组之间改变块 大小,并将每个图像分割成对应块。
[0155]
在另一个可能性中,视频或图像编码器可用于直接接收图像17的块203,例如,组 成所述图像17的一个、几个或所有块。图像块203也可以称为当前图像块或待编码图像 块。
[0156]
与图像17一样,图像块203同样是或可认为是具有强度值(像素点值)的像素点组 成的二维阵列或矩阵,但是图像块203的比图像17的小。换句话说,块203可包括一个 像素点阵列(例如,单色图像17情况下的亮度阵列或彩色图像情况下的亮度阵列或色度 阵列)或三个像素点阵列(例如,彩色图像17情况下的一个亮度阵列和两个色度阵列) 或根据所采用的颜色格式的任何其它数量和/或类型的阵列。块203的水平方向和垂直方 向(或轴线)上的像素点数量限定了块203的大小。相应地,块可以为m
×
n(m列
×
n行) 个像素点阵列,或m
×
n个变换系数阵列等。
[0157]
在另一个可能性中,图1a或图1b或图2所示的音视频或图像编码器20用于逐块对 图像17进行编码,例如,对每个块203执行编码、取整和熵编码。
[0158]
在另一个可能性中,图1a或图1b或图2所示的音视频或图像编码器20用于对图像 17进行编码,例如,对图像17执行编码、量化和熵编码。
[0159]
在另一个可能性中,图1a或图1b或图2所示的音视频或图像编码器20用于对音频 数据17进行编码,例如,对音频数据17执行编码、量化和熵编码。
[0160]
在另一个可能性中,图1a或图1b或图2所示的音视频或图像编码器20还可以用于 使用片(也称为视频片)分割编码图像,其中图像可以使用一个或多个片(通常为不重叠 的)进行分割或编码。每个片可包括一个或多个块(例如,编码树单元ctu)或一个或多 个块
其中n为大于1的正整数。
[0175]
在一个可能性中,输出特征图在进行取整前进行预处理,包括输出特征图中的像素点 的像素值与熵估计输出的均值相减得到偏移特征图,对获得的偏移特征图取整得到取整特 征图。
[0176]
熵编码单元208
[0177]
熵编码单元208用于将熵编码算法或方案(例如,可变长度编码(variable lengthcoding,vlc)方案、上下文自适应vlc方案(context adaptive vlc,calvc)、算术编 码方案、二值化算法、上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,cabac)、基于语法的上下文自适应二进制算术编码(syntax-basedcontext-adaptive binary arithmetic coding,sbac)、概率区间分割熵(probabilityinterval partitioning entropy,pipe)编码或其它熵编码方法或技术)应用于至少两 个特征层中的取整特征图,得到可以通过输出端212以编码比特流21等形式输出的编码 音频或图像数据21,使得视频解码器30等可以接收并使用用于解码的参数。可将编码比 特流21传输到视频解码器30,或将其保存在存储器中稍后由视频解码器30传输或检索。
[0178]
在一个可能性中,熵编码由于不知道取整特征图的真实的字符概率,所以有需要可以 统计这些或相关的信息添加至熵编码模块中,可以把这些信息传到解码端。
[0179]
熵估计单元210
[0180]
如图6a所示,熵估计单元210用于对取整特征图进行概率估计,以实现模型压缩的 码率估计。其中虚线输入为可选输入。熵估计单元210对应了n个特征层所对应的n个熵 估计模块。
[0181]
如图6b所示,熵估计单元210用于对取整特征图进行概率估计,以实现模型压缩的 码率估计。其中虚线输入为可选输入。熵估计单元210对应了n个特征层所对应的n个熵 估计模块以及残差层所对应的无损熵估计模块。
[0182]
在一种可能性中,如图7a所示,编码器中的第p熵估计结果作为第l熵估计的输入, 其中l、p为正整数且l《p。
[0183]
在另一种可能性中,编码器中的多个熵估计结果作为第l熵估计的输入,且多个熵估 计中每个熵估计模块所对应的特征层序号均大于l,其中l为正整数。如图7b所示为例, l/i/t/k均为正整数且l《i,l《t,l《k。
[0184]
在一种可能性中,如图7c所示,编码器中的第p取整特征图作为第l熵估计的输入, 其中l、p为正整数且l《=p。
[0185]
在另一种可能性中,编码器中的多个取整特征图作为第l熵估计的输入,且多个取整 模块中每个取整模块所对应的特征层序号均大于l,其中l为正整数。如图7d所示为例, l/i/t/k均为正整数且l《=i,l《=t,l《k。
[0186]
在一种可能性中,编码器中的至少一个取整特征图和至少一个熵估计结果作为第l熵 估计的输入,其中l为正整数。其中作为第l熵估计的输入的取整特征图所对应的特征层 序号大于等于l,作为第l熵估计的输入的熵估计结果所对应的特征层序号均大于l。如 图7e所示为例,l/i/t/k均为正整数且l《=i,l《=t,l《k。
[0187]
在一种可能性中,如图7f所示,编码器中的第p熵估计结果作为无损熵估计的输入, 其p为正整数。
[0188]
在另一种可能性中,编码器中的多个熵估计结果作为无损熵估计的输入。如图7g所 示为例,i/t/k均为正整数。
[0189]
在一种可能性中,如图7h所示,编码器中的第p取整特征图作为无损熵估计的输入, 其p为正整数。
[0190]
在另一种可能性中,编码器中的多个取整特征图作为无损熵估计的输入,如图7i所示 为例,i/t/k均为正整数。
[0191]
在一种可能性中,编码器中的至少一个取整特征图和至少一个熵估计结果作为无损熵 估计的输入。如图7j所示为例,i/t/k均为正整数。
[0192]
在一种可能性中,编码器中的至少一个取整特征图和重构音频或图像作为无损熵估计 的输入。如图7k所示为例,i/t均为正整数。
[0193]
在一种可能性中,编码器中的至少一个熵估计结果和重构音频或图像作为无损熵估计 的输入。如图7l所示为例,i/t均为正整数。
[0194]
在一种可能性中,编码器中的至少一个熵估计结果和重构音频或图像以及至少一个取 整特征图作为无损熵估计的输入。如图7m所示为例,i/t/p均为正整数。
[0195]
在一种可能性中,熵估计网络为卷积网络,卷积网络中包括了卷积层和非线性激活层。, 可见图8示例中熵估计网络中包含了5个网络层,具体包括了三个卷积层以及两个非线性 激活层。
[0196]
解码器和解码方法
[0197]
图1a-1b示出了用于实现本技术技术的示例性音视频或图像解码器30。如图9所示, 音视频或图像解码器30用于接收例如由编码器20编码的编码音频或图像数据21(例如 编码比特流21),得到解码音频或图像308。编码图像数据或比特流包括用于解码所述编 码图像数据的信息,例如表示编码视频片(和/或编码区块组或编码区块)的图像块的数 据和相关的语法元素。在图9的示例中,解码器30包括熵估计单元304、熵解码单元306 和解码网络单元308。
[0198]
熵估计单元304
[0199]
如图10a所示,熵估计单元304用于对解码特征图进行概率估计。其中虚线输入为可 选输入。熵估计单元304对应了n个特征层所对应的n个熵估计模块。
[0200]
如图10b所示,熵估计单元304用于对解码特征图进行概率估计,以实现模型压缩的 码率估计。其中虚线输入为可选输入。熵估计单元304对应了n个特征层所对应的n个熵 估计模块以及残差层所对应的无损熵估计模块。
[0201]
在一种可能性中,如图7a所示,解码器中的第p熵估计结果作为第l熵估计的输入, 其中l、p为正整数且l《p。
[0202]
在另一种可能性中,解码器中的多个熵估计结果作为第l熵估计的输入,且多个熵估 计中每个熵估计模块所对应的特征层序号均大于l,其中l为正整数。如图7b所示为例, l/i/t/k均为正整数且l《i,l《t,l《k。
[0203]
在一种可能性中,解码器中的第p解码特征图作为第l熵估计的输入,其中l、p为 正整数且l《=p。
[0204]
在另一种可能性中,解码器中的多个解码特征图作为第l熵估计的输入,且多个熵解 码模块所对应的特征层序号均大于l,其中l为正整数。
于1。
[0225]
在一个可能性中,解码特征图在输入解码网络前进行预处理,包括输出特征图中的像 素点的像素值与熵估计输出的均值相减得到偏移特征图,对解码特征图中的像素点的像素 值与熵估计输出的均值相加得到更新的解码特征图,再将更新的解码特征图输入解码网络。
[0226]
在一个可能性中,解码网络306中的输入输出结构如图12所示,解码网络306由p 个网络层所构成,其中p》l且m、l、t、p均为正整数。其中第t解码特征图为解码网络 306的网络层l后输入。第t解码特征图与第m解码特征图均为解码网络的输入,可以理 解,可以有多个解码特征图在解码网络单元中的不同网络层位置后作为输入,此处不做限 定。
[0227]
图12中的任意一网络层可以为卷积层、归一化层、非线性激活层等。
[0228]
在一个可能性中,解码网络306中可以存在包括叠加(concat)、相加、相减等操作。
[0229]
在一个可能性中,解码网络306中各网络层结构可以互为相同或者不同。
[0230]
在一个可能性中,解码网络306的结构示例如图13所示,可见示例中解码网络包含 了12个网络层,具体包括了一个反归一化层、六个卷积层以及四个非线性激活层。其中 m,n,t均为正整数,解码网络输出为解码图像或重构音频或图像。第t解码特征图、第n 解码特征图、第m解码特征图均为解码网络的输入,其中t、n、m均为整数。
[0231]
应理解,在编码器20和解码器30中,可以对当前步骤的处理结果进一步处理,然后 输出到下一步骤。例如,在编码器单元或解码器单元之后,可以对编码器单元或解码器单 元的处理结果进行进一步的运算或处理,例如裁剪(clip)或移位(shift)运算或滤波 处理。
[0232]
尽管上述实施例主要描述了音视频编解码,但应注意的是,译码系统10、编码器20 和解码器30的实施例以及本文描述的其它实施例也可以用于静止图像处理或编解码,即 音视频编解码中独立于任何先前或连续图像的单个图像的处理或编解码。音视频编码器 20和音视频解码器30的所有其它功能(也称为工具或技术)同样可用于静态图像处理。
[0233]
图14a示出了本技术的一种可能的系统架构,模型运行步骤如下:
[0234]
编码端:
[0235]
步骤1:输入数据通过编码网络输出了n个输出特征图;
[0236]
步骤2:n个输出特征图经过取整操作得到n个取整特征图;
[0237]
步骤3:结合熵估计依次(第n至第一顺序)估计各取整特征图的概率并对n个取整特 征图进行熵编码,得到n个编码码流。
[0238]
其中第m取整特征图可以作为第l熵估计的输入,所述l,m,n均为正整数且l》=1, l《m《=n;
[0239]
其中第p熵估计可以作为第t熵估计的输入,所述t,p,n均为正整数且t》=1,t《p《=n;
[0240]
解码端:
[0241]
步骤1:获得n个待解码码流,结合熵估计依次(第n至第一顺序)进行熵解码获得n 个解码特征图;
[0242]
其中第m取整特征图可以作为第l熵估计的输入,所述l,m,n均为正整数且l》=1, l《m《=n;
[0261]
图15示出了本技术实施例提供的另一种可能的场景下的系统架构800,该实施例是 一个无损压缩框架。
[0262]
模型运行步骤如下:
[0263]
编码端:
[0264]
步骤1:编码网络模块分特征层提取输入数据x0每一特征层的输出特征图;
[0265]
步骤2:取整模块将图像各个特征层的输出特征图取整为取整特征图;
[0266]
步骤3:解码网络根据各特征层的解码特征图得到重构音频或图像x1;
[0267]
步骤4:编码网络获得输入数据的残差x0-x1;
[0268]
步骤5:熵估计网络模块按照从底层到浅层(特征层4至特征层1,最后残差层)的顺 序依次进行熵估计获得各层的概率估计结果;
[0269]
步骤6:熵编码模块依次(从底层到浅层)进行熵编码,各层生成的码流用来网络传输 或者保存成本地文件。
[0270]
解码端:
[0271]
步骤1:熵估计网络和熵解码模块从底向上(特征层4至特征层1,最后残差层)依次 解码出各层的解码特征图和残差;
[0272]
步骤2:解码网络模块根据各解码特征图得到重构音频或图像x1;
[0273]
步骤3:残差和重构音频或图像x1叠加得到输出数据或无损重构音频或图像。
[0274]
在再一种实施例中,图16示出了一种可能的场景下的系统架构900。压缩解码运行 步骤如下:
[0275]
步骤1:ai编码单元模块用于将图像数据变换成冗余度更低的输出特征,且产生输出 特征中各点的概率估计,其中ai编码单元模块包括了编码网络单元,取整单元以及熵估 计单元;
[0276]
通过摄像头等图像采集设备采集图像后可以以多种的图像表达方式,如raw域,yuv 或rgb表征方式作为ai编码单元的输入。ai编码单元模块中的数据处理过程可以在如神 经网络处理器(npu)或者图形处理器(gpu)设备上进行实现。
[0277]
步骤2:熵编码/解码模块(以算术编码为例)用于降低输出特征的编码冗余,进一步 降低图像压缩过程中的数据传输量;
[0278]
熵编码/解码模块的数据处理过程可以在中央处理器(cpu)上进行实现。
[0279]
步骤3:ai解码单元模块用于对输出特征进行反变换,将输出特征解析为图像。其中 ai解码单元模块包括了解码网络单元以及熵估计单元;
[0280]
ai编码单元模块中的数据处理过程可以在如神经网络处理器(npu)或者图形处理器 (gpu)设备上进行实现。
[0281]
步骤4:保存文件模块用于将熵编码模块生成的数据文件保存至终端的对应存储位置;
[0282]
步骤5:加载文件模块用于从终端的对应存储位置加载数据文件,并输入到熵解码模 块。
[0283]
在再一种实施例中,图17示出了一种可能的场景下的系统架构1000,该实施例是云 应用设备结构图,包括:
[0284]
步骤1:本地与云侧的jpeg编/解码模块用于在端侧或者云侧对数字图像进行压
缩/ 解压,以降低本地与云侧间数据传输的数据量;
[0285]
步骤2:ai编码单元模块用于将图像变换成冗余度更低的输出特征,且产生输出特征 中各点的概率估计。其中ai解码单元模块包括了解码网络单元以及熵估计单元;
[0286]
步骤3:熵编码/解码模块(以算术编码为例)用于降低输出特征的编码冗余,进一 步降低图像压缩过程中的数据传输量;
[0287]
步骤4:ai解码单元模块用于对输出特征进行反变换,将输出特征解析为图像。其中 ai解码单元模块包括了解码网络单元以及熵估计单元;
[0288]
步骤5:保存文件模块用于将熵编码(以算术编码为例)模块生成的数据文件如编码 码流或待解码码流保存至云侧的对应存储位置;
[0289]
步骤6:加载文件模块用于从云侧的对应存储位置加载数据文件,并输入到熵解码单 元。
[0290]
图18a和图18b示出了本技术提供的一种实施例,模型运行步骤如下:
[0291]
编码端:
[0292]
步骤1:编码网络模块包括了四个特征层,通过四个子编码网络提取输入数据的四个 输出特征图,对应了图18b中的y1,y2,y3,y4。其中每个编码网络的网络深度、特征层数、 每层特征的通道数可变,以达到动态改变模型压缩能力的作用;
[0293]
步骤2:如图18a所示,将第一至第三输出特征图进行预处理得到第一至第三偏移特 征图,预处理操作对应了减法操作,将输出特征图的各像素点的像素值与熵估计输出的均 值μ相减得到偏移特征图;
[0294]
步骤3:如图18a所示,取整模块将第一至第三偏移特征图与第四输出特征图取整为 第一至第四取整特征图;
[0295]
步骤4:熵估计模块依次估计压缩特征的概率,如图18a和18b所示,用已知概率估 计第四取整特征图的概率,第四取整特征图估计第三取整特征图的概率,第三取整特征图 进行反处理后作为第二熵估计的输入来估计第二取整特征图的概率,第二取整特征图进行 反处理后作为第一熵估计的输入来估计第一取整特征图的概率。
[0296]
步骤5:如图18a所示,熵编码模块按照从深层到浅层的顺序,根据第四熵估计结果 对第四取整特征图进行熵编码。根据第三熵估计结果如方差信息σ3,对第三取整特征图 进行熵编码。根据第二熵估计结果如方差信息σ2对第二取整特征图进行熵编码。根据第 一熵估计结果如方差信息σ1对第一取整特征图进行熵编码。对应了图18b依次根据各取 整特征图的概率对第四至第一取整特征图进行熵编码生成,用来网络传输或者保存成本地 文件。
[0297]
编码端的反处理操作是将取整特征图的各像素点的像素值与熵估计输出的均值相加
[0298]
解码端:
[0299]
步骤1:如图18a所示,熵估计网络模块根据第四熵估计结果对第四编码码流或第四 待解码码流进行熵解码得到第四解码特征图;
[0300]
步骤2:如图18a所示,第三熵估计网络根据第四解码特征图得到输出概率估计结果 如方差信息σ3,结合第三熵估计输出结果对第三编码码流或第三待解码码流进行熵解码 得到第三解码特征图,第三解码特征图进行反处理后作为更新的第三解码特征图,并将更 新的第三解码特征图作为第二熵估计的输入来估计第二解码特征图的概率;
[0301]
步骤3:如图18a所示,根据第二熵估计输出概率估计结果如方差信息σ2,对第二 编码码流或第二待解码码流进行熵解码得到第二解码特征图,第二解码特征图进行反处理 后作为更新的第二解码特征图,并将更新的第二解码特征图作为第一熵估计的输入来估计 第一解码特征图的概率;
[0302]
步骤4:如图18a所示,根据第一熵估计输出概率估计结果如方差信息σ1,对第一 编码码流或第一待解码码流进行熵解码得到第一解码特征图,第一解码特征图进行反处理 后作为更新的第一解码特征图;
[0303]
步骤5:解码网络模块根据更新的第一、第二、第三解码特征图得到重构音频或图像。
[0304]
解码端的反处理操作是将解码特征图的各像素点的像素值与熵估计输出的均值相加。
[0305]
图19示出了本技术提供的一种实施例,该实施例是一个音频压缩框架。模型运行步 骤如下:
[0306]
编码端:
[0307]
步骤1:编码网络模块分为了n个特征层,分层提取音频x每一层的输出特征;
[0308]
步骤2:取整模块将音频x各个层的输出特征取整为各个层的取整特征;
[0309]
步骤3:熵估计网络模块按照从底层(第n特征层)到浅层(第1层)的顺序依次估计各 层取整特征的概率;
[0310]
步骤4:熵编码模块从底层(第n特征层)到浅层(第1层)的顺序依次根据熵估计结果 进行熵编码,各层的编码码流用来网络传输或者保存成本地文件。
[0311]
解码端:
[0312]
步骤1:熵估计网络和熵解码模块从底层(第n特征层)到浅层(第1层)的顺序依次解 码出各层的解码特征;
[0313]
步骤2:解码网络模块根据各层的解码特征重建出音频x


[0314]
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤 所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种 说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上 存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体, 其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一 处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于 (1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存 储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本技术中描述的 技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒 体。
[0315]
作为实例而非限制,此类计算机可读存储媒体可包括ram、rom、eeprom、cd-rom或 其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或 数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被 恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订 户线(dsl)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指 令,
那么同轴缆线、光纤缆线、双绞线、dsl或例如红外线、无线电和微波等无线技术包 含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连 接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所 使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)和蓝 光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上 各项的组合也应包含在计算机可读媒体的范围内。
[0316]
可通过例如一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、 现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路等一或多个处理器来执行指 令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的 技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑 框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软 件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻 辑元件中。
[0317]
本技术的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(ic) 或一组ic(例如,芯片组)。本技术中描述各种组件、模块或单元是为了强调用于执行所 揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述, 各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬 件单元(包含如上文所描述的一或多个处理器)来提供。
[0318]
以上所述,仅为本技术示例性的具体实施方式,但本技术的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围 为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献