Video game system with mixing of independent pre-encoded digital audio bitstreams
First Claim
1. A method of encoding audio, comprising:
- at an audio encoding system including one or more processors and memory, during execution of a video game by a computer system;
receiving an instruction to mix a first independent encoded audio stream with a second independent encoded audio stream, the first and second independent encoded audio streams each comprising a sequence of frames, wherein respective frames of each sequence comprise floating-point frequency samples divided into a plurality of frequency bands, the floating-point frequency samples of a respective frequency band of a respective frame of the first independent encoded audio stream being scaled by a first scale factor, the floating-point frequency samples of a respective frequency band of a respective frame of the second independent encoded audio stream being scaled by a second scale factor;
in response to the instruction to mix the first independent encoded audio stream with the second independent encoded audio stream, combining respective floating-point frequency samples of the first and second independent encoded audio streams, the combining comprising;
calculating an adjusted scale factor as a first function of a difference between the first and second scale factors;
scaling the floating-point frequency samples of the respective frequency band of the respective frame of the first independent encoded audio stream by a first ratio of the first scale factor to the adjusted scale factor;
scaling the floating-point frequency samples of the respective frequency band of the respective frame of the second independent encoded audio stream by a second ratio of the second scale factor to the adjusted scale factor; and
adding respective floating-point frequency samples of the first independent encoded audio stream, as scaled by the first ratio, to respective floating-point frequency samples of the second independent encoded audio stream, as scaled by the second ratio; and
generating an output bitstream comprising the combined respective floating-point frequency samples.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method of encoding audio includes accessing a plurality of independent audio source streams, each of which includes a sequence of source frames. Respective source frames of each sequence include respective pluralities of pulse-code modulated audio samples. Each of the plurality of independent audio source streams is separately encoded to generate a plurality of independent encoded streams, each of which corresponds to a respective independent audio source stream. The encoding includes, for respective source frames, converting respective pluralities of pulse-code modulated audio samples to respective pluralities of floating-point frequency samples that are divided into a plurality of frequency bands. An instruction to mix the plurality of independent encoded streams is received; in response, respective floating-point frequency samples of the independent encoded streams are combined. An output bitstream is generated that includes the combined respective floating-point frequency samples.
99 Citations
54 Claims
-
1. A method of encoding audio, comprising:
at an audio encoding system including one or more processors and memory, during execution of a video game by a computer system; receiving an instruction to mix a first independent encoded audio stream with a second independent encoded audio stream, the first and second independent encoded audio streams each comprising a sequence of frames, wherein respective frames of each sequence comprise floating-point frequency samples divided into a plurality of frequency bands, the floating-point frequency samples of a respective frequency band of a respective frame of the first independent encoded audio stream being scaled by a first scale factor, the floating-point frequency samples of a respective frequency band of a respective frame of the second independent encoded audio stream being scaled by a second scale factor; in response to the instruction to mix the first independent encoded audio stream with the second independent encoded audio stream, combining respective floating-point frequency samples of the first and second independent encoded audio streams, the combining comprising; calculating an adjusted scale factor as a first function of a difference between the first and second scale factors; scaling the floating-point frequency samples of the respective frequency band of the respective frame of the first independent encoded audio stream by a first ratio of the first scale factor to the adjusted scale factor; scaling the floating-point frequency samples of the respective frequency band of the respective frame of the second independent encoded audio stream by a second ratio of the second scale factor to the adjusted scale factor; and adding respective floating-point frequency samples of the first independent encoded audio stream, as scaled by the first ratio, to respective floating-point frequency samples of the second independent encoded audio stream, as scaled by the second ratio; and generating an output bitstream comprising the combined respective floating-point frequency samples. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A system for encoding audio, comprising:
-
memory; one or more processors; one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs including instructions for; receiving an instruction to mix a first independent encoded audio stream with a second independent encoded audio stream, the first and second independent encoded audio streams each comprising a sequence of frames, wherein respective frames of each sequence comprise floating-point frequency samples divided into a plurality of frequency bands, the floating-point frequency samples of a respective frequency band of a respective frame of the first independent encoded audio stream being scaled by a first scale factor, the floating-point frequency samples of a respective frequency band of a respective frame of the second independent encoded audio stream being scaled by a second scale factor; in response to the instruction to mix the first independent encoded audio stream with the second independent encoded audio stream, combining the respective floating-point frequency samples of the first and second independent encoded audio streams, the combining comprising; calculating an adjusted scale factor as a first function of a difference between the first and second scale factors; scaling the floating-point frequency samples of the respective frequency band of the respective frame of the first independent encoded audio stream by a first ratio of the first scale factor to the adjusted scale factor; scaling the floating-point frequency samples of the respective frequency band of the respective frame of the second independent encoded audio stream by a second ratio of the second scale factor to the adjusted scale factor; and adding respective floating-point frequency samples of the first independent encoded audio stream, as scaled by the first ratio, to respective floating-point frequency samples of the second independent encoded audio stream, as scaled by the second ratio; and generating an output bitstream comprising the combined respective floating-point frequency samples. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computer system, cause the computer system to:
-
receive an instruction to mix a first independent encoded audio stream with a second independent encoded audio stream, the first and second independent encoded audio streams each comprising a sequence of frames, wherein respective frames of each sequence comprise floating-point frequency samples divided into a plurality of frequency bands, the floating-point frequency samples of a respective frequency band of a respective frame of the first independent encoded audio stream being scaled by a first scale factor, the floating-point frequency samples of a respective frequency band of a respective frame of the second independent encoded audio stream being scaled by a second scale factor; in response to the instruction to mix the first independent encoded audio stream with the second independent encoded audio stream, combine the respective floating-point frequency samples of the first and second independent encoded audio streams the combining comprising; calculating an adjusted scale factor as a first function of a difference between the first and second scale factors; scaling the floating-point frequency samples of the respective frequency band of the respective frame of the first independent encoded audio stream by a first ratio of the first scale factor to the adjusted scale factor; scaling the floating-point frequency samples of the respective frequency band of the respective frame of the second independent encoded audio stream by a second ratio of the second scale factor to the adjusted scale factor; and adding respective floating-point frequency samples of the first independent encoded audio stream, as scaled by the first ratio, to respective floating-point frequency samples of the second independent encoded audio stream, as scaled by the second ratio; and generate an output bitstream comprising the combined respective floating-point frequency samples. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
Specification