Full-band scalable audio codec
First Claim
1. A scalable audio processing method for a processing device, comprising:
- transform coding frames of input audio from a time domain into transform coefficients in a frequency domain;
allocating, for each frame, total available bits of an encoding bit rate into first and second bit allocations, the first bit allocation allocated for a first set of the transform coefficients of the frame, the second bit allocation allocated for a second set of the transform coefficients of the frame;
packetizing, for each frame, the first and second sets of the transform coefficients with the corresponding first and second bit allocations into a packet; and
transmitting the packets with the processing device.
10 Assignments
0 Petitions
Accused Products
Abstract
A scalable audio codec for a processing device determines first and second bit allocations for each frame of input audio. First bits are allocated for a first frequency band, and second bits are allocated for a second frequency band. The allocations are made on a frame-by-frame basis based on the energy ratio between the two bands. For each frame, the codec transform codes both frequency bands into two sets of transform coefficients, which are then packetized based on the bit allocations. The packets are then transmitted with the processing device. Additionally, the frequency regions of the transform coefficients can be arranged in order of importance determined by power levels and perceptual modeling. Should bit stripping occur, the decoder at a receiving device can produce audio of suitable quality given that bits have been allocated between the bands and the regions of transform coefficients have been ordered by importance.
29 Citations
43 Claims
-
1. A scalable audio processing method for a processing device, comprising:
-
transform coding frames of input audio from a time domain into transform coefficients in a frequency domain; allocating, for each frame, total available bits of an encoding bit rate into first and second bit allocations, the first bit allocation allocated for a first set of the transform coefficients of the frame, the second bit allocation allocated for a second set of the transform coefficients of the frame; packetizing, for each frame, the first and second sets of the transform coefficients with the corresponding first and second bit allocations into a packet; and transmitting the packets with the processing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A programmable storage device having program instructions stored thereon for causing a programmable control device to perform a scalable audio processing method, comprising:
-
transform coding frames of input audio from a time domain into transform coefficients in a frequency domain; allocating, for each frame, total available bits of an encoding bit rate into first and second bit allocations, the first bit allocation allocated for a first set of the transform coefficients of the frame, the second bit allocation allocated for a second set of the transform coefficients of the frame; packetizing, for each frame, the first and second sets of the transform coefficients with the corresponding first and second bit allocations into a packet; and transmitting the packets with the processing device. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A processing device, comprising:
-
a network interface; a processor communicatively coupled to the network interface and obtaining input audio, the processor configured to; transform code frames of the input audio in a time domain into transform coefficients in a frequency domain; allocate, for each frame, total available bits of an encoding bit rate into first and second bit allocations, the first bit allocation allocated for a first set of the transform coefficients of the frame, the second bit allocation allocated for a second set of the transform coefficients of the frame; packetize, for each frame, the first and second sets of the transform coefficients with the corresponding first and second bit allocations into a packet; and transmit the packets with the network interface. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. An audio processing method for a processing device, comprising:
-
receiving packets for frames of input audio, each of the packets having transform coefficients in a frequency domain; determining first and second bit allocations for the frames in each of the packets, each of the first bit allocations allocated for a first set of the transform coefficients of the frame in the packet, each of the second bit allocations allocated for a second set of the transform coefficients of the frame in the packet; inverse transform coding the first and second sets of the transform coefficients for each of the frames in the packets into output audio; determining whether bits are missing from the first and second bit allocations for each of the frames in the packets; and filling in audio into any of the bits determined missing. - View Dependent Claims (41)
-
-
42. An audio processing method for a processing device, comprising:
-
producing first versions of consecutive frames of input audio by transform coding each of the consecutive frames at a first bit rate; producing second versions of each of the consecutive frames by stripping each of the first versions to a second bit rate lower than the first bit rate; packetizing each of the first versions of the consecutive frames along with the second version of a prior one of the consecutive frames into packets; and transmitting the packets with the processing device.
-
-
43. An audio processing method for a processing device, comprising:
-
receiving packets for consecutive frames of input audio, each of the packets having a first version of one of the consecutive frames and having a second version of a prior one of the consecutive frames, each of the first versions including the one frame transform coded at a first bit rate, each of the second versions including the first version of the prior frame stripped to a second bit rate lower than the first bit rate; decoding each of the packets; detecting a packet error for one of the packets received; reproducing a missing frame for the one packet by using the second version of the missing frame for the one packet from a prior one of the packets received; and producing output audio with the first version of the frames and the reproduced missing frame.
-
Specification