Patent ID: 7039199

Claim:
A computer-implemented process for finding the location of a person speaking using signals output by a microphone array having a plurality of audio sensors, comprising using a computer to perform the following process actions: inputting the signal generated by each audio sensor of the microphone array; distinguishing the portion of each of the array sensor signals that contains human speech data from non-speech portions; reducing noise attributable to stationary sources in each of the array sensor signals; locating the position of the person speaking using a time-delay-of-arrival (TDOA) based sound source localization (SSL) technique on those portions of the array sensor signals that contain human speech data; and wherein, distinguishing the portion of each of the array sensor signals that contains human speech data from the non-speech portions, comprises, for each array sensor signal, the actions of, sampling the signal to produce a sequence of consecutive blocks of the signal data representing the output of the sensor over a prescribed period of time, converting each block of signal data to the frequency domain, initializing the distinguishing action using three consecutive blocks of signal data, said initializing comprising the actions of, computing the total energy of the blocks, computing the delta energy of the third block in the sequence by computing the difference between the total energy of said third block and that of the second block in the sequence, computing a noise floor energy for the second and third blocks, and computing the delta energy of the noise floor for the third block which represents the difference of the noise floor energy value computed for the third and that computed for the second block, and for each consecutive block of signal data starting with the third block employed in the initialization action, computing the total energy of the block if not previously computed, computing the delta energy of the block if not previously computed, wherein the delta energy represents the difference in total energy between the block under consideration and that of the immediately preceding block of signal data, computing the delta energy of the noise floor of the block if not previously computed, wherein the delta noise floor energy represents the difference between the last-computed noise floor energy value and that associated with the immediately preceding block of signal data, determining whether the total energy of the block exceeds a prescribed multiple of the energy of the noise floor of the block and whether the delta energy of the block exceeds a prescribed multiple of the delta energy of the noise floor of the block, and whenever it is determined that the total energy of the block exceeds the prescribed multiple of the energy of the noise floor of the block and the delta energy of the block exceeds the prescribed multiple of the delta energy of the noise floor of the block, designating the block as one containing human speech components.