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

未命名 08-15 阅读:51 评论:0


1.本技术涉及人工智能技术领域,更具体地,涉及一种音频编码方法、装置、存储介质及计算机设备。


背景技术:

2.语音编解码分别是将语音信号转换为数字表示和将数字表示转换为语音信号的过程。语音编解码能够有效地降低语音信号传输的带宽,对于节省语音信息的存储和传输成本,保障通信网络传输过程中的语音信息的完整性起到决定性作用。
3.目前,基于深度学习的音频编解码是语音编解码应用中的主要技术方向。通常,在语音的解码过程利用神经网络将音频特征重构成音频信号。与传统语音编解码器相比,利用深度学习编解码后的语音音质更佳且能够带来更低的带宽消耗。
4.由于基于深度神经网络的音频编解码器,通常具有规模较大的网络参数,使得在对音频进行编解码时需要消耗较多的计算资源,从而导致这种方法无法适用于不同业务需要下的音频编解码任务。


技术实现要素:

5.本技术实施例提供一种音频编码方法、装置、存储介质以及计算机设备。可以基于目标控制网络为目标音频确定与其相适配的编码器和解码器,进而提升编码器和解码器在不同业务应用场景中使用的适配性。
6.一方面,本技术实施例提供一种音频编码方法,应用于音频编码端,该方法包括:通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,编码信息预测结果用于指示与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数;通过目标编码器按照目标编码参数对目标音频进行编码,得到目标编码码流;将目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包;目标解码器是与目标编码器相对应的解码器;向音频解码端发送编码数据包,以使音频解码端通过目标解码器对目标编码码流进行解码。
7.如此,通过目标控制网络对输入的目标音频进行编码信息预测,确定了与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数,进而通过目标编码器按照目标编码参数对目标音频进行编码得到目标编码码流,并且通过与目标编码器对应的目标解码器对目标编码码流进行解码。从而,可以对不同业务需求的目标音频进行针对性的编解码,避免了编解码过程中计算资源的过渡消耗,提高在不同应用场景中音频编解码的性能。
8.另一方面,本技术实施例提供一种音频解码方法,应用于音频解码端,该方法包括:接收从音频编码端发送的编码数据包;编码数据包是音频编码端按照如上述的音频编码方法得到的;对编码数据包进行解析,得到目标编码码流和目标解码器对应的解码器标识;基于目标解码器表示,将编解码库中与解码器标识匹配的候选解码器确定为目标解码
器;通过目标解码器对目标编码码流进行解码,得到解码音频。
9.另一方面,本技术实施例还提供一种音频编码装置,应用于音频编码端,该装置包括:信息预测模块,用于通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,编码信息预测结果用于指示与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数;音频编码模块,用于通过目标编码器按照目标编码参数对目标音频进行编码,得到目标编码码流;数据封装模块,用于将目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包;目标解码器是与目标编码器相对应的解码器;数据发送模型,用于向音频解码端发送编码数据包,以使音频解码端通过目标解码器对目标编码码流进行解码。
10.可选地,音频编码装置还可以包括:结果预测模块,用于基于预设控制网络对样本音频进行编码信息预测,得到样本预测结果;样本预测结果用于指示与样本音频相适配的训练编码器以及与样本音频相适配的训练编码参数;样本编码模块,用于通过训练编码器按照训练编码参数对样本音频进行编码,得到样本编码码流;样本解码模块,用于通过训练编码器对应的训练编码器对样本编码码流进行解码,得到样本解码音频;指标获取模块,用于获取预设控制网络对应的训练指标;训练指标至少包括编解码开销、编码比特消耗以及音质评分;编解码开销为基于训练编码器对样本音频进行编码的开销和训练编码器对样本编码码流进行解码的开销经加权计算得到;音质评分为基于样本音频和样本解码音频经音质测量得到;损失计算模块,用于根据训练指标,计算预设控制网络对应的目标损失值;网络训练模块,用于基于目标损失值对预设控制网络进行迭代训练,直至预设控制网络满足训练结束条件,得到目标控制网络。
11.可选地,训练指标包括编解码开销、编码比特消耗以及音质评分,损失计算模块可以具体用于: 基于编解码开销和计算开销权重,确定开销值;基于编码比特消耗和比特消耗权重,确定消耗值;基于音质评分和音质权重,确定评分值;对开销值、消耗值和评分值进行求和,得到预设控制网络对应的目标损失值。
12.可选地,信息预测模块可以具体用于:对目标音频进行特征提取,得到目标音频对应的音频特征;将音频频谱特征输入至目标控制网络进行编码信息预测,得到编码信息预测结果。
13.可选地,目标编码参数包括编码码率,音频编码模块620可以具体用于:通过目标编码器按照编码码率对目标音频进行编码,得到目标编码码流。
14.可选地,音频编码装置还可以包括:获取编解码训练集,编解码训练集包括多种业务类型的样本音频;基于每种业务类型的样本音频进行编解码训练,得到每种业务类型对应的候选编码器以及候选编码器对应的候选解码器;根据每种业务类型的对应候选编码器和候选解码器构建编解码库,以便基于编码信息预测结果,从编解码库中确定与目标音频相适配的目标编码器。
15.另一方面,本技术实施例还提供一种音频解码装置,应用于音频解码端,该装置包括:数据接收模块,用于接收从音频编码端发送的编码数据包;编码数据包是音频编码端按照如上述的音频编码方法得到的;数据解析模块,用于对编码数据包进行解析,得到目标编码码流和目标解码器对应的解码器标识;解码确定模块,用于基于目标解码器表示,从编解码库中确定与解码器标识匹配的目标解码器;码流解码模块,用于通过目标解码器对目标
编码码流进行解码,得到解码音频。
16.另一方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,其中,在该计算机程序被处理器运行时执行上述的音频编码方法。
17.另一方面,本技术实施例还提供一种计算机设备,该计算机设备包括处理器以及存储器,存储器存储有计算机程序,该计算机程序被处理器调用时执行上述的音频编码方法。
18.另一方面,本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在存储介质中;计算机设备的处理器从存储介质读取该计算机程序,处理器执行该计算机程序,使得计算机设备执行上述计算引擎确定方法中的步骤。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1示出了本技术实施例提供的一种系统框架示意图。
21.图2示出了本技术实施例提供的一种音频编码方法的流程示意图。
22.图3示出了本技术实施例提供的一种基于深度学习的音频编解码流程图。
23.图4示出了本技术实施例提供的另一种音频编码方法的流程示意图。
24.图5示出了本技术实施例提供的一种预设控制网络的网络架构图。
25.图6示出了本技术实施例提供的一种音频编解码方法的时序图。
26.图7示出了本技术实施例提供的一种音频编解码方法的应用场景。
27.图8示出了本技术实施例提供的一种音频编解码的架构示意图。
28.图9是本技术实施例提供的一种音频编码装置的模块框图。
29.图10是本技术实施例提供的一种音频解码装置的模块框图。
30.图11是本技术实施例提供的一种计算机设备的模块框图。
31.图12是本技术实施例提供的一种计算机可读存储介质的模块框图。
具体实施方式
32.下面详细描述本技术的实施方式,实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性地,仅用于解释本技术,而不能理解为对本技术的限制。
33.为了使本技术领域的人员更好地理解本技术的方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.需要说明的是,在本技术的具体实施方式中,涉及到的目标音频、样本音频和场景信息等相关数据,当运用到本技术实施例的具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规及标准,并
且在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
35.音频编解码是对音频信号进行的压缩和解压。音频信号从模拟信号到数字信号进行了固定频率的采样,采样后的信号依然有大量的冗余信息,音频编解码能够大幅度压缩音频信号,可以降低在通信中音频占用的带宽成本和储存成本。在确保语音质量的前提下,传统的音频解码技术致力于使用较少的网络带宽资源、较低的传输码率去传递更保真的语音信息。
36.目前,深度学习技术的发展,使得基于神经网络的语音编码器逐渐替代了传统的基于信号处理的方法。例如,神经网络音频编解码器。在编码端,音频信号经过编码器(encoder)编码成多帧,每一帧可以是一个连续的向量表达。利用码本将向量压缩成离散向量的组合数,并传输组合数至解码端利用码本恢复向量,通过解码器(decoder)对每帧进行解码以恢复音频信号。
37.基于神经网络的语音编码器是通过大规模样本训练得到精确的神经网络模型,通常情况下该神经网络模型的参数规模越大,其信号还原能力越强,即解码重构出来的声音质量越高,但计算复杂度越高(也即,计算资源的开销越大),相反,如果神经网络模型的参数规模越小,则重构出来的声音信号质量相对越低,而计算复杂度越低(也即,计算资源的开销越小)。
38.在实际应用中,不同类型的业务对语音质量的需求存在较大差异。例如,在移动游戏社交场景中,用户对游戏语音传输的质量的要求很高。在普通语音通话场景中,在能够保证正常语音通话的条件下,对语音传输的质量要求相对较低。
39.然而,现有技术中的基于深度学习的音频编解码器大多是单一的网络模型,这是由于在对音频编解码器训练时,模型结构、计算开销以及编码参数等是预先统一设置的,并不考虑不同的业务应用对音频编解码器的需求差异,导致音频编解码器在不同业务场景中的应用适配性较低,容易出现编解码过程中计算资源的过渡消耗,音频编解码的性能较低。为了解决上述问题,发明人经过研究,提出了本技术实施例提供的音频编码方法。
40.下面先对本技术所涉及到的音频编码方法的系统的架构进行介绍。
41.如图1所示,本技术实施例提供的音频编码方法可以应用在系统400中,该系统400可以用于模型训练。其中,数据获取设备410用于获取训练数据。针对本技术实施例的音频编码方法来说,训练数据可以为用于模型训练时使用的样本音频,该样本音频可以至少包括音乐样本音频、语音样本音频、噪声样本音频等。数据获取设备410在获取到训练数据之后,可将该训练数据存入数据库420,训练设备430可基于数据库420中维护的训练数据训练得到目标模型401。
42.具体地,训练设备430可以基于输入的训练数据对预设神经网络进行训练,直至该预设神经网络满足预设的训练结束条件,得到训练后的目标模型401。其中,预设条件可以为:目标损失函数的损失值小于预设值、目标损失函数的损失值不再变化、或者训练次数达到预设次数等。该目标模型401用于实现本技术实施例中的音频编码方法,例如,目标控制网络、编码器以及解码器。本技术实施例中的目标模型401可以为深度神经网络(deep neural network,dnn),例如,特征表示层与卷积层的组合、transformer等,在此不做限定。
43.在实际的应用场景中,数据库420中维护的训练数据不一定都来自于数据获取设备410,也可以从其他设备接收得到,例如,执行设备440也可以作为数据获取端,将获取的
数据作为新的训练数据,并存入数据库420。此外,训练设备430也不一定完全基于数据库420维护的训练数据对预设神经网络进行训练,也有可能基于从云端或者其他设备获取的训练数据对预设的神经网络进行训练,例如,执行设备440为客户端时,可以将获取的用户语音作为训练数据,上述描述不应该作为对本技术实施例的限定。
44.上述根据训练设备430训练得到的目标模型401可以应用于不同的系统或设备,如应用于图1所示的执行设备440。训练设备430和执行设备440可以为服务器或者终端等,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、区块链以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等。
45.在执行设备440的处理模块441执行计算等相关的处理过程中,执行设备440可调用数据存储系统450中的数据、程序等以用于相应的计算处理,并将计算处理得到的处理结果等数据和指令存入数据存储系统450中。训练设备430可以针对不同的目标或不同的任务,基于不同的训练数据生成相应的目标模型401,该相应的目标模型401即可以用于完成相应的音频编解码任务。
46.示例性地,图1所示的系统400中的训练设备430可以为服务供应商部署的云服务器,执行设备440可以为用户使用的移动终端(如,智能手机)。云服务器可以基于样本音频训练得到目标控制网络、编码器和解码器,其中,编码器和解码器是相互对应的关系,例如,编码器和解码器是相同的网络类型。进而,移动终端可以部署训练得到目标控制网络、编码器和解码器进行音频信号的编码和解码。
47.值得注意的是,图1仅是本技术实施例提供的一种系统的架构示意图,本技术实施例描述的系统的架构以及应用场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定。例如,图1中的数据存储系统350相对执行设备340是外部存储器,在其它情况下,也可以将数据存储系统350置于执行设备340中。本领域普通技术人员可知,随着系统架构的演变和新的应用场景的出现,本技术实施例提供的技术方案对于解决类似的技术问题,同样适用。
48.本技术的音频编码方法涉及人工智能(artificial intelligence, ai)技术,人工智能技术是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
49.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
50.其中,深度学习(deep learning,dl)是机器学习的一个子问题,其主要目的是从数据中自动学习到有效的特征表示。通过多层的特征转换,把原始数据变成为更高层次、更抽象的表示。这些学习到的表示可以替代人工设计的特征,从而避免“特征工程”。进一步将
抽象的表示输入到预测函数得到最终结果。例如,在本技术实施例中,可以对样本音频和目标音频进行特征提取,得到音频特征。以及基于深度神经网络训练出目标控制网络、编码器和解码器。
51.请参阅图2,图2示出了本技术一个实施例提供的音频编码方法的流程示意图。在具体的实施例中,所述音频编码方法可以由音频解码端执行。如图2所示,所述音频编码方法具体可以包括以下步骤:步骤110:通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,编码信息预测结果用于指示与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数。
52.考虑到对不同业务需求使用单一的深度神经网络的音频编解码器会导致音频编解码的开销出现过大的情况。为此,本技术提出先利用目标控制网络选取与待编码的音频(也即,目标音频)相适配的目标编码器以及与目标音频相适配的目标编码参数,进而基于目标编码器和目标编码参数对目标音频进行符合业务需求的编码。
53.其中,目标控制网络为基于不同业务类型的样本音频训练得到的深度神经网络。目标控制网络输出的编码信息预测结果是指为目标音频的编码预测的目标编码器和目标编码参数的组合的表示。目标编码器可以是预先针对目标音频对应的业务需求训练得到的编码器,目标编码参数也是针对目标音频对应的业务需求预测到的编码参数,例如,编码码率。
54.可选地,编码信息预测结果可以以数值或者字符等形式表示目标编码器和目标编码参数的组合。例如,针对不同业务需求训练有5种的候选编码器,并且每种候选编码器有3组编码参数,如此,候选编码器和编码参数存在53种组合可能,对应地,目标控制网络的输出可以用数值形式表示为,例如,编码信息预测结果可以是数值:7。
55.在本技术实施例中,每种候选的编码器及其对应的解码器的基本框架可以是异构的,或者说,对于不同业务需求下的音频编解码,可以预先个性化地训练出满足该业务需求的编解码器。
56.示例性地,针对实现对音乐的低码率压缩并高质量还原,可以基于声音增强网络的网络框架(seanet)训练出编解码器。例如,该编码器可以由1层1维卷积对时域波形进行特征提取后经过多个用于降采样的残差单元(也即,卷积块),而后加入了两层长短期记忆层用于序列建模,最后经过1层卷积得到音频的潜在表征。解码器则是编码器的镜像,其残差单元的卷积被替换为反卷积用于上采样。示例性地,针对没有对声音类型进行分类的混合音频信号进行编解码时,可以基于soundstream网络框架训练出编解码器。
57.需要说明的是,上述候选编解码器的基本框架是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定。随着业务需求的改变和新的业务需求的出现,候选编解码器的基本框架可以根据具体的音频编解码的业务需求进行演变。例如,候选编解码器的基本框架也可以是ai codec框架,在此不做限定。
58.作为一种实施方式,音频编码端可以对目标音频进行特征提取,得到目标音频对应的音频频谱特征,进一步地,将音频频谱特征输入至目标控制网络进行编码信息预测,得到编码信息预测结果。其中,音频频谱特征可以是能够表示音频本身物理属性的频谱特征,
包括功率谱(power spectrum)或者梅尔频率倒谱(mel-scale frequency cepstral,mfc)等,在此不做限定。
59.例如,在多人在线战术竞技(multiplayer online battle arena,moba)游戏场景中,玩家甲使用的智能手机可以在游戏对决中实时获取玩家的语音信号,也即目标音频。进一步地,智能手机可以对该目标音频进行特征提取得到梅尔频率倒谱。进而将目标音频的梅尔频率倒谱输入至目标控制网络,目标控制网络输出编码信息预测结果:数值7,该数值7可以表示需要选取第三种编码器以及第三种编码器对应的第一组编码参数对应目标音频进行编码。
60.在不同的应用场景下,对于音频编解码后的音质、以及计算开销等的要求存在差异,例如,对音乐或复杂音频信息进行编解码的应用场景中,对音质要求较高,需要网络规模较大的编码器和解码器。在普通的对音频信号进行编解码的应用场景中,对音质要求不高,可以使用网络规模较小的编码器和解码器。同时,音质要求较高时,编码码率要求也高。
61.基于此原理,在本技术中,通过目标控制网络来对目标音频进行特征提取,基于目标音频的特征来识别目标音频的编码要求或者说目标音频对应的应用场景,以此为基础来预测与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数,从而,基于特定深度神经网络结构的音频编解码器和编码码率针对性地对音频进行编解码。
62.步骤120:通过目标编码器按照目标编码参数对目标音频进行编码,得到目标编码码流。
63.其中,目标编码参数指的是目标编码器对目标音频进行编码时,用于衡量音频信号质量的参数。目标编码参数可以包括编码码率、采样大小、声道数等,在此不做具体限定。编码码流指的是对目标音频进行编码后得到的码流(data rate),也即压缩数据。
[0064] 作为一种实施方式,音频编码端可以通过目标编码器按照编码码率对目标音频进行编码,得到目标编码码流。以音乐欣赏类的应用为例,其对音质有较高的对应的业务需求,所以目标控制网络预测出的编码码率(也即,目标编码参数)相对较高。例如,一帧(20ms)的音频信号经过目标编码器编码可以输出32个bits,则其编码码率为321000/20 = 1600bps。
[0065]
步骤130:将目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包,目标解码器是与目标编码器相对应的解码器。
[0066]
步骤140:向音频解码端发送编码数据包,以使音频解码端通过目标解码器对目标编码码流进行解码。
[0067]
其中,目标解码器指的是与目标编码器对应的解码器,目标解码器用于对目标编码码流进行解码。解码器标识可以用于表示目标解码器的序号,以便音频解码端确定目标编码器对应的解码器。
[0068]
作为一种实施方式,音频编码端在编码得到目标编码码流后,可以将目标编码码流发送至音频解码端进行解码。例如,音频编码端可以将目标编码码流和目标解码器对应的解码器标识进行打包,基于网络传输协议将打包后的数据(也即,编码数据包)发送至音频解码端,使得音频解码端可以根据解码器标识确定目标解码器,并基于目标解码器对目标编码码流进行解码。
[0069]
示例性地,请参阅图3,图3示出一种基于深度学习的音频编解码流程图。如图3所
示,基于深度学习的音频编解码包括编码(encoding)阶段和解码(decoding)阶段。音频信号(也即,目标音频)在编码阶段经过目标编码器对其进行特征提取(feature extraction)和量化处理(quantization)生成对应的比特流(bitstream),该比特流可以视为本技术中的目标编码码流。
[0070]
进一步地,基于通道(channel)将比特流传输至解码端,并由目标编码器对应的目标解码器对比特流进行解码,得到重构音频。可以理解的是,在本技术中,比特流是被封装到编码数据包,随编码数据包被传输到解码端的。其中,编码阶段的码率主要由编码器的网络结构所决定,例如,编码器中的量化器(robust vector quantizer,rvq)通过在编码阶段控制量化位数,可以调节编码质量。具体地,量化位数越大则编码质量越高,同时编码码率相应增加,反之量化位数越小则编码质量下降,同时编码码率相应减少。
[0071]
在本技术实施例中,可以利用目标控制网络对输入的目标音频进行编码信息预测,可以确定与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数,进而通过目标编码器按照目标编码参数对目标音频进行编码得到目标编码码流,并通过与目标编码器对应的目标解码器对目标编码码流进行解码。从而,能够在不同业务需求下,对目标音频进行针对性的编解码,避免了在编解码过程中计算资源的过渡消耗,提高音频编解码的性能。
[0072]
请参阅图4,图4示出了本技术另一个实施例提供的音频编码方法的流程示意图。在具体的实施例中,所述音频编码方法可以由音频解码端执行,也可以由具有存储和计算功能的计算机设备执行,例如,服务器等。如图4所示,所述音频编码方法具体可以包括以下步骤:步骤210:基于预设控制网络对样本音频进行编码信息预测,得到样本预测结果,样本预测结果用于指示与样本音频相适配的训练编码器以及与样本音频相适配的训练编码参数。
[0073]
在本技术实施例中,控制网络决定了音频编解码器和编码参数的选取,而选取的依据是基于具体的业务需求,为此,可以根据不同的业务需求的样本音频对预设控制网络进行训练。
[0074]
其中,预设控制网络可以为深度神经网络。请参阅图5,图5示出一种预设控制网络的网络架构图。如图5所示,该预设控制网络多个部分组成,具体地,预设控制网络从输入端开始,依次包括输入端的1个全连接单元、3个卷积块(第一卷积块、第二卷积块和第三卷积块)、2个门控循环单元(第一门控循环单元和第二门控循环单元)以及输出端的1个全连接单元。
[0075]
可选地,该输出端的全连接单元可以为softmax函数,用于输出每个预测结果的预测概率。例如,候选编码器与编码参数有5种组合,该softmax函数可以输出5种组合对应的预测概率,进而可以将最大的预测概率对应的组合作为最优组合(也即,样本预测结果)进行输出。
[0076]
作为一种实施方式,可以从训练集中获取第个样本音频,其中,为样本音频的个数,,训练集存储有多个不同业务需求对应的
样本音频。进一步地,可以对样本音频进行进行特征提取,得到样本音频对应的音频频谱特征,并将该音频频谱特征输入至预设控制网络进行编码信息预测,得到样本预测结果。
[0077]
示例性地,预设控制网络的输出结果可以有5种数值形式的表示,其中每种数值形式都表示了一种候选的训练编码器和训练编码参数的组合。例如,样本预测结果可以有,进而确定所对应的训练编码器和训练编码参数。
[0078]
步骤220:通过训练编码器按照训练编码参数对样本音频进行编码,得到样本编码码流。
[0079]
步骤230:通过训练编码器对应的训练解码器对样本编码码流进行解码,得到样本解码音频。
[0080]
其中,训练解码器是与训练编码器相对应的解码器,也即,训练编码器和训练解码器属于相同类型和相似结构的深度神经网络,例如,训练编码器和训练解码器都是基于卷积神经网训练得到的,具有相同的卷积层。在本技术实施例中,可以基于样本预测结果指示的训练编码器,确定该训练编码器对应的训练解码器。
[0081]
作为一种实施方式,在确定出与样本音频相适配的训练编码器、训练解码器以及训练编码参数时,可以将样本音频输入至训练编码器,并按照训练编码参数对样本音频进行编码,编码的过程可以进一步细分为:提取样本音频的特征,得到该样本音频对应的频域特征,并对该频域特征进行量化压缩处理后得到样本编码码流。进一步地,可以将样本编码码流输入至训练编码器对应的训练解码器对样本编码码流对进行解码,具体地,基于样本编码码流中的样本音频对应的频域特征进行重构,得到得到样本解码音频。
[0082]
步骤240:获取预设控制网络对应的训练指标。
[0083]
其中,训练指标至少包括编解码开销、编码比特消耗以及音质评分,编解码开销可以为基于训练编码器对样本音频进行编码的计算开销和训练编码器对样本编码码流进行解码的计算开销经加权计算得到,音质评分可以指的是对样本音频和样本解码音频进行音质测量得到。编码比特消耗是指训练编码器对样本音频进行编码时消耗的比特。
[0084]
作为一种实施方式,在训练编码器按照训练编码参数对样本音频进行编码的过程中可以获取编码的开销,并在训练编码器对样本编码码流进行解码的过程中,获取解码的开销,进而对编码的开销和解码的开销进行加权计算得到编解码开销。
[0085]
示例性地,可以将训练编码器在对样本音频的每帧音频信号进行编码的耗时或者编码时中央处理器的占用率作为编码开销。同样地,在训练编码器对样本编码码流进行解码的过程中,将训练解码器在对样本编码码流进行解码的耗时或者解码时中央处理器的占用率作为解码开销。
[0086]
进一步地,根据编码开销和解码开销各自的权重,对编码开销和解码开销进行加权计算,得到编解码开销。可选地,由于通常解码过程中,计算开销要比编码过程较高,因此,编码开销的权重可以小于解码开销的权重。
[0087]
作为另一种实施方式,可以基于样本解码音频以及其对应的样本音频进行音质测量,得到音质评分。其中,音质测量用于评估样本解码音频和样本音频之间的差异并生成评
估结果,也即,平均意见得分(mean opinion score,mos)。
[0088]
可选地,音质测量所用的算法可以包括感知客观听力质量评估(perceptual objective listening quality analysis,polqa)或者语音质量感知评估(perceptual evaluation of speech quality,pesq)。
[0089]
可选地,考虑到音质测量所用的算法对输入的音频信号的长度有一定要求,例如,8-10秒的长度,因此,可以先将训练样本按8-10秒为一个片段进行划分后再进行音质测量。
[0090]
步骤250:根据训练指标,计算预设控制网络对应的目标损失值,并基于目标损失值对预设控制网络进行迭代训练,直至预设控制网络满足训练结束条件,得到目标控制网络。
[0091]
其中,目标损失值指的是基于对预设控制网络进行网络训练的目标损失函数计算得到损失值。为了使得目标控制网络能够准确地预测出与每个目标音频相适配的编码机和编码参数,本技术提出基于业务需求对应的编解码开销、编码比特消耗以及音质评分构建目标损失函数来计算目标损失值。
[0092]
作为一种实施方式,可以基于编解码开销和计算开销权重,确定开销值,基于编码比特消耗和比特消耗权重,确定消耗值,基于音质评分和音质权重,确定评分值,并对开销值、消耗值和评分值进行求和,得到预设控制网络对应的目标损失值,如下示出了目标损失值的计算公式:
[0093]
其中,分别表示编解码开销、编码比特消耗和音质评分。分别表示计算开销权重、比特消耗权重以及音质权重,。函数和函数为单调递增函数,函数为单调递减函数。需要说明的是,上述目标损失值的计算公式,仅是一种计算示例。
[0094]
例如,当训练指标的类型增加时,目标损失函数可以增加对应类型的训练指标的计算项,训练指标的个数及类型可以根据具体的业务需求进行设置,在此不做限定。每种类型训练指标的权重值可以根据对应的业务需求进行设置,以便训练结果满足该业务需求。
[0095]
在实际应用中,不同的业务应用对音频编解码器的音质、计算开销、带宽消耗等都有明确要求,通过将编解码开销、编码比特消耗和音质评分作为训练指标,并基于不同类型的训练样本对预设控制网络进行训练,使得训练出的目标控制网络可以准确地确定出适用于不同业务需要下所使用的音频编解码器。
[0096]
进一步地,可以计算的目标损失值对预设控制网络进行迭代训练,直至预设控制网络满足训练结束条件,得到目标控制网络。其中,训练结束条件可以包括目标损失值小于预设值、目标损失值不再变化、或者训练次数达到预设次数等。
[0097]
值得说明的是,本技术实施例中提供的音频编码方法包括对预设控制网络的训练,该训练过程可以是根据获取的训练集进行的,后续在每次需要执行音频的编解码时,可以利用训练得到的目标控制网络直接预测目标编码器、目标编码参数,而无需每次执行音频的编解码时,重复地基于训练集进行训练。
[0098]
步骤260:通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,编码信息预测结果用于指示与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数。
[0099]
步骤270:通过目标编码器按照目标编码参数对目标音频进行编码,得到目标编码码流。
[0100]
步骤280:将目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包目标解码器是与目标编码器相对应的解码器。
[0101]
步骤290:向音频解码端发送编码数据包,以使音频解码端通过目标解码器对目标编码码流进行解码。
[0102]
具体地,步骤260至步骤290可以参考前述实施例中步骤110至步骤140的内容,在此不再赘述。
[0103]
在本技术实施例中,可以基于预设控制网络对样本音频进行编码信息预测,得到样本预测结果,该样本预测结果用于指示与样本音频相适配的训练编码器以及与样本音频相适配的训练编码参数,进一步地,通过训练编码器按照训练编码参数对样本音频进行编码,得到样本编码码流,并通过训练编码器对应的训练解码器对样本编码码流进行解码,得到样本解码音频。
[0104]
进一步地,可以获取预设控制网络对应的训练指标,并根据训练指标,计算预设控制网络对应的目标损失值,并基于目标损失值对预设控制网络进行迭代训练,直至预设控制网络满足训练结束条件,得到目标控制网络,进而可以通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,编码信息预测结果用于指示与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数,并根据目标编码器和目标解码器进行编解码。
[0105]
如此,可以根据不同的业务需求的样本音频对预设控制网络进行训练,得到目标控制网络,进而目标控制网络可以为输入的目标音频预测出适配的目标编码器和目标解码器,也即,让不同业务需求的应用场景能够在对音频编解码过程中动态配置到适配的编解码器及不同编码参数组合,从而,使得编解码的计算开销能够达到最优,避免计算资源的过渡消耗,提高音频编解码的性能。
[0106]
请参阅图6,图6示出了本技术又一个实施例提供的音频编解码方法的时序图。在具体的实施例中,所述音频编解码方法可以由音频编码端和音频解码端执行,也可以由具有存储和计算功能的计算机设备执行,例如,服务器等。以下将针对图6所示的时序流程结合图7所示的应用场景进行详细地阐述。
[0107]
示例性地,音频编解码方法可以应用在不同业务场景中,例如,游戏社交、音视频通话或者音乐服务等。在音视频通话场景中,服务端可以包括云服务器510,云服务器510可以用于训练出目标控制网络、目标编码器和目标解码器。其中,目标控制网络、目标编码器和目标解码器可以部署在终端设备上,例如,第一设备520、第二设备530和第三设备540。
[0108]
第一设备520、第二设备530和第三设备540之间可以进行在线多人语音通话,在语音通话过程中,每个设备可以对通话语音进行编码解码以便进行通话语音的传输。需要说明的是,音频编码端和音频解码端时相对与应用场景而确定的,每个设备既可以作为音频编码端,也可以作为音频解码端。
[0109]
例如,在图7所示的多人语音通话场景中,第一设备520向第二设备530和第三设备540发送用户的语音内容,此时,第一设备520即为音频编码端,而第二设备530和第三设备540即为音频解码端。对应地,第二设备530和第三设备540向第一设备520的用户发送语音内容,此时,第二设备530和第三设备540即为音频编码端,而第一设备520即为音频解码端。
[0110]
图7仅是本技术实施例提供的一种应用场景,本技术实施例描述的应用场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定。本领域普通技术人员可知,随着系统架构的演变和新的应用场景的出现,本技术实施例提供的技术方案对于解决类似的技术问题,同样适用。如图6所示,该音频编解码方法具体可以包括步骤310至步骤380:步骤310:通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,编码信息预测结果用于指示与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数。
[0111]
在本技术实施例中,目标控制网络输出的编码信息指示了与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数。目标编码器是从编解码库中选出的。其中,编解码库中包括了每种业务类型的对应候选编码器和候选解码器。候选编码器和候选解码器可以根据不同的业务类型的样本音频训练得到。
[0112]
例如,对音乐或复杂音频信息进行编解码的应用场景中,对音质要求较高,需要网络规模较大的编码器和解码器。对普通通过的音频信号进行编解码的应用场景中,对音质要求不高,可以使用网络规模较小的编码器和解码器。同时,音质要求较高时,编码码率要求也高。
[0113]
为了让不同应用场景能够在音频编解码过程中可以动态配置与其适配的编码器、解码器以及编码参数。用于训练的编解码训练集可以包括多种业务类型的样本音频,例如,音乐样本、语音样本、噪声样本等。可选地,可以根据具体的业务需求,设置不同类型样本的占比。
[0114]
例如,对音质要求不高的业务需求,编解码训练集中噪声样本可以多于其他类型的样本。对音质要求较高的业务需求,编解码训练集中音乐样本和复核声音样本可以多于其他类型的样本。
[0115]
作为一种实施方式,服务端可以获取编解码训练集,并基于每种业务类型的样本音频进行编解码训练,得到每种业务类型对应的候选编码器以及候选编码器对应的候选解码器。具体地,可以根据不同业务需求(例如,音频类型、音质、编码带宽等)下的音频编解码任务,针对性地选取适配的网络架构进行编解码器的训练,从而,使得训练出的编解码器满足个性化的业务需求。
[0116]
进一步地,服务端可以根据每种业务类型对应的候选编码器和候选解码器构建编解码库,以便音频编码端基于编码信息预测结果,从编解码库中确定与目标音频相适配的目标编码器。该编解码库中存储了不同网络架构的基于深度神经网络的编码器和解码器。
[0117]
请参阅图8,图8示出一种音频编解码的架构示意图。音频编码端可以在获取目标音频后,可以通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,编码信息预测结果用于指示与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数。进而,可以通过目标编码器和目标解码器对目标音频进行编解码。
[0118]
步骤320:通过目标编码器按照目标编码参数对目标音频进行编码,得到目标编码码流。
[0119]
步骤330:将目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包目标解码器是与目标编码器相对应的解码器。
[0120]
步骤340:向音频解码端发送编码数据包,以使音频解码端通过目标解码器对目标编码码流进行解码。
[0121]
具体地,步骤310至步骤340可以有音频编码端执行,具体可以参考前述实施例中步骤110至步骤140的内容,在此不再赘述。
[0122]
步骤350:接收从音频编码端发送的编码数据包。
[0123]
其中,编码数据包可以是音频编码端按照如步骤110至步骤140的方法得到的。
[0124]
步骤360:对编码数据包进行解析,得到目标编码码流和目标解码器对应的解码器标识。
[0125]
步骤370:基于目标解码器表示,将编解码库中与解码器标识匹配的候选解码器确定为目标解码器。
[0126]
其中,解码器标识是根据目标编码器对应生成的。在解码过程中,目标解码器仅需与目标编码器的类型和结构对应即可,无需考虑解码所用的具体参数,例如,解码率等。
[0127]
作为一种实施方式,音频编码端将编码数据包发送至音频解码端时,音频解码端可以对接收的编码数据包进行解析,得到目标编码码流和解码器标识,进一步地,可以在编解码库查找与解码器标识匹配的候选解码器作为目标解码器。
[0128]
步骤380:通过目标解码器对目标编码码流进行解码,得到解码音频。
[0129]
作为一种实施方式,音频编码端可以将目标编码码流输入至目标解码器中,对目标编码码流进行解码,进而目标解码器可以输出解码后的解码音频。
[0130]
在本技术实施例中,音频编码端可以通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,该编码信息预测结果用于指示与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数。音频编码端可以通过目标编码器按照目标编码参数对目标音频进行编码,得到目标编码码流,并将目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包目标解码器是与目标编码器相对应的解码器,进而音频编码端可以向音频解码端发送编码数据包,以使音频解码端通过目标解码器对目标编码码流进行解码。
[0131]
进一步地,音频解码端可以接收从音频编码端发送的编码数据包,并对编码数据包进行解析,得到目标编码码流和目标解码器对应的解码器标识,进而音频解码端可以基于目标解码器表示,将编解码库中与解码器标识匹配的候选解码器确定为目标解码器,并通过目标解码器对目标编码码流进行解码,得到解码音频。由此,能够在不同业务需求下,对目标音频进行针对性的编解码,从而,避免在编解码过程中计算资源的过渡消耗,提高音频编解码的性能。
[0132]
请参阅图9,其示出了本技术实施例提供的一种音频编码装置600的结构框图。该音频编码装置600应用于音频编码端,该音频编码装置600包括:信息预测模块610,用于通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,所述编码信息预测结果用于指示与所述目标音频相适配的目标编码器以及与所述目标音频相适配的目标
编码参数;音频编码模块620,用于通过所述目标编码器按照所述目标编码参数对所述目标音频进行编码,得到目标编码码流;数据封装模块630,用于将所述目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包;所述目标解码器是与所述目标编码器相对应的解码器;数据发送模型640,用于向音频解码端发送所述编码数据包,以使所述音频解码端通过目标解码器对目标编码码流进行解码。
[0133]
在一些实施例中,音频编码装置600还可以包括: 结果预测模块,用于基于预设控制网络对样本音频进行编码信息预测,得到样本预测结果;所述样本预测结果用于指示与所述样本音频相适配的训练编码器以及与所述样本音频相适配的训练编码参数;样本编码模块,用于通过所述训练编码器按照所述训练编码参数对所述样本音频进行编码,得到样本编码码流;样本解码模块,用于通过所述训练编码器对应的训练编码器对所述样本编码码流进行解码,得到样本解码音频;指标获取模块,用于获取所述预设控制网络对应的训练指标;所述训练指标至少包括编解码开销、编码比特消耗以及音质评分;所述编解码开销为基于所述训练编码器对所述样本音频进行编码的开销和所述训练编码器对所述样本编码码流进行解码的开销经加权计算得到;所述音质评分为基于所述样本音频和所述样本解码音频经音质测量得到;损失计算模块,用于根据所述训练指标,计算所述预设控制网络对应的目标损失值;网络训练模块,用于基于所述目标损失值对所述预设控制网络进行迭代训练,直至所述预设控制网络满足训练结束条件,得到目标控制网络。
[0134]
在一些实施例中,所述训练指标包括编解码开销、编码比特消耗以及音质评分,损失计算模块可以具体用于:基于所述编解码开销和计算开销权重,确定开销值;基于所述编码比特消耗和比特消耗权重,确定消耗值;基于所述音质评分和音质权重,确定评分值;对所述开销值、所述消耗值和所述评分值进行求和,得到所述预设控制网络对应的目标损失值。
[0135]
在一些实施例中,信息预测模块610可以具体用于:对所述目标音频进行特征提取,得到所述目标音频对应的音频特征;将所述音频频谱特征输入至目标控制网络进行编码信息预测,得到编码信息预测结果。
[0136]
在一些实施例中,所述目标编码参数包括编码码率,音频编码模块620可以具体用于:通过所述目标编码器按照所述编码码率对所述目标音频进行编码,得到目标编码码流。
[0137]
在一些实施例中,音频编码装置600还可以包括:获取编解码训练集,所述编解码训练集包括多种业务类型的样本音频;基于每种业务类型的样本音频进行编解码训练,得到每种业务类型对应的候选编码器以及所述候选编码器对应的候选解码器;根据每种业务类型的对应候选编码器和候选解码器构建编解码库,以便基于编码信息预测结果,从所述编解码库中确定与目标音频相适配的目标编码器。
[0138]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0139]
在本技术所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
[0140]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0141]
在本技术实施例中,可以利用目标控制网络对输入的目标音频进行编码信息预测,可以确定与目标音频相适配的目标编码器以及与目标音频相适配的目标编码参数,进而通过目标编码器按照目标编码参数对目标音频进行编码得到目标编码码流,并通过与目标编码器对应的目标解码器对目标编码码流进行解码。从而,能够在不同业务需求下,对目标音频进行针对性的编解码,避免在编解码过程中计算资源的过渡消耗,提高不同业务场景下音频编解码的性能。
[0142]
请参阅图10,其示出了本技术实施例提供的一种音频解码装置700的结构框图。该音频解码装置700应用于音频解码端,该音频解码装置700包括:数据接收模块710,用于接收从音频编码端发送的编码数据包;编码数据包是音频编码端基于音频编码装置得到的;数据解析模块720,用于对编码数据包进行解析,得到目标编码码流和目标解码器对应的解码器标识;解码确定模块730,用于基于目标解码器表示,从编解码库中确定与解码器标识匹配的目标解码器;码流解码模块740,用于通过目标解码器对目标编码码流进行解码,得到解码音频。
[0143]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0144]
在本技术所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
[0145]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0146]
如图11所示,本技术实施例还提供一种计算机设备800,该计算机设备800包括处理器810、存储器820、电源830和输入单元840,存储器820存储有计算机程序,计算机程序被处理器810调用时,可实执行上述实施例提供的各种方法步骤。本领域技术人员可以理解,图中示出的计算机设备的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:处理器810可以包括一个或多个处理核。处理器810利用各种接口和线路连接整个电池管理系统内的各种部分,通过运行或执行存储在存储器820内的指令、程序、指令集或程序集,调用存储在存储器820内的数据,执行电池管理系统的各种功能和处理数据,以及执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体控制。可选地,处理器810可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器810可集成中央处理器810(central processing unit,cpu)、图像处理器810(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器810中,单独通过一块通信芯片进行实现。
[0147]
存储器820可以包括随机存储器820(random access memory,ram),也可以包括只读存储器820(read-only memory)。存储器820可用于存储指令、程序、指令集或程序集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指
令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各种方法实施例的指令等。存储数据区还可以存储计算机设备在使用中所创建的数据(比如电话本和音视频数据)等。相应地,存储器820还可以包括存储器控制器,以提供处理器810对存储器820的访问。
[0148]
电源830可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源830还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0149]
输入单元840,该输入单元840可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0150]
尽管未示出,计算机设备800还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器810会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器820中,并由处理器810来运行存储在存储器820中的比如电话本和音视频数据,从而实现前述实施例提供的各种方法步骤。
[0151]
如图12所示,本技术实施例还提供一种计算机可读存储介质700,该计算机可读存储介质900中存储有计算机程序710,计算机程序910可被处理器调用于执行本技术实施例提供的各种方法步骤。
[0152]
计算机可读存储介质可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质900具有执行上述实施例中任何方法步骤的计算机程序的存储空间。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。计算机程序能够以适当形式进行压缩。
[0153]
根据本技术的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述实施例提供的各种方法步骤。
[0154]
以上,仅是本技术的较佳实施例而已,并非对本技术作任何形式上的限制,虽然本技术已以较佳实施例揭示如上,然而并非用以限定本技术,任何本领域技术人员,在不脱离本技术技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本技术技术方案内容,依据本技术的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本技术技术方案的范围内。

技术特征:
1.一种音频编码方法,其特征在于,应用于音频编码端,所述方法包括:通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,所述编码信息预测结果用于指示与所述目标音频相适配的目标编码器以及与所述目标音频相适配的目标编码参数;通过所述目标编码器按照所述目标编码参数对所述目标音频进行编码,得到目标编码码流;将所述目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包;所述目标解码器是与所述目标编码器相对应的解码器;向音频解码端发送所述编码数据包,以使所述音频解码端通过目标解码器对目标编码码流进行解码。2.根据权利要求1所述的方法,其特征在于,所述目标控制网络通过如下步骤训练得到:基于预设控制网络对样本音频进行编码信息预测,得到样本预测结果;所述样本预测结果用于指示与所述样本音频相适配的训练编码器以及与所述样本音频相适配的训练编码参数;通过所述训练编码器按照所述训练编码参数对所述样本音频进行编码,得到样本编码码流;通过所述训练编码器对应的训练解码器对所述样本编码码流进行解码,得到样本解码音频;获取所述预设控制网络对应的训练指标;所述训练指标至少包括编解码开销、编码比特消耗以及音质评分;所述编解码开销为基于所述训练编码器对所述样本音频进行编码的开销和所述训练编码器对所述样本编码码流进行解码的开销经加权计算得到;所述音质评分为基于所述样本音频和所述样本解码音频经音质测量得到;根据所述训练指标,计算所述预设控制网络对应的目标损失值;基于所述目标损失值对所述预设控制网络进行迭代训练,直至所述预设控制网络满足训练结束条件,得到目标控制网络。3.根据权利要求2所述的方法,其特征在于,所述训练指标包括编解码开销、编码比特消耗以及音质评分,所述根据所述训练指标,计算所述预设控制网络对应的目标损失值,包括:基于所述编解码开销和计算开销权重,确定开销值;基于所述编码比特消耗和比特消耗权重,确定消耗值;基于所述音质评分和音质权重,确定评分值;对所述开销值、所述消耗值和所述评分值进行求和,得到所述预设控制网络对应的目标损失值。4.根据权利要求1所述的方法,其特征在于,所述通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,包括:对所述目标音频进行特征提取,得到所述目标音频对应的音频特征;将所述音频频谱特征输入至目标控制网络进行编码信息预测,得到编码信息预测结果。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述目标编码参数包括编码码率,所述通过所述目标编码器按照所述目标编码参数对所述目标音频进行编码,得到目标编码码流,包括:通过所述目标编码器按照所述编码码率对所述目标音频进行编码,得到目标编码码流。6.根据权利要求1所述的方法,其特征在于,在所述通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果之前,所述方法还包括:获取编解码训练集,所述编解码训练集包括多种业务类型的样本音频;基于每种业务类型的样本音频进行编解码训练,得到每种业务类型对应的候选编码器以及所述候选编码器对应的候选解码器;根据每种业务类型的对应候选编码器和候选解码器构建编解码库,以便基于编码信息预测结果,从所述编解码库中确定与目标音频相适配的目标编码器。7.一种音频解码方法,其特征在于,应用于音频解码端,所述方法包括:接收从音频编码端发送的编码数据包;所述编码数据包是所述音频编码端按照如权利要求1至6任一项所述的方法得到的;对所述编码数据包进行解析,得到目标编码码流和目标解码器对应的解码器标识;基于所述目标解码器表示,将编解码库中与所述解码器标识匹配的候选解码器确定为目标解码器;通过所述目标解码器对所述目标编码码流进行解码,得到解码音频。8.一种音频编码装置,其特征在于,应用于音频编码端,所述装置包括:信息预测模块,用于通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,所述编码信息预测结果用于指示与所述目标音频相适配的目标编码器以及与所述目标音频相适配的目标编码参数;音频编码模块,用于通过所述目标编码器按照所述目标编码参数对所述目标音频进行编码,得到目标编码码流;数据封装模块,用于将所述目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包;所述目标解码器是与所述目标编码器相对应的解码器;数据发送模型,用于向音频解码端发送所述编码数据包,以使所述音频解码端通过目标解码器对目标编码码流进行解码。9.一种音频解码装置,其特征在于,应用于音频解码端,所述装置包括:数据接收模块,用于接收从音频编码端发送的编码数据包;所述编码数据包是所述音频编码端按照如权利要求1至6任一项所述的方法得到的;数据解析模块,用于对所述编码数据包进行解析,得到目标编码码流和目标解码器对应的解码器标识;解码确定模块,用于基于所述目标解码器表示,从编解码库中确定与所述解码器标识匹配的目标解码器;码流解码模块,用于通过所述目标解码器对所述目标编码码流进行解码,得到解码音频。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机
程序,所述计算机程序可被处理器调用执行如权利要求1至7任一项所述的方法。11.一种计算机设备,其特征在于,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个计算机程序,其中,所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行如权利要求1至7任一项所述的方法。12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被存储在存储介质中;计算机设备的处理器从存储介质读取所述计算机程序,处理器执行所述计算机程序,使得所述计算机设备执行如权利要求1至7任一项所述的方法。

技术总结
本申请提供一种音频编码方法,该方法包括:通过目标控制网络对目标音频进行编码信息预测,得到编码信息预测结果,编码信息预测结果用于指示与目标音频相适配的目标编码器和目标编码参数;通过目标编码器按照目标编码参数对目标音频进行编码,得到目标编码码流;将目标编码码流和目标解码器对应的解码器标识进行封装,得到编码数据包;向音频解码端发送编码数据包,以使音频解码端通过目标解码器对目标编码码流进行解码。本申请利用人工智能技术,通过目标控制网络对获取的目标音频进行编码信息预测,得到与目标音频适配的编码器和解码器进行编解码,从而,能够对不同业务需求的目标音频进行针对性的编解码,避免编解码过程中计算资源的过渡消耗。中计算资源的过渡消耗。中计算资源的过渡消耗。


技术研发人员:梁俊斌
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.07.12
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐