Method for predicting reverberation time and related products
By constructing prediction vectors and updating echo paths, and using weighted norms to predict reverberation time, the accuracy and automation problems of reverberation time prediction in the prior art are solved, and high accuracy and robust prediction in the conference system are achieved.
Patent Information
- Application Number
- CN202210594824.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-27
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-05-27
AI Technical Summary
The prior art is difficult to accurately predict reverberation time in applications for conference systems, and is susceptible to background noise interference, resulting in large errors.
By obtaining the echo reference signal, constructing a prediction vector, updating the echo path, determining the weighted norm of the echo path, and traversing the echo path of each frame with the weighted norm to predict the reverberation time.
Accurate and automatic calculation of reverberation time in conference-oriented applications is realized, improving prediction accuracy and enhancing robustness.
Smart Images

Figure CN114898763B_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to the field of reverberation. More specifically, the present invention relates to a method, apparatus and computer-readable storage medium for predicting reverberation time. Background Art
[0002] In many network call applications such as voice conferencing systems, the actual office scene has variable reverberation size, and different reverberation sizes will lead to slightly different key parameters of echo cancellation and noise suppression algorithms, and thus different echo cancellation and noise suppression strategies need to be adopted. Therefore, the judgment of reverberation size plays a vital role in improving the communication quality of voice conferencing systems. In actual application scenarios, reverberation time is usually used to describe the reverberation size, that is, the time required for the direct sound to attenuate 60dB through multiple refractions and reflections in the room. Then, the estimated reverberation time can be used to configure related parameters such as noise suppression, reverberation suppression, and echo cancellation to improve the communication quality in the voice conferencing system.
[0003] In the prior art, the reverberation time can be determined by tracking the reverberation energy through microphone signals. However, the estimation of reverberation energy is easily interfered by other energy signals such as background noise, which leads to large errors in the estimation of reverberation time. In addition, the reverberation time can be calculated according to the periodic signal received by the microphone through an accurate measuring instrument. However, the calculation of the reverberation time by the above method requires a high-precision microphone sensor and an artificial mouth, which increases the deployment cost of calculating the reverberation time, and the above method cannot automatically calculate the reverberation time through an algorithm, so that the method of calculating the reverberation time cannot be directly used in applications for conference systems. In view of this, the prior art needs a technical solution for accurately predicting the reverberation time in applications for conference systems. Summary of the invention
[0004] In order to at least solve one or more technical problems in the above-mentioned background technology, the present invention proposes a method for predicting reverberation time and related products thereof. Through the solution of the present invention, a more accurate prediction of the reverberation time can be achieved, and the reverberation time can be automatically calculated in applications oriented to conference systems. To this end, the present invention provides solutions in the following aspects.
[0005] In a first aspect, the present invention discloses a method for predicting reverberation time, comprising: obtaining an echo reference signal for constructing a prediction vector; performing a path update on an echo signal in the reverberation according to the prediction vector to obtain an updated echo path; determining a weighted norm of the echo path based on the updated echo path; and traversing the echo reference signal of each frame using the weighted norm to predict the reverberation time.
[0006] In one embodiment, obtaining an echo reference signal for constructing a prediction vector includes: performing a short-time Fourier transform on the echo reference signal to obtain a time-frequency domain signal of the echo reference signal; processing the time-frequency domain signal of the echo reference signal to obtain a current frame time-frequency domain signal and a previous preset frame time-frequency domain signal; and traversing the echo path of each frame using the weighted norm to predict the reverberation time.
[0007] In another embodiment, updating the path of the echo signal in the reverberation according to the prediction vector includes updating the path of the echo signal in the reverberation based on a minimum mean square error criterion.
[0008] In another embodiment, updating the path of the echo signal in the reverberation based on the minimum mean square error criterion includes: performing a short-time Fourier transform on the echo signal to obtain a time-frequency domain signal of the echo signal; obtaining an echo path of a previous frame in the echo signal, and processing the obtained time-frequency domain signal of the echo signal according to the echo path of the previous frame and the prediction vector to obtain an echo prediction error; projecting the prediction vector onto an iteration matrix of a current frame in the echo signal and normalizing it to obtain an iteration vector; updating the iteration matrix of the current frame in the echo signal using the obtained iteration vector to obtain an updated new iteration matrix; and performing a path update on the echo path of the previous frame in the echo signal according to the obtained iteration vector and the echo prediction error to obtain the echo path of the current frame in the echo signal.
[0009] In one embodiment, determining the weighted norm of the echo path based on the updated echo path includes: obtaining the sub-bands at the echo signal frame level, and performing weight calculation on the echo paths of the sub-bands to obtain sub-band weighting factors; obtaining all frequency bands at the echo signal frame level, and performing cumulative weight calculation on the echo paths of all frequency bands to obtain frame level weighting factors; and estimating the weighted norm of the echo path corresponding to each delay based on the sub-band weighting factors and the frame level weighting factors, wherein each delay is determined by the number of echo reference signal frames and the preset number of frames.
[0010] In another embodiment, traversing the echo path of each frame using the weighted norm to predict the reverberation time includes: determining a preset norm for predicting the reverberation time; calculating the norm value of each frame of the echo path using the weighted norm to obtain a cumulative norm of the current frame; comparing the cumulative norm with the preset norm to obtain a comparison result; and predicting the reverberation time according to the comparison result.
[0011] In another embodiment, the cumulative norm includes a first cumulative norm and a second cumulative norm, and the method further includes: using the weighted norm to calculate the first cumulative norm of the current frame of the echo path; using the weighted norm to calculate the second cumulative norm of the next frame of the echo path; and comparing the first cumulative norm and the second cumulative norm with the preset norm respectively to obtain the comparison result.
[0012] In one embodiment, it is characterized in that predicting the reverberation time according to the comparison result includes: in response to the first cumulative norm being less than or equal to the preset norm and the second cumulative norm being greater than the preset norm, taking the current frame duration in the echo path corresponding to the first cumulative norm as the predicted reverberation time.
[0013] In a second aspect, the present invention discloses a device for predicting reverberation time, comprising: a processor; and a memory storing program instructions for predicting reverberation time, wherein when the program instructions are executed by the processor, the above method steps are implemented.
[0014] In a third aspect, the present invention discloses a computer-readable storage medium storing program instructions for predicting reverberation time. When the program instructions are executed by a processor, the above method steps are implemented.
[0015] By using the method described in the above and multiple embodiments of the present invention, the weight calculation of the echo path of the sub-band at the frame level and the cumulative weight calculation of the echo path of all the frequency bands at the frame level can be performed, so that a relatively accurate echo path and its corresponding time frame and frequency band in the echo path detection can be obtained. Further, the sub-band weighting factor and the frame-level weighting factor respectively obtained based on the weight calculation of the echo path of the sub-band at the frame level and the cumulative weight calculation of the echo path of all the frequency bands at the frame level can be accumulated with a larger weight to improve the weighted norm of the echo path, so as to ensure that the reverberation time estimation result has a higher robustness. In addition, the embodiment of the present invention can determine the reverberation time according to the comparison result of the norm value of the current frame and the norm value of the next frame of the calculated echo reference signal with the preset norm, thereby improving the accuracy of the reverberation time prediction. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] By reading the following detailed description with reference to the accompanying drawings, the above and other objects, features and advantages of the exemplary embodiments of the present invention will become readily understood. In the accompanying drawings, several embodiments of the present invention are shown in an exemplary and non-limiting manner, and the same or corresponding reference numerals represent the same or corresponding parts, wherein:
[0017] Figure 1is a simplified flow chart illustrating a method for predicting reverberation time according to an embodiment of the present invention;
[0018] Figure 2 is a specific flow chart showing a method for constructing a prediction vector according to an embodiment of the present invention;
[0019] Figure 3 is a schematic diagram of a Hamming window function according to an embodiment of the present invention;
[0020] Figure 4 is a specific flow chart showing a method for updating an echo path according to an embodiment of the present invention;
[0021] Figure 5 is a specific flow chart of a method for determining a weighted norm of an echo path in an embodiment of the present invention;
[0022] Figure 6 is a specific flow chart of a method for predicting reverberation time using a weighted norm in an embodiment of the present invention;
[0023] Figure 7 is a specific embodiment of the method for predicting reverberation time in an embodiment of the present invention; and
[0024] Figure 8 is a schematic block diagram of a system for predicting reverberation time according to an embodiment of the present invention. DETAILED DESCRIPTION
[0025] Embodiments will now be described with reference to the accompanying drawings. It should be understood that for simplicity and clarity of explanation, reference numerals may be repeated in the accompanying drawings to indicate corresponding or similar elements where deemed appropriate. In addition, the present invention sets forth many specific details in order to provide a thorough understanding of the embodiments described herein. However, it will be appreciated by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other cases, well-known methods, processes, and components are not described in detail to avoid blurring the embodiments described herein. In addition, this description should not be viewed as limiting the scope of the embodiments described herein.
[0026] Figure 11 is a simplified flow chart showing a method for predicting reverberation time according to an embodiment of the present invention. Method 100 may include: at step S102, obtaining an echo reference signal for constructing a prediction vector. It is understood that reverberation is a phenomenon of sound "residual" formed by the superposition of delayed reflected sounds from various interfaces in the sound field after the sound source stops making sound. In one embodiment, reverberation may be generated in an electronic communication device. Specifically, during the process of communication between two parties using an electronic communication device, the speaker of the electronic communication device may play a voice signal from the far end of the two parties, and the voice signal may be reflected and refracted in the space where the speaker is located, thereby generating a new voice signal. Further, the microphone of the electronic communication device may receive the voice signal played from the speaker and the voice signal after reflection and refraction, thereby enabling the far end of the two parties to the call to still receive the voice signal that has been sent after stopping speaking. Therefore, the voice signal played by the speaker and the voice signal after reflection and refraction received by the microphone of the electronic communication device may form a reverberation. In one embodiment, the echo reference signal in the reverberation may be a voice signal played by a speaker in the electronic communication device, and the echo reference signal may be composed of voice signals frame by frame.
[0027] In one embodiment, the prediction vector may be used to predict the echo and detect the echo path. In another embodiment, a prediction vector of length τ frames may be constructed, and the prediction vector may be constructed by the echo reference signal of the current frame and the echo reference signal of the historical retrospective τ frame, wherein the value of τ in the historical retrospective τ frame needs to be set according to the maximum reverberation time in the space. In one embodiment, the space may be a space for communication using electronic communication equipment, such as a conference room. Therefore, according to the maximum reverberation time of 800ms in the conference room, the value of τ may be set to 50. It should be understood that there is no uniform regulation for the maximum reverberation time of the space, and it needs to be adjusted according to the specific application scenario. Usually, the reverberation time of the conference room is about 200ms to 600ms, but in order to cope with abnormal situations, the maximum reverberation time of the conference room is set to 800ms here.
[0028] Then, at step S104, the path of the echo signal in the reverberation is updated according to the prediction vector to obtain an updated echo path. In one embodiment, the echo signal in the reverberation can be a voice signal formed by reflection and refraction in space of a voice signal played by a speaker in an electronic communication device, wherein the distance traveled by the voice signal formed by reflection and refraction is called the echo path of the echo signal. In another embodiment, the echo path can include a frame-level echo path, and then the echo path of each frame needs to be calculated and updated. In one embodiment, the echo path can be updated for each frequency band in the echo signal of the current frame. In one embodiment, the path of the echo signal in the reverberation can be updated based on the minimum mean square error criterion to obtain an updated echo path.
[0029] Afterwards, at step S106, the weighted norm of the echo path can be determined based on the updated echo path. In one embodiment, the weighted norm of the echo path can be determined based on the obtained sub-band weighting factors and frame-level weighting factors, and then the weighted norm can be used to select a time frame and frequency band with relatively accurate echo path detection, and the norm can be improved with a larger weight accumulation to ensure that the reverberation time prediction result has a higher robustness. In another embodiment, the weighted norm of the echo path corresponding to each delay can be estimated based on the previous L frame signals, where L can be 2000 to ensure a sufficiently accurate delay estimation result.
[0030] After executing the above step S106, the process proceeds to step S108. At step S108, the weighted norm can be used to traverse the echo path of each frame to predict the reverberation time. In one embodiment, the weighted norm can traverse the echo reference signal of the τ frame and predict the reverberation time according to the set conditions. In one embodiment, as the reverberation time becomes longer, the corresponding reverberation component becomes weaker, and the correlation between the echo reference signal and the echo signal becomes weaker, so that the corresponding echo path norm will also be weak. Therefore, the reverberation time can be corresponding to the boundary point of the echo path norm by selecting it. In another embodiment, the set condition can be set based on the boundary point.
[0031] To further understand the above method for predicting reverberation time, Figure 2 How to construct a prediction vector using an echo reference signal is described in detail.
[0032] Figure 2 FIG. 1 is a specific flow chart showing a method for constructing a prediction vector according to an embodiment of the present invention. Figure 2As shown, the method 200 may include: at step S202, performing a short-time Fourier transform on the echo reference signal to obtain a time-frequency domain signal of the echo reference signal. In one embodiment, the time-frequency domain signal of the echo reference signal may be obtained by the formula shown below, that is, the echo reference signal in the time domain is transformed into the echo reference signal in the time-frequency domain.
[0033]
[0034] Where N is the frame length and can be set to 512; l represents the time frame number; k represents the frequency number; n represents time; R(l,k) represents the time-frequency domain signal of the echo reference signal in the lth frame and the kth frequency band; r(n) represents the echo reference signal; h(n) represents the Hamming window function, where the Hamming window function is as follows: Figure 3 shown.
[0035] Figure 3 Schematic diagram of the Hamming window function of an embodiment of the present invention. Figure 3 As shown in , the Hamming window function is a function that has a non-zero value in a certain interval and is 0 in the rest of the intervals, and can be used as a weighting function for intercepting time-frequency domain signals, and can better avoid information leakage of the intercepted time-frequency domain signals compared to the rectangular window. In one embodiment, in order to analyze a longer echo reference signal, the Hamming window function can be used to intercept a section of the echo reference signal each time, so that the echo reference signal of a limited length can be analyzed. In another embodiment, the length of the non-zero value interval of the Hamming window function can be set to 512, and then the echo reference signal with a frame length of 512 can be intercepted by using the Hamming window function.
[0036] Return to Figure 2 In step S204, the process can proceed to step S204. At step S204, the time-frequency domain signal of the echo reference signal can be processed to obtain the current frame time-frequency domain signal and the previous preset frame time-frequency domain signal. In one embodiment, for each frequency band k of the time-frequency domain signal of the echo reference signal, the current frame time-frequency domain signal R(l,k) and the previous preset frame time-frequency domain signal R(l-1,k), ..., R(l-τ+1,k) can be obtained, where τ represents the number of frames and can be set according to the maximum reverberation time of the room. In one embodiment, the room can be a conference room for voice communication, and the maximum reverberation time of the conference room can be 800ms, then τ can be set to 50. Thereafter, at step S206, a prediction vector is constructed based on the current frame frequency domain signal and the previous preset frame frequency domain signal. In one embodiment, the previous frame time-frequency domain signal R(l,k) and the previous preset frame time-frequency domain signal R(l-1,k), ..., R(l-τ+1,k) can be used to construct a prediction vector with a length of τ And the prediction vector
[0037] Combination of the above Figure 2 The construction of the prediction vector in the embodiment of the present invention is described in detail. To further understand the method for predicting the reverberation time in the embodiment of the present invention, the following will combine Figure 4 A method for updating a path of an echo signal based on a minimum mean square error criterion in an embodiment of the present invention is described in detail and exemplarily.
[0038] Figure 4 FIG. 4 is a specific flow chart showing a method for updating an echo path according to an embodiment of the present invention. Figure 4 As shown, the method 400 may include: at step S402, the echo signal may be subjected to a short-time Fourier transform to obtain a time-frequency domain signal of the echo signal. In one embodiment, the time-frequency domain signal of the echo signal may be obtained by the formula shown below, that is, the echo signal in the time domain is transformed into an echo signal in the time-frequency domain.
[0039]
[0040] Wherein, N is the frame length, and can be set to 512; l represents the time frame number; k represents the frequency number; n represents the time; X(l,k) represents the time-frequency domain signal of the echo signal in the lth frame and the kth frequency band; x(n) represents the echo signal; h(n) represents the Hamming window function with a length of 512 frames. It should be understood that the transformation order of the echo reference signal and the echo signal in the time domain into the echo reference signal and the echo signal in the time-frequency domain is exemplary and not restrictive. In one embodiment, the echo reference signal and the echo signal can be simultaneously converted into the time-frequency domain, and then the echo reference signal and the echo signal in the time-frequency domain can be obtained at the same time, so that the echo reference signal and the echo signal in the time-frequency domain can be processed in the subsequent steps. In another embodiment, the echo signal can be first converted into the time-frequency domain and then the echo reference signal can be converted into the time-frequency domain. Therefore, there is no restriction on the conversion order of the echo reference signal and the echo signal.
[0041] Next, at step S404, the echo path of the previous frame in the echo signal may be obtained, and the time-frequency domain signal of the obtained echo signal may be processed according to the echo path and the prediction vector of the previous frame to obtain the echo prediction error. In one embodiment, the time-frequency domain signal of the obtained echo signal may be processed according to the echo path and the prediction vector of the previous frame to obtain the echo prediction error may be implemented by formula (3) as shown below.
[0042]
[0043] Where e(l,k) represents the echo prediction error; X(l,k) represents the time-frequency domain signal of the echo signal; w(l-1,k) represents the echo path of the previous frame; represents the prediction vector; the superscript H represents the conjugate transpose operation, i.e. w H (l-1,k) represents the conjugate transpose operation on w(l-1,k).
[0044] Then, at step S406, the prediction vector is projected on the iteration matrix of the current frame in the echo signal and normalized to obtain an iteration vector. In one embodiment, the iteration vector can be obtained by formula (4) as shown below.
[0045]
[0046] Wherein, P(k) represents the iteration matrix; λ represents the forgetting factor, and its value range is from 0 to 1. In one embodiment, the value of the forgetting factor can indicate the speed of echo path update, and the closer the value of the forgetting factor is to 1, the slower the echo path update speed is, and the closer the value of the forgetting factor is to 0, the faster the echo path update speed is, but the larger the forgetting factor is, the more obvious its instability disadvantage is. In order to ensure the stability of echo path update, the value of the forgetting factor in the embodiment of the present invention can be λ=0.98. Further, ρ(k) can represent an iteration vector, wherein the iteration vector can represent the vector of the prediction vector of the current frame after being projected and normalized on the original iteration matrix P(k), and the larger the projection is, the more information introduced into the current frame.
[0047] After executing the above step S406, the process proceeds to step S408. At step S408, the iteration matrix of the current frame in the echo signal can be updated using the obtained iteration vector to obtain an updated new iteration matrix. In one embodiment, the iteration matrix can be updated using formula (5) as shown below.
[0048]
[0049] According to formula (5), the larger the iteration vector ρ(k) is updated, the larger the iteration matrix P(k) is updated. Afterwards, at step S410, the echo path of the previous frame in the echo signal can be updated according to the obtained iteration vector and the echo prediction error to obtain the echo path of the current frame in the echo signal. In one embodiment, the echo path in the echo signal can be updated by formula (6) as shown below to obtain the echo path of the current frame.
[0050] w(l,k)=w(l-1,k)+ρ(k)e * (l,k) (6)
[0051] Where w(l,k) represents the echo path of the echo signal of the current frame; the superscript * represents the conjugate of the complex number, then e * (l, k) represents the conjugate of the echo prediction error e(l, k). Further, from the above formulas (4), (5) and (6), it can be seen that the iteration vector and the iteration matrix can represent the intermediate variables of the echo path w(l, k) that are iteratively updated according to the new information after the new information of the current l-th frame is introduced, and the echo path information contains the reverberation time information.
[0052] Combination of the above Figure 4 The updating of the echo path by using the iteration vector and the echo prediction error in the embodiment of the present invention is described exemplarily, wherein the conversion order of converting the echo reference signal and the echo signal into the time-frequency domain signal is exemplary and not restrictive. Figure 5 An exemplary description is given of determining a weighted norm of an echo path.
[0053] Figure 5 FIG. 1 is a specific flow chart of a method for determining a weighted norm of an echo path in an embodiment of the present invention. Figure 5 As shown, the method 500 may include: at step S502, the sub-bands at the echo signal frame level may be obtained, and the echo paths of the sub-bands may be weighted to obtain sub-band weighting factors. In one embodiment, the sub-bands at the echo signal frame level obtained may be a frequency band k of the echo signal frame l, and the weight of the echo path of the frequency band k may be estimated. In another embodiment, the weight of the echo path of a frequency band k of the echo signal frame l may be further estimated by formula (7) as shown below to obtain the sub-band weighting factors.
[0054]
[0055] Wherein, X(l,k) may be the time-frequency domain signal of the echo signal; || may represent the norm of a complex number; The echo prediction error e(l,k) of an echo path with a frequency band k in the lth frame can be calculated; ν(l,k) can represent the sub-band weighting factor. It can be understood that the more accurate the echo path estimation is, the smaller the corresponding echo prediction error is. Therefore, in the above formula (7), the smaller the echo prediction error is, the closer the corresponding sub-band weighting factor is to 1, otherwise the closer it is to 0, and then the echo signal of a certain frequency band k corresponding to the echo path can be obtained more accurately according to the sub-band weighting factor, so as to be used for the subsequent prediction of the reverberation time.
[0056] Next, at step S504, all frequency bands at the echo signal frame level may be obtained, and the echo paths of all frequency bands may be cumulatively weighted to obtain a frame-level weighting factor. In one embodiment, the frame-level weighting factor may be an average result of the echo path estimation of all frequency bands of the current frame. In another embodiment, the frame-level weighting factor may be obtained by cumulatively weighting all frequency bands k of the current frame using formula (8) as shown below.
[0057]
[0058] Wherein, K can represent the number of all frequency bands; It can be expressed as a frame-level weighting factor. According to the above formula (8), the more accurate the echo path detection at the frame level is, the closer the frame-level weighting factor is to 1, otherwise it is closer to 0, which makes the final reverberation time estimation more dependent on the result of the current frame.
[0059] Afterwards, at step S506, the weighted norm of the echo path corresponding to each delay can be estimated based on the sub-band weighting factor and the frame level weighting factor, wherein each delay can be determined by the echo reference signal frame number and the preset frame number. In one embodiment, the delay can be the time from a certain frame of the echo reference signal to the preset frame. In another embodiment, the reverberation time can be accurately predicted by increasing the number of estimated signal frames, but increasing the number of signal frames will cause a more obvious delay. Therefore, the embodiment of the present invention can set the preset frame number to 2000 so that a sufficiently accurate delay estimation result can be guaranteed. In one embodiment, the weighted norm of the echo path corresponding to each delay can be estimated by formula (9) as shown below.
[0060]
[0061] Wherein, t may represent the number of frames; L represents the preset number of frames and may be 2000; θ(t) may represent the weighted norm of the echo path corresponding to each delay from the L-τ+1th frame to the preset number of frames L of the echo reference signal; w(lt,k) represents the echo path of the ltth frame and the kth frequency band; can represent the frame-level weighting factor; v(l,k) can represent the sub-band weighting factor; τ can represent the number of frames for historical backtracking of the echo reference signal, and τ can be set to 50. According to the above formula (9), the weighted norm means selecting a time frame and frequency band with more accurate echo path detection, and then accumulating the improved norm with a larger weight to ensure that the reverberation time estimation result has a higher robustness.
[0062] Combination of the above Figure 5The method for determining the weighted norm in the embodiment of the present invention is described exemplarily, and by designing the sub-band weighting factor and the frame-level weighting factor, the influence of the inaccurate echo path detection on the reverberation time prediction can be effectively removed, so as to ensure the accuracy of the reverberation time prediction. Figure 6 The method for predicting reverberation time by using weighted norm in the embodiment of the present invention is described exemplarily.
[0063] Figure 6 is a specific flow chart of a method for predicting reverberation time using a weighted norm in an embodiment of the present invention. Method 600 may include: at step S602, a preset norm for predicting reverberation time may be determined. In one embodiment, the preset norm may be determined by accumulating the norms of the echo paths of the preset frames. In another embodiment, the preset norm for predicting reverberation time may be determined by formula (10) as shown below.
[0064]
[0065] Among them, τ can represent the number of frames for historical backtracking of the echo reference signal, or can represent the preset frame of the echo path, so that the preset frame τ of the echo path can be set to 50; ∈ can represent the boundary point where the norm of the echo path is weakened, and ∈=0.01 can be set to ensure that the direct sound and the early reflection are retained, so that the remaining ∈ times of energy is used as the late reverberation energy, which can more accurately correspond to the reverberation time; θ(t) can represent the obtained weighted norm of the echo path, and can traverse all τ; It means that the norms of the echo paths from frame 0 to frame τ are added and multiplied by (1-∈) to determine the preset norm for predicting the reverberation time.
[0066] Next, at step S604, the norm value of each frame of the echo path may be calculated using the weighted norm to obtain the cumulative norm of the current frame. In one embodiment, the cumulative norm may include a first cumulative norm and a second cumulative norm. Specifically, obtaining the cumulative norm of the current frame may include calculating the first cumulative norm of the current frame of the echo path using the weighted norm. In one embodiment, the first cumulative norm may be determined by formula (11) as shown below.
[0067]
[0068] in, It means that from frame 0 to τ r The norms of the echo paths of the frames are added to obtain the first cumulative norm of the current frame; σ can represent the first cumulative norm; τ rcan represent the current frame. Further, obtaining the cumulative norm of the current frame can also include calculating the second cumulative norm of the next frame of the echo path using the weighted norm. In one embodiment, the second cumulative norm can be determined by formula (12) shown below.
[0069]
[0070] in, It means that from frame 0 to τ r The norms of the echo paths of the +1 frame are added to obtain the second cumulative norm of the next frame; σ′ can represent the second cumulative norm.
[0071] Afterwards, at step S606, the cumulative norm may be compared with a preset norm to obtain a comparison result. In one embodiment, the first cumulative norm and the second cumulative norm may be compared with the preset norm respectively to obtain a comparison result. In another embodiment, the comparison result may include that the first cumulative norm and the second cumulative norm are both less than the preset norm. In yet another embodiment, the comparison result may include that the first cumulative norm is less than or equal to the preset norm and the second cumulative norm is greater than the preset norm. Specifically, the comparison result may be expressed by formula (13) and formula (14) as shown below.
[0072]
[0073]
[0074] Afterwards, at step S608, the reverberation time may be predicted based on the comparison result. In one embodiment, in response to the first cumulative norm being less than or equal to the preset norm and the second cumulative norm being greater than the preset norm, the duration of the current frame number in the echo path corresponding to the first cumulative norm may be used as the predicted reverberation time. In another embodiment, the reverberation time may be determined based on the above formula (13) and formula (14), that is, the current frame τ satisfying the above formula (13) and formula (14) may be used as r The corresponding frame duration is used as the final predicted reverberation time.
[0075] Combination of the above Figure 6 The prediction of reverberation time using weighted norm is described in an exemplary manner, and the conditions for predicting reverberation time are designed by attenuation of the echo path, which can utilize data of several frames of echo signals, thereby making the predicted reverberation time more accurate and more robust to background noise. Figure 7 The specific implementation process of the method for predicting reverberation time is described exemplarily.
[0076] Figure 7 is a specific embodiment of the method for predicting reverberation time in an embodiment of the present invention. Figure 7 As shown in, first, at step S701, the input echo signal and echo reference signal can be subjected to short-time Fourier transform to obtain time-frequency domain signals of the echo signal and the echo reference signal, so that the echo signal and the echo reference signal in the time-frequency domain can be used in subsequent steps. Then, at step S702, the echo reference signal can be used to construct a prediction vector, and the process can proceed to step S703. At step S703, the prediction vector can be used to update the echo path based on the minimum mean square error criterion. Afterwards, at step S704, the sub-band echo path weights can be calculated to obtain the sub-band weighting factors.
[0077] Further, at step S705, the frame-level echo path weight can be calculated to obtain the frame-level weighting factor. After executing the above step S705, the process proceeds to step S706. At step S706, the echo path weighted norm can be calculated based on the sub-band weighting factor and the frame-level weighting factor to obtain a time frame and frequency band with relatively accurate echo path detection, and then the norm can be improved by accumulating a larger weight. Then, at step S707, the cumulative norm of the echo path can be used to design conditions for predicting the reverberation time.
[0078] In a second aspect of the present invention, a device for predicting reverberation time is proposed, the device may include: a processor; and a memory storing program instructions for predicting reverberation time, and when the program instructions are executed by the processor, the above method steps are implemented. Figure 8 The apparatus of the present invention is described exemplarily.
[0079] Figure 8 800 is a schematic block diagram of a system for predicting reverberation time according to an embodiment of the present invention. The system 800 may include a device 801 for predicting reverberation time and its peripheral devices and external networks to achieve the aforementioned combination Figure 1-Figure 7 A method for predicting reverberation time according to an embodiment of the present invention is described.
[0080] like Figure 8As shown in , the device 801 for predicting the reverberation time may include a CPU 8011, which may be a general-purpose CPU, a dedicated CPU, or other information processing and program execution units. Further, the device 801 for predicting the reverberation time may also include a large-capacity memory 8012 and a read-only memory ROM 8013, wherein the large-capacity memory 8012 may be configured to store various types of data. In the present invention, the aforementioned various types of data may include the acquired echo signal, the echo reference signal, or the data related to the various formulas used in the present invention. In addition, the ROM 8013 may be configured to initialize the various functional modules in the device 801 for predicting the reverberation time, the basic input / output driver of the system, and the data required to boot the operating system.
[0081] Furthermore, the system 800 may also additionally include other hardware platforms or components, such as a field programmable gate array (FPGA) 8014. It is understood that although a variety of hardware platforms or components are shown in the system 800, they are merely exemplary and not restrictive, and those skilled in the art may add or remove corresponding hardware according to actual needs.
[0082] The device 801 for predicting the reverberation time may further include a communication interface 8015, so that it can be connected to a local area network / wireless local area network (LAN / WLAN) 805 through the communication interface 8015, and then connected to a local server 806 or to the Internet ("Internet") 807 through the LAN / WLAN. Alternatively or additionally, the device 801 for predicting the reverberation time may also be directly connected to the Internet or a cellular network through a communication interface 8018 based on wireless communication technology, such as wireless communication technology based on the third generation ("3G"), the fourth generation ("4G") or the fifth generation ("5G") . In some application scenarios, the device 801 for predicting the reverberation time may also access a server 808 of an external network and a possible database 809 as needed to obtain various known echo paths, iteration matrices, iteration vectors and preset norms of the previous frame, and various data calculated by formulas may be remotely stored.
[0083] The peripheral devices of the device 801 for predicting reverberation time may include a display device 802, an input device 803, and a data transmission interface 804. In one embodiment, the display device 802 may include, for example, one or more speakers and / or one or more visual displays, which are configured to provide voice prompts and / or image video displays for the operation process or final results of the test device of the present invention. The input device 803 may include, for example, a keyboard, a mouse, a microphone, a gesture capture camera, or other input buttons or controls, which are configured to receive input of test data or user instructions. The data transmission interface 804 may include, for example, a serial interface, a parallel interface or a universal serial bus interface ("USB"), a small computer system interface ("SCSI"), a serial ATA, a FireWire ("FireWire"), a PCI Express, and a high-definition multimedia interface ("HDMI"), etc., which are configured for data transmission and interaction with other devices or systems. According to the solution of the present invention, the data transmission interface 804 can receive an echo signal and an echo reference signal. The device 801 for predicting reverberation time further includes a CPU 8011, a large capacity memory 8012, a read-only memory ROM 8013, an FPGA 8014, and a communication interface 8015, which can be interconnected through a bus 8016, and data interaction with peripheral devices can be achieved through the bus. In one embodiment, through the bus 8016, the CPU 8011 can control other hardware components and peripheral devices in the device 801 for predicting reverberation time.
[0084] It should also be understood that any module, unit, component, server, computer, terminal or device that executes instructions of the present invention examples may include or otherwise access computer-readable media, such as storage media, computer storage media or data storage devices (removable) and / or non-removable) such as disks, optical disks or tapes. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules or other data.
[0085] The present invention also discloses a computer-readable storage medium, wherein program instructions are stored, and the program instructions are suitable for being loaded and executed by a processor: obtaining an echo reference signal for constructing a prediction vector; performing path update on the echo signal in the reverberation according to the prediction vector to obtain an updated echo path; determining the weighted norm of the echo path based on the updated echo path; and traversing the echo path of each frame using the weighted norm to predict the reverberation time. Based on this, when the solution of the present invention is embodied in the form of a software product (computer-readable storage medium), the software product can be stored in a memory, which can include several instructions for enabling a computer device (such as a personal computer, a server or a network device, etc.) to perform some or all steps of the method described in the embodiment of the present invention. The aforementioned memory can include, but is not limited to, various media that can store program codes, such as a USB flash drive, a flash drive, a read-only memory ROM, a random access memory ("Random Access Memory", abbreviated as RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0086] It should be understood that the possible terms "first" or "second" etc. in the claims, specifications and drawings disclosed in the present invention are used to distinguish different objects rather than to describe a specific order. The terms "include" and "comprise" used in the specifications and claims disclosed in the present invention indicate the presence of the described features, wholes, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or their collections.
[0087] It should also be understood that the terms used in this disclosure are only for the purpose of describing specific embodiments and are not intended to limit the disclosure. As used in the disclosure and claims, the singular forms of "a", "an", and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should also be further understood that the term "and / or" used in the disclosure and claims refers to any combination of one or more of the associated listed items and all possible combinations, including these combinations.
[0088] Although the embodiments of the present invention are as described above, the contents are only examples used to facilitate understanding of the present invention, and are not intended to limit the scope and application scenarios of the present invention. Any technician in the technical field of the present invention can make any modifications and changes in the form and details of the implementation without departing from the spirit and scope disclosed by the present invention, but the scope of patent protection of the present invention shall still be based on the scope defined by the attached claims.
Claims
1. A method for predicting reverberation time, characterized in that: include: Acquiring an echo reference signal for constructing a prediction vector; Performing short-time Fourier transform on the echo signal to obtain a time-frequency domain signal of the echo signal; Acquire an echo path of a previous frame in the echo signal, and process the obtained time-frequency domain signal of the echo signal according to the echo path of the previous frame and the prediction vector to obtain an echo prediction error; Projecting the prediction vector onto the iteration matrix of the current frame in the echo signal and normalizing the prediction vector to obtain an iteration vector; Using the obtained iteration vector, the iteration matrix of the current frame in the echo signal is updated to obtain an updated new iteration matrix; performing path updating on the echo path of the previous frame in the echo signal according to the obtained iteration vector and the echo prediction error, so as to obtain the echo path of the current frame in the echo signal; determining a weighted norm of the echo path based on the updated echo path; as well as The echo path of each frame is traversed using the weighted norm to predict the reverberation time.
2. The method according to claim 1, characterized in that Obtaining an echo reference signal for constructing a prediction vector includes: Performing short-time Fourier transform on the echo reference signal to obtain a time-frequency domain signal of the echo reference signal; Processing the time-frequency domain signal of the echo reference signal to obtain a current frame time-frequency domain signal and a previous preset frame time-frequency domain signal; and The prediction vector is constructed according to the current frame time-frequency domain signal and the previous preset frame time-frequency domain signal.
3. The method according to claim 1, characterized in that Determining a weighted norm of the echo path based on the updated echo path includes: Acquire the sub-frequency bands at the echo signal frame level, and perform weight calculation on the echo paths of the sub-frequency bands to obtain sub-frequency band weighting factors; Acquire all frequency bands of the echo signal frame level, and perform cumulative weight calculation on the echo paths of all frequency bands to obtain a frame level weighting factor; and A weighted norm of the echo path corresponding to each delay is estimated based on the sub-band weighting factor and the frame level weighting factor, wherein each delay is determined by the echo reference signal frame number and the preset frame number.
4. The method according to claim 1, characterized in that Using the weighted norm to traverse the echo path of each frame to predict the reverberation time includes: determining a preset norm for predicting the reverberation time; Calculating the norm value of each frame of the echo path using the weighted norm to obtain the cumulative norm of the current frame; Comparing the accumulated norm with the preset norm to obtain a comparison result; and The reverberation time is predicted according to the comparison result.
5. The method according to claim 4, characterized in that The cumulative norm includes a first cumulative norm and a second cumulative norm, and the method further includes: Calculating a first cumulative norm of a current frame of the echo path using the weighted norm; Calculating a second cumulative norm of a next frame of the echo path using the weighted norm; and The first cumulative norm and the second cumulative norm are respectively compared with the preset norm to obtain the comparison result.
6. The method according to claim 5, characterized in that Predicting the reverberation time according to the comparison result includes: In response to the first cumulative norm being less than or equal to the preset norm and the second cumulative norm being greater than the preset norm, a current frame duration in the echo path corresponding to the first cumulative norm is used as the predicted reverberation time.
7. A device for predicting reverberation time, characterized in that include: processor; as well as A memory storing program instructions for predicting reverberation time, wherein when the program instructions are executed by the processor, the method steps according to any one of claims 1-6 are implemented.
8. A computer-readable storage medium, characterized in that: Program instructions for predicting reverberation time are stored, and when the program instructions are executed by a processor, the method steps according to any one of claims 1-6 are implemented.
Citation Information
Patent Citations
Audio de-reverberation method and device in conference system and storage medium
CN111445916A
Noise robust blind reverberation time estimation method based on deep neural network
CN114255780A