掌桥专利:专业的专利平台
掌桥专利
首页

音频数据处理方法、装置、设备及计算机可读存储介质

文献发布时间:2024-04-18 19:52:40


音频数据处理方法、装置、设备及计算机可读存储介质

技术领域

本申请涉及音频处理技术领域,尤其是涉及一种音频数据处理方法、装置、设备及计算机可读存储介质。

背景技术

数字音频矩阵系统,一般是由多个输入端口和多个输出端口组成的设备,将音频模拟信号编码为数字信号,然后进行各种DSP音频处理,最后通过模数转换输出音频模拟信号至功放进行播放。数字音频矩阵系统管理和控制音频信号的传输和分配,提供信号路由、切换、分配和控制功能,以实现多源多目标音频的灵活操作和管理。因此,数字音频矩阵系统广泛应用于控制中心、指挥调度中心、多媒体会议室、远程视频会议中心、展览展示馆、宴会厅、体育场馆等场景,以满足这些场景对公共扩声系统多方面的应用需求。

目前,数字音频矩阵系统中的DSP音频处理过程包括多项处理环节,例如解码、后处理、通道排序等,这些处理的执行存在串行关系。当输入数字音频矩阵系统的音频信号的数据量较大时,容易导致某一个或某几个处理环节耗时过久,使得其后续处理环节无法及时进行相应处理,产生卡顿现象;还可能导致之前的处理环节堆积数据而丢失数据,使得后续数据处理因数据不完整而导致整个数据处理的失真、甚至失败。

发明内容

为了解决上述技术问题,本申请提供一种音频数据处理方法、装置、设备及计算机可读存储介质。

第一方面,本申请提供一种音频数据处理方法,应用于数字音频矩阵系统,采用如下的技术方案:

一种音频数据处理方法,包括:

对待处理音频流数据进行音频格式检测,并将所述待处理音频流数据存储至第一缓冲区,其中,所述待处理音频流数据包括对应至少一种音频格式的多个待处理音频数据;

对于任一所述待处理音频数据,获取所述待处理音频数据的音频格式对应的音频解码器,利用所述音频解码器对所述待处理音频数据进行解码,生成PCM数据,将所述PCM数据存储至第二缓冲区;

对从所述第二缓冲区中读取的多个所述PCM数据进行后处理,生成多个多声道数据,并将所述多个多声道数据存储至第三缓冲区;

对从所述第三缓冲区读取的所述多个多声道数据进行通道排序,生成多个音频通道数据,并将多个音频通道数据存储至第四缓冲区,以使数模转换模块从所述第四缓冲区中读取所述多个音频通道数据进行数模转换。

可选的,所述第一缓冲区包括多个第一子缓冲区,每个所述第一子缓冲区均可存储一待处理音频数据;所述将所述待处理音频流数据存储至第一缓冲区包括:

对于任一所述待处理音频数据,将检测到的音频格式信息与所述待处理音频数据关联存储至对应的第一子缓冲区中;

所述第二缓冲区包括多个第二子缓冲区,每个所述第二子缓冲区均可存储一PCM数据;所述将所述多个PCM数据存储至第二缓冲区包括:

对于任一所述PCM数据,将所述PCM数据存储至对应的第二子缓冲区中;

所述第三缓冲区包括多个第三子缓冲区,每个所述第三子缓冲区均可存储一多声道数据;所述将多个音频通道数据存储至第四缓冲区包括:

对于任一所述多声道数据,将所述多声道数据存储至对应的第三子缓冲区中;

所述第四缓冲区包括多个第四子缓冲区,每个所述第四子缓冲区均可存储一多声道数据;所述将多个音频通道数据存储至第四缓冲区包括:

对于任一所述音频通道数据,将所述音频通道数据存储至对应的第四子缓冲区中。

可选的,所述第二子缓冲区、所述第三子缓冲区均与所述数字音频矩阵系统的音频输入通道一一对应。

可选的,所述将所述待处理音频流数据存储至第一缓冲区包括:

对于通过同一音频输入通道接收的多个待处理音频数据,按照接收时间依次存储至所述音频输入通道对应的第一子缓冲区。

可选的,所述第四子缓冲区与所述数字音频矩阵系统的音频输出通道一一对应。

可选的,在所述将多个音频通道数据存储至第四缓冲区之前,还包括:

响应于用户输入的音频调节指令,获取目标音频调节信息,其中,所述目标音频调节信息包括目标音量和目标音效;

在所述将多个音频通道数据存储至第四缓冲区之前,还包括:

将所述多个音频通道数据存储至第五缓冲区;

从所述第五缓冲区中读取所述多个音频通道数据,并基于所述目标音频调节信息对所述多个音频通道数据进行音频调节;

所述将多个音频通道数据存储至第四缓冲区包括:

将音频调节后的所述多个音频通道数据存储至所述第四缓冲区。

可选的,所述后处理包括渲染、上混、下采样、三维空间重新映射、滤波、降噪中的至少一种。

第二方面,本申请提供一种电子设备,采用如下的技术方案:

一种音频数据处理装置,应用于数字音频矩阵系统,包括:

检测缓冲模块,用于对待处理音频流数据进行音频格式检测,并将所述待处理音频流数据存储至第一缓冲区,其中,所述待处理音频流数据包括对应至少一种音频格式的多个待处理音频数据;

解码缓冲模块,用于对于任一所述待处理音频数据,获取所述待处理音频数据的音频格式对应的音频解码器,利用所述音频解码器对所述待处理音频数据进行解码,生成PCM数据,将所述PCM数据存储至第二缓冲区;

后处理缓冲模块,用于对从所述第二缓冲区中读取的多个所述PCM数据进行后处理,生成多个多声道数据,并将所述多个多声道数据存储至第三缓冲区;

排序缓冲模块,用于对从所述第三缓冲区读取的所述多个多声道数据进行通道排序,生成多个音频通道数据,并将多个音频通道数据存储至第四缓冲区,以使数模转换模块从所述第四缓冲区中读取所述多个音频通道数据进行数模转换。

第三方面,本申请提供一种电子设备,采用如下的技术方案:

一种电子设备,包括存储器和处理器;所述存储器上存储有能够被所述处理器加载并执行的计算机程序,所述计算机程序实现第一方面任一项所述装置的功能。

第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:

一种计算机可读存储介质,存储有能够被处理器加载并执行的计算机程序,所述计算机程序实现第一方面任一项所述装置的功能。

通过采用上述技术方案,在音频格式检测、解码、后处理、通道排序等音频数据处理环节均设置缓冲区,使每个处理环节的处理效率均不容易对其他处理环节的处理产生重大的不良影响,使得处理环节之间的关联性减弱。即使输入数字音频矩阵系统的音频数据量大,也可通过缓冲区的延迟作用,不容易使后续音频数据处理环节产生数据堆积而导致音频处理故障或卡顿,进而减少音频数据处理失真、失败的情况,提升音频数据处理的效率和准确率。

附图说明

图1是本申请实施例的一种音频数据处理方法的流程示意图。

图2是本申请实施例的一种音频数据处理装置的结构框图。

图3是本申请实施例的一种电子设备的结构框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

图1为本申请实施例提供的一种应用于数字音频矩阵系统的音频数据处理方法的流程示意图。如图1所示,该方法主要包括以下步骤:

步骤S101,对待处理音频流数据进行音频格式检测,并将待处理音频流数据存储至第一缓冲区,其中,待处理音频流数据包括对应至少一种音频格式的多个待处理音频数据;

步骤S102,对于任一待处理音频数据,获取待处理音频数据的音频格式对应的音频解码器,利用音频解码器对待处理音频数据进行解码,生成PCM数据,将PCM数据存储至第二缓冲区;

步骤S103,对从第二缓冲区中读取的多个PCM数据进行后处理,生成多个多声道数据,并将多个多声道数据存储至第三缓冲区;

步骤S104,对从第三缓冲区读取的多个多声道数据进行通道排序,生成多个音频通道数据,并将多个音频通道数据存储至第四缓冲区,以使数模转换装置从第四缓冲区中读取多个音频通道数据进行数模转换。

本实施例中,在音频格式检测、解码、后处理、通道排序等多个音频数据处理环节均设置缓冲区,即使待处理的音频数据量较大,也可通过缓冲区的延迟作用,不容易使后续音频数据处理环节产生数据堆积而导致音频处理故障或卡顿,每个处理环节的处理效率均不容易对其他处理环节的处理产生重大的不良影响,使得处理环节之间的关联性减弱;并且,也不容易因数据堆积而丢失数据,可以有效减少因数据不完整而导致整个音频处理的失真、失败的情况发生,提升音频数据处理的效率和准确率。

需要说明的是,数字音频矩阵系统通过其上设置的音频输入端口,接收各音频源输入的音频信号。其中,音频源包括但不限于麦克风、电子乐器、PC机、DVD机、笔记本电脑;音频输入端口包括但不限于普通HDMI接口、带ARC功能的HDMI接口、数字光纤音频接口、USB接口、AES/EBU接口、RCA音频接口中的至少一种。

本实施例中,待处理音频流数据是数字音频信号,因此,如果音频源输入的音频信号是模拟信号,需要先对其进行模数转换,生成数字音频信号,再将数字音频信号进行拼接,得到待处理音频流数据。

数模转换装置从第四缓冲区中读取多个音频通道数据进行数模转换,生成多通道的音频模拟信号,输出至与数字音频矩阵系统连接的功放设备进行播放。功放设备为多声道音响系统,其设置多个扬声器,扬声器与音频输出通道一一对应,每个音频输出通道均输出对应的单声道音频信号。

一些实施例中,各缓冲区的大小设置与各处理环节的处理能力相关,对所有处理环节的处理能力进行排序,各处理环节对应的缓冲区的容量与处理能力成反比例相关。

本实施例中,音频格式包括但不限于MP3、WMA、WAV、AAC、FLAC、APE、WV、ASF、VQF、MID、OGG。

本实施例中,后处理可以包括但不限于渲染、上混、下采样、三维空间重新映射、滤波、降噪中的至少一种,对此本实施例不做具体限定。

一些实施例中,可以对各缓冲区进一步划分,具体如下:

(1)第一缓冲区包括多个第一子缓冲区,每个第一子缓冲区均可存储一待处理音频数据;对于任一待处理音频数据,将检测到的音频格式信息与待处理音频数据关联存储至对应的第一子缓冲区中。

(2)第二缓冲区包括多个第二子缓冲区,每个第二子缓冲区均可存储一PCM数据;对于任一PCM数据,将PCM数据存储至对应的第二子缓冲区中。

(3)第三缓冲区包括多个第三子缓冲区,每个第三子缓冲区均可存储一多声道数据;对于任一多声道数据,将多声道数据存储至对应的第三子缓冲区中。

可选的,数字音频矩阵系统拥有多个音频输入端口(即音频输入通道)因此,对于第一缓冲区、第二缓冲区、第三缓冲区,可根据音频输入通道数对每个缓冲区进行子区划分,即第一子缓冲区、第二子缓冲区、第三子缓冲区均与数字音频矩阵系统的音频输入通道一一对应。

进一步地,对于通过同一音频输入通道接收的多个待处理音频数据,可按照接收时间依次存储至该音频输入通道对应的第一子缓冲区。

(4)第四缓冲区包括多个第四子缓冲区,每个第四子缓冲区均可存储一多声道数据;对于任一音频通道数据,将音频通道数据存储至对应的第四子缓冲区中。

可选的,数字音频矩阵系统拥有多个音频输出端口(即音频输出通道),因此,可根据音频输出通道对第四缓冲区进行子区划分,即第四子缓冲区与数字音频矩阵系统的音频输出通道一一对应。

进一步地,对于每一缓冲区,除了已划分的子缓冲区,还可设置备用缓冲区,每个缓冲区对应的备用缓冲区的容量可设置相同或不同。

当子缓冲区的已用容量比达到第一预设值(例如90%)时,将从该子缓冲区所属的缓冲区对应的备用缓冲区中提取预设缓冲区,作为该子缓冲区的备用子缓冲区,当该子缓冲区的已用容量比达到100%时,将该子缓冲区所属的缓冲区对应的待处理音频数据继续存储至该子缓冲区的备用子缓冲区。

其中,已用容量比为已用容量与总容量的比值。预设缓冲区的容量可以设置为备用缓冲区的总容量/N,N可以取值为缓冲区的总数的n倍,n>0即可,例如n=1,n=2,n=0.5。

当然,每个子缓冲区所对应的预设缓冲区的N取值可相同,也可不同。若不同,则可与子缓冲区在其所属的缓冲区的容量占比成反比例相关。例如,第一缓冲区包括第一子缓冲区a、第一子缓冲区b和第一子缓冲区c,分别计算各第一子缓冲区的总容量与第一缓冲区的总容量的比值即容量占比,依次为A、B、C,且A>B>C,第一子缓冲区a、第一子缓冲区b和第一子缓冲区c对应的预设缓冲区的N取值依次为N1、N2和N3,此时设置N1<N2<N3。

一些实施例中,用户可向数字音频矩阵系统输入音频调节指令,用来调节音量和音效。在将多个音频通道数据存储至第四缓冲区之前,数字音频矩阵系统响应于用户输入的音频调节指令,获取目标音频调节信息,其中,目标音频调节信息包括目标音量和目标音效。将多个音频通道数据存储至第五缓冲区;从第五缓冲区中读取多个音频通道数据,并基于目标音频调节信息对多个音频通道数据进行音频调节;将音频调节后的多个音频通道数据存储至第四缓冲区。

需要说明的是,第五缓冲区也可按照第四缓冲区的子区划分方法来划分第五子缓冲区,具体不再赘述。

图2为本申请实施例提供的一种应用于数字音频矩阵系统的音频数据处理装置200的结构框图。如图2所示,该装置200主要包括:

检测缓冲模块201,用于对待处理音频流数据进行音频格式检测,并将待处理音频流数据存储至第一缓冲区,其中,待处理音频流数据包括对应至少一种音频格式的多个待处理音频数据;

解码缓冲模块202,用于对于任一待处理音频数据,获取待处理音频数据的音频格式对应的音频解码器,利用音频解码器对待处理音频数据进行解码,生成PCM数据,将PCM数据存储至第二缓冲区;

后处理缓冲模块203,用于对从第二缓冲区中读取的多个PCM数据进行后处理,生成多个多声道数据,并将多个多声道数据存储至第三缓冲区;

排序缓冲模块204,用于对从第三缓冲区读取的多个多声道数据进行通道排序,生成多个音频通道数据,并将多个音频通道数据存储至第四缓冲区,以使数模转换装置从第四缓冲区中读取多个音频通道数据进行数模转换。

作为本实施例的一种可选实施方式,第一缓冲区包括多个第一子缓冲区,每个第一子缓冲区均可存储一待处理音频数据;检测缓冲模块201,具体用于对于任一待处理音频数据,将检测到的音频格式信息与待处理音频数据一起存储至对应的第一子缓冲区中。

作为本实施例的一种可选实施方式,第二缓冲区包括多个第二子缓冲区,每个第二子缓冲区均可存储一PCM数据;解码缓冲模块202,具体用于对于任一PCM数据,将PCM数据存储至对应的第二子缓冲区中;

作为本实施例的一种可选实施方式,第三缓冲区包括多个第三子缓冲区,每个第三子缓冲区均可存储一多声道数据;后处理缓冲模块203,具体用于对于任一多声道数据,将多声道数据存储至对应的第三子缓冲区中。

可选的,第二子缓冲区、第三子缓冲区均与数字音频矩阵系统的音频输入通道一一对应。

可选的,检测缓冲模块201,还具体用于对于通过同一音频输入通道接收的多个待处理音频数据,按照接收时间依次存储至音频输入通道对应的第一子缓冲区。

作为本实施例的一种可选实施方式,第四缓冲区包括多个第四子缓冲区,每个第四子缓冲区均可存储一多声道数据;排序缓冲模块204,具体用于对于任一音频通道数据,将音频通道数据存储至对应的第四子缓冲区中。

可选的,第四子缓冲区与数字音频矩阵系统的音频输出通道一一对应。

作为本实施例的一种可选实施方式,该装置还包括:

响应获取模块,用于响应于用户输入的音频调节指令,获取目标音频调节信息,其中,目标音频调节信息包括目标音量和目标音效;

调节缓冲模块,用于在将多个音频通道数据存储至第四缓冲区之前,将多个音频通道数据存储至第五缓冲区;从第五缓冲区中读取多个音频通道数据,并基于目标音频调节信息对多个音频通道数据进行音频调节;

排序缓冲模块204,具体用于将音频调节后的多个音频通道数据存储至第四缓冲区。

作为本实施例的一种可选实施方式,后处理包括渲染、上混、下采样、三维空间重新映射、滤波、降噪中的至少一种。

本申请实施例提供的方法中的各种变化方式和具体实例同样适用于本实施例提供的音频数据处理装置,通过前述对音频数据处理方法的详细描述,本领域技术人员可以清楚的知道本实施例中的音频数据处理装置的实施方法,为了说明书的简洁,在此不再详述。

本申请实施例中的各功能模块可以集成在一起形成一个独立的单元,例如集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成形成一个独立的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器或者网络设备等) 或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

图3为本申请实施例提供的一种电子设备300的结构框图。如图3所示,电子设备300包括存储器301、处理器302、通信总线303;存储器301、处理器302通过通信总线303相连。

存储器301可用于存储指令、程序、代码、代码集或指令集。存储器301可以包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令以及用于实现上述实施例提供的音频数据处理方法的功能的指令等;存储数据区可存储上述实施例提供的音频数据处理方法中涉及到的数据等。

处理器302可以包括一个或者多个处理核心。处理器302通过运行或执行存储在存储器301内的指令、程序、代码集或指令集,调用存储在存储器301内的数据,执行本申请的各种功能和处理数据。处理器302可以为特定用途集成电路(Application SpecificIntegrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器和微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器302功能的电子器件还可以为其它,本申请实施例不作具体限定。

通信总线303可包括一通路,在上述组件之间传送信息。通信总线303可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA (ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线303可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双箭头表示,但并不表示仅有一根总线或一种类型的总线。且图3示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

本申请实施例提供一种计算机可读存储介质,存储有能够被处理器加载并执行实现上述实施例提供的音频数据处理方法的计算机程序。

本实施例中,计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。具体的,计算机可读存储介质可以是便携式计算机盘、硬盘、U盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、讲台随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、光盘、磁碟、机械编码设备以及上述任意组合。

在本申请所提供的实施例中,应该理解到,所揭露的系统、装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,需要理解的是,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120116335933