Method and apparatus for audio matrix decoding
View Patent ↗An audio matrix decoder is provided for decoding input signals L t and R t into output signals L out , C out , S out , and R out . The decoder circuit includes a main signal path having a passive matrix decoder and a cross talk canceller configured to apply variable gain values to intermediate signals and to compute the output signals L out , C out , S out , and R out . The decoder also includes a control signal path having a passive matrix decoder and a linear equation solver. The linear equation solver is configured to compute the variable gain values based on the intermediate signals and the necessary condition that re-encoded values of the output signals L out , C out , S out , and R out are equal to the input signals L t and R t . The linear equation solver is also configured to feed the variable gain values to the cross talk canceller for use in computing the output signals.
1. An audio matrix decoder for decoding input signals L t and R t into output signals L out , C out , S out , and R out for a panning angle α, the audio matrix decoder comprising:
a passive matrix decoder module having first and second summers each having a scaling coefficient a, said passive matrix decoder module being configured to decode said input signals L t and R t into intermediate signals L, C, S, and R; and
a cross talk canceller module comprising:
a first gain element configured to apply a variable gain g l to said intermediate signal L;
a second gain element configured to apply a variable gain g c to said intermediate signal C;
a third gain element configured to apply a variable gain g s to said intermediate signal S;
a fourth gain element configured to apply a variable gain g r to said intermediate signal R;
a third summer, having a scaling coefficient p;
a fourth summer having a scaling coefficient a;
a fifth summer having said scaling coefficient a; and
a sixth summer having a scaling coefficient p, where p=1/(2a);
wherein:
g
l
=
C
a
·
L
,
g
c
=
0
,
g
s
=
R
p
·
S
,
and
g
r
=
0
for
0
≤
α
<
90.
2. The audio matrix decoder of claim 1 , wherein:
g
l
=
S
a
·
L
,
g
c
=
R
p
·
C
,
g
s
=
0
,
and
g
r
=
0
for
90
≤
α
<
180
;
g
l
=
0
,
g
c
=
L
p
·
C
,
g
s
=
0
,
and
g
r
=
S
a
·
R
for
180
≤
α
<
270
;
and
g
l
=
0
,
g
c
=
0
,
g
s
=
L
p
·
S
,
and
g
r
=
C
a
·
R
for
270
≤
α
<
360.
3. The audio matrix decoder of claim 1 , wherein an output of said passive matrix decoder module is applied as an input to said cross talk canceller module.
4. The audio matrix decoder of claim 1 , wherein p=a=0.707.
5. The audio matrix decoder of claim 1 , further comprising a look up table module configured to determine said variable gain values g l , g c , g s , and g r as a function of said intermediate signals L, C, S, and R.
6. The audio matrix decoder of claim 1 , wherein:
said first summer is configured to combine aL t with aR t to form said intermediate signal C; and
said second summer is configured to combine aL t with (−a)R t to form said intermediate signal S.
7. The audio matrix decoder of claim 1 , wherein said third, fourth, fifth, and sixth summers are each configured to combine at least one of said intermediate signals L, C, S, and R with at least one of a scaled value of g l L, g c C, g s S, and g r R.
8. The audio matrix decoder of claim 1 , wherein said third summer is configured to combine L, (−p)Sg s , and (−p)Cg c to form said output signal L out .
9. The audio matrix decoder of claim 8 , further wherein:
said fourth summer is configured to combine C, (−a)Lg l , and (−a)Rg r to form said output signal C out ;
said fifth summer is configured to combine S, (−a)Lg l , and (a)Rg r to form said output signal S out ; and
said sixth summer is configured to combine R, (−p)Cg c , and (p)Sg s to form said output signal R out .