BEAMFORMING DEVICE

Information

  • Patent Application
  • 20240365072
  • Publication Number
    20240365072
  • Date Filed
    December 14, 2023
    a year ago
  • Date Published
    October 31, 2024
    2 months ago
Abstract
A beamforming device according to an embodiment of the present invention may include a probability estimation unit, a steering vector unit, and a beamforming unit. The probability estimation unit may estimate a speech existence probability corresponding to a probability that a target speech signal exists based on an input vector. The steering vector unit may provide an estimated steering vector according to the speech existence probability and an input vector. The beamforming unit may calculate a weight vector based on the speech existence probability, the input vector, and the estimated steering vector to provide an output vector.
Description
CROSS-REFERENCE TO RELATED APPLICATION

This application claims benefit of priority to Korean Patent Application No. 10-2023-0055999 filed Apr. 28, 2023, the contents of which is incorporated herein by reference in its entirety.


FIELD

The present invention relates to a beamforming device.


BACKGROUND

A sound input signal input through a microphone may include not only a target speech required for speech recognition but also noise that interferes with speech recognition. Various researches are being conducted to improve the performance of the speech recognition by removing noise from the sound input signal and extracting only the desired target speech.


SUMMARY

The present invention provides a beamforming device capable of more accurately extracting a target speech signal from an input signal by estimating a speech existence probability corresponding to a probability that the target speech signal exists based on an input vector to provide a steering vector and a weight vector.


According to an embodiment of the present invention, a beamforming device may include a probability estimation unit, a steering vector unit, and a beamforming unit. The probability estimation unit may estimate a speech existence probability corresponding to a probability that a target speech signal exists based on an input vector. The steering vector unit may provide an estimated steering vector according to the speech existence probability and the input vector. The beamforming unit may calculate a weight vector based on the speech existence probability, the input vector, and the estimated steering vector to provide an output vector.


In an embodiment, the speech existence probability may be determined according to a target speech signal spatial covariance matrix for the target speech signal included in the input vector.


In an embodiment, the target speech signal spatial covariance matrix for the target speech signal included in the input vector may be calculated according to a noise spatial covariance matrix.


In an embodiment, the noise spatial covariance matrix for noise included in the input vector may be calculated according to a noise spatial covariance matrix estimate of a previous frame corresponding to the previous frame of a current frame.


In an embodiment, a noise spatial covariance inverse matrix for the noise included in the input vector may be calculated according to a variance-weighted spatial covariance inverse matrix in the previous frame.


In an embodiment, an estimated time-varying variance included in the noise spatial covariance inverse matrix is calculated by weighted-averaging a time-varying variance in the previous frame.


In an embodiment, the beamforming device may further include a probability providing unit. The probability providing unit may provide the speech existence probability based on the target speech signal spatial covariance matrix.


In an embodiment, the beamforming device may further include a mask unit. The mask unit may provide a target speech mask according to the speech existence probability.


In an embodiment, the estimated steering vector may be determined according to a re-estimated time-varying variance calculated based on the target speech mask.


In an embodiment, the weight vector may be determined according to the re-estimated time-varying variance calculated based on the target speech mask.


In an embodiment, the variance-weighted spatial covariance inverse matrix may be determined according to the re-estimated time-varying variance calculated based on the target speech mask.


In an embodiment, the time-varying variance may be determined according to power of an output signal calculated based on the target speech mask.


In an embodiment, the beamforming device may further include a determination unit. The determination unit may determine whether a diagonal component of the target speech signal spatial covariance matrix estimate is a negative number.


In an embodiment, when the diagonal component of the target speech signal spatial covariance matrix estimate is the negative number, the target speech mask of the current frame may be the same as the target speech mask of the previous frame, and the estimated steering vector of the current frame may be the same as the estimated steering vector of the previous frame.


In an embodiment, when the beamforming device operates in a single channel, the input vector may be configured by changing the frame and frequency based on the current frame and a reference frequency.


In an embodiment, the input vector may be composed of a portion of the input vector.


In addition to the technical problems of the present invention described above, other features and advantages of the present invention will be described below, or may be clearly understood by those skilled in the art from such description and explanation.





BRIEF DESCRIPTION OF DRAWINGS


FIGS. 1 and 2 are diagrams for describing a beamforming device according to embodiments of the present invention.



FIG. 3 is a diagram illustrating an example of a probability estimation unit included in the beamforming device of FIG. 2.



FIG. 4 is a diagram illustrating an example of a steering vector unit included in the beamforming device of FIG. 2.



FIG. 5 is a diagram illustrating a determination unit included in the beamforming device of FIG. 2.



FIGS. 6 to 8 are diagrams for describing an input vector in a single channel applied to the beamforming device of FIG. 2.





DETAILED DESCRIPTION

In the specification, in adding reference numerals to components throughout the drawings, it is to be noted that like reference numerals designate like components even though components are shown in different drawings.


On the other hand, the meaning of the terms described in the present specification should be understood as follows.


Singular expressions should be understood as including plural expressions, unless the context clearly defines otherwise, and the scope of rights should not be limited by these terms.


Also, it should be understood that terms such as “include” and “have” do not preclude the existence or addition possibility of one or more other features or numbers, steps, operations, components, parts, or combinations thereof.


Hereinafter, preferred embodiments of the present invention designed to solve the above problems will be described in detail with reference to the accompanying drawings.



FIGS. 1 and 2 are diagrams for describing a beamforming device according to embodiments of the present invention.


Referring to FIGS. 1 and 2, a beamforming device 10 according to an embodiment of the present invention may include a probability estimation unit 100, a steering vector unit 200, and a beamforming unit 300. The probability estimation unit 100 may estimate a speech existence probability SPP corresponding to a probability that a target speech signal TSS exists based on an input vector X. For example, the target speech signal may be provided as a microphone input through a space (transfer function, steering vector) between a target speech and a microphone, and the microphone input may include noise. Here, the microphone input may be the input vector X according to the present invention.


In addition, the speech existence probability (SPP) may be defined as a posterior probability of the existence of the target speech signal TSS in the input vector X at time t and frequency f, and may be expressed as [Equation 1] below using a Bayes rule.










p

t
,
f


=


P

(


H

t
,
f


(
s
)




x

t
,
f



)

=


(

1
+

1

Λ

t
,
f




)


-
1







[

Equation


1

]







Here, pt,f may be the speech existence probability, P(Ht,f(s)|xt,f) may be a posterior probability for when the target speech signal exists in the input vector, and Λt,f may be a generalized likelihood ratio. The generalized likelihood ratio may be expressed as [Equation 2] below.










Λ

t
,
f


=



1
-

P

(

H

t
,
f


(
n
)


)



P

(

H

t
,
f


(
n
)


)





p

(


x

t
,
f




H

t
,
f


(
s
)



)


p

(


x

t
,
f




H

t
,
f


(
n
)



)







[

Equation


2

]







Here, P(Ht,f(n)) may be a prior probability when there is no target speech signal and may be set to a constant between 0 and 1, P(xt,f|Ht,f(s)) may be a likelihood of when the target speech signal existing in the input vector, and P(xt,f|Ht,f(n)) may be the likelihood of when the target speech signal does not exist in the input vector.


According to an embodiment, the speech existence probability SPP may be determined according to a target speech signal spatial covariance matrix TGM for the target speech signal TSS included in the input vector X. Summarizing [Equation 1] above, it may be expressed as [Equation 3] below.










p

t
,
f


=



[

1
+



P

(

H

t
,
f


(
n
)


)


1
-

P

(

H

t
,
f


(
n
)


)





(

1
+

ξ

t
,
f



)



exp

(

-


μ

t
,
f



1
+

ξ

t
,
f





)



]


-
1








ξ

t
,
f


=

tr

(



(


R
_


t
,
f

n

)


-
1





R
_


t
,
f

s


)








μ

t
,
f


=




x

t
,
f

H

(


R
_


t
,
f

n

)


-
1







R
_


t
,
f

s

(


R
_


t
,
f

n

)


-
1




x

t
,
f












[

Equation


3

]







Here, Rt,fn may be a noise spatial covariance matrix, and Rt,fs may be the target speech signal spatial covariance matrix.


According to an embodiment, the target speech signal spatial covariance matrix TGM for the target speech signal TSS included in the input vector X may be calculated according to the noise spatial covariance matrix. For example, the target speech signal spatial covariance matrix TGM for the target speech signal (TSS) may be expressed as [Equation 4] below:











R
_


t
,
f

s

=


R

t
,
f

x

-


R
_


t
,
f

n






[

Equation


4

]







Here, Rt,fs may be the target speech signal spatial covariance matrix, Rt,fn may be the noise spatial covariance matrix, and Rt,fx may be the spatial covariance matrix for the input vector. The spatial covariance matrix for the input vector X may be expressed as [Equation 5] below.

















R

t
,
f

x

=



1

?







t
=
1

t



?









=



1

?




(


γ

?


+

?


)







?


=





t
=
1

t



?


=


γ

?


+
1







[

Equation


5

]










?

indicates text missing or illegible when filed




Here, xt,f may be the input vector, Rt-1,fx may be the spatial covariance matrix for the input vector in the previous frame, Γtx may be a weight for normalizing the spatial covariance matrix for the input vector, and γ may be a forgetting factor. Here, the forgetting factor may be a constant that may have a value between 0 and 1.


According to an embodiment, the noise spatial covariance matrix for noise included in the input vector X may be calculated according to the noise spatial covariance matrix estimate of the previous frame corresponding to the previous frame of the current frame. For example, the noise spatial covariance matrix may be expressed as [Equation 9] below.










R

t
,
f

n

=


1


Γ
^


t
,
f

n




(



γΓ


t
-
1

,
f

n



R


t
-
1

,
f

n


+



x

t
,
f




x

t
,
f

H




λ

?



t
,
f




)






[

Equation


9

]










?

indicates text missing or illegible when filed




Here, Rt-1,fn may be the noise spatial covariance matrix estimate of the previous frame, {circumflex over (Γ)}t,fn may be the estimated weight for normalizing the noise spatial covariance matrix, Γt-1,fn may be the weight for normalizing the noise spatial covariance matrix in the previous frame, {circumflex over (λ)}t,f may be the estimated time-varying variance, xt,f may be the input vector, and γ may be the forgetting factor.


According to an embodiment, the noise spatial covariance inverse matrix for the noise included in the input vector X may be calculated according to the variance-weighted spatial covariance inverse matrix in the previous frame. For example, the noise spatial covariance inverse matrix may be expressed as [Equation 5] below.











(

R

t
,
f

n

)


-
1


=




Γ
^


?

n


?




(


Ψ

?


-


P

?




γ



λ

?



?



+

Q

?





)






[

Equation


5

]










?

indicates text missing or illegible when filed




Here, Ψt-1,f may be the variance-weighted spatial covariance inverse matrix in the previous frame, {circumflex over (λ)}t,f may be the estimated time-varying variance, and γ may be the forgetting factor. {circumflex over (Γ)}t,fn is the estimated weight for normalization of the noise spatial covariance matrix and may be expressed as [Equation 6] below.





{circumflex over (Γ)}t,fn=γΓt-1,fn+1/{circumflex over (λ)}t,f  [Equation 6]


Here, Γt-1,fn may be a weight for normalizing the noise spatial covariance inverse matrix in the previous frame, {circumflex over (λ)}t,f may be the estimated time-varying variance, and γ may be the forgetting factor.


According to an embodiment, the estimated time-varying variance included in the noise spatial covariance inverse matrix may be calculated by weighted-averaging the time-varying variance in the previous frame. For example, the estimated time-varying variance may be expressed as [Equation 7] below.











λ
^


t
,
f


=

max

(



βλ


t
-
1

,
f


+


(

1
-
β

)






"\[LeftBracketingBar]"



Y

?



t
,
f




"\[RightBracketingBar]"


2



,

ϵ
f


)





[

Equation


7

]










?

indicates text missing or illegible when filed




Here, {circumflex over (λ)}t,f may be the estimated time-varying variance, λt-1 may be the time-varying variance in the previous frame, β may be a constant between 0 and 1, and ∈f may be a constant greater than 0. |Ŷt,f|2 may be the power of the estimated output signal, and may be expressed as [Equation 8] below.













"\[LeftBracketingBar]"



Y
^


t
,
f




"\[RightBracketingBar]"


2

=


1


2


N
f


+
1








?

=

f
-

N
f




f
+

N
f







"\[LeftBracketingBar]"



w


t
-
1

,
r

H



x

t
,
r





"\[RightBracketingBar]"


2







[

Equation


8

]










?

indicates text missing or illegible when filed




Here, wt-1,r may be the weight vector in the previous frame, (⋅)H may be the Hermitian transpose, and Nf may be the number of adjacent frequencies. The number of adjacent frequencies may be a constant greater than zero.



FIG. 3 is a diagram illustrating an example of the probability estimation unit included in the beamforming device of FIG. 2, and FIG. 4 is a diagram illustrating an example of the steering vector unit included in the beamforming device of FIG. 2.


Referring to FIGS. 1 to 4, according to an embodiment, the beamforming device 10 may further include the probability providing unit 110. The probability providing unit 110 may provide the speech existence probability SPP based on the target speech signal spatial covariance matrix TGM.


In addition, according to an embodiment, the beamforming device 10 may further include a mask unit 210. The mask unit 210 may provide a target speech mask MSK according to the speech existence probability SPP. For example, when it is unclear whether it is the target speech signal TSS, the speech existence probability SPP may have a value around 0.5. In this case, to extract the frame t and frequency f where the target speech signal TSS clearly exists, the target speech mask MSK as illustrated in [Equation 9] below may be used.












t
,
f


=

{





p

t
,
f


,





if



p

t
,
f






η
k

.









ϵ
p

,




otherwise
.









[

Equation


9

]







Here, ηk may be a threshold value (e.g., 0.8) with a constant between 0 and 1, and ∈p may be a lower limit value (e.g., 0.1) with a constant between 0 and 1.


The steering vector unit 200 may provide an estimated steering vector CSV according to the speech existence probability SPP and the input vector X. In one embodiment, the estimated steering vector CSV may be determined according to the re-estimated time-varying variance calculated based on the target speech mask MSK. For example, the re-estimated time-varying variance may be expressed as [Equation 10] below.











λ
˜


t
,
f


=

max

(



βλ


t
-
1

,
f


+


(

1
-
β

)






"\[LeftBracketingBar]"



Y
~


t
,
f




"\[RightBracketingBar]"


2



,

ϵ
f


)





[

Equation


10

]







Here, {tilde over (λ)}t,f may be the re-estimated time-varying variance, λt-1 may be the time-varying variance in the previous frame, β may be a constant between 0 and 1, and ∈f may be a constant greater than 0. |{tilde over (Y)}t,f|2 may be the power of the re-estimated output signal, and may be expressed as [Equation 11] below.












"\[LeftBracketingBar]"






Y
~


t
,
f


2

+


1


2


N
f


+
1







r
=

f
-

N
f




f
+

N
f







"\[LeftBracketingBar]"





t
,
r


(


w


t
-
1

,
r

H



x

t
,
r



)



"\[RightBracketingBar]"


2








[

Equation


11

]







Here, custom-charactert,r may be the target speech mask. According to the re-estimated time-varying variance, the noise spatial covariance matrix estimate in the current frame may be expressed according to [Equation 12] below.










R

t
,
f

n

=


1

Γ

t
,
f

n



1


(


γ


Γ


t
-
1

,
f

n



R


t
-
1

,
f

n


+



x

t
,
f




x

t
,
f

H




λ
˜


t
,
f




)






[

Equation


12

]







Here, Rt,fn may be the noise spatial covariance matrix estimate in the current frame, Rt-1,fn may be the noise spatial covariance matrix estimate in the previous frame, Γt-1,fn may be the weight for normalizing the noise spatial covariance matrix in the previous frame, {circumflex over (λ)}t,f may be the re-estimated time-varying variance, xt,f may be the input vector, γ may be the forgetting factor, and Γt,fn may be the weight for normalizing the noise spatial covariance matrix in the current frame. The weight for normalizing the noise spatial covariance matrix in the current frame may be expressed according to [Equation 13] below.










Γ

t
,
f

n

=


γΓ


t
-
1

,
f

n

+

1
/


λ
˜


t
,
f








[

Equation


13

]







Here, Γt,fn may be the weight for normalizing the noise spatial covariance matrix in the current frame, Γt-1,fn may be the weight for normalizing the noise spatial covariance matrix in the previous frame, and {circumflex over (λ)}t,f may be the re-estimated time-varying variance. In addition, the target speech signal spatial covariance matrix estimate TGME may be expressed according to [Equation 14] below.










R

t
,
f

s

=


R

t
,
f

x

-

R

t
,
f

n






[

Equation


14

]







Here, Rt,fs may be the target speech signal spatial covariance matrix estimate, Rt,fx may be the spatial covariance matrix for the input vector, and Rt,fn may be the noise spatial covariance matrix estimate in the current frame. The estimated steering vector CSV may be calculated based on an eigen vector corresponding to a maximum eigen value of the target speech signal spatial covariance matrix estimate TGME, and may be calculated as [Equation 15] according to a power method.











h

?



t
,
f


=

h


t
-
1

,
f






[

Equation


15

]











h

?



t
,
f


=



R

t
,
f

s




h
~


t
,
f







R

t
,
f

s




h

?



t
,
f













h

t
,
f


=



h

?



t
,
f


/


h

?



t
,
f


(
1
)










?

indicates text missing or illegible when filed




Here, {tilde over (h)}t,f may be the estimated steering vector of the previous frame, ht,f may be an eigen vector corresponding to the maximum eigen value of the target speech signal spatial covariance matrix estimate, ht,f(1) may be a first component of ht,f, and ht,f may be the estimated steering vector.


The beamforming unit 300 may calculate the weight vector based on the speech existence probability SPP, the input vector X, and the estimated steering vector CSV to provide an output vector Y. In one embodiment, the weight vector may be determined according to the re-estimated time-varying variance calculated based on the target speech mask MSK. For example, the weight vector may be expressed as [Equation 16] and [Equation 17] below.













w

t
,
f


=



Ψ

t
,
f




h

t
,
f





h

t
,
f

H



Ψ

t
,
f




h

t
,
f









Y

t
,
f


=


w

t
,
f

H



x

t
,
f










[

Equation


16

]







Here, wt,f may be the weight vector, Yt,f may be the output vector, and Ψt,f may be the variance-weighted spatial covariance inverse matrix.


In one embodiment, the variance-weighted spatial covariance inverse matrix may be determined according to the re-estimated time-varying variance calculated based on the target speech mask (MSK). The variance-weighted spatial covariance inverse matrix may be expressed as [Equation 17] below.










Ψ

t
,
f


=


1
γ



(


Ψ


t
-
1

,
f


-


P

t
,
f




γ



λ
~


t
,
f



+

Q

t
,
f





)






[

Equation


17

]







Here, {tilde over (λ)}t,f may be the re-estimated time-varying variance.


According to an embodiment, the time-varying dispersion may be determined according to the power of the output signal calculated based on the target speech mask MSK. For example, the time-varying variance may be expressed as [Equation 18] below.










λ

t
,
f


=


βλ


t
-
1

,
f


+


(

1
-
β

)






"\[LeftBracketingBar]"



Y
_


t
,
f




"\[RightBracketingBar]"


2







[

Equation


18

]







Here, λt-1 may be the time-varying variance in the previous frame, and |Yt,f|2 may be the power of the output signal. The power of the output signal may be expressed as [Equation 19].













"\[LeftBracketingBar]"



Y
_


t
,
f




"\[RightBracketingBar]"


2

=


1


2


N
f


+
1







r
=

k
-

N
f





?

+

N
f







"\[LeftBracketingBar]"





t
,
r




Y

t
,
r





"\[RightBracketingBar]"


2







[

Equation


19

]










?

indicates text missing or illegible when filed




Here, Yt,f may be the output vector and custom-charactert,r may be the target speech mask.



FIG. 5 is a diagram illustrating a determination unit included in the beamforming device of FIG. 2.


Referring to FIGS. 1 to 5, according to an embodiment, the beamforming device 10 may further include the determination unit 400. The determination unit 400 may determine whether the diagonal component of the target speech signal spatial covariance matrix estimate TGME is a negative number. According to an embodiment, when the diagonal component of the target speech signal spatial covariance matrix estimate TGME is the negative number, in the beamforming device 10 according to the present invention, the target speech mask MSK of the current frame may be the same as the target speech mask MSK of the previous frame, and the estimated steering vector CSV of the current frame may be the same as the estimated steering vector CSV of the previous frame.



FIGS. 6 to 8 are diagrams for describing an input vector in a single channel applied to the beamforming device of FIG. 2.


Referring to FIGS. 1 to 8, according to an embodiment, when the beamforming device 10 operates in a single channel, the input vector X is configured by changing the frame and frequency based on the current frame and reference frequency. For example, the current frame may be t and the reference frequency may be f. In this case, in the input vector X, corresponding values for the same frame may be arranged by moving a frequency up and down step by step based on Xm,t,f, and values corresponding to previous frames may be arranged by changing only the frame at the same frequency on the left based on Xm,t,f. Here, the single channel may mean that there is only one target sound source.


According to an embodiment, the input vector X may be composed of a portion of the input vector X. For example, in the input vector X, only the frame may be configured differently based on the same frequency f, or only the frequency may be configured differently at the same frame t. In addition, as illustrated in FIG. 8, the input vector X may not only be configured by extracting the frame or frequency every one step, but may also be configured in various ways.


According to the beamforming device 10 of the present invention, it is possible to more accurately extract the target speech signal TTS from the input signal by estimating the speech existence probability SPP corresponding to the probability that the target speech signal TSS exists based on the input vector X to provide the steering vector and the weight vector.


According to the present invention as described above, there are the following effects.


According to the beamforming device of the present invention, it is possible to more accurately extract the target speech signal from the input signal by estimating the speech existence probability corresponding to the probability that the target speech signal exists based on the input vector to provide the steering vector and the weight vector.


In addition, other features and advantages of the present invention may be newly understood through the embodiments of the present invention.

Claims
  • 1. A beamforming device, comprising: a probability estimation unit that estimates a speech existence probability corresponding to a probability that a target speech signal exists based on an input vector;a steering vector unit that provides an estimated steering vector according to the speech existence probability and the input vector; anda beamforming unit that calculates a weight vector based on the speech existence probability, the input vector, and the estimated steering vector to provide an output vector.
  • 2. The beamforming device of claim 1, wherein the speech existence probability is determined according to a target speech signal spatial covariance matrix for the target speech signal included in the input vector.
  • 3. The beamforming device of claim 2, wherein the target speech signal spatial covariance matrix for the target speech signal included in the input vector is calculated according to a noise spatial covariance matrix.
  • 4. The beamforming device of claim 3, wherein the noise spatial covariance matrix for the noise included in the input vector is calculated according to a noise spatial covariance matrix estimate of a previous frame corresponding to the previous frame of a current frame.
  • 5. The beamforming device of claim 4, wherein a noise spatial covariance inverse matrix for the noise included in the input vector is calculated according to a variance-weighted spatial covariance inverse matrix in the previous frame.
  • 6. The beamforming device of claim 5, wherein an estimated time-varying variance included in the noise spatial covariance inverse matrix is calculated by weighted-averaging a time-varying variance in the previous frame.
  • 7. The beamforming device of claim 6, further comprising: a probability providing unit that provides the speech existence probability based on the target speech signal spatial covariance matrix.
  • 8. The beamforming device of claim 7, further comprising: a mask unit that provides a target speech mask according to the speech existence probability.
  • 9. The beamforming device of claim 8, wherein the estimated steering vector is determined according to the re-estimated time-varying variance calculated based on the target speech mask.
  • 10. The beamforming device of claim 9, wherein the weight vector is determined according to the re-estimated time-varying variance calculated based on the target speech mask.
  • 11. The beamforming device of claim 10, wherein the time-varying variance is determined according to power of an output signal calculated based on the target speech mask.
  • 12. The beamforming device of claim 11, wherein the variance-weighted spatial covariance inverse matrix is determined according to the re-estimated time-varying variance calculated based on the target speech mask.
  • 13. The beamforming device of claim 12, further comprising: a determination unit that determines whether a diagonal component of the target speech signal spatial covariance matrix is a negative number.
  • 14. The beamforming device of claim 13, wherein when the diagonal component of the target speech signal spatial covariance matrix is the negative number, the target speech mask of the current frame is the same as the target speech mask of the previous frame, and the estimated steering vector of the current frame is the same as the estimated steering vector of the previous frame.
  • 15. The beamforming device of claim 12, wherein when the beamforming device operates in a single channel, the input vector is configured by changing the frame and frequency based on the current frame and a reference frequency.
  • 16. The beamforming device of claim 11, wherein the input vector is composed of a portion of the input vector.
Priority Claims (1)
Number Date Country Kind
10-2023-0055999 Apr 2023 KR national