US 11,942,102 B2
Pyramid vector quantizer shape search
Jonas Svedberg, Luleå (SE)
Assigned to TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), Stockholm (SE)
Filed by Telefonaktiebolaget LM Ericsson (publ), Stockholm (SE)
Filed on Sep. 7, 2022, as Appl. No. 17/930,141.
Application 17/930,141 is a continuation of application No. 15/641,632, filed on Jul. 5, 2017, abandoned.
Application 15/641,632 is a continuation of application No. 14/759,864, granted, now 9,792,922, issued on Oct. 17, 2017, previously published as PCT/SE2015/050743, filed on Jun. 25, 2015.
Claims priority of provisional application 62/029,586, filed on Jul. 28, 2014.
Prior Publication US 2023/0086320 A1, Mar. 23, 2023
Int. Cl. G10L 19/00 (2013.01); G10L 19/038 (2013.01); H03M 7/30 (2006.01); G10L 19/002 (2013.01); G10L 19/032 (2013.01); G10L 19/10 (2013.01); G10L 19/16 (2013.01)
CPC G10L 19/038 (2013.01) [G10L 19/0017 (2013.01); H03M 7/3082 (2013.01); G10L 19/00 (2013.01); G10L 2019/0013 (2013.01); G10L 19/002 (2013.01); G10L 19/032 (2013.01); G10L 19/10 (2013.01); G10L 19/167 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method performed by an audio encoder, the method comprising:
receiving an input vector (S) representing an input audio signal; and
enabling a decoder to produce a reconstructed vector (S ) for use in obtaining an output audio signal corresponding to the input audio signal, wherein enabling the decoder to produce the reconstructed vector (S ) 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 ), thereby enabling the decoder to produce S , 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.