一种多音频输出方法和装置与流程

文档序号:13845377阅读:228来源:国知局
一种多音频输出方法和装置与流程

本发明涉及音频输出处理领域,尤其涉及一种多音频输出方法和装置。



背景技术:

随着智能系统深入到各个领域,硬件设备的配置也一路走高,单个设备需要同时兼顾不同场景的需求越来越多。其中,多音频的分离输出使用场景尤为关键。

如图1所示,现有的单设备要实现支持多音频输出,通常情况下是需要同时具备多个音频输出接口,例如具备两组i2s、或者具备一组i2s和一组pcm接口,成本较高。当音频输出接口存在管脚复用或者设备不具有那么多音频输出接口时,则无法完成多音频不同硬件同时输出的功能,影响了用户体验。



技术实现要素:

为此,需要提供一种多音频输出的技术方案,用以解决目前没有多个音频输出接口的设备无法同时支持多音频分离,导致用户体验差的问题。

为实现上述目的,发明人提供了一种多音频输出装置,所述装置包括处理器、音频编解码器、存储介质和至少一个输出设备;所述处理器与音频编解码器连接,所述处理器与存储介质连接,所述音频编解码器与输出设备连接;所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

接收多组音频流数据,根据预设配置信息对音频流数据进行分类,所述预设配置信息包括输出设备输出数据时对应的输出参数;

对属于同一输出类型的音频流进行重采样和混音处理,得到混音数据;

根据预设合成规则对混音数据或未经过混音处理的音频流数据进行合成,得到音频合成数据,并将音频合成数据传输至音频编解码器;

所述音频编解码器用于接收音频合成数据,并根据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至对应的输出设备进行输出。

进一步地,所述计算机程序被处理器执行时还实现以下步骤:

判断当前装置是否处于多音频输出模式,若是则根据预设合成规则对混音数据以及未经过混音处理的音频流数据进行合成,得到音频合成数据;否则直接输出音数据或未经过混音处理的音频流数据。

进一步地,所述音频编解码器用于根据输出设备输出数据时对应的输出参数以及音频合成数据,确定预设合成规则,并根据所确定的预设合成规则确定对应的分离规则。

进一步地,所述音频编解码器用于判断当前装置是否处于多设备输出模式,若是则据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至多个不同的输出设备进行输出;否则直接将音频合成数据传输至对应的输出设备进行输出。

发明人还提供了一种多音频输出方法,所述方法应用于多音频输出装置;所述装置包括处理器、音频编解码器和至少一个输出设备;所述处理器与音频编解码器连接,所述音频编解码器与输出设备连接;所述方法包括以下步骤:

处理器接收多组音频流数据,根据预设配置信息对音频流数据进行分类,所述预设配置信息包括输出设备输出数据时对应的输出参数;

处理器对属于同一输出类型的音频流进行重采样和混音处理,得到混音数据;

处理器根据预设合成规则对混音数据或未经过混音处理的音频流数据进行合成,得到音频合成数据,并将音频合成数据传输至音频编解码器;

音频编解码器接收音频合成数据,并根据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至对应的输出设备进行输出。

进一步地,所述方法还包括以下步骤:

处理器判断当前装置是否处于多音频输出模式,若是则根据预设合成规则对混音数据以及未经过混音处理的音频流数据进行合成,得到音频合成数据;否则直接输出音数据或未经过混音处理的音频流数据。

进一步地,所述方法还包括以下步骤:

音频编解码器根据输出设备输出数据时对应的输出参数以及音频合成数据,确定预设合成规则,并根据所确定的预设合成规则确定对应的分离规则。

进一步地,所述方法包括:

音频编解码器判断当前装置是否处于多设备输出模式,若是则据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至多个不同的输出设备进行输出;否则直接将音频合成数据传输至对应的输出设备进行输出。

区别于现有技术,上述技术方案的多音频输出方法和装置,所述方法包括步骤:处理器接收多组音频流数据,根据预设配置信息对音频流数据进行分类,以及对属于同一输出类型的音频流进行重采样和混音处理,得到混音数据,并根据预设合成规则对混音数据或未经过混音处理的音频流数据进行合成,得到音频合成数据,并将音频合成数据传输至音频编解码器;音频编解码器接收音频合成数据,并根据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至对应的输出设备进行输出。本发明可以使单个音频输出接口的设备也能进行多音频同时分离输出,有效降低了硬件成本,提升了用户体验。

附图说明

图1为背景技术所述的现有的多音频输出装置的结构示意图;

图2为本发明一具体实施方式所述的多音频输出装置的结构示意图;

图3为本发明另一具体实施方式所述的多音频输出装置的结构示意图;

图4为本发明一具体实施方式所述的预设合成规则的示意图;

图5为本发明另一具体实施方式所述的预设合成规则的示意图;

图6为本发明一具体实施方式所述的多音频输出方法的流程图;

附图标记说明:

101、处理器;

102、音频编解码器;

103、存储介质;

104、输出设备。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

请参阅图3,为本发明另一具体实施方式所述的多音频输出装置的结构示意图。所述装置为具有音频处理和音频输出功能的电子设备,如平板电脑、个人计算机、手机终端等等。所述装置包括处理器101、音频编解码器102、存储介质103和至少一个输出设备104;所述处理器101与音频编解码器102连接,所述音频编解码器102与输出设备104连接。如图2所示,所述处理器可以为cpu,cpu与audiocodec(即音频编解码器)通过i2s音频总线进行连接。所述输出设备包括蓝牙设备(如图2中的蓝牙)、耳机穿戴设备(如图2中的耳机)、麦克风设备(如图2中的喇叭)等。

所述存储介质103与处理器101连接,所述存储介质103存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

接收多组音频流数据,根据预设配置信息对音频流数据进行分类。所述预设配置信息包括输出设备输出数据时对应的输出参数。所述输出参数包括输出设备的采样率、声道数、输出精度中的一种或多种。通过对音频流数据进行分类,从而判断得出每个音频流数据最终由哪个输出设备进行输出,为后续多音频数据的分离做好准备

而后对属于同一输出类型的音频流进行重采样和混音处理,得到混音数据。例如多媒体音、通知铃音、voip语音三组音频流数据同时出现,需要在一个设备上进行输出,可以将多媒体音和通知铃音设定为麦克风设备(如喇叭)进行输出,voip语音设定为蓝牙输出。由于多媒体音、通知铃音属于同一输出类型(即通过同一输出设备进行输出),因而会先将多媒体音和通知铃音进行重采样,以使得重采样后的采样率达到麦克风设备所支持的采样率,而后再对两者进行混音处理,以便后续进一步合成输出。

而后根据预设合成规则对混音数据或未经过混音处理的音频流数据进行合成,得到音频合成数据,并将音频合成数据传输至音频编解码器。在需要同步输出的所有音频流数据中,某一个输出类型的音频流数据可能只有一个,也可能为多个。因而在对多组音频流数据进行分类后,可能出现以下几种情况:(1)每一输出类型的音频流数据均有两个以上;(2)存在着至少一个输出类型的音频流数据在两个以上,以及存在着至少一个输出类型的音频流数据只有一个。因此,音频合成数据可能通过以下几种组织进行合成得到:(1)对多组混音数据进行合成;(2)对一组混音数据和多组未经过混音处理的音频流数据进行合成;(3)多组混音数据和一组未经过混音处理的音频流数据进行合成;(4)对多组未经过混音处理的音频流数据进行合成。

当音频合成数据传输至音频编解码器后,所述音频编解码器用于接收音频合成数据,并根据预设合成规则对应的分离规则对音频合成数据进行无损分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至对应的输出设备进行输出。进一步地,所述音频编解码器用于根据输出设备输出数据时对应的输出参数以及音频合成数据,确定预设合成规则,并根据所确定的预设合成规则确定对应的分离规则。音频编解码器可以通过读取硬件输出列表来获知各个输出设备输出数据时对应的输出参数。

如图4所示,为本发明一具体实施方式所述的预设合成规则的示意图。这一预设合成规则是基于扩展输出精度进行合成,具体是在各个输出类型的音频流数据的输出精度一致的情况下(例如均为16bit/8bit),根据采样率倍频关系,通过扩展输出精度对混音数据或未经过混音处理的音频流数据进行合成,得到音频合成数据。

如图5所示,为本发明另一具体实施方式所述的预设合成规则的示意图。这一预设合成规则是基于将音频合成数据按照更高的采样率进行输出,例如经过合成后的音频合成数据的输出精度为最高输出精度,所述最高输出精度是指合成该音频合成数据的混音数据或未经过混音处理的音频流数据中输出精度的最大值。经过合成后的音频合成数据的声道数为最高声道数,所述最高声道数是指合成该音频合成数据的混音数据或未经过混音处理的音频流数据中声道数的最大值。在另一些实施例中,预设合成规则还可以根据实际需要自定义选取,只需满足音频合成数据的采样率可以支持多组音频输出采样率组合即可。

为了更好地对单设备的多音频输出进行控制,在某些实施例中,所述计算机程序被处理器执行时还实现以下步骤:判断当前装置是否处于多音频输出模式,若是则根据预设合成规则对混音数据以及未经过混音处理的音频流数据进行合成,得到音频合成数据;否则直接输出音数据或未经过混音处理的音频流数据。装置是否多音频输出模式可以根据处理器是否接收到相应的触控指令进行判断。简言之,就是在装置处于多音频设备同时输出状态(即多组音频流数据需要通过相同或不同的输出设备进行同时输出)时,对音频流数据进行合成,否则不进行合成处理,依次向音频编解码器逐个输出音频流数据,音频编解码器接收音频流数据后,将各个音频流数据传输至对应的输出设备进行输出即可。

在某些实施例中,所述音频编解码器用于判断当前装置是否处于多设备输出模式,若是则据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至多个不同的输出设备进行输出;否则直接将音频合成数据传输至对应的输出设备进行输出。例如多媒体音和通知铃音这两组音频流数据同时出现,而多媒体音和通知铃音均可以通过麦克风设备(如喇叭)进行输出,则可以先对这两者进行重采样、混音处理,得到混音数据并传输给音频编解码器。音频编解码器判定当前未处于多设备输出模式(即只要一种输出类型的音频数据),因而不对混音数据进行无损分离,而是直接将混音数据发送至麦克风设备进行输出。这样,音频编解码器只在多设备输出模式时,才对音频合成数据进行无损分离,节省了设备功耗。

如图6所示,为本发明一具体实施方式所述的多音频输出方法的流程图。所述方法应用于多音频输出装置;所述装置包括处理器、音频编解码器和至少一个输出设备;所述处理器与音频编解码器连接,所述音频编解码器与输出设备连接;所述方法包括以下步骤:

首先进入步骤s601处理器接收多组音频流数据,根据预设配置信息对音频流数据进行分类。所述预设配置信息包括输出设备输出数据时对应的输出参数。

而后进入步骤s602处理器对属于同一输出类型的音频流进行重采样和混音处理,得到混音数据。

而后进入步骤s603处理器根据预设合成规则对混音数据或未经过混音处理的音频流数据进行合成,得到音频合成数据,并将音频合成数据传输至音频编解码器。在某些实施例中,所述方法还包括以下步骤:音频编解码器根据输出设备输出数据时对应的输出参数以及音频合成数据,确定预设合成规则,并根据所确定的预设合成规则确定对应的分离规则。

而后进入步骤s604音频编解码器接收音频合成数据,并根据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至对应的输出设备进行输出。

为了更好地对单设备的多音频输出进行控制,在某些实施例中,所述方法还包括以下步骤:处理器判断当前装置是否处于多音频输出模式,若是则根据预设合成规则对混音数据以及未经过混音处理的音频流数据进行合成,得到音频合成数据;否则直接输出音数据或未经过混音处理的音频流数据。

为了更好地对单设备的多音频输出进行控制,在某些实施例中,所述方法包括:音频编解码器判断当前装置是否处于多设备输出模式,若是则据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至多个不同的输出设备进行输出;否则直接将音频合成数据传输至对应的输出设备进行输出。

本发明提供了一种多音频输出方法和装置,所述方法包括步骤:处理器接收多组音频流数据,根据预设配置信息对音频流数据进行分类,以及对属于同一输出类型的音频流进行重采样和混音处理,得到混音数据,并根据预设合成规则对混音数据或未经过混音处理的音频流数据进行合成,得到音频合成数据,并将音频合成数据传输至音频编解码器;音频编解码器接收音频合成数据,并根据预设合成规则对应的分离规则对音频合成数据进行分离,并将分离后的混音数据或未经过混音处理的音频流数据分别传输至对应的输出设备进行输出。本发明可以使单个音频输出接口的设备也能进行多音频同时分离输出,有效降低了硬件成本,提升了用户体验。

需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1