The present application disclosure generally relates to audio signal processing and, in particular, to the dialog detector.
A dialog detector is a key component in a plurality of audio signal processing algorithms, such as, dialog enhancement, noise reduction and loudness meter. Generally, in the current dialog detector, the input audio signal is first converted to a uniform format in the pre-processing component by means of sampling rate conversion or down-mixing, etc. For example, as pre-processing, the input audio signal may be down-mixed to a mono audio signal. Next, the processed audio signal is split into short temporal frames, and audio features are extracted from a context window including a fixed number of frames to describe the characteristics of each frame. Then, a classifier, which is built using machine learning methods, is applied to automatically map the audio features to a confidence score that represents the probability of the presence of the dialog. At last, post-processing, such as a median or mean filter, can be applied to remove or smooth the undesired fluctuation of the obtained confidence scores. The signal will be classified as dialog in case that the confidence score is high. Then, the dialog signal may be sent to an audio improving device, such as a dialog enhancer.
A first aspect of the invention relates to a method of extracting audio features in a dialog detector in response to an input audio signal, the method comprising dividing the input audio signal into a plurality of frames, extracting frame audio features from each frame, determining a set of context windows, each context window including a number of frames surrounding a current frame, deriving, for each context window, a relevant context audio feature for the current frame based on the frame audio features of the frames in each respective context, and concatenating each context audio feature to form a combined feature vector to represent the current frame.
The present invention thus proposes to use several context windows, each including a different number of frames, to represent a frame in different contexts, wherein the context windows with different length will play different roles in representing the audio property of the target frame. The context windows with the different length can improve the response speed and improve robustness. To this end, the present application introduces a new process, combo-term context determination, to determine a plurality, e.g. three, context windows with the different length or range, for example, a short-term context, a mid-term context and a long-term context; then the audio features are extracted in the contexts at the audio feature extraction component.
In some implementations, a frame feature extraction component extracts frame audio features (i.e. audio features of a frame) from each frame of a plurality of frames divided from the input audio signal, and a combo-term context determination component determines the length or range of each context window. Then, a relevant context audio feature is derived based on the frame audio features in each determined context. Each context audio feature is then concatenated and form a combined feature vector to represent a current frame.
In some implementations, the context windows includes a short-term context, a mid-term context and a long-term context. The short-term context represents the local information around the current frame. The mid-term context further contains a plurality of look-back frames. The long-term context further contains a plurality of long-term history frames.
In some implementations, the length or range of one or more contexts (i.e. the number of frames in the respective context windows) can be predetermined. For example, if a look-ahead buffer is available, the short-term context can contain the current frame and the look-ahead frames. The mid-term context can contain the current frame, the look-ahead frames and the look-back frames. The long-term context can contain the current frame, the look-ahead frames, the look-back frames and the long-term history frames. In one implementation, the length or range of the look-ahead frames can be predetermined as long as 23 frames, and the length or range of the look-back frames can be predetermined as long as 24 frames as well as the length or range of the long-term history frames can be predetermined as long as 48 to 96 frames. In another example, if the look-ahead buffer is not available, the short-term context can contain the current frame and a first portion of the look-back frames. The mid-term context can contain the current frame, the first portion of the look-back frames and a second portion of the look-back frames. The long-term context can contain the current frame, the first portion of the look-back frames, the second portion of the look-back frames and the long-term history frames. Therefore, the length or range of the first portion of the look-back frames can be predetermined as long as 23 frames, and the length or range of the second portion of the look-back frames can be predetermined as long as 24 frames as well as the length or range of the long-term history frames can be predetermined as long as 48 to 96 frames.
In some implementations, the length or range of one or more contexts can be adaptively determined by analyzing stationarity of frame-level feature. For example, the adaptive determination is based on information related to amplitude of the input audio signal. Specifically, one way to adaptively determine the length or range of the short-term context is based on strong onset or transient detection. In another example, the adaptive determination is based on information related to the spectrum of the input audio signal. Specifically, one way to adaptively determine the length or range of the short-term context is based on identifying the largest spectral inconsistency by using Bayesian Information Criteria. In addition, the short-term context can extend to both look-ahead and look-back directions, or extend to one direction only in the adaptive determination implementations. In some implementations, the length or range of the contexts can be predefined in combination with the adaptive determination.
In addition, the present application proposes a pre-cleaning method to remove uncorrelated noises in the signal, in order to improve the detection accuracy in low-SNR dialog. To this end, the present application utilizes downmixing with temporal-frequency dependent gains, with more emphasis on the correlated signal.
In some implementations, an input audio signal is first divided into a plurality of frames, and then, the frames in a left channel and a right channel are converted to spectrum representation of frames.
The uncorrelated signals in the left channel and the right channel are removed by applying the frequency dependent gains to the spectrum in the left channel and the right channel respectively, so as to obtain the signal after downmixing. In some implementations, the frequency dependent gains can be estimated from a covariance matrix.
Furthermore, the present application introduces a music content detector so that both the music confidence score and the speech confidence score can be jointly considered to correct the original dialog confidence score and obtain a final corrected dialog confidence score, so as to significantly reduce false alarms in music.
In some implementations, a speech content detector receives features extracted by using the context windows, and then, the speech content detector determines the speech confidence score.
Next, the music content detector receives features extracted by using the context windows, and then, the music content detector determines the music confidence score. The speech confidence score and the music confidence score are combined to obtain the final dialog confidence score. In some implementations, the final dialog confidence score can be refined by a context-dependent parameter which can be computed based on proportion of frames identified as speech or music in the history context. In some implementations, the history context can be as long as or longer than ten seconds.
The included Figures are for illustrative purposes and serve only to provide examples of possible and operations for the disclosed inventive methods, system and computer-readable medium. These figures in no way limit any changes in form and detail that may be made by one skilled in the art without departing from the spirit and scope of the disclosed implementations.
As mentioned above, in a conventional current dialog detector, each frame is represented by the context, namely, a window comprising a number of frames (such as 32 or 48 frames) and classified on the audio features extracted from frames in this context window. However, a problem with such a conventional dialog detector is that it may sometimes introduce large latency in detection since the detector can determine whether the dialog is present only after identifying several dialog frames which may have a negative impact on the real-time application. In addition, it cannot extract more robust rhythmic features which may contribute to discriminate speech from a singing voice or rap, and it may thus have a negative impact on the robustness in the dialog detection.
To address these problems, the present application discloses techniques that incorporate a set of different-length context windows to represent a frame on several scales, wherein the context windows with different length will play different roles in representing the audio property of the target frame. Some examples of methods, systems and computer-readable medium implementing said techniques for audio feature extraction of a dialog detector responsive to an input audio signal are disclosed as follows.
Therefore, rather than one context window to represent the current frame, the present application uses a plurality of context windows. In one embodiment, there are three context windows, namely, the short-term context window, the mid-term context window and the long-term context window with the different length or range, to represent the current frame. In particular, the short-term context represents the local information around the target frame so that the detector may respond faster when the dialog appears. The mid-term context is the counterpart used in the existing detector since it can provide a reasonable temporal span for the audio content analysis. The long-term context window represents more global information in which only the rhythmic features are extracted since short-term context or the mid-term context window is typically not long enough to extract robust rhythmic features. That is, the present application adds the short-term context window to improve response speed and the long-term context to improve robustness. Thus, the length of these three context windows should be determined during the feature extraction. To this end, the present application introduces the combo-term determination component to determine the length of the short-term context window, the mid-term context window and the long-term context window.
In an example, a frame audio feature may comprise at least one of sub-band features or full band features. Examples of sub-band features include: sub-band spectral energy distribution, sub-band spectral contrast, sub-band partial prominence, Mel-frequency cepstral coefficients (MFCC), MFCC flux and bass energy. Examples of full band features include: spectral flux, spectral residual and short-time energy.
In an example, a context audio feature may be derived from one or more frame audio feature. For example, a context audio feature may include statistics of frame audio features, such as mean, mode, median, variance or standard deviation.
Additionally or alternatively, a context audio feature may include a rhythm-related feature, such as a 2D modulation feature, rhythm strength, rhythm clarity, rhythm regularity, average tempo and/or window-level correlation (i.e. context-level correlation).
The aforementioned examples of frame audio features and context audio features are not exhaustive and various other frame audio features and context audio features may be used instead or in addition to the listed features.
Alternatively, the length or range of one or more context windows can be adaptively determined in the combo-term context determination component 104 by analyzing stationarity of frame-level features and grouping audio frames accordingly.
Where [xk,0, . . ., xk, N−1] is the PCM samples of the frame k. The samples can be also windowed/weighted before computing energy, and the energy can be derived from either full-band or sub-band signal.
Then, at 304, the frame energy S(k) is smoothed asymmetrically, with fast tracking coefficient when energy increase and a slow decay when energy decrease, as represented in equation (2):
where {tilde over (S)}(k) is the smoothed short-term energy in the kth audio frame. The parameter α is the smoothing factor.
Next, at 306, a difference filter is applied on the smoothed energy envelope, and the values exceeding a given threshold δ can be considered as onset Eonset(k), as represented in equation (3):
Then, at 308, Eonset(k) may be further normalized with the average value of short-term energy in the search range. Next, a boundary for the length or range of the short-term context can be determined at either 310, 312 or 314. At 310, the position with the largest Eonset(k) will be taken as the context boundary. At 312, the peak Eonset (k) above a certain threshold, such as 0.3 (it may be tuned between 0 to 1), can be picked up as the context boundary. Instead of threshold, at 314, a distance between the Eonset(k) and a previously identified strong peak can be considered. That is to say, only when it has a certain distance, such as one second, from the preceding strong transient, it will be determined as a strong transient and picked up as the context boundary. In addition, at 314, if there is no strong transient found in the search range, the whole look-back frames and/or the look-ahead frames will be used.
Instead of using the amplitude information to determine the scope of the context, the adaptive determination of the scope of the context can also be based on the spectral information. For example, the largest spectral inconsistency can be found to determine the scope of the context by using Bayesian Information Criteria (BIC).
ΔBIC(t)=BIC(H0)−BIC(H1) (4)
Where H0 is the hypothesis at 402 and H1 is the hypothesis at 404.
As above mentioned, current dialog detector is applied to a mono downmix on L/R for a stereo signal or on L/R/C for a 5.1 signal, in order to reduce the computational complexity. However, mixing all the channels together may reduce the SNR of dialog and harm dialog detection accuracy. For example, dialog with large noise (such as, in sports games) or dialog in intensive action scenes may be missed in detection. To address this problem, a Center channel dominant downmix, as represented in equation (5), is applied to reduce the dialog smearing since most of dialog is in channel C in 5.1 signal.
M=0.707C+g(L+R)/2 (5)
Where C, L, R stands for the complex-valued spectrum for every temporal-spectral tile (that is, for every frame and every bin/band) in the center, left and right channel respectively, and g is a parameter between 0 and 1 to reduce the contribution from L and R. However, the above method works on the 5.1 signal but is not applicable to the stereo signal since the dialog is generally considered as a panned signal, thus, correlated in L and R, in the stereo signal.
To address this problem, the present application proposes a new downmixing method to remove uncorrelated noise in the signal, so as to make the dialog more pronounced after downmixing.
M=g1L+g2R (6)
Where L is the spectrum representation of frames in the left channel and R is the spectrum representation of frames in the right channel, and g1 and g2 are two frequency dependent gains, rather than wide-band gains, applied to L and R, respectively. For simplicity, the annotation on frequency band in the equation is ignored. In one implementation, g1 and g2 can be estimated from a covariance matrix which is computed for every band in a certain duration (wherein only the real part is considered and the annotation on the frequency band is ignored as well), as represented in equation (7):
Then, following eigenvector analysis and the idea of ambience extraction in NGCS, g1 and g2 can be represented as follows.
Where a, c and d are the alternative representation of the covariance coefficients |L|2, re(LR*) and |R|2, respectively, in order to simplify the representation of equations (8) and (9). After 506, the signal after downmixing M will be obtained at 508.
Although the above method 500 is described and developed based on a stereo signal, it could be also applicable to a 5.1 signal. In one implementation, the 5.1 signal may first be converted to the stereo signal (Lc and Rc) with a center-dominant downmix, as represented in equations (10) and (11):
Lc=0.707C+gL (10)
Rc=0.707C+gR (11)
Then, the Lc and Rc will follow the method 500 to remove the uncorrelated noise.
In addition to or instead of the method 500 of removing uncorrelated signal, some other methods can also be applied. In some implementations, a method similar to echo cancellation can be applied to reduce the noise in the center channel C by using (L+R)/2 as a reference noise signal. Alternatively, NMF spectral basis may be built for either dialog or both dialog and noise and they may be applied to extract clean dialog component.
Moreover, in the current detector, the music signal, especially, singing voice in A-Capella (without much music background) or rap sharing a lot of similar properties as dialog, may be misclassified as dialog, therefore, the false alarms may significantly increase. The applicant finds that the music confidence score is also high for the same misclassified frames. Therefore, the applicant introduces a music classifier in parallel to the dialog detector, so that the music confidence score can be used as a reference to refine or correct the original dialog confidence score, so as to considerably reduce the false alarms in music.
{tilde over (C)}s(t)=cs(t)*(1−β*Cm(t)) (12)
Where {tilde over (C)}s(t) is the refined dialog confidence score at frame t, Cs(t) is the speech confidence score, Cm(t) is the music confidence score and β is a context-dependent parameter controlling how much the music confidence score impacts the final dialog confidence score. In one implementation, β is computed based on the proportion of the frames identified as speech or music in the history context. For example, β can be set to the ratio of the frames identified as music in the history context with a simple binary method. In particular, β can be set to one if the context is music dominant, and β can be set to zero if the context is dialog dominant, as represented in equation (13):
Where Nm is the number of music frames and N is the overall frames in the history context; rth is a threshold, typically set to 0.5, but the threshold can be also tunable between 0 and 1 depending on how aggressive the music frames take effect. Alternatively, β may be represented as a continuous function, for example, as a linear function as illustrated in equation (14), or as a sigmoid function as illustrated in equation (15):
Where a is a scale factor that controls the shape of sigmoid function, and can be set to 5 in the present application. In addition, the history context used in estimation of a context-dependent parameter β can be much longer than the history frames used for long-term feature extraction, for example, the length or range of the history context can be set to 10 seconds or even longer.
The techniques of the dialog detector described herein could be implemented by one or more computing devices. For example, a controller of a special-purpose computing device may be hard-wired to perform the disclosed operations or cause such operations to be performed and may include digital electronic circuitry such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGA) persistently programmed to perform operations or cause operations to be performed. In some implementations, custom hard-wired logic, ASICs and/or FPGAs with custom programming are combined to accomplish the techniques.
In some other implementations, a general purpose computing device could include a controller incorporating a central processing unit (CPU) programmed to cause one or more of the disclosed operations to be performed pursuant to program instruction in firmware, memory, other storage, or a combination thereof.
The term “computer-readable storage medium” as used herein refers to any medium that storage instructions and/or data that cause a computer or type of machine to operate in a specific fashion. Any of the models, detector and operations described herein may be implemented as or caused to be implemented by software code executable by a processor of a controller using suitable computer language. The software code may be stored as a series of instructions on a computer-readable medium for storage. Example of suitable computer-readable storage medium include random access memory
(RAM), read only memory (ROM), a magnetic medium, optical medium, a solid state drive, flash memory, and any other memory chip or cartridge. The computer-readable storage medium may be any combination of such storage devices. Any such computer-readable storage medium may reside on or within a single computing device or an entire computer system, and may be among other computer-readable storage medium within a system or network.
While the subject matter of this application has been particularly shown and described with reference to implementations thereof, it will be understood by those skilled in the art that changes in the form and details of the disclosed implementations may be made without departing from the spirit or scope of this disclosure. Examples of some of these implementations are illustrated in the accompany drawings, and specific details are set forth in order to provide a thorough understanding thereof. It should be noted that implementations may be practiced without some or all of these specific details. In addition, well known features may not have been described in detail to promote clarity. Finally, although advantages have been discussed herein with reference to some implementations, it will be understood that the scope should not be limited by reference to such advantages. Rather, the scope should be determined with reference to the appended claims.
Various aspects of the present invention may be appreciated from the following enumerated example embodiments (EEEs):
Number | Date | Country | Kind |
---|---|---|---|
PCT/CN2019/083173 | Apr 2019 | WO | international |
19192553 | Aug 2019 | EP | regional |
This application claims priority to PCT Patent Application No. PCT/CN2019/083173, filed Apr. 18, 2019, U.S. Provisional Patent Application No. 62/840,839, filed Apr. 30, 2019, and EP Patent Application No. 19192553.6, filed Aug. 20, 2019, each of which is hereby incorporated by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2020/028001 | 4/13/2020 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/214541 | 10/22/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6785645 | Khalil | Aug 2004 | B2 |
7263485 | Wark | Aug 2007 | B2 |
8428949 | Neoran | Apr 2013 | B2 |
9111531 | Atti | Aug 2015 | B2 |
9196249 | Konchitsky | Nov 2015 | B1 |
9548713 | Wang | Jan 2017 | B2 |
9613640 | Balamurali | Apr 2017 | B1 |
9620105 | Mason | Apr 2017 | B2 |
9621124 | Lu | Apr 2017 | B2 |
9805725 | Crockett | Oct 2017 | B2 |
9842605 | Lu | Dec 2017 | B2 |
9972334 | Subasingha | May 2018 | B2 |
10026410 | Gurijala | Jul 2018 | B2 |
10090003 | Wang | Oct 2018 | B2 |
20030101050 | Khalil | May 2003 | A1 |
20040172244 | Oh | Sep 2004 | A1 |
20080162121 | Son | Jul 2008 | A1 |
20110119061 | Brown | May 2011 | A1 |
20120041762 | Cooper | Feb 2012 | A1 |
20150179168 | Hakkani-Tur | Jun 2015 | A1 |
20160219387 | Ward | Jul 2016 | A1 |
20160350410 | Aharoni | Dec 2016 | A1 |
20160379627 | Yassa | Dec 2016 | A1 |
20170011754 | Choo | Jan 2017 | A1 |
20170025119 | Song | Jan 2017 | A1 |
20170092288 | Dewasurendra | Mar 2017 | A1 |
20170249945 | Koppens | Aug 2017 | A1 |
20180152803 | Seefeldt | May 2018 | A1 |
20190221219 | Wang | Jul 2019 | A1 |
20200273468 | Wang | Aug 2020 | A1 |
20220191635 | Shlomot | Jun 2022 | A1 |
Number | Date | Country |
---|---|---|
2011527445 | Oct 2011 | JP |
2015184378 | Oct 2015 | JP |
101530481 | Jun 2015 | KR |
2016140453 | Apr 2018 | RU |
Entry |
---|
Von Zeddelmann et al., (“A construction of MFCC-type features using short-time statistics for Applications in audio segmentation”, 2009, 17th European Signal Processing Conference , IEEE, Aug. 24, 2009, pp. 1504-1508). (Year: 2009). |
Von Zeddelmann, Dirk et al “A Construction of Compact MFCC-Type Features Using Short-Time Statistics for Applications in Audio Segmentation” 17th European Signal Processing Conference, GlasGow, Scotland, Aug. 24-28, 2009. |
Wichern, G. et al “Segmentation, Indexing, and Retrieval for Environmental and Natural Sounds” IEEE Transactions on Audio, Speech, and Language Processing, vol. 18, Issue 3, Mar. 2010, pp. 688-707. |
Number | Date | Country | |
---|---|---|---|
20220199074 A1 | Jun 2022 | US |
Number | Date | Country | |
---|---|---|---|
62840839 | Apr 2019 | US |