Device and method for stereo noise cancellation
10872594 ยท 2020-12-22
Inventors
Cpc classification
H04R2227/007
ELECTRICITY
H04R5/04
ELECTRICITY
H04R3/02
ELECTRICITY
G10K2210/3028
PHYSICS
International classification
Abstract
According to an embodiment, a noise cancellation method comprises updating a first far-end channel filter according to a first variance yielded based on an input signal and a first far-end signal included in the input signal, providing a first output signal obtained by removing a first far-end noise signal from the input signal through the first far-end channel filter, updating a second far-end channel filter according to a second variance yielded based on the first output signal and a second far-end signal included in the input signal, and providing a second output signal obtained by removing a second far-end noise signal from the first output signal through the second far-end channel filter.
Claims
1. A noise cancellation method, comprising: updating a first far-end channel filter according to a first variance yielded based on an input signal and a first far-end signal included in the input signal; providing a first output signal obtained by removing a first far-end noise signal from the input signal through the first far-end channel filter; updating a second far-end channel filter according to a second variance yielded based on the first output signal and a second far-end signal included in the input signal; and providing a second output signal obtained by removing a second far-end noise signal from the first output signal through the second far-end channel filter, wherein updating the first far-end channel filter includes estimating the first variance based on the input signal and the first far-end signal and creating a first cross-correlation vector and a first autocorrelation matrix based on the first variance.
2. The noise cancellation method of claim 1, wherein an initial value of the first variance is obtained by cross correlation between the input signal and the first far-end signal and autocorrelation of the first far-end signal.
3. The noise cancellation method of claim 1, wherein the first cross-correlation vector and the first autocorrelation matrix are updated according to the first variance.
4. The noise cancellation method of claim 1, wherein the first far-end channel filter is updated according to the first cross-correlation vector and the first autocorrelation matrix.
5. The noise cancellation method of claim 1, further comprising: initializing the first variance; and initializing the second variance.
6. The noise cancellation method of claim 5, wherein the first far-end channel filter is updated according to a first cross-correlation vector and a first autocorrelation matrix obtained based on the first variance.
7. A noise cancellation method, comprising: updating a first far-end channel filter according to a first variance yielded based on an input signal and a first far-end signal included in the input signal; providing a first output signal obtained by removing a first far-end noise signal from the input signal through the first far-end channel filter; updating a second far-end channel filter according to a second variance yielded based on the first output signal and a second far-end signal included in the input signal; and providing a second output signal obtained by removing a second far-end noise signal from the first output signal through the second far-end channel filter, wherein updating the second far-end channel filter includes estimating the second variance based on the first output signal and the second far-end signal and creating a cross-correlation vector and an autocorrelation matrix based on the second variance.
8. The noise cancellation method of claim 7, wherein an initial value of the second variance is obtained by cross correlation between the output signal and the second far-end signal and autocorrelation of the second far-end signal.
9. The noise cancellation method of claim 7, wherein the second cross-correlation vector and the second autocorrelation matrix are updated according to the second variance.
10. The noise cancellation method of claim 9, wherein the second far-end channel filter is updated according to the second cross-correlation vector and the second autocorrelation matrix.
11. A noise cancellation method, comprising: providing a first estimated output signal based on a first prior far-end channel filter corresponding to a prior frame, an input signal, and a first far-end signal; updating a first current far-end channel filter corresponding to a current frame according to the first estimated output signal and the first prior far-end channel filter; providing a first output signal obtained by removing a first far-end noise signal from the input signal using the first current far-end channel filter; providing a second estimated output signal based on a second prior far-end channel filter corresponding to the prior frame, the first output signal, and a second far-end signal; updating the second current far-end channel filter corresponding to the current frame according to the second estimated output signal and the second prior far-end channel filter; and providing a second output signal obtained by removing a second far-end noise signal from the first output signal using the second current far-end channel filter, wherein updating the first current far-end channel filter includes estimating a first variance based on the first estimated output signal and creating a first inverse autocorrelation matrix based on the first variance.
12. The noise cancellation method of claim 11, wherein the first variance is determined by the first estimated output signal provided based on the first prior far-end channel filter.
13. The noise cancellation method of claim 12, wherein the first variance is determined by the product of a first weight and the square of the absolute value of the first estimated output signal.
14. The noise cancellation method of claim 13, wherein the first current far-end channel filter converges to a constant value.
15. The noise cancellation method of claim 11, wherein updating the second current far-end channel filter includes estimating a second variance based on the second estimated output signal and creating a second inverse autocorrelation matrix based on the second variance.
16. The noise cancellation method of claim 15, wherein the second variance is determined by the second estimated output signal provided based on the second prior far-end channel filter.
17. The noise cancellation method of claim 16, wherein the second variance is determined by the product of a second weight and the square of the absolute value of the second estimated output signal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) A more complete appreciation of the present disclosure and many of the attendant aspects thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
(27) Hereinafter, exemplary embodiments of the disclosure will be described in detail with reference to the accompanying drawings. The disclosure, however, may be modified in various different ways, and should not be construed as limited to the embodiments set forth herein. The same reference denotations may be used to refer to the same or substantially the same elements throughout the specification and the drawings. As used herein, the singular forms a, an, and the are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be understood that when an element or layer is referred to as being on, connected to, coupled to, or adjacent to another element or layer, it can be directly on, connected, coupled, or adjacent to the other element or layer, or intervening elements or layers may be present.
(28)
(29) Referring to
(30) For example, the near-end signal NE_S may be a pure voice signal free from stereo echo signals (e.g., FE_S1 and FE_S2). The first far-end signal FE_S1 may be an echo signal provided from a first sound source 21, e.g., a speaker, disposed on a first side from a microphone 23. The first side may be a left side of the microphone 23. The second far-end signal FE_S2 may be an echo signal provided from a second sound source 22, e.g., a speaker, disposed on a second side from the microphone 23. The second side may be a right side of the microphone 23.
(31) According to an embodiment, the first far-end channel filter 26 and a second far-end channel filter 27 may be estimated based on a maximum likelihood scheme.
(32) A second output signal OUT_S2 may be expressed as Z[m,k] and be represented in Equation 1 below.
(33)
(34) Here, X[m,k] is the input signal IN_S, g.sub.k is the far-end channel filter, and u.sub.m,k is the far-end signal.
(35) Assuming that the second output signal OUT_S2 has the complex Gaussian distribution with zero mean and a variance of .sub.z[m,k], a first function may be represented in Equation 2 below.
(36)
(37) Here, the first function is p(Z[m,k]:.sub.Z[m,k]), m is the frame index, and k is the frequency index.
(38) A parameter set to be obtained may be expressed as ={.sub.Z[m,k],g.sub.k}, and the parameter set to be obtained through the maximum likelihood scheme may be represented in Equation 3.
(39)
(40) g.sub.k to maximize L() g.sub.k with .sub.Z[m,k] left unchanged in Equation 3 may be represented in Equation 4 below.
(41)
(42) Here, r.sub.k and R.sub.k are the cross-correlation vector and the autocorrelation matrix, respectively.
(43) .sub.z[m,k] to maximize L() with g.sub.k left unchanged may be represented in Equation 5 below.
(44)
(45) The process represented in Equations 1 to 5 may be repeated until g.sub.k and .sub.z[m,k] converge.
(46) The first far-end channel filter 26 may remove the first far-end noise signal from the input signal IN_S, outputting a first output signal OUT_S1 which is free from the first far-end noise signal (S200). As used herein, the terms far-end noise signal and far-end signal may interchangeably be used.
(47) For example, the first output signal OUT_S1 may be Y[m,k] and be represented in Equation 6.
Y[m,k]=X[m,k]g.sub.L,k.sup.Hu.sub.m,k[Equation 6]
(48) Here, X[m,k] is the input signal IN_S, g.sub.L,k.sup.H is the first far-end channel filter 26, and u.sub.L,m,k is the first far-end signal FE_S1.
(49) The second far-end channel filter 27 may be updated according to a second variance VAR2 yielded based on the first output signal OUT_S1 and the second far-end signal included in the input signal IN_S (S300).
(50) The second far-end channel filter 27 may remove the second far-end noise signal from the first output signal OUT_S1, outputting the second output signal OUT_S2 free from the second far-end noise signal (S400).
(51) For example, the second output signal OUT_S2 may be Z[m,k] and be represented in Equation 7.
Z[m,k]=Y[m,k]g.sub.R,k.sup.Hu.sub.R,m,k[Equation 7]
(52) Here, Y[m,k] is the first output signal OUT_S1, g.sub.R,k.sup.H is the second far-end channel filter 27, and u.sub.R,m,k is the second far-end signal FE_S2.
(53) According to an embodiment, the noise cancellation method may remove stereo echo signals from the input signal IN_S, providing noise-free voice signals.
(54) Although examples of removing stereo echo signals are shown and described herein, embodiments of the disclosure are not limited thereto but may also be applicable to removal of mono echo signals.
(55)
(56) Referring to
(57) According to an embodiment, an initial value IV_S1 of the first variance VAR1 may be yielded based on cross-correlation between the input signal IN_S and the first far-end signal FE_S1 and auto-correlation of the first far-end signal FE_S1.
(58) For example, the first variance VAR1 may be estimated as {circumflex over ()}.sub.Y[m,k] and may be represented in Equation 8.
{circumflex over ()}.sub.Y[m,k]=|G.sub.Y[m,k]X[m,k]|.sup.2[Equation 8]
(59) Here, G.sub.Y[m,k] may be represented in Equation 9.
(60)
(61) Here, |D.sub.L[m,k]| may be obtained based on the first far-end signal FE_S1 and the input signal IN_S as shown in Equation 10.
(62)
(63) Here, U.sub.L[m,k] may represent the first far-end signal FE_S1, and X[m,k] may represent the input signal IN_S.
(64) A first cross-correlation vector CCV1 and a first autocorrelation matrix ACM1 may be obtained based on the first variance VAR1 (S130).
(65) For example, the first cross-correlation vector CCV1 and the first autocorrelation matrix ACM1 may be represented in Equation 11 below.
(66)
(67) Here, r.sub.L,k and R.sub.L,k may be the first cross-correlation vector CCV1 and the first autocorrelation matrix ACM1, respectively.
(68) According to an embodiment, the first cross-correlation vector CCV1 and the first autocorrelation matrix ACM1 may be updated according to the first variance VAR1, and the first far-end channel filter 26 may be updated according to the first cross-correlation vector CCV1 and the first autocorrelation matrix ACM1.
(69)
(70) Referring to
(71) According to an embodiment, an initial value IV_S2 of the second variance VAR2 may be yielded based on cross-correlation between the first output signal OUT_S1 and the second far-end signal FE_S2 and auto-correlation of the second far-end signal FE_S2.
(72) For example, the second variance VAR2 may be estimated as {circumflex over ()}.sub.Z[m,k] and may be represented in Equation 12.
{circumflex over ()}.sub.Z[m,k]=|G.sub.Z[m,k]Y[m,k]|.sup.2[Equation 12]
(73) Here, Gz[m,k] may be represented in Equation 13.
(74)
(75) Here, |{circumflex over (D)}.sub.R[m,k]| may be obtained based on the first output signal OUT_S1 and the second far-end signal FE_S2 as shown in Equation 14.
(76)
(77) Here, U.sub.R[m,k] may represent the second far-end signal FE_S1, and Y[m,k] may represent the first output signal OUT_S1.
(78) A second cross-correlation vector CCV2 and a second autocorrelation matrix ACM2 may be obtained based on the second variance VAR2 (S330).
(79) For example, the second cross-correlation vector CCV2 and the second autocorrelation matrix ACM2 may be represented in Equation 15 below.
(80)
(81) Here, r.sub.R,k and R.sub.R,k may be the second cross-correlation vector CCV2 and the second autocorrelation matrix ACM2, respectively.
(82) According to an embodiment, the second cross-correlation vector CCV2 and the second autocorrelation matrix ACM2 may be updated according to the second variance VAR2, and the second far-end channel filter 27 may be updated according to the second cross-correlation vector CCV2 and the second autocorrelation matrix ACM2.
(83)
(84) Referring to
(85) According to an embodiment, the first far-end channel filter 26 may be updated according to a first cross-correlation vector CCV1 and a first autocorrelation matrix ACM1 yielded based on the first variance VAR1.
(86) According to an embodiment, the noise cancellation method may remove stereo echo signals from the input signal IN_S, providing noise-free voice signals.
(87)
(88) Referring to
(89) The first filter 100 may update a first far-end channel filter 26 according to a first variance VAR1 yielded based on an input signal IN_S and a first far-end signal FE_S1 included in the input signal IN_S. The first output device 200 may provide a first output signal OUT_S1 obtained by removing the first far-end noise signal from the input signal IN_S using the first far-end channel filter 26. The first far-end channel filter 26 may be included in the first filter 100.
(90) The second filter 300 may update a second far-end channel filter 27 according to a second variance VAR2 yielded based on the first output signal OUT_S1 and a second far-end signal FE_S2 included in the input signal IN_S. The second output device 400 may provide a second output signal OUT_S2 obtained by removing the second far-end noise signal from the first output signal OUT_S1 using the second far-end channel filter 27. The second far-end channel filter 27 may be included in the second filter 300.
(91) According to an embodiment, the second far-end channel filter 27 may be updated according to a second cross-correlation vector CCV2 and a second autocorrelation matrix ACM2 yielded based on the second variance VAR2.
(92)
(93) Referring to
(94) The first initializer 115 may initialize a first variance VAR1 of an input signal IN_S and a first far-end signal included in the input signal IN_S. The first filter 100 may update a first far-end channel filter 26 based on the first variance VAR1. The first output device 200 may provide a first output signal OUT_S1 obtained by removing the first far-end noise signal from the input signal IN_S using the first far-end channel filter 26.
(95) The second initializer 315 may initialize a second variance VAR2 based on the first output signal OUT_S1 and a second far-end signal included in the input signal IN_S. The second filter 300 may update the second far-end channel filter 27 based on the second variance VAR2. The second output device 400 may provide a second output signal OUT_S2 obtained by removing the second far-end noise signal from the first output signal OUT_S1 using the second far-end channel filter 27.
(96) According to an embodiment, an initial value IV_S1 of the first variance VAR1 may be yielded based on cross-correlation between the input signal IN_S and the first far-end signal FE_S1 and auto-correlation of the first far-end signal FE_S1.
(97) According to an embodiment, the first initializer 115 may be included in the first filter 100. Alternatively, the first initializer 115 may be disposed outside the first filter 100.
(98) According to an embodiment, the second initializer 315 may be included in the second filter 300. Alternatively, the second initializer 315 may be disposed outside the second filter 300.
(99)
(100) Referring to
(101) Updating the far-end channel filter (S1000) may include estimating the variance VAR based on the input signal IN_S and the far-end signal (S1100). A cross-correlation vector and an autocorrelation matrix may be obtained based on the variance VAR (S1300).
(102) The mono noise cancellation method described in connection with
(103)
(104) Referring to
(105) For example, the near-end signal NE_S may be a pure voice signal free from stereo echo signals (e.g., FE_S1 and FE_S2). The first far-end signal FE_S1 may be an echo signal provided from a first sound source 21, e.g., a speaker, disposed on a first side from a microphone 23. The first side may be a left side of the microphone 23. The second far-end signal FE_S2 may be an echo signal provided from a second sound source 22, e.g., a speaker, disposed on a second side from the microphone 23. The second side may be a right side of the microphone 23.
(106) For example, a second frame may be provided after the first frame. Where the second frame is a current frame CF, the first frame may be a prior frame PF. In this case, the first prior far-end channel filter PFE_F1 may be a far-end channel filter on a first side of the first frame.
(107) The first estimated output signal EO_S1 may be expressed as [m,k] and be represented as shown in Equation 16.
[m,k]=X[m,k]g.sub.L,m-1,k.sup.Hu.sub.L,m,k[Equation 16]
(108) Here, X[m,k] is the input signal IN_S, g.sub.L,m-1,k.sup.H is the first prior far-end channel filter PFE_F1, u.sub.L,m,k is the first far-end signal FE_S1, m is the frame index, and k is the frequency index.
(109) A first current far-end channel filter CFE_F1 corresponding to the current frame CF may be updated according to the first estimated output signal EO_S1 and the first prior far-end channel filter PFE_F1 (S200). For example, a second frame may be provided after the first frame. Where the second frame is a current frame CF, the first frame may be a prior frame PF. In this case, the first current far-end channel filter CFE_F1 may be a far-end channel filter on the first side of the second frame.
(110) The first current far-end channel filter CFE_F1 may be expressed as g.sub.L,m,k and be represented as shown in Equation 17.
g.sub.L,m,k=g.sub.L,m-1,k+k.sub.L,m,k*[m,k][Equation 17]
(111) Here, g.sub.L,m,k is the first current far-end channel filter CFE_F1, g.sub.L,m-1,k is the first prior far-end channel filter PFE_F1, and k.sub.L,m,k is the first Kalman gain.
(112) The first current far-end channel filter CFE_F1 and the first prior far-end channel filter PFE_F1 may be included in a first far-end channel filter FE_F1.
(113) The first current far-end channel filter CFE_F1 may remove the first far-end noise signal from the input signal IN_S, outputting the first output signal OUT_S1 free from the first far-end noise signal (S300). The first output signal OUT_S1 may be expressed as Y[m,k] and be represented as shown in Equation 18.
Y[m,k]=X[m,k]g.sub.L,m,k.sup.Hu.sub.L,m,k[Equation 18]
(114) Here, X[m,k] is the input signal IN_S, g.sub.L,m,k.sup.H is the first current far-end channel filter CFE_F1, and u.sub.L,m,k is the first far-end signal FE_S1.
(115) A second estimated output signal EO_S2 may be provided based on a second prior far-end channel filter corresponding to the prior frame PF, the first output signal OUT_S1, and a second far-end signal FE_S2 (S400).
(116) For example, the second frame may be provided after the first frame. Where the second frame is a current frame CF, the first frame may be a prior frame PF. In this case, the second prior far-end channel filter PFE_F2 may be a far-end channel filter on a second side of the first frame.
(117) The second estimated output signal EO_S2 may be expressed as {circumflex over (Z)}[m,k] and be represented as shown in Equation 19.
{circumflex over (Z)}[m,k]=Y[m,k]g.sub.R,m-1,k.sup.Hu.sub.R,m,k[Equation 19]
(118) Here, Y[m,k] is the first output signal OUT_S1, g.sub.R,m-1,k.sup.H is the second prior far-end channel filter PFE_F2, u.sub.R,m,k is the second far-end signal FE_S2, m is the frame index, and k is the frequency index.
(119) The second current far-end channel filter CFE_F2 corresponding to the current frame CF may be updated according to the second estimated output signal EO_S2 and the second prior far-end channel filter PFE_F2 (S500). For example, a second frame may be provided after the first frame. Where the second frame is a current frame CF, the first frame may be a prior frame PF. In this case, the second current far-end channel filter CFE_F2 may be a far-end channel filter on the second side of the second frame.
(120) The second current far-end channel filter CFE_F2 may be expressed as g.sub.R,m,k and be represented as shown in Equation 20.
g.sub.R,m,k=g.sub.R,m-1,k+k.sub.R,m,k{circumflex over (Z)}*[m,k][Equation 20]
(121) Here, g.sub.R,m,k is the second current far-end channel filter CFE_F2, the second g.sub.R,m-1,k is prior far-end channel filter PFE_F2, and k.sub.R,m,k is the second Kalman gain.
(122) The second current far-end channel filter CFE_F2 and the second prior far-end channel filter PFE_F2 may be included in a second far-end channel filter FE_F2.
(123) The second current far-end channel filter CFE_F2 may remove the second far-end noise signal from the first output signal OUT_S1, outputting the second output signal OUT_S2 free from the second far-end noise signal (S600). The second output signal OUT_S2 may be expressed as Z[m,k] and be represented as shown in Equation 21.
Z[m,k]=Y[m,k]g.sub.R,m,k.sup.Hu.sub.R,m,k[Equation 21]
(124) Here, Y[m,k] is the first output signal OUT_S1, g.sub.R,m,k.sup.H is the second current far-end channel filter CFE_F2, and u.sub.R,m,k is the second far-end signal FE_S2.
(125) According to an embodiment, the noise cancellation method may remove stereo echo signals from the input signal IN_S, providing noise-free voice signals.
(126) Although examples of removing stereo echo signals are shown and described herein, embodiments of the disclosure are not limited thereto but may also be applicable to removal of mono echo signals.
(127)
(128) Referring to
(129) For example, the first variance VAR1 may be .sub.Y[m,k] and be represented as shown in Equation 22.
.sub.Y[m,k]={circumflex over ()}.sub.Y[m,k][Equation 22]
(130) Here, {circumflex over ()}.sub.Y[m,k] is the estimated variance that may be yielded based on cross-correlation between the input signal IN_S and the first far-end signal FE_S1 and autocorrelation of the first far-end signal FE_S1.
(131) According to an embodiment, the first variance VAR1 may be determined by the first estimated output signal EO_S1 provided based on the first prior far-end channel filter PFE_F1. The first variance VAR1 may be determined by the product of a first weight and the square of the absolute value of the first estimated output signal EO_S1.
(132) A first inverse autocorrelation matrix IACM1 may be yielded based on the first variance VAR1 (S220).
(133) For example, the first inverse autocorrelation matrix IACM1 may be represented in Equation 23 below.
(134)
(135) Here, .sub.L,m,k and .sub.L,k.sup.1 may be included in the first inverse autocorrelation matrix IACM1.
(136) According to an embodiment, the first current far-end channel filter CFE_F1 may converge to a constant value.
(137)
(138) Referring to
(139) For example, the second variance VAR2 may be .sub.Z[m,k] and be represented as shown in Equation 24.
.sub.Z[m,k]={circumflex over ()}.sub.Z[m,k][Equation 24]
(140) Here, {circumflex over ()}.sub.Z[m,k] is the estimated variance that may be yielded based on cross-correlation between the first output signal OUT_S1 and the second far-end signal FE_S2 and autocorrelation of the second far-end signal FE_S2.
(141) According to an embodiment, the second variance VAR2 may be determined by the second estimated output signal EO_S2 provided based on the second prior far-end channel filter PFE_F2. The second variance VAR2 may be determined by the product of a second weight and the square of the absolute value of the second estimated output signal EO_S2.
(142) A second inverse autocorrelation matrix IACM2 may be yielded based on the second variance VAR1 (S520).
(143) For example, the second inverse autocorrelation matrix IACM2 may be represented in Equation 25 below.
(144)
(145) Here, .sub.R,m,k and .sub.R,k.sup.1 may be included in the second inverse autocorrelation matrix IACM2.
(146) According to an embodiment, the second current far-end channel filter CFE_F2 may converge to a constant value. According to an embodiment, the noise cancellation method may remove stereo echo signals from the input signal IN_S, providing noise-free voice signals.
(147)
(148) Referring to
(149) The second variance may be initialized (S400). The second estimated output signal EO_S2 may be provided based on the second prior far-end channel filter corresponding to the prior frame PF, the first output signal OUT_S1, and the second far-end signal FE_S2, and the second current far-end channel filter CFE_F2 corresponding to the current frame CF may be updated according to the second estimated output signal EO_S2, the second prior far-end channel filter PFE_F2, and the second variance VAR2 (S500). The second current far-end channel filter CFE_F2 may remove the second far-end noise signal from the first output signal OUT_S1, outputting the second output signal OUT_S2 free from the second far-end noise signal (S600).
(150) According to an embodiment, the first variance VAR1 may be determined by the first estimated output signal EO_S1 provided based on the first prior far-end channel filter PFE_F1, and the second variance VAR2 may be determined by the second estimated output signal EO_S2 provided based on the second prior far-end channel filter PFE_F2. According to an embodiment, the stereo noise cancellation method may remove stereo echo signals from the input signal IN_S, providing noise-free voice signals.
(151)
(152) Referring to
(153) The first estimator 100 may provide a first estimated output signal EO_S1 based on a first prior far-end channel filter corresponding to a prior frame PF, an input signal IN_S, and a first far-end signal FE_S1. The first filter 200 may update a first current far-end channel filter CFE_F1 corresponding to a current frame CF according to the first estimated output signal EO_S1 and the first prior far-end channel filter PFE_F1. The first output device 300 may provide a first output signal OUT_S1 obtained by removing the first far-end noise signal from the input signal IN_S using the first far-end channel filter CFE_F1.
(154) The second estimator 400 may provide a second estimated output signal EO_S2 based on a second prior far-end channel filter corresponding to the prior frame PF, the first output signal OUT_S1, and the second far-end signal FE_S2. The second filter 500 may update the second current far-end channel filter CFE_F2 corresponding to the current frame CF according to the second estimated output signal EO_S2 and the second prior far-end channel filter PFE_F2. The second output device 600 may provide a second output signal OUT_S2 obtained by removing the second far-end noise signal from the first output signal OUT_S1 using the second current far-end channel filter CFE_F2.
(155) According to an embodiment, a first variance VAR1 may be determined by the product of a first weight and the square of the absolute value of the first estimated output signal EO_S1, and a second variance VAR2 may be determined by the product of a second weight and the square of the absolute value of the second estimated output signal EO_S2.
(156)
(157) Referring to
(158) The first initializer 115 may initialize a first initial variance IV_S1. The first updater 150 may include a first estimator 100 and a first filter 200.
(159) The first estimator 100 may provide a first estimated output signal EO_S1 based on a first prior far-end channel filter corresponding to a prior frame PF, an input signal IN_S, and a first far-end signal FE_S1. The first filter 200 may update a first current far-end channel filter CFE_F1 corresponding to a current frame CF according to the first estimated output signal EO_S1, the first prior far-end channel filter PFE_F1, and the first variance VAR1. The first output device 300 may provide a first output signal OUT_S1 obtained by removing the first far-end noise signal from the input signal IN_S using the first far-end channel filter CFE_F1.
(160) The second initializer 515 may initialize a second initial variance IV_S2. The second updater 450 may include a second estimator 400 and a second filter 500.
(161) The second estimator 400 may provide a second estimated output signal EO_S2 based on a second prior far-end channel filter corresponding to the prior frame PF, the first output signal OUT_S1, and the second far-end signal FE_S2. The second filter 500 may update the second current far-end channel filter CFE_F2 corresponding to the current frame CF according to the second estimated output signal EO_S2, the second prior far-end channel filter PFE_F2, and the second variance VAR2. The second output device 600 may provide a second output signal OUT_S2 obtained by removing the second far-end noise signal from the first output signal OUT_S1 using the second current far-end channel filter CFE_F2.
(162) According to an embodiment, the first current far-end channel filter CFE_F1 and the second current far-end channel filter CFE_F2 may converge to a constant value. According to an embodiment, the stereo noise cancellation method may remove stereo echo signals from the input signal IN_S, providing noise-free voice signals.
(163)
(164) Referring to
(165) Updating the current far-end channel filter CFE_F may include estimating a variance VAR based on the estimated output signal EO_S (S2100). An inverse autocorrelation matrix may be yielded based on the variance (S2300).
(166) The mono noise cancellation method described in connection with
(167) The noise cancellation device according to various embodiments may be one of various types of electronic devices including, but not limited to, at least one of, e.g., a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
(168) It should be appreciated that various embodiments of the disclosure and the terms used therein are not intended to limit the techniques set forth herein to particular embodiments and that various changes, equivalents, and/or replacements therefor also fall within the scope of the disclosure.
(169) As used herein, the term A or B, at least one of A and/or B, A, B, or C, or at least one of A, B, and/or C may include all possible combinations of the enumerated items. As used herein, the terms 1st or first and 2nd or second may modify corresponding components regardless of importance and/or order and are used to distinguish a component from another without limiting the components.
(170) As used herein, the term module includes a unit configured in hardware, software, or firmware and may interchangeably be used with other terms, e.g., logic, logic block, part, circuit, or device. A module may be a single integral part or a minimum unit or part for performing one or more functions. For example, the module may be configured in an application-specific integrated circuit (ASIC).
(171) Various embodiments as set forth herein may be implemented as software including one or more instructions that are stored in a machine-readable or computer-readable storage medium (e.g., a transitory memory or a non-transitory memory) that is readable by a machine (e.g., the noise cancellation device) or a processor.
(172) For example, a processor of the noise cancellation device may invoke at least one of the one or more instructions stored in the storage medium, and execute it, with or without using one or more other components under the control of the processor. This allows the noise cancellation device to be operated to perform at least one function according to the at least one instruction invoked. The one or more instructions may include a code generated by a complier or a code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. The term non-transitory simply means that the storage medium is a tangible device, and does not include a signal (e.g., an electromagnetic wave), but this term does not differentiate between where data is semi-permanently stored in the storage medium and where the data is temporarily stored in the storage medium.
(173) According to an embodiment, a method according to various embodiments of the disclosure may be included and provided in a computer program product. The computer program products may be traded as commodities between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or be distributed (e.g., downloaded or uploaded) online via an application store (e.g., Play Store), or between two user devices (e.g., smart phones) directly. If distributed online, at least part of the computer program product may be temporarily generated or at least temporarily stored in the machine-readable storage medium, such as memory of the manufacturer's server, a server of the application store, or a relay server.
(174) According to various embodiments, each component (e.g., a module or a program) of the above-described components may include a single entity or multiple entities. According to various embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Alternatively or additionally, a plurality of components (e.g., modules or programs) may be integrated into a single component. In such a case, according to various embodiments, the integrated component may still perform one or more functions of each of the plurality of components in the same or similar manner as they are performed by a corresponding one of the plurality of components before the integration. According to various embodiments, operations performed by the module, the program, or another component may be carried out sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order or omitted, or one or more other operations may be added.
(175) Although the disclosure has been shown and described in connection with exemplary embodiments thereof, it will be appreciated by one of ordinary skill in the art that various changes or modifications may be made thereto without departing from the scope of the disclosure.