FILTER COEFFICIENT OPTIMIZATION APPARATUS, LATENT VARIABLE OPTIMIZATION APPARATUS, FILTER COEFFICIENT OPTIMIZATION METHOD, LATENT VARIABLE OPTIMIZATION METHOD, AND PROGRAM

20230083284 · 2023-03-16

Assignee

Inventors

Cpc classification

International classification

Abstract

Provided is a technology of optimizing a latent variable by solving a convex optimization problem equivalent to a non-convex optimization problem instead of solving the non-convex optimization problem. A latent variable optimization apparatus includes an optimization unit that calculates an optimum value ˜w* of a latent variable ˜w based on an optimization problem min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.DL.sub.d(˜w)), L.sub.convex being a strongly convex function relevant to the latent variable ˜w, L.sub.d being a function relevant to the latent variable ˜w, S.sub.d,1, . . . , S.sub.d,C being a region that is obtained by dividing a domain of the function L.sub.d into C closed convex sets, ∧.sub.d,c being a convex function that is defined on the region S.sub.d,c and that approximates the function L.sub.d, c.sub.d being a discrete variable that has a value of 1, . . . , C, the optimization unit calculating the optimum value ˜w* by solving an optimization problem min.sub.c_1, . . . , c_D (min.sub.˜w(L.sub.convex (˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d(˜w))) instead of solving the above optimization problem.

Claims

1. A filter coefficient optimization apparatus including an optimization unit that calculates an optimum value w* of a filter coefficient w={w.sub.1, . . . , w.sub.F} (w.sub.f (f=1, . . . , F, F is an integer equal to or more than 1) is a filter coefficient of a frequency bin f) of a beamformer that emphasizes sound (hereinafter referred to as target sound) from D sound sources (hereinafter referred to as a sound source 1, . . . , a sound source D), D being an integer equal to or more than 1, R.sub.f(f=1, . . . , F) being a spatial correlation matrix for sound other than the target sound relevant to the frequency bin f, L.sub.MV_f(w.sub.f)=w.sub.f.sup.HR.sub.fw.sub.f (f=1, . . . , F) being a cost function relevant to a filter coefficient w.sub.f, the optimization unit calculating the optimum value w* based on an optimization problem min.sub.w_1, . . . ,W_FΣ.sub.f=1.sup.FL.sub.MV_f(w.sub.f) relevant to the filter coefficient w under a predetermined constraint condition, the predetermined constraint condition not including a constraint relevant to a phase of the filter coefficient w.sub.f (f=1, . . . , F).

2. The filter coefficient optimization apparatus according to claim 1, wherein: θd (d=1, . . . , D) is an angular direction in which a sound source d exists, and a.sub.f,d(f=1, . . . , F, d=1, . . . , D) is an array manifold vector in the frequency bin f corresponding to a sound wave that comes from the angular direction Od, the sound wave being a plane wave; and the predetermined constraint condition is expressed by the following expression: [Math. 23]
|w.sub.f.sup.Ha.sub.f,d|=1 (f=1, F, . . . ,d=1, D).

3. The filter coefficient optimization apparatus according to claim 1, wherein: θd (d=1, . . . , D) is an angular direction in which a sound source d exists, and a.sub.f,d(f=1, . . . , F, d=1, D) is an array manifold vector in the frequency bin f corresponding to a sound wave that comes from the angular direction Od, the sound wave being a plane wave; and the predetermined constraint condition is expressed by the following expression: [Math. 24]
|w.sub.f.sup.Ha.sub.f,d|≥1. (f=1, F, d=1, D).

4. The filter coefficient optimization apparatus according to claim 3, wherein: C is an integer equal to or more than 1, C.sub.f,d(f=1, . . . , F, d=1, . . . , D) is a discrete variable that has a value of 1, . . . , C, c.sub.f=(c.sub.f,i, . . . , c.sub.f,D) (f=1, F) is a discrete variable that is defined by a discrete variable c.sub.f,i, . . . , c.sub.f,D, and ∧.sub.(f,d),c_f,d(f=1, . . . , F, d=1, . . . , D) is a function relevant to a variable γ.sub.f,d that is defined by the following expression (γ.sub.f,d=w.sub.f.sup.Ha.sub.f,d): [ Math . 25 ] Λ ( f , d ) , c f , d ( γ f , d ) = { 0 ( R ( γ f , d e - 2 π j ( c f , d + 1 ) / 2 C ) 1 , 2 π c f , d C ∠γ f , d 2 π ( c f , d + 1 ) C ) ( otherwise ) ; and the optimization unit calculates the optimum value w*, by solving an optimization problem min.sub.{c_f,w_f}(Σ.sub.f=1.sup.FL.sub.MV_f(w.sub.f)+Σ.sub.f=1.sup.FΣ.sub.d=1.sup.D∧.sub.(f,d),c_f,d(w.sub.f.sup.Ha.sub.f,d)) relevant to the filter coefficient w and the discrete variable c.sub.1, . . . , C.sub.F instead of solving the optimization problem min.sub.w_1, . . . ,W_FΣ.sub.f=1.sup.FL.sub.MV_f(w.sub.f).

5. The filter coefficient optimization apparatus according to claim 4, wherein the optimization unit includes a candidate calculation unit configured to calculate a candidate w.sub.f.sup.candidate[(c.sub.f,i, . . . , c.sub.f,D)] of the optimum value of the filter coefficient w.sub.f for all values that the discrete variable (c.sub.f,1, . . . , c.sub.f,D) can have, for each frequency bin f, by the following expression: [ Math . 26 ] w f candidate [ ( c f , 1 , .Math. , c f , D ) ] arg min w f ( L MV f ( w f ) + .Math. d = 1 D Λ ( f , d ) , c f , d ( w f H a f , d ) ) and an optimum value determination unit configured to adopt a candidate that is of the candidate w.sub.f.sup.candidate[(c.sub.f,1, . . . , c.sub.f,D)] and that minimizes a value of a cost function L.sub.MV_f(w.sub.f)+Σ.sub.d=1.sup.D∧.sub.(f,d),c_f,d(w.sub.f.sup.Ha.sub.f,d), as an optimum value w.sub.f* of the filter coefficient w.sub.f, for the frequency bin f, and configured to obtain the optimum value w* from w*={Cw.sub.1*, . . . , w.sub.F*}.

6. A latent variable optimization apparatus including an optimization unit that calculates an optimum value ˜w* of a latent variable ˜w based on an optimization problem min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.DL.sub.d(˜w)) relevant to the latent variable ˜w, L.sub.convex being a strongly convex function relevant to the latent variable ˜w, L.sub.d(d=1, . . . , D, D is an integer equal to or more than 1) being a function relevant to the latent variable ˜w, C being an integer equal to or more than 1, S.sub.d,1, . . . , S.sub.d,C(d=1, D) being a region that is obtained by dividing a domain of the function L.sub.d into C closed convex sets, ∧.sub.d,c(d=1, . . . , D, c=1, . . . , C) being a convex function that is defined on the region S.sub.d,c and that approximates the function L.sub.d, c.sub.d(d=1, . . . , D) being a discrete variable that has a value of 1, C, the optimization unit calculating the optimum value ˜w* by solving an optimization problem min.sub.c_1, . . . ,c_D(min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d(˜w))) relevant to the latent variable ˜w and the discrete variable c.sub.1, . . . , c.sub.D instead of solving the optimization problem min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.DL.sub.d(˜w)).

7. The latent variable optimization apparatus according to claim 6, wherein the optimization unit includes a candidate calculation unit configured to calculate a candidate ˜w.sup.candidate[(c.sub.1, . . . , c.sub.D)] of the optimum value of the latent variable ˜w for all values that the discrete variable (c.sub.1, . . . , c.sub.D) can have, by the following expression: [ Math . 27 ] w ~ candidate [ ( c 1 , .Math. , c D ) ] arg min w ~ ( L convex ( w ~ ) + .Math. d = 1 D Λ d , c d ( w ~ ) ) and an optimum value determination unit configured to adopt a candidate that is of the candidate ˜w.sup.candidate[(c.sub.1, . . . , c.sub.D)] and that minimizes a value of a cost function L.sub.convex(˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d(˜w), as the optimum value ˜w*.

8. A filter coefficient optimization method including an optimization step in which a filter coefficient optimization apparatus calculates an optimum value w* of a filter coefficient w={w.sub.1, . . . , w.sub.F} (w.sub.f (f=1, . . . , F, F is an integer equal to or more than 1) is a filter coefficient of a frequency bin f) of a beamformer that emphasizes sound (hereinafter referred to as target sound) from D sound sources (hereinafter referred to as a sound source 1, . . . , a sound source D), D being an integer equal to or more than 1, R.sub.f(f=1, . . . , F) being a spatial correlation matrix for sound other than the target sound relevant to the frequency bin f, L.sub.MV_f(w.sub.f)=w.sub.f.sup.HR.sub.fw.sub.f(f=1, . . . , F) being a cost function relevant to a filter coefficient w.sub.f, the optimization step being a step of calculating the optimum value w* based on an optimization problem min.sub.w_1, . . . , W_FΣ.sub.f=1.sup.FL.sub.MV_f(w.sub.f) relevant to the filter coefficient w under a predetermined constraint condition, the predetermined constraint condition not including a constraint relevant to a phase of the filter coefficient w.sub.f (f=1, . . . , F).

9. A latent variable optimization method including an optimization step in which a latent variable optimization apparatus calculates an optimum value ˜w* of a latent variable ˜w based on an optimization problem min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.DL.sub.d(˜w)) relevant to the latent variable ˜w, L.sub.convex being a strongly convex function relevant to the latent variable ˜w, L.sub.d (d=1, . . . , D, D is an integer equal to or more than 1) being a function relevant to the latent variable ˜w, C being an integer equal to or more than 1, S.sub.d,1, . . . , S.sub.d,C(d=1, . . . , D) being a region that is obtained by dividing a domain of the function L.sub.d into C closed convex sets, ∧.sub.d,c(d=1, . . . , D, c=1, . . . , C) being a convex function that is defined on the region S.sub.d,c and that approximates the function L.sub.d, ca (d=1, D) being a discrete variable that has a value of 1, C, the optimization step being a step of calculating the optimum value ˜w* by solving an optimization problem min.sub.c_1, . . . , c_D(min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d(˜w))) relevant to the latent variable ˜w and the discrete variable c.sub.1, . . . , C.sub.D instead of solving the optimization problem min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.DL.sub.d(˜w)).

10. A non-transitory computer-readable recording medium storing a program that causes a computer to function as the filter coefficient optimization apparatus according to claim 1.

11. A non-transitory computer-readable recording medium storing a program that causes a computer to function as the latent variable optimization apparatus according to claim 6.

Description

BRIEF DESCRIPTION OF DRAWINGS

[0032] FIG. 1 is a diagram showing a latent variable optimization algorithm.

[0033] FIG. 2A is a diagram showing a manner of the approximation by a piecewise convex function.

[0034] FIG. 2B is a diagram showing a manner of the approximation by the piecewise convex function.

[0035] FIG. 2C is a diagram showing a manner of the approximation by the piecewise convex function.

[0036] FIG. 2D is a diagram showing a manner of the approximation by the piecewise convex function.

[0037] FIG. 3 is a diagram showing a filter coefficient optimization algorithm.

[0038] FIG. 4 is a block diagram showing the configuration of a filter coefficient optimization apparatus 100 (latent variable optimization apparatus 100).

[0039] FIG. 5 a flowchart showing the behavior of the filter coefficient optimization apparatus 100 (latent variable optimization apparatus 100).

[0040] FIG. 6 is a block diagram showing the configuration of an optimization unit 120.

[0041] FIG. 7 is a flowchart showing the behavior of the optimization unit 120.

[0042] FIG. 8 is a diagram showing an example of the functional configuration of a computer that realizes apparatuses in embodiments of the present invention.

DESCRIPTION OF EMBODIMENTS

[0043] Embodiments of the present invention will be described below in detail. Component units having identical functions are denoted by identical numerals, and repetitive descriptions are omitted.

[0044] Before the description of the embodiments, the notation method in the specification will be described.

[0045] “_” (underscore) indicates an inferior subscript. For example, “x.sup.y_z” shows that “y.sub.z” is a superscript for “x”, and “x.sub.y_z” shows that “y.sub.z” is an inferior subscript for “x”.

[0046] Further, for a certain character “x”, superscripts “∧” and “˜” for “∧x” and “˜x” should be originally put just above “x”, but “∧x” and “˜x” are shown because of the constraint about the notation in the specification.

TECHNICAL BACKGROUND

[0047] First, a method of transforming a non-convex optimization problem into a convex optimization problem equivalent to the non-convex optimization problem and a method of solving the convex optimization problem obtained by the transformation will be described. Next, an example in which the method is applied to a non-convex optimization problem obtained by relaxing the constraint condition in Expression (3) will be described. Finally, an application example other than the sound source emphasis will be described.

[0048] «Transformation into Convex Optimization Problem Equivalent to Non-Convex Optimization Problem and Solution Method»

[0049] Here, a method for transforming the non-convex optimization problem into the convex optimization problem equivalent to the non-convex optimization problem and a method for solving the convex optimization problem obtained by the transformation will be described. An optimization problem relevant to a latent variable ˜w that is defined by the following expression will be discussed below.

[00004] [ Math . 7 ] min w ~ ( L convex ( w ~ ) + .Math. d = 1 D L d ( w ~ ) ) ( 7 )

[0050] Here, L.sub.convex is a strongly convex function relevant to the latent variable ˜w, and L.sub.d (d=1, . . . , D, D is an integer equal to or more than 1) is a function relevant to the latent variable ˜w. That is, L.sub.d (d=1, . . . , D) does not always need to be a convex function.

[0051] Generally, the optimization problem in Expression (7) is an optimization problem in which the cost function is a non-convex function, that is, a non-convex optimization problem. The non-convex optimization problem is a difficult problem as described above, and therefore, is intended to result in a convex optimization problem to be solved more easily, by introducing a certain kind of approximation. Hence, the function L.sub.d(˜w) (d=1, . . . , D) is intended to be approximated by a piecewise convex function constituted by a plurality of convex functions.

[0052] The definition of the piecewise convex function will be described below. For the function L.sub.d(˜w) (d=1, . . . , D) to be approximated, the domain is divided into regions S.sub.d,1, . . . , S.sub.d,C that are C closed convex sets. Then, a function ∧.sub.d,c (c=1, . . . , C) that is defined for each of the regions S.sub.d,1, . . . , S.sub.d,c is introduced. The newly introduced function ∧.sub.d,c is a convex function on the region S.sub.d,c, and is a function for approximating the function L.sub.d on the region S.sub.d,c. In the case where the function L.sub.d is a convex function on the region S.sub.d,c, ∧.sub.d,c=L.sub.d may be adopted on the region S.sub.d,c. Thereby, the function L.sub.d(˜w) can be approximately expressed by the piecewise convex function ∧.sub.d,c (c=1, . . . , C). Generally, as the value (that is, the number into which the domain of the function L.sub.d is divided) of C is larger, the approximation can be performed by a more accurate piecewise convex function.

[0053] However, when the approximation is used, a discrete variable representing a region to which the optimum value as the solution of the optimization problem belongs is newly added as an optimized object, in addition to the latent variable that is an optimized object in the optimization problem in Expression (7), so that the number of variables to be optimized increases. However, when the discrete variable is fixed, for the latent variable, the optimization problem results in the convex optimization (instead of the non-convex optimization), and therefore can be solved relatively easily. This will be specifically described below. The optimization problem that is formulated using the approximation is expressed by the following expression, with c.sub.d (d=1, . . . , D) as a discrete variable that has a value of 1, . . . , C.

[00005] [ Math . 8 ] min w ~ ( L convex ( w ~ ) + .Math. d = 1 D min c d Λ d , c d ( w ~ ) ) ( 8 )

[0054] Expression (8) is equivalent to the following expression.

[00006] [ Math . 9 ] min c 1 , .Math. , c D ( min w ~ ( L convex ( w ~ ) + .Math. d = 1 D Λ d , c d ( w ~ ) ) ) ( 9 )

[0055] In Expression (9), min.sub.˜w (L.sub.convex(˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d(˜w)) is a convex optimization problem relevant to the latent variable ˜w, and can be solved relatively easily. The procedure will be described below. First, the convex optimization problem Min.sub.˜w (L.sub.convex (˜W)+Σ.sub.d=1.sup.D∧.sub.d,c_d (˜w)) is solved for all values that the discrete variable (c.sub.1, . . . , c.sub.D) can have. Thereby, the solution of the convex optimization problem min.sub.˜w (L.sub.convex (˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d (˜w)) is evaluated for all values that the C.sup.D discrete variables (c.sub.1, . . . , C.sub.D) can have. Then, among the obtained solutions of the convex optimization problem, a solution that minimizes the value the cost function L.sub.convex(˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d(˜w) is adopted as the optimum value. Thereby, the optimization problem in Expression (9) can be solved. The procedure of the solution method is illustrated in FIG. 1.

[0056] The non-convex optimization problem in Expression (7) can be transformed into the convex optimization problem in Expression (9) that is equivalent to the non-convex optimization problem in Expression (7), and the convex optimization problem in Expression (9) can be solved by the latent variable optimization algorithm in FIG. 1.

[0057] <<Application Example>>

[0058] Here, an example in which the above-described versatile scheme of evaluating the optimum value after transforming the non-convex optimization problem into the convex optimization problem is applied to the non-convex optimization problem obtained by relaxing the constraint condition in Expression (3) will be described.

[0059] As described above, in the related art in Non Patent Literature 1, Expression (3) that is an equality constraint is imposed for many objects, and therefore, there is a fear that an appropriate filter coefficient cannot be obtained. Hence, it is intended to use a softer constraint condition that is suitable for a real situation. Specifically, it is intended to use a constraint condition (that is, a constraint condition in which there is no constraint relevant to the phase) in which a constraint is imposed for only the amplitude of the response of the beamformer, instead of the constraint condition in Expression (3). For example, the following expression can be used.

[0060] [Math. 10]


|w.sub.f.sup.Ha.sub.f,d|=1  (10)

[0061] Further, as another example, the following expression can be used.

[0062] [Math. 11]


|w.sub.f.sup.Ha.sub.f,d|≥1  (11)

[0063] The constraint condition in Expression (10) and the constraint condition in Expression (11) express the constraint that the amplitude of the response of the beamformer is a constant value (specifically, 1) and the constraint that the amplitude of the response of the beamformer only needs to be equal to or more than a constant value (specifically, 1), respectively. Each of the constraint condition in Expression (10) and the constraint condition in Expression (11) is mathematically classified into a non-convex constraint.

[0064] An optimization problem in which the constraint condition is Expression (11) will be discussed below. The constraint condition in Expression (11) shows that the absolute value of the complex number w.sub.f.sup.Ha.sub.f,d is equal to or more than 1. This means that the complex number w.sub.f.sup.Ha.sub.f,d needs to be geometrically positioned on a unit circle or outside the unit circle in the complex plane. Hence, first, the complex plane is equally divided into C sectors that are around the origin. The C sectors correspond to the C regions described above. Then, on the border or inside of each sector, Expression (11) that is the original constraint is approximated by C convex functions.

[0065] This will be specifically described below. The discrete variable c.sub.f,d is adopted as a variable that has a value of 1, . . . , C, for the frequency bin f (f=1, . . . , F) and the sound source d (d=1, . . . , D). Further, γ.sub.f,d=w.sub.f.sup.Ha.sub.f,d is satisfied. A convex function ∧.sub.(f,d),c_f,d(γ.sub.f,d) (C.sub.f,d=1, . . . , C) that is defined for the frequency bin f (f=1, . . . , F) and the sound source d (d=1, . . . , D) is defined such that the values of the complex number γ.sub.f,d are restricted inside the sectors around the origin at a central angle 2n/C on the complex plane and in a range in which |γ.sub.f,d|≥1 is met.

[0066] For example, the function ∧.sub.(f,d),c_f,d may be a function expressed by the following expression.

[00007] [ Math . 12 ] Λ ( f , d ) , c f , d ( γ f , d ) := { 0 ( R ( γ f , d e - 2 π j ( c f , d + 1 ) / 2 C ) 1 , 2 π c f , d C ∠γ f , d 2 π ( c f , d + 1 ) C ) ( otherwise ) ( 12 )

[0067] Here, R(z) represents the real part of a complex number z.

[0068] Further, Expression (11) is approximated by a piecewise convex function using C convex functions ∧.sub.(f,d),c_f,d (γ.sub.f,d) (C.sub.f,d=1, . . . , C).

[0069] FIG. 2A, FIG. 2B, FIG. 2C and FIG. 2D are diagrams showing manners in which Expression (11) is approximated by the C convex functions ∧.sub.(f,d),c_f,d(γ.sub.f,d). FIG. 2A illustrates the constraint condition in expression (11) on a complex plane, and shows an approximated object. FIG. 2B illustrates an example of the convex function ∧.sub.(f,d),c_f,d(γ.sub.f,d) introduced for the approximation. FIG. 2C and FIG. 2D illustrate minimum values Min.sub.c_f,d=1, . . . ,C∧.sub.(f,d),c_f,d(γ.sub.f,d), in which FIG. 2C is a diagram showing the case of C=6 and FIG. 2D is a diagram showing the case of C=10.

[0070] When the value of C is large, the approximation can be performed more accurately, but in the case of solving the optimization problem using the algorithm in FIG. 1, it is necessary to examine all combinations of the discrete variables, so that the calculation amount increases.

[0071] Thus, the filter coefficient optimization problem in which the constraint condition is Expression (11) results in a convex optimization problem in the following expression.

[00008] [ Math . 13 ] min { c f , w f } f = 1 F ( .Math. f = 1 F L MV f ( w f ) + .Math. f = 1 F .Math. d = 1 D Λ ( f , d ) , c f , d ( w f H a f , d ) ) ( 13 )

[0072] Here, c.sub.f=(c.sub.f,1, . . . , c.sub.f,D) is satisfied.

[0073] This optimization problem can be solved by applying the latent variable optimization algorithm in FIG. 1. An algorithm for solving the optimization problem is shown in FIG. 3. That is, FIG. 3 shows a filter coefficient optimization algorithm that is obtained based on the latent variable optimization algorithm in FIG. 1.

[0074] <<Application to Local Reproduction System>>

[0075] Another application example will be described. Specifically, a local reproduction system using many speakers will be described.

[0076] Suppose that a local reproduction system in which there are K omnidirectional speakers in a space and in which among N+M sound receiving points, sound is reproduced at the N points in the first part and sound is not leaked at the M points in the second part is configured. Therefore, a signal process of convoluting a linear filter in a 1 ch sound source and reproducing sound from each speaker is performed.

[0077] Similarly to the above description, the time-frequency region will be discussed. As for the N points where sound is reproduced, an array manifold vector from the K omnidirectional speakers to a point i (i=1, N) in the frequency bin f is shown as a.sub.f,i∈C.sup.K. Further, as for the M points where sound is not leaked, an array manifold vector from the K omnidirectional speakers to a point j (j=1, . . . , M) in the frequency bin f is shown as b.sub.f,i∈C.sup.K. Further, a filter coefficient to be designed is shown as w.sub.f (f=1, . . . , F).

[0078] As for the point i (i=1, N) where sound is reproduced, it is desirable that the amplitude of the response w.sub.f.sup.Ha.sub.f,i in the frequency bin f at the point i is equal to or more than a constant value. On the other hand, as for the point j (j=1, M) where sound is expected not to be leaked, it is desirable that the amplitude of the response w.sub.f.sup.Hb.sub.f,j in the frequency bin f at the point j is as small as possible. Accordingly, the optimization problem of the filter coefficient is formulated by the following expression.

[00009] [ Math . 14 ] min w 1 , .Math. , w F .Math. f = 1 F .Math. j = 1 M .Math. "\[LeftBracketingBar]" w f H b f , j .Math. "\[RightBracketingBar]" 2 s . t . .Math. "\[LeftBracketingBar]" w f H a f , i .Math. "\[RightBracketingBar]" 1 ( f = 1 , .Math. , F , i = 1 , .Math. , N ) ( 14 )

[0079] The optimization problem in Expression (14) can be solved by the same algorithm as the algorithm in FIG. 3, and therefore, a desired local reproduction system can be designed.

First Embodiment

[0080] From a signal (observation signal) resulting from observing sound (hereinafter referred to as target sound) from D sound sources (hereinafter referred to as a sound source 1, . . . , a sound source D), a filter coefficient optimization apparatus 100 calculates the optimum value w* of the filter coefficient w={w.sub.1, . . . , w.sub.F} of the beamformer that emphasizes the target sound, using a microphone array constituted by M microphone elements. Here, M is an integer equal to or more than 1. D is an integer equal to or more than 1. Further, w.sub.f (f=1, . . . , F, F is an integer equal to or more than 1) is the filter coefficient of the frequency bin f. The observation signal is an input data that is used for the optimization of the filter coefficient, and therefore, the observation signal is referred to as optimization data, hereinafter.

[0081] The filter coefficient optimization apparatus 100 will be described below with reference to FIG. 4 and FIG. 5. FIG. 4 is a block diagram showing the configuration of the filter coefficient optimization apparatus 100. FIG. 5 is a flowchart showing the behavior of the filter coefficient optimization apparatus 100. As shown in FIG. 4, the filter coefficient optimization apparatus 100 includes a setup data calculation unit 110, an optimization unit 120, and a recording unit 190. The recording unit 190 is a component unit that appropriately records the information necessary for the processing in the filter coefficient optimization apparatus 100. For example, the recording unit 190 records the filter coefficient that is an optimized object.

[0082] The behavior of the filter coefficient optimization apparatus 100 will be described with FIG. 5.

[0083] In S110, the setup data calculation unit 110 calculates setup data that is used at the time of the optimization of the filter coefficient w, using the optimization data. In the case of using the cost function for optimizing the filter coefficient w, examples of the setup data include a spatial correlation matrix R.sub.f (f=1, . . . , F) for sound other than the target sound relevant to the frequency bin f and the array manifold vector a.sub.f,d (f=1, . . . , F, d=1, . . . , D) in the frequency bin f corresponding to a sound wave as a plane wave that comes from the angular direction θ.sub.d (d=1, . . . , D) in which the sound source d exists obtained based on the observation signal.

[0084] In S120, the optimization unit 120 calculates the optimum value w* of the filter coefficient w, using the setup data generated in S110. For example, the optimization unit 120 can calculate the optimum value w* based on the optimization problem min.sub.w_1, . . . ,.sub.w_FΣ.sub.f=1.sup.FL.sub.MV_f(w.sub.f) relevant to the filter coefficient w under the constraint condition that the constraint relevant to the phase of the filter coefficient w.sub.f (f=1, F) is not included. Here, L.sub.MV_f(w.sub.f)=w.sub.f.sup.HR.sub.fw.sub.f (f=1, F) is a cost function relevant to the filter coefficient w.sub.f. Further, Σ.sub.f=1.sup.FL.sub.MV_f(w.sub.f) is referred to as a cost function relevant to the filter coefficient w.

[0085] An example of the constraint condition that the constraint relevant to the phase of the filter coefficient w.sub.f (f=1, F) is not included is expressed by the following expression.

[0086] [Math. 15]


|W.sub.f.sup.Ha.sub.f,d|=1

[0087] (f=1, F, d=1, . . . ,D)

[0088] Further, another example of the constraint condition is expressed by the following expression.

[0089] [Math. 16]


|w.sub.f.sup.Ha.sub.f,d|≥1 . . . (*)

(f=1, F, d=1, D)

[0090] The optimization unit 120 may calculates the optimum value w*, by solving an optimization problem min.sub.{c_f,w_f} (Σ.sub.f=1.sup.FL.sub.MV_f (w.sub.f)+Σ.sub.f=1.sup.FΣ.sub.d=1.sup.D∧.sub.(f,d),c_f,d(w.sub.f.sup.Ha.sub.f,d)) relevant to the filter coefficient w and the discrete variable c.sub.1, . . . , c.sub.F instead of solving the optimization problem min.sub.w_1, . . . , W_FΣ.sub.f=1.sup.FL.sub.MV_f(w.sub.f) under the constraint condition (*). Here, C is an integer equal to or more than 1, c.sub.f,d (f=1, . . . , F, d=1, . . . , D) is a discrete variable that has a value of 1, . . . , C, c.sub.f=(c.sub.f,1, c.sub.f,D) (f=1, . . . , F) is a discrete variable that is defined by the discrete variable c.sub.f,1, . . . , c.sub.f,D, and a function ∧.sub.(f,d),c_f,d (f=1, F, d=1, D) is a function relevant to a variable γ.sub.f,d that is defined by the following expression (γ.sub.f,d=w.sub.f.sup.Ha.sub.f,d).

[00010] [ math . 17 ] Λ ( f , d ) , c f , d ( γ f , d ) = { 0 ( R ( γ f , d e - 2 π j ( c f , d + 1 ) / 2 C ) 1 , 2 π c f , d C ∠γ f , d 2 π ( c f , d + 1 ) C ) ( otherwise )

[0091] The optimization unit 120 for solving the optimization problem min.sub.{c_f,w_f} (Σ.sub.f=1.sup.FL.sub.MV_f (w.sub.f)+Σ.sub.f=1.sup.FΣ.sub.d=1.sup.D∧.sub.(f,d),c_f,d (w.sub.f.sup.Ha.sub.f,d)) will be described below with reference with FIG. 6 and FIG. 7. FIG. 6 is a block diagram showing the configuration of the optimization unit 120. FIG. 7 is a flowchart showing the behavior of the optimization unit 120. As shown in FIG. 6, the optimization unit 120 includes a candidate calculation unit 122 and an optimum value determination unit 123.

[0092] The behavior of the optimization unit 120 will be described with FIG. 7.

[0093] In S122, the candidate calculation unit 122 calculates a candidate W.sub.f.sup.candidate[(c.sub.f,1, . . . , C.sub.fjp)] of the optimum value of the filter coefficient w.sub.f for all values that the discrete variable (c.sub.f,1, . . . , c.sub.f,D) can have, for each frequency bin f, by the following expression.

[00011] [ Math . 18 ] w f candidate [ ( c f , 1 , .Math. , c f , D ) ] arg min w f ( L MV f ( w f ) + .Math. d = 1 D Λ ( f , d ) , c f , d ( w f H a f , d ) )

[0094] In S123, the optimum value determination unit 123 adopts a candidate that is of the candidate w.sub.f candidate r c.sub.f,D)] calculated in S122 and that minimizes the value of the cost function L.sub.MV_f (w.sub.f)+Σ.sub.d=1.sup.D∧.sub.(f,d),c_f,d(w.sub.t.sup.Ha.sub.f,d) as the optimum value W.sub.f*, for each frequency bin f, and obtains the optimum value w* from w*={w.sub.1*, . . . , w.sub.F*}.

[0095] According to the embodiment of the present invention, it is possible to optimize the filter coefficient by solving the convex optimization problem equivalent to the non-convex optimization problem instead of solving the non-convex optimization problem.

Second Embodiment

[0096] Here, a general embodiment for solving the convex optimization problem equivalent to the non-convex optimization problem will be described.

[0097] A latent variable optimization apparatus 100 calculates an optimum value ˜w* of a latent variable ˜w from the optimization data. The optimization data is input data that is used for the optimization of the latent variable, or is a combination of input data and output data that are used for the optimization of the latent variable.

[0098] The latent variable optimization apparatus 100 calculates the optimum value ˜w* based on an optimization problem min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.pL.sub.d(˜w)) (L.sub.convex is a strongly convex function relevant to the latent variable ˜w, and L.sub.d (d=1, . . . , D, D is an integer equal to or more than 1) is a function relevant to the latent variable ˜w) relevant to the latent variable ˜w. For example, the latent variable optimization apparatus 100 calculates the optimum value ˜w* by solving a optimization problem min.sub.c_1, . . . , c_D(min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d(˜w))) relevant to the latent variable ˜w and the discrete variable c.sub.1, . . . , C.sub.D instead of solving the optimization problem min.sub.˜w(L.sub.convex(˜w)+Σ.sub.d=1.sup.DL.sub.d(˜w)). Here, C is an integer equal to or more than 1, S.sub.d,1, . . . , S.sub.d,C (d=1, . . . , D) is a region that is obtained by dividing a domain of the function L.sub.d into C closed convex sets, and a function ∧.sub.d,c (d=1, . . . , D, c=1, . . . , C) is a convex function that is defined on the region S.sub.d,c and that approximates the function L.sub.d. Further, a variable c.sub.d (d=1, . . . , D) is a discrete variable that has a value of 1, . . . , C.

[0099] The latent variable optimization apparatus 100 will be described below with reference to FIG. 4 and FIG. 5. FIG. 4 is a block diagram showing the configuration of the latent variable optimization apparatus 100. FIG. 5 is a flowchart showing the behavior of the latent variable optimization apparatus 100. As shown in FIG. 4, the latent variable optimization apparatus 100 includes a setup data calculation unit 110, an optimization unit 120 and a recording unit 190. The recording unit 190 is a component unit that appropriately records the information necessary for the processing in the latent variable optimization apparatus 100. For example, the recording unit 190 records the latent variable that is an optimized object.

[0100] The behavior of the latent variable optimization apparatus 100 will be described with FIG. 5.

[0101] In S110, the setup data calculation unit 110 calculates setup data that is used at the time of the optimization of the latent variable ˜w, using the optimization data. For example, the setup data is each parameter that is used in the optimization problem min.sub.c_1, . . . , c_D (min.sub.˜w(L.sub.convex (˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d (˜w))).

[0102] In S120, the optimization unit 120 calculates the optimization value ˜w* of the latent variable ˜w, using the setup data generated in S110.

[0103] The optimization unit 120 will be described below with reference to FIG. 6 and FIG. 7. FIG. 6 is a block diagram showing the configuration of the optimization unit 120. FIG. 7 is a flowchart showing the behavior of the optimization unit 120. As shown in FIG. 6, the optimization unit 120 includes a candidate calculation unit 122 and an optimum value determination unit 123.

[0104] The behavior of the optimization unit 120 will be described with FIG. 7.

[0105] In S122, the candidate calculation unit 122 calculates the candidate ˜w.sup.candidate [(c.sub.1, . . . , c.sub.D)] of the optimum value of the latent variable ˜w, for all values that the discrete variable (c.sub.1, . . . , c.sub.D) can have, by the following expression.

[00012] [ Math . 19 ] w ~ candidate [ ( c 1 , .Math. , c D ) ] arg min w ~ ( L convex ( w ~ ) + .Math. d = 1 D Λ d , c d ( w ~ ) )

[0106] In S123, the optimum value determination unit 123 adopts a candidate that is of the candidate ˜w.sup.candidate[(c.sub.1, . . . , c.sub.D)] calculated in S122 and that minimizes the value of the cost function L.sub.convex(˜w)+Σ.sub.d=1.sup.D∧.sub.d,c_d(˜w), as the optimum value ˜w*.

[0107] According to the embodiment of the present invention, it is possible to optimize the latent variable by solving the convex optimization problem equivalent to the non-convex optimization problem instead of solving the non-convex optimization problem.

Third Embodiment

[0108] A filter coefficient optimization apparatus 100 calculates the optimum value w* of the filter coefficient w={w.sub.1, . . . , W.sub.F} of a local reproduction system that is configured using K omnidirectional speakers, that reproduces sound at N points of N+M preset points, and that does not leak sound at M points. Here, K is an integer equal to or more than 1. N and M are integers equal to or more than 1. Further, w.sub.f (f=1, . . . , F, F is an integer equal to or more than 1) is the filter coefficient of the frequency bin f. The optimization data is input data that is used for the optimization of the latent variable, or is a combination of input data and output data that are used for the optimization of the latent variable.

[0109] The filter coefficient optimization apparatus 100 will be described below with reference to FIG. 4 and FIG. 5. FIG. 4 is a block diagram showing the configuration of the filter coefficient optimization apparatus 100. FIG. 5 is a flowchart showing the behavior of the filter coefficient optimization apparatus 100. As shown in FIG. 4, the filter coefficient optimization apparatus 100 includes a setup data calculation unit 110, an optimization unit 120 and a recording unit 190. The recording unit 190 is a component unit that appropriately records the information necessary for the processing in the filter coefficient optimization apparatus 100. For example, the recording unit 190 records the filter coefficient that is an optimized object.

[0110] The behavior of the filter coefficient optimization apparatus 100 will be described with FIG. 5.

[0111] In S110, the setup data calculation unit 110 calculates setup data that is used at the time of the optimization of the filter coefficient w, using the optimization data. In the case of using the cost function for optimizing the filter coefficient w, examples of the setup data include an array manifold vector a.sub.f,1 (f=1, . . . , F, i=1, . . . , N) from the K omnidirectional speakers to the point i (i=1, . . . , N) in the frequency bin f and an array manifold vector b.sub.f,1 (f=1, . . . , F, j=1, . . . , M) from the K omnidirectional speakers to the point j (j=1, . . . , M) in the frequency bin f.

[0112] In S120, the optimization unit 120 calculates the optimum value w* of the filter coefficient w, using the setup data generated in S110. For example, the optimization unit 120 can calculate the optimum value w*, based on an optimization problem min.sub.w_1, . . . ,w_FΣ.sub.f=1.sup.FΣ.sub.j=1.sup.M|w.sub.f.sup.Hb.sub.f,j|.sup.2 relevant to the filter coefficient w under the constraint condition that the constraint relevant to the phase of the filter coefficient w.sub.f (f=1, . . . , F) is not included. Here, Σ.sub.f=1.sup.F|Σ.sub.j=1.sup.M|w.sub.f.sup.Hb.sub.f,j|.sup.2 is referred to as a cost function relevant to the filter coefficient w.

[0113] An example of the constraint condition that the constraint relevant to the phase of the filter coefficient w.sub.f (f=1, . . . , F) is not included is expressed by the following expression.

[0114] [Math. 20]


|w.sub.f.sup.Ha.sub.f,i|≥1 . . . (*)

[0115] (f=1, . . . , F, i=1, . . . , N)

[0116] The optimization unit 120 may calculate the optimum value w*, by solving an optimization problem min.sub.{c_f,w_f}(Σ.sub.f=1.sup.FΣ.sub.j=1.sup.M|w.sub.f.sup.Hb.sub.f,j|.sup.2+Σ.sub.f=1.sup.FΣ.sub.i=1.sup.N∧.sub.(f,i),c_f,i(w.sub.f.sup.Ha.sub.f,i)) relevant to the filter coefficient w and the discrete variable c.sub.1, . . . , c.sub.F instead of solving the optimization problem min.sub.w_1, . . . ,w_FΣ.sub.f=1.sup.FΣ.sub.j=1.sup.M|w.sub.f.sup.Hb.sub.f,j|.sup.2 under the constraint condition (*). Here, C is an integer equal to or more than 1, c.sub.f,i (f=1, . . . , F, i=1, . . . , N) is a discrete variable that has a value of 1, . . . , C, c.sub.f=(c.sub.f,1, . . . , c.sub.f,N) (f=1, . . . , F) is a discrete variable that is defined by the discrete variable C.sub.f,1, . . . , c.sub.f,N, and a function ∧.sub.(f,i),c_f,i (f=1, . . . , F, i=1, . . . , N) is a function relevant to a variable γ.sub.f,i that is defined by the following expression (γ.sub.f,1=w.sub.f.sup.Ha.sub.f,i).

[00013] [ Math . 21 ] Λ ( f , i ) , c f , i ( γ f , i ) = { 0 ( R ( γ f , i e - 2 π f ( c f , i + 1 ) / 2 C ) 1 , 2 π c f , i C ∠γ f , i 2 π ( c f , i + 1 ) C ) ( otherwise )

[0117] The optimization unit 120 for solving the optimization problem min.sub.{c_f,w_f}(Σ.sub.f=1.sup.FΣ.sub.j=1.sup.M|w.sub.f.sup.Hb.sub.f,j|.sup.2+Σ.sub.f=1.sup.FΣ.sub.i=1.sup.N∧.sub.(f,i),c_f,i(w.sub.f.sup.Ha.sub.f,i)) will be described below with reference to FIG. 6 and FIG. 7. FIG. 6 is a block diagram showing the configuration of the optimization unit 120. FIG. 7 is a flowchart showing the behavior of the optimization unit 120. As shown in FIG. 6, the optimization unit 120 includes a candidate calculation unit 122 and an optimum value determination unit 123.

[0118] The behavior of the optimization unit 120 will be described with FIG. 7.

[0119] In S122, the candidate calculation unit 122 calculates a candidate w.sub.f.sup.candidate[(c.sub.f,1, . . . , C.sub.f,N)] of the optimum value of the filter coefficient w.sub.f for all values that the discrete variable (c.sub.f,1, . . . , c.sub.f,N) can have, for each frequency bin f, by the following expression.

[00014] [ Math . 22 ] w f candidate [ ( c f , 1 , .Math. , c f , N ) ] arg min w f ( .Math. f = 1 M .Math. "\[LeftBracketingBar]" w f H b f , j .Math. "\[RightBracketingBar]" 2 + .Math. i = 1 N Λ ( f , i ) , c f , i ( w f H a f , i ) )

[0120] In S123, the optimum value determination unit 123 adopts a candidate that is of the candidate w.sub.f.sup.candidate[(c.sub.f,1, . . . , c.sub.f,N)] calculated in S122 and that minimizes the value of the cost function Σ.sub.j=1.sup.M|w.sub.f.sup.Hb.sub.f,j|.sup.2+Σ.sub.i=1.sup.N∧.sub.(f,i),c_f,i(w.sub.f.sup.Ha.sub.f,i), as the optimum value w.sub.t.*, for each frequency bin f, and obtains the optimum value w* from w*={w.sub.1*, . . . , W.sub.F*}.

[0121] According to the embodiment of the present invention, it is possible to optimize the filter coefficient by solving the convex optimization problem equivalent to the non-convex optimization problem instead of solving the non-convex optimization problem.

[0122] <Supplement>

[0123] FIG. 8 is a diagram showing an example of the functional configuration of a computer that realizes the apparatuses described above. The processing in the apparatuses described above can be executed when a recording unit 2020 reads programs for causing a computer to function as the apparatuses described above and a control unit 2010, an input unit 2030, an output unit 2040 and the like to behave.

[0124] For example, as a single hardware entity, the apparatus in the present invention includes an input unit that can be connected with a keyboard and the like, an output unit that can be connected with a liquid crystal display and the like, a communication unit that can be connected with a communication device (for example, a communication cable) capable of communicating with the exterior of the hardware entity, a CPU (Central Processing Unit, a cache memory, a register and the like may be included), a RAM and a ROM that are memories, an external storage device that is a hard disk, and a bus that connects the input unit, the output unit, the communication unit, the CPU, the RAM, the ROM and the external storage device such that data can be exchanged. Further, as necessary, the hardware entity may be provided with a device (drive) that can perform reading and writing for a record medium such as a CD-ROM. As a physical entity including the hardware resources, there are a general-purpose computer and the like.

[0125] In the external storage device of the hardware entity, programs necessary for realizing the above functions, data necessary in the processing of the programs, and the like are stored (for example, the program may be stored in a ROM that is a read-only storage without being limited to the external storage device). Further, data and others obtained by the processing of the programs are appropriately stored in the RAM, the external storage device or the like.

[0126] In the hardware entity, the programs stored in the external storage device (or the ROM or the like) and the data necessary for the processing of the programs are read in the memory as necessary, and are appropriately interpreted, executed or processed by the CPU. As a result, the CPU realizes predetermined functions (the above component units expressed as the . . . unit, the . . . means and the like).

[0127] The present invention is not limited to the above-described embodiments, and modifications can be appropriately made without departing from the spirit of the present invention. Further, the processes described in the above embodiments do not need to be executed in a time-series manner in the order of the descriptions, and may be executed in parallel or individually, depending on the processing capacities of the devices that execute the processes or as necessary.

[0128] In the case where the processing functions in the hardware entity (the apparatus in the present invention) described in the above embodiments are realized by a computer as described above, the processing contents of the functions to be included in the hardware entity are described by programs. Then, the programs are executed by the computer, and thereby, the processing functions in the above hardware entity are realized on the computer.

[0129] The programs describing the processing contents can be recorded in a computer-readable record medium. As the computer-readable record medium, for example, a magnetic record device, an optical disk, a magneto-optical record medium, a semiconductor memory and others may be used. Specifically, for example, a hard disk device, a flexible disk, a magnetic tape or the like can be used as the magnetic record device, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), a CD-R (Readable)/RW (ReWritable) or the like can be used as the optical disk, an MO (Magneto-Optical disc) or the like can be used as the magneto-optical record medium, and an EEP-ROM (Electronically Erasable and Programmable-Read Only Memory) or the like can be used as the semiconductor memory.

[0130] For example, the distribution of the programs is performed by sale, transfer, lending or the like of a portable record medium such as a DVD or CD-ROM in which the programs are recorded. Furthermore, the programs may be distributed by storing the programs in a storage device of a server computer and transmitting the programs from the server computer to another computer through a network.

[0131] For example, the computer that executes the programs, first, once stores the programs recorded in the portable record medium or the programs transmitted from the server computer, in its own storage device. Then, at the time of the execution of the processing, the computer reads a program stored in its own storage device, and executes a process in accordance with the read program. Further, as another form of the execution of the programs, the computer may read a program directly from the portable record medium, and may execute a process in accordance with the program. Furthermore, whenever a program is transmitted from the server computer to the computer, the computer may execute a process in accordance with the received program. Further, the above-described processes may be executed by a so-called ASP (Application Service Provider) service in which the processing functions are realized by only execution instruction and result acquisition, without the transmission of the programs from the server computer to the computer. The program in the form includes information that is supplied for the processing by an electronic computer and that is similar to the program (for example, data that is not a direct command to the computer but has a property of prescribing the processing by the computer).

[0132] In the form, the hardware entity is configured by executing predetermined programs on the computer, but at least some of the processing contents may be realized in hardware.

[0133] The above description of the embodiment of the present invention has been presented for the purpose of exemplification and description. It is not intended to be exhaustive, and it is not intended to limit the invention to the disclosed strict form. Modifications and variations can be made from the above disclosure. The embodiments are selected and expressed, such that the best exemplification of the principle of the present invention is provided and such that a person skilled in the art can use the present invention as various embodiments suitable for deliberated actual use or can use the present invention while adding various modifications. All modifications and variations fall within the scope of the present invention that is determined by the attached claims interpreted based on a range given justly, lawfully and fairly.