Patent ID: 11942102
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Field: Computer technology (Electrical engineering)
Classification: CPC G  H | IPC G  H

Claim 8:
9. An audio encoder, the audio encoder comprising:
a first determining unit coupled to a memory, the first determining unit configured to perform a process comprising:
the method comprising:
receiving an input vector (S) representing an input audio signal; and
enabling a decoder to produce a reconstructed vector (S{circumflex over ( )}) for use in obtaining an output audio signal corresponding to the input audio signal, wherein enabling the decoder to produce the reconstructed vector (S{circumflex over ( )}) comprises:
using the input vector (S), obtaining a target vector (x), wherein x represents a shape of the input audio signal;
using the target vector (x), generating an integer shape code vector (y) of length N, where N>0;
using the integer shape code vector (y), generating a Pyramid Vector Quantizer (PVQ) index; and
producing a bitstream for the decoder, wherein the bitstream includes the PVQ index and the PVQ index can be used by the decoder to produce said integer shape code vector (y), which can be used by the decoder to produce a reconstructed target vector (xq), and the reconstructed target vector (xq) can be used to produce the reconstructed vector (S{circumflex over ( )}), thereby enabling the decoder to produce S{circumflex over ( )}, wherein
generating the integer shape code vector (y) comprises:
initializing the vector y;
determining a first accumulated correlation value based on vectors x and y;
determining, based on a maximum absolute value of the target vector (xabsmax) and the first accumulated correlation value, a first upshift value;
using the first upshift value, determining a first correlation value (corr_xy_1);
using corr_xy_1, determining a first best position (nbest1) within the vector y;
adding a first unit pulse to the vector y at position nbest1;
after adding the first unit pulse to the vector y at position nbest1, determining a second accumulated correlation value based on vectors x and y;
determining, based on the maximum absolute value of the target vector (xabsmax) and the second accumulated correlation value, a second upshift value;
using the second upshift value, determining a second correlation value (corr_xy_2); using corr_xy_2, determining a second best position (nbest2) in the vector y for addition of a second unit pulse; and
adding the second unit pulse to the vector y at position nbest2.