Reverberation suppressing apparatus and reverberation suppressing method

A reverberation suppressing apparatus, includes: a sound acquiring unit which acquires a sound signal; a reverberation data computing unit which computes reverberation data from the acquired sound signal; a reverberation characteristics estimating unit which estimates reverberation characteristics based on the computed reverberation data; a filter length estimating unit which estimates a filter length of a filter which is used to suppress a reverberation based on the estimated reverberation characteristics; and a reverberation suppressing unit which suppresses the reverberation based on the estimated filter length.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a reverberation suppressing apparatus and a reverberation suppressing method.

Priority is claimed on Japanese Patent Application No. 2010-105369, filed Apr. 30, 2010, the content of which is incorporated herein by reference.

2. Description of Related Art

A reverberation suppressing process is an important technology used as a pre-process of auto-speech recognition, aiming at improvement of articulation in a teleconference call or a hearing aid and improvement of a recognition rate of auto-speech recognition used for speech recognition in a robot (robot hearing sense). In the reverberation suppressing process, reverberation is suppressed by calculating a reverberation component from an acquired sound signal every predetermined frames and by removing the calculated reverberation component from the acquired sound signal (see, for example, Unexamined Japanese Patent Application, First Publication No. H09-261133).

SUMMARY OF THE INVENTION

However, in the known technology described in Unexamined Japanese Patent Application, First Publication No. H09-261133, because a reverberation suppressing process is performed in a predetermined frame length, when the frame length is long, the process takes a long time. On the other hand, when the frame length is too short, reverberation cannot be effectively suppressed.

To solve the above-mentioned problems, it is therefore an object of the invention to provide a reverberation suppressing apparatus and a reverberation suppressing method which can suppress reverberation with high accuracy.

A reverberation suppressing apparatus according to an aspect of the invention includes: a sound acquiring unit which acquires a sound signal; a reverberation data computing unit which computes reverberation data from the acquired sound signal; a reverberation characteristics estimating unit which estimates reverberation characteristics based on the computed reverberation data; a filter length estimating unit which estimates a filter length of a filter which is used to suppress a reverberation based on the estimated reverberation characteristics; and a reverberation suppressing unit which suppresses the reverberation based on the estimated filter length.

In the reverberation suppressing apparatus, the reverberation characteristics estimating unit may estimates a reverberation time based on the computed reverberation data, and the filter length estimating unit may estimate the filter length based on the estimated reverberation time.

In the reverberation suppressing apparatus, the filter length estimating unit may estimate the filter length based on a rate between a direct sound and an indirect sound.

The reverberation suppressing apparatus may further include an environment detecting unit which detects a change in an environment where the reverberation suppressing apparatus is set, and the reverberation data computing unit may compute the reverberation data when the change in the environment is detected.

In the reverberation suppressing apparatus, when the environment detecting unit detects the change in the environment, the reverberation suppressing unit may switch, based on the detected environment, at least one of a parameter used by the reverberation suppressing unit to suppress the reverberation and a parameter used by the filter length estimating unit to estimate the filter length.

The reverberation suppressing apparatus may further include a sound output unit which outputs a test sound signal, the sound acquiring unit may acquire the output test sound signal, and the reverberation data computing unit may compute the reverberation data from the acquired test sound signal.

A reverberation suppressing method according to an aspect of the invention includes the following steps of: acquiring a sound signal; computing reverberation data from the acquired sound signal; estimating reverberation characteristics based on the computed reverberation data; estimating a filter length of a filter which is used to suppress a reverberation based on the estimated reverberation characteristics; and suppressing the reverberation based on the estimated filter length.

According to the invention, since the reverberation data is computed from the acquired sound signal, the reverberation characteristics is estimated based on the computed reverberation data, and the filter length of the filter which is used to suppress the reverberation is estimated based on the estimated reverberation characteristics, it is possible to efficiently suppress the reverberation based on the reverberation characteristics with high accuracy.

According to the invention, since the filter length is estimated based on the reverberation time of the estimated reverberation characteristics, it is possible to efficiently suppress the reverberation with higher accuracy.

According to the invention, since the filter length is estimated based on the rate between the direct sound and the indirect sound, it is possible to efficiently suppress the reverberation based on the reverberation characteristics with higher accuracy.

According to the invention, since the change in the environment where the reverberation suppressing apparatus is set is detected, the reverberation data is computed and the reverberation characteristics is estimated when the change in the environment is detected, and the filter length of the filter which is used to suppress the reverberation is estimated based on the estimated reverberation characteristics, it is possible to efficiently suppress the reverberation with higher accuracy.

According to the invention, since at least one of the parameter used by the reverberation suppressing unit to suppress the reverberation and the parameter used by the filter length estimating unit to estimate the filter length is switched based on the detected environment, it is possible to efficiently suppress the reverberation with higher accuracy.

According to the invention, since the sound output unit outputs the test sound signal used to compute the reverberation data, the sound acquiring unit acquires the output test sound signal, the reverberation data is computed from the acquired test sound signal, and the filter length of the filter which is used to suppress the reverberation is estimated based on the estimated reverberation characteristics, it is possible to efficiently suppress the reverberation with higher accuracy.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, example embodiments of the invention will be described in detail with reference toFIGS. 1 to 17. However, the invention is not limited to the embodiments, but may be modified in various forms without departing from the technical spirit thereof.

First Embodiment

FIG. 1is a diagram illustrating an example where a sound signal is acquired by a robot mounted with a reverberation suppressing apparatus according to a first embodiment of the invention. As shown inFIG. 1, a robot1includes a body part11, a head part12(movable part), a leg part13(movable part), and an arm part14(movable part). The head part12, the leg part13, and the arm part14are movably connected to the body part11. In the robot1, the body part11is provided with a housing part15which is carried on the back thereof speaker20(sound output unit140) is housed in the body part11and a microphone30is hosed in the head part12. InFIG. 1, the robot1is viewed from the side and plural microphones30and plural speakers20are provided.

The first embodiment of the invention will be first described roughly.

As shown inFIG. 1, a sound signal output from the speaker20of the robot1is described as a speech Srof the robot1.

Speech interruption by a person2when the robot1is speaking is called barge-in. When barge-in is being generated, it is difficult to recognize the speech of the person2due to the speech of the robot1.

When the person2and the robot1speak, a sound signal huof the person2including reverberation, which is a speech Suof the person2delivered via a space, and a sound signal hrof the robot1including reverberation, which is the speech Sr of the robot1delivered via the space, are input to the microphone30of the robot1.

InFIG. 1, when the sound signal collected by the microphone30of the robot1is modeled, it is represented as hu+hr=Hu·Su+H·Sr. Huand H are frequency domain functions. In Hu·Su+H·Sr, the speech Srof the robot1is known. Among the sound signal collected by the microphone30, reverberation (echo) is added to Hu·Suduring a period when the speech of the person2is delivered from the person2to the robot1. Therefore, it is expected that higher recognition rate can be obtained when speech recognition is performed using Surather than using Hu·Su. H is calculated by acquiring via the microphone30sound data when only the robot1speaks via the speaker20, and analyzing reverberation characteristics in an environment where the robot1is present. Further, in this embodiment, the reverberation is cancelled, that is, suppressed using an MCSB-ICA (Multi-Channel Semi-Blind ICA) based on an ICA (Independent Component Analysis). The number of frames tailored to the environment where the robot1is present is calculated by estimating the number of frames of the separation filter of the MCSB-ICA based on the calculated reverberation characteristics. Finally, the sound signal Srof the person2is calculated by suppressing reverberation components using the calculated number of frames.

FIG. 2is a block diagram illustrating the configuration of the reverberation suppressing apparatus100according to this embodiment. As shown inFIG. 2, the microphone30and the speaker20are connected to the reverberation suppressing apparatus100, and the microphone30includes plural microphones31,32, . . . . The reverberation suppressing apparatus100includes a controller101, a sound generator102, a sound output unit103, a sound acquiring unit111, a reverberation data calculator112, an STFT unit113, an MCSB-ICA unit114, a storage unit115, a filter length estimating unit116, and a separation data output unit117.

The controller101outputs to the sound generator102an instruction of generating and outputting a sound for measuring the reverberation characteristics, and outputs to the sound acquiring unit111and the MCSB-ICA unit114a signal representing that the robot1is emitting a sound for measuring the reverberation characteristics.

The sound generator102generates a sound signal (test signal) for measuring the reverberation characteristics based on the instruction from the controller101, and outputs the generated sound signal to the sound output unit103.

The generated sound signal is input to the sound output unit103. The sound output unit103amplifies the input sound signal to a predetermined level and outputs the amplified sound signal to the speaker20.

The sound acquiring unit111acquires a sound signal collected by the microphone30and outputs the acquired sound signal to the STFT unit113. When the instruction of generating and outputting a sound for measuring the reverberation characteristics is input from the controller101, the sound acquiring unit111acquires the sound signal for measuring the reverberation characteristics and outputs the acquired sound signal to the reverberation data calculator112.

The acquired sound signal and the generated sound signal are input to the reverberation data calculator (reverberation data computing unit)112. The reverberation data calculator (reverberation data computing unit)112calculates a separation matrix Wrfor cancelling echo using the acquired sound signal, the generated sound signal, and equations stored in the storage unit115. The reverberation data calculator112writes and stores the calculated separation matrix Wrfor cancelling echo in the storage unit115.

The acquired sound signal and the generated sound signal are input to the STFT (Short-Time Fourier Transformation) unit113. The STFT unit113applies a window function such as a Hanning window function to the acquired sound signal and the generated sound signal, and analyzes the signals within a finite period while shifting an analysis position. The STFT unit113performs an STFT process on the acquired sound signal every frame t to convert the sound signal into a signal x(ω,t) in a time-frequency domain, performs the STFT process on the generated sound signal every frame t to convert the sound signal into a signal sr(ω,t) in the time-frequency domain, and outputs the converted signals x(ω,t) and sr(ω,t) to the MCSB-ICA unit114by the frequency aFIGS. 3A and 3Bare diagrams illustrating the STFT process.FIG. 3Ashows a waveform of the acquired sound signal andFIG. 3Bshows the window function which is applied to the acquired sound signal. InFIG. 3B, reference sign U represents a shift length and reference sign T represents a period (window length) in which the analysis is performed.

The signal x(ω,t) and the signal sr(ω,t) converted by the STFT unit113are input to the MCSB-ICA unit (reverberation suppressing unit)114by the frequency ω. Further, the signal representing that the robot1is emitting a sound for measuring the reverberation characteristics is input to the MCSB-ICA unit114from the controller101, and filter length data estimated by the filter length estimating unit116is input to the MCSB-ICA unit114. When the signal representing that the robot1is emitting a sound for measuring the reverberation characteristics has not been input, the MCSB-ICA unit114calculates separation filters W1uand W2uusing the input signals x(ω,t) and sr(ω,t), and the separation matrix Wrfor cancelling echo and the models and coefficients stored in the storage unit115. After calculating the separation filters W1uand W2u, a direct speech signal of the person2is separated from the sound signal acquired by the microphone30and the separated direct speech signal is output to the separation data output unit117.

FIG. 4is a diagram illustrating the internal configuration of the MCSB-ICA unit114. As shown inFIG. 4, the signal x(ω,t) input from the STFT unit113is input to a forcible spatial spherization unit211via a buffer201, and the signal sr(ω,t) input from the STFT unit113is input to a variance normalizing unit212via a buffer202. To an ICA unit221, a spatially-spherized signal is input from the forcible spatial spherization unit211and a normalized signal is input from the variance normalizing unit212. The ICA unit221repeatedly performs the ICA process on the input signals, outputs the calculation result to a scaling unit231, and outputs the scaled signal to a direct sound separating unit241. The scaling unit231performs a scaling process using a projection back process. The direct sound separating unit241selects the signal having the maximum power from the input signals and outputs the selected signal.

Models of the sound signal acquired by the robot1via the microphone30, separation models used for analysis, parameters used for analysis, and the like are written and stored in the storage unit115in advance. The calculated separation matrix Wrfor cancelling echo, and the calculated separation filters W1uand W2uare written and stored in the storage unit115.

The filter length estimating unit (reverberation characteristics estimating unit)116reads out the separation matrix Wrfor cancelling echo stored in the storage unit115, estimates a filter length from the read separation matrix Wrfor cancelling echo, and outputs the estimated filter length to the MCSB-ICA unit114. The method of estimating a filter length from the separation matrix Wrfor cancelling echo will be described later. Note that the filter length is a value relating to the number of frame sampling (i.e., the window), and the sampling is performed longer as the filter length increases.

The direct sound signal separated from the MCSB-ICA unit114is input to the separation data output unit117. The separation data output unit117outputs the input direct sound signal to, for example, a speech recognizing unit (not shown).

A separation model for separating a necessary sound signal from the sound acquired by the robot1will be described. The sound signal acquired by the robot1via the microphone30can be defined like an FIR (Finite Impulse Response) model of Expression 1 in the storage unit115.

In Expression 1, x(t) is expressed as a vector [x1(t), x2(t), . . . , xL(t)]Tof spectrums x1(t), . . . , xL(t) (where L is a microphone number) of the plural microphones31,32, . . . . Further, su(t) is a spectrum of the speech of the person2, sr(t) is a spectrum of the speech of the robot1, hu(n) is an N-dimension FIR coefficient vector of the sound spectrum of the person2, and hr(m) is an M-dimension FIR coefficient vector of the robot1. sr(t) and hr(m) are known. Expression 1 represents a model of a sound signal acquired by the robot1via the microphone30at time t.

The sound signal collected by the microphone30of the robot1is modeled and stored in advance as a vector X(t) including a reverberation component as expressed by Expression 2 in the storage unit115. The sound signal of the speech of the robot1is modeled and stored in advance as a vector Sr(t) including a reverberation component as expressed by Expression 3 in the storage unit115.
X(t)=[x(t),x(t−1), . . . ,x(t−N)]TExpression 2
Sr(t)=[sr(t),sr(t−1), . . . ,sr(t−M)]TExpression 3

In Expression 3, sr(t) is the sound signal emitted from the robot1, sr(t−1) represents that the sound signal is delivered via the space with a delay of “1”, and sr(t−M) represents that the sound signal is delivered via the space with a delay of “M”. That is, it represents that the reverberation component increases as the distance from the robot1is great and the delay increases.

To independently separate the known direct sounds Sr(t) and X(t−d), and the direct speech signal suof the person2using the ICA, the separation model of the MCSB-ICA is defined by Expression 4 and is stored in the storage unit115.

In Expression 4, d (which is greater than 0) is an initial reflecting gap, and X(t−d) is a vector obtained by delaying X(t) by “d”. Expression 5 is an estimated signal vector of L dimension.
{circumflex over (s)}(t)  Expression 5

W1uis an L×L blind separation matrix (separation filter), W2uis an L×L(N+1) matrix for removing a blind reverberation (separation filter), and Wris an L×(M+1) separation matrix for cancelling reverberation (i.e., reverberation elements based on the acquired reverberation characteristics).

I2and Irare unit matrixes having the corresponding sizes. In Expression 5, the direct speech signal of the person2and several reflected sound signals are included.

Parameters for solving Expression 4 will be described. In Expression 4, a separation parameter set W={W1u, W2u, Wr} is estimated as a difference scale between products of a coupling probability density function and peripheral probability density functions (peripheral probability density functions representing the independent probability distributions of the individual parameters) of s(t), X(t−d), and Sr(t) so that KL (Kullback-Leibler) amount of information is minimized. The initial value W1u(ω) of the separation matrix at frequency ω is set to an estimation matrix W1u(ω+1) at frequency ω+1.

The MCSB-ICA unit114estimates the separation parameter set W by repeatedly updating the separation filters in accordance with rules of Expressions 6 to 9 so that the KL amount of information is minimized using a natural gradient method. Expressions 6 to 9 are written and stored in advance in the storage unit115.
D=Λ−E[φ(ŝ(t))ŝH(t)]  Expression 6
W1u[j+1]=W1u[j]+μDW1u[j]Expression 7
W2u[j+1]=W2u[j]+μ(DW2u[j]−E[φ(ŝ(t))XH(t−d)])  Expression 8
Wr[j+1]=Wr[j]+μ(DWr[j]−E[φ(ŝ(t))SrH(t)])  Expression 9

Note that in Expression 6 and Expressions 8 and 9, superscript H represents a conjugate transpose operation (Hermitian transpose). In Expression 6, Λ represents a nonholonomic restriction matrix, that is, a diagonal matrix of Expression 10.
E[φ({circumflex over (s)}(t))ŝH(t)]  Expression 10

In Expressions 7 to 9, u is a step-size parameter. φ(x) is a nonlinear function vector [φ(x1), φ(xL)]H, which can be expressed by Expression 11. Expression 11 is written and stored in advance in the storage unit115.

The PDF of a sound source is p(x)=exp(−|x|/σ2)/(2σ2) which is a PDF resistance to noise and φ(x)=x*/(2σ2|x|), where σ2is the variance. It is assumed that x* is conjugate of x. These two functions are defined in a continuous region |x|>ε.

The procedure of the sound separation process will be described with reference toFIGS. 5 to 8.FIG. 5is a diagram illustrating the procedure of process of detecting reverberation intensity according to this embodiment. The reverberation intensity is detected every time when an environment where the robot1is present changes. For example, the reverberation intensity is detected when the robot1moves to another room and the robot1moves outside the room. The robot1determines whether or not the environment changes by using image data captured by, for example, a camera (not shown) built in the robot1. Alternatively, the reverberation intensity may be detected when the position of the robot1changes by the robot1being moved in the horizontal direction or in the vertical direction.

As shown inFIG. 6, the controller101outputs to the sound generator102an instruction of generating a predetermined sound signal for measuring reverberation intensity in an environment where the robot1is present. When the instruction of generating a predetermined sound signal is input to the sound generator102, the sound generator102generates the predetermined sound signal based on the input instruction, and outputs the generated predetermined sound signal to the sound output unit103. When the generated predetermined sound signal is input to the sound output unit103, the sound output unit103amplifies the input predetermined sound signal to a predetermined level and outputs the amplified sound signal to the speaker20. The predetermined sound signal for measuring reverberation intensity may be formed of, for example, one vowel or one consonant.FIG. 6is a diagram illustrating a state where the robot1acquires a sound signal via the microphone when only the robot1is speaking.

Next, the sound signal collected by the microphone30is input to the sound acquiring unit111. The sound acquiring unit111outputs the input sound signal to the reverberation data calculator112. The sound signal collected by the microphone30is a sound signal hrincluding the sound signal Srgenerated by the sound generator102and reverberation components resulting from the reflection of the sound emitted from the speaker20from the walls, the ceiling, and the floor.

When the acquired sound signal is input to the reverberation data calculator112, the reverberation data calculator112calculates the separation matrix Wrfor cancelling echo using Expression 9 stored in the storage unit115. The reverberation data calculator112writes and stores the calculated reverberation characteristics data in the storage unit115. When the calculation using Expression 9 is performed, the filter length is set to “1” since the input value is Wronly.

In Step S2, a graph of reverberation intensity for estimating the filter length is generated using Wrcalculated in Step S1.

The filter length estimating unit116reads out the separation matrix Wrfor cancelling echo stored in the storage unit115. The filter length estimating unit116rewrites the read separation matrix Wrfor cancelling echo as Expression 12.
Wr=[wr(0)wr(1) . . .wr(M)]  Expression 12

The normalized power function of this filter at a frequency ω is defined by Expression 14.

In Expression 14, i is a number of the microphone30(microphones31,32, . . . ) and m is a filter index. Since the power function of Expression 14 reflects the reverberation intensity and relates to the reverberation time in the environment, the reverberation time is estimated based on this power function.

The averaged power function of frequency and the averaged power function P of the microphones, and a logarithmic value of the function P are defined by Expression 15 and Expression 16 as a standard for calculating a reverberation time.

In Expression 15, Ω is a value which is based on a set of frequency bands. The filter length estimating unit116calculates reverberation intensity by using Expression 15 and Expression 16 and virtually plots the reverberation intensity as shown inFIG. 7. InFIG. 7, the vertical axis represents the sound level and the horizontal axis represents the time axis. As shown inFIG. 7, the sound level is the highest at time0when the generated sound signal is emitted from the speaker20, and the sound level is decreased depending on the reverberation characteristics in the environment where the robot1is present.

In Step S3, the filter length M is estimated using the reverberation intensity plotted on the graph inFIG. 7.

As shown inFIG. 7, the filter length estimating unit116performs a linear regression analysis for estimating a filter length using Expression 17.
y=a×m+b

In Expression 17, a and b are coefficients, m is a filter length index, and y is equivalent to L(m). Then, as shown inFIG. 7, the filter length estimating unit116extracts several samples from the peak values of P(m), and estimates a and b using the least mean square (LMS) method.

The filter length estimating unit116calculates a filter length for removing reverberation so that m in Expression 18 satisfies L(m)=Ld, and outputs the calculated filter length for removing reverberation to the ICA unit221.

For example, as shown inFIG. 7, a linear regression line251in the case of RT20=240 ms (RT20is the reverberation time) is estimated using Expression 17. The estimated filter length is a value at an intersection point253of the linear regression line251and a line of Ld=−60 (i.e., a line252) in Expression 18, that is, M is about 13.

When the person2is speaking, a sound signal of the person2with reverberation components removed is calculated from the sound signal acquired from the microphone30by finding Expression 5 using Expression 4 in Step S4.

The sound signal collected by the microphone30is input to the sound acquiring unit111. The sound acquiring unit111outputs the input sound signal to the STFT unit113. The sound generator102generates a sound and outputs the generated sound signal to the STFT unit113.

The sound signal acquired by the microphone30and the sound signal generated by the sound generator102are input to the STFT unit113. The STFT unit113performs the STFT process on the acquired sound signal every frame t to convert the sound signal into a signal x(ω,t) in a time-frequency domain, and outputs the converted signal x(ω,t) to the MCSB-ICA unit114by the frequency ω. Further, the STFT unit113performs the STFT process on the generated sound signal every frame t to convert the sound signal into a signal sr(ω,t) in the time-frequency domain, and outputs the converted signal sr(ω,t) to the MCSB-ICA unit114by the frequency ω.

The converted signal x(ω,t) is output to the forcible spatial spherization unit211of the MCSB-ICA unit114by the frequency ω. The forcible spatial spherization unit211performs the spatial spherization process using the frequency ω as an index and using Expression 19, thereby calculating z(t). Expression 19 and Expression 20 are used to speed up the procedure of solving Expression 5.
z(t)=Vux(t)  Expression 19

In Expression 20, Euand Auare eigen vector matrixes and an eigen diagonal matrix Ru=E|x(t)xH(t)|.

The converted signal sr(ω,t) is input to the variance normalizing unit212of the MCSB-ICA unit114by the frequency ω. The variance normalizing unit212performs the scale normalizing process using the frequency ω as an index and using Expression 21.

In the normalization of scaling, elements of inverse separation matrix is applied in accordance with the separation signal using the projection back method. The element cjof the i-th row and the j-th column of Expression 22 which satisfies Expression 23 and Expression 24 is used to the scaling of the j-th element of Expression 5.

The forcible spatial spherization unit211outputs z(ω,t) calculated in this manner to the ICA unit221. The variance normalizing unit212outputs the value of Expression 21 calculated in this manner to the ICA unit221.

The calculated z(ω,t) and the value of Expression 21 are input to the ICA221. The ICA unit221reads out the separation model (separation filter) stored in the storage unit115. Then, the ICA unit221calculates W1uand W2uby substituting Expression 19 into x of Expressions 4 and 6 to 9 and substituting Expression 21 into s, and the MCSB-ICA unit114calculates data of Expression 5 using Wrcalculated in Step S1.

FIG. 8is a diagram illustrating an example of change in the MCSB-ICA process. In the normal separation mode, a block width increase separation of the MCSB-ICA is performed. The ICA buffers data for a predetermined time in order to reliably estimate the separation matrix. Since the buffer is used, a preceding block size Ibis used for performing separation in time t. InFIG. 8, the delay time increases when the shift amount Isincreases. Further, the calculation process increases when the shift amount Isdecreases. In this manner, an overlap parameter coefficient Isis used in the present embodiment.

The test methods performed using the robot1having the reverberation suppressing apparatus according to this embodiment and the test results thereof will be described.FIGS. 9 to 12show test conditions.FIG. 9shows data and setting conditions of the reverberation suppressing apparatus used in the tests. As shown inFIG. 9, the impulse response was recorded as 16 kHz sample, the reverberation time was set to 240 ms and 670 ms, the distance between the robot1and the person2was 1.5 m, the angle between the robot1and the person2was set to 0°, 45°, 90°, −45°, and −90°, the number of used microphones30was two (disposed in the head part of the robot1), the size of the hanning window in the STFT analysis was 32 ms (512 points) and the shift amount was 12 ms (192 points), and the input signal data was normalized into [−1.0, 1.0].

FIG. 10is a diagram illustrating the setting of the speech recognition. As shown inFIG. 10, the test set was 200 sentences (Japanese), the training set was 200 people (150 sentences each), the acoustic model was PTM-triphone and three-value HMM (Hidden Markov model), the language model was a vocabulary size of 20 k, the speech analysis was set to a Hanning window size of 32 ms (512 points) and the shift amount of 10 ms, and the features was set to a MFCC (Mel-Frequency Cepstrum Coefficient: spectrum envelope) of 25-dimensions (12 dimensions+Δ12 dimensions+Δpower). As other STFT setting conditions, the frame gap coefficient was set to d=2, the filter length N for canceling the reverberation and the filter length M for removing the reverberation of the normal separation mode were set to the same value, a coefficient for the adaptive step size is set in advance, a coefficient for the estimated filter is set to Ω={5, 6, . . . , 200} and Ld=−60, and the sample number for the linear regression analysis is set to 6. The Julius (http://julius.sourceforge.jp/) was used as the speech recognition engine.

The test results are shown inFIGS. 11 to 16.FIG. 11is a diagram illustrating setting conditions of the estimated filter length.FIG. 11shows the average values and deviations of the estimated filter length for each of Mmaxis 20, 30 and 50, and for each of the cases where: the noise is present and the reverberation time is 240 ms; the noise is present and the reverberation time is 670 ms; the noise is not present and the reverberation time is 240 ms; and the noise is not present and the reverberation time is 670 ms. Place1(Environment I) is a general room (reverberation time RT20=240 ms) and Place2(Environment II) is a hole-like room (reverberation time RT20=670 ms).

FIG. 12is a drawing illustrating an example of the speech recognition rate using the estimated filter length. As shown inFIG. 12, Case B is a case where barge-in is not generated and Case C is a case where barge-in is generated.FIG. 12shows the speech recognition rates for each of the reverberation time of 240 ms and 670 ms, for each of the cases where: the noise is not separated (no proc.); the block size Ibis 166 (2 second); the block size Ibis 208 (2.5 second); and the block size Ibis 255 (3 second), and for each of Case B and Case C. The shift amount Isis set to half of the block size Ib. For example, the recognition rate of a clear sound signal without any reverberation is about 93% in the reverberation suppressing apparatus used in the tests.

FIGS. 13 to 16are graphs illustrating the results ofFIG. 12.FIG. 13is a graph illustrating the speech recognition rates in Case B (without barge-in) and Place1, andFIG. 14is a graph illustrating the speech recognition rates in Case B (without barge-in) and Place2.FIG. 15is a graph illustrating the speech recognition rates in Case C (with barge-in) and Place1, andFIG. 16is a graph illustrating the speech recognition rates in Case C (with barge-in) and Place2. The horizontal axis in the graphs represents the filter length (N) and the vertical axis represents the speech recognition rate (%).

As shown inFIG. 13, when the robot1is in a room (Place1) where the reverberation time is short and barge-in is not generated, the recognition rate (i.e., the percentage of correct answers) is lower in the case of an inappropriate filter length (N=35)302than that in the case of an estimated filter length (N=14)301. In the case of the filter length (N=35)302, a difference occurs in the recognition rate due to the block size Ib. When the robot1is in a room (Place2) where the reverberation time is long and barge-in is not generated, the recognition rate is greater than or equal to 60% in the case of the estimated filter length (N=35). As shown inFIGS. 13 and 14, the estimated filter length is short (N=14) when the reverberation time is short, and the estimated filter length is long (N=36) when the reverberation time is long. In this manner, it is possible to improve the speech recognition rate by estimating an appropriate filter length (frame length) based on the reverberation characteristics in the environment where the robot1acquires the sound signal.

As shown inFIG. 15, when the robot1is in the room (Place1) where the reverberation time is short and barge-in is generated, the recognition rate (i.e., the percentage of correct answers) is lower in the case of an inappropriate filter length (N=35) than that in the case of an estimated filter length (N=14), and the difference in the recognition rate increases when the block length Ibis changed. When the robot1is in the room (Place2) where the reverberation time is long and barge-in is generated, the recognition rate is greater than or equal to 40% in the case of the estimated filter length (N=35).

As described above, since the flame length which is a separation filter length is set in accordance with the reverberation characteristics, it is possible to improve the speech recognition rate, and it is possible to appropriately set the calculation amount for the speech recognition.

Although it has been described in this embodiment that the reverberation time is used as the reverberation characteristics, D value (a value representing the clarity of the sound, which is a ratio between the power from 0 ms when the direct sound reaches to 50 ms and the power from 0 ms to a time when the sound decays) may be used.

It has been described in this embodiment that, when the instruction of generating and outputting a sound for measuring the reverberation characteristics is input from the controller101, a sound signal for measuring the reverberation characteristics is acquired and the reverberation characteristics is measured. However, the sound acquiring unit111may determine whether or not barge-in is generated by comparing the acquired sound signal with the generated sound signal output from the sound generator102, and may acquire the sound signal for measuring the reverberation characteristics when barge-in is not generated.

Second Embodiment

Hereinafter, a second embodiment of the invention will be described in detail with reference toFIG. 17.FIG. 17is a block diagram illustrating a reverberation suppressing apparatus100aaccording to this embodiment. It has been described in the first embodiment that, when the environment changes, the robot1speaks and the reverberation characteristics in the environment where the robot1is present is measured. In this embodiment, marks are set in every room where the robot1awill move and a camera40of the robot1captures the set marks, and the reverberation characteristics is measured when the robot1detects the change in the environment, for example, the fact that the robot1has been moved, by detecting the marks using a known image recognition method. Alternatively, a map is written and stored in the storage unit115of the robot1a, and the reverberation characteristics is measured when the robot1detects the change in the environment based on the map.

As shown inFIG. 17, the reverberation suppressing apparatus100aof this embodiment further includes an image acquiring unit301and an environment change detecting unit302. The reverberation suppressing apparatus100ais connected to the camera40. An image signal captured by the camera40is input to the image acquiring unit301. The image acquiring unit301outputs the input image signal to the environment change detecting unit302. The environment change detecting unit302determines whether or not the position of the robot1amounted with the reverberation suppressing apparatus100ahas changed based on the input image signal. When detecting the change of position, the environment change detecting unit302outputs a signal indicating the change of position to a controller101a. When the signal indicating the change of position is input to the controller101a, the controller101aoutputs an instruction of generating a sound signal (test signal) for measuring the reverberation characteristics to the sound generator102. The following processes are the same as those in the first embodiment.

Alternatively, parameters for each environment which are associated with the map or the marks may be written and stored in the storage unit115ain advance. The controller101amay measure the reverberation characteristics and switch the set of parameters from the storage unit115awhen the robot1detects the change in the environment.

A reverberation may be measured under an environment where reverberation data is not stored in the storage unit115aand parameters based on this environment may be calculated and stored in the storage unit115aso as to associate the reverberation data with the measured reverberation characteristics.

A positional information transmitter (not shown) transmitting information on position to the robot1amay be set in each room, and when the robot1areceives the information on position, the robot1amay detect the change in the environment and measure the reverberation characteristics.

Although it has been described in the first and second embodiments that the reverberation suppressing apparatus100and the reverberation suppressing apparatus100aare mounted on the robot1(1a), the reverberation suppressing apparatus100and the reverberation suppressing apparatus100amay be mounted on, for example, a speech recognizing apparatus or an apparatus having the speech recognizing apparatus.

The operations of the units may be embodied by recording a program for embodying the functions of the units shown inFIGS. 2 and 17according to the embodiments in a computer-readable recording medium and reading the program recorded in the recording medium into a computer system to execute the program. Here, the “computer system” includes an OS or hardware such as peripherals.

The “computer system” includes a homepage providing environment (or display environment) using a WWW system.

Examples of the “computer-readable recording medium” include memory devices of portable mediums such as a flexible disk, an magneto-optical disk, a ROM (Read Only Memory), and a CD-ROM, a USB (Universal Serial Bus) memory connected via a USB I/F (Interface), and a hard disk built in the computer system. The “computer-readable recording medium” may include a medium dynamically keeping a program for a short time, such as a communication line when the program is transmitted via a network such as Internet or a communication circuit such as a phone line and a medium keeping a program for a predetermined time, such as a volatile memory in the computer system serving as a server or a client. The program may embody a part of the above-mentioned functions or may embody the above-mentioned functions in cooperation with a program previously recorded in the computer system.