Methods and devices for vector segmentation for coding
AssigneeTelefonaktiebolaget LM Ericsson (publ)
InventorsTomas Jansson Toftgård, Volodya Grancharov, Jonas Svedberg
Life of this patent
Estimating the term…
Abstract
A method for partitioning of input vectors for coding is presented. The method comprises obtaining of an input vector. The input vector is segmented, in a non-recursive manner, into an integer number, NSEG, of input vector segments. A representation of a respective relative energy difference between parts of the input vector on each side of each boundary between the input vector segments is determined, in a recursive manner. The input vector segments and the representations of the relative energy differences are provided for individual coding. Partitioning units and computer programs for partitioning of input vectors for coding, as well as positional encoders, are presented.
Claims16
An audio coding method, the method comprising:
- obtaining an input vector of coefficients originating from an audio signal;
- segmenting the input vector into an integer number (NSEG) of input vector segments according to a ratio between a total bit-budget for quantizing the input vector and a maximum number of bits allowed for quantizing a vector segment, wherein the maximum number of bits is constrained by a vector quantizer;
- determining a representation of a respective relative energy difference between parts of the input vector on each side of each boundary between the input vector segments, wherein the determining comprises:
- a) setting the input vector as an upper level input vector;
- b) splitting the upper level input vector into left and right parts, each part comprising one or more input vector segments, wherein the upper level input vector is split at the segment boundary between the left and the right part into two lower level input vectors;
- c) calculating a representation of a relative energy difference between the two lower level input vectors according to an energy ratio between the lower level input vectors;
- and
- d) repeating the steps b) and c) of splitting and calculating by re-setting the lower level input vectors as a respective upper level input vector, until all boundaries between input vector segments are provided with an associated representation of a relative energy difference;
- allocating bits for encoding the shape of each of the input vector segment and for encoding of the representations of the relative energy differences between the input vector segments, wherein bits for encoding the input vector segments are distributed between segments according to relative energy differences between parts of the input vector;
- and
- providing each the input vector segment, the representations of the relative energy differences, and allocation information to the vector quantizer for individual encoding of the input vector segments.
An audio encoder for positional encoding, the audio encoding comprising:
- an input unit configured to receive an input vector representing an audio signal;
- a partitioning unit configured to partition input vectors of coefficients originating from the audio signal for positional encoding of shapes of the input vectors;
- a vector quantizer configured to vector quantize segments of an input vector individually, wherein a maximum number of bits allowed for quantizing a vector segment is constrained by the vector quantizer;
- and
- an output unit for an encoded signal, wherein
- the partitioning unit is configured to segment the input vector into an integer number (NSEG) of input vector segments according to a ratio between a total bit-budget for quantizing the input vector and the maximum number of bits allowed,
- the partitioning unit is configured to determine a representation of a respective relative energy difference between parts of the input vector on each side of each boundary between the input vector segments by performing a process that includes:
- a) setting the input vector as an upper level input vector;
- b) splitting the upper level input vector into left and right parts, each part comprising one or more input vector segments, wherein the upper level input vector is split at the segment boundary between the left and the right part into two lower level input vectors;
- c) calculating a representation of a relative energy difference between the two lower level input vectors according to an energy ratio between the lower level input vectors;
- and
- d) repeating the steps b) and c) of splitting and calculating by re-setting the lower level input vectors as a respective upper level input vector, until all boundaries between input vector segments are provided with an associated representation of a relative energy difference,
- the partitioning unit is configured to allocate bits for encoding the shape of each of the input vector segment and for encoding of the representations of the relative energy differences between the input vector segments, wherein bits for encoding the input vector segments are distributed between segments according to relative energy differences between parts of the input vector, and
- the partitioning unit is configured to provide each the input vector segment, the representations of the relative energy differences and allocation information to the quantizer for individual encoding of the input vector segments.
An audio encoder for positional encoding, the audio encoding comprising:
- a memory;
- and
- processing circuitry coupled to the memory, wherein the audio encoder is configured to:
- segment an input vector representing an audio signal into an integer number (NSEG) of input vector segments according to a ratio between a total bit-budget for quantizing the input vector and a maximum number of bits allowed for quantizing a vector segment;
- determine a representation of a respective relative energy difference between parts of the input vector on each side of each boundary between the input vector segments by performing a process that includes:
- a) setting the input vector as an upper level input vector;
- b) splitting the upper level input vector into left and right parts, each part comprising one or more input vector segments, wherein the upper level input vector is split at the segment boundary between the left and the right part into two lower level input vectors;
- c) calculating a representation of a relative energy difference between the two lower level input vectors according to an energy ratio between the lower level input vectors;
- and
- d) repeating the steps b) and c) of splitting and calculating by re-setting the lower level input vectors as a respective upper level input vector, until all boundaries between input vector segments are provided with an associated representation of a relative energy difference,
- allocate bits for encoding the shape of each of the input vector segment and for encoding of the representations of the relative energy differences between the input vector segments, wherein bits for encoding the input vector segments are distributed between segments according to relative energy differences between parts of the input vector, and
- provide each the input vector segment, the representations of the relative energy differences and allocation information to a quantizer for individual encoding of the input vector segments.
Dependencies are inferred from the claim text.