IP Library Granted Patent US 6,917,913
Granted Patent B2
US 6,917,913 · App. 09/803,748 · Granted Jul 12, 2005

Digital filter for sub-band synthesis

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,917,913
App. No.
09/803,748
Granted
Jul 12, 2005
Kind
B2
Abstract

In a MPEG audio decoding process, an IDCT (Inverse Discrete Cosine Transform) process that generates time domain samples from frequency domain samples using a very limited number of prestored cosine coefficients is performed. Only the cosine coefficients that satisfy cos(π*(i/64)) where i=0-32 are prestored. The cosine coefficients for i=33-63 are calculated using the prestored coefficients by changing a sign of a corresponding symmetrical one of the stored coefficients, respectively. Then, sixty-four time domain samples (V i ) are generated from thirty-two frequency domain samples (S k ) according to the equation V i = ∑ k = 0 31 ⁢ cos ⁢ ( ( π / 64 ) ⁢ ( i + 16 ) ⁢ ( 2 ⁢ k + 1 ) ) × S k where i=0 to 63, using only the prestored cosine coefficients and the calculated cosine coefficients.

Claims (142)

1. In a digital filter for sub-band synthesis, a method of performing an IDCT (Inverse Discrete Cosine Transform) process that generates time domain samples (V i ) from frequency domain samples (S k ) using prestored cosine coefficients, where i and k are integer values defining columns and rows respectively of a matrix of cosine coefficients, the method comprising:

prestoring the cosine coefficients C(k−1,i) and C(k−2,i) for each column of the matrix;

prestoring an adjustment value cos(E(i)) for each column of the matrix; and

calculating the cosine coefficients for the remaining locations in the matrix using the prestored coefficients and the prestored adjustment values in accordance with the equation

C ( k,i )=2 cos( E ( i ))* C ( k− 1, i )− C ( k− 2, i ).

2. The method of claim 1 , wherein the adjustment value cos(E(i)) is calculated as cos(π/64*(i+16)*2).

3. The method of claim 1 , wherein the adjustment value cos(E(i)) is calculated as cos(π/72*(2i+19)*2).

4. The method of claim 1 , wherein the adjustment value cos(E(i)) is calculated as cos(π/24*(2i+7)*2).

5. The method of claim 1 , further comprising the step of:

generating sixty-four time domain samples (V 1 ) from thirty-two frequency domain samples (S k ) according to the equation,

V

i

=

k

=

0

31

cos

(

(

π

/

64

)

(

i

+

16

)

(

2

k

+

1

)

)

×

S

k

for i=0 to 63, using the prestored cosine coefficients and the calculated cosine coefficients.

6. The method of claim 5 , wherein 128 coefficients are prestored and 64 adjustment values are prestored.

7. The method of claim 5 , wherein the time domain samples is from an MPEG compliant audio sub-band.

8. In a digital filter for sub-band synthesis, a method of performing an IDCT (Inverse Pisorete Cosine Transform) process that generates time domain samples (V i ) from frequency domain samples (S k ) using prestored cosine coefficients, where i and k are integer values defining columns and rows respectively of a matrix of cosine coefficients, comprising the steps of:

prestoring the cosine coefficients C(k, i) and C(k−1, i) for each column at the matrix;

prestoring an adjustment value cos(E(i)) for each column of the matrix; and

calculating the cosine coefficients for the remaining rows and columns of the matrix using the prestored coefficients and the prestored adjustment values in accordance with the equation,

C ( k +1, i )=2 cos( E ( i ))* C ( k,i )− C ( k− 1, i ).

9. The method of claim 8 , further comprising the step of;

generating sixty-four samples (V i ) from thirty-two sub-band samples (S k ) according to the equation,

V

i

=

k

=

0

31

cos

(

(

π

/

64

)

(

i

+

16

)

(

2

k

+

1

)

)

×

S

k

for i=0 to 63 using the prestored cosine coefficients C(k,i) and C(k−1,i) and the cosine coefficients calculated using the adjustment value.

10. The method of claim 9 , wherein the cosine coefficients for the next iterations are precalculated using the adjustment value in parallel with the calculation of the samples (V i ).

11. The method of claim 9 , wherein a first group of the cosine coefficients and a second group of the cosine coefficients are calculated in parallel using separate processors.

12. The method of claim 11 , wherein the first group of cosine coefficients is cos(k+2,i) for k=0, 2, 4, . . . 14 and the second group of cosine coefficients is cos(k+2,i) for k=1, 3, 5, . . . 15.

13. The method of claim 8 , wherein the time domain samples is from an MPEG compliant audio sub-band.

14. The method of claim 8 , wherein the number of prestored cosine coefficients is reduced by prestoring only two columns of the cosine coefficients and one column of the adjustment values cos(E) such that the size of the prestored matrix is 3×3 and the remaining cosine coefficients are calculated.

15. The method of claim 14 , further comprising the step of:

generating sixty-four samples (V i ) from thirty-two sub-band samples (S k ) according to the equation,

V

i

=

k

=

0

31

cos

(

(

π

/

64

)

(

i

+

16

)

(

2

k

+

1

)

)

×

S

k

for i=0 to 63 using the prestored cosine coefficients and the calculated cosine coefficients.

16. A digital filter for sub-band synthesis via an IDCT process that generates time domain samples (V i ) from frequency domain samples (S k ), where i and k are integer values defining columns and rows respectively of a matrix of cosine coefficients, the digital filter comprising:

a memory for prestoring the cosine coefficients C(k−1,i) and C(k−2,i) for each column of the matrix and an adjustment value cos(E) for each column of the matrix; and

a processor for calculating the cosine coefficients for the remaining locations in the matrix using the prestored coefficients and the prestored adjustment values in accordance with the equation

C ( k,i )=2 cos( E ( i )* C ( k− 2, i )− C ( k 1,i).

17. A digital filter for sub-band synthesis via an IDCT process that generates time domain samples (V i ) from frequency domain samples (S k ), where i and k are integer values defining columns and rows respectively of a matrix of cosine coefficients, the digital filter comprising:

a memory for prestoring the cosine coefficients C(k) and C(k−1,i) for each column of the matrix and an adjustment value cos(E(i)) for column of the matrix; and

a processor for calculating the cosine coefficients for the remaining rows and columns of the matrix using the prestored coefficients and the prestored adjustment values in acoordance with the equation,

C ( k+ 1, i )=2 cos( E ( i ))* C ( k,i )− C ( k− 1, i ).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034490/0001 →
CHANGE OF NAME Recorded Oct 2, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 029216/0282 →