语音数据传输方法

文档序号:9690886阅读:832来源:国知局
语音数据传输方法
【技术领域】
[0001] 本发明涉及媒体信息处理传输技术,特别涉及一种语音数据传输方法。
【背景技术】
[0002] 音频处理技术和传感器技术的迅速发展使多路化、高清化成为音频应用发展的一 种趋势。语音数据量的激增不仅给处理平台的计算能力带来了严峻挑战,同时也给语音处 理架构中芯片间数据的高速传输造成了极大困难。因此,在语音处理架构中解决芯片间语 音数据的实时传输问题至关重要。现有方法缺乏针对语音数据和异构处理器结构特点的考 虑,难以满足语音处理架构中音频的实时传输和处理需求。而且现有系统大多偏重于功能 的实现,硬件资源的开销较大。

【发明内容】

[0003] 为解决上述现有技术所存在的问题,本发明提出了一种语音数据传输方法,包括:
[0004] 所述协处理器重构语音频段数据,将语音频段数据以分量形式通过高速PCI接口 传送至核心处理器的缓冲队列。
[0005] 优选地,所述协处理器重构语音频段数据,进一步包括:
[0006] 协处理器采集打包格式的语音数据,为语音频段设置各自音频缓冲队列,用于分 离并暂存语音频段;在分离过程的同时完成音频格式转换;当一个完整音频段的频段数据 写入相应的音频缓冲队列后,分别读取各个音频缓冲队列,以段为单位将频段写入发送缓 冲队列,等待发送;
[0007] 所述将语音频段数据以分量形式通过高速PCI接口传送至核心处理器的缓冲队列 之前,还包括:
[0008] 预定义核心处理器数据存储单元,计算写操作和读操作的存储地址;协处理器发 送的每个写操作数据包中携带的数据将按顺序写入核心处理器的音频缓冲队列中的连续 存储空间,设置缓冲队列中数据按音频段排列;每个写操作数据包中数据只包含一个频段, 数据存储地址依次连续递增;在核心处理器音频缓冲队列中数据按音频段存储,每段数据 中同一频段连续存储,组成各频段矩阵,便于核心处理器完成音频处理。
[0009] 优选地,还包括:
[0010] 核心处理器对语音数据进行处理,并且当核心处理器处理完一段语音数据后,将 处理后的语音数据转移到核心处理器片外存储区的输出缓冲队列,在协处理器设计多个相 对应的接收缓冲队列;然后通过向协处理器发送应答操作通知协处理器取回处理好的语音 数据,最后由协处理器通过读操作请求读回处理后的语音数据;
[0011] 所述协处理器的发送方请求由发送方请求模块通过组建请求数据包来发起,所述 发送方请求模块包含控制单元、数据包生成单元、请求生成单元和缓冲队列,控制单元用于 检测是否发送数据、控制何时发送数据以及组建数据包信息,监控缓冲队列状态,控制数据 包生成单元完成数据包发送;数据包生成单元负责数据组建,产生数据包包头信息,并将包 头信息传递到请求生成单元,监控请求生成单元状态并向控制单元反馈;请求生成单元负 责与程序的发送方的请求端口协同将组建好的数据包信息传递给程序,完整的数据包包括 包头信息和数据信息,请求生成单元的包头信息来自数据包生成单元,数据信息直接取自 缓冲队列或接收数据包生成单元传递的数据;语音数据依次通过缓冲队列和请求生成单 元,最终由请求生成单元传递到程序的发送方的请求端口并通过链路发出。
[0012] 本发明相比现有技术,具有以下优点:
[0013] 本发明提出了一种语音数据传输方法,节约了芯片间的大量语音数据的传输开 销,减少了内存资源占用,降低了软硬件设计的难度。
【附图说明】
[0014] 图1是根据本发明实施例的语音数据传输方法的流程图。
【具体实施方式】
[0015] 下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描 述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利 要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以 便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的 一些或者所有细节也可以根据权利要求书实现本发明。
[0016] 本发明的一方面提供了一种语音数据传输方法。图1是根据本发明实施例的语音 数据传输方法流程图。
[0017] 本发明提出了一种基于高速PCI的语音数据传输方法。该方法通过在协处理器上 采用语音频段数据重构方法并使用包头信息较短的流媒体写操作,简化语音传输格式,同 时提高了高速PCI上语音数据包的传输效率;在核心处理器上通过预定义目标方数据存储 单元和采用简洁的应答机制,节约了核心处理器在传输过程中的时间开销。减化了实现过 程的复杂度。并且在存储过程中,采用音频缓冲队列取代资源占用率较高的RAM,因此系统 对协处理器内存资源占用较少,无需外部存储器,降低了软硬件设计的难度。
[0018] 本发明的异构语音处理架构对处理任务进行了划分。其中,协处理器用于语音数 据的采集、格式转换、预处理、数据传输和逻辑控制等任务;核心处理器用于音频的处理、分 析和编码等核心工作。在存储方面,协处理器采用以段为单位完成数据采集和预处理的方 法,其片上存储资源可以满足需求,避免了增加片外存储器;而核心处理器在计算过程中需 要存取大量语音数据和中间处理结果,片内存储远无法满足要求,因此为其设计了专门的 片外存储区片外存储器。
[0019] 针对语音数据在结构上的规范性特点以及处理上的统一性要求,本发明为协处理 器与核心处理器上的收发缓冲队列各自分配多个音频缓冲队列,以实现语音数据频段的快 速分离,并为两处理器上分类数据的高效整合提供了条件。首先,在分离过程中同时完成音 频格式转换;其次,在预定义核心处理器目标方数据存储地址后,对分离后的语音频段进行 打包传输,减少核心处理器计算数据存储地址上的时间开销。
[0020] 本发明对高速PCI的传输机制进行了定制和优化。在高速PCI操作选择上,由于系 统中需要由协处理器读取核心处理器处理后的语音数据,因此选择了常规的读操作。在写 操作中选择流媒体写操作。为简化高速PCI传输过程实现的复杂度,选用简洁的应答操作用 于异构处理器间的传输控制。
[0021 ]发送方的请求是一次操作的开始,用户控制发送方的请求端口组建请求数据包, 数据包经过高速PCI链路发送到目标方请求端口进行解析,目标方用户控制目标响应端口 组建响应数据包,数据包经过高速PCI链路发送回发送方响应端口解析。例如,在用户A发送 高速PCI请求给用户B时,用户B响应用户A的高速PCI请求时,本发明的具体步骤如下:
[0022] (1)用户程序A控制发送方的请求端口信号,输入请求数据包信息,如包类型等;
[0023] (2)程序A根据用户输入信息封装为高速PCI数据包并发送到高速PCI链路;
[0024] (3)程序B收到请求数据包,解析后通过目标方请求端口通知用户程序B;
[0025] (4)用户程序B根据请求,控制目标方响应端口组建响应数据包,输入响应数据;
[0026] (5)程序B封装响应数据为PCI响应数据包并发送到高速PCI链路;
[0027] (6)程序A收到响应数据包,解析后通过发送方响应端口通知用户程序A,用户程序 A接收并处理响应数据包。
[0028]当核心处理器处理完一段语音数据后,将处理后的语音数据转移到核心处理器片 外存储区的输出缓冲队列,在协处理器设计多个接收缓冲队列与之对应。当核心处理器处 理完接收到的语音数据后,通过向协处理器发送应答操作通知协处理器取回处理好的语音 数据,最后由协处理器通过读操作请求读回处理后的语音数据。
[0029] 本发明以协处理器作为传输链路处理器,核心处理器作为语音数据处理核心,分 别设计协处理器和核心处理器高速PCI程序,其中,协处理器程序包括发送方请求和发送方 响应;核心处理器程序包括目标方请求和目标方响应。为了实现高速PCI的实时传输,本发 明在协处理器首先对采集到的语音数据进行发送前的重新组建。具体组建过程如下,协处 理器采集打包格式的语音数据,为语音频段设置各自音频缓冲队列,用于分离并暂存语音 频段。在分离过程的同时完成音频格式转换工作。当一个完整音频段的频段数据都写入各 自音频缓冲队列后,分别读取各音频缓冲队列,以段为单位将频段写入
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1