【技术实现步骤摘要】
一种基于OPUS的语音传输方法和设备及系统
本专利技术涉及数据传输领域,特别涉及一种基于OPUS的语音传输方法和设备及系统。
技术介绍
目前市面上的蓝牙音箱或耳机,都是采用经典蓝牙技术来做的,并且方案成熟,应用极广,它从硬件层面就实现了无线传输对接和音频编解码两个重要的核心技术,传输稳定可靠;所以用经典蓝牙来听音乐是首选。但是在人声识别和翻译领域,对音质要求不高的情况下,也可以采用BLE通信技术来做音频传输,用BLE的好处是更灵活,拓展性强,因为每台手机可以连接多个BLE设备同时工作,而且还不影响经典蓝牙音箱的连接,而如果只是经典蓝牙在播放音频就只能同时工作一个设备,在双人进行对话翻译的时候就非常不方便。用BLE来做音频人声传输的问题主要是无线通信的带宽要够,能够支持到大量音频数据的传输,而这个问题是由两个因素决定的,一个是传输速率尽可能的快,这个要通过提高数据吞吐率来解决,另一个是数据量要尽可能的少,这个要通过数据的压缩编码来解决,所以只要传输率高于声音播放速率就可以实现BLE在音频传输的应用。目前已有的压缩编解码算法都比较复杂,且在数据传输时容易出现缓冲区溢出的现象,一则需要消耗的CPU资源较大,要求处理能力高,目前无法用于在嵌入式设备上,且导致数据传输容易出现问题。
技术实现思路
有鉴于此,本专利技术提出了一种基于OPUS的语音传输方法和设备及系统。能有效降低CPU使用率,对于一般处理能力不强的嵌入式设备也可以应用,且还解决了缓冲区溢出的技术问题,能更好的进行语音的数据传输,尽可能避免语音数据的传输出现问题。具体的,本专利技术提出了以下具体的实施例:本专 ...
【技术保护点】
1.一种基于OPUS的语音传输方法,其特征在于,应用于包括发送端与接收端的系统中,该方法包括:发送端通过I2S接口的DMA机制接收音频数据,将所接收的音频数据存储在DMA缓冲区,并在触发DMA机制中断成后将DMA接收标注标记为已接收;所述发送端执行循环查询任务,以查询所述DMA接收标记是否标记为已接收;若查询结果为是,则从所述DMA缓冲区提取音频数据,并将所述DMA接收标记变更为未接收;所述发送端判断预设的发送数据缓冲区是否有空间写入所述音频数据;若判断结果为是,则判断所述音频数据是否需要编码;若判断结果为是,则调用OPUS算法的压缩编码函数对所述音频数据进行压缩编码,生成数据包;所述发送端通过预设的网络接口将所述数据包发送给接收端,以使所述接收端基于所述OPUS算法对所接收的数据包进行解码。
【技术特征摘要】
1.一种基于OPUS的语音传输方法,其特征在于,应用于包括发送端与接收端的系统中,该方法包括:发送端通过I2S接口的DMA机制接收音频数据,将所接收的音频数据存储在DMA缓冲区,并在触发DMA机制中断成后将DMA接收标注标记为已接收;所述发送端执行循环查询任务,以查询所述DMA接收标记是否标记为已接收;若查询结果为是,则从所述DMA缓冲区提取音频数据,并将所述DMA接收标记变更为未接收;所述发送端判断预设的发送数据缓冲区是否有空间写入所述音频数据;若判断结果为是,则判断所述音频数据是否需要编码;若判断结果为是,则调用OPUS算法的压缩编码函数对所述音频数据进行压缩编码,生成数据包;所述发送端通过预设的网络接口将所述数据包发送给接收端,以使所述接收端基于所述OPUS算法对所接收的数据包进行解码。2.如权利要求1所述的一种基于OPUS的语音传输方法,其特征在于,若查询结果为所述DMA接收标记的标记不是已接收,则执行“通过预设的网络接口将压缩编码后的音频数据发送给接收端”的流程。3.如权利要求1所述的一种基于OPUS的语音传输方法,其特征在于,若预设的发送数据缓冲区没有空间写入所述音频数据,则提示发送缓冲区数据已满,并执行“通过预设的网络接口将压缩编码后的音频数据发送给接收端”的流程。4.如权利要求1所述的一种基于OPUS的语音传输方法,其特征在于,若判断所述音频数据不需要编码,则忽略所述音频数据,并执行“通过预设的网络接口将压缩编码后的音频数据发送给接收端”的流程。5.如权利要求1所述的一种基于OPUS的语音传输方法,其特征在于,所述“发送端通过预设的网络接口将所述数据包发送给接收端”,包括:发送端判断发送数据缓冲区是否存在音频数据;若判断结果为是,则读取一帧所述数据缓冲区中的音频数据进行格式封装,并加入预设的包头序号,以生成数据包;通过预设的网络接口执行将所述数据包发送给接收端的操作。6.如权利要求5所述的一种基于OPUS的语音传输方法,其特征在于,若发送端判断发送数据缓冲区不存在音频数据,则执行循环查询任务。7.如权利要求5所述的一种基于OPUS的语音传输方法,其特征在于,在通过预设的网络接口将所述数据包发送给接收端,之后还包括:所述发送端接收所述接收端的反馈信息;若所述反馈信息为接收成功,则执行循环查询任务;若所述反馈信息为接收不成功,则查询所述DMA接收标记是否标记为已接收;若查询结果为是,则执行“从所述DMA缓冲区提取音频数据,并所述DMA接收标记变更为未接收”的流程;若查询结果为否,则执行所述“通过预设的网络接口执行将所述数据包发送给接收端的操作”的流程。8.如权利要求1所述的一种基于OPUS的语音传输方法,其特征在于,所述网络接口为:BLE接口、WIFI接口、2G接口、3G接口、4G接口、5G接口中的一种或多种。9.如权利要求1所述的一种基于OPUS的语音传输方法,其特征在于,所述OPUS算法的编码解码方式包括voice方式与music方式;当所述发送端的处理能力弱于所述接收端的处理能力时,所述发送端通过所述music方式来进行编码;所述接收端通过所述music方式来进行解码;当所述发送端的处理能力强于所述接收端的处理能力时,所述发送端通过所述voice方式来进行编码;所述接收端通过所述voice方式来进行解码。10.一种基于OPUS的语音传输系统,其特征在于,应用于包括接收端与权利要求1-9中任意一项所述的发送端的系统中,其中,所述发送端,用于通过I2S接口的DMA机制接收音频数据,将所接收的音频数据存储...
【专利技术属性】
技术研发人员:柯佳俊,田力,
申请(专利权)人:深圳时空壶技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。