IP Library › Granted Patent US 9,792,257
Granted Patent B2
US 9,792,257 · App. 15/345,074 · Granted Oct 17, 2017

Audio signal processing method and encoder

Inventors: Deming Zhang (Shenzhen, CN); Haiting Li (Beijing, CN); Anisse Taleb (Shenzhen, CN); Jianfeng Xu (Shenzhen, CN)
Assignee: Huawei Technologies Co., Ltd.
G06F17/142G06F17/141G06F17/147G10L19/022G10L19/0212
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 9,792,257
App. No.
15/345,074
Granted
Oct 17, 2017
Kind
B2
Abstract

An embodiment of the present invention discloses a data processing method, including: twiddling input data, so as to obtain twiddled data; pre-rotating the twiddled data by using a symmetric rotate factor, where the rotate factor is a·W 4L 2p+1 , p=0, . . . , L/2−1, and a is a constant; performing a Fast Fourier (Fast Fourier Transform, FFT) transform of L/2 point on the pre-rotated data, where L is the length of the input data; post-rotating the data that has undergone the FFT transform by using a symmetric rotate factor, where the rotate factor is b·W 4L 2q+1 , q=0, . . . , L/2−1, and b is a constant; and obtaining output data.

Claims (755)

1. A method for processing an audio signal, the method comprising:

obtaining, by an encoder comprising a processor, a windowed time domain data by windowing an input audio signal;

obtaining, by the encoder, a twiddled signal based on the windowed time domain data;

pre-rotating, by the encoder, the twiddled signal by using a first symmetric rotation factor to obtain a pre-rotated data, wherein the first symmetric rotation factor is a·W 4L 2p+1 , p=0, . . . , L/2−1, wherein a is a constant, wherein L is the length of the input audio signal;

performing, by the encoder, a Fast Fourier transform (FFT) of L/2 points on the pre-rotated data to obtain FFT data;

performing, by the encoder, an in-place fixed rotate compensation on the FFT data;

post-rotating, by the encoder, the data that has undergone the in-place fixed rotate compensation by using a second symmetric rotation factor to obtain a post-rotated data, wherein the second symmetric rotation factor is b·W 4L 2p+1 , q=L/2−1, and b is a constant;

quantizing, by the encoder, a signal derived from the post-rotated data to obtain a quantized signal; and

writing, by the encoder, the quantized signal into a bitstream for transmitting or storing.

2. The method according to claim 1 , wherein the in-place fixed rotate compensation is performed by multiplying a fixed rotate compensation factor with the FFT data.

3. The method according to claim 2 , wherein the fixed rotate compensation factor is

1

+

j

⁡

(

3

⁢

π

4

⁢

⁢

L

)

.

4. The method according to claim 1 , wherein the twiddled signal is obtained according to z(p)={tilde over (x)}(2p)+j·{tilde over (x)}(L−1−2p), wherein z(p) denotes the twiddled signal, {tilde over (x)}(n) denotes the windowed time domain data.

5. The method according to claim 1 , wherein W 4L 2q+1 in the first symmetric rotation factor is expressed in the following form:

W

4

⁢

L

2

⁢

p

+

1

=

cos

⁢

⁢

2

⁢

π

⁢

(

2

⁢

p

+

1

)

4

⁢

L

-

j

⁢

⁢

sin

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

.

6. The method according to claim 1 , wherein W 4L 2q+1 in the second symmetric rotation factor is expressed in the following form:

W

4

⁢

L

2

⁢

p

+

1

=

cos

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

-

j

⁢

⁢

sin

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

.

7. An encoder for processing an audio signal, the encoder comprising:

a memory for storing processor-executable instructions; and

a processor operatively coupled to the memory, the processor being configured to execute the processor-executable instructions to cause the encoder to:

obtain a windowed time domain data by windowing an input audio signal,

obtain a twiddled signal based on the windowed time domain data;

pre-rotate the twiddled signal by using a first symmetric rotation factor to obtain a pre-rotated data, wherein the first symmetric rotation factor is a·W 4L 2p+1 , p=0, . . . , L/2−1, wherein a is a constant, wherein L is the length of the input audio signal,

perform a Fast Fourier transform (FFT) of L/2 points on the pre-rotated data to obtain FFT data,

perform an in-place fixed rotate compensation on the FFT data,

post-rotate the data that has undergone the in-place fixed rotate compensation by using a second symmetric rotate factor to obtain a post-rotated data, wherein the second symmetric rotation factor is b·W 4L 2q+1 , q=0, . . . , L/2−1, and b is a constant,

quantize a signal derived from the post-rotated data to obtain a quantized signal, and

write the quantized signal into a bitstream for transmitting or storing.

8. The encoder according to claim 7 , wherein the in-place fixed rotate compensation is performed by multiplying a fixed rotate compensation factor with the FFT data.

9. The method according to claim 8 , wherein the fixed rotate compensation factor is

1

+

j

⁡

(

3

⁢

π

4

⁢

L

)

.

10. The encoder according to claim 7 , wherein the twiddled signal is obtained according to z(p)={tilde over (x)}(2p)+j·{tilde over (x)}(L−1−2p), wherein z(p) denotes the twiddled signal, {tilde over (x)}(n) denotes the windowed time domain data.

11. The encoder according to claim 7 , wherein W 4L 2q+1 in the first symmetric rotation factor is expressed in the following form:

W

4

⁢

L

2

⁢

p

+

1

=

cos

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

-

j

⁢

⁢

sin

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

.

12. The encoder according to claim 7 , wherein W 4L 2q+1 in the second symmetric rotation factor is expressed in the following form:

W

4

⁢

L

2

⁢

p

+

1

=

cos

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

-

j

⁢

⁢

sin

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

.

13. A method for processing an audio signal, the method comprising:

obtaining, by an encoder comprising a processor, a windowed time domain data by windowing an input audio signal;

obtaining, by the encoder, a twiddled signal based on the windowed time domain data;

pre-rotating, by the encoder, the twiddled signal by using a first symmetric rotation factor to obtain a pre-rotated data, wherein the first symmetric rotation factor is a·W 4L 2p+1 , p=0, . . . , L/2−1, wherein a is a constant, wherein L is the length of the input audio signal;

performing, by the encoder, a Fast Fourier transform (FFT) of L/2 points on the pre-rotated data to obtain FFT data;

performing, by the encoder, an in-place fixed rotate compensation on the FFT data;

post-rotating, by the encoder, the data that has undergone the in-place fixed rotate compensation by using a second symmetric rotation factor to obtain a post-rotated data, wherein the second symmetric rotation factor is b·W 4L 2q+1 , q=0, . . . , L/2−1, and b is a constant;

obtaining, by the encoder, a frequency domain data based on the post-rotated data;

quantizing, by the encoder, a signal derived from the frequency domain data to obtain a quantized signal; and

writing, by the encoder, the quantized signal into a bitstream for transmitting or storing.

14. The method according to claim 13 , wherein the in-place fixed rotate compensation is performed by multiplying a fixed rotate compensation factor with the FFT data.

15. The method according to claim 14 , wherein the fixed rotate compensation factor is

1

+

j

⁡

(

3

⁢

π

4

⁢

L

)

.

16. The method according to claim 13 , wherein the twiddled signal is obtained according to z(p)={tilde over (x)}(2p)+j·{tilde over (x)}(L−1−2p), wherein z(p) denotes the twiddled signal, {tilde over (x)}(n) denotes the windowed time domain data.

17. The method according to claim 13 , wherein W 4L 2q+1 in the first symmetric rotation factor is expressed in the following form:

W

4

⁢

L

2

⁢

p

+

1

=

cos

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

-

j

⁢

⁢

sin

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

.

18. The method according to claim 13 , wherein W 4L 2q+1 in the second symmetric rotation factor is expressed in the following form:

W

4

⁢

L

2

⁢

p

+

1

=

cos

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

-

j

⁢

⁢

sin

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

.

19. The method according to claim 13 , wherein the frequency domain data is obtained by

{

y

⁡

(

2

⁢

q

)

=

Re

⁢

{

Z

_

⁡

(

q

)

}

,

y

⁡

(

L

-

1

-

2

⁢

q

)

=

-

Im

(

Z

_

⁡

(

q

)

}

,

q

=

0

,

…

⁢

,

L

/

2

-

1

;

wherein y(2q) is the real parts of the post-rotated data and denote the odd number frequency bins of the frequency domain data, y(L−1−2q) is the imaginary parts of the post-rotated data and denote the even number frequency bins of the frequency domain data, and

Z

_

⁡

(

q

)

=

(

1

+

j

⁢

⁢

3

⁢

π

/

4

⁢

L

)

*

W

4

⁢

L

2

⁢

q

+

1

⁢

∑

p

=

0

L

/

2

-

1

⁢

{

z

⁡

(

p

)

*

W

4

⁢

L

2

⁢

p

+

1

}

⁢

W

L

/

2

pq

.

20. An encoder for processing an audio signal, the encoder comprising:

a memory for storing processor-executable instructions; and

a processor operatively coupled to the memory, the processor being configured to execute the processor-executable instructions to cause the encoder to:

obtain a windowed time domain data by windowing an input audio signal,

obtain a twiddled signal based on the windowed time domain data,

pre-rotate the twiddled signal by using a first symmetric rotation factor to obtain a pre-rotated data, wherein the first symmetric rotation factor is a·W 4L 2q+1 , p=0, . . . , L/2−1, wherein a is a constant, wherein L is the length of the input audio signal,

perform a Fast Fourier transform (FFT) of L/2 points on the pre-rotated data to obtain FFT data,

perform an in-place fixed rotate compensation on the FFT data,

post-rotate the data that has undergone the in-place fixed rotate compensation by using a second symmetric rotation factor to obtain a post-rotated data, wherein the second symmetric rotation factor is b·W 4L 2q+1 , q=0, . . . , L/2−1, and b is a constant,

obtain a frequency domain data based on the post-rotated data,

quantize a signal derived from the frequency domain data to obtain a quantized signal, and

write the quantized signal into a bitstream for transmitting or storing.

21. The encoder according to claim 20 , wherein the in-place fixed rotate compensation is performed by multiplying a fixed rotate compensation factor with the FFT data.

22. The encoder according to claim 21 , wherein the fixed rotate compensation factor is

1

+

j

⁡

(

3

⁢

π

4

⁢

L

)

.

23. The encoder according to claim 21 , wherein the twiddled signal is obtained according to z(p)={tilde over (x)}(2p)+j·{tilde over (x)}(L−1−2p), wherein z(p) denotes the twiddled signal, {tilde over (x)}(n) denotes the windowed time domain data.

24. The encoder according to claim 21 , wherein W 4L 2q+1 in the first symmetric rotation factor is expressed in the following form:

W

4

⁢

L

2

⁢

p

+

1

=

cos

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

-

j

⁢

⁢

sin

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

.

25. The encoder according to claim 21 , wherein W 4L 2q+1 in the second symmetric rotation factor is expressed in the following form:

W

4

⁢

L

2

⁢

p

+

1

=

cos

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

-

j

⁢

⁢

sin

⁢

⁢

2

⁢

π

⁡

(

2

⁢

p

+

1

)

4

⁢

L

.

26. The encoder according to claim 21 , wherein the frequency domain data is obtained by

{

y

⁡

(

2

⁢

q

)

=

Re

⁢

{

Z

_

⁡

(

q

)

}

,

y

⁡

(

L

-

1

-

2

⁢

q

)

=

-

Im

(

Z

_

⁡

(

q

)

}

,

q

=

0

,

…

⁢

,

L

/

2

-

1

;

wherein y(2q) is the real parts of the post-rotated data and denote the odd number frequency bins of the frequency domain data, y(L−1−2q) is the imaginary parts of the post-rotated data and denote the even number frequency bins of the frequency domain data, and

Z

_

⁡

(

q

)

=

(

1

+

j

⁢

⁢

3

⁢

π

/

4

⁢

L

)

*

W

4

⁢

L

2

⁢

q

+

1

⁢

∑

p

=

0

L

/

2

-

1

⁢

{

z

⁡

(

p

)

*

W

4

⁢

L

2

⁢

p

+

1

}

⁢

W

L

/

2

pq

.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2023
From: HUAWEI TECHNOLOGIES CO., LTD.
To: CRYSTAL CLEAR CODEC, LLC
Reel/Frame 063924/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2016
From: ZHANG, DEMING; LI, HAITING; TALEB, ANISSE; XU, JIANFENG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 040245/0081 →
Priority Claims (1)
CN 2011 1 0004032 · Jan 10, 2011 · national
Continuity (3)
Continuation 13938834 · Jul 10, 2013
Continuation PCTCN2011085197 · Dec 31, 2011
Related Publication 20170075860A1 · Mar 16, 2017