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

音频数据编解码方法和相关装置及计算机可读存储介质与流程

2022-11-30 08:36:43 来源:中国专利 TAG:


1.本技术涉及音频技术领域,尤其涉及音频数据编解码方法和相关通信装置及相关计算机可读存储介质。


背景技术:

2.目前,随着社会的进步和技术的不断发展,用户对音视频服务的需求越来越高。如何在有限编码比特率的情况下为用户提供更高质量的服务,或利用更低的编码比特率为用户提供相同质量的服务,一直以来都是音视频编解码研究的重点。一些国际标准组织(例如第三代合作伙伴计划(3gpp,3rd generation partner project))也在参与相关标准的制定工作,以推动音视频服务向高质量迈进。
3.音视频压缩是媒体通信和媒体广播等媒体应用中不可或缺的环节。随着高清音视频产业以及3d产业的发展,人们对音视频质量的需求越来越高,随之而来的是媒体应用中音视频数据量的迅猛增长。
4.传统的音视频压缩技术都是基于信号处理的基本原理,在时间、空间上利用信号的相关性对原始的音视频数据进行压缩,减少数据量,使其便于传输或存储。
5.随着人工智能(ai,artificial intelligence)技术的不断发展和成熟,越来越多的领域开始运用神经网络技术替代或结合传统技术,并取得了长足进步。近些年开始有研究人员将ai技术引入到音视频编解码领域。


技术实现要素:

6.本技术实施例提供了一些音频数据编解码方法和相关的通信装置及相关的计算机可读存储介质。
7.本技术实施例第一方面提供一种音频数据编码方法,可包括:音频编码器获取待编码的音频数据;利用编码神经网络对所述待编码的音频数据进行处理以生成第一潜在变量;对所述第一潜在变量进行量化处理以得到第二潜在变量;根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数;将所述潜在变量补偿参数进行编码,并将所述潜在变量补偿参数的编码结果写入码流;将所述第二潜在变量进行编码,并将所述第二潜在变量的编码结果写入码流。
8.其中,本技术实施例提到的音频数据例如可为音频信号和/或音频特征等。音频信号可为时域音频信号;音频信号也可为时域信号经过时频变换后得到的频域信号,例如频域信号可为时域音频信号经过修正的离散余弦变换(mdct,modified discrete cosine transform)变换后的频域信号,时域音频信号经过快速傅里叶变换(fft,fast fourier transform)变换后的频域信号;或音频信号也可为经正交镜像滤波器(qmf,quadrature mirror filter)滤波之后的信号;或者待编码音频信号还可以为残差信号,例如可为其他编码的残差信号或者线性预测编码器(lpc,linear predictive coding)滤波后的残差信号等。待编码音频特征可为基于音频信号提取的特征,例如梅尔倒谱系数或者通过神经网
络获得的潜在变量。
9.其中,本技术实施例提到的编码神经网络可为全连接网络(即全连接神经网络网络)或卷积神经网络(cnn,convolutional neural networks)或其他类型的神经网络。
10.其中,本技术实施例中的音频数据处理方案可应用于包含或不包含上下文模型的ai编解码器。
11.其中,编码神经网络可以是预先训练好的,本技术对编码神经网络的具体网络结构和训练方法不做限定。利用编码神经网络对所述待编码的音频数据进行处理,可以是将待编码的音频数据直接作为编码神经网络的输入,也可以是待编码的音频数据进行预处理后,将处理后的音频数据作为编码神经网络的输入。第一潜在变量可以是编码神经网络的输出,也可以是对编码神经网络的输出进行后处理后获得的。
12.可以看出,本技术实施例提供的技术方案中,编码端可根据潜在变量的量化误差得到潜在变量补偿参数(即潜在变量补偿参数能够指示出编码端对潜在变量进行量化造成的相关量化误差),并将潜在变量补偿参数的编码结果写入码流。这使得解码端根据潜在变量补偿参数来对相关潜在变量进行补偿处理变得有了基础,进而有利于降低解码神经网络输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
13.其中,在实际应用中,根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数的方式可为多种多样的。
14.例如根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数可包括:确定第三潜在变量中满足预设条件的元素,所述第三潜在变量是通过对所述第二潜在变量进行去量化处理而得到;根据所述第一潜在变量和所述第三潜在变量得到所述满足预设条件的元素的量化误差;根据所述量化误差得到所述潜在变量补偿参数。
15.又例如根据第一潜在变量和所述第二潜在变量得到潜在变量补偿参数可包括:确定所述第二潜在变量中满足预设条件的元素,根据所述第一潜在变量和所述第二潜在变量得到所述满足预设条件的元素的量化误差,根据所述量化误差得到所述潜在变量补偿参数。
16.根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数的其他实现方式在此不再赘述。
17.其中,潜在变量的形式不同,得到潜在变量补偿参数的具体方式也可能不同,基本原理是根据潜在变量中满足预设条件的元素的量化误差,确定潜在变量补偿参数的值。潜在变量补偿参数可以指示出潜在变量中满足预设条件的元素的量化误差。
18.一种可能实现方式是,将所有满足条件的元素的量化误差的平均值作为潜在变量补偿参数的值。另一种可能实现方式是,将所有满足条件的元素的量化误差的加权平均值作为潜在变量补偿参数的值,加权值的大小可与元素的序号相关。其中,满足预设条件的元素,可以是第二潜在变量中满足预设条件的元素。第二潜在变量中满足预设条件的元素可以是元素的值为最小量化值的元素,或者可以是元素的值为量化范围的中间值的元素,或者还可以是元素的值小于等于预先设定的阈值的元素。其中,当量化范围的取值包括正数和负数,可选择将量化值是否为量化范围的中间值作为条件。例如量化后的值,取值范围为-10到10之间的整数,量化范围的中间值为0,则可选择量化值为0的元素的量化误差来统
计量化误差的平均值。满足预设条件的元素,也可以是第三潜在变量中满足预设条件的元素。第三潜在变量是通过对第二潜在变量进行去量化处理而得到。同样地,第三潜在变量中满足预设条件的元素可以是元素值等于去量化值的最小值的元素,或者可以是元素值等于预设值的元素,或者还可以是元素值小于等于预先设定的阈值的元素。
19.本技术各实施例中提到的量化误差,可以是待量化的原始值与量化值之间的幅度差或者能量差或其绝对值等,或者也可以是待量化的原始值与去量化值之间的幅度差或者能量差或其绝对值等。
20.举例来说,将所述潜在变量补偿参数进行编码后写入码流可包括:将所述潜在变量补偿参数进行标量量化或矢量量化已得到潜在变量补偿参数的量化索引,将潜在变量补偿参数的量化索引编码后写入码流。当然,也可以是将量化后的潜在变量补偿参数进行熵编码后写入码流。
21.在一些可能的实施方式之中,将所述第二潜在变量进行编码后写入码流可包括:采用可调熵编码模型对所述第二潜在变量进行算数编码,并将所述第二潜在变量算数编码结果写入码流,或者采用预置概率分布的熵编码模型对所述第二潜在变量进行算数编码,并将所述第二潜在变量算数编码结果写入码流。
22.可以理解,上述预设条件可以是多种多样的,可根据具体场景需要来设置满足需要的预设条件。
23.例如第三潜在变量或第二潜在变量包括第一元素,其中,满足预设条件可包括:所述第一元素的值小于或等于预设值。当所述所述第一元素是所述第二潜在变量中的元素时,所述所述第一元素的值是量化值。或当所述所述第一元素是所述第三潜在变量中的元素时,所述所述第一元素的值是去量化值。
24.在一些可能实施方式中,根据所述第一潜在变量和所述第二潜在变量得到所述满足条件的元素的量化误差可包括:根据所述第一潜在变量中第一元素的第一值和所述第二潜在变量中所述第一元素的第二值确定所述第一元素的量化误差。此处,所述第一元素的量化误差例如可为第一值和第二值的差值或差值的绝对值等。
25.在一些可能实施方式中,所述根据所述第一潜在变量和所述第三潜在变量得到所述满足预设条件的元素的量化误差包括:根据所述第一潜在变量中所述第一元素的第一值以及所述第三潜在变量中所述第一元素的第三值确定所述第一元素的量化误差。此处,所述第一元素的量化误差例如可为第一值和第三值的差值或差值的绝对值等。
26.可以理解,不同结构的编码神经网络输出的潜在变量的形式可能不同。
27.本技术实施例方案中,编码神经网络具体可为全连接神经网络或卷积神经网络或其他神经网络。当编码神经网络为卷积神经网络,此卷积神经网络的通道数量可为1个、2个、3个或4个或更多个。
28.举例来说,当所述编码神经网络为卷积神经网络,并且,所述卷积神经网络仅包括一个通道。所述潜在变量补偿参数可为标量,其中,所述标量用于指示所述第二潜在变量中满足预设条件的所有元素的量化误差,或所述标量用于指示所述第三潜在变量中满足预设条件的所有元素的量化误差。
29.又例如,当编码神经网络为卷积神经网络,所述卷积神经网络包括至少两个通道,所述第二潜在变量与所述至少两个通道对应,所述至少两个通道包括第一通道,所述第二
潜在变量是一个m
×
n矩阵。
30.其中,所述潜在变量补偿参数可为标量,所述标量用于指示所述第二潜在变量中满足预设条件的所有元素的量化误差。
31.或者,所述潜在变量补偿参数为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量元素中的第一矢量元素与所述第一通道对应,所述第一矢量元素用于指示所述m
×
n矩阵的子矩阵中满足预设条件的所有元素的量化误差,所述第一通道对应于所述子矩阵,其中,所述子矩阵的元素数量小于m
×
n。m和n为正整数。
32.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,其中所述第二潜在变量与所述至少三个通道对应,例如所述第二潜在变量是一个m
×
n矩阵。
33.所述潜在变量补偿参数为矢量,所述矢量的维数小于所述卷积神经网络的通道数,所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,其中,所述第一矢量元素用于指示所述m
×
n矩阵的第一子矩阵中满足预设条件的所有元素的量化误差,所述第一矢量元素还用于指示所述m
×
n矩阵的第二子矩阵中满足预设条件的所有元素的量化误差,其中,所述第一子矩阵与所述第一通道对应,所述第二子矩阵与所述第二通道对应,所述第一子矩阵的元素数量小于m
×
n,所述第二子矩阵的元素数量小于m
×
n。
34.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少两个通道,所述第三潜在变量与所述至少两个通道对应,所述至少两个通道包括第一通道,所述第三潜在变量是一个m
×
n矩阵。m和n为正整数。
35.其中,所述潜在变量补偿参数为标量,所述标量用于指示所述第三潜在变量中满足预设条件的所有元素的量化误差。
36.或者,所述潜在变量补偿参数为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量元素中的第一矢量元素与所述第一通道对应,所述第一矢量元素用于指示所述m
×
n矩阵的子矩阵中满足预设条件的所有元素的量化误差,其中,所述第一通道对应所述子矩阵,所述子矩阵的元素数量小于m
×
n。m和n为正整数。
37.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,其中,所述第三潜在变量与所述至少三个通道对应,其中,所述第三潜在变量是一个m
×
n矩阵。
38.所述潜在变量补偿参数为矢量,所述矢量的维数小于所述卷积神经网络的通道数,所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,其中,所述第一矢量元素用于指示所述m
×
n矩阵的第一子矩阵中满足预设条件的所有元素的量化误差,所述第一矢量元素还用于指示所述m
×
n矩阵的第二子矩阵中满足预设条件的所有元素的量化误差,其中,所述第一子矩阵与所述第一通道对应,所述第二子矩阵与所述第二通道对应,所述第一子矩阵的元素数量小于m
×
n,所述第二子矩阵的元素数量小于m
×
n。
39.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少
两个通道,所述第二潜在变量与所述至少两个通道中的第一通道对应。
40.其中,所述潜在变量补偿参数为标量,所述标量用于指示与所述至少两个通道对应的至少两个潜在变量中满足预设条件的所有元素的量化误差,所述至少两个潜在变量包括所述第二潜在变量;
41.或者,所述潜在变量补偿参数为矢量,其中,所述矢量的维数可等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量元素包括与所述第一通道对应的第一矢量元素,所述第一矢量元素用于指示所述第二潜在变量中满足预设条件的所有元素的量化误差。
42.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,所述第二潜在变量与所述至少三个通道中的第一通道对应。
43.其中,所述潜在变量补偿参数为矢量,其中,所述矢量的维数小于所述卷积神经网络的通道数。所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和所述第一通道,所述第一矢量元素用于指示所述第二潜在变量中满足预设条件的所有元素的量化误差,所述第一矢量元素还用于指示所述第二通道对应的另一潜在变量中满足预设条件的所有元素的量化误差。
44.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少两个通道,所述第三潜在变量与所述至少两个通道中的第一通道对应。
45.其中,所述潜在变量补偿参数为标量,所述标量用于指示与所述至少两个通道对应的至少两个潜在变量中满足预设条件的所有元素的量化误差,所述至少两个潜在变量包括所述第三潜在变量;
46.或,所述潜在变量补偿参数为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,与所述第一通道对应的矢量元素用于指示所述第三潜在变量中满足预设条件的所有元素的量化误差。
47.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,所述第三潜在变量与所述至少三个通道中的第一通道对应。
48.其中,所述潜在变量补偿参数为矢量,其中,所述矢量的维数小于所述卷积神经网络的通道数。所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和所述第一通道,所述第一矢量元素用于指示所述第三潜在变量中满足预设条件的所有元素的量化误差,所述第一矢量元素还用于指示所述第二通道对应的另一潜在变量中满足预设条件的所有元素的量化误差。
49.在一些可能的实施方式中,当所述第一矢量元素与所述第一通道和所述第二通道具有对应关系,那么可将第一矢量元素与所述第一通道和所述第二通道的对应关系写入码流。当然如果编码端和解码段默认采用元素与通道的对应关系相同,那么第一矢量元素与所述第一通道和所述第二通道的对应关系也可不写入码流。
50.可以理解,上述对应于卷积神经网络或全连接网络的潜在变量补偿参数的多种举例获得方式,有利于满足多种应用场景的灵活需要,进而有利于提升方案的场景适应能力。
51.本技术实施例第二方面提供一种音频数据解码方法,可包括:基于码流得到潜在变量补偿参数和第三潜在变量(所述第三潜在变量中的当前元素的值可为去量化值);根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量;利
用解码神经网络对所述重构的第一潜在变量进行处理以生成解码音频数据。
52.其中,基于码流得到潜在变量补偿参数和第三潜在变量,可包括:从码流中解码出潜在变量补偿参数和第二潜在变量,所述第二潜在变量中的当前元素的值是量化值;对所述第二潜在变量进行去量化处理得到第三潜在变量。或者,也可利用特定解码器直接从码流中解码得到第三潜在变量(这种情况下,无需执行从码流中解码出第二潜在变量,并对所述第二潜在变量进行去量化处理来得到第三潜在变量的步骤)。
53.可以看出,本技术实施例提供的方案,由于编码端将潜在变量补偿参数写入码流,而潜在变量补偿参数能够指示出编码端对潜在变量进行量化而造成的相关量化误差。因此解码端获取码流之后,便可根据潜在变量补偿参数对潜在变量进行补偿处理,进而有利于降低解码神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
54.举例来说,根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量,可包括:根据所述第二潜在变量或第三潜在变量确定所述第三潜在变量中满足预设条件的元素;根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量。
55.在实际应用中,根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量的方式可以多多种多样的。例如,根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量,可包括:
56.产生随机噪声;根据所述潜在变量补偿参数对产生的所述随机噪声进行幅度或能量调整得到幅度或能量调整后的随机噪声;根据所述幅度或能量调整后的随机噪声对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量。
57.可以理解,上述预设条件可以是多种多样的,可根据具体场景需要来设置满足需要的预设条件。
58.例如第三潜在变量或第二潜在变量包括第一元素,满足预设条件可包括:所述第一元素的值小于或等于预设值。当所述所述第一元素是所述第二潜在变量中的元素时,所述所述第一元素的值是量化值。或当所述所述第一元素是所述第三潜在变量中的元素时,所述所述第一元素的值是去量化值。
59.可以理解,不同结构的解码码神经网络处理的潜在变量的形式可能不同。
60.本技术实施例方案中,解码神经网络具体可为全连接神经网络或卷积神经网络或其他神经网络。当解码神经网络为卷积神经网络,此卷积神经网络的通道数量可为1个、2个、3个或4个或更多个。
61.举例来说,当解码神经网络为卷积神经网络,卷积神经网络仅包括一个通道;所述潜在变量补偿参数为标量,其中,所述标量用于对所述第三潜在变量中满足预设条件的所有元素进行补偿。
62.又例如,当解码神经网络为卷积神经网络,所述卷积神经网络包括至少两个通道,所述第三潜在变量与所述至少两个通道对应,所述至少两个通道包括第一通道,所述第三潜在变量是一个m
×
n矩阵。m和n为正整数。
63.其中,所述潜在变量补偿参数可为标量,所述标量用于对所述第三潜在变量中满
足预设条件的所有元素进行补偿。
64.或者,所述潜在变量补偿参数可为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量元素中的第一矢量元素与所述第一通道对应,所述第一矢量元素用于对所述m
×
n矩阵的子矩阵中满足预设条件的所有元素的进行补偿,所述第一通道对应所述子矩阵,其中,所述子矩阵的元素数量小于m
×
n。m和n为正整数,所述第一子矩阵的元素数量小于m
×
n,所述第二子矩阵的元素数量小于m
×
n。
65.又例如,当所述解码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,第三潜在变量与所述至少三个通道对应,第三潜在变量是一个m
×
n矩阵。所述潜在变量补偿参数为矢量,所述矢量的维数小于所述卷积神经网络的通道数,所述矢量中第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,所述第一矢量元素用于对所述m
×
n矩阵的第一子矩阵中满足预设条件的所有元素进行补偿,所述第一矢量元素还用于对所述m
×
n矩阵的第二子矩阵中满足预设条件的所有元素进行补偿,所述第一子矩阵与所述第一通道对应,所述第二子矩阵与所述第二通道对应,所述第一子矩阵的元素数量小于m
×
n,所述第二子矩阵的元素数量小于m
×
n。其中,所述m和n为正整数。
66.又例如,当所述解码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少两个通道,所述第三潜在变量与所述至少两个通道中的第一通道对应。
67.其中,所述潜在变量补偿参数为标量,所述标量用于对所述至少两个通道对应的至少两个潜在变量中满足预设条件的所有元素进行补偿,其中,所述至少两个潜在变量包括所述第三潜在变量;
68.或,所述潜在变量补偿参数为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量中的与所述第一通道对应的矢量元素用于对所述第三潜在变量中满足预设条件的所有元素进行补偿。
69.又例如,当解码神经网络为卷积神经网络,所述卷积神经网络包括至少三个通道,所述第三潜在变量与所述至少三个通道中的第一通道对应。所述潜在变量补偿参数为矢量,所述矢量的维数小于所述卷积神经网络的通道数,所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,所述第一矢量元素用于对所述第三潜在变量中满足预设条件的所有元素进行补偿,所述第一矢量元素还用于所述第二通道对应的另一潜在变量中满足预设条件的所有元素进行补偿。
70.本技术实施例第三方面还提供一种音频编码器,音频编码器可包括若干功能单元,若干功能单元协同完成第一方面提供的任意一种音频数据编码方法。
71.具体例如音频编码器可包括:获取单元、参数处理单元和编码单元。
72.其中,获取单元,用于获取待编码的音频数据。
73.参数处理单元,用于利用编码神经网络对所述待编码的音频数据进行处理,以生成第一潜在变量;对所述第一潜在变量进行量化处理以得到第二潜在变量;根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数。
74.编码单元,用于将所述潜在变量补偿参数进行编码,并将所述潜在变量补偿参数的编码结果写入码流;将所述第二潜在变量进行编码,并将所述第二潜在变量的编码结果
写入码流。
75.本技术实施例第四方面还提供一种音频解码器,音频解码器可包括若干功能单元,若干功能单元协同完成第二方面提供的任意一种音频数据解码方法。
76.具体例如音频解码器可包括:解码单元和参数处理单元。
77.参数处理单元,用于基于码流得到潜在变量补偿参数和第三潜在变量(所述第三潜在变量中的当前元素的值可为去量化值);根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量。
78.解码单元,用于利用解码神经网络对所述重构的第一潜在变量进行处理以生成解码音频数据。
79.其中,基于码流得到潜在变量补偿参数和第三潜在变量,可包括:从码流中解码出潜在变量补偿参数和第二潜在变量,所述第二潜在变量中的当前元素的值是量化值;对所述第二潜在变量进行去量化处理得到第三潜在变量。或者,也可利用特定解码器直接从码流中解码得到第三潜在变量(这种情况下,无需执行从码流中解码出第二潜在变量,并对所述第二潜在变量进行去量化处理来得到第三潜在变量的步骤)。
80.本技术实施例第五方面提供一种音频编码器,可包括:处理器,所述处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述处理器执行时实现第一方面提供的任意一种方法。
81.本技术实施例第六方面提供一种音频解码器,可包括:处理器,所述处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述处理器执行时实现第二方面提供的任意一种方法。
82.本技术实施例第七方面提供一种通信系统,包括:编码编码器和音频解码器;所述音频编码器为本技术实施例提供的任意一种音频编码器。所述音频解码器为本技术实施例提供的任意一种音频解码器。
83.本技术实施例第八方面提供一种计算机可读存储介质,存储有程序,当所述程序在计算机上运行时,使得所述计算机执行第一方面提供的任意一种方法的部分或全部步骤。
84.本技术实施例第九方面提供一种计算机可读存储介质,存储有程序,当所述程序在计算机上运行时,使得所述计算机执行第二方面提供的任意一种方法的部分或全部步骤。
85.本技术实施例第十方面提供一种计算机可读存储介质,存储有码流,所述码流基于第一方面提供的任意一种音频数据编码方法得到。
86.本技术实施例第十一方面提供一种网络设备,包括处理器和存储器,所述处理器与存储器耦合,用于读取并执行所述存储器中存储的程序,实现如第一方面或第二方面提供的任意一种方法的部分或全部步骤。
87.其中,所述网络设备例如可为芯片或片上系统。
88.本技术实施例第十二方面提供一种计算机程序产品,其中,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面或第二方面提供的任意一种方法的部分或全部步骤。
附图说明
89.下面将对实施例或现有技术描述中所涉及的附图作简单地介绍。
90.图1a和图1b为本技术实施例提供的音频编解码方案应用到音频终端的场景示意图。
91.图1c-图1d为本技术实施例提供的有线或者无线网络中的网络设备的音频编解码处理的示意图。
92.图1e为本技术实施例提供的音频通信中的音频编解码的示意图。
93.图1f为本技术实施例提供的广播电视领域应用的系统架构示意图。
94.图2为本技术实施例提供的一种音频数据编码方法的流程示意图。
95.图3为本技术实施例提供的另一种音频数据解码方法的流程示意图。
96.图4a为本技术实施例提供的另一种音频数据编码方法的流程示意图。
97.图4b为本技术实施例提供的一种潜在变量的示意图。
98.图5为本技术实施例提供的另一种音频数据解码方法的流程示意图。
99.图6a为本技术实施例提供的另一种音频数据编码方法的流程示意图。
100.图6b为本技术实施例提供的另一种潜在变量的示意图。
101.图7为本技术实施例提供的另一种音频数据解码方法的流程示意图。
102.图8a和图8b为本技术实施例提供的另一种音频数据编码方法的流程示意图。
103.图9a和图9b为本技术实施例提供的另一种音频数据解码方法的流程示意图。
104.图10a和图10b为本技术实施例提供的另一种音频数据编码方法的流程示意图。
105.图11a和图11b为本技术实施例提供的另一种音频数据解码方法的流程示意图。
106.图12a和图12b为本技术实施例提供的另一种音频数据编码方法的流程示意图。
107.图13a和图13b为本技术实施例提供的另一种音频数据解码方法的流程示意图。
108.图14a和图14b为本技术实施例提供的潜在变量量化前后的对比示意图。
109.图15为本技术实施例提供的一种音频编码器的示意图。
110.图16为本技术实施例提供的一种音频解码器的示意图。
111.图17为本技术实施例提供的另一种种音频编码器的示意图。
112.图18为本技术实施例提供的另一种音频解码器的示意图。
113.图19为本技术实施例提供的一种通信系统的示意图。
114.图20为本技术实施例提供的一种网络设备的示意图。
具体实施方式
115.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
116.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
117.参见图1a至图1f,下面介绍本技术音频编解码方案可能应用到的网络架构。音频编解码方案可能应用到音频终端(例如有线或无线通信终端)中,也可能应用到有线或无线网络中的网络设备中。
118.其中,图1a和图1b示出音频编解码方案应用到音频终端的场景,其中,音频终端的具体产品形态可以是图1a中图终端1、终端2或终端3等,但也不限于此。例如音频通信中发
送终端中的音频采集器可采集音频信号,音频编码器可将音频采集器采集到的音频信号进行编码编码,信道编码器对音频编码器编码得到的音频编码信号进行信道编码得到码流,码流通过无线网络或无线网络进行传输。相应的,接收终端中的信道解码器对接收到的码流进行信道解码,再经音频解码器解码出音频信号,之后则可由音频回放器进音频回放。
119.参见图1c、图1d和图1e,有线或无线网络中的网络设备如需实现转码,则网络设备可进行相应的音频编解码处理。
120.参见图1f,本技术音频编解码方案还可应用在广播关播电视领域,一种广播电视领域应用的系统架构可如图1f举例所示。直播场景下,直播节目三维声制作出的三维声信号经过应用本技术方案的三维声编码获得码流,经广电网络传输到用户侧,由机顶盒中的三维声解码器进行解码重建三维声信号,由扬声器组进行回放。后期制作场景下,后期节目三维声制作出的三维声信号经过应用本技术方案的三维声编码获得码流,经广电网络或者互联网传输到用户侧,由网络接收器或者移动终端中的三维声解码器进行解码重建三维声信号,由扬声器组或者耳机进行回放。
121.此外,本技术音频编解码方案还可适用于虚拟现实(vr streaming)服务中的音频编解码模块(audio encoding/audio decoding)。
122.例如,端到端对音频信号的处理流程可为:音频信号a经过采集模块(acquisition)后进行预处理操作(audio preprocessing),预处理操作包括滤除掉信号中的低频部分,通常是以20hz或50hz为分界点,提取信号中的方位信息,之后进行编码处理(audio encoding)并且打包(file/segment encapsulation)之后发送(delivery)到解码端。相应的,解码端首先进行解包(file/segment decapsulation),之后解码(audio decoding),对解码信号进行双耳渲染(audio rendering)处理,渲染处理后的信号映射到收听者耳机(headphones)上,可为独立的耳机,也可为htc vive等眼镜设备上的耳机。
123.具体来说,本技术音频编解码方案可应用到的实际产品可包括无线接入网设备、核心网的媒体网关、转码设备、媒体资源服务器,移动终端、固网终端等。还可以应用于vr streaming服务中的音频编解码器。
124.下面具体介绍一些音频数据的编解码方案。
125.参见图2,图2为本技术实施例提供的一种音频数据编码方法的流程示意图。一种音频数据编码方法(对应编码端)可包括:
126.201.获取待编码的音频数据。
127.其中,本技术实施例提到的音频数据例如可为音频信号和/或音频特征等。
128.其中,待编码音频信号可为时域音频信号;待编码音频信号也可为时域信号经过时频变换后得到的频域信号,例如频域信号可为时域音频信号经过mdct变换后的频域信号,时域音频信号经过fft变换后的频域信号;待编码信号也可为qmf滤波后的信号;待编码信号还可为残差信号,例如其他编码的残差信号或者lpc滤波后的残差信号等。待编码音频特征可为基于音频信号提取的特征,例如梅尔倒谱系数或者通过神经网络获得的潜在变量。
129.202.利用编码神经网络对所述待编码的音频数据进行处理以生成第一潜在变量。
130.其中,编码神经网络可以是预先训练好的,本技术对编码神经网络的具体网络结构和训练方法不做限定。利用编码神经网络对所述待编码的音频数据进行处理,可以是将
待编码的音频数据直接作为编码神经网络的输入,也可以是待编码的音频数据进行预处理后,将处理后的音频数据作为编码神经网络的输入。第一潜在变量可以是编码神经网络的输出,也可以是对编码神经网络的输出进行后处理后获得的。
131.203.对所述第一潜在变量进行量化处理以得到第二潜在变量。
132.204.根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数。
133.其中,在实际应用中,根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数的方式可为多种多样的。
134.例如根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数可包括:确定第三潜在变量中满足预设条件的元素,所述第三潜在变量是通过对所述第二潜在变量进行去量化处理而得到;根据所述第一潜在变量和所述第三潜在变量得到所述满足预设条件的元素的量化误差;根据所述量化误差得到所述潜在变量补偿参数。
135.又例如根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数可包括:确定所述第二潜在变量中满足预设条件的元素;根据所述第一潜在变量和第三潜在变量得到所述满足预设条件的元素的量化误差,其中,所述第三潜在变量是通过对所述第二潜在变量进行去量化处理而得到;根据所述量化误差得到所述潜在变量补偿参数。
136.又例如根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数可包括:确定所述第二潜在变量中满足预设条件的元素,根据所述第一潜在变量和所述第二潜在变量得到所述满足预设条件的元素的量化误差,根据所述量化误差得到所述潜在变量补偿参数。
137.根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数的其他实现方式在此不再赘述。
138.205.将所述潜在变量补偿参数进行编码,并且将所述潜在变量补偿参数的编码结果写入码流。
139.举例来说,将所述潜在变量补偿参数进行编码后写入码流可包括:将所述潜在变量补偿参数进行标量量化或矢量量化,以得到潜在变量补偿参数的量化索引,将潜在变量补偿参数的量化索引编码后写入码流。当然,也可将所述潜在变量补偿参数进行量化后,对量化结果进行熵编码,将编码结果写入码流。
140.206.将所述第二潜在变量进行编码,并将所述第二潜在变量的编码结果写入码流。
141.举例来说,将所述第二潜在变量进行编码后写入码流,可包括:采用可调熵编码模型对所述第二潜在变量进行算数编码后写入码流,或者采用预置概率分布的熵编码模型对所述第二潜在变量进行算数编码后写入码流。
142.可以理解,步骤206与步骤204-205之间没有必然先先后顺序,步骤206的执行可先于步骤204-205,或可晚于步骤204-205,或也可并行于步骤204-205。
143.其中,上述音频数据处理方式可应用于包含或不包含上下文模型的ai编解码器。
144.可以理解,上述预设条件可以是多种多样的,可根据具体场景需要来设置满足需要的预设条件。
145.例如第三潜在变量或第二潜在变量包括第一元素,其中,满足预设条件可包括:所述第一元素的值小于或等于预设值。当所述所述第一元素是所述第二潜在变量中的元素
时,所述所述第一元素的值是量化值。或当所述所述第一元素是所述第三潜在变量中的元素时,所述所述第一元素的值是去量化值。
146.在一些可能实施方式中,根据所述第一潜在变量和所述第二潜在变量得到所述满足条件的元素的量化误差可包括:根据所述第一潜在变量中第一元素的第一值以及所述第二潜在变量中所述第一元素的第二值确定所述第一元素的量化误差。此处,所述第一元素的量化误差例如可为第一值和第二值的差值或差值的绝对值等。
147.在一些可能实施方式中,根据所述第一潜在变量和所述第三潜在变量得到所述满足预设条件的元素的量化误差包括:根据所述第一潜在变量中所述第一元素的第一值以及所述第三潜在变量中所述第一元素的第三值确定所述第一元素的量化误差。此处,所述第一元素的量化误差例如可为第一值和第三值的差值或差值的绝对值等。
148.可以理解,不同结构的编码神经网络输出的潜在变量的形式可能不同。
149.本技术实施例方案中,编码神经网络具体可为全连接神经网络或卷积神经网络或其他神经网络。当编码神经网络为卷积神经网络,此卷积神经网络的通道数量可为1个、2个、3个或4个或更多个。
150.举例来说,当所述编码神经网络为卷积神经网络,并且,所述卷积神经网络仅包括一个通道。所述潜在变量补偿参数可为标量,其中,所述标量用于指示所述第二潜在变量中满足预设条件的所有元素的量化误差,或所述标量用于指示所述第三潜在变量中满足预设条件的所有元素的量化误差。
151.又例如,当编码神经网络为卷积神经网络,所述卷积神经网络包括至少两个通道,所述第二潜在变量与所述至少两个通道对应,所述至少两个通道包括第一通道,所述第二潜在变量是一个m
×
n矩阵。
152.其中,所述潜在变量补偿参数可为标量,所述标量用于指示所述第二潜在变量中满足预设条件的所有元素的量化误差。
153.或者,所述潜在变量补偿参数为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量元素中的第一矢量元素与所述第一通道对应,所述第一矢量元素用于指示所述m
×
n矩阵的子矩阵中满足预设条件的所有元素的量化误差,所述第一通道对应于所述子矩阵,其中,所述子矩阵的元素数量小于m
×
n。
154.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,其中所述第二潜在变量与所述至少三个通道对应,例如所述第二潜在变量是一个m
×
n矩阵。
155.所述潜在变量补偿参数为矢量,所述矢量的维数小于所述卷积神经网络的通道数,所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,其中,所述第一矢量元素用于指示所述m
×
n矩阵的第一子矩阵中满足预设条件的所有元素的量化误差,所述第一矢量元素还用于指示所述m
×
n矩阵的第二子矩阵中满足预设条件的所有元素的量化误差,其中,所述第一子矩阵与所述第一通道对应,所述第二子矩阵与所述第二通道对应,所述第一子矩阵的元素数量小于m
×
n,所述第二子矩阵的元素数量小于m
×
n。
156.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少
两个通道,所述第三潜在变量与所述至少两个通道对应,所述至少两个通道包括第一通道,所述第三潜在变量是一个m
×
n矩阵。
157.其中,所述潜在变量补偿参数为标量,所述标量用于指示所述第三潜在变量中满足预设条件的所有元素的量化误差。
158.或者,所述潜在变量补偿参数为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量元素中的第一矢量元素与所述第一通道对应,所述第一矢量元素用于指示所述m
×
n矩阵的子矩阵中满足预设条件的所有元素的量化误差,其中,所述第一通道对应所述子矩阵,所述子矩阵的元素数量小于m
×
n。
159.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,其中,所述第三潜在变量与所述至少三个通道对应,其中,所述第三潜在变量是一个m
×
n矩阵。
160.所述潜在变量补偿参数为矢量,所述矢量的维数小于所述卷积神经网络的通道数,所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,其中,所述第一矢量元素用于指示所述m
×
n矩阵的第一子矩阵中满足预设条件的所有元素的量化误差,所述第一矢量元素还用于指示所述m
×
n矩阵的第二子矩阵中满足预设条件的所有元素的量化误差,其中,所述第一子矩阵与所述第一通道对应,所述第二子矩阵与所述第二通道对应。所述第一子矩阵的元素数量小于m
×
n,所述第二子矩阵的元素数量小于m
×
n。
161.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少两个通道,所述第二潜在变量与所述至少两个通道中的第一通道对应。
162.其中,所述潜在变量补偿参数为标量,所述标量用于指示与所述至少两个通道对应的至少两个潜在变量中满足预设条件的所有元素的量化误差,所述至少两个潜在变量包括所述第二潜在变量;
163.或者,所述潜在变量补偿参数为矢量,其中,所述矢量的维数可等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量中的与所述第一通道对应的矢量元素用于指示所述第二潜在变量中满足预设条件的所有元素的量化误差。
164.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,所述第二潜在变量与所述至少三个通道中的第一通道对应。
165.其中,所述潜在变量补偿参数为矢量,其中,所述矢量的维数小于所述卷积神经网络的通道数,其中,所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和所述第一通道,所述第一矢量元素用于指示所述第二潜在变量中满足预设条件的所有元素的量化误差,所述第一矢量元素还用于指示所述第二通道对应的另一潜在变量中满足预设条件的所有元素的量化误差。
166.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少两个通道,所述第三潜在变量与所述至少两个通道中的第一通道对应。
167.其中,所述潜在变量补偿参数为标量,所述标量用于指示与所述至少两个通道对应的至少两个潜在变量中满足预设条件的所有元素的量化误差,所述至少两个潜在变量包
括所述第三潜在变量;
168.或,所述潜在变量补偿参数为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,与所述第一通道对应的矢量元素用于指示所述第三潜在变量中满足预设条件的所有元素的量化误差。
169.又例如,当所述编码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,所述第三潜在变量与所述至少三个通道中的第一通道对应。
170.其中,所述潜在变量补偿参数为矢量,其中,所述矢量的维数小于所述卷积神经网络的通道数,其中,所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,所述第一矢量元素用于指示所述第三潜在变量中满足预设条件的所有元素的量化误差,所述第一矢量元素还用于指示所述第二通道对应的另一潜在变量中满足预设条件的所有元素的量化误差。
171.在一些可能的实施方式中,当所述第一矢量元素与所述第一通道和所述第二通道具有对应关系,那么也将第一矢量元素与所述第一通道和所述第二通道的对应关系写入码流。当然如果编码端和解码段默认采用的元素与通道的对应关系相同,那么第一矢量元素与所述第一通道和所述第二通道的对应关系也可不写入码流。
172.可以看出,本技术实施例提供的技术方案中,编码端可根据潜在变量的量化误差得到潜在变量补偿参数(即潜在变量补偿参数能够指示出编码端对潜在变量进行量化造成的相关量化误差),将潜在变量补偿参数编码后写入码流。这使得解码端根据潜在变量补偿参数来对相关潜在变量进行补偿处理变得有基础,进而有利于降低解码神经网络输入数据的失真,从而有利于提升最终解码信号的质量。具体例如有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
173.下面介绍与图2所示举例编码端方案对应解码端的相关方案。
174.参见图3,图3为本技术实施例的另一种音频数据解码方法的流程示意图。另一种音频数据解码方法(对应解码端)可以包括:
175.301.从码流中解码出潜在变量补偿参数和第二潜在变量,所述第二潜在变量中的当前元素的值是量化值。
176.302.对所述第二潜在变量进行去量化处理得到第三潜在变量。
177.或者,也可利用特定解码器直接从码流中解码得到第三潜在变量,这种情况下,无需执行从码流中解码出第二潜在变量,并对所述第二潜在变量进行去量化处理来得到第三潜在变量的步骤。
178.303.根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量。
179.其中,潜在变量补偿参数可用于指示出编码端对潜在变量进行量化的量化误差。
180.304.利用解码神经网络对所述重构的第一潜在变量进行处理以生成解码音频数据。
181.其中,解码神经网络处理是预先训练好的,本技术对解码神经网络的具体网络结构和训练方法不做限定。
182.举例来说,根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量,可包括:根据所述第二潜在变量或第三潜在变量确定所述第三潜在
变量中满足预设条件的元素;根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量。
183.其中,根据第二潜在变量或第三潜在变量确定所述第三潜在变量中满足预设条件的元素可包括:确定所述第二潜在变量中满足预设条件的元素;其中,所述第三潜在变量中满足预设条件的元素,与所述第二潜在变量中满足预设条件的元素的位置对应。或可直接根据第三潜在变量确定所述第三潜在变量中满足预设条件的元素。
184.在实际应用中,根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量的方式可以多多种多样的。例如,根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量,可包括:
185.产生随机噪声;根据所述潜在变量补偿参数对产生的所述随机噪声进行幅度或能量调整得到幅度或能量调整后的随机噪声;根据所述幅度或能量调整后的随机噪声对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量。
186.可以理解,上述预设条件可以是多种多样的,可根据具体场景需要来设置满足需要的预设条件。
187.例如第三潜在变量或第二潜在变量包括第一元素,满足预设条件可包括:所述第一元素的值小于或等于预设值。当所述所述第一元素是所述第二潜在变量中的元素时,所述所述第一元素的值是量化值。或当所述所述第一元素是所述第三潜在变量中的元素时,所述所述第一元素的值是去量化值。
188.可以理解,不同结构的解码码神经网络处理的潜在变量的形式可能不同。
189.本技术实施例方案中,解码神经网络具体可为全连接神经网络或卷积神经网络或其他神经网络。当解码神经网络为卷积神经网络,此卷积神经网络的通道数量可为1个、2个、3个或4个或更多个。
190.举例来说,当解码神经网络为卷积神经网络,卷积神经网络仅包括一个通道;所述潜在变量补偿参数为标量,其中,所述标量用于对所述第三潜在变量中满足预设条件的所有元素进行补偿。
191.又例如,当解码神经网络为卷积神经网络,所述卷积神经网络包括至少两个通道,所述第三潜在变量与所述至少两个通道对应,所述至少两个通道包括第一通道,所述第三潜在变量是一个m
×
n矩阵。
192.其中,所述潜在变量补偿参数可为标量,所述标量用于对所述第三潜在变量中满足预设条件的所有元素进行补偿。
193.或者,所述潜在变量补偿参数可为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量元素中的第一矢量元素与所述第一通道对应,所述第一矢量元素用于对所述m
×
n矩阵的子矩阵中满足预设条件的所有元素的进行补偿,所述第一通道对应所述子矩阵,其中,所述子矩阵的元素数量小于m
×
n。
194.又例如,当所述解码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少三个通道,第三潜在变量与所述至少三个通道对应,第三潜在变量是一个m
×
n矩阵。其中,所述潜在变量补偿参数为矢量,所述矢量的维数小于所述卷积神经网络的通道数,所述矢
量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,所述第一矢量元素用于对所述m
×
n矩阵的第一子矩阵中满足预设条件的所有元素进行补偿,所述第一矢量元素还用于对所述m
×
n矩阵的第二子矩阵中满足预设条件的所有元素进行补偿,其中,所述第一子矩阵与所述第一通道对应,所述第二子矩阵与所述第二通道对应,所述第一子矩阵的元素数量小于m
×
n,所述第二子矩阵的元素数量小于m
×
n。
195.又例如,当所述解码神经网络为卷积神经网络,其中,所述卷积神经网络包括至少两个通道,所述第三潜在变量与所述至少两个通道中的第一通道对应。
196.其中,所述潜在变量补偿参数为标量,所述标量用于对所述至少两个通道对应的至少两个潜在变量中满足预设条件的所有元素进行补偿,其中,所述至少两个潜在变量包括所述第三潜在变量。或,所述潜在变量补偿参数为矢量,其中,所述矢量的维数等于所述卷积神经网络的通道数,所述矢量中的矢量元素与所述至少两个通道一一对应,所述矢量中的与所述第一通道对应的矢量元素用于对所述第三潜在变量中满足预设条件的所有元素进行补偿。
197.又例如,当解码神经网络为卷积神经网络,所述卷积神经网络包括至少三个通道,所述第三潜在变量与所述至少三个通道中的第一通道对应。所述潜在变量补偿参数为矢量,所述矢量的维数小于所述卷积神经网络的通道数,所述矢量中的第一矢量元素与所述至少三个通道中的至少两个通道对应,所述至少两个通道包括第二通道和第一通道,所述第一矢量元素用于对所述第三潜在变量中满足预设条件的所有元素进行补偿,所述第一矢量元素还用于所述第二通道对应的另一潜在变量中满足预设条件的所有元素进行补偿。
198.可以看出,本技术实施例提供的方案,由于编码端将潜在变量补偿参数写入码流,而潜在变量补偿参数能够指示出编码端对潜在变量进行量化造成的相关量化误差。解码端获取码流之后,可以根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的量化误差进行补偿处理,进而有利于降低解码神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。例如有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
199.下面通过一些更为具体的实施例进行举例说明。
200.参见图4a,图4a为本技术实施例提供的另一音频编码处理方法的流程示意图。本实施例方案中以编码神经网络为卷积神经网络为例来说明。其中,另一种音频数据编码方法(对应编码端)可以包括:
201.401.音频编码器获取待编码音频数据。
202.其中,待编码音频数据可以是待编码音频信号或者待编码音频特征。
203.其中,待编码音频信号可为时域音频信号;待编码音频信号也可为时域信号经过时频变换后得到的频域信号,例如频域信号可为时域音频信号经过mdct变换后的频域信号,时域音频信号经过fft变换后的频域信号;待编码信号也可为qmf滤波后的信号;待编码信号还可为残差信号,例如其他编码的残差信号或者lpc滤波后的残差信号等。待编码音频特征可为基于音频信号提取的特征,例如梅尔倒谱系数或者通过神经网络获得的潜在变量。
204.402.音频编码器利用卷积神经网络对待编码的音频数据进行处理以生成第一潜
在变量。
205.其中,卷积神经网络(cnn网络)输出的第一潜在变量为一个n*m维矩阵,其中n为cnn网络的通道数(channel),m为cnn网络的每个通道潜在变量的大小(latent size),参见图4b举例所示,图4b给出了cnn网络的潜在变量的一种示意,通道序号可以从1开始计数或也可以从0开始计数,各个通道内潜在变量的元素序号也一样。
206.403.音频编码器对第一潜在变量进行量化以得到第二潜在变量。
207.可以理解,第一潜在变量中的元素(element)的值是未量化值,而第二潜在变量中的元素的值是量化值。
208.例如可以对第一潜在变量的每个元素进行标量量化。标量量化的量化步长可以根据不同的编码速率来确定。标量量化还可以存在偏置量,例如待量化的潜在变量经过偏置处理后再按照确定好的量化步长进行标量量化。对潜在变量进行量化的量化方法还可以使用其他量化技术实现,本技术不做限定。
209.404.音频编码器根据第一潜在变量和第二潜在变量得到潜在变量补偿参数。
210.其中,潜在变量的形式不同,得到潜在变量补偿参数的具体方式也可能不同,基本原理是根据潜在变量中满足预设条件的元素的量化误差,确定潜在变量补偿参数的值。潜在变量补偿参数可以指示出潜在变量中满足预设条件的元素的量化误差。
211.一种可能实现方式是,将所有满足条件的元素的量化误差的平均值作为潜在变量补偿参数的值。另一种可能实现方式是,将所有满足条件的元素的量化误差的加权平均值作为潜在变量补偿参数的值,加权值的大小可与元素的序号相关。其中,满足预设条件的元素,可以是第二潜在变量中满足预设条件的元素。第二潜在变量中满足预设条件的元素可以是元素的值为最小量化值的元素,或者可以是元素的值为量化范围的中间值的元素,或者还可以是元素的值小于等于预先设定的阈值的元素。其中,当量化范围的取值包括正数和负数,可选择将量化值是否为量化范围的中间值作为条件。例如量化后的值,取值范围为-10到10之间的整数,量化范围的中间值为0,则可选择量化值为0的元素的量化误差来统计量化误差的平均值。满足预设条件的元素,也可以是第三潜在变量中满足预设条件的元素。第三潜在变量是通过对第二潜在变量进行去量化处理而得到。同样地,第三潜在变量中满足预设条件的元素可以是元素值等于去量化值的最小值的元素,或者可以是元素值等于预设值的元素,或者还可以是元素值小于等于预先设定的阈值的元素。
212.本技术各实施例中提到的量化误差,可以是待量化的原始值与量化值之间的幅度差或者能量差或其绝对值等,或者也可以是待量化的原始值与去量化值之间的幅度差或者能量差或其绝对值等。
213.当编码神经网络为cnn网络时,一种提取潜在变量补偿参数的方法可为:在统计所有通道的潜在变量中满足条件的元素的量化误差,根据所有通道的潜在变量中满足条件的元素的量化误差确定平均量化误差,作为潜在变量补偿参数的值。当编码神经网络为cnn网络,cnn网络输出的第一潜在变量为n*m维矩阵,记l(n,k),n=0,1,

n-1,k=0,1,

m-1。n为cnn网络的通道数,m为潜在变量的大小(latent size),即每个通道潜在变量的维数。第三潜在变量记作潜在变量补偿参数nf为标量。计算潜在变量补偿参数nf的一种可能的伪代码可以如下所示。其中,eps1表示是一个预设的极小值,th1为预设值。
[0214][0215][0216]
当编码神经网络为cnn网络时,另一种提取潜在变量补偿参数的方法可为:在各个通道中分别确定潜在变量中满足条件的元素的量化误差,根据满足条件的元素的量化误差确定平均量化误差,作为该通道对应的潜在变量补偿参数的值。例如,假设编码神经网络为cnn网络时,编码神经网络输出的第一潜在变量为n*m维矩阵,记作l(n,k),n=0,1,

n-1,k=0,1,

m-1。n为cnn网络的通道数,m为潜在变量的大小(latent size)。eps1为是一个预设的极小值,th1为预设值。第三潜在变量记作其中,潜在变量补偿参数nf(n),n=0,1,

n-1,nf(n)为矢量,其维数等于cnn网络的通道数,计算潜在变量补偿参数nf的一种可能的伪代码可如下举例所示。
[0217][0218][0219]
当编码神经网络为cnn网络时,提取潜在变量补偿参数的方法还可以是:当潜在变量补偿参数为矢量,矢量的维数小于卷积神经网络的通道数时,潜在变量补偿参数的第一矢量元素可以与潜在变量的至少两个通道对应。确定潜在变量中与第一矢量元素对应的通道中满足条件的元素,根据满足条件的元素的量化误差确定平均量化误差作为潜在变量补偿参数的第一矢量元素的值。
[0220]
具体例如,假设编码神经网络为cnn网络时,编码神经网络输出的第一潜在变量为n*m维矩阵,记作l(n,k),n=0,1,

n-1,k=0,1,

m-1。n为cnn网络的通道数,m为潜在变量的大小(latent size)。潜在变量补偿参数nf(j),j=0,1,

p-1为矢量,矢量的维数p小于cnn网络的通道数n。潜在变量补偿参数的第j个矢量元素nf(j)与cnn网络中从第add(j)到第add(j 1)-1的通道对应。add为潜在变量补偿参数矢量元素与cnn网络通道之间的对应关系,可以是预先存储的表格。其中add(j)为与潜在变量补偿参数的第j个矢量元素对应的通道序号的最小值。计算潜在变量补偿参数的第一矢量元素nf(j)的一种可能的伪代码可如下举例所示:
[0221][0222]
需要指出的是,当编码神经网络为cnn网络之时,关于误差和err计算以及nf的计算可以在能量域或幅度域进行。
[0223]
405.将所述潜在变量补偿参数进行编码,并且将所述潜在变量补偿参数的编码结果写入码流。
[0224]
举例来说,将所述潜在变量补偿参数进行编码,并且将所述潜在变量补偿参数的编码结果可包括:将所述潜在变量补偿参数进行标量量化或矢量量化以得到潜在变量补偿参数的量化索引,对潜在变量补偿参数的量化索引进行编码,将潜在变量补偿参数的量化索引的编码结果写入码流。
[0225]
当然,也可将所述潜在变量补偿参数进行量化后,对量化后的潜在变量补偿参数进行熵编码,将编码结果写入码流。
[0226]
406.将所述第二潜在变量进行编码,并将所述第二潜在变量的编码结果写入码流。
[0227]
举例来说,将所述第二潜在变量进行编码,可包括:采用可调熵编码模型对所述第二潜在变量进行算数编码,或者,采用预置概率分布的熵编码模型对所述第二潜在变量进
行算数编码。
[0228]
可以理解,步骤406与步骤404-405之间没有必然先先后顺序,步骤405的执行可先于步骤404-405,或可晚于步骤404-405,或也可并行于步骤404-405。
[0229]
可以看出,本技术实施例提供的方案,在编码端,根据潜在变量的相关量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码后写入码流。这使得解码端根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的量化误差进行补偿有基础,进而有利于降低解码端卷积神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0230]
下面介绍与图4a所描述编码端方案所对应的解码端的相关方案。
[0231]
参见图5,图5为本技术实施例提供的另一音频数据解码方法的流程示意图。本实施例以解码神经网络为卷积神经网络为例。另一种音频数据解码方法(对应解码端)可以包括:
[0232]
501.音频解码器从接收到的码流中解码出潜在变量补偿参数和第二潜在变量(第二潜在变量中的元素的值是量化值)。
[0233]
其中,解码潜在变量补偿参数的过程为潜在变量补偿参数量化编码的逆过程。例如可从码流中解析出潜在变量补偿参数的量化索引,根据量化索引采用与编码端对应的去量化方法即可得到潜在变量补偿参数。
[0234]
其中,解码第二潜在变量的过程,是编码端对第二潜在变量编码的逆过程。例如根据码流进行熵解码,得到第二潜在变量。
[0235]
502.音频解码器对所述第二潜在变量进行去量化处理得到第三潜在变量。
[0236]
其中,音频解码器得到去量化后的潜在变量的过程,是编码端对潜在变量进行量化的逆过程。例如对标量量化后的潜在变量进行去量化处理,得到去量化后的潜在变量。
[0237]
503.音频解码器根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量。
[0238]
举例来说,根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量,可包括:根据所述第二潜在变量或第三潜在变量确定所述第三潜在变量中满足预设条件的元素;根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量。
[0239]
在实际应用中,根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量的方式可以多多种多样的。例如,根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量,可包括:
[0240]
产生随机噪声;根据所述潜在变量补偿参数对产生的所述随机噪声进行幅度或能量调整得到幅度或能量调整后的随机噪声;根据所述幅度或能量调整后的随机噪声对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量。
[0241]
具体例如,假设解码神经网络为cnn网络时,第三潜在变量为n*m维矩阵,第三潜在变量例如记作n为cnn网络通道数,m为潜在变量大小,m即每个通道的潜在变量的维数。潜在变量补偿参数为标量,记为nf,根据潜在变量补偿参数对第三潜在变量进行补偿处理以得到重构的第一潜在变量的一种可能的伪代
码可如下举例所示。其中,fac是控制补偿程度的参数,一般是预设常数,th1为最小去量化值。
[0242][0243]
其中,上述伪代码中nf参数是以幅度表征的。如果nf参数是以能量表征的,在对噪声进行幅度调整的时候,则可以先将nf转换到幅度域再对噪声进行幅度调整,也就是
[0244]
如果潜在变量补偿参数是维数为n的矢量,n为cnn网络通道数,也就是解码端的潜在变量补偿参数是nf(n),以nf(n)是以幅度表征的参数为例,根据潜在变量补偿参数对第三潜在变量进行补偿处理以得到重构的第一潜在变量的一种可能伪代码可如下举例所示。
[0245][0246][0247]
其中,fac是控制补偿程度的参数,一般是预设常数,th1为最小去量化值。
[0248]
若潜在变量补偿参数是维数为p的矢量,矢量的维数p小于cnn网络的通道数n。解码端的潜在变量补偿参数是nf(j),j=0,1,

p-1,根据潜在变量补偿参数对第三潜在变量进行补偿处理以得到重构的第一潜在变量的一种可能的伪代码可如下举例所示:
[0249][0250]
其中,nf(j)对应于幅度域。
[0251]
当然还可以采用其他类似的补偿方法,此处不再一一举例。
[0252]
补偿后的潜在变量第三潜在变量可以直接作为重构的第一潜在变量,也可以对补偿后的潜在变量进行其他后处理后,将后处理后的潜在变量作为重构的第一潜在变量。
[0253]
504.音频解码器利用解码神经网络对所述重构的第一潜在变量进行处理以生成解码音频数据。
[0254]
可以理解,解码神经网络与编码端的编码神经网络是配套的,均是预先训练好的。基于重构的第一潜在变量,利用解码神经网络进行处理。解码神经网络的输出可以直接作为解码音频信号输出。解码神经网络的输出可以是恢复出的时域音频信号,也可为频域信号。如果是频域信号,则要经过频域到时域的变换后得到时域音频信号。解码神经网络的输出还可以是音频残差信号。如果是音频残差信号,解码神经网络处理之后还需要进行其他相应处理才能得到解码音频信号。本技术对此不进行限定。
[0255]
可以看出,本技术实施例提供的方案,由于在编码端根据潜在变量的量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码后写入码流。解码端获取码流后,可根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差进行补偿处理变得可能,有利于降低解码端卷积神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0256]
参见图6a,图6a为本技术实施例提供的另一种音频数据编码方法的流程示意图。本实施例以编码神经网络为全连接网络为例。其中,另一种音频数据编码方法(对应编码端)可以包括:
[0257]
601.音频编码器获取待编码音频数据。
[0258]
602.音频编码器利用全连接网络对待编码的音频数据进行处理以生成第一潜在
变量。
[0259]
其中,全连接网络输出的第一潜在变量为一个m维矢量,矢量的维数m是第一潜在变量的大小(latent size),参见图6b举例所示,图6b给出了全连接网络的潜在变量的一种可能的示意。
[0260]
603.音频编码器对第一潜在变量进行量化以得到第二潜在变量(第二潜在变量中的元素的值是量化值)。
[0261]
例如可以第一对潜在变量的每个元素进行标量量化。标量量化的量化步长可以根据不同的编码速率来确定。标量量化还可以存在偏置量,例如待量化的潜在变量经过偏置处理后再按照确定好的量化步长进行标量量化。对潜在变量进行量化的量化方法还可以使用其他的现有量化技术实现,本技术不做限定。
[0262]
604.音频编码器根据第一潜在变量和第二潜在变量得到潜在变量补偿参数。
[0263]
其中,当编码神经网络为全连接网络时,全连接网络输出的潜在变量即第一潜在变量为一维矢量,可以记作l(k),k=0,1,

m-1。m为潜在变量的大小。
[0264]
其中,根据第二潜在变量进行去量化处理后得到去量化后的潜在变量,即第三潜在变量记作计算潜在变量补偿参数nf的具体方法可以包括:如果等于最小去量化值(最小去量化值例如为0),则计算当前元素位置的量化误差将满足等于最小量化值的所有元素对应的量化误差进行平均,将该平均误差作为潜在变量补偿参数。
[0265]
计算潜在变量补偿参数nf的一种伪代码可如下举例所示。其中,eps1为是一个预设的极小值,th1为最小去量化值。
[0266]
[0267][0268]
又例如,当编码神经网络为全连接网络时,提取潜在变量补偿参数的方法中,关于量化误差err的计算除了根据未量化值与去量化值之差的绝对值来计算,也还可以根据未量化值与去量化值之差的能量来进行计算。例如计算潜在变量补偿参数nf的另一种伪代码可下举例所示。其中,eps1可以是一个预设的极小值,th1为最小去量化值。
[0269][0270]
另外,当err的计算是以能量的维度进行的,如基于之和或者之和,潜在变量补偿参数nf,可以是平均误差能量,如nf=err/num,也可以是平均误差的幅度,例如,nf参数还可以在对数域计算。
[0271]
605.音频编码器将所述潜在变量补偿参数进行编码,并且将所述潜在变量补偿参数的编码结果写入码流。
[0272]
举例来说,将所述潜在变量补偿参数进行编码,并且将所述潜在变量补偿参数的编码结果可包括:将所述潜在变量补偿参数进行标量量化或矢量量化以得到潜在变量补偿
参数的量化索引,对潜在变量补偿参数的量化索引进行编码,将潜在变量补偿参数的量化索引的编码结果写入码流。
[0273]
当然,也可将所述潜在变量补偿参数进行量化后,对量化后的潜在变量补偿参数进行熵编码,将编码结果写入码流。
[0274]
606.音频编码器将所述第二潜在变量进行编码,并将所述第二潜在变量的编码结果写入码流。
[0275]
举例来说,将所述第二潜在变量进行编码,可包括:采用可调熵编码模型对所述第二潜在变量进行算数编码,或者,采用预置概率分布的熵编码模型对所述第二潜在变量进行算数编码。
[0276]
可以理解,步骤606与步骤604-605之间没有必然先先后顺序,步骤606的执行可先于步骤604-605,或可晚于步骤604-605,或也可并行于步骤604-605。
[0277]
可以看出,本技术实施例提供的方案,在编码端,根据潜在变量的相关量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码后写入码流。这使得解码端根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差补偿变得可能,进而有利于降低解码端全连接网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0278]
下面介绍与图6a所描述编码端方案所对应的解码端的相关方案。
[0279]
参见图7,图7为本技术实施例提供的另一种音频数据解码方法的流程示意图。本实施例以解码神经网络为全连接网络为例。另一种音频数据解码方法(对应解码端)可包括:
[0280]
701.音频解码器从接收到的码流中解码出潜在变量补偿参数和第二潜在变量(第二潜在变量中的元素的值是量化值)。
[0281]
其中,音频解码器得到去量化后的潜在变量的过程,是编码端对潜在变量进行量化的逆过程。例如对量化后的潜在变量进行去量化处理,得到去量化后的潜在变量。
[0282]
702.音频解码器对所述第二潜在变量进行去量化处理得到第三潜在变量。
[0283]
其中,音频解码器得到去量化后的潜在变量的过程,是编码端对潜在变量进行量化以及编码的逆过程。例如根据码流进行算数解码,得到量化后的潜在变量。然后对量化后的潜在变量进行去量化处理,得到去量化后的潜在变量。
[0284]
703.音频解码器根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量。
[0285]
举例来说,根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量,可包括:根据所述第二潜在变量或第三潜在变量确定所述第三潜在变量中满足预设条件的元素;根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量。
[0286]
在实际应用中,根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量的方式可以多多种多样的。例如,根据所述潜在变量补偿参数对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量,可包括:
[0287]
产生随机噪声;根据所述潜在变量补偿参数对产生的所述随机噪声进行幅度或能
量调整得到幅度或能量调整后的随机噪声;根据所述幅度或能量调整后的随机噪声对所述第三潜在变量中满足预设条件的元素进行补偿处理以得到重构的第一潜在变量。
[0288]
具体例如,假设解码神经网络为全连接网络时,第三潜在变量为m维矢量,例如记作m为潜在变量大小。潜在变量补偿参数为标量,记为nf,以nf是以幅度表征的参数为例,根据潜在变量补偿参数对第三潜在变量进行补偿处理以得到重构的第一潜在变量的一种可能的伪代码:
[0289][0290]
其中,fac是控制补偿程度的参数,一般是预设常数,th1为最小去量化值。
[0291]
704.音频解码器利用全连接网络对所述重构的第一潜在变量进行处理,以生成解码音频数据。
[0292]
可以看出,本技术实施例提供的方案,由于编码端根据潜在变量的量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码后写入码流。解码端获取码流后,可根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差进行补偿处理变得可能,进而有利于降低解码端全连接网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0293]
下面介绍一种在包含上下文模型的ai编码器中应用本技术方案的示例。
[0294]
参见图8a和图8b,图8a和图8b为本技术实施例提供的另一种音频数据编码方法的流程示意图。一种音频数据编码方法(对应编码端)可以包括:
[0295]
801.音频编码器对音频信号经过加窗处理以得到当前帧音频信号。
[0296]
802.音频编码器对当前帧音频信号进行mdct变换处理以得到当前帧的频域信号。
[0297]
803.音频编码器利用编码神经网络对当前帧的频域信号进行处理以输出第一潜在变量。
[0298]
其中,一种实现方式可为:直接将当前帧的频域信号作为编码神经网络的输入。另一种可选的实施方式是:对当前帧的频域信号进行预处理,将预处理后的信号作为编码神经网络的输入,预处理可以包括fdns、tns等处理。
[0299]
804.音频编码器利用上下文模型对第一潜在变量进行处理以得到上下文码流,并确定熵编码模型参数σ。
[0300]
其中,第一潜在变量经过上下文编码神经网络处理,得到上下文模型的潜在变量,上下文模型的潜在标量表征了编码网络的潜在变量的概率分布。
[0301]
潜在变量可以直接作为上下文编码神经网络处理的输入,或者先对潜在变量中每一个元素取绝对值,再作为上下文编码神经网络处理的输入。
[0302]
对上下文模型的潜在变量进行量化,并对量化后的上下文模型的潜在变量进行算数编码,得到上下文码流,写入码流。
[0303]
根据上下文码流进行算数解码,并进行去量化处理,得到去量化后的上下文模型的潜在变量。
[0304]
其中,去量化后的上下文模型的潜在变量经过上下文解码神经网络处理,得到熵编码模型参数σ。
[0305]
805.对第一潜在变量进行量化处理以得到第二潜在变量。
[0306]
806.根据第一潜在变量和第二潜在变量得到潜在变量补偿参数,并对潜在变量补偿参数进行量化编码后写入码流。
[0307]
根据第一潜在变量和第二潜在变量得到潜在变量补偿参数,也可以是:对第二潜在变量进行去量化处理得到第三潜在变量,根据第三潜在变量以及第一潜在变量得到潜在变量补偿参数。
[0308]
根据量化前后的潜在变量,提取潜在变量补偿参数的具体方法可以采用上述实施例举例的任何一种提取潜在变量补偿参数的具体方法来实现。
[0309]
在本实施例中,当编码神经网络采用cnn网络来实现,其对应的提取潜在变量补偿参数的具体方式可以是:求每个channel潜在变量中满足预设条件的元素的平均量化误差,再将所有channel的平均量化误差取平均值,作为nf参数。假设编码神经网络输出的潜在变量为n*m维矩阵,记作l(n,k),n=0,1,

n-1,k=0,1,

m-1。n为cnn网络通道数,m为潜在变量大小。去量化后的潜在变量记作计算潜在变量补偿参数nf的一种伪代码可如下举例所示。其中,例如th1=0。
[0310][0311][0312]
例如可以根据熵编码模型参数σ从参数可调的熵编码模型中确定与参数σ对应的熵编码模型,并根据与参数σ对应的熵编码模型,对量化后的潜在变量进行算数编码,将算数编码结果写入码流。
[0313]
可以看出,本技术实施例提供的方案,在包含上下文模型的ai编码器场景下,由于在编码端,根据潜在变量的量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码之后写入码流。解码端获取码流后可根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差进行补偿处理变得可能,进而有利于降低解码神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0314]
下面介绍与图8a所描述编码端方案所对应的解码端的相关方案。
[0315]
参见图9a和图9b,图9a和图9b为本技术实施例提供的另一种音频数据解码方法的流程示意图。另一种音频数据解码方法(对应解码端)可以包括:
[0316]
901.音频解码器根据接收到的码流,由上下文模型的解码侧解码得到熵编码模型参数σ。
[0317]
具体例如,可根据接收到的码流,进行算数解码,并进行去量化处理,得到去量化后的上下文模型的潜在变量。去量化后的上下文模型的潜在变量经过上下文解码神经网络处理,得到熵编码模型参数σ。
[0318]
902.根据熵编码模型参数σ从参数可调的熵编码模型中确定与参数σ对应的熵编码模型,并对码流中的潜在变量编码信息进行算数解码,得到量化后的潜在变量。
[0319]
903.将量化后的潜在变量进行去量化处理,得到去量化后的潜在变量。
[0320]
904.根据码流解码潜在变量补偿参数,并根据潜在变量补偿参数,对去量化后的潜在变量进行补偿,得到补偿后的潜在变量。
[0321]
根据潜在变量补偿参数,对去量化后的潜在变量进行补偿的具体方法可以采用上述实施例介绍的解码端的任何一种补偿的具体方法来实现。在本实施例中,由于编码端传输的潜在变量补偿参数为标量nf。因此解码端对各个通道的潜在变量进行补偿时都是基于潜在变量补偿参数nf进行的。
[0322]
905.将补偿后的潜在变量作为输入,经过解码神经网络处理而输出解码后的频域信号。
[0323]
906.对解码后的频域信号进行后处理,得到增强后的频域信号。
[0324]
907对增强后的频域信号进行imdct变换,并进行去加窗处理,以得到最终的解码音频信号。
[0325]
可以看出,本技术实施例提供的方案,在包含上下文模型的ai编码器场景下,由于在编码端,根据潜在变量的量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码之后写入码流。解码端获取码流后可根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差进行补偿处理变得可能,进而有利于降低解码神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0326]
下面介绍一种在不包含上下文模型的ai编码器中应用本技术方案的示例。
[0327]
参见图10a和图10b,图10a和图10b为本技术实施例提供的另一种音频数据编码方法的流程示意图。另一种音频数据编码方法(对应编码端)可以包括:
[0328]
1001.音频编码器对音频信号经过加窗处理,得到当前帧音频信号。
[0329]
1002.音频编码器对当前帧音频信号进行mdct变换处理后,得到当前帧的频域信号。
[0330]
1003.音频编码器以当前帧的频域信号为输入,经过编码神经网络处理,输出第一潜在变量。
[0331]
1004.音频编码器对第一潜在变量进行量化处理,得到第二潜在变量。
[0332]
1005.音频编码器根据第一潜在变量和第二潜在变量提取潜在变量补偿参数。
[0333]
其中,根据第一潜在变量和第二潜在变量提取潜在变量补偿参数,也可以是:第二潜在变量进行去量化处理以得到第三潜在变量,根据第一潜在变量和第三潜在变量,提取潜在变量补偿参数。当然,也可直接根据第一潜在变量和第二潜在变量来提取潜在变量补偿参数。
[0334]
1006.音频编码器对潜在变量补偿参数进行量化编码,写入码流。
[0335]
1007.音频编码器根据熵编码模型,对量化后的潜在变量进行算数编码,将算数编码结果写入码流。
[0336]
可以看出,本技术实施例提供的方案,在不包含上下文模型的ai编码器场景下,由于在编码端,根据潜在变量的量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码后写入码流。解码端获取码流后可根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差进行补偿处理变得可能,进而有利于降低解码神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0337]
下面介绍与图10a所描述编码端方案所对应的解码端的相关方案。
[0338]
参见图11a和图11b,图11a和图11b为本技术实施例提供的一种音频数据解码方法的流程示意图。另一种音频数据解码方法(对应解码端)可以包括:
[0339]
1101.音频解码器根据熵编码模型,对码流进行算数解码得到第二潜在变量。
[0340]
1102.音频解码器将量化后的潜在变量进行去量化处理以得到第三潜在变量。
[0341]
1103.音频解码器根据码流解码潜在变量补偿参数,并根据潜在变量补偿参数,对第三潜在变量进行补偿,得到补偿后的潜在变量。
[0342]
1104.音频解码器将补偿后的潜在变量作为输入,经过解码神经网络处理,输出解码后的频域信号。
[0343]
1105.音频解码器对解码后的频域信号进行后处理,得到增强后的频域信号。
[0344]
1106.音频解码器对增强后的频域信号进行imdct变换,并进行去加窗处理,得到最终的解码音频信号。
[0345]
测试发现,采用本实施例提出的方法,能够降低解码神经网络的输入数据的失真,从而提升最终解码信号的质量。
[0346]
可以看出,本技术实施例提供的方案,由于编码端,根据潜在变量的量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码后写入码流。解码端获取码流后可根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差进行补偿处理变得可能,进而有利于降低解码端全连接网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0347]
下面介绍一种带上下文模型且补偿也在上下文模型的示例。也就是说,不仅可以用于对编码网络的潜在变量进行补偿,也可以用于对上下文模型的潜在变量进行补偿,
[0348]
参见图12a和图12b,图12a和图12b为本技术实施例提供的另一种音频数据编码方法的流程示意图。另一种音频数据编码方法(对应编码端)可以包括:
[0349]
1201.对音频信号经过加窗处理,得到当前帧音频信号。
[0350]
1202.对当前帧音频信号进行mdct变换处理后,得到当前帧的频域信号。
[0351]
1203.以当前帧的频域信号为输入,经过编码神经网络处理,输出潜在变量。
[0352]
1204.根据潜在变量,经过上下文模型处理,得到上下文码流,并确定熵编码模型参数σ。
[0353]
其中,根据潜在变量,经过上下文模型处理,得到上下文码流,并确定熵编码模型
参数σ可包括以下步骤1204a-1204f:
[0354]
1204a.潜在变量经过上下文编码神经网络处理,得到上下文模型的潜在变量,上下文模型的潜在变量表征了编码网络的潜在变量的概率分布。
[0355]
1204b.对上下文模型的潜在变量进行量化,并对量化后的上下文模型的潜在变量进行算数编码,得到上下文码流,写入码流。
[0356]
对量化后的上下文模型的潜在变量进行去量化处理,可获得去量化后的上下文模型的潜在变量。也可以根据量化前的上下文模型的潜在变量以及去量化后的上下文模型的潜在变量,提取上下文模型的潜在变量补偿参数。
[0357]
1204c.根据量化前后的上下文模型的潜在变量,提取上下文模型的潜在变量补偿参数,并对上下文模型的潜在变量补偿参数进行量化编码,写入码流。
[0358]
1204d.根据上下文码流进行算数解码,并进行去量化处理,得到去量化后的上下文模型的潜在变量。
[0359]
1204e.解码上下文模型的潜在变量补偿参数,根据解码的上下文模型的潜在变量补偿参数,对去量化后的上下文模型的潜在变量进行补偿,得到补偿后的上下文模型的潜在变量。
[0360]
1204f.补偿后的上下文模型的潜在变量经过上下文解码神经网络处理,得到熵编码模型参数σ。
[0361]
1205.对潜在变量进行量化处理,得到量化后的潜在变量。
[0362]
1206.根据量化前后的潜在变量,提取潜在变量补偿参数,并对潜在变量补偿参数进行量化编码,写入码流。
[0363]
对量化后的潜在变量进行去量化处理,可获得去量化后的潜在变量。也可以根据量化前的潜在变量以及去量化后的潜在变量,提取潜在变量补偿参数。
[0364]
1207.根据熵编码模型,对量化后的潜在变量进行算数编码,将算数编码结果写入码流。
[0365]
根据熵编码模型参数σ从参数可调的熵编码模型中确定与参数σ对应的熵编码模型,并根据与参数σ对应的熵编码模型,对量化后的潜在变量进行算数编码,将算数编码结果写入码流。
[0366]
可以看出,本技术实施例提供的方案,在带上下文模型且补偿也在上下文模型的应用场景下,由于在编码端,根据潜在变量的量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码后写入码流。解码端获取码流之后,可根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差进行补偿处理变得可能,进而有利于降低解码神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0367]
下面介绍与图12a所描述编码端方案所对应的解码端的相关方案。
[0368]
参见图13a和图13b,图13a和图13b为本技术实施例提供的另一种音频数据解码方法的流程示意图。另一种音频数据解码方法(对应解码端)可以包括:
[0369]
1301.根据接收到的码流,由上下文模型的解码侧解码得到熵编码模型参数σ。
[0370]
其中,
[0371]
根据接收到的码流,由上下文模型的解码侧解码得到熵编码模型参数σ可包括:根
据接收到的码流进行算数解码,并进行去量化处理,得到去量化后的上下文模型的潜在变量。根据码流解码上下文模型的潜在变量补偿参数,并根据上下文模型的潜在变量补偿参数,对去量化后的上下文模型的潜在变量进行补偿,得到补偿后的上下文模型的潜在变量。补偿后的上下文模型的潜在变量经过上下文解码神经网络处理,得到熵编码模型参数σ。
[0372]
1302.根据熵编码模型参数σ从参数可调的熵编码模型中确定与参数σ对应的熵编码模型,并对码流中的潜在变量编码信息进行算数解码,得到量化后的潜在变量。
[0373]
1303.将量化后的潜在变量进行去量化处理,得到去量化后的潜在变量。
[0374]
1304.根据码流解码潜在变量补偿参数,并根据潜在变量补偿参数,对去量化后的潜在变量进行补偿,得到补偿后的潜在变量。
[0375]
1305.将补偿后的潜在变量作为输入,经过解码神经网络处理,输出解码后的频域信号。
[0376]
1306.对解码后的频域信号进行后处理,得到增强后的频域信号。
[0377]
1307.对增强后的频域信号进行imdct变换,并进行去加窗处理,以得到最终的解码音频信号。
[0378]
可以看出,本技术实施例提供的方案,在带上下文模型且补偿也在上下文模型的应用场景下,由于在编码端,根据潜在变量的量化误差得到潜在变量补偿参数,将潜在变量补偿参数编码后写入码流。解码端获取码流之后,可根据潜在变量补偿参数来对编码端对潜在变量进行量化造成的相关量化误差进行补偿处理变得可能,进而有利于降低解码神经网络的输入数据的失真,从而有利于提升最终解码信号的质量。具体例如,有利于减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0379]
总的来说,本技术提出了一种潜在变量特征补偿的机制,编码端根据潜在变量的量化误差提取潜在变量补偿参数,将潜在变量补偿参数编码后传输到解码端;解码端根据潜在变量补偿参数对潜在变量进行补偿处理,有利于降低解码神经网络的输入数据的失真,从而提升最终解码信号的质量。对应音频编解码器,例如可减少解码音频信号频域上的空洞,提升解码音频信号的主观听觉质量。
[0380]
如图14a举例所示,在潜在变量量化之后,部分元素位置的潜在变量幅度的量化值可能为零,例如图中元素序号为2、5、6、7、11、12、16等位置的潜在变量幅度在量化后的量化值为零。如图14b举例所示,解码端使用本技术实施例提出的方法,来对去量化后的潜在变量进行补偿之后,元素序号为2、5、6、7、11、12、16等位置的潜在变量幅度得到了一定程度的恢复,这就降低了解码神经网络的输入数据的失真,从而提升最终解码信号的质量。
[0381]
下面还介绍一些装置实施例。
[0382]
参见图15,本技术实施例还提供一种音频编码器1500,其中,音频编码器可包括若干功能单元,若干功能单元协同完成音频编码相关的方法。
[0383]
具体例如音频编码器可包括:获取单元1510、参数处理单元1520和编码单元1530。
[0384]
其中,获取单元1510,用于获取待编码的音频数据。
[0385]
参数处理单元1520,用于利用编码神经网络对所述待编码的音频数据进行处理,以生成第一潜在变量;对所述第一潜在变量进行量化处理以得到第二潜在变量;根据所述第一潜在变量和所述第二潜在变量得到潜在变量补偿参数。
[0386]
编码单元1530,用于将所述潜在变量补偿参数进行编码,并将所述潜在变量补偿
参数的编码结果写入码流;将所述第二潜在变量进行编码,并将所述第二潜在变量的编码结果写入码流。
[0387]
可以理解,音频编码器1500可以用于实现图2、图4a、图6a、图8a、图10a或图12a等所举例的相关方法。
[0388]
参见图16,本技术实施例还提供一种音频解码器1600,音频解码器1600可包括若干功能单元,若干功能单元协同完成音频解码相关的方法。
[0389]
具体例如音频解码器1600可包括:解码单元1610和参数处理单元1620。
[0390]
其中,参数处理单元1620,用于基于码流得到潜在变量补偿参数和第三潜在变量;根据所述潜在变量补偿参数对所述第三潜在变量进行补偿处理以得到重构的第一潜在变量。
[0391]
所述解码单元1610,还用于利用解码神经网络对所述重构的第一潜在变量进行处理以生成解码音频数据。
[0392]
基于码流得到潜在变量补偿参数和第三潜在变量可包括:从码流中解码出潜在变量补偿参数和第二潜在变量,所述第二潜在变量中的当前元素的值是量化值;对所述第二潜在变量进行去量化处理得到第三潜在变量。
[0393]
可以理解,音频解码器1600可以用于实现图3、图5、图7、图9a、图11a或图13a等所举例的相关方法。
[0394]
参见图17,本技术实施例还提供一种音频编码器1700,包括处理器1710,所述处理器和存储器1720耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述处理器执行时实现本技术实施例提供的任意一种音频编码相关的方法的部分或全部步骤。
[0395]
参见图18,本技术实施例还提供一种音频解码器1800,可包括:处理器1810,所述处理器和存储器1820耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述处理器执行时实现本技术实施例提供的任意一种音频解码相关的方法的部分或全部步骤。
[0396]
本技术实施例中的处理器还称中央处理单元(cpu,central processing unit)。具体的应用中,音频编/解码器的各组件例如通过总线系统耦合在一起。其中,总线系统除了可包括数据总线之外,还可包括电源总线、控制总线和状态信号总线等。上述本技术实施例揭示的任意一种方法可应用于处理器中,或由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在一些实现过程中,上述方法的部分或全部步骤可通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器可实现或执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可为微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤例如可直接体现为硬件译码处理器执行完成,或用译码处理器中的硬件及软件模块组合执行完成。软件模块可位于随机存储器,闪存、只读存储器,可编程只读存储器、电可擦写可编程存储器或寄存器等等本领域成熟的存储介质之中。该存储介质位于存储器,例如处理器可读取存储器中的信息,结合其硬件完成上述方法的部分或全部步骤。
[0397]
参见图19,本技术实施例还提供一种通信系统,包括:音频编码器1910和音频解码器1920;所述音频编码器为本技术实施例提供的任意一种音频编码器。所述音频解码器为
本技术实施例提供的任意一种音频解码器。
[0398]
参见图20,本技术实施例还提供一种网络设备2000,网络设备2000包括处理器2010和存储器2020,其中,处理器2010与存储器2020耦合,用于读取并执行所述存储器中存储的程序,实现本技术实施例提供的任意一种方法的部分或全部步骤。
[0399]
其中,所述网络设备例如可为芯片或片上系统等。
[0400]
可以理解,上述装置实现相关功能的具体细节可参考上述方法实施例的描述,此处不摘赘述。
[0401]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被硬件(如处理器)执行时能够完成本技术实施例中的任意一种方法的部分或全部步骤。
[0402]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被硬件(例如处理器等)执行,以实现本技术实施例中由任意设备执行的任意一种方法的部分或全部步骤。
[0403]
本技术实施例提供一种计算机可读存储介质,存储有码流,所述码流基于本技术实施例提供的任意一种音频数据编码方法得到。
[0404]
本技术实施例还提供了一种包括指令的计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得所述这个计算机设备执行本技术实施例中的任意一种方法的部分或者全部步骤。
[0405]
在上述实施例中,可全部或部分地通过软件、硬件、固件、或其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘)等。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0406]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0407]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置,也可以通过其它的方式实现。例如以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可结合或者可以集成到另一个系统,或一些特征可以忽略或不执行。另一点,所显示或讨论的相互之间的间接耦合或者直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0408]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例的方案的目的。
[0409]
另外,在本技术各实施例中的各功能单元可集成在一个处理单元中,也可以是各单元单独物理存在,也可两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,或者也可以采用软件功能单元的形式实现。
[0410]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(例如可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质例如可包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或光盘等各种可存储程序代码的介质。
再多了解一些

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

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

相关文献