Methods, Encoder And Decoder For Handling Line Spectral Frequency Coefficients

Information

  • Patent Application
  • 20190279651
  • Publication Number
    20190279651
  • Date Filed
    November 28, 2017
    7 years ago
  • Date Published
    September 12, 2019
    5 years ago
Abstract
A method and apparatus for handling input Line Spectral Frequency, LSF, coefficients. The method comprises determining LSF residual coefficients as first compressed LSF coefficients subtracted from the input LSF coefficients, and transforming the LSF residual coefficients into a warped domain. One of a plurality of gain-shape coding schemes is applied on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients. A representation of the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme are transmitted over a communication channel to a decoder.
Description
TECHNICAL FIELD

The present embodiments generally relate to speech and audio encoding and decoding, and in particular to quantization of Line Spectral Frequency coefficients.


BACKGROUND

When handling audio signals such as speech at an encoder of a transmitting unit, the audio signals are represented digitally in a compressed form using for example Linear Predictive Coding, LPC. As LPC coefficients are sensitive to distortions, which may occur to a signal transmitted in a communication network from a transmitting unit to a receiving unit, the LPC coefficients are transformed to Line Spectral Frequencies, LSF, or LSF coefficients, at the encoder. Further, the LSFs may be compressed, i.e. coded, in order to save bandwidth over the communication interface between the transmitting unit and the receiving unit.


The LSF coefficients provide a compact representation of a spectral envelope, especially suited for speech signals. LSF coefficients are used in speech and audio coders to represent and transmit the envelope of the signal to be coded. The LSFs are a representation typically based on Linear prediction. The LSFs comprise an ordered set of angles in the range from 0 to pi, or equivalently a set of frequencies from [0 to Fs/2], where Fs is the sampling frequency of the time domain signal. The LSF coefficients can be quantized on the encoder side and are then sent to the decoder side. LSF coefficients are robust to quantization errors due to their ordering property. As a further benefit, the input LSF coefficient values are easily used to weigh the quantization error for each individual LSF coefficient, a weighing principle which coincides well with a wish to reduce the codec quantization error more in perceptually important frequency areas than in less important areas.


Legacy methods, such as AMR-WB (Adaptive Multi-Rate Wide Band), use a large stored codebook or several medium sized codebooks in several stages, such as Multistage Vector Quantizer (MSVQ) or Split MSVQ, for LSF, or Immitance Spectral Frequencies (ISF), quantization, and typically make an exhaustive search in codebooks that is computationally costly.


Alternatively, an algorithmic VQ can be used, e.g. in EVS (Enhanced Voice Service) a scaled D8+ lattice VQ is used which applies a shaped lattice to encode the LSF coefficients. The benefit of using a structured lattice VQ is that the search in codebooks may be simplified and the storage requirements for codebooks may be reduced, as the structured nature of algorithmic Lattice VQs can be used. Other examples of lattices are D8, RE8. In some EVS mode of operation, Trellis Coded Quantization, TCQ, is employed for LSF quantization. TCQ is also a structured algorithmic VQ.


There is an interest to achieve an efficient compression technique requiring low computational complexity at the encoder.


SUMMARY

An object of embodiments herein is to provide computationally efficient and compression efficient handling of the LSF coefficients.


According to an aspect there is presented a method performed by an encoder for handling input Line Spectral Frequency, LSF, coefficients. The method comprises determining LSF residual coefficients as first compressed LSF coefficients subtracted from the input LSF coefficients, and transforming the LSF residual coefficients into a warped domain. One of a plurality of gain-shape coding schemes is applied on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients. A representation of the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme are transmitted over a communication channel to a decoder.


According to an aspect there is presented a method performed by a decoder for handling input Line Spectral Frequency, LSF, coefficients. The method comprises receiving, over a communication channel from an encoder, a representation of first compressed LSF coefficients, gain-shape coded LSF residual coefficients, and information on an applied gain-shape coding scheme, applied by the encoder. One of a plurality of gain-shape decoding schemes is applied on the received gain-shape coded LSF residual coefficients according to the received information on applied gain-shape coding scheme, in order to achieve LSF residual coefficients, where the plurality of gain-shape decoding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the gain-shape coded LSF residual coefficients. The LSF residual coefficients are transformed from a warped domain into an LSF original domain, and LSF coefficients are determined as the transformed LSF residual coefficients added with the received first compressed LSF coefficients.


According to an aspect there is presented an encoder configured to perform the method for handling input Line Spectral Frequency, LSF, coefficients.


According to an aspect there is presented a decoder configured to perform the method for handling input Line Spectral Frequency, LSF, coefficients.


According to an aspect there is presented an apparatus for handling input Line Spectral Frequency, LSF, coefficients. The apparatus is configured to determine LSF residual coefficients as first compressed LSF coefficients subtracted from the input LSF coefficients, and to transform the LSF residual coefficients into a warped domain. It is further configured to apply one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients. The apparatus is further configured to transmit, over a communication channel to a decoder, a representation of the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme.


According to an aspect there is presented an apparatus for handling input Line Spectral Frequency, LSF, coefficients. The apparatus is configured to receive, over a communication channel from an encoder, a representation of first compressed LSF coefficients, gain-shape coded LSF residual coefficients, and information on an applied gain-shape coding scheme, applied by the encoder. The apparatus is further configured to apply one of a plurality of gain-shape decoding schemes on the received gain-shape coded LSF residual coefficients according to the received information on applied gain-shape coding scheme, in order to achieve LSF residual coefficients, where the plurality of gain-shape decoding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the gain-shape coded LSF residual coefficients. The apparatus is further configured to transform the LSF residual coefficients from a warped domain into an LSF original domain, and to determine LSF coefficients as the transformed LSF residual coefficients added with the received first compressed LSF coefficients.


According to an aspect there is provided a computer program, comprising instructions which, when executed by a processor, cause an apparatus to perform the actions of the method for handling input Line Spectral Frequency, LSF, coefficients.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a communication network comprising a transmitting unit and a receiving unit.



FIG. 2 shows an exemplary wireless communications network in which embodiments herein may be implemented.



FIG. 3 shows an exemplary communication network comprising a first and a second short-range radio enabled communication devices.



FIG. 4 illustrates an example of actions that may be performed by an encoder.



FIG. 5 illustrates an example of actions that may be performed by a decoder.



FIG. 6 illustrates an example of an LSF encoder.



FIG. 7 illustrates an example of an LSF decoder.



FIG. 8 is a flow chart illustration of an example embodiment of a stage 2 shape search flow.



FIG. 9 shows example results for 38 bit LSF quantizers, using the DCT as transform.



FIG. 10 shows an example of a time domain signal.



FIG. 11 shows 1/A(z) poles and LSF/LSP frequency points for the time signal.



FIG. 12 shows FFT spectrum of the time signal.



FIG. 13 shows a conceptual 2-D projected view of the proposed LSF-quantizer.



FIG. 14 shows an example of statistical spectral distortion distribution.



FIG. 15 shows another example of statistical spectral distortion distribution.



FIG. 16 shows a block diagram illustrating an example embodiment of an encoder.



FIG. 17 shows a block diagram illustrating another example embodiment of an encoder.



FIG. 18 shows a block diagram illustrating an example embodiment of a decoder.



FIG. 19 shows a block diagram illustrating another example embodiment of a decoder.





DETAILED DESCRIPTION

The figures are schematic and simplified for clarity, and they merely show details for the understanding of the embodiments presented herein, while other details have been left out.



FIG. 1 shows a communication network 100 comprising a transmitting unit 10 and a receiving unit 20. The transmitting unit 10 is connected with the receiving unit 20 via a communication channel 30. The communication channel 30 may be a direct connection or an indirect connection via one or more routers or switches. The communication channel 30 may be through a wireline connection, e.g. via one or more optical cables or metallic cables, or through a wireless connection, e.g. a direct wireless connection or a connection via a wireless network comprising more than one link. The transmitting unit 10 comprises an encoder 1600. The receiving unit 20 comprises a decoder 1800.



FIG. 2 depicts an exemplary wireless communications network 100 in which embodiments herein may be implemented. The wireless communications network 100 may be a wireless communications network such as an LTE (Long Term Evolution), LTE-Advanced, Next Evolution, WCDMA (Wideband Code Division Multiple Access), GSM/EDGE (Global System for Mobile communications/Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunication System) or WiFi (Wireless Fidelity), or any other similar cellular network or system.


The wireless communications network 100 comprises a network node 110. The network node 110 serves at least one cell 112. The network node 110 may be a base station, a radio base station, a nodeB, an eNodeB, a Home Node B, a Home eNode B or any other network unit capable of communicating with a wireless device within the cell 112 served by the network node depending e.g. on the radio access technology and terminology used. The network node may also be a base station controller, a network controller, a relay node, a repeater, an access point, a radio access point, a Remote Radio Unit, RRU, or a Remote Radio Head, RRH.


In FIG. 2, a wireless device 121 is located within the first cell 112. The device 121 is configured to communicate within the wireless communications network 100 via the network node 110 over a radio link, also called wireless communication channel, when present in the cell 112 served by the network node 110. The wireless device 121 may e.g. be any kind of wireless device such as a mobile phone, cellular phone, Personal Digital Assistants, PDA, a smart phone, tablet, sensor equipped with wireless communication abilities, Laptop Mounted Equipment, LME, e.g. USB, Laptop Embedded Equipment, LEE, Machine Type Communication, MTC, device, Machine to Machine, M2M, device, cordless phone, e.g. DECT (Digital Enhanced Cordless Telecommunications) phone, or Customer Premises Equipment, CPEs, etc. In embodiments herein, the mentioned encoder 1600 may be situated in the network node 110 and the mentioned decoder 1800 may be situated in the wireless device 121, or the encoder 1600 may be situated in the wireless device 121 and the decoder 1800 may be situated in the network node 110.


Embodiments described herein may also be implemented in a short-range radio wireless communication network such as a Bluetooth based network. In a short-range radio wireless communication network communication may be performed between different short-range radio communication enabled communication devices, which may have a relation such as the relation between an access point/base station and a wireless device. However, the short-range radio enabled communication devices may also be two wireless devices communicating directly with each other, leaving the cellular network discussion of FIG. 2 obsolete. FIG. 3 shows an exemplary communication network 100 comprising a first and a second short-range radio enabled communication devices 131, 132 that communicate directly with each other via a short-range radio communication channel. In embodiments described herein, the mentioned encoder 1600 may be situated in the first short-range radio enabled communication device 131 and the mentioned decoder 1800 may be situated in the second short-range radio enabled communication device 132, or vice versa. Naturally both communication devices comprise an encoder as well as a decoder to enable two-way communication.


Alternatively, the communication network may be a wireline communication network.


As part of the developing of the embodiments described herein, a problem will first be identified and discussed.


When transmitting LSFs from a transmitting unit comprising an encoder to a receiving unit comprising a decoder there is an interest to achieve a better compression technique, requiring low bandwidth for transmitting the signal and low computational complexity at the encoder and the decoder.


According to one embodiment, such a problem may be solved by a method performed by an encoder of a communication system for handling input LSF coefficients, LSFin. The method comprises determining LSF residual coefficients as first compressed LSF coefficients subtracted from the input LSF coefficients and transforming the LSF residual coefficients into a warped domain. The method further comprises applying one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients; and transmitting, over a communication channel to a decoder, a representation of the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme.



FIG. 4 is an illustrated example of actions or operations that may be taken or performed by an encoder, or by a transmitting unit comprising the encoder. In the disclosure, “the encoder” may correspond to “a transmitting unit comprising an encoder”. The method of the example shown in FIG. 4 may comprise one or more of the following actions:


Action 202. Quantizing the input LSF coefficients using a first number of bits, resulting the first compressed LSF coefficients.


Action 204. Determining LSF residual coefficients, LSFR2, as first compressed LSF coefficients subtracted from the input LSF coefficients.


Action 206. Transforming the LSF residual coefficients, LSFR2, into a warped domain, resulting transformed LSF residual coefficient, LSFR2T.


Action 208. Applying, one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients. The plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients.


Action 210. Transmitting, over a communication channel to a decoder, the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme. As the compressed or coded parameters are represented by the indices set {iL, iH, isubmode, igain, ishapeO/(ishapeA, ishapeB)} as will be discussed below, it can be said that representations of the first compressed LSF coefficients and the gain-shape coded LSF residual coefficients are transmitted over a communication channel.



FIG. 5 is an illustrated example of actions or operations that may be taken or performed by a decoder, or by a receiving unit comprising the decoder. In the disclosure, “the decoder” may correspond to “a receiving unit comprising a decoder”. The method of the example shown in FIG. 5 may comprise one or more of the following actions:


Action 302. Receiving, over a communication channel from an encoder, first compressed LSF coefficients, gain-shape coded LSF residual coefficients, and information on an applied gain-shape coding scheme, applied by the encoder.


Action 304. Applying, one of a plurality of gain-shape decoding schemes on the received gain-shape coded LSF residual coefficients according to the received information on applied gain-shape coding scheme, in order to achieve LSF residual coefficients. The plurality of gain-shape decoding schemes may have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the gain-shape coded LSF residual coefficients.


Action 306. Transforming the LSF residual coefficients from a warped domain into an LSF original domain.


Action 308. Determining LSF coefficients as the transformed LSF residual coefficients added with the received first compressed LSF coefficients.


Action 307. De-quantizing possibly quantized LSF coefficients using a first number of bits similar to the number of bits used for quantizing LSF coefficients at a quantizer of the encoder.


According to another embodiment, the encoder performs the following steps:

    • Applies a low bit rate first stage quantizer to the LSFs resulting in first stage codewords. A lower bitrate requires smaller storage than a bitrate that is higher than the low bitrate. The LSFs may be mean, e.g. DC, removed LSFs.
    • Transforms the LSF-residual resulting from the application of the first stage quantizer to the LSFs to a warped domain, e.g. by applying Hadamard, Rotated DCT (RDCT) or DCT (Discrete Cosine Transform) transforms to the LSF-residual.
    • Selectively applies one of a plurality of submode gain-shape coding schemes on the LSF-residual, where the submode schemes have different tradeoffs in a) the gain resolution and b) the resolution for the shape of the coefficients, across the transformed LSF residual coefficients. The gain-shape submodes may use different resolution (in bits/coefficient) for different subsets. Examples of subsets {A/B}: {even+last}/{odd−last} Hadamard coefficients, RDCT{0-8,15} and RDCT{9-14}, DCT{0-8,15} and DCT{9-14}. An outlier mode may have one single full set of all the coefficients in the residual, whereas the regular mode may have several subsets, covering different dimensions with differing resolutions (bits/coefficient). According to an embodiment, the submode scheme selection is made by a combination of low complex Pyramid Vector Quantizer-, PVQ-projection and shape fine search selection followed by an optional global mean square error, MSE, optimization. The MSE optimization is global in the sense that both gain and shape and all submodes are evaluated. This saves average complexity. The step results in a submode index and possibly a gain codeword, and shape code word(s) for the selected submode. The selectively applying may be realized by searching an initial outlier submode and subsequently a non-outlier mode.
    • If available, the first stage vector quantizer (VQ) codewords of the applying step are sent over a communication channel to the decoder.
    • Information of the selected submode is transmitted over a communication channel to the decoder.
    • Gain codeword(s) achieved in the selectively applying step are indexed, and sent over a communication channel to the decoder, if required by the selected submode.
    • Shape PVQ codeword(s) achieved in the selectively applying step are indexed, and sent over a communication channel to the decoder.


By one or more of the embodiments of the invention one or more of the following advantages may be achieved:


Very low complexity can be achieved.


The application of a structured (energy compacting) transform allows for a strongly reduced first stage VQ. For example, the first stage VQ may be reduced to 25% of its original codebook size decreasing both Table ROM (Read Only Memory) and first stage search complexity. E.g. from R=0.875 bits/coefficient to R=0.625 bits per coefficient. E.g. with dimensions 8 one may drop from 8*0.875=7 bits to 8*0.625=5 bits, which corresponds to a drop from 128 vectors to 32 vectors of dimension 8.


The structured PVQ based sub-modes may be searched with an extended (low complex) linear search, even though there are several gain-shape combination sub-modes for the LSFs available.


The structured PVQ based sub-modes may be optimized to handle both outliers, where outliers are the LSF residuals with an atypical high and low energy, and also handle non-outlier target vectors with sufficient resolution.


In the following, an embodiment is presented. The proposed method requires as input a vector of LSF coefficients.


At the encoder, the following may be performed. First, LSF coefficients are obtained from the input signal representation, as LSFin e.g. by a known algorithm such as an algorithm described in EVS algorithmic specification 3GPP TS 26.445 v13.0.0 section 5.1.9 “Linear prediction analysis”. Then an LSF global mean LSFMean vector is subtracted from the input LSFs and this LSF global mean subtracted input LSF vector (denoted LSFR1) is split into two parts, denoted as low (Ltarget) and high-frequency (Htarget) parts. As an example for a 16 dimensional LSF vector, the first 8 coefficients may be used for the Ltarget subvector and the remaining coefficients may be used for the Htarget subvector.


In an alternative implementation, the LSF vector might be converted to LSP (Line Spectral Pairs) or ISF (Immittance Spectral Frequencies) or ISP (Immittance Spectral Pairs) domain instead of LSFs. This will cause slight implementation variation, but the method steps, described in the following, apply to all these alternative representations.


The Ltarget and Htarget target vectors are presented to a low rate first stage 8-dimensional VQ of eg. size 3-5 bits for each split. Two indices are obtained: iL an iH. This is achieved by employing an MSE search, or a weighted MSE search of the stage 1 codebooks.


The complete LSF-residual after the first stage LSFR2 is now computed as:





LSFR2=[LSFin]−[LSFmean]−[LiL HiH],


LSFR2 is transformed into a warped quantization domain using Hadamard, RDCT or DCT, resulting in the warped signal LSFR2T. Hadamard, RDCT and DCT all have the capacity to compact energy, especially for LSF residual signals with a strong positive or negative DC-offset


LSFR2T vector is presented to a memoryless (not employing frame error sensitive interframe prediction) stage 2 multimode PVQ based quantizer, resulting in a submode index imode, a gain index igain, indicating a gain applied for the whole vector, one or several PVQ shape indices ishapeA, {ishapeB}, where the shape indices together form a unit energy PVQ-vector LSFR2T,en1 of size 16, in case of a 16 dimensional LSF vector.


The stage 2 vector quantizer also returns the gain values ghat and GMEANST2 and the unit energy quantized and normalized LSF shape vector LSFR2T,en1. GMEANST2 is a global mean gain for the 2nd stage and ghat is an adjustment gain for fine scaling the 2nd stage residual vector.


The shape vector LSFR2T,en1 is warped back to the LSF domain using the Hadamard, the inverse RDCT, IRDCT, or the IDCT (inverse discrete cosine transform) transforms, to obtain an unwarped unit energy LSF-residual domain vector LSFR2,en1.


The quantized LSFs are obtained as:





LSFq=[LSFMean]+[LiLHiH]+ghat*GMEANST2*[LSFR2,en1],  (2)


Here it is to be noted that the stage 1 split quantization may also be made in the transformed domain. However, there are a few complexity benefits of staying in the LSF/LSF residual domain for stage 1, as then individual LSF coefficient frequency dependent weighting may easily be applied to the stage 1 search, and further a non-transformed stage 1 will reduce the dynamic range of the residual signal to be transformed, so that the transform calculations may be applied using high enough precision with low complexity instructions.



FIG. 6 shows a possible high level LSF encoder analysis structure, for a low complexity quantization of the LSFin target vector, into the indices set {iL, iH, isubmode, igain, ishapeO/(ishapeA, ishapeB)}.


The Ltarget and Htarget target vectors are presented to a low rate first stage VQ 610 to obtain two indices: iL an iH.


The shape quantization is made in a warped/transformed domain 600a, using two spherical unit energy PVQ submodes: an outlier(outl) submode 601 and a regular(reg) submode 602, which have different shape resolution properties over different dimensions, but with sufficient similarities so that the regular finer resolution shape search may use the preliminary result of the lower shape resolution outlier submode shape search (rtoutl) to obtain rtreg. These two integer vectors are searched by adding unit pulses, and after all the allowed unit pulses have been found, the integer vectors are normalized to (float) unit energy vectors rten1,outl and rten1,reg, which are sent to the submode selector 603. The submode selector 603 acts as a switch and forwards either rten1,outl or rten1,reg, as rten1 to the inverse warping block 604, depending on which submode (given by isubmode) being evaluated by the W(MSE) minimization block.


In the synthesis model the candidate shape vector is warped back to the LSF-residual domain 600b and scaled with a gain ghat given by a gain index igain, in a gain amplifier 605 (and possibly also by a global gain G_MEANST2 in a global gain amplifier 606). In the actual optimized stage 2 search, the shape is searched in the warped LSF-domain, using an efficient PVQ-search. The final gain-shape minimization is preferably performed in the LSF-residual domain.


The global search uses MSE or WMSE minimization to find the best submode and gain combination resulting in a shape dem and the best gain ghat with index igain.


The integer vector rt of length N corresponding to the total selected unit energy shape rten1 is indexed by a PVQ enumeration scheme 607. In case of the outlier mode there is only one resulting PVQ-index, ishapeO and in case of the regular mode there are two resulting shape indeces ishapeA and ishapeB. The dimension Nx and number of unity pulses Kx for each shape index is obtained by table lookup based on isubmode.


The set of LSF-indices {iL, iH, isubmode, igain, ishapeO/(ishapeA, ishapeB)} are forwarded to a ARE/MUX (multiplexing) unit 608 which contains an arithmetic/range encoder (ARE) unit if fractional bits are used, and a regular bit level multiplexing unit if whole integer bits are employed for the set of LSF-indices. The thick arrow in the figure indicates the LSF indices being sent to the decoder.


At the decoder side, the following may be performed. The LSFR2T,en1,dec vector is obtained from the PVQ inverse quantizer using the submode index isubmode and the PVQ-indexed shape indices ishapeO,/{ishapeA, ishapeB}.


The adjustment gainhat,dec is obtained from the index igain


The LSFR2T,en1,dec vector is warped to the LSF domain, to obtain the LSFR2,en1,dec vector.


First stage subvectors LiL,dec and Hil,dec are obtained from the stage 1 inverse VQ (codebook lookup), using indices iL and iH.


The decoded LSF vector LSFq,dec is obtained as:





LSFq,dec=[LSFmean]+[LiL,dec HiH,dec]+ghat,dec*G_MEANST2*[LSFR2,en1,dec],  (3)


where the [LSFmean] vector and the G_MEANST2 gain are constants stored in the decoder, e.g. at a Read Only Memory, ROM, of the decoder. Further, the vectors LiL,dec and HiH,dec may also be stored at the decoder, e.g. as ROM-tables.



FIG. 7 shows an embodiment of a schematic decoder. At the decoder, the set of LSF-indices {iL, iH, isubmode, igain, ishapeO/(ishapeA, ishapeB)} are obtained (at the thick arrow) from the encoder at an ARD/DEMUX (demultiplexing) unit 701, which contains an arithmetic/range decoder (ARD) unit if fractional bits are used, and a regular bit level de-multiplexing unit if whole integer bits are employed for the set of LSF-indices.


The two stage 1 indices iL, iH are decoded into the N dimensional vector LSFST1,dec by table lookup 702.


The inverse enumerated/(deindexed) PVQ de-enumeration scheme 703 is applied to the shape indices as follows; in case of isubmode indicating the outlier mode (when submode shape-index scheme 704 is applied) the PVQ-index, ishapeO is de-indexed using dimension No and Ko unit pulses; in case isubmode indicates the regular mode ishapeB are de-indexed using the (dimension, unit pulse) pairs (Na,Ka)(Nb,Kb), into the integer N=Na+Nb dimensional vector rtdec. Subsequently the vector rtdec is normalized 705 into a unit energy shape vector rten1,dec.


The decoded shape vector rten1,dec is warped 706 back from a warped/transformed domain 700a to the LSF-residual domain 700b and scaled 707 with a gain ghat given by a gain index igain. (and also scaled 708 by the global gain G_MEANST2, if necessary) and stored as LSFST2,dec. Finally the quantized LSFq,dec vector is obtained by adding LSFmean, LSFST1,dec and the decoded stage 1 vector to LSFST2,dec.


In the following, a lower level detailed description of an embodiment is given.


Encoder Operation

Stage 1 search. The stored stage 1 codebooks LCbk and Hcbk each of size N1*23 values, (8 coefficients×N1 vectors per codebook) are searched in each target section L/H by using an MSE search.











err


mse
-

st





1

L


,
i


=




n
=
0

7




(



L
target



(
n
)


-

1.0
*


Lcbk
i



(
n
)




)

2



,




(
4
)








i
L

=



arg





min


0

i

31








err


mse
-

st





1

L


,
i




,




(
5
)








err


mse
-

st





1

H


,
i


=




n
=
0

7




(



H
target



(
n
)


-

1.0
*


Hcbk
i



(
n
)




)

2



,




(
6
)








i
H

=



arg





min


0

i

31








err


mse
-

st





1

H


,
i




,




(
7
)







Examples of off-line trained LSF-residual stage 1 codebooks Lcbk and Hcbk are given in further down (In the example, 38 bit case with 5 bit stage 1 codebooks case, N1 is 25=32).


If the complexity requirement allows for it, the stage 1 codebook may also be searched with frequency dependent weights wn:











err


wmse
-

st





1

L


,
i


=




n
=
0

7




(


w
n

*

(



L
target



(
n
)


-

1.0
*


Lcbk
i



(
n
)




)


)

2



,




(
8
)








i
L

=



arg





min


0

i


N





1









err


wmse
-

st





1

L


,
i




,




(
9
)








err


wmse
-

st





1

H


,
i


=




n
=
0

7




(


w

n
+
8


*

(



H
target



(
n
)


-

1.0
*


Hcbk
i



(
n
)




)


)

2



,




(
10
)








i
H

=



arg





min


0

i


N





1









err


wmse
-

st





1

H


,
i




,




(
11
)







Where wn may be a fixed vector addressing the human ear's lower sensitivity to high frequencies. E.g. wn=[1 0.968 0.936 0.904 0.872 0.840 0.808 0.776 0.744 0.712 0.680 0.648 0.6160 0.584 0.552 0.520], or one may apply a more advanced weighting like IHM (Inverse Harmonic Mean).


Warping Transformation. The target stage2 LSF-residual is transformed to the warped domain using e.g. a Matrix operation, e.g. 16 by 16 matrix operation in case of 16 dimensional LSF vector.


RDCT Transform Application Example

Given R as the normalized RDCT matrix, and with an example:


LSFR2 stage 2 target vector=[−7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8] (in this case a line with near zero mean), then LSFR2T=LSFR2′R becomes (forward transform)


LSFR2T=[6.6691 −16.4483 5.0226 −0.8074 1.6795 −0.2607 0.3087 −0.2174 . . . 0.1582 −0.1421 0.0911 −0.0823 0.0505 −0.0432 0.0235 −0.0128]
Hadamard Transform Application Example

Given H as the normalized Hadamard matrix, and with an example


LSFR2 stage 2 target vector=[−7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8] (in this case a line with near zero mean), then LSFR2T=LSFR2H becomes (forward transform)


LSFR2T=[2 −2 −4 0 −8 0 0 0 −16 0 0 0 0 0 0 0]
DCT Transform Application Example

Given D as the normalized DCT matrix and with an example


LSFR2 stage 2 target vector=[−7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8] (in this case a line with near zero mean), then LSFR2T=LSFR2D becomes (forward transform)


LSFR2T=[2.0000 −18.3115 0.0000 −2.0075 −0.0000 −0.7016 0 −0.3395 . . . 0−0.1877 0−0.1071−0.0000−0.0560 0.0000−0.0175]

Stage 2 Gain-Shape Setup for Each Sub Mode.


The regular submode is a dimensional targeted high resolution mode, with reconstructions points on or close to a global long term average energy shell, given by the global gain 1.0*G_MEANsT2, with energy G_MEANST22. The regular mode has higher shape resolution than the outlier mode in a subset/section of given dimensions.


To further enhance the regular mode possibility to match the shape, it is made possible to zero all unit pulses in Subset/Section B (given by Table 1), this is indexed as the first index 0 in the PVQ-shape index for subset/section B.


Due to the unit pulse granularity of a PVQ-VQ, there may also be a possibility that the regular mode may use 2-4 additional gain levels. For the case of one or two additional bits available this code space is given to a gain adjustment index of the regular mode near 1.0. e.g. [2−1/12, 21/12] in case of 1 bit and [2−2/24 2−1/24, 21/24, 22/24] in case of 2 bits. These levels are positioned between the neighbouring outlier energy shells, and the selection is made by MSE evaluation of the gain-shape combinations.


The outlier submode is an all-dimensional lower resolution mode, lower resolution in relation to the regular submode. The outlier submode has reconstruction points further away from the global long term average energy shell, given by the global gain 1.0*G_MEANST2, with energy G_MEANST22. The outlier mode has the same shape resolution for all possible energy/gain shells, and it may correct errors equally well in all dimensions.


Regular Submode (38 Bit Example):









TABLE 1







Regular submode (38 bit example)










First



Stage
stage
Second stage





Search
LSF
Warped/transformed LSF residual domain


Domain
Residual



domain












Parameter
Indices in
Sub-
Gain
Shape bits
Shape bits Section B



first stage, 8
mode
indices
Section A
RDCT/DCT indices



dimensional
isubmode
igain for
RDCT/DCT indices
{9-14}



codebooks

values
{0-8, 15}
Hadamard indices





ghat
Hadamard indices
{3, 5, 7, 9, 11, 13}






{0, 2, 4, 6, 8, 10, 12, 14 1, 15}


Bit
2 × 5 bits
1
1 bit
log2
log2


consumption

(set to
values:
(NPVQ(Na = 10, Ka = 10))
(NPVQ(Nb = 6, Kb = 1) + 1)




1)
2.0[−1/12 1/12]
→ 22.25 bits
→ 3.75 bits





(regular
Ka = 10 unit pulses
Kb = 1 unit pulses





values
over dimension
over dimension Nb = 6





close to
Na = 10
RshapeB = 0.625





1.0)
RshapeA = 2.2 bits/coeff
bits/coeff, where the







“+1” above is needed







to identify the all







zero section B shape








Bit sum
2 × 5 + 1 + 1 + 22.25 + 3.75 = 38 bits









Outlier Submode (38 Bit Example):









TABLE 2







Outlier submode (38 bit example)









Stage
First stage
Second stage





Search
LSF Residual
Warped/transformed LSF residual domain


Domain
domain











Parameter
Indices in
Sub-
Gain
Shape indices



first stage, 8
mode
indices
Spanning one section over all 16



dimensional
isubmode
igain for
coefficients



codebooks

values ghat


Bit
2 × 5 bits
1 bit
2 bits,
log2(NPVQ(N = 16, Ko = 8))


consumption

(set to 0)
values:
→ 24.875 bits





2.0[1, −1/3.1/3,1] =
Ko = 8 unit pulses over dimension





[.5, .8, 1.25, 2.0]
N = 16





(outlier
Rshape = 1.55 bits per coefficient





values far





from 1.0)








Bit sum
2 × 5 + 1 + 2 + 24.875 = 37.875 fractional bits = 38 whole bits









Regular Submode (42 Bit Example):









TABLE 3







Regular submode (42 bit example)









Stage
First stage
Second stage





Search
LSF
Warped/transformed LSF residual domain


Domain
Residual



domain












Parameter
Indeces in
Sub-
Gain
Shape bits
Shape bits



first stage 8
mode
indeces
Section A
Section B



dimensional
isubmode
igain for
RDCT/DCT indices
RDCT/DCT indices



codebooks

values
{0-7, 14-15}
{8-13}





ghat
Hadamard indices
Hadamard indices






{0, 2, 4, 6, 8, 10, 12, 14
{1, 3, 5, 7, 9, 11}






13, 15}


Bit
2 × 5 bits
1
0 bit
log2(NPVQ(Na = 10,
log2(NPVQ(Nb = 6,


consumption
Rstage1 =
(set to
value:
Ka = 12))
Kb = 2) + 1)



0.625
1)
2.00
→ 24.375 bits
→ 6.25 bits



bits/coeff

(regular
Ka = 12 unit pulses
Kb = 2 unit pulses





values at
over dimension
over dimension





the “1.0”
Na = 10
Nb = 6





unit
RshapeA = 2.43
RshapeB = 1.04





energy/gain
bits/coefficient
bits/coefficient





shell)








Bit sum
2 × 5 + 1 + 0 + 24.375 + 6.25 = 41.625 fractional bits = 42 whole bits









Outlier Submode (42 Bit Example):









TABLE 4







Outlier submode (42 bit example)









Stage
First stage
Second stage





Search
LSF Residual
Warped/transformed LSF residual domain


Domain
domain











Parameter
Indices in
Sub-
Gain indices
Shape indices



first stage 8
mode
igain for values
Spanning one section over all 16



dimensional
isubmode
ghat
coefficients



codebooks


Bit
2 × 5 bits
1 bit
2 bit index,
log2(NPVQ(N = 16, Ko = 10))


consumption

(set to
gain values:
→ 28.625 bits




0)
2.0[−1, −1/3.1/3, 1] =
Ko = 10 unit pulses over dimension





[.5, .8, 1.25, 2.0]
N = 16





(outlier values
Rshape = 1.79 bits per coefficient





far from 1.0)








Bit sum
2 × 5 + 1 + 2 + 28.625 = 41.625 fractional bits = 42 whole bits









Stage 2 Shape Search:


One may search each submode shape (the full 16 dimesional outlier section, regular section A, regular section B) using a complete PVQ shape search for that section, however to avoid several PVQ shape-searches for the various submodes in some cases. FIG. 8 is a flow chart showing an embodiment of a stage 2 shape search flow.


The stage 2 search may be performed by the following steps:

  • 1) The coefficients in the 2nd stage target, LSFR2T are rearranged to enable a fast linear shape search. The coefficients corresponding to non-linear sections of the regular sets {A, B} are arranged into high and low linear search sections, and a search target vector LSFR2T,linear is created (step 801 in FIG. 13). E.g. for the 38 bit LSF quantizer example sets {A, B} above, one may advantageously swap places between the target position 15 and target position 9. This enables a fast single unit pulse PVQ shape search loop, for target indices [0 . . . 8, 15], and [10-14, 9], without adding any complex non-linear lookup operations in the PVQ-search loop.
  • 2) First, a legacy full dimensional PVQ-shape search for the target LSFR2T,linear is run, establishing Ko unit pulses.
    • a. This shape search may be done by a low cost projection (step 802), followed if required by a fine search (step 803), resulting in an integer vector rtoutl,lin with integer pulses and a unit energy normalized vector rtoutl_en1norm,lin
    • b. The number of unit pulses, i.e. the L1-norm, corresponding to the high section B of the regular mode are counted, in vector rtoutl,lin, resulting in a positive integer number Koutl,B,pre (step 804).
  • 3) Define a section B direction limit as limB=(KB+1).
    • If the outlier shape search has produced too many pulses in the section B shape direction of the regular submode, (i.e. when Koutl,B,pre>=limB), the shape search may be discontinued and the outlier mode shape vector outpre_en1norm,lin will be used, together with a subsequently quantized gain factor (step 805).
  • 4) If the shape search has produced a normal amount of pulses, or less pulses than limB, (i.e. Koutl,B,pre<limB), the stage2 shape search continues for the possible regular mode codepoints in these steps:
    • a. Find the remaining unit pulses in set A (if any), using a PVQ shape search among the set A coefficients, start out this search from the (Ko−Koutl,B,pre) unit pulses among the set A coefficients as already established by the outlier shape search “step 2)” (step 806). The resulting vector rtregA,lin, is of dimension 16, with all zero valued coefficients in the set B dimensions.
    • b. Save the intermediate regular submode vector rtregA,lin with integer pulses, and prepare a corresponding unit energy normalized vector rtregA_en1norm,lin, (this alternative regular shape vector may be used in cases where the addition of a one or few fixed number of pulses in the set B does not reduce the final gain-shape MSE error.) (step 807)
    • c. Search for the Kb pulses in set B by using a PVQ shape search among the set B coefficients, starting out from the integer vector, rtregA,lin and ending up with the integer vector rtregAB,lin (step 808)
    • d. Save the total (sets {A and B}) regular sub mode vector as rtregAB,lin and prepare a corresponding unit energy normalized vector rtregAB_en1norm,lin (step 809).


At the end of the stage 2 shape search the section rearranged vectors rtoutl_en1norm,lin, rtregAB_en1norm,lin, rtregA_en1norm,lin are arranged back to the original LSF differential domain coefficient order as rtoutl_en1norm, rtregAB_en1norm, rtregA_en1norm, and the corresponding coefficients in vectors rtoutl,lin, rtregAB,lin and rtregA,lin are arranged back into integer vectors rtout1, rtregAB and rtregA (step 810).


E.g. for the 38 bit LSF quantizer, example sets {A, B} above it is now possible to swap places between the shape result position 15 coefficient and the shape result position 9 coefficient in the result vector(s), {rtoutl, rtregAB and rtregA.}


The integer vectors rtoutl,lin, rtregAB,lin and rtregA,lin are saved to be able to easily enumerate these vectors into indices, using a PVQ-enumeration technique for subsequent transmission, which will be performed after the best available combination of a gain-value and a PVQ shape(s) option has been selected.


PVQ Shape Search Projection and PVQ Fine Search Equations.


This part may be seen as a generic description of a PVQ shape search including initial low cost projection and a pulse by pulse fine shape search.


The PVQ-coding concept was introduced by R. Fischer in the time span 1983-1986 (Fisher T. R.: “A pyramid vector quantizer”, IEEE Transactions on information theory, vol. IT-32, no. 4, July 1986) and has evolved to practical use since then with the advent of efficient digital signal processors, DSPs. The PVQ encoding concept involves locating/searching and then enumerating a point on the N-dimensional hyper-pyramid with the integer L1-norm of K unit pulses. The L1-norm is the sum of the absolute values of the vector, i.e. the absolute sum of the signed integer PVQ vector is restricted to be K, where a unit pulse is represented by an integer value of “1”.


One of the interesting benefits with the PVQ-coding approach in contrast to many other structured VQs is that there is no inherent limit to use a specific dimension N, so the search methods developed for PVQ-coding is applicable to any dimension N and to any K value.


For an L1-norm structured PVQ-quantizer an L1-norm of K for PVQ(N,K) signifies that the absolute sum of all elements in the PVQ-integer vector y(n) has to be K. The structured PVQ(N,K) allows for several search optimizations, where the primary optimization is to move the target to the all positive “quadrant” in N-dimensional space and the second optimization is to use an L1-norm projection to the pyramid neighborhood as a starting approximation for y(n), before entering into a fine search to reach K.


A third optimization is to iteratively update the QPVQ quotient terms, instead of re-computing Eq. 15 below over the whole vector space N, for every evaluated change to the vector y(n) in pursuit of reaching the L1-norm K, where an exact K is required for the subsequent PVQ-enumeration step.


Unit Energy Normalized PVQ-Shape Search Introduction.


The goal of the PVQ(N,K) shape search procedure is to find the best scaled and unit energy normalized vector xq(n)·xq(n) is defined as:














x
q

=

y



y
T


y








(
12
)







where y=yN.K is a point on the surface of an N-dimensional hyper-pyramid and the L1 norm of yN,K is K. I.e. yN.K is the selected integer shape code vector of size N according to:










y

N
,
K


=

{


e
:




i
=
0


N
-
1






e
i





=
K

}





(
13
)







I.e. xq is the unit energy normalized integer sub vector yN.K.


The best integer shape y vector is the one minimizing the mean squared shape error between the target vector x(n) and the scaled unit energy normalized quantized output vector xq. This is achieved by minimizing the following shape distortion:










d
PVQ

=



-

x
T




x
q


=

-


(


x
T


y

)




y
T


y









(
14
)







or equivalently maximizing the quotient QPVQ, e.g. by squaring numerator and denominator:










Q
PVQ

=




(


x
T


y

)

2



y
T


y


=



(

corr
xy

)

2


energy
y







(
15
)







where corrxy is the correlation between target x and PVQ integer vector y. In the search of the optimal PVQ vector shape for integer vector y(n) with L1-norm K, iterative updates of the QPVQ variables are made in the all positive “quadrant” in N-dimensional space according to:





corrxy(k,n)=corrxy(k−1)+1·x(n)  (16)





energyy(k,n)=energyy(k−1)+2·12−y(k−1,n)+12  (17)


where corrxy(k−1) signifies the correlation achieved so far by placing the previous k−1 unit pulses, and energyy(k−1) signifies the accumulated energy achieved so far by placing the previous k−1 unit pulses, and y(k−1, n) signifies the amplitude of y at position n from the previous placement of k−1 unit pulses. To allow flexible dynamic scaling of the energy denominator, an optional temporary inloop energy value enloopy(k,n) may be used instead of energyy(k,n) (Eq. 17) and thus for energyy in (Eq. 15) however in this description they have the same value.











Q
PVQ



(

k
,
n

)


=




corr
xy



(

k
,
n

)


2



enloop
y



(

k
,
n

)







(
18
)







In the fine shape search the best position nbest for the k′th unit pulse, is iteratively updated by increasing n linearly from 0 to N−1:






n
best
=n, if QPVQ(k,n)>QPVQ(k,nbest)  (19)


To avoid costly divisions, which is especially important in fixed point arithmetic, the QPVQ maximization update decision is performed using a cross-multiplication of the saved best squared correlation numerator bestCorrSq and the saved best energy denominator bestEn so far.















n
best

=
n






bestCorrSq
=



corr
xy



(

k
,
n

)


2







bestEn
=


enloop
y



(

k
,
n

)






}

,






if









corr
xy



(

k
,
n

)


2

·
bestEn


>

bestCorrSq
·


enloop
y



(

k
,
n

)








(
20
)







The iterative maximization of QPVQ(k, n) may start from a zero number of placed unit pulses or from an adaptive lower cost pre-placement number of unit pulses, based on a projection to a point on or below the K′th-pyramid's surface, with a guaranteed hit or undershoot of unit pulses in the target L1 norm K.


PVQ Pre-Search Projection.


A low cost projection to the K or K−1 sub pyramid may be made and used as a starting point for y. This will save the number of operations an iterative fine PVQ-search will need to perform to reach K. The low cost projection to “K” or slightly lower than K is typically less computationally expensive in DSP cycles than repeating an iterative unit pulse inner loop test (Eq 20) N*K times, however there is a drawback with the low cost projection that it may produce an inexact result due to the use of a non-linear N-dimensional floor application. The resulting L1-norm of the low cost projection may typically be anything between “K” to roughly “K−4”, i.e. the result after the projection usually needs to be fine searched to reach the required target L1-norm of K.


The low cost projection may be performed as:










proj
fac

=

K




n
=
0


n
=

N
-
1





xabs


(
n
)








(
21
)








y


(
n
)


=



y
start



(
n
)


=




xabs


(
n
)


·

proj
fac






,






for





n

=


0











N

-
1






(
22
)







In preparation for the fine search to reach the K′th-pyramid's surface, the accumulated number of unit pulses pulsetot, the accumulated correlation corrxy(pulsetot) and the accumulated energy energyy(pulsetot) for the starting point is computed as:










pulse
tot

=




n
=
0


n
=

N
-
1





y


(
n
)







(
23
)








corr
xy



(

pulse
tot

)


=




n
=
0


n
=

N
-
1






y


(
n
)


·

xabs


(
n
)








(
24
)








energy
y



(

pulse
tot

)


=





n
=
0


n
=

N
-
1






y


(
n
)


·

y


(
n
)




=



y



L





2







(
25
)








enloop
y



(

pulse
tot

)


=


energy
y



(

pulse
tot

)






(
26
)







PVQ Fine Shape Search.


The final integer shape vector y(n) of dimension N should adhere to the L1 norm of K pulses. The fine search starts from a lower point in the pyramid and iteratively finds its way to the surface of the N-dimensional K′th hyperpyramid. The K-value in the fine search can typically range from 1 to 512 unit pulses. I.e. by employing (Eq. 20) until the desired L1-norm of K has been reached.


PVQ Shape-Vector Finalization and Normalization.


After the fine shape search each non-zero PVQ-sub-vector element is assigned its proper sign and the xq(n) vector is L2-normalized to unit energy.













if


(


y


(
n
)


>
0

)




(


x


(
n
)


<
0

)




y


(
n
)



=

-

y


(
n
)




,






for





n

=
0

,





,

N
-
1





(
27
)







norm
gain

=

1



y
T


y







(
28
)









x
q



(
n
)


=


norm
gain

·

y


(
n
)




,


for





n

=
0

,





,

N
-
1





(
29
)







Inverse Transform.


The obtained shape vectors rtoutl_en1norm, rtregAB_en1norm, rtregA_en1norm are transformed back to the unwarped domain by applying the inverse warping/transform. In case of RDCT (“R”) the inverse RDCT, RIDCT(“RT”) is applied, in case of DCT (“D”), the inverse DCT, IDCT (“DT”) is applied. I.e. here we make use of the fact that R·RT=I and D·DT=I, in matrix notation, where I is the identity matrix. In case of the second stage LSF residual quantizer using Hadamard, the Hadamard transform (H) is applied again, making use of the fact that H·H=I in matrix notation.


The resulting unwarped vectors in the LSF residual domain are called routl_en1norm, rregAB_en1norm and rregA_en1norm. In case the shape search was discontinued after determining rtoutl_en1norm, only the vector routl_en1norm, will need to be transformed into the LSF residual domain, saving average complexity when outlier vectors are identified early in the search process.


Inverse RDCT Transform Application Example

Given R as the normalized RDCT matrix and with an example unit energy stage 2 vector,


rten1=[6.6691 −16.4483 5.0226 −0.8074 1.6795 −0.2607 0.3087 −0.2174 . . . 0.1582−0.1421 0.0911−0.0823 0.0505−0.0432 0.0235−0.0128]/(3440.5)


then LSFR2,en1=rten1·RT becomes (inverse warping, IRDCT)


LSFR2,en1=[−0.3774 −0.3235 −0.2696 −0.2157 −0.1617 −0.1078 −0.0539 0.0000 0.0539 0.1078 0.1617 0.2157 0.2696 0.3235 0.3774 0.4313]
Inverse Hadamard Transform Application Example

Given H as the normalized Hadamard matrix, and with an example stage 2 unit energy normalized vector


rten1=[2 −2 −4 0 −8 0 0 0 −16 0 0 0 0 0 0 0] (3440.5),


then LSFST2,en1=rten1′H becomes (inverse warping as HH=I)


LSFR2,en1=[−0.3774 −0.3235 −0.2696 −0.2157 −0.1617 −0.1078 −0.0539 −0.0000 0.0539 0.1078 0.1617 0.2157 0.2696 0.3235 0.3774 0.4313]
Inverse DCT Transform Application Example

Given D as the normalized DCT matrix and with an example unit energy stage 2 vector


rten1=[2.0000 −18.3115 0.0000 −2.0075 −0.0000 −0.7016 0 −0.3395 0 −0.1877 0 −0.1071 −0.0000 −0.0560 0.0000 −0.0175]/(3440.5)


then LSFR2,en1=rten1·DT becomes (inverse warping DCT)


LSFR2,en1=[−0.3774 −0.3235 −0.2696 −0.2157 −0.1617 −0.1078 −0.0539 0.0000 0.0539 0.1078 0.1617 0.2157 0.2696 0.3235 0.3774 0.4313]

Stage 2 Final Shape and Gain Determination in the LSF Residual Domain.


A Weighted MSE determination is made to determine the best quantized stage 2 LSF residual vector gi_best_comb*GMEANST2*[rst2,i_be st_comb] among the available scalar gain-factors and the available shape-vector alternatives.






err
wmse,i_combn=015(wn)2([LSFR2(n)]−gicomb*GMEANST2*[rst2,i_comb(n)])2   (30)


the allowed gain shape combinations are made up of the allowed gain and shape combinations. Further it should be noted that by setting all the weights wn to 1.0 one will get the MSE criterion. E.g. for the 38 bit LSF-residual quantizer setup the following set of eight combinations are evaluated.









TABLE 5







Available gain shape combinations in LSF-residual domain


for the 38 bit example LSF-stage 2 algorithmic VQ.













Gain-shape


Submode index





search
Gain

isubmode
gain
Set {B} ‘PVQ’


combination
candidate
Candidate
(0 = outlier,
index
shape index
Combination/shell


index icomb
gi
shape [rst2,i]
1 = regular)
igain
Ishape,B
description





0
2−1
[routlen1norm]
0
0
n/a
Low energy outlier








shell


1
2−1/3
[routlen1norm]
0
1
n/a
Quite low energy








outlier shell


2
21/3 
[routlen1norm]
0
2
n/a
Quite high energy








outlier shell


3
21
[routlen1norm]
0
3
n/a
High energy outlier








shell


4

2−1/12

[rregABen1norm]
1
0
>0
Regular/nominal








energy shell








both set {A, B}


5
21/12
[rregABen1norm]
1
1
>0
Regular/nominal








shell both set {A, B}


6

2−1/12

[rregAen1norm]
1
0
0
Regular/nominal








shell only set {A}


7
21/12
[rregAen1norm]
1
1
0
Regular/nominal








shell only set {A}









Note that this evaluation can be performed in a closed search loop over all allowed combination alternatives (icomb), resulting in an index i_best_comb, indicating the combination with the lowest mean square error.


However, one may, alternatively, first establish the best quantized gain alternative for each shape of the three shape alternatives ([routl_en1norm], [rregAB_en1norm], [rregA_en1norm]), and then determine the minimum weighted MSE, WMSE, among the then three remaining gain-shape options according to the errWMSE equation above.


After the encoder side WMSE or MSE minimization the following assignments are made:






g
hat
=g
i_best_comb





LSFR2,en1=rst2,i_best_comb


Further, Isubmode, Igain and Ishape,B are set corresponding to the established Ibest_comb


Stage 2 Shape and Gain Determination in the Warped LSF Residual Domain.


Another complexity-wise attractive alternative to establish ghat and LSFR2,en1 is to evaluate the possible gain-shape combination in the warped domain as this will then only require one transformation of one single selected best gain-shape combination. The drawback is that the weights wn will no longer represent a single frequency point in the LSF-residual domain, for that reason all the weights may be set to 1.0 in a lowest complexity solution.






err
t-wmse,i_comb=





Σn=015(wn([LSFRT2(n)]−gicombGMEANST2[rtst2,i_comb(n)]))  (1)


After the selection of ibest_comb based on errt-wmse,i_comb the warped domain vector rtst2,i_comb is warped back to the unwarped LSF-residual domain by applying the IRDCT, IDCT or Hadamard, resulting in rst2,i_best_comb. The table 6 shows the gain-shape combinations for a warped domain (W)MSE search in the 38 bit example case.









TABLE 6







Available gain shape combinations in the warped LSF-residual


domain for the 38 bit example LSF-stage 2 algorithmic VQ.













Gain-shape


Submode index





search
Gain
Candidate
isubmode
gain
Set {B} ‘PVQ’


combination
candidate
warped shape
(0 = outlier,
index
shape index
Combination/shell


index icomb
gi
[rtst2,i]
1 = regular)
igain
Ishape,B
description





0
2−1
[routlen1norm]
0
0
n/a
Low energy outlier








shell


1
2−1/3
[rtoutlen1norm]
0
1
n/a
Quite low energy








outlier shell


2
21/3 
[rtoutlen1norm]
0
2
n/a
Quite high energy








outlier shell


3
21
[rtoutlen1norm]
0
3
n/a
High energy outlier








shell


4

2−1/12

[rtregABen1norm]
1
0
>0
Regular/nominal








energy shell








both set {A, B}


5
21/12
[rtregABen1norm]
1
1
>0
Regular/nominal








shell both set {A, B}


6

2−1/12

[rtregAen1norm]
1
0
0
Regular/nominal








shell only set {A}


7
21/12
[rtregAen1norm]
1
1
0
Regular/nominal








shell only set {A}









Synthesis of the Final Quantized LSF-Vector LSFg.


The quantized LSF vector is obtained by combining the mean vector, the stage 1 contribution and a scaled unit energy stage 2 contribution.





LSFq=[LSFMean]+[LiL HiH]+ghat*GMEANST2*[LSFR2,en1]


In the decoder FIG. 8 one may identify that [LiL HiH] corresponds to LSFst1,dec, and ghat*GMEANST2*[LSFR2,en1] corresponds to LSFst2,dec, and that the warped back version of the unit energy vector rten1,dec, corresponds to LSFR2,en1.


Enumeration of the PVQ Integer Vectors into Shape Indices.


In case of the outlier mode, the integer vector rtoutl,lin, is enumerated into an index Ishape,outl, using known PVQ-enumeration techniques, such as the computationally efficient Modular PVQ enumeration scheme, MPVQ-scheme, described below, or possibly a variation of Fischer's original PVQ-enumeration.


In case the regular submode is selected, the 16 dimensional integer vector rtregAB,lin or rtregA,lin is enumerated into two PVQ-indices Ishape,A, Ishape,B, using known PVQ-enumeration techniques, such as the computationally efficient MPVQ-scheme described below, or possibly a variation of Fischer's original enumeration.


In case only the first set of coefficients A is to be transmitted, e.g. when icomb is 6 or 7 in the 38 bit example above, the Ishape,B Index is set to 0, and no PVQ enumeration for the second set of coefficients B takes place. Ishape,A is obtained by PVQ-enumerating the set A coefficients in rtregA,lin.


In case both sets of coefficients {A, B} are to be transmitted, e.g. when icomb is 4 or 5 in the 38 bit example above, the Ishape,B index is initially obtained by PVQ-enumerating the set B coefficients in rtregAB,lin. Following this enumeration, an offset of 1 is added to Ishape,B to make code space for the all zero B-shape. An “all zero” means no shape at all for the set B points, i.e. when zeroed the second set of coefficients B do not have any energy, nor any shape/direction.


The Ishape,A index is obtained by PVQ-enumerating the set A coefficients in rtregAB,lin.


Example PVQ enumeration scheme: MPVQ short codeword enumeration of integer vector ZN.K


The zN,K integer vector with dimension N and an L1-norm of K, where K is K unit pulses, may be enumerated using a method that divides the PVQ shape index into two shorter codewords which are composed as follows:


a first codeword representing the first sign encountered in the integer vector independent of its position;


a second codeword representing, in a recursive fashion, all the remaining pulses in the remaining vector which is now guaranteed to have a leading positive pulse. The second codeword is enumerated using the recursive structure displayed in Table 7 below. The recursive structure defines an U(N,K)offset matrix and enables the recursion computations to stay within the B−1 dynamics of a B bits signed integer.









TABLE 7







Modular-PVQ (MPVQ) enumeration structure









Lead




value
Section size
Section definition





K
1
The all pulses consumed case;




zeroes in remaining dimensions


K − 1
2 · U (N, K)
All initial pulse amplitude cases with a


.

subsequent new leading sign, (positive or


.

negative).


.


1


0
NMPVQ (N − 1, K)
The no initial pulse consumed cases;


.

the current leading sign is kept for the next


.

dimension.


.


0









From Table 7 it can be seen that the total number of entries, with the very first leading sign information removed, can be expressed as:






N
MPVQ(N,K)=1+2·U(N,K)+NMPVQ(N−1,K)  (32)


Combining (32) with Fischer's original PVQ-recursion, the total number of entries can be expressed as:






N
MPVQ(N,K)=1+U(N,K)+U(N,K+1)  (33)


Runtime computed or stored values of the U(N,K) matrix may now be used as the basis for the MPVQ-enumeration and the update of the symmetric U matrix from row N−1 to row N can be performed as:






U(N,K+1)=1+U(N−1,K)+U(N−1,K+1)+U(N,K),  (34)


with initial conditions, U(N,0)=U(N,1)=U(0,K)=U(1,K)=0.


The two short MPVQ codewords may now be combined into a joint PVQ-index indexd, (indexshape,=codeword(1)+2*codeword(2)), a PVQ index which is uniquely decodable to the integer vector ZN.K.


The bits that are to be transmitted are, in the embodiment, first sent to a multiplexing unit of the encoder where the bits are multiplexed. Thereafter, the multiplexed bits are transmitted over a communication channel to the decoder.


Stage 1 indices iL and iH, are sent to the multiplexing unit. It is noted that the [LSFMean] vector, i.e. the long term average LSF coefficient vector, is not transmitted, it is stored in a ROM in both the encoder an the decoder.


If the selected submode is the regular submode, a single bit with value 1 is transmitted to the multiplexing unit. This is for the exemplary embodiment where there are only two submodes to select from: a regular submode and an outlier submode. If there are more than two submodes to select from, a corresponding number of bits are needed.


If the selected submode is the outlier submode, a single bit with value 0 is transmitted to the multiplexing unit. Of course it may also be the opposite, i.e. a 1 is transmitted when the outlier submode is selected and a 0 is transmitted when the regular submode is selected. Anyhow, the decoder needs to know in advance the interpretation of a “0” and a “1”.


The fine gain index igain (see Table 5) corresponding to the determined fine gain gi is sent to the multiplexing unit. It is noted that the value GMEANST2, i.e. the long term average stage 2 gain, is in this embodiment not transmitted, it is stored in ROM in both encoder an decoder.


The integer pulse vector (rt in FIG. 7) corresponding to the selected best combination have been forwarded to a PVQ-enumeration unit. The PVQ enumeration unit may e.g. use the efficient MPVQ enumeration as in [EVS 3GPP TS26.445 v13.0.0 sections 5.3.4.2.7.4 “PVQ short codeword indexing” and 6.2.3.2.6.3 “PVQ sub-vector MPVQ de-indexing”].


For the outlier mode there is, in one embodiment, one shape index to transmit Ishape,outl


The number of possible values for Ishape,outl is given by SIZEshape,outl=NPVQ(N=16,K=Ko) preferably stored in ROM.


For example, for the 38 bit case, N is 16 and Ko is 8, which results in a PVQ total dimension of NPVQ(16,8)=30316544, i.e. SIZEshape,outl=30316544.


In the case there is an arithmetic or range encoder that supports fractional bit resolution available in the encoder, the value of Ishape,outl and the size parameter SIZEshape,outl, are forwarded to the arithmetic (or range) encoder, for multiplexing into the bit-stream. The arithmetic/range encoder may use a uniform Probability Density Function, PDF, to encode the shape index.


In the case no arithmetic or range encoder is available in the encoder, the index Ishape,outl, is sent to the multiplex unit and multiplexed using ceil(log 2(SIZEshape,outl)) bits, (25 bits in the 38 bit example)


For the regular mode there are two shape indices to transmit IshapeA and IshapeB.


The number of possible values for of IshapeA is given by SIZEshapeA=NPVQ(Na=10,K=Ka), preferably stored in the ROM. The number of possible values for of IshapeB is given by SIZEshapeB=1+NPVQ(Nb=6,K=Kb), preferably stored in the ROM.


For example, for the 38 bit case, Na is 10 and Ka is 10, which results in a PVQ total dimension of NPVQ(10,10)=4780008 i.e. SIZEshapeA=4780008, and Nb is 6 and Kb is 1, which results in a PVQ total dimension of 1+NPVQ(6,1)=1+12, i.e. SIZEshapeB=12+1=13.


In the case there is an arithmetic or range encoder that supports fractional resolution available in the encoder, the values of shape indices Ishape,A, Ishape,B and the size parameters SIZEshapeA SIZEshapeB are forwarded to the arithmetic (or range) encoder, for multiplexing into the bit-stream. The arithmetic/range encoder may use a uniform PDF to encode these shape indices.


In the case no arithmetic or range encoder is available, the index Ishape,A is sent to the multiplex unit and multiplexed using ceil(log 2(SIZEshapeA)) bits, (23 bits in the 38 bit example).


In the case no arithmetic or range encoder is available the index Ishape,B is sent to the multiplex unit and multiplexed using ceil(log 2(SIZEshapeB)) bits, (4 bits in the 38 bit example).


Table 8 gives on overview of encoded bits as sent to the multiplexing unit, for the 38 bit example.









TABLE 8







Multiplexing of Stage 1 indices and Stage 2 gain-shape information.











ENCODER SEARCH

Stage 2












SELECTED GAIN-

Submode index














SHAPE COMBINATION
Stage1
Stage
(0 = outlier,
Stage 2
Stage 2



INDEX ICOMB
Low
1 high
1 = regular)
gain
‘PVQ’ shape
Combination/shell


(NOT TRANSMITTED)
(5 bits)
(5 bits)
(1 bit)
index
index
description
















0-3
iL
iH
0
igain
Ishape,outl
Outlier shell






(2 bits)
(24.8536 fractional bits)














4-5


1
igain
IshapeA
IshapeB>0
Regular shell






(1 bit)
(22.1886
(3.7004
both set {A, B}







fractional
fractional
shapes







bits)
bits)


6-7





IshapeB=0
Regular shell








(3.7004
only set {A}








fractional
shape








bits)









Decoder Operation

In general the decoder performs a submode index isubmode, guided operations of the encoder results, to end up with the quantized LSFs (denoted LSFq), as the required information for constructing the quantized LSFs has been transmitted from the encoder to the decoder, for example as indices.


Receiving and De-Multiplexing the Bits into Signals.

    • 1. The decoder obtains iL, iH, isubmode, igain, ishapeOutI/(ishapeA, ishapeB) over a communication channel from the decoder. If isubmode indicates that outlier mode is used, ishapeOutl_ is sent, If isubmode indicates that regular mode is used, ishapeA, ishapeB_ is sent. The obtained data is received at an input unit, which may be a de-multiplexing unit of the decoder.
    • 2. The decoder obtains iL and iH from the demultiplexing unit, and decodes the first stage codewords iL and iH into vectors [LiL HiH] using e.g. conventional table lookup.
    • 3. The decoder obtains isubmode from the de-multiplexing unit
      • a. in case isubmode is 0, it is an indication to the decoder that the outlier submode was used by the encoder. Then the outlier submode decoding steps of the decoder are followed:
        • i. gain index igain is obtained from the de-multplexing unit and decoded into gain value ghat;
        • ii. shape index ishape,outl is obtained from the de-multiplexing unit, or from an arithmetic/range decoder unit;
        • iii. A PVQ inverse enumeration module, e.g. an MPVQ-scheme decoder converts the shape index ishape,outl into a PVQ integer vector rtlin of length N with L1-norm Ko;
        • iv. Vector rtlin is re-sorted into the LSF-residual domain order as rt.
      • b. in case isubmode is 1, it is an indication to the decoder that the regular submode was used by the encoder. Then the regular submode decoding steps are followed:
        • i. gain index igain is obtained from the demultiplexing unit and decoded into gain value ghat;
        • ii. the first shape index ishapeA is obtained from the demultiplexing unit, or from an Arithmetic/range decoder;
        • iii. the PVQ inverse enumeration module, e.g. an MPVQ-scheme decoder, converts the shape index ishape,A into a PVQ integer vector rtlinA of length Na with L1-norm Ka.
        • iv. the second shape index ishape,B is obtained from the multiplexing unit, or from the Arithmetic/range decoder;
        • v. If ishape,B>0, the PVQ inverse enumeration module, e.g. the MPVQ-scheme decoder, converts the second shape index ishape,B-1 into a PVQ integer vector rtlinB of length Nb with L1-norm Kb;
        • vi. If ishape,B equals 0, rtlinB is set to a vector of zeroes of length Nb;
        • vii. vectors rtlinA and rtlinB are re-sorted into the LSF-residual domain order as vector rt of length (Na+Nb).
    • 4. The integer vector rt is normalized into a unit energy vector LSFR2T,en1,dec
    • 5. The unit energy vector LSFR2T,en1,dec is warped back to the LSF residual domain by applying the IRDCT, the IDCT or the Hadamard on the unity energy vector, thereby receiving the LSF residual vector LSFR2,en1,dec


Decoder Synthesis of the Final Quantized LSF-Vector LSFg.


To obtain the quantized version of LSFin, denoted LSFq, at the decoder side, the following summation of the mean LSF and the stage 1 and stage 2 contribution is made.





LSFq=[LSFMean]+[LiL HiH]+ghat*GMEANST2*[LSFR2,en1,dec]


LSFq is now available in the decoder, for use by the overall decoding process, e.g. to represent the Direct-form AR-coefficients in 1/A(z) in a Linear Predictive time domain decoder or to represent a frequency envelope shape in a frequency domain decoder.


In the following, example tables for stage1 and stage 2 scaling operations and transforms in ANSI-C syntax are given.


Hadamard(16) Normalized Transform Coefficients

{0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, 0.250, 0.250, 0.250, −0.250, −0.250, −0.250, −0.250, 0.250, 0.250, 0.250, 0.250, −0.250, −0.250, −0.250, −0.250, 0.250, −0.250, 0.250, −0.250, −0.250, 0.250, −0.250, 0.250, 0.250, −0.250, 0.250, −0.250, −0.250, 0.250, −0.250, 0.250, 0.250, 0.250, −0.250, −0.250, −0.250, −0.250, 0.250, 0.250, 0.250, 0.250, −0.250, −0.250, −0.250, −0.250, 0.250, 0.250, 0.250, −0.250, −0.250, 0.250, −0.250, 0.250, 0.250, −0.250, 0.250, −0.250, −0.250, 0.250, −0.250, 0.250, 0.250, −0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, 0.250, −0.250, −0.250, −0.250, −0.250, −0.250, −0.250, −0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, 0.250, 0.250, 0.250, 0.250, −0.250, −0.250, −0.250, −0.250, −0.250, −0.250, −0.250, −0.250, 0.250, 0.250, 0.250, 0.250, 0.250, −0.250, 0.250, −0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, −0.250, 0.250, 0.250, −0.250, 0.250, −0.250, 0.250, 0.250, −0.250, −0.250, −0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, 0.250, 0.250, −0.250, −0.250, 0.250, −0.250, −0.250, 0.250, −0.250, 0.250, 0.250, −0.250, −0.250, 0.250, 0.250, −0.250, 0.250, −0.250, −0.250, 0.250};


I.e. the first column of had_fwd_st2_fl (all values equal to +0.25), produces the DC coefficient when applying the Hadamard transform.


The first row column of had_fwd_st2_fl, (also with all values equal to +0.25), produces the first coefficient when applying the inverse Hadamard transform.


It should be noted that for the Hadamard matrix case, the transpose of the Hadamard matrix is the Hadamard matrix itself.


This Hadamard table can be saved in ROM as 16 16-bit words, as all the values have the same magnitude “0.25”. The only difference is the signs, which may be represented by a single bit per matrix coefficient.


RDCT(16) Normalized Transform Coefficients

The RDCT coefficients were obtained by offline matching the LSF-residual inter-coefficient amplitude correlation to its neighbouring coefficients (e.g ACF(1) analysis of on a large database given that abs(LSFR2(n)) is 1.0, abs(LSFR2(n−1)) and abs (LSFR2(n+1)) both will approximately have a value of 0.25). The RDCT matrix is created by designing a first rotational warping matrix R creating an approximation of these inter-coefficient amplitude correlations, and then combining matrix R with a set of DCT basis vectors into the single RDCT(16×16) matrix named st2_rdct_fwd_fl


In the table, the RDCT scaling factors are stored column wise, and the IRDCT scaling factors stored row wise.


{0.115, 0.473, 0.104, 0.475, 0.069, 0.437, 0.062, 0.382, 0.050, 0.313, 0.041, 0.233, 0.028, 0.143, 0.012, 0.051, 0.129, 0.449, 0.115, 0.312, 0.040, 0.048, −0.020, −0.231, −0.072, −0.431, −0.101, −0.487, −0.095, −0.377, −0.049, −0.149, 0.154, 0.400, 0.112, 0.046, −0.058, −0.368, −0.150, −0.456, −0.105, −0.138, 0.030, 0.301, 0.141, 0.472, 0.114, 0.236, 0.183, 0.331, 0.065, −0.215, −0.195, −0.432, −0.118, 0.045, 0.150, 0.451, 0.176, 0.132, −0.082, −0.396, −0.191, −0.302, 0.210, 0.252, −0.033, −0.376, −0.247, −0.121, 0.149, 0.421, 0.187, −0.041, −0.222, −0.405, −0.102, 0.196, 0.242, 0.343, 0.230, 0.174, −0.158, −0.395, −0.117, 0.250, 0.303, 0.113, −0.219, −0.377, −0.060, 0.305, 0.285, 0.042, −0.235, −0.361, 0.242, 0.101, −0.270, −0.292, 0.129, 0.370, 0.065, −0.329, −0.236, 0.175, 0.328, 0.036, −0.309, −0.239, 0.163, 0.365, 0.248, 0.031, −0.338, −0.110, 0.323, 0.170, −0.289, −0.227, 0.247, 0.277, −0.194, −0.315, 0.133, 0.346, −0.046, −0.358, 0.253, −0.039, −0.352, 0.094, 0.332, −0.164, −0.297, 0.222, 0.254, −0.269, −0.199, 0.307, 0.138, −0.336, −0.091, 0.340, 0.260, −0.107, −0.313, 0.251, 0.143, −0.333, 0.072, 0.294, −0.263, −0.158, 0.364, −0.032, −0.344, 0.214, 0.225, −0.305, 0.272, −0.163, −0.225, 0.299, −0.149, −0.197, 0.385, −0.090, −0.279, 0.296, −0.076, −0.239, 0.364, −0.032, −0.342, 0.251, 0.288, −0.198, −0.091, 0.227, −0.388, 0.078, 0.236, −0.265, 0.299, 0.026, −0.352, 0.256, −0.163, −0.125, 0.426, −0.181, 0.305, −0.205, 0.080, 0.091, −0.416, 0.204, −0.251, −0.020, 0.321, −0.211, 0.376, −0.062, −0.172, 0.187, −0.451, 0.109, 0.318, −0.187, 0.258, −0.024, −0.179, 0.118, −0.467, 0.145, −0.336, 0.044, 0.093, −0.096, 0.439, −0.152, 0.400, −0.050, 0.325, −0.159, 0.401, −0.074, 0.191, −0.010, −0.096, 0.047, −0.346, 0.090, −0.480, 0.102, −0.451, 0.080, −0.274, 0.015, 0.329, −0.140, 0.480, −0.080, 0.460, −0.064, 0.412, −0.056, 0.350, −0.046, 0.274, −0.035, 0.189, −0.022, 0.097, −0.002};


I.e. the values in the first column of rdct_fwd_st2_fl (all positive values [0.115 . . . 0.329]), produces the zeroth RDCT coefficient when applying the RDCT transform as matrix operation. Further, the first row column of rdct_fwd_st2_fl, produces the first inverse transformed coefficient IRDCT(1) when applying the IRDCT transform as a matrix operation.


DCT(16) Normalized Transform Coefficients

In the table, DCT scaling factors are stored column wise, IDCT scaling factors are stored row wise.


{0.250, 0.352, 0.347, 0.338, 0.327, 0.312, 0.294, 0.273, 0.250, 0.224, 0.196, 0.167, 0.135, 0.103, 0.069, 0.035, 0.250, 0.338, 0.294, 0.224, 0.135, 0.035, −0.069, −0.167, −0.250, −0.312, −0.347, −0.352, −0.327, −0.273, −0.196, −0.103, 0.250, 0.312, 0.196, 0.035, −0.135, −0.273, −0.347, −0.338, −0.250, −0.103, 0.069, 0.224, 0.327, 0.352, 0.294, 0.167, 0.250, 0.273, 0.069, −0.167, −0.327, −0.338, −0.196, 0.035, 0.250, 0.352, 0.294, 0.103, −0.135, −0.312, −0.347, −0.224, 0.250, 0.224, −0.069, −0.312, −0.327, −0.103, 0.196, 0.352, 0.250, −0.035, −0.294, −0.338, −0.135, 0.167, 0.347, 0.273, 0.250, 0.167, −0.196, −0.352, −0.135, 0.224, 0.347, 0.103, −0.250, −0.338, −0.069, 0.273, 0.327, 0.035, −0.294, −0.312, 0.250, 0.103, −0.294, −0.273, 0.135, 0.352, 0.069, −0.312, −0.250, 0.167, 0.347, 0.035, −0.327, −0.224, 0.196, 0.338, 0.250, 0.035, −0.347, −0.103, 0.327, 0.167, −0.294, −0.224, 0.250, 0.273, −0.196, −0.312, 0.135, 0.338, −0.069, −0.352, 0.250, −0.035, −0.347, 0.103, 0.327, −0.167, −0.294, 0.224, 0.250, −0.273, −0.196, 0.312, 0.135, −0.338, −0.069, 0.352, 0.250, −0.103, −0.294, 0.273, 0.135, −0.352, 0.069, 0.312, −0.250, −0.167, 0.347, −0.035, −0.327, 0.224, 0.196, −0.338, 0.250, −0.167, −0.196, 0.352, −0.135, −0.224, 0.347, −0.103, −0.250, 0.338, −0.069, −0.273, 0.327, −0.035, −0.294, 0.312, 0.250, −0.224, −0.069, 0.312, −0.327, 0.103, 0.196, −0.352, 0.250, 0.035, −0.294, 0.338, −0.135, −0.167, 0.347, −0.273, 0.250, −0.273, 0.069, 0.167, −0.327, 0.338, −0.196, −0.035, 0.250, −0.352, 0.294, −0.103, −0.135, 0.312, −0.347, 0.224, 0.250, −0.312, 0.196, −0.035, −0.135, 0.273, −0.347, 0.338, −0.250, 0.103, 0.069, −0.224, 0.327, −0.352, 0.294, −0.167, 0.250, −0.338, 0.294, −0.224, 0.135, −0.035, −0.069, 0.167, −0.250, 0.312, −0.347, 0.352, −0.327, 0.273, −0.196, 0.103, 0.250, −0.352, 0.347, −0.338, 0.327, −0.312, 0.294, −0.273, 0.250, −0.224, 0.196, −0.167, 0.135, −0.103, 0.069, −0.035}


I.e. the values in the first column of dct_fwd_st2_fl, i.e. all values equal to 0.25=1/sqrt(16), produces the DC coefficient when applying the DCT transform as a matrix operation.


Further, the first row column of dct_fwd_st2_fl, produces the first inverse transformed coefficient IDCT(x) when applying the IDCT transform as a matrix operation.


G_MEANST2 TABLE for various first stage base VQ-layer sizes 0 to 7 bits. G_MEANST2 contains experimentally obtained values over a very large database for mean scaling of a 2nd stage quantized residual vector, given a unit energy scaled PVQ-vector.


The gain-table may be produced by this function:


MeanGain_st2=2(x*−0.111645+−3.431255), which is using a log 2 linear relation for the mean gain and first stage base bits x, with x bits for each split.


float MeanGain_st2_fl[8]={0.0927047729f, 0.0794105530f, 0.0680236816f, 0.0582695007f, 0.0499153137f, 0.0427551270f, 0.0366249084f, 0.0313720703f};


I.e. G_MEANST2 when using a 2×5 bit first stage LSF-VQ is MeanGain_s2_fl[5]=0.0427551270f.


LSFmean Table

The LSFmean table may be trained off-line or simply use a linear spread of points over the normalized frequency unit circle range [0 . . . 1.0], where 1.0 corresponds to Fs/2, i.e. half the sampling frequency. An example of an LSFmean table:


{0.0604248047f, 0.1060791016f, 0.1582641602f, 0.2119750977f, 0.2736206055f, 0.3338623047f, 0.3935546875f, 0.4495849609f, 0.5078125000f, 0.5642089844f, 0.6213378906f, 0.6777343750f, 0.7379150391f, 0.7984619141f, 0.8619995117f, 0.9247436523f}


Example of First Stage 8 Dimensional Codebooks {L, H} Using 5 Bits Each

LSF-residual codebooks L and H are typically trained offline on a large data set.


{−0.013, −0.018, −0.018, −0.012, 0.009, 0.029, 0.043, 0.046, −0.008, −0.012, −0.015, −0.018, −0.022, −0.028, −0.031, −0.032, −0.023, −0.036, −0.050, −0.060, −0.062, −0.041, −0.014, 0.001, 0.020, 0.024, 0.026, 0.018, −0.003, −0.023, −0.041, −0.049, 0.048, 0.091, 0.102, 0.099, 0.079, 0.063, 0.051, 0.042, −0.003, 0.001, 0.013, 0.016, 0.007, −0.005, −0.016, −0.023, −0.009, −0.004, 0.014, 0.046, 0.074, 0.085, 0.092, 0.093, −0.021, −0.031, −0.044, −0.056, −0.070, −0.073, −0.069, −0.055, 0.009, 0.007, 0.001, −0.009, −0.020, −0.020, −0.004, −0.001, −0.018, −0.027, −0.036, −0.040, −0.041, −0.037, −0.029, −0.020, −0.016, −0.017, −0.009, 0.009, 0.039, 0.056, 0.066, 0.070, −0.014, −0.019, −0.020, −0.013, 0.003, 0.013, 0.014, 0.015, 0.005, 0.016, 0.026, 0.032, 0.031, 0.031, 0.031, 0.031, 0.062, 0.073, 0.068, 0.065, 0.058, 0.047, 0.039, 0.036, −0.010, −0.014, −0.014, −0.011, −0.008, −0.007, −0.008, −0.008, 0.049, 0.050, 0.043, 0.050, 0.040, 0.029, 0.060, 0.060, −0.015, −0.023, −0.033, −0.036, −0.024, 0.004, 0.031, 0.038, 0.002, 0.004, 0.005, 0.003, 0.004, 0.003, 0.004, 0.003, 0.032, 0.039, 0.045, 0.045, 0.043, 0.032, 0.022, 0.014, 0.004, 0.003, −0.004, −0.015, −0.030, −0.042, −0.055, −0.059, 0.024, 0.028, 0.027, 0.024, 0.021, 0.016, 0.011, 0.007, 0.052, 0.067, 0.061, 0.049, 0.028, 0.012, −0.001, −0.010, 0.026, 0.029, 0.027, 0.019, 0.008, −0.003, −0.010, −0.016, 0.018, 0.036, 0.055, 0.081, 0.095, 0.098, 0.098, 0.096, 0.019, 0.027, 0.031, 0.038, 0.048, 0.052, 0.053, 0.055, 0.011, 0.010, 0.004, −0.005, −0.015, −0.020, −0.027, −0.032, −0.008, −0.004, 0.010, 0.023, 0.036, 0.042, 0.045, 0.046, −0.007, −0.004, 0.005, 0.014, 0.016, 0.014, 0.017, 0.020, 0.012, 0.027, 0.045, 0.064, 0.072, 0.075, 0.067, 0.058, 0.000, 0.028, 0.060, 0.094, 0.080, 0.053, 0.023, −0.001, −0.008, −0.015, −0.024, −0.034, −0.046, −0.057, −0.064, −0.060, −0.018, −0.026, −0.035, −0.038, −0.030, −0.011, 0.000, 0.005};


i.e. index iL=0 in codebook L yields vector:


{−0.013, −0.018, −0.018, −0.012, 0.009, 0.029, 0.043, 0.046}


and index iL=31 in codebook L yields vector:


{−0.018, −0.026, −0.035, −0.038, −0.030, −0.011, 0.000, 0.005}; {−0.066, −0.069, −0.071, −0.061, −0.035, −0.013, −0.002, 0.003, 0.026, 0.037, 0.048, 0.061, 0.063, 0.055, 0.041, 0.025, −0.083, −0.080, −0.057, −0.026, −0.002, 0.006, 0.009, 0.009, −0.037, −0.041, −0.046, −0.049, −0.036, −0.014, −0.008, −0.002, −0.002, −0.006, −0.017, −0.029, −0.046, −0.049, −0.010, 0.001, 0.029, 0.024, 0.017, 0.009, −0.003, −0.015, −0.022, −0.020, 0.057, 0.074, 0.093, 0.104, 0.091, 0.073, 0.050, 0.028, −0.002, 0.006, 0.018, 0.026, 0.032, 0.030, 0.023, 0.015, 0.024, 0.030, 0.035, 0.038, 0.036, 0.031, 0.023, 0.015, −0.054, −0.049, −0.040, −0.030, −0.022, −0.019, −0.011, −0.003, −0.038, −0.042, −0.045, −0.048, −0.050, −0.048, −0.042, −0.020, −0.029, −0.030, −0.038, −0.046, −0.059, −0.055, −0.005, 0.004, 0.024, 0.021, 0.018, 0.017, 0.014, 0.011, 0.008, 0.004, 0.001, 0.003, 0.005, 0.006, 0.008, 0.008, 0.007, 0.004, 0.113, 0.118, 0.111, 0.101, 0.082, 0.064, 0.044, 0.024, 0.066, 0.035, 0.000, −0.025, −0.024, 0.005, 0.010, 0.009, 0.060, 0.057, 0.050, 0.043, 0.030, 0.019, 0.009, 0.002, 0.038, 0.037, 0.034, 0.028, 0.019, 0.011, 0.005, 0.001, 0.109, 0.096, 0.058, 0.018, −0.015, −0.030, 0.003, 0.009, −0.032, −0.023, −0.008, 0.006, 0.017, 0.017, 0.014, 0.010, −0.022, −0.027, −0.031, −0.035, −0.032, −0.030, −0.029, −0.020, 0.095, 0.093, 0.085, 0.076, 0.060, 0.046, 0.030, 0.015, −0.001, −0.008, −0.016, −0.018, −0.006, 0.010, 0.012, 0.009, 0.012, 0.010, 0.003, −0.004, −0.010, −0.013, −0.006, −0.002, −0.025, −0.019, −0.011, −0.005, −0.003, −0.007, −0.008, −0.007, −0.013, −0.019, −0.030, −0.043, −0.050, −0.012, −0.004, −0.005, −0.035, −0.036, −0.034, −0.022, −0.004, 0.004, 0.006, 0.005, −0.018, −0.021, −0.027, −0.034, −0.049, −0.061, −0.066, −0.037, −0.052, −0.057, −0.063, −0.067, −0.067, −0.045, −0.024, −0.007, 0.003, −0.001, −0.007, −0.013, −0.023, −0.031, −0.036, −0.026, −0.011, −0.013, −0.017, −0.021, −0.020, −0.019, −0.016, −0.010, 0.061, 0.066, 0.066, 0.062, 0.052, 0.042, 0.030, 0.017};


i.e. index iH=0 in codebook H yields vector:


{−0.066, −0.069, −0.071, −0.061, −0.035, −0.013, −0.002, 0.003};


and index iH=31 in codebook H yields vector:


{0.061, 0.066, 0.066, 0.062, 0.052, 0.042, 0.030, 0.017};


In the following, Spectral distortion (with and without transforms) for Outlier mode, Regular mode, Combined mode will be discussed.


In FIG. 9, a box plot with the SD (Spectral Distortion) results for a 38 bit VQ realization are shown. A box plot shows the statistical distribution of a signal. In each box, the central mark is the median SD, the edges of the box are the 25th and 75th percentiles, the whiskers (lines) extend to the most extreme data points not considered outliers, and outliers are plotted individually as x's. SD is a standard measure within speech and audio coding showing how close the logarithmic FFT (Fast Fourier Transform) envelope of the quantized LSFs (denoted LSFq) is to the logarithmic FFT envelope of the un-quantized LSFs (LSFin). Typically one would like to achieve as low median value as possible, a quite condensed percentile box-area, and as few outliers as possible.


From left to right is shown:

    • 1. Locked to outlier mode SD-performance, with 2×5b stage1 quantization
    • 2. Locked to regular mode SD-performance, with 2×5b stage1 quantization
    • 3. Extended gain-shape mode SD-performance, with 2×7b stage1 quantization, 3 bits gain
    • 4. The combined outlier and regular mode SD-performance, with 2×5b stage 1 quantization


5. A dual stage trained Multistage Split Vector Quantizer, MS-SVQ, realization, SD-performance, with 2×7b stage1 quantization, and 24 bit stage 2 quantization. Where stage 2 is a Split-VQ to maintain reasonable complexity.


Weighted Million Operations per Second, WMOPS, figures are given for (3,4,5) in the list above. It can be seen that the 1.0 WMOPS combined mode(4) performs nearly as well as the 1.7 WMOPS MS-SVQ(5) and with fewer outlier points, and further it can be seen that the combined mode performs at least as well as a mode with a larger first stage(3), using 50% higher total complexity.


Table 9 shows complexity estimation for an LSF update rate of 100 Hz (every 10 ms),









TABLE 9







Complexity estimation








Module
WC-WMOPS





Legacy 2 × 8 bit 1st stage search
2 * 28 * 23cycles * 100 Hz = 1.2 WMOPS


Legacy 2 × 7 bit 1st stage search
2 * 27 * 23cycles * 100 Hz = 0.6 WMOPS


Proposed 2 × 5 bit 1st stage
2 * 25 * 23cycles * 100 Hz = 0.15 WMOPS


search


RDCT/DCT transform(N = 16)
16 * 3 + 16 * (16 + 2) cycles * 100 Hz = 0.03 WMOPS


IRDCT/IDCT transform (N = 16)


Hadamard Transform(N = 16)
16 * 3 + 16 * (log2(16) + 4) cycles * 100 Hz = 0.01



WMOPS










FIG. 10 depicts an example of a time domain signal, for which a frequency envelope is to be quantized by the proposed LSF quantizer. The example shown is 20 ms of a 16 kHz sampled signal.



FIG. 11 shows 1/A(z) poles and LSF/LSP frequency points for the time signal in FIG. 10. FIG. 11 depicts the position of the roots of 1/(Az), where A(z) is the result of a 10th order Linear Prediction analysis of the time signal in FIG. 10. The corresponding 10 LSFs that are to be transmitted are positioned on the top half of the unit circle as angles in the radian range 0 to pi, but typically one will use the linearly related frequency notation, where 0 radians corresponds to 0 Hz and pi radians corresponds to Fs/2, where Fs is the sampling frequency for the corresponding time signal.



FIG. 12 shows FFT spectrum of the time signal, the spectral envelope achieved by representing the signal with the 1/A(z) polynomial and the un-quantized LSF lines corresponding to 1/A(z). FIG. 12 depicts the spectral positions (along the frequency axis) of the LSFs corresponding to 1/(Az), where A(z) is the result of a 10th order Linear Prediction analysis of the Time signal in FIG. 10. For a signal with rather clear spectral peaks one may find that the 10 LSF coefficients that are to be quantized and transmitted to represent the spectral envelope, are located close to the spectral peaks of the signal, and further they appear in pairs close to each other. This peak/LSF-coefficient relationship for harmonic signal is often used to determine the LSF-quantizer weights in a speech/audio encoder as the spectral peaks have been found subjectively more important than spectral valleys.



FIG. 13 depicts a conceptual 2-D projected view of the shells and submodes of the proposed gain-shape LSF-quantizer, (It is conceptual as the locations of the various reconstruction points are not true Pyramid VQ points). In the figure there are several gain/energy shells available, with one regular “center” shell (solid circle) that has more reconstruction points (diamonds) in the composite dimension direction given by a set A, than in another composite dimension direction given by set B. Further there are several outlier shells (dotted circles) which have energies which differ from the regular shell. Each outlier shell has a reduced number of construction points in comparison to the regular “center” shell, and further each outlier shell does not have any dimensional set restriction to be able to handle all types of LSF-residual signals, in both gain and shape directions (i.e. the outlier set handles all dimensions equally and each energy shell has the same number of code points).


To maintain a low complexity, the search is first performed in the shape-only direction assuming optimal gain with the outlier submode resolution, and when that resolution has been achieved, the shape resolution is extended in the regular resolution set{A} dimensions, and possibly reduced in the regular resolution set{B} dimensions. In a second search step the total gain-shape error is evaluated for all the available energy shells.



FIG. 14 shows SD-performance in terms of a boxplot for the combined outlier plus regular shells for various warping schemes. The boxes are presented in decreasing median order as follows: Identity(=no transformation), H=Hadamard, D=DCT, R=Rotated(ACF)-DCT), in the figure the gain quantization for the 38 bit scheme has been turned off to not add noise to the comparison of the various warping schemes.


In FIG. 14 one can identify that there is a clear advantage to warp the LSF-input signal, as the Identity transform (no warping) performs considerably worse than the other schemes, further one can find that the Hadamard performs worse than the DCT and RDCT schemes, and further the RDCT warping has slightly better median SD-performance than the DCT, and a similar SD-outlier distribution.



FIG. 15 shows SD-performance in terms of a boxplot for the combined outlier plus regular shells for various fully quantized 38 bit warping schemes. The boxes are presented in decreasing median order as follows: 2×5 bits stage 1 and Identity(=no transformation); 2×5 bits stage 1 and H=Hadamard; 2×5 bits stage 1 and RDCT with the linear search option); 2×7 bits stage 1 and Identity(=no transformation); 2×5 bits stage 1 and DCT; 2×5 bits stage 1 and RDCT.


In FIG. 15 one can identify that there is a small cost associated with using the average complexity optimized linear search (an increase SD-spread is seen for third box with linear RDCT search), further one can find that with the gain quantization active the Hadamard warping scheme is now approaching the performance of the other warping scheme in terms of SD performance (in relation to the un-quantized gain results in FIG. 14).


In accordance with the above, an efficient low complexity method is provided for quantization of LSF coefficients.


According to embodiments, application of a Transform to the LSF-residual enables a very low rate and low complex first stage in the VQ without sacrificing performance.


According to embodiments, selection of an outlier sub-mode in a multimode PVQ quantizer enables efficient handling of LSF-residual outliers. Outliers have very high or very low energy/gains or an atypical shape.


According to embodiments, selection of a regular sub-mode in a multimode PVQ quantizer enables higher resolution coding of the most frequent/typical LSF-residual shapes.


According to embodiments, for enabling an efficient PVQ-search scheme, the outlier mode employs a non-split VQ while the regular non-outlier submode employs a split-VQ, with different bits/coefficient in each split segment. Further the split segments may preferably be a nonlinear sample of the transformed vector.


According to embodiments, application of an efficient dual(multi)-mode PVQ-search enables a very efficient search and sub-mode selection in a multimode PVQ-based gain-shape structure.


To perform the methods and actions herein, an encoder 1600 and a decoder 1800 are provided. FIGS. 16-17 are block diagrams depicting the encoder 1600. FIGS. 18-19 are block diagrams depicting the decoder 1800. The encoder 1600 is configured to perform the methods described for the encoder 1600 in the embodiments described herein, while the decoder 1800 is configured to perform the methods described for the decoder 1800 in the embodiments described herein.


For the encoder, the embodiments may be implemented through one or more processors 1603 in the encoder depicted in FIGS. 16 and 17, together with computer program code 1605 for performing the functions and/or method actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing embodiments herein when being loaded into the encoder 1600. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the encoder 1600. The encoder 1600 may further comprise a communication unit 1602 for wireline or wireless communication with e.g. the decoder 1800. The communication unit may be a wireline or wireless receiver and transmitter or a wireline or wireless transceiver. The encoder 1600 further comprises a memory 1604. The memory 1604 may, for example, be used to store applications or programs to perform the methods herein and/or any information used by such applications or programs. The computer program code may be downloaded in the memory 1604.


An audio encoder 1600 may comprise an apparatus for handling input Line Spectral Frequency, LSF, coefficients (LSFin), wherein the apparatus is configured to determine LSF residual coefficients (LSFR2) as first compressed LSF coefficients subtracted from the input LSF coefficients, and to transform the LSF residual coefficients (LSFR2) into a warped domain (LSFR2T); to apply one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients; and transmit, over a communication channel to a decoder, the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme.


The apparatus my further be configured to quantize the input LSF coefficients using a first number of bits and determine LSF residual coefficients (LSFR2) by subtracting the quantized LSF coefficients from the input LSF coefficients, wherein the transmitted first compressed LSF coefficients are the quantized LSF coefficients. The apparatus my further be configured to selectively apply one of the plurality of gain-shape coding schemes on the transformed LSF residual coefficients. The apparatus my further be configured to remove a mean from the input LSF coefficients. The apparatus my further be configured to transform the first compressed LSF coefficients into a warped domain.


The encoder 1600 may according to the embodiment of FIG. 17 comprise a determining module 1702 for determining LSF residual coefficients as first compressed LSF coefficients subtracted from the input LSF coefficients, and a transforming module 1704 for transforming the LSF residual coefficients into a warped domain. The encoder 1600 may further comprise an applying module for 1706 for applying one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients, and a transmitting module 1708 for transmitting, over a communication channel to a decoder, the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme.


For the decoder 1800, the embodiments herein may be implemented through one or more processors 1803 in the decoder 1800 depicted in FIGS. 18 and 19, together with computer program code 1805 for performing the functions and/or method actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing embodiments herein when being loaded into the decoder 1800. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the decoder 1800. The decoder 1800 may further comprise a communication unit 1802 for wireline or wireless communication with the e.g. the encoder 1600. The communication unit may be a wireline or wireless receiver and transmitter or a transceiver. The decoder 1800 further comprises a memory 1804. The memory 1804 may, for example, be used to store applications or programs to perform the methods herein and/or any information used by such applications or programs. The computer program code may be downloaded in the memory 1804.


An audio decoder 1800 may comprise an apparatus for handling input Line Spectral Frequency, LSF, coefficients (LSFin), wherein the apparatus is configured to receive, over a communication channel from an encoder (1600), a representation of first compressed LSF coefficients, gain-shape coded LSF residual coefficients, and information on an applied gain-shape coding scheme, applied by the encoder; to apply, one of a plurality of gain-shape decoding schemes on the received gain-shape coded LSF residual coefficients according to the received information on applied gain-shape coding scheme, in order to achieve LSF residual coefficients, where the plurality of gain-shape decoding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the gain-shape coded LSF residual coefficients; to transform the LSF residual coefficients from a warped domain into an LSF original domain, and to determine LSF coefficients as the transformed LSF residual coefficients added with the received first compressed LSF coefficients.


The apparatus may further be configured to de-quantize the quantized LSF coefficients using a first number of bits corresponding to the number of bits used for quantizing LSF coefficients at a quantizer of the encoder, and to determine the LSF coefficients as the transformed LSF residual coefficients added with the de-quantized LSF coefficients, wherein the received first compressed LSF coefficients are quantized LSF coefficients. The apparatus may further be configured to receive, over the communication channel from the encoder, the first number of bits used at a quantizer of the encoder.


The decoder 1800 may according to the embodiment of FIG. 19 comprise a receiving module 1902 for receiving, over a communication channel from an encoder, first compressed LSF coefficients, gain-shape coded LSF residual coefficients, and information on an applied gain-shape coding scheme, applied by the encoder. The decoder may further comprise an applying module 1904 for applying one of a plurality of gain-shape decoding schemes on the received gain-shape coded LSF residual coefficients according to the received information on applied gain-shape coding scheme, in order to achieve LSF residual coefficients, where the plurality of gain-shape decoding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the gain-shape coded LSF residual coefficients. The decoder may further comprise a transforming module 1906 for transforming the LSF residual coefficients from a warped domain into an LSF original domain, and a determining module 1908 for determining LSF coefficients as the transformed LSF residual coefficients added with the received first compressed LSF coefficients.


As will be readily understood by those familiar with communications design, functions from other circuits may be implemented using digital logic and/or one or more microcontrollers, microprocessors, or other digital hardware. In some embodiments, several or all of the various functions may be implemented together, such as in a single application-specific integrated circuit (ASIC), or in two or more separate devices with appropriate hardware and/or software interfaces between them.


From the above it may be seen that the embodiments may further comprise a computer program product, comprising instructions which, when executed on at least one processor, e.g. the processors 1603 or 1803, cause the at least one processor to carry out any of the methods described. Also, some embodiments may, as described above, further comprise a carrier containing said computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.


Although the description above contains a plurality of specificities, these should not be construed as limiting the scope of the concept described herein but as merely providing illustrations of some exemplifying embodiments of the described concept. It will be appreciated that the scope of the presently described concept fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the presently described concept is accordingly not to be limited. Reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” All structural and functional equivalents to the elements of the above-described embodiments that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed hereby. Moreover, it is not necessary for an apparatus or method to address each and every problem sought to be solved by the presently described concept, for it to be encompassed hereby. In the exemplary figures, a broken line generally signifies that the feature within the broken line is optional.


Example Embodiments



  • 1. A method performed by an encoder (1600) of a communication system (100) for handling input Line Spectral Frequency, LSF, coefficients (LSFin), the method comprising:
    • determining (204) LSF residual coefficients (LSFR2) as first compressed LSF coefficients subtracted from the input LSF coefficients;
    • transforming (206) the LSF residual coefficients (LSFR2) into a warped domain (LSFR2T),
    • applying (208), one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients; and
    • transmitting (210), over a communication channel to a decoder, the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme.



The steps of handling the LSF residual coefficients has an advantage in that it provides a computationally efficient handling that at the same time results in an efficient compression of the LSF residual. Consequently, the method results in a computation efficient and compression efficient handling of the LSF coefficients.


The LSF coefficients may also be called an LSF coefficient vector. Similarly, the LSF residual coefficients may be called an LSF residual coefficient vector. The warped domain may be a warped quantization domain. The application of one of the plurality of gain-shape coding schemes may be performed per LSF residual coefficient basis. For example, a first scheme may be applied for a first group of LSF residual coefficients and a second scheme may be applied for a second group of LSF residual coefficients.


The wording “resolution” above signifies number of bits used for a coefficient. In other words, gain resolution signifies number of bits used for defining gain for a coefficient and shape resolution signifies number of bits used for defining shape for a coefficient.

  • 2. Method according to embodiment 1, further comprising:
    • quantizing (202) the input LSF coefficients using a first number of bits, and wherein the determining (204) of LSF residual coefficients (LSFR2) comprises subtracting the quantized LSF coefficients from the input LSF coefficients, and the transmitted (210) first compressed LSF coefficients are the quantized LSF coefficients.


The above method has the advantage that it enables a low first number of bits used in the quantizing step.

  • 3. Method according to any of the preceding embodiments, wherein the applying (208) of one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients comprises selectively applying the one of the plurality of gain-shape coding schemes.


By selectively applying a gain-shape coding scheme the encoder can select the gain-shape coding scheme that is best suited for the individual coefficient.

  • 4. Method according to embodiment 3, wherein the selection in the selectively applying (208) of the one of the plurality of gain-shape coding schemes is performed by a combination of a PVQ shape projection and a shape fine search to reach a first PVQ pyramid code point over available dimensions on a per LSF residual coefficient basis.


The above embodiment has the advantage that it lowers average computational complexity.

  • 5. Method according to embodiment 3, wherein the selection in the selectively applying (208) of the one of the plurality of gain-shape coding schemes is performed by a combination of a PVQ shape projection and a shape fine search to reach a first PVQ pyramid codepoint over available dimensions followed by another shape fine search to reach a second PVQ pyramid code point within a restricted set of dimensions.
  • 6. Method according to any of the preceding embodiments, wherein the plurality of gain-shape coding schemes comprises a PVQ regular coding scheme having a first approximately constant coefficient gain at 1.0 and a PVQ outlier coding scheme having a second coefficient gain that is selectable between a first and a second value.


In other words, in PVQ regular coding scheme, as the coefficient gain here is said to be approximately constant at 1.0, bits can be used only, or at least mainly, for defining shape. In PVQ outlier mode, on the other hand, bits are used both for defining gain and shape. As an example, the first value of the second gain coefficient may be 0.5 and the second value of the second gain coefficient may be 2,0. The PVQ regular coding scheme may be called PVQ regular mode, or sub-mode. Similarly, the PVQ outlier coding scheme may be called PVQ outlier mode, or sub-mode. The coefficient gain above is a linear adjustment gain of a given long term mean gain (G_MEANST2) for the gain-shape stage. (If one would define the adjustment gain in a logarithmic domain, the value “1.0” in the linear domain above, would correspond to 0 dB.)

  • 7. Method according to any of the preceding embodiments, wherein the plurality of gain-shape coding schemes use mutually different bit resolutions for different subsets of LSF residual coefficients.
  • 8. Method according to any of the preceding embodiments, wherein the input LSF coefficients are DC component removed LSF coefficients.
  • 9. Method according to any of the preceding embodiments, further comprising: transforming the first compressed LSF coefficients into a warped domain.


According to another embodiment, an encoder is provided that is configured to perform any of the mentioned embodiments above.

  • 10. A method performed by a decoder (1800) of a communication system (100) for handling Line Spectral Frequency, LSF, coefficients, the method comprising:
    • receiving (302), over a communication channel from an encoder (1600), first compressed LSF coefficients, gain-shape coded LSF residual coefficients, and information on an applied gain-shape coding scheme, applied by the encoder;
    • applying (304), one of a plurality of gain-shape decoding schemes on the received gain-shape coded LSF residual coefficients according to the received information on applied gain-shape coding scheme, in order to achieve LSF residual coefficients, where the plurality of gain-shape decoding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the gain-shape coded LSF residual coefficients;
    • transforming (306) the LSF residual coefficients from a warped domain into an LSF original domain, and
    • determining (308) LSF coefficients as the transformed LSF residual coefficients added with the received first compressed LSF coefficients.


To transform the coefficients from a warped domain into an LSF original domain signifies that the coefficients are warped back to the LSF residual domain in which they were before they were transformed into the warped domain at the encoder.

  • 11. Method according to embodiment 10, wherein the received first compressed LSF coefficients are quantized LSF coefficients, the method further comprising de-quantizing (307) the quantized LSF coefficients using a first number of bits corresponding to the number of bits used for quantizing LSF coefficients at a quantizer of the encoder, and wherein the LSF coefficients are determined (308) as the transformed LSF residual coefficients added with the de-quantized LSF coefficients.


Method according to embodiment 11, further comprising receiving, over the communication channel from the encoder, the first number of bits used at a quantizer of the encoder.


The first number of bits may be predetermined between encoder and decoder. If not, information of the first number of bits is sent from the encoder to the decoder.

  • 12. Method according to any of embodiments 10-12, wherein the plurality of gain-shape de-coding schemes comprises a PVQ regular de-coding scheme having a first approximately constant coefficient gain at 1.0 and a PVQ outlier de-coding scheme having a second coefficient gain that is selectable between a first and a second value.
  • 13. Method according to any of embodiments 10-13, wherein the input LSF coefficients are DC component removed LSF coefficients.


According to another embodiment, a decoder is provided that is configured to perform any of the embodiments above performed by the decoder.


Abbreviations



  • LSF Line Spectral Frequencies

  • LSP Line Spectral Pairs

  • ISP Immitance Spectral Pairs

  • ISF Immitance Spectral Frequencies

  • VQ Vector Quantizer

  • MS-SVQ Multistage Split Vector Quantizer

  • PVQ Pyramid VQ

  • NPVQ Number of PVQ indices

  • MPVQ sign Modular PVQ enumeration scheme

  • MSE Mean Square Error

  • WMSE Weighed MSE

  • DCT Discrete Cosine Transform

  • RDCT Rotated (ACF based) DCT

  • LOG 2 Base 2 logarithm

  • SD Spectral Distortion

  • EVS Enhanced Voice Service

  • WB Wideband (typically an audio signal sampled at 16 kHz)

  • WMOPS Weighted Million Operations per Second

  • WC-WMOPS Worst Case WMOPS

  • AMR-WB Adaptive Multi-Rate Wide Band

  • DSP Digital Signal Processor

  • TCQ Trellis Coded Quantization

  • MUX MultipleXor (multiplexing unit)

  • DEMUX De-multipleXor (de-multiplexing unit)

  • ARE Arithmetic/Range Encoder

  • ARD Arithmetic/Range Decoder


Claims
  • 1-28. (canceled)
  • 29. A method, performed by an encoder of a communication system, for handling input Line Spectral Frequency (LSF) coefficients, the method comprising the encoder: determining LSF residual coefficients as first compressed LSF coefficients subtracted from the input LSF coefficients;transforming the LSF residual coefficients into a warped domain;applying one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients; andtransmitting, over a communication channel to a decoder, a representation of the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme.
  • 30. The method of claim 29: further comprising quantizing the input LSF coefficients using a first number of bits;wherein the determining the LSF residual coefficients comprises subtracting the quantized LSF coefficients from the input LSF coefficients; andwherein the transmitted first compressed LSF coefficients are the quantized LSF coefficients.
  • 31. The method of claim 29, wherein the applying the one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients comprises selectively applying the one of the plurality of gain-shape coding schemes.
  • 32. The method of claim 31, wherein the selection in the selectively applying of the one of the plurality of gain-shape coding schemes is performed by a combination of a pyramid vector quantization (PVQ) shape projection and a shape fine search to reach a first PVQ pyramid code point over available dimensions on a per LSF residual coefficient basis.
  • 33. The method of claim 31, wherein the selection in the selectively applying of the one of the plurality of gain-shape coding schemes is performed by a combination of a pyramid vector quantization (PVQ) shape projection and a shape fine search to reach a first PVQ pyramid codepoint over available dimensions followed by another shape fine search to reach a second PVQ pyramid code point within a restricted set of dimensions.
  • 34. The method of claim 29, wherein the plurality of gain-shape coding schemes comprises a pyramid vector quantization (PVQ) regular coding scheme having a first approximately constant coefficient gain at 1.0, and a PVQ outlier coding scheme having a second coefficient gain that is selectable between a first and a second value.
  • 35. The method of claim 29, wherein the plurality of gain-shape coding schemes use mutually different bit resolutions for different subsets of LSF residual coefficients.
  • 36. The method of claim 29, wherein the input LSF coefficients are mean removed LSF coefficients.
  • 37. The method of claim 29, further comprising transforming the first compressed LSF coefficients into a warped domain.
  • 38. A method, performed by a decoder, of a communication system for handling Line Spectral Frequency (LSF) coefficients, the method comprising the decoder: receiving, over a communication channel and from an encoder, a representation of first compressed LSF coefficients, gain-shape coded LSF residual coefficients, and information on an applied gain-shape coding scheme, applied by the encoder;applying one of a plurality of gain-shape decoding schemes on the received gain-shape coded LSF residual coefficients according to the received information on applied gain-shape coding scheme, in order to achieve LSF residual coefficients, where the plurality of gain-shape decoding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the gain-shape coded LSF residual coefficients;transforming the LSF residual coefficients from a warped domain into an LSF original domain, anddetermining LSF coefficients as the transformed LSF residual coefficients added with the received first compressed LSF coefficients.
  • 39. The method of claim 38: wherein the received first compressed LSF coefficients are quantized LSF coefficients;further comprising de-quantizing the quantized LSF coefficients using a first number of bits corresponding to the number of bits used for quantizing LSF coefficients at a quantizer of the encoder; andwherein the LSF coefficients are determined as the transformed LSF residual coefficients added with the de-quantized LSF coefficients.
  • 40. The method of claim 38, further comprising receiving, over the communication channel and from the encoder, the first number of bits used at a quantizer of the encoder.
  • 41. The method of claim 38, wherein the plurality of gain-shape de-coding schemes comprises a pyramid vector quantization (PVQ) regular de-coding scheme having a first approximately constant coefficient gain at 1.0, and a PVQ outlier de-coding scheme having a second coefficient gain that is selectable between a first and a second value.
  • 42. The method of claim 38, wherein the input LSF coefficients are mean removed LSF coefficients.
  • 43. An apparatus for handling input Line Spectral Frequency (LSF) coefficients, the apparatus comprising: processing circuitry;memory containing instructions executable by the processing circuitry whereby the apparatus is operative to: determine LSF residual coefficients as first compressed LSF coefficients subtracted from the input LSF coefficients;transform the LSF residual coefficients into a warped domain;apply one of a plurality of gain-shape coding schemes on the transformed LSF residual coefficients in order to achieve gain-shape coded LSF residual coefficients, where the plurality of gain-shape coding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the transformed LSF residual coefficients; andtransmit, over a communication channel and to a decoder, the first compressed LSF coefficients, the gain-shape coded LSF residual coefficients, and information on the applied gain-shape coding scheme.
  • 44. The apparatus of claim 43: wherein the instructions are such that the apparatus is operative to: quantize the input LSF coefficients using a first number of bits; anddetermine LSF residual coefficients by subtracting the quantized LSF coefficients from the input LSF coefficients;wherein the transmitted first compressed LSF coefficients are the quantized LSF coefficients.
  • 45. The apparatus of claim 43, wherein the instructions are such that the apparatus is operative to selectively apply one of the plurality of gain-shape coding schemes on the transformed LSF residual coefficients.
  • 46. The apparatus of claim 43, wherein the instructions are such that the apparatus is operative to remove a mean from the input LSF coefficients.
  • 47. The apparatus of claim 43, wherein the instructions are such that the apparatus is operative to transform the first compressed LSF coefficients into a warped domain.
  • 48. An apparatus for handling input Line Spectral Frequency (LSF) coefficients, the apparatus comprising: processing circuitry;memory containing instructions executable by the processing circuitry whereby the apparatus is operative to: receive, over a communication channel and from an encoder, a representation of first compressed LSF coefficients, gain-shape coded LSF residual coefficients, and information on an applied gain-shape coding scheme, applied by the encoder;apply one of a plurality of gain-shape decoding schemes on the received gain-shape coded LSF residual coefficients according to the received information on applied gain-shape coding scheme, in order to achieve LSF residual coefficients, where the plurality of gain-shape decoding schemes have mutually different trade-offs in one or more of gain resolution and shape resolution for one or more of the gain-shape coded LSF residual coefficients;transform the LSF residual coefficients from a warped domain into an LSF original domain; anddetermine LSF coefficients as the transformed LSF residual coefficients added with the received first compressed LSF coefficients.
PCT Information
Filing Document Filing Date Country Kind
PCT/EP2017/080678 11/28/2017 WO 00
Provisional Applications (1)
Number Date Country
62435173 Dec 2016 US