音频数据的处理方法及处理器与流程

文档序号:12829213阅读:300来源:国知局
音频数据的处理方法及处理器与流程

本发明涉及音频数据处理领域,具体而言,涉及一种音频数据的处理方法及处理器。



背景技术:

相关技术中,在音频信号处理时,由于音频信号本身的复杂性,导致在配置音频信号时,配置复杂,尤其是普通的用户,不了解音频信号的传输方式,不知道如何配置音频信号;同时,当前各个公司在进行音频信号处理时,常常出现的问题是音频信号在传输过程中,容易受到外来设备的干扰,无法准确的传输音频信号;另外,当前的音频信号处理设备,成本高昂,一般公司或用户无法自行配置或处理,而且当前的音频信号在传输时,传输的距离较短,无法保证在用户设备与服务器出现长距离的情况下,能及时、准确的传输音频信号。

针对上述音频数据信号传输距离短的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种音频数据的处理方法及处理器,以至少解决音频数据信号传输距离短的技术问题。

根据本发明实施例的一个方面,提供了一种音频数据的处理方法,包括:接收通过采样得到的模拟音频信号;对所述模拟音频信号进行模数转换,得到数字音频信号;对所述数字音频信号进行打包处理,得到音频数据包,其中,所述音频数据包中携带有标识信息,所述标识信息用于判断所述音频数据包中的音频采样点是否有效,所述音频采样点用于携带数字音频信号;将所述音频数据包发送至网络中。

进一步地,对所述模拟音频信号进行模数转换,得到数字音频信号包括:通过主时钟对所述模拟音频信号中的时钟信息和音频数据进行对齐处理;将对齐处理后的所述模拟音频信号进行格式转换,得到并行格式的所述数字音频信号。

进一步地,所述音频信号中的时钟信息包括帧时钟和位时钟,将对齐处理后的所述模拟音频信号进行格式转换,得到并行格式的所述数字音频信号包括:检测所述帧时钟是否出现上升沿或下降沿;在检测到所述帧时钟出现下降沿时,检测所述位时钟是否出现上升沿;在检测到所述位时钟出现第二个上升沿时,接收所述音频数据,并存储在第一寄存器中;在检测到所述帧时钟出现上升沿时,检测所述位时钟是否出现上升沿;在检测到所述位时钟出现第二个上升沿时,接收所述音频数据,并存储在第二寄存器中。

进一步地,在检测到所述位时钟出现第二个上升沿时,接收所述音频数据,并存储在第二寄存器中之后,包括:检测所述帧时钟中是否出现下降沿;在检测出所述帧时钟出现下降沿的情况下,对所述第一寄存器和所述第二寄存器进行锁存;输出所述第一寄存器和所述第二寄存器中存储的音频数据,得到所述数字音频信号。

进一步地,对所述数字音频信号进行打包处理,得到音频数据包包括:在所述数字音频信号中添加验证信息,得到音频采样点,其中,每个音频采样点中携带添加所述验证信息的音频数据;将所述音频采样点存储在预设缓存区中;根据预设频率读取所述预设缓存区中的音频采样点;按照时间顺序对所述音频采样点进行打包,得到所述音频数据包。

根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例中任意一项所述的音频数据的处理方法。

根据本发明实施例的另一方面,还提供了一种音频数据的处理方法,包括:接收音频数据包,其中,所述音频数据包中携带有标识信息,所述标识信息用于判断所述音频数据包中的音频采样点是否有效,所述音频采样点用于携带数字音频信号;解析所述音频数据包,得到所述数字音频信号;对所述数字音频信号进行时钟变换,得到数字时钟信号;对所述数字时钟信号进行数模转换,得到模拟音频信号。

进一步地,在接收音频数据包之前,包括:通过终端解析所述音频数据包中的数据报文信息,其中,所述数据报文信息包括所述音频数据包的目的地址和端口号;判断所述目的地址和端口号与所述终端的本地ip地址和端口号是否相同;在判断出所述目的地址和端口号与所述终端的本地ip地址和端口号相同的情况下,接收所述音频数据包;在判断出所述目的地址和端口号与该终端的本地ip地址和端口号不相同的情况下,发送所述音频数据包至下一终端,或者,将所述音频数据包丢弃。

进一步地,对所述数字音频信号进行时钟变换,得到数字时钟信号包括:将所述数字音频信号存储在预设存储器中;根据所述预设存储器中有效音频数据个数调整所述数字音频信号,得到所述数字时钟信号。

进一步地,根据所述预设存储器中有效音频数据个数调整所述数字音频信号包括:调整频率控制端的脉冲占空比;根据所述脉冲占空比调整所述数字音频信号。

根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例中任意一项所述的音频数据的处理方法。

在本发明实施例中,通过接收采样得到的模拟音频信号,以及对模拟音频信号进行模数转换,得到数字音频信号,该数字音频信号可以被网络服务器识别,然后对数字音频信号进行打包处理,得到音频数据包,其中,音频数据包中携带有标识信息,标识信息用于判断音频数据包中的音频采样点是否有效,音频采样点用于携带数字音频信号,将音频数据包发送至网络中。根据该实施方式,可以将采样得到的模拟音频信号经过模数转换,得到数字音频信号,并对该数字音频信号进行相应的处理,以发送至网络中,这样可以通过网络传输音频信号,也可以通过终端设备接收网络中的音频数据,可以解决音频数据信号传输距离短的技术问题,达到实时有效的传输音频信号的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的音频数据的处理方法的示意图;

图2是根据本发明实施例的另一种可选的音频数据的处理方法的流程图;

图3是根据本发明实施例的一种可选的音频数据处理的音频发送端的示意图;

图4是根据本发明实施例的一种可选的音频数据处理的音频接收端的示意图;

图5是根据本发明实施例的一种可选的数据格式的示意图;

图6是根据本发明实施例的一种可选的音频数据发送的示意图;

图7是根据本发明实施例的一种可选的接口时序的示意图;以及

图8是根据本发明实施例的一种可选的接口数据帧结构的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

dac,数字模拟转换器,是一种将数字信号转换为模拟信号(以电流、电压或电荷的形式)的设备,将数字形式存储的音频信号输出为模拟的声音。

adc,模拟数字转换器,是一种将模拟信号转换为数字信号的设备。

osi模型,包括七层模型,包括应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。

全双工(fullduplex)是指在发送数据的同时也能够接收数据,两者同步进行。

i2s(inter—icsound)总线,集成电路内置音频总线,该总线用于音频设备之间的数据传输,采用沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真。

fpga,现场可编程门阵列。

udp协议,用户数据报协议,在报文发送之后,无法得知其是否安全完整到达。

单播,用于两个主机之间的端对端通信。

vcxo,voltagecontrolledx'tal(crystal)oscillator,压控振荡器,是通过电压控制晶振的频率输出。

mac,媒体访问控制层,属于osi模型中数据链路层的下层子层。

根据本发明实施例,提供了一种音频数据的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的音频数据的处理方法的示意图,如图1所示,该方法包括如下步骤:

步骤s102,接收通过采样得到的模拟音频信号;

步骤s104,对模拟音频信号进行模数转换,得到数字音频信号;

步骤s106,对数字音频信号进行打包处理,得到音频数据包,其中,音频数据包中携带有标识信息,标识信息用于判断音频数据包中的音频采样点是否有效,音频采样点用于携带数字音频信号;

步骤s108,将音频数据包发送至网络中。

在上述实施例中,通过接收采样得到的模拟音频信号,以及对模拟音频信号进行模数转换,得到数字音频信号,该数字音频信号可以被网络服务器识别,然后对数字音频信号进行打包处理,得到音频数据包,其中,音频数据包中携带有标识信息,标识信息用于判断音频数据包中的音频采样点是否有效,音频采样点用于携带数字音频信号,将音频数据包发送至网络中。根据该实施方式,可以将采样得到的模拟音频信号经过模数转换,得到数字音频信号,并对该数字音频信号进行相应的处理,以发送至网络中,这样可以通过网络传输音频信号,也可以通过终端等设备接收网络中的音频数据,可以解决音频数据信号传输距离短的技术问题,达到实时有效的传输音频信号的效果。

可选的,上述的音频数据的处理方式可以应用于各种音频设备中,如网络传输音频设备,该网络传输音频设备可以为ae-ea8设备,其中,该网络传输音频设备可以支持百兆全双工模式,也可以千兆全双工模式。

可选的,音频设备(如电脑)对采样得到的声音信号不能直接进行处理,需要先把采样得到的声音信号进行转换,得到音频设备可以识别数字信号。在进行转换之前,可以利用各种采集设备对声音信号进行采集,以得到模拟音频信号,该模拟音频信号是传输声音过程中的信号,该信号一般通过电流、电压或电荷的方式传输,而音频设备在将音频信号发送至网络之前,需要通过一定的转换器将模拟音频信号转换为音频设备可以识别的数字音频信号。

可选的,上述的转换器可以模拟数字转换器,该转换器可以设置在各种音频设备中,如adc(模拟数字转换器),通过该adc采样模拟音频信号,并将模拟音频信号转换为数字信号。

另一种可选的实施方式,接收通过采样得到的模拟音频信号包括:按照预设时间信号,对模拟音频信号进行对齐处理,其中,在对模拟音频信号进行对齐处理时,通过标准音频接口接收模拟音频信号。可选的,该预设时间信号可以为音频设备进行数据处理时的主时钟的信号,通过主时钟信号将模拟音频信号中的时钟信号和音频数据进行对齐处理。其中,上述的标准音频接口可以为i2s总线接口,通过该接口接收采样得到的模拟音频信号,以对该模拟音频信号进行处理。

对于上述实施例,在对模拟音频信号进行模数转换,得到数字音频信号包括:通过主时钟对模拟音频信号中的时钟信息和音频数据进行对齐处理;将对齐处理后的模拟音频信号进行格式转换,得到并行格式的数字音频信号。

可选的,时钟信息中可以包括帧时钟和位时钟,帧时钟可以表示为olrck,其中,该帧时钟可以包括多种信号,如0或1,例如,在帧时钟为0时,可以设置该帧时钟所在的时钟信息为第一声道,在帧时钟为1时,设置该帧时钟所在的时钟信息为第二声道。可选的,上述的第一声道可以为左声道,第二声道可以为右声道,其中,可以设置在左声道信号(即帧时钟为0)向右声道信号(即帧时钟为1)转换时为上升沿,在右声道信号(即帧时钟为1)向左声道信号(即帧时钟为0)转换时为下降沿。

可选的,在传输数据时,有效的音频数据出现在位时钟中与帧时钟对齐的左右声道的第二个上升沿处,即在判断出帧时钟出现下降沿或上升沿后,检测位时钟中的上升沿,若出现第二个上升沿,即可以开始存储该音频数据。

优选的,本发明实施例中传输的模拟音频信号为串行格式,数字音频格式为并行格式,即可以将通过i2s传输的串行模拟音频信号转换为并行的数字音频信号。可选的,上述的音频数据为将模拟音频信号转换的音频数据,在将该音频数据传输至网络中时,需要对音频数据进行处理,并添加相应的标识信息,以发送到相应的存储器中进行存储。

需要说明的是,音频信号中的时钟信息包括帧时钟和位时钟,将对齐处理后的模拟音频信号进行格式转换,得到并行格式的数字音频信号包括:检测帧时钟是否出现上升沿或下降沿;在检测到帧时钟出现下降沿时,检测位时钟是否出现上升沿;在检测到位时钟出现第二个上升沿时,接收音频数据,并存储在第一寄存器中;在检测到帧时钟出现上升沿时,检测位时钟是否出现上升沿;在检测到位时钟出现第二个上升沿时,接收音频数据,并存储在第二寄存器中。

另一种可选的实施方式,在检测到位时钟出现第二个上升沿时,接收音频数据,并存储在第二寄存器中之后,包括:检测帧时钟中是否出现下降沿;在检测出帧时钟出现下降沿的情况下,对第一寄存器和第二寄存器进行锁存;输出第一寄存器和第二寄存器中存储的音频数据,得到数字音频信号。

可选的,在接收模拟音频信号后,可以通过帧时钟划分输入的信号的位数,即可以通过第一声道和第二声道将预设位数的音频数据存储在第一寄存器或第二寄存器中,其中,第一声道和第二声道划分的位数可以有多种,如16bit、32bit、64bit等,在本发明实施例中不做具体限定。例如,在第一声道和第二声道为32bit时,其通过位时钟锁存的数据位数可以不同于声道的位数,例如,在锁存后,可以输出第一寄存器和第二寄存器中24bit的音频数字信号。

其中,第一寄存器和第二寄存器的大小可以与第一声道和第二声道所划分出的大小相同,例如,可以设置该第一寄存器和第二寄存器为32bit,在帧时钟下降沿产生后,可以将相应的音频数据存储在第一寄存器中,第二寄存器保持当前值不变;在帧时钟的上升沿产生后,可以将相应的音频数据存储在第二寄存器中,第一寄存器保持当前值不变,且第一寄存器与第二寄存器采用左移的方式存储串行音频数据,这样可以在有新的音频数据传输到寄存器的情况下,将该音频数据放置在寄存器的最低位,而已经传输到寄存器中的音频数据朝前移动,以保证新来的音频数据始终在寄存器中的最低位,方便按照时间顺序读取寄存器中的音频数据。

可选的,在输出音频数据时,可以输出预设位数的音频数据,其中,该预设位数可以为提前设置的输出位数,如24bit,该预设位数可以小于等于寄存器位宽。

对于上述实施方式,对数字音频信号进行打包处理,得到音频数据包包括:在数字音频信号中添加验证信息,得到音频采样点,其中,每个音频采样点中携带添加该验证信息的音频数据;将音频采样点存储在预设缓存区中;根据预设频率读取预设缓存区中的音频采样点;按照时间顺序对音频采样点进行打包,得到音频数据包。

可选的,在音频数据包中还包括地址信息,其中,地址信息可以包括发送至终端的目的ip地址和端口号信息,该地址信息可以用于指示终端发送的目的地址。

可选的,上述的地址信息用于指示音频数据包发送的目的地址和端口号,即在音频采样点中有验证音频采样点是否有效的验证信息,将包括验证信息的音频采样点存储在预设缓存区中,在按照时间顺序打包该音频采样点,在打包后,添加地址信息,该地址信息用于告知终端将该音频数据包发送的位置。其中,该地址信息中可以包括目的地址信息,包括网络地址,如ip地址,验证信息可以用于验证传输的音频数据包的内容是否完整,该验证信息的内容可以包括数字或者字母等信息,例如,通过数字(如00/01)来验证传输的音频数据是否正确。

可选的,上述的预设频率可以是用户提前设置的传输频率,如48khz,其中,预设缓存区的大小可根据需求来定,比如需要缓存1ms(毫秒)的音频采样点,对于48khz的音频来说,1ms的时间间隔内有48个点,fifo的深度可选为128,选择此值有两方面原因:一是至少能够缓存2ms的音频采样点,防止溢出;二是缓存区的大小必须是2的整数次幂。其中,在读取预设缓存区时,可以采用非空即读的方式,即在检测到预设缓存区中出现音频采样点的情况下,读取预设缓存区的内容,以使得预设缓存区中不会出现堆积的音频采样点,可以及时的处理预设缓存区中的内容。

另一种可选的实施方式,在按照时间顺序压缩音频采样点,得到音频数据包之后,包括:将音频数据包放置在网络传输通道的待传输节点中。其中,该待传输节点可以为多个,每个待传输节点中可以存储的音频数据包的数量有一个阈值,如10个。

可选的,在将音频数据包放置在网络传输通道的待传输节点中之后,包括:检测网络传输通道的待传输节点中的音频数据包的数量是否超出预定阈值;在检测到网络传输通道中的待传输的音频数据包的数量超出预定阈值的情况下,将该音频数据包放置在待传输节点中;在检测到络传输通道中的待传输的音频数据包的数量未超出预定阈值的情况下,依次发送待传输节点中的音频数据包。

可选的,在发送预定长度的音频采样点之前,还包括:在查询到音频采样点存在的情况下,接收音频采样点;在每个音频采样点携带的音频数据包的起始位置加上标识信息;发送携带有标识信息的音频数据包,其中,在发送携带有标识信息的音频数据包时,采用单播或组播的方式发送音频数据包。

可选的,在发送音频数据包之前,可以将音频数据包的数据报文信息一并打包,以得到包括数据报文信息的音频数据包,其中,该音频数据包中的数据报文信息中可以包括目的ip地址和端口号。

其中,上述的标识信息可以为多种信息,如数字信号。可选的,上述的有效标识设置在音频采样点的起始位置,即数据包的格式为有效标识加上数字音频信号。

有效标识可以为任意值,但所有的有效音频数据的有效标识为同一个值,如16进制数0x1234,即在检测到该标识为0x1234时,表明该数据为有效音频数据,否则为无效数据。

可选的,上述的音频数据包的格式为udp格式,该udp格式只需要发送数据,不需要保证接收设备可以接收到该音频数据。

可选的,在发送携带有标识信息的音频数据包时,包括:通过用户配置接口配置网络传输通道的传输参数,其中,传输参数包括下述至少之一:网口速度,双工模式等;通过用户数据接口传输携带有标识信息的音频数据包;通过物理接口发送音频数据包。

可选的,用户配置接口可以包括配置时钟、地址、写指令、读指令和握手信号,其中,该配置时钟的频率可以由用户设定,如50-100mhz,地址可以为读指令和写指令的共用的地址总线,其位宽为8bit,写指令和读指令的位宽为1bit,握手信号可以用于协调读写配置操作,其位宽为1bit。

可选的,上述的物理接口可以配置phy(物理层)芯片的传输速度、双工模式等,其中,该物理接口可以包括几种类型,如smi(串行接口)接口。

对于上述实施方式,在发送携带有标识信息的音频数据包时还包括:通过芯片配置模块配置物理接口芯片的工作参数,其中,工作参数包括下述至少之一:网口速度、工作模式。其中,工作模式可以包括双工模式(包括半双工模式和全双工模式)。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例中任意一项的音频数据的处理方法。

图2是根据本发明实施例的另一种可选的音频数据的处理方法的流程图,如图2所示,该处理方法包括:

步骤s201,接收音频数据包,其中,音频数据包中携带有标识信息,标识信息用于判断音频数据包中的音频采样点是否有效,音频采样点用于携带数字音频信号。

步骤s203,解析音频数据包,得到数字音频信号。

步骤s205,对数字音频信号进行时钟变换,得到数字时钟信号。

步骤s207,对数字时钟信号进行数模转换,得到模拟音频信号。

在上述实施例中,可以接收音频数据包,其中,音频数据包中携带有标识信息,标识信息用于判断音频数据包中的音频采样点是否有效,音频采样点用于携带数字音频信号,解析音频数据包,得到数字音频信号,对数字音频信号进行时钟变换,得到数字时钟信号,对该数字时钟信号进行数模转换,得到模拟音频信号。根据该实施例,可以通过接收网络中的数字音频信号,并将该数字音频信号进行相应的处理,以得到模拟音频信号,用户可以通过音频设备接收模拟音频信号,直观的解析出模拟音频信号的内容,解决音频数据信号传输距离短的技术问题,达到实时有效的传输音频信号的效果。

通过上述实施例,可以实现一发多收的功能,即通过一台设备发送音频数据,多台设备可以同时接收音频数据,各接收端通过使用本发明所提供的时钟恢复方案,不仅能保持与发送端时钟同步,而且能实现同步输出音频。如果使用传统方式实现一发多收的功能,且保证音频质量,则需要配置价格高昂的模拟分配器,且在传输模拟信号时,容易受到外来信号的干扰,而本申请中仅仅需要几根网线,通过发送端一根网线发送音频信号,将传输的音频数据进行处理以传输至网络中,可以由多个接收端(采用多根网线)接收网络中的音频数据,实现了一发多收的功能,在节约成本的同时,也大大减小了周围环境对音频信号传输的影响,提高了传输音频的质量。

可选的,上述实施例中可以应用于各种音频设备中,该音频设备接收可以从网络中发送的数字音频数据包,该音频数据包中可以包含音频数据,该音频数据为并行的数字音频数据,即可以被音频设备识别的数字数据。

可选的,在接收音频数据包之前,需要通过数据包中的地址信息(即上述实施例的数据报文信息)来验证目的地址是否正确,该地址信息包括目的地址和端口号信息。可选的,在接收音频数据包之前,包括:通过终端解析音频数据包中的数据报文信息,其中,数据报文信息包括音频数据包的目的地址和端口号;判断目的地址和端口号与终端的本地ip地址和端口号是否相同;在判断出目的地址和端口号与终端的本地ip地址和端口号相同的情况下,接收音频数据包(即在判断音频数据包的目的地址和端口号相同时,保留该音频数据包);在判断出目的地址和端口号与该终端的本地ip地址和端口号不相同的情况下,发送音频数据包至下一终端,或者,将该音频数据包丢弃。

即网络将音频数据包发送至相应的设备后,需要验证该设备是否为目的设备,如果不是,可以直接舍弃该数据包,也可以将该数据包发送至下一终端。音频数据包可以判断其(指的是该终端发送的下一终端)是否为目的终端。

对于上述实施例,在接收到音频数据包后,可以解析该音频数据包,得到音频数据包中的地址信息和音频数据,其中,该音频数据可以为并行格式的数据。

需要说明的是,对数字音频信号进行时钟变换,得到数字时钟信号包括:将数字音频信号存储在预设存储器中;根据预设存储器中有效音频数据的个数调整数字音频信号,得到数字时钟信号。

其中,由于网络传输过程中会出现突发、延时等特性,这时,会对音频信号的传输造成影响,这时,需要进行时钟变换,以使得从网络上接收到的音频数据输出后各项指标满足客户需求。

可选的,可以将接收到的音频数据线存储在预设存储区中,该预设存储区的位宽可以根据传输的音频数据的大小确定,如48bit。

对于上述实施方式,根据预设存储器中有效数据个数调整数字音频信号包括:调整频率控制端的脉冲占空比;根据脉冲占空比调整数字音频信号。可选的,可以利用脉冲占空比的大小调整相应的设备/器件(如vcxo)的输出特性,比如频率,,最终可以使得该设备的输出频率与音频信号发送设备的时钟信号保持同步状态。

可选的,转换数字时钟信号,得到模拟音频信号包括:按照预设格式对数字时钟信号进行格式转换,得到串行格式的模拟音频信号。

其中,预设格式可以为i2s标准规定的格式,在得到模拟音频信号时,可以使得该模拟音频信号的主时钟和音频数据发送端的时钟一致。

其中,i2s采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例中任意一项的音频数据的处理方法。

图3是根据本发明实施例的一种可选的音频数据处理的音频发送端的示意图,如图3所示,该音频发送端包括音频中转模块ad,用于采集音频信号audio,并将该音频信号audio发送至音频接收模块audioreceive,该音频接收模块audioreceive在对音频信号进行相应的处理后,将音频数据发送至打包发送模块ip_packer,通过该打包发送模块ip_packer可以将音频数据打包成音频数据包,并将该音频数据包发送至以太网模块macipcore,通过该macipcore将音频数据发送至物理层phy,该物理层phy可以将音频数据发送至网络internet中。

其中,如图3所示,上述的多个处理模块包含在现场可编程门阵列fpga中。

可选的,可以通过数据链路配置模块macconfig配置以太网模块,可以通过物理芯片配置模块配置物理层phy。

其中,该音频数据处理可以应用于各种网络传输音频设备中,如ae-ea8是一款网络传输音频设备,支持百兆全双工模式,也支持千兆全双工模式,且能做到百兆千兆自适应。该款设备可以解决现有技术中的音频信号处理方法配置复杂,易受干扰,成本高昂等问题,具有传输容量大,传输距离长,配置简单,成本低廉等优势。以48khz采样率音频为例,网口工作在百兆模式下,可以传输32路立体声;网口工作在千兆模式下,能传输256路立体声;且使用一根网线即可完成音频传输,若使用交换机或路由器可以实现更远距离的音频数据传输;同时,使用网络传输音频也方便监测。目前设备支持8路音频传输,可以扩展到多路。

图4是根据本发明实施例的一种可选的音频数据处理的音频接收端的示意图,如图4所示,该音频接收端包括物理层phy、数据链路配置模块macconfig、以太网macipcore、物理芯片配置模块phyconfig,其中,该物理层phy的功能是接收网络internet中的音频数据包,通过物理层可以将音频数据包发送至以太网,数据链路配置模块可以配置该以太网的参数,可以通过物理芯片配置模块phyconfig配置物理层phy的工作参数;其中,音频接收端还可以包括数据包解析模块ip_unpack,通过该数据包解析模块ip_unpack可以解析得到数据包的目的地址和端口号等信息;数据包解析模块ip_unpack将音频数据发送至音频时钟恢复模块clock_recovery,该音频时钟恢复模块可以将音频数据的时钟信息对音频发送端的时钟信号进行恢复,并使用恢复出的时钟信号将音频数据通过音频发送模块audiotransmit转换得到相应的串行格式的模拟音频信号,该音频发送模块audiotransmit可以将模拟音频信号发送至中间转换模块da中,以得到相应的音频信号audio,其中,可以通过频率控制模块(如vcxo)恢复音频发送端的音频时钟信号。

其中,如图4所示,上述的多个处理模块包含在现场可编程门阵列fpga中。

可选的,音频经过adc(模拟数字转换器)转换,可以得到数字音频信号,图3和图4中以太网macipcore,数据链路配置模块macconfig和物理芯片配置模块phyconfig这三个模块的功能相同。下面将详细描述音频数据处理流程中的各模块工作原理。

音频接收模块audio_receive,音频接口采用标准的i2s接口,其中,i2s的数据格式如图5所示,该模块首先使用主时钟对音频信号中的位时钟(osclk),帧时钟(olrck)和音频数据(sdout)进行对齐处理;然后对经过对齐处理的音频信号进行串并转换,将串行音频数据转换成并行格式,便于网络传输处理。其中,channela可以为左声道,channelb可以为右声道,由右声道转换到左声道时为下降沿(即由1转0),由左声道转换为右声道时为上升沿(即由0转1)。其中,图5中的msb是指信号最高有效位,lsb是指信号最低有效位,如一个32bit的信号a[31:0],则a[31]为msb,a[0]为lsb。

可选的,串并转换的实现原理如下:i2s格式的音频在帧时钟(olrck)为0时为左声道(即图5中olrck中的channela),帧时钟(olrck)为1时为右声道(即图5中olrck中的channelb),且左右声道的第一个有效数据在位时钟(osclk)第二个上升沿处。

可选的,在本发明实施例中,可以设置i2s左右声道的大小各32bit,有效数据位的个数由adc采样精度决定,本申请中,每个声道的有效数据位数为24bit。本申请中,可以设置两个32bit位宽的寄存器,分别为左声道寄存器left_dat_reg和右声道寄存器right_dat_reg,分别用来缓存左右两个声道的串行音频数据:当位时钟(osclk)上升沿(即由0向1转换的时刻)来临时,音频数据顺序左移入数据寄存器,olrck为0时,音频数据左移入left_dat_reg,否则left_dat_reg保持当前值不变;olrck为1时,音频数据左移入right_dat_reg,否则right_dat_reg保持当前值不变,这样新到来的音频数据(sdout)始终在寄存器最低位。当帧时钟(olrck)的下降沿来临时,将左右声道数据寄存器进行锁存,并将锁存下来的数据寄存器的bit30到bit7(共24bit)输出,即完成了音频数据的串并转换。

打包发送模块ip_packer,其功能是将音频数据按照时间顺序打包成ip数据包,发送到internet上。本申请采用的传输层协议是udp,发送数据包的目的地址可以通过单播和组播发送,具体实现原理如下:为了尽量减少网络传输对音频传输造成的延时,本申请中采用音频采样点到来后即刻传输的数据发送方案,即音频数据完成串并转换后,立刻将此音频采样点发送到internet上,且采用定长发送,即每次发送的音频采样点数相同。其中,这个音频采样点是指音频接收模块audioreceive输出的并行数据,是模拟数据数字化后的采样点,同时该数据加上以太网帧头部和ip头部后,就是在internet上传输的音频网络数据包。以48khz采样率的4路立体声为例,本申请中先将音频采样点(48bit)存入fifo(先入先出缓存区)中,该fifo的位宽为48bit,深度为32;然后用50khz的时钟读取该fifo,这样能保证fifo不上溢,因为在秒的时间间隔中,只有一个采样点;fifo采用非空即读的输出方式,这样就不会出现一个以上音频采样点在fifo中停留的现象。使用50khz时钟读取fifo时,fifo会经常处于读空的状态,从而产生一些无效数据,本申请中可以采用了一种预设协议,该预设协议可以在发送音频数据时,在每个音频采样点数据头部加上一个有效标识,其中,该有效标识为数字信号,在网络传输中使用,发送的音频数据格式可以为16bit标识加上48bit左右声道数据。

可选的,有效标识可以为任意值,但所有有效音频数据的有效标识为同一个值,比如16进制数0x1234,即当该标识为0x1234时,表明当前数据为有效音频数据,否则,为无效数据;在接收端,对收到的音频数据进行判断:若标识符为0x1234,则把标识符去掉后,保留当前音频数据,供下个模块使用;否则,丢弃当前数据。这样,音频数据包里音频数据的格式为:16bit有效标识加上48bit音频数据。

音频数据包发送时,采用udp包格式输出网络音频数据。图6是根据本发明实施例的一种可选的音频数据发送的示意图,如图6所示,该发送过程如下:初始时,状态机处于空闲状态(idle),该状态下,状态机等待音频采样点到来,其中,该状态下,可以不断采样音频信号audio;当有音频采样点到来时,就开始音频发送(audio_trans),即将音频采样点(如64bit)放在udp包的负载里面发送给mac(媒体访问控制层)核;当一个采样点发送完成以后,状态机返回到空闲状态,等待下一个音频采样点。由于在发送过程中,mac核可能处于忙碌的状态,此时不能发送音频数据,所以发送过程中有个等待mac核空闲的预存状态(trans_wait),以确保音频数据不丢失,其中,该预存状态下mac核内部存储的是根据以太网帧格式封装好的尚未发送出去的网络数据包,其数据格式为以太网帧头部加上ip头部加上udp头部加上音频采样点。可选的,在传输通道的音频数据包超出阈值(如10个音频数据包)时可以将该音频数据包存储在预存空间,在检测到传输通道的音频数据包未超出阈值的情况下,可以将音频数据包发送至音频发送状态,以进行处理。

以太网模块macipcore,支持百兆全双工模式,也可以支持千兆全双工模式,且能够实现100/1000mpbs自适应。它有三种接口:用户侧数据接口、用户侧配置接口及phy侧接口,其中,用户侧数据接口负责与用户数据逻辑通信,可以采用altera公司的avalon-st总线,用于传输udp音频数据;用户侧配置接口负责与用户配置逻辑通信,可以采用avalon-mm总线,用于配置mac内部寄存器;phy侧接口则直接和物理层phy连接。其中,用户侧数据接口向macipcore发送数据,用户侧配置接口可以为数据链路配置模块macconfig配置以太网的参数。

数据链路配置模块macconfig,功能是根据物理层phy芯片自适应的结果,修改mac核内部寄存器的值,使二者匹配,以实现正确、正常的网络传输。数据链路配置模块工作时,可以通过avalon-mm总线与mac核进行通信,其接口时序如图7所示,其中,该接口时序的主要信号有:clk(时钟)、address(地址)、write(写指令)、writedata(写数据)、read(读指令)、readdata(读数据)、waitrequest(握手信号)等,其中,clk:配置时钟,其频率由系统指定,频率范围50-100mhz,address:配置地址,读写指令共用该地址总线,8bit;write:写指令,1bit;writedata:写数据,32bit;read:读指令,1bit;readdata:读数据,32bit;waitrequest:握手信号,1bit。

以上配置接口中,握手信号的使用规则也做了改变,即平时没有进行读写配置操作时,握手信号为高电平,当一次读写操作完成后,握手信号保持一个低电平后拉高。因此,可以使用此条件判断一次读写配置操作是否完成。

其中,数据链路配置模块的配置过程,就是对寄存器空间进行读写的过程,因此,在配置mac核时,可以根据实际网络环境对寄存器空间进行读写即可。

物理芯片配置模块phyconfig,功能是根据实际网络环境,配置物理层phy芯片的传输速度,双工模式等参数。本设计采用的物理层phy芯片是88e1111,其配置接口是smi,该接口包括两个信号:mdc和mdio,其中,mdc:(metadatacontroller,mdc)元数据控制器,管理音频数据接口的时钟,它是一个非周期信号,信号的最小周期(实际是正电平时间和负电平时间之和)为400ns,最小正电平时间和负电平时间为160ns,最大的正负电平时间无限制,它与phy芯片的接收时钟与发送时钟不需要同步。mdio:是一根双向的数据线,用来传送mac层的控制信息和物理层的状态信息,mdio数据与mdc时钟同步,在mdc处于上升沿有效。

图8是根据本发明实施例的一种可选的接口数据帧结构的示意图,如图8所示,其包括多种结构,包括:pre:帧前缀域,为32个连续“1”比特,这帧前缀域不是必要的,某些物理层芯片的mdio操作就没有这个域;op:帧操作码,比特“10”表示此帧为一读操作帧,比特“01”表示此帧为一写操作帧;phyad:即addr1,物理层芯片的地址,5个比特,每个芯片都把自己的地址与这5个比特进行比较,若匹配则响应后面的操作,若不匹配,则忽略掉后面的操作;regad:即addr2,用来选择物理层芯片的32个寄存器中的某个寄存器的地址;ta:状态转换域,若为读操作,则第一比特时mdio为高阻态,第二比特时由物理层芯片使mdio置“0”。若为写操作,则mdio仍由mac层芯片控制,其可以连续输出“10”两个比特。data:帧的寄存器的数据域,16比特,若为读操作,则为物理层送到mac层的数据,若为写操作,则为mac层送到物理层的数据。idle:帧结束后的空闲状态,此时mdio无源驱动,处高阻状态,可以用上拉电阻使其处在高电平,即mdio引脚需要上拉电阻。

配置物理层phy芯片,就是对phy芯片的配置寄存器空间进行读写操作,在配置物理层phy芯片时,可能定义多个参数,且这些参数不需要同时变化,在配置phy的过程中,可能会出现只修改某个寄存器的某个预设数值的情况,此时可以先读取出该寄存器中的数据,然后再修改该预设数值,然后将修改后的预设数值与原来未做修改的预设数值一起写入寄存器。由于有些寄存器的值修改后,需要软复位(softwarereset),可以将需要做此操作的所有寄存器全部修改完成以后,再统一进行软复位。

数据报解析模块ip_unpack,根据ip数据报文的格式,解析报文中的目的mac,目的ip,udp端口号等信息,并与本地mac和本地ip,以及端口号做对比,若相同,则认为该数据包是发往该音频设备的,可以保存该数据包;否则,丢弃该数据包,或者再输出给下一音频设备。同时,根据报文头部信息中的长度等信息,可以解析出音频数据,该模块输出的音频数据可以是并行数据,位宽为48bit;同时也输出了与数据对应的数据有效使能信号,持续一个网络时钟周期,其中,可以设置在使能信号为高电平时,对应的并行音频数据有效。

音频时钟恢复模块clockrecovery,由于网络传输存在突发,延时等特性,这些特性会对音频信号的指标产生严重影响,本申请中的音频时钟恢复模块clockrecovery,可以产生高质量的时钟,将从网络上接收到的音频数据稳定、高效、高质量的发送给dac(数字模拟转换器)。该模块的工作原理如下:将数据报解析模块ip_unpack输出的音频数据先存入fifo(如上述的先入先出缓存区),其位宽为48bit,深度可以根据实际设计目标而定,本申请中,可以选择fifo深度为32。该模块的设计目标是通过调整频率控制模块控制外部器件/设备的输出频率,具体的可以通过控制vcxo控制端脉冲占空比大小,进而控制其输出频率,使得最终的输出频率接近于音频发送端芯片输出的采样时钟,这样,通过控制vcxo的输出频率,能实现音频接收端保持与音频发送端处于同步状态。

音频发送模块audiotransmit,可以将经过解析的并行音频数据,按照i2s标准规定的格式,转换成串行音频信号,发送到dac(数字模拟转换器)。该模块的工作过程如下:音频时钟恢复模块输出音频处理过程中的主时钟,并对此时钟进行分频处理,得到音频接口中的位时钟和帧时钟。其中,若设置音频采样率为fs,帧时钟为lrck,位时钟为bclk,主时钟为mclk,48khz音频采样率下,四者之间的关系如下:

mclk=256*fs,

bclk=64*fs,

lrck=fs,

因此,对主时钟分别进行4分频和256分频,即可得到位时钟与帧时钟。根据以上关系,以及图5所示i2s接口时序,将从fifo中读取到的音频数据进行并串转换后,即可输出给dac芯片。

根据该实施例,可以通过接收网络中的数字音频信号,并将该数字音频信号进行相应的处理,以得到模拟音频信号,用户可以通过音频设备接收模拟音频信号,直观的解析出模拟音频信号的内容,解决音频数据信号传输距离短的技术问题,达到实时有效的传输音频信号的效果。

为了实现上述目的,本发明实施例还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述实施例中任意一项的音频数据的处理方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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