Method and system for two-step spreading for tonal artifact avoidance in audio coding
First Claim
1. A method of transforming a first spectrum having few non-zero values into a spectrum having a large number of non-zero values, the sparse spectrum including a number N of points lying in a plane, the method comprising:
- defining, by a processor-based device, a rotation angle for rotating successive pairs of points of the first spectrum, wherein the rotation angle is between π
/4 and π
/2, the processor-based device being executed on a computer having a non-transitory computer readable medium storing a plurality of instructions executable by one or more processors;
applying, by the processor-based device, a first rotation operation using the rotation angle on a first set of successive pairs of points, wherein members of each pair of points of the first set of successive pairs of points are separated by a first stride length; and
applying, by the processor-based device, a second rotation operation using a second rotation angle on a different set of successive pairs of points, wherein members of each pair of points of the different set of successive pairs of points are separated by a second stride length.
0 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are directed to an audio coding scheme implemented in a codec that eliminates birdie artifacts generated by transform coding methods. A frequency coefficient spreading method invertibly rotates a spectrum of coefficient values based on a defined rotation angle, The rotated spectrum is then quantized, and the rotation operation is then reversed so that a previously sparse spectrum (i.e., one with few non-zero values) becomes one that has many non-zero values. The method arranges the coefficients for a particular partition into a linear array and computes a gain factor for the partition. A rotation angle of between 0 and π/4 for successive pairs of coefficients of the linear array based on the gain factor is then derived. One or more rotation operations are then applied to successive pairs of coefficients in the linear array using a specific rotation angle and a stride length for each rotation operation.
54 Citations
22 Claims
-
1. A method of transforming a first spectrum having few non-zero values into a spectrum having a large number of non-zero values, the sparse spectrum including a number N of points lying in a plane, the method comprising:
-
defining, by a processor-based device, a rotation angle for rotating successive pairs of points of the first spectrum, wherein the rotation angle is between π
/4 and π
/2, the processor-based device being executed on a computer having a non-transitory computer readable medium storing a plurality of instructions executable by one or more processors;applying, by the processor-based device, a first rotation operation using the rotation angle on a first set of successive pairs of points, wherein members of each pair of points of the first set of successive pairs of points are separated by a first stride length; and applying, by the processor-based device, a second rotation operation using a second rotation angle on a different set of successive pairs of points, wherein members of each pair of points of the different set of successive pairs of points are separated by a second stride length. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of coding an audio signal in an audio coding system comprising a decoder circuit coupled to an encoder circuit, the method comprising:
-
grouping frequency domain coefficients generated by a transform function performed on an input audio signal into a plurality of partitions, wherein each partition spans some subset of frequencies in a band, and wherein each partition is coded by the processor-based device using a defined number of bits, and further wherein the frequency domain coefficients are coded using one or more codebooks; arranging the coefficients for a first partition into a linear array; computing a gain factor for the bits of first partition; deriving a rotation angle for successive pairs of coefficients of the linear array based on the gain factor, wherein the rotation angle is between π
/4 and π
/2; andapplying one or more rotation operations to successive pairs of coefficients in the linear array using a defined rotation angle and a defined stride length for each rotation operation of the one or more rotation operations, wherein the one or more rotation operations includes a rotation operation in which the defined stride length is a unity distance between members of the successive pairs of coefficients. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A system for coding an audio signal, comprising:
-
a first decoder component in a decoder circuit grouping frequency domain coefficients generated by a transform function performed on an input audio signal into a plurality of partitions, wherein each partition spans some subset of frequencies in a band, and wherein each partition is coded by the processor-based device using a defined number of bits, and further wherein the frequency domain coefficients are coded using one or more codebooks; a second decoder component arranging the coefficients for a first partition into a linear array, computing a gain factor for the bits of first partition; and a first coefficient spreading function executed by the decoder component and deriving a rotation angle for successive pairs of coefficients of the linear array based on the gain factor, wherein the rotation angle is between π
/4 and π
/2, and applying one or more rotation operations to successive pairs of coefficients in the linear array using a defined rotation angle and a defined stride length for each rotation operation of the one or more rotation operations, wherein the one or more rotation operations includes a rotation operation in which the defined stride length is a unity distance between members of the successive pairs of coefficients. - View Dependent Claims (19, 20, 21, 22)
-
Specification