信号处理系统和计算机程序的制作方法_2

文档序号:8399314阅读:来源:国知局
10的音频I/O 22和PC 11的音频I/O 22。PClO (第一处理引擎)对从网络SW 12接收到的音频数据执行的信号处理和PC 11 (第二处理引擎)对从网络SW 12接收到的音频数据执行的信号处理预先设置为相同的配置。由于PC 10(第一处理引擎)、PC 11(第二处理引擎)和网络SW 12彼此时钟同步,所以在PC 10 (第一处理引擎)和PC 11 (第二处理引擎)中,以基本相同的时间执行各种过程,这些过程为从网络SW 12接收音频数据、PC 10的第一处理引擎中的信号处理、PC 11的第二处理引擎中的信号处理、向网络SW 12传输经过信号处理的音频数据等(步骤S13、S14)。然而,由于在执行第一处理引擎或第二处理引擎的PC 10或PC 11中发生的各种中断过程、其他过程的处理负担条件等,第一处理引擎和第二处理引擎中的每一个都是将在通用OS上执行的软件,因此在信号处理完成的时间以及向网络SW 12传输的时间等类似时间上二者并不总是彼此同步。此外,由于通用OS的设计或配置,通用OS没有延时保证(或难以保证延时),所以根据上述各种中断过程和其他过程的处理负担条件,在第一处理引擎或第二处理引擎的信号处理中有时出现不可忽略的延时。网络SW 12确定从PC 10(第一处理引擎)和PC 11 (第二处理引擎)中接收到的音频数据是否正常,并选择性地将确定为正常的一个帧的音频数据(数据包)发送给输入/输出装置13 (步骤15) ο
[0028]由中断过程等引起的并与信号处理无关的处理负担不太可能同时发生在运行第一信号处理引擎的PC 10和运行第二信号处理引擎的PC 11中。所以,通过在多个信号处理引擎中并行执行信号处理并选择性地将多个处理的数据中被确定为正常的音频数据发送给输入/输出装置13,只要任意一个信号处理引擎中的信号处理是及时的,就能够防止出现噪声。而且,将多个信号处理引擎置为冗余的,所以即使例如其中的一个信号处理引擎临时或永久地变得不可用或出现故障,也可以继续执行信号处理操作,从而提高可用性(抗故障性)。此外,输入/输出装置13接入到单个网络SW 12中,所以从输入/输出装置13来看,网络SW 12可以用作单个信号处理引擎。
[0029]根据同步时钟周期性地执行与上述所述的在PC 10(第一处理引擎)和PC 11(第二处理引擎)上的信号发送和信号接收相关的操作、和在网络SW 12上的信号发送、信号接收和传输处理的操作。
[0030]下面将对PC 10和PC 11中的“处理”和“响应”作出进一步解释。PC 10和PC 11的音频I/o 22根据其自己时钟振荡源生成的时钟周期性中断CPU 20。响应于此,CPU 20中运行的音频驱动器执行处理以接收从音频I/O 22接收的音频数据,并将其发送给第一信号处理引擎或第二信号处理引擎,从第一信号处理引擎或第二信号处理引擎获取处理后的音频数据,并将其发送到音频I/O 22。在PC 10、11的CPU 20中作为软件运行的第一信号处理引擎和第二信号处理引擎的每一个对发送的音频数据执行诸如滤波处理、EQ处理以及混频处理等以将其返回给音频驱动器。音频驱动器具有“处理完成标记”,并在能够在下一个中断时刻之前根据来自第一信号处理引擎或第二信号处理引擎的一个中断获取信号数据时,也就是在正常状态的情况(及时处理的情况)下,音频驱动器将处理完成标记置为“0”,而在不能获得上述信号数据时(没有及时处理的情况),音频驱动器将处理完成标记置为“I”。此外,及时执行第一信号处理引擎中的信号处理或第二信号处理引擎中的信号处理时,音频驱动器执行处理以将经过信号处理的音频数据返回给网络SW 12,而没有及时执行信号处理时,音频驱动器执行处理以将空数据返回给网络SW 12,这是因为没有应该输出的音频数据。在后一种情况中,即使没有及时执行信号处理,音频驱动器无论如何也以预定的定时返回数据,但是音频驱动器返回的空数据例如是都为“O”的数据、自身接收到的数据等。
[0031]将对网络SW 12的音频I/O 22的操作作出进一步解释。网络SW12的音频I/O 22具有多个输入/输出端口,并识别什么部件连接到了每一个输入/输出端口上。在图1所示的信号处理系统I中,网络SW12的音频I/O 22识别运行第一信号处理引擎的PC 10、运行第二信号处理引擎的PC 11和例如记录器的输入/输出装置13连接到各个输入/输出端口上。然后,音频I/O 22周期性中断网络SW 12中的CPU20。响应于此,网络SW 12中的CPU 20将通过与输入/输出装置13连接的输入/输出端口接收到的一个帧的音频数据(数据包)并行发送给与第一信号处理引擎的PC 10连接的输入/输出端口和与第二信号处理引擎的PC 11连接的输入/输出端口。此外,网络SW 12确定通过与第一信号处理引擎的PC 10连接的输入/输出端口返回的音频数据和通过与第二信号处理引擎的PC 11连接的输入/输出端口返回的音频数据是否正常,并将确定为正常的音频数据选择性地发送给输入/输出装置13。
[0032]在此,在没有正常数据包(经过及时处理的)从第一信号处理引擎或第二信号处理引擎发送时,没有应该被输出的音频数据,所以网络SW 12将空数据发送给输入/输出装置13。例如,空数据是都为“O”的数据、其自身接收的数据等。
[0033]对于网络SW 12中的“确定”,存在将在下面描述的优先接收优先级和最后接收优先级的规定,这两种优先级都被采用。
[0034](I)优先接收优先级
[0035]每次接收到数据包时,连续执行确定步骤,并立即传输确定为正常的音频数据。传输时和传输之后,从其他信号处理引擎中(在相同的时间)接收到的音频数据的数据包被破坏(即使接收到了数据包,也不将其传输)。
[0036](2)最后接收优先级
[0037]当从所有的信号处理引擎(PC)接收到音频数据的数据包时,确定每个数据包并将确定为正常的音频数据的数据包发送。当有多个确定为正常的数据包时,发送以接收顺序或预先设置的优先级顺序确定的音频数据的数据包。
[0038]上述处理完成标记可以添加到要被发送的数据包30的头30a中。这种情况下,第一信号处理引擎的PC 10和第二信号处理引擎的PCll的每个音频I/O 22连同音频数据一起从音频驱动器中获取“处理完成标记”。已经获取了 “处理完成标记”的音频I/O将处理完成标记添加到数据包30的头30a中的预定位置以将音频数据的数据包30发送给网络SW12。另外,本文所示的头表示前面所述的信息而不是表示数据部分30b中的音频数据主体,而且不仅包含TCP头和UDP头,还包含音频数据通信协议定义的数据头。
[0039]接下来,网络SW 12对接收到的数据包30的头30a进行分析并确定接收到的数据包是否是包含已经进行了正常处理的音频数据的数据包。在对头的分析中,由于处理完成标记存储在头的预定位置中,所以通过检测预定位置的信息是“O”还是“ I ”,可以确定数据包是否是包含已经进行了正常处理的音频数据的数据包。网络SW 12将从第一信号处理引擎的PC 10和第二信号处理引擎的PC 11接收的音频数据的数据包30中添加有表示正常的处理完成标记的音频数据的数据包30选择性地发送给输入/输出装置13。
[0040]此外,能够利用要被发送的音频数据来发送处理完成标记。这种情况下,在“没有及时处理”的情况下,第一信号处理引擎的PC 10和第二信号处理引擎的PC 11的音频驱动器中的每一个将要被发送的音频数据的采样的最低有效位设置为“I”。例如,在采样的比特数量为32个比特时,31个比特用作原始音频数据而最低有效位的I比特用作处理完成标记。这种情况下,在所有的采样数据中最低有效位的I比特可以用作处理完成标记,或只在采样数据的一部分(例如,头)中最低有效位的I位用作处理完成标记而在其他采样数据中所有的32个比特还可以用作音频数据。
[0041]然后,网络SW 12对接收到的数据包30的数据部分30b进行分析并确定接收到的数据包30中的每一个是否是包含已经执行了正常处理的音频数据的数据包。接下来,网络Sff 12将从第一信号处理引擎的PC 10和第二信号处理引擎的PC 11接收的音频数据的数据包30中添加有表示正常的处理完成标记的音频数据的数据包30选择性地发送给输入/输出装置13。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1