IP Library Granted Patent US 7,110,940
Granted Patent B2
US 7,110,940 · App. 10/284,854 · Granted Sep 19, 2006

Recursive multistage audio processing

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 7,110,940
App. No.
10/284,854
Granted
Sep 19, 2006
Kind
B2
Abstract

Efficient recursive audio processing of one or more input data streams using a multistage processor for performing one or more predetermined functions and programmable audio effects. A first stage performs a first predetermined function, such as frequency shifting function. Intermediate results are preferably mixed. The second stage applies programmable audio effects to the mixed data, such as a reverberation effect, and stores the second stage output in a destination mix bin. The second stage output is preferably transferred to a main memory accessible to a primary processor. The second stage output is directed back to the first stage of the multistage processor to perform a second predetermined function, such as three dimensional spatialization. The primary processor modifies parameters of the first predetermined function to efficiently perform dynamic operations, such as Doppler shifts and volume transitions between multiple sound sources and a mixture of those sounds as a single point source.

Claims (44)

1. A method for recursive audio processing using a multistage processor of a computing device, comprising the steps of:

(a) processing first input data with a first predetermined function of a first stage of the multistage processor, to produce an intermediate output;

(b) storing the intermediate output in a location that is accessible to a second stage of the multistage processor;

(c) processing the intermediate output with the second stage to produce a second stage output;

(d) storing the second stage output in a destination location that is accessible to a second predetermined function of the first stage of the multistage processor; and

(e) processing the second stage output with the second predetermined function of the first stage of the multistage processor, producing at least one output audio signal.

2. The method of claim 1 , wherein the first predetermined function of the first stage is a prerequisite to the second predetermined function of the first stage of the secondary processor.

3. The method of claim 1 , wherein the intermediate output has a first intermediate output component, further comprising the steps of:

(a) processing second input data with the first predetermined function of the first stage of the multistage processor, to produce a second intermediate output component; and

(b) mixing the second intermediate output component with the first intermediate output component to produce the intermediate output stored in the location that is accessible to the second stage of the multistage processor.

4. The method of claim 3 , further comprising the step of modifying a parameter of the first predetermined function after processing the first input data and the second input data with the first predetermined function.

5. The method of claim 1 , wherein the first predefined function comprises at least one of a frequency shifting function, a sample rate conversion function, an enveloping function, and a filtering function.

6. The method of claim 1 , wherein the second predefined function comprises a three-dimensional audio spatialization function.

7. The method of claim 1 , wherein the second stage operation comprises at least one of a null operation, a reverberation audio effect, an infinite impulse response audio effect, a chorus audio effect, and a flange audio effect.

8. The method of claim 1 , wherein the step of storing the second stage output comprises the steps of:

(a) storing the second stage output in a destination mix bin that is dedicated to the multistage processor;

(b) transferring the second stage output to a portion of console system memory that is accessible to a primary processor of the game console and is accessible to the multistage processor; and

(c) associating the second predetermined function of the first stage of the multistage processor with the second stage output that was transferred to the console system memory.

9. The method of claim 1 , wherein the multistage processor comprises at least one digital signal processor.

10. The method of claim 1 , further comprising the step of driving at least one sound transducer with said at least one output audio signal.

11. A memory medium having machine instructions stored thereon for carrying out the steps of claim 1 .

12. A computing device in which recursive processing is employed to produce at least one audio output signal, comprising:

(a) a primary processor;

(b) a multistage processor that is substantially independent of the primary processor, said multistage processor being programmed with machine instructions stored in a secondary memory for carrying out a plurality of functions for processing audio data;

(c) a sound transducer that is coupled in communication with the primary processor; and

(d) a primary memory in communication with the multistage processor and with the primary processor and shared by both, said primary memory storing machine instructions that cause the primary processor to carry out a plurality of functions in regard to the audio data that are distinct from the plurality of functions carried out in regard to the audio data by the multistage processor, wherein the plurality of functions carried out by the primary processor and the secondary processor include:

(i) processing first input data with a first predetermined function of a first stage of the multistage processor, to produce an intermediate output;

(ii) storing the intermediate output in a location that is accessible to a second stage of the multistage processor;

(iii) processing the intermediate output with the second stage to produce a second stage output;

(iv) storing the second stage output in a destination location that is accessible to a second predetermined function of the first stage of the multistage processor; and

(v) processing the second stage output with the second predetermined function of the first stage of the multistage processor, producing at least one output audio signal.

13. The system of claim 12 , wherein the first predetermined function of the first stage is a prerequisite to the second predetermined function of the first stage of the secondary processor.

14. The system of claim 12 , wherein the intermediate output has a first intermediate output component, and wherein the plurality of functions carried out by the primary processor and the secondary processor further include:

(a) processing second input data with the first predetermined function of the first stage of the multistage processor, to produce a second intermediate output component; and

(b) mixing the second intermediate output component with the first intermediate output component to produce the intermediate output stored in the location that is accessible to the second stage of the multistage processor.

15. The system of claim 14 , wherein the plurality of functions carried out by the primary processor and the secondary processor further include modifying a parameter of the first predetermined function after processing the first input data and the second input data with the first predetermined function.

16. The system of claim 12 , wherein the first predefined function comprises at least one of a frequency shifting function, a sample rate conversion function, an enveloping function, and a filtering function.

17. The system of claim 12 , wherein the second predefined function comprises a three-dimensional audio spatialization function.

18. The system of claim 12 , wherein the plurality of functions carried out by the primary processor and the secondary processor further include:

(a) storing the second stage output in a destination mix bin that is dedicated to the multistage processor;

(b) transferring the second stage output to a portion of console system memory that is accessible to a primary processor of the game console and is accessible to the multistage processor; and

(c) associating the second predetermined function of the first stage of the multistage processor with the second stage output that was transferred to the console system memory.

19. The system of claim 12 , wherein the multistage processor comprises at least one digital signal processor.

20. The system of claim 12 , wherein the plurality of functions carried out by the primary processor and the secondary processor further include driving at least one sound transducer with said at least one output audio signal.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2002
From: SMITH, DEREK H.; SCHMIDT, BRIAN L.; CHRYSANTHAKOPOULOS, GEORGIOS
To: MICROSOFT CORPORATION
Reel/Frame 013449/0895 →