Field
[0001] The present invention relates to speech encoding methods, and in particular, to linear
predictive coding (LPC) speech and audio coding techniques that employ line spectral
frequency representation of a LPC filter.
Background
[0002] Linear predictive coding (LPC) is a technique used extensively in speech and audio
coding for analysing the short term correlations in signal. The short term correlations
of the speech/audio signal are modelled using a Linear Prediction (LP) filter whose
coefficients are derived directly by using linear prediction analysis over the incoming
signal. However, in order that the LP coefficients can be encoded for transmission
or storage, they are typically transformed into another mathematical format in order
to place them in a form that makes them more suitable for the subsequent steps of
quantization and interpolation. One such form which has been found to be more amenable
than most for quantization and interpolation is the transformation of the LP coefficients
into Line Spectral Frequencies (LSF). A known property of LSF parameters is that they
normally present themselves in an ascending order. This ascending ordering is an important
aspect of speech coding because it guarantees the stability of the LP filter, which
is vital to ensuring good sound quality.
[0003] However, in known types of speech encoders that employ LSFs to represent the LP coefficients,
the procedure for deriving the LSFs is computationally expensive.
Summary
[0004] Aspects of this application thus provide an efficient method and apparatus for determining
line spectral pairs.
[0005] There is provided according to the application a method for determining line spectral
pairs for a linear prediction filter whose filter coefficients are linear predictive
coefficients determined over a frame of audio samples, wherein the linear prediction
filter is expressed as symmetric and antisymmetric polynomials, the zeros of which
determine the line spectral pairs of the LP filter, comprising for each symmetric
and antisymmetric polynomial: expanding the polynomial into an expanded polynomial;
arranging each coefficient of a plurality of coefficients of the expanded polynomial
into at least one sum of terms of the same product order; arranging the plurality
of coefficients of the expanded polynomial into a linear system of equations and solving
the linear system of equations to give a value for the at least one sum of terms of
the same product order for each of the plurality of coefficients; forming a further
polynomial, wherein a coefficient of the further polynomial is a value for at least
one sum of terms of the same product order for a coefficient of the expanded polynomial;
and solving the further polynomial wherein the roots of the further polynomial are
line spectral pairs.
[0006] Arranging the coefficients into a linear system of equations may further comprise
equating the at least one sum of terms of the same product order to a coefficient
of the polynomial.
[0007] Solving the linear system of equations to give a value for the at least one sum of
terms of the same product order may be solved in a recursive manner.
[0008] Solving the further polynomial may comprise using Horner's method.
[0009] The at least one sum of terms of the same product may be a sum of line spectral pairs
of the same product order.
[0010] The further polynomial can be a general polynomial of the form

wherein

is the at least one sum of line spectral pairs of the same product order, wherein
k is half a linear prediction filter order.
[0011] The at least one sum of line spectral pairs of product order three,

can be expressed for the half linear prediction filter order
k as

··· +
pk-2pk-1pk, wherein the at least one sum of line spectral pairs of product order two,

can be expressed for the half linear prediction filter order k as
p1p3 + ···
p1pk +
p2p3 + ···
p2pk + ···+
pk-1pk , wherein the at least one sum of line spectral pairs of product order one

can be expressed for the half linear prediction filter order k as

and were in
pk is a linear spectral pair.
[0012] According to a second aspect there is an apparatus configured to determine line spectral
pairs for a linear prediction filter whose filter coefficients are linear predictive
coefficients determined over a frame of audio samples, wherein the linear prediction
filter is expressed as symmetric and antisymmetric polynomials, the zeros of which
determine the line spectral pairs of the LP filter, wherein the apparatus is configured
to for each symmetric and antisymmetric polynomial: expand the polynomial into an
expanded polynomial; arrange each coefficient of a plurality of coefficients of the
expanded polynomial into at least one sum of terms of the same product order; arrange
the plurality of coefficients of the expanded polynomial into a linear system of equations
and solving the linear system of equations to give a value for the at least one sum
of terms of the same product order for each of the plurality of coefficients; form
a further polynomial, wherein a coefficient of the further polynomial is a value for
at least one sum of terms of the same product order for a coefficient of the expanded
polynomial; and
solve the further polynomial wherein the roots of the further polynomial are line
spectral pairs.
[0013] The apparatus configured to arrange the coefficients into a linear system of equations
may be further configured to equate the at least one sum of terms of the same product
order to a coefficient of the polynomial.
[0014] The apparatus configured to solve the linear system of equations to give a value
for the at least one sum of terms of the same product order may be configured to solve
the linear system of equations in a recursive manner.
[0015] The apparatus configured to solve the further polynomial can be configured to use
Horner's method.
[0016] The at least one sum of terms of the same product order may be a sum of line spectral
pairs of the same product order.
[0017] Tthe further polynomial may be a general polynomial of the form

wherein

is the at least one sum of line spectral pairs of the same product order, wherein
k is half a linear prediction filter order.
[0018] The at least one sum of line spectral pairs of product order three,

imay be expressed for the half linear prediction filter order
k as

··· +
pk-2pk-1pk, wherein the at least one sum of line spectral pairs of product order two,

may be expressed for the half linear prediction filter order
k as
p1p3 + ···
p1pk +
p2p3 + ···
p2pk + ··· +
pk-1pk , wherein the at least one sum of line spectral pairs of product order one

may be expressed for the half linear prediction filter order
k as

and were in
pk is a linear spectral pair.
[0019] According to another aspect there is provided an apparatus comprising at least one
processor and at least one memory including computer program code, the at least one
memory and the computer program code configured to, with the at least one processor,
cause the apparatus to determine line spectral pairs for a linear prediction filter
whose filter coefficients are linear predictive coefficients determined over a frame
of audio samples, wherein the linear prediction filter is expressed as symmetric and
antisymmetric polynomials, the zeros of which determine the line spectral pairs of
the LP filter, wherein the apparatus is caused to for each symmetric and antisymmetric
polynomial: expand the polynomial into an expanded polynomial; arrange each coefficient
of a plurality of coefficients of the expanded polynomial into at least one sum of
terms of the same product order; arrange the plurality of coefficients of the expanded
polynomial into a linear system of equations and solving the linear system of equations
to give a value for the at least one sum of terms of the same product order for each
of the plurality of coefficients; form a further polynomial, wherein a coefficient
of the further polynomial is a value for at least one sum of terms of the same product
order for a coefficient of the expanded polynomial; and solve the further polynomial
wherein the roots of the further polynomial are line spectral pairs. The apparatus
configured to arrange the coefficients into a linear system of equations may be further
configured to equate the at least one sum of terms of the same product order to a
coefficient of the polynomial.
[0020] The apparatus caused to solve the linear system of equations to give a value for
the at least one sum of terms of the same product order may be caused to solve the
linear system of equations in a recursive manner.
[0021] The apparatus caused to solve the further polynomial can be caused to use Horner's
method.
[0022] The at least one sum of terms of the same product order may be a sum of line spectral
pairs of the same product order.
[0023] Tthe further polynomial may be a general polynomial of the form

wherein

is the at least one sum of line spectral pairs of the same product order, wherein
k is half a linear prediction filter order.
[0024] The at least one sum of line spectral pairs of product order three,

imay be expressed for the half linear prediction filter order
k as

··· +
pk-2pk-1pk, wherein the at least one sum of line spectral pairs of product order two,

may be expressed for the half linear prediction filter order
k as
p1p3 + ···
p1pk +
p2p3 + ···
p2pk + ···+
pk-1pk , wherein the at least one sum of line spectral pairs of product order one

may be expressed for the half linear prediction filter order
k as

and were in
pk is a linear spectral pair.
[0025] According to another aspect there is provided a computer-readable medium having computer-readable
code stored thereon, the computer readable code, when executed by a least one processor,
causing an apparatus to: determine line spectral pairs for a linear prediction filter
whose filter coefficients are linear predictive coefficients determined over a frame
of audio samples, wherein the linear prediction filter is expressed as symmetric and
antisymmetric polynomials, the zeros of which determine the line spectral pairs of
the LP filter, wherein the apparatus is caused to for each symmetric and antisymmetric
polynomial: expand the polynomial into an expanded polynomial; arrange each coefficient
of a plurality of coefficients of the expanded polynomial into at least one sum of
terms of the same product order; arrange the plurality of coefficients of the expanded
polynomial into a linear system of equations and solving the linear system of equations
to give a value for the at least one sum of terms of the same product order for each
of the plurality of coefficients; form a further polynomial, wherein a coefficient
of the further polynomial is a value for at least one sum of terms of the same product
order for a coefficient of the expanded polynomial; and solve the further polynomial
wherein the roots of the further polynomial are line spectral pairs. The apparatus
configured to arrange the coefficients into a linear system of equations may be further
configured to equate the at least one sum of terms of the same product order to a
coefficient of the polynomial.
[0026] The computer-readable medium having computer-readable code stored thereon, which
causes the apparatus to solve the linear system of equations to give a value for the
at least one sum of terms of the same product order may cause the apparatus to solve
the linear system of equations in a recursive manner.
[0027] The computer-readable medium having computer-readable code stored thereon, which
causes the apparatus to solve the further polynomial can cause to the apparatus to
use Horner's method.
[0028] The at least one sum of terms of the same product order may be a sum of line spectral
pairs of the same product order.
[0029] The further polynomial may be a general polynomial of the form

wherein

is the at least one sum of line spectral pairs of the same product order, wherein
k is half a linear prediction filter order.
[0030] The at least one sum of line spectral pairs of product order three,

imay be expressed for the half linear prediction filter order
k as

··· +
pk-2pk-1pk, wherein the at least one sum of line spectral pairs of product order two,

may be expressed for the half linear prediction filter order k as
p1p3 + ···
p1pk +
p2p3 + ···
p2pk + ···+
pk-1pk , wherein the at least one sum of line spectral pairs of product order one

may be expressed for the half linear prediction filter order
k as

and were in
pk is a linear spectral pair.
[0031] According to another aspect of there is provided a computer program code for determining
line spectral pairs for a linear prediction filter whose filter coefficients are linear
predictive coefficients determined over a frame of audio samples, wherein the linear
prediction filter is expressed as symmetric and antisymmetric polynomials, the zeros
of which determine the line spectral pairs of the LP filter, realizing the following
when executed by a processor: expanding the polynomial into an expanded polynomial;
arranging each coefficient of a plurality of coefficients of the expanded polynomial
into at least one sum of terms of the same product order; arranging the plurality
of coefficients of the expanded polynomial into a linear system of equations and solving
the linear system of equations to give a value for the at least one sum of terms of
the same product order for each of the plurality of coefficients; forming a further
polynomial, wherein a coefficient of the further polynomial is a value for at least
one sum of terms of the same product order for a coefficient of the expanded polynomial;
and solving the further polynomial wherein the roots of the further polynomial are
line spectral pairs.
Brief Description of Drawings
[0032] For better understanding of the present application and as to how the same may be
carried into effect, reference will now be made by way of example to the accompanying
drawings in which:
Figure 1 shows schematically an electronic device employing some embodiments;
Figure 2 shows schematically an audio codec system according to some embodiments;
Figure 3 shows schematically a simplified encoder as shown in Figure 2 according to
some embodiments; and
Figure 4 shows a flow diagram illustrating the process of determining line spectral
pairs according to embodiments.
Description of Some Embodiments
[0033] The invention proceeds from the consideration that the procedure for calculating
the line spectral frequencies in existing speech and audio codecs can be computationally
expensive, and that there is a need to reduce this burden.
[0034] In this regard reference is first made to Figure 1 which shows a schematic block
diagram of an exemplary electronic device or apparatus 10, which may incorporate a
codec according to an embodiment of the application.
[0035] The apparatus 10 may for example be a mobile terminal or user equipment of a wireless
communication system. In other embodiments the apparatus 10 may be an audio-video
device such as video camera, a Television (TV) receiver, audio recorder or audio player
such as a mp3 recorder/player, a media recorder (also known as a mp4 recorder/player),
or any computer suitable for the processing of audio signals.
[0036] The electronic device or apparatus 10 in some embodiments comprises a microphone
11, which is linked via an analogue-to-digital converter (ADC) 14 to a processor 21.
The processor 21 is further linked via a digital-to-analogue (DAC) converter 32 to
loudspeakers 33. The processor 21 is further linked to a transceiver (RX/TX) 13, to
a user interface (UI) 15 and to a memory 22.
[0037] The processor 21 can in some embodiments be configured to execute various program
codes. The implemented program codes in some embodiments comprise a multichannel or
stereo encoding or decoding code as described herein. The implemented program codes
23 can in some embodiments be stored for example in the memory 22 for retrieval by
the processor 21 whenever needed. The memory 22 could further provide a section 24
for storing data, for example data that has been encoded in accordance with the application.
[0038] The encoding and decoding code in embodiments can be implemented in hardware and/or
firmware.
[0039] The user interface 15 enables a user to input commands to the electronic device 10,
for example via a keypad, and/or to obtain information from the electronic device
10, for example via a display. In some embodiments a touch screen may provide both
input and output functions for the user interface. The apparatus 10 in some embodiments
comprises a transceiver 13 suitable for enabling communication with other apparatus,
for example via a wireless communication network.
[0040] It is to be understood again that the structure of the apparatus 10 could be supplemented
and varied in many ways.
[0041] A user of the apparatus 10 for example can use the microphone 11 for inputting speech
or other audio signals that are to be transmitted to some other apparatus or that
are to be stored in the data section 24 of the memory 22. A corresponding application
in some embodiments can be activated to this end by the user via the user interface
15. This application in these embodiments can be performed by the processor 21, causes
the processor 21 to execute the encoding code stored in the memory 22.
[0042] The analogue-to-digital converter (ADC) 14 in some embodiments converts the input
analogue audio signal into a digital audio signal and provides the digital audio signal
to the processor 21. In some embodiments the microphone 11 can comprise an integrated
microphone and ADC function and provide digital audio signals directly to the processor
for processing.
[0043] The processor 21 in such embodiments then processes the digital audio signal in the
same way as described with reference to the system shown in Figure 2 and the encoder
shown in Figures 3.
[0044] The resulting bit stream can in some embodiments be provided to the transceiver 13
for transmission to another apparatus. Alternatively, the coded audio data in some
embodiments can be stored in the data section 24 of the memory 22, for instance for
a later transmission or for a later presentation by the same apparatus 10.
[0045] The apparatus 10 in some embodiments can also receive a bit stream with correspondingly
encoded data from another apparatus via the transceiver 13. In this example, the processor
21 may execute the decoding program code stored in the memory 22. The processor 21
in such embodiments decodes the received data, and provides the decoded data to a
digital-to-analogue converter 32. The digital-to-analogue converter 32 converts the
digital decoded data into analogue audio data and can in some embodiments output the
analogue audio via the loudspeakers 33. Execution of the decoding program code in
some embodiments can be triggered as well by an application called by the user via
the user interface 15.
[0046] The received encoded data in some embodiment can also be stored instead of an immediate
presentation via the loudspeakers 33 in the data section 24 of the memory 22, for
instance for later decoding and presentation or decoding and forwarding to still another
apparatus.
[0047] It would be appreciated that the schematic structures described in Figures 1 to 3,
and the method steps shown in Figure 4 represent only a part of the operation of an
audio codec or speech codec and specifically part of apparatus or method for determining
Line Spectral Frequencies as exemplarily shown implemented in the apparatus shown
in Figure 1.
[0048] The general operation of audio or speech codecs as employed by embodiments is shown
in Figure 2. In general speech and audio coding/decoding systems can comprise both
an encoder and a decoder, as illustrated schematically in Figure 2. However, it would
be understood that some embodiments can implement one of either the encoder or decoder,
or both the encoder and decoder. Illustrated by Figure 2 is a system 102 with an encoder
104 and in particular a speech/audio signal encoder, a storage or media channel 106
and a decoder 108. It would be understood that as described above some embodiments
can comprise or implement one of the encoder 104 or decoder 108 or both the encoder
104 and decoder 108.
[0049] The encoder 104 compresses an input audio/speech signal 110 producing a bit stream
112, which in some embodiments can be stored or transmitted through a media channel
106. The encoder 104 furthermore can comprise a speech/audio encoder 151 as part of
the overall encoding operation. It is to be understood that the speech/audio encoder
may be part of the overall encoder 104 or a separate encoding module.
[0050] The bit stream 112 can be received within the decoder 108. The decoder 108 decompresses
the bit stream 112 and produces an output audio/speech signal 114. The decoder 108
can comprise an audio/speech decoder as part of the overall decoding operation. It
is to be understood that the audio/speech decoder may be part of the overall decoder
108 or a separate decoding module. The bit rate of the bit stream 112 and the quality
of the output audio signal 114 in relation to the input signal 110 are the main features
which define the performance of the coding system 102.
[0051] Figure 3 shows schematically a simplified speech/audio encoder 104 according to some
embodiments.
[0052] The concept for the embodiments as described herein is to determine the LPC coefficients
for an input audio/speech frame, and from the LP coefficients determine the corresponding
line spectral frequencies. In that regard Figure 3 shows a simplified speech/audio
encoder 300, an example of an encoder 104 according to some embodiments. Furthermore
with respect to Figure 4 the operation of at least part of the speech/audio encoder
300 is shown in further detail.
[0053] It is to be appreciated that the simplified speech/audio encoder 300 as laid out
in Figure 3 depicts a speech encoder conforming to the analysis-by-synthesis approach
to speech coding, and that this coding approach only serves as an example into which
the following line spectral frequencies determination method and apparatus can be
deployed.
[0054] It is therefore to be further appreciated that the following method and apparatus
for determining the line spectral frequencies can be equally deployed in any speech/audio
encoder which uses LP coefficients or reflection coefficients to represent at least
part of a speech/audio signal.
[0055] The speech/audio encoder 300 is shown in Figure 3 as receiving the input speech/audio
signal 110 via the audio sample framer 301. The audio sample framer 301 separates
the input audio signal into frames of convenient length, typically of the order of
tens of milliseconds. For example in an embodiment the audio sample framer 301 may
segment the input speech/audio signal into frames of 20ms, which equates to a frame
of length 160 samples when the input speech/audio signal has a digital sampling rate
of 8kHz. In addition the audio sample framer 301 can also be configured to perform
a windowing operation over each frame, in order to smooth the speech/audio signal
at the boundaries of each frame.
[0056] Each frame may then be passed to an LPC analyser 303. The LPC analyser determines
the LP coefficients for the frame. Typically the analysis of the input audio/speech
frame is performed using the Levinson-Durbin algorithm in order to provide the LP
coefficients. The output of the LPC analyser 303, in other words the LP coefficients
may then be transformed into Line Spectral Frequencies (LSF) by the LSF determiner
305. The LSFs are then typically quantised in preparation for transmission or storage
by the LSF quantizer 307. The quantized LSFs may then be interpolated with quantized
LSFs from a previously processed speech/audio frame. Interpolation of the quantized
LSFs is depicted in Figure 3 as being performed by the LSF interpolator 309 in Figure
3. Each speech/audio frame may be partitioned into a number of subframes. For instance
by way of an example a 20ms speech frame may be partitioned into 4 subframes each
of duration 5ms. An LP analysis filter 311 can be constructed for each subframe by
using a set of interpolated quantized LSFs from the LSF interpolator 309. The next
stage in an analysis-by-synthesis coding structure typically involves the determination
of the pitch lag and pitch gain from the long term predictor 313. A residual signal
can then be generated by removing the long term predictor filter response from the
speech/audio signal. The residual signal is then typically encoded using an excitation
codebook 315. Quantized excitation codebook parameters along with quantized long term
predictor parameters and quantized LSFs can be multiplexed by a multiplexer 317 into
a bitstream 112 for transmission over a communication channel to a corresponding decoder
108.
[0057] The following description pertains most particularly to the operation of the LSF
determiner 305 as depicted in Figure 3 in which the LPC coefficients are transformed
to their corresponding Line Spectral Frequency (LSFs) values. To that end the LSFs
may be derived by considering the nth degree predictor polynomial of the LP filter,
n being the order of the LP filter.

which satisfies the recurrence formula

wherein
k1, k2,
..., kn+1 are reflection coefficients. The recurrence equation (2) is the Levsinson-Durbin
solution to the Yule-Walker equations. It expresses the relationship between the (n+1)th
and the nth degree predictor polynomials. For the purpose of this description it is
assumed that all roots of the predictor polynomial
An(
z) are inside the unit circle, in other words the predictor polynomial is of a minimum
phase.
[0058] By setting
kn+1 = 1, the recurrence equation (2) gives the polynomial

which is a symmetric polynomial, i.e.

[0059] Similarly, by setting
kn+1 = -1 in (3) the antisymmetric polynomial Q(z) is obtained:

[0060] From (3) and (4) it follows that
An(
z) can be decomposed in a sum of symmetric and antisymmetric polynomials:
It is to be appreciated that the roots of the polynomials Pn+1(z) and Qn+1(z) provide the Line Spectral Pairs (LSP) of the predictor polynomial. In the IEEE publication
by Soong and Juang entitled "Line Spectrum Pair (LSP) and speech data compression",
in the proceedings of IEEE International Conference on Acoustics, Speech and Signal
Processing, San Diego, CA, pp1.10.1 to 1.10.4, March 1984, which is incorporated herein
by reference, it has been shown that if An(z) is minimum phase, then the LSFs are on the unit circle, and the roots are simple
and separate from each other. This follows therefore that Pn+1(z) and Qn+1(z) can be factored as follows:

where
ω1,
ω2, ...,
ωn are the phase angles of the zeros of the polynomials:
ω1, ω2,
..., ωn are the LSFs of
An(
z), such that 0 <
ω1 <
ω2 < ···, <
ωn <
π.
[0061] Traditionally equations (7) and (8) are solved to give the Line Spectral Pairs (LSP)
p,
p2,...,
pn which are defined as the cosine of the LSF,
cosωn.
[0062] Furthermore it is to be noted that equation (7) provide the odd numbered LSFs and
equation (8) provides the even numbered LSFs. So from equation (7) it follows that
the LSFs
ω1,
ω3, ...,
ωn-1 are the zeros of P(z) in the interval [0,
π], and from equation (8) it follows that the LSFs
ω2,
ω4, ...,
ωn are the zeros of Q(z) in the interval [0,
π]. It is to be further noted that the order of each of Q(z) and P(z) is half the order
of the LP filter (or number of LP coefficients.)
[0063] Traditionally the method of Chebyshev polynomials is used to find the roots of equations
(7) and (8) in order to obtain the LSFs
ω1,
ω3, ...,
ωn-1 and LSFs
ω2,
ω4, ...,
ωn respectively (or LSPs
p,
p3, ... ,
pn-1 and LSPs
p2,p4, ... ,
pn respectively)
[0065] The approach by Kabel and Ramachandran has been shown to be numerically robust, however
it requires a significant number of additions and multiplications to implement.
[0066] In accordance with the teaching of embodiments, a reduction in the complexity of
the computation of line spectral frequencies is made possible by evaluating both Q(z)
and P(z) as a general polynomial of the form

where the LSPs associated with either Q(z) or P(z) are provided by the roots of their
respective general polynomial. The relationship between the coefficients

of the above general polynomial and its roots is determined by the Vieta's formulas
which states that the coefficients

are the signed sum and product of the roots. In other words the coefficients

are of the form

where
p1,
p2 ...
pk are the roots of the polynomial.
[0067] In accordance, the invention proceeds on the basis of expressing the coefficients
of each of the equations P(z) and Q(z) in terms of the signed sum and product of the
roots of P(z) and Q(z) respectively, noting that P(z) and Q(z) are both equations
in z and the roots of P(z) and Q(z) are the Line Spectral Pairs
pk, and then to use signed sum and products of the roots

as the coefficients of a general form polynomial as given by equation (9). The general
form polynomials associated with the coefficients of P(z) and Q(z) respectively can
then be each solved using a low complexity technique to produce the Line Spectral
Pairs
pk. The general form polynomial associated with P(z) provides the odd ordered Line Spectral
Pairs, and the general form polynomial associated with Q(z) provides the even ordered
Line Spectral Pairs.
[0068] The methods of this invention are presented in more detail by the following description
in conjunction with Figure 3.
[0069] The coefficients of each of P(z) and Q(z) can be expressed in terms of the signed
sum and products of the roots by considering each of P(z) and Q(z) as a product of
k =
n/2 factors, where n is the LP filter order. In order to simplify the notation only
the odd indexed line spectral pairs
p1, p3 ...
pk-1 associated with P(z) will be considered in the following derivation. However, it
is to be understood that the following applies equally to the other polynomial Q(z)
the roots of which give the even indexed LSPs.
[0070] Considering the line spectral frequencies
ω1,
ω2, ...,
ωn of
An(
z), such that 0 <
ω1 <
ω2 < ···, <
ωn <
π, then the line spectral pairs can be expressed as
cosω2,
..., 
In the interests of brevity the odd indexed line spectral pairs shall be indexed
as
p1,
p2,
p3,
p4, ...where

The equation P(z) to be evaluated can be represented as

[0071] Expanding equation (10) as the product of k factors such that
P(
z) =
P(k)(
z) produces the following series for the first four expansions

[0072] Each of the above expansions corresponds to a different LP filter order
n.
[0074] In this instance the above system for k =4 corresponds to a LP filter system
An(
z) of order 8 (
n = 8), and the above system for k=3 corresponds to a LP filter system
An(
z) of order 6 (
n = 6), and so on.
[0075] From above it can be seen that the coefficients of the polynomial P(z) can be written
as a linear system of equations comprising the product and sum of the line spectral
pairs with associated numerical weights.

[0077] It is to be appreciated that the coefficients of the polynomial for P(z),

can be obtained from equation (3), which is essentially a polynomial whose coefficients
are derived directly from the coefficients of the LP filter system
An(
z), and since the LP filter coefficients are known, the above system of linear equations
in

(11) can be solved in a recursive manner to directly yield the product and sums of
the line spectral pairs

where
k =
n/2
, that is half the LP filter order.
[0078] As described above once the signed sums and products of the line spectral pairs

have been determined the general form polynomial (9) can then be formed and solved
in order to obtain the roots, which in this case yields the odd ordered line spectral
pairs associated with P(z).
[0079] For instance, for the above case in which the LP filter system comprises 8 LPC coefficients
the general polynomial will be of the form

[0081] By using the Horner's method for solving the above general form polynomial, results
in a significant reduction in instruction cycles when compared to the traditional
method of using Chebyshev polynomials as mentioned above. For example the traditional
method of using Chebyshev polynomials for solving either of Q(z) or P(z) consumes
approximately (NC+1) multiplications and (2NC-1) additions, whereas comparatively
the above method using Horner's method consumes approximately NC multiplications and
NC additions. These savings in instruction cycles can achieve a significant reduction
in complexity when determining the LSFs as both methods find the roots of a respective
polynomial by evaluating the polynomial hundreds of times per frame.
[0083] On a general basis the numerical weights associated with the coefficients

can be derived from the following recursive expressions

[0084] Therefore based on the above nomenclature the coefficients

can be expressed as linear combination of the signed sums and products of the line
spectral pairs

as

[0085] Some implementations may store the numerical weights associated with the coefficients

for a particular LP filter order as a pre-calculated number rather than deriving
them from the above recursive expression.
[0086] The following Figure 4 depicts the processing steps which can be executed as program
codes on an apparatus 10 comprising a processor 21 for determining the line spectral
pairs from the linear prediction coefficients in accordance with embodiments of the
invention.
[0087] In this respect the LPC analyser 303 can be configured to analyze the short term
correlations in the frame of speech/audio samples in order to determine the LP coefficients.
Typically in embodiments this may take the form of computing a matrix of correlation
values and then finding a solution to a set of linear equations. In one embodiment
the autocorrelation method may be used to derive the matrix of correlation values
in which it is assumed that that the speech/audio samples lying outside the frame
are zero. In this particular embodiment the autocorrelation matrix is of a Toeplitz
form leading to the use of the Levinson-Durbin algorithm for solving the set of linear
equations therefore yielding the LP coefficients.
[0088] In another embodiment the covariance method may be used instead to derive the matrix
of correlation values. In this case the matrix of correlation values is found by finding
the cross correlation between two very similar but not identical, finite-length samples
sequences, in other words the matrix of correlation values is generated by using sample
values which lie outside the analysis window. In this embodiment the correlation matrix
is symmetrical about the leading diagonal, resulting in the use of efficient matrix
inversion techniques such as Cholesky decomposition to solve the set of linear equations
to find the LP coefficients.
[0089] Further embodiments may use other techniques for finding the LP coefficients of a
frame of speech/audio samples such as the technique of Lattice Methods.
[0090] The step of determining the LP coefficients
aj for a frame of Speech/audio samples is shown as processing step 401 in Figure 4.
[0091] In embodiments the LP coefficients
aj can be passed to the LSF determiner 305 for converting to their corresponding LSPs
and ultimately to their corresponding LSFs.
[0092] The LSF determiner 305 is configured to determine the coefficients for each of the
polynomials Q(z) and P(z) by using the LP coefficients
aj as determined by the previous processing stage 401. The coefficients for the symmetrical
polynomial P(z) can be determined from the LP coefficients
aj by using equation (3), and the coefficients for the anti-symmetrical polynomial Q(z)
can be determined from the LP coefficients
aj by using equation (4). For example, these processing steps may be realized in C code
as

[0093] The steps of determining the coefficients for the polynomials P(z) and Q(z) is shown
as processing steps 403 and 405 in Figure 4.
[0094] The LSF determiner 305 can be configured to produce the numerical weights associated
with the coefficients of

for use in the solving of the linear system of equations in terms of the product
and sum of the line spectral pairs (11). As stated above the numerical weights

is dependent on the filter order and can either be stored as pre-calculated numbers
or calculated from equation (12). For example, embodiments which deploy the processing
step of calculating the numerical weights, the processing step may be realized in
C code as
build_sums_coeffs(intl6_t m)
{
int16_t i, n;
for (i = 0; i < 2 * m + 1; i++)
{
vec_set_d(sums_coeffs[i], 0.0f, m + 1);
}
sums_coeffs[0][0] = 1;
sums_coeffs[1][1] = -2;
sums_coeffs[2][0] = 2;
sums_coeffs[2][2] = 4;
n = 3;
while (n <= m)
{
vec_d_mul_s(sums_coeffs[n - 2], 2.0f, sums_coeffs[n], n);
sums_coeffs[n][n] = -2 * sums_coeffs[n - 1][n - 1];
for (i = n - 1; i >= 2; i--)
{
vec_d_add_v(sums_coeffs[i - 2], sums_coeffs[i], sums_coeffs[i], n);
}
n++;
}
return;
}
[0095] It is to be noted in the above C code extract that the array s
ums_coeffs[] contain the numerical weights

[0096] As stated before, the number of equations comprising the coefficient linear system
of equations is dependent on the LP filter order n. It is to be appreciated that that
the numerical weights

as produced by this processing step is applicable to both the polynomials P(z) and
Q(z). In other words both polynomials use the same set of numerical weights

in solving their respective coefficient linear system of equations. This is depicted
in Figure 4, where it can be seen that the output for processing step 407 is feed
to both the subsequent coefficient linear system equation solving stages 409 and 411.
[0097] The LSF determiner 305 is then configured to solve the linear system of coefficient
equations

(11) in order to determine the product product and sum of the line spectral frequencies

As explained before this can be performed in a recursive manner starting with

which would yield the value for

and then solve the linear equation for

which would yield the value for

the value for

can then be used to solve the linear equation for

to yield

and so on. The process is performed separately for both the coefficients of P(z)
and the coefficients of Q(z). In embodiments the C source code performing these processing
steps may be given as
sp[0] = 1;
for (i = 1; i <= nc; i++)
{
sp[i] = (float32_t)((pz[i] - vec_dot_df(sums_coeffs[i], sp, i)) /
(double)(sums_coeffs[i][i]));
}
sq[0] = 1;
for (i = 1; i <= nc; i++)
{
sq[i] = (float32_t)((qz[i] - vec_dot_df(sums_coeffs[i], sq, i)) /
(double)(sums_coeffs[i][i]));
}
ip = -1;
for (i = 1; i <= nc; i++)
{
sp[i] = ip*sp[i];
sq[i] = ip*sq[i];
ip *= -1;
}
[0098] In the above C code it is to be noted that the sum of the products of the line spectral
pairs

associated with the polynomial P(z) is denoted by the array
sp[i] and the sum of the products of the line spectral pairs

associated with the polynomial Q(z) is denoted by the array
sq[i].
[0099] The steps of determining the sum of the products of the line spectral pairs

associated with each of the polynomials P(z) and Q(z) is shown as the processing
steps 409 and 411 respectively in Figure 4.
[0100] The LSF determiner 305 can then be configured to solve a general polynomial of the
form shown by equation (9) which is associated with the polynomial P(z) whose coefficients
are the sum of the products

as determined by the processing step 409 . Similarly, the LSF determiner 305 is also
configured to solve the general polynomial associated with the polynomial Q(z) whose
coefficients are the sum of the products

as determined by the processing step 411. In each case the roots of the respective
general polynomial are the line spectral pairs associated with the polynomials P(z)
and Q(z) respectively.
[0101] For example for a 10
th order LP filter system solving the general polynomial associated with the polynomial
P(z) provides the set of line spectral pairs
p1,
p2,p
3,
p4,
p5 which are the odd line spectral pairs

of the LP coefficients
a1 ...
a10, and solving the general polynomial associated with the polynomial Q(z) provides
a further set of line spectral pairs
p1,
p2,p
3,
p4,
p5 which are the even line spectral pairs

of the LP coefficients
a1 ...
a10.
[0102] In embodiments the general polynomial associated with each of the polynomial P(z)
and Q(z) can be solved using the computationally efficient Horner's method.
[0103] The steps of solving the general polynomial of the form shown by equation (9) to
yield the line spectral pairs associated with each of the polynomials P(z) and Q(z)
are shown as 413 and 415 in Figure 4.
[0104] Finally, the line spectral frequencies
ωj can be obtained by taking the arc cosine of the corresponding line spectral pair
pj 
[0105] Although the above examples describe embodiments of the application operating within
a codec within an apparatus 10, it would be appreciated that the invention as described
above may be implemented as part of any audio (or speech) codec. Thus, for example,
embodiments of the application may be implemented in an audio codec which may implement
audio coding over fixed or wired communication paths, or for store and forward applications
such as a music player. Furthermore, it is to be understood that the LP filter order
together with the LSF and LSP orders used above are exemplary, and the codec may be
configured to implement LP filter systems at other LP filter orders.
[0106] Thus user equipment may comprise an audio codec such as those described in embodiments
of the application above.
[0107] It shall be appreciated that the term user equipment is intended to cover any suitable
type of wireless user equipment, such as mobile telephones, portable data processing
devices or portable web browsers.
[0108] Furthermore elements of a public land mobile network (PLMN) may also comprise elements
of a stereoscopic video capture and recording device as described above.
[0109] In general, the various embodiments of the application may be implemented in hardware
or special purpose circuits, software, logic or any combination thereof. For example,
some aspects may be implemented in hardware, while other aspects may be implemented
in firmware or software which may be executed by a controller, microprocessor or other
computing device, although the invention is not limited thereto. While various aspects
of the application may be illustrated and described as block diagrams, flow charts,
or using some other pictorial representation, it is well understood that these blocks,
apparatus, systems, techniques or methods described herein may be implemented in,
as non-limiting examples, hardware, software, firmware, special purpose circuits or
logic, general purpose hardware or controller or other computing devices, or some
combination thereof.
[0110] The embodiments of this application may be implemented by computer software executable
by a data processor of the mobile device, such as in the processor entity, or by hardware,
or by a combination of software and hardware. Further in this regard it should be
noted that any blocks of the logic flow as in the Figures may represent program steps,
or interconnected logic circuits, blocks and functions, or a combination of program
steps and logic circuits, blocks and functions.
[0111] The memory may be of any type suitable to the local technical environment and may
be implemented using any suitable data storage technology, such as semiconductor-based
memory devices, magnetic memory devices and systems, optical memory devices and systems,
fixed memory and removable memory. The data processors may be of any type suitable
to the local technical environment, and may include one or more of general purpose
computers, special purpose computers, microprocessors, digital signal processors (DSPs),
application specific integrated circuits (ASIC), gate level circuits and processors
based on multi-core processor architecture, as non-limiting examples.
[0112] Embodiments of the application may be practiced in various components such as integrated
circuit modules. The design of integrated circuits is by and large a highly automated
process. Complex and powerful software tools are available for converting a logic
level design into a semiconductor circuit design ready to be etched and formed on
a semiconductor substrate.
[0113] Programs can automatically route conductors and locate components on a semiconductor
chip using well established rules of design as well as libraries of pre-stored design
modules. Once the design for a semiconductor circuit has been completed, the resultant
design, in a standardized electronic format (e.g., Opus, GDSII, or the like) may be
transmitted to a semiconductor fabrication facility or "fab" for fabrication.
[0114] As used in this application, the term 'circuitry' refers to all of the following:
- (a) hardware-only circuit implementations (such as implementations in only analog
and/or digital circuitry) and
- (b) to combinations of circuits and software (and/or firmware), such as: (i) to a
combination of processor(s) or (ii) to portions of processor(s)/software (including
digital signal processor(s)), software, and memory(ies) that work together to cause
an apparatus, such as a mobile phone or server, to perform various functions and
- (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s),
that require software or firmware for operation, even if the software or firmware
is not physically present.
[0115] This definition of 'circuitry' applies to all uses of this term in this application,
including any claims. As a further example, as used in this application, the term
'circuitry' would also cover an implementation of merely a processor (or multiple
processors) or portion of a processor and its (or their) accompanying software and/or
firmware. The term 'circuitry' would also cover, for example and if applicable to
the particular claim element, a baseband integrated circuit or applications processor
integrated circuit for a mobile phone or similar integrated circuit in server, a cellular
network device, or other network device.
[0116] The foregoing description has provided by way of exemplary and non-limiting examples
a full and informative description of the exemplary embodiment of this invention.
However, various modifications and adaptations may become apparent to those skilled
in the relevant arts in view of the foregoing description, when read in conjunction
with the accompanying drawings and the appended claims. However, all such and similar
modifications of the teachings of this invention will still fall within the scope
of this invention as defined in the appended claims.
1. A method for determining line spectral pairs for a linear prediction filter whose
filter coefficients are linear predictive coefficients determined over a frame of
audio samples, wherein the linear prediction filter is expressed as symmetric and
antisymmetric polynomials, the zeros of which determine the line spectral pairs of
the LP filter, comprising for each symmetric and antisymmetric polynomial:
expanding the polynomial into an expanded polynomial;
arranging each coefficient of a plurality of coefficients of the expanded polynomial
into at least one sum of terms of the same product order;
arranging the plurality of coefficients of the expanded polynomial into a linear system
of equations and solving the linear system of equations to give a value for the at
least one sum of terms of the same product order for each of the plurality of coefficients;
forming a further polynomial, wherein a coefficient of the further polynomial is a
value for at least one sum of terms of the same product order for a coefficient of
the expanded polynomial; and
solving the further polynomial wherein the roots of the further polynomial are line
spectral pairs.
2. The method according to Claim 1, wherein arranging the coefficients into a linear
system of equations further comprises:
equating the at least one sum of terms of the same product order to a coefficient
of the polynomial.
3. The method according to Claims 1 and 2, wherein solving the linear system of equations
to give a value for the at least one sum of terms of the same product order is solved
in a recursive manner.
4. The method according to Claims 1 to 3, wherein solving the further polynomial comprises
using Horner's method.
5. The method according to Claims 1 to 4, wherein the at least one sum of terms of the
same product order are a sum of line spectral pairs of the same product order.
6. The method according to Claim 5, wherein the further polynomial is a general polynomial
of the form

wherein

is the at least one sum of line spectral pairs of the same product order, wherein
k is half a linear prediction filter order.
7. The method according to Claim 6, wherein the at least one sum of line spectral pairs
of product order three,

is expressed for the half linear prediction filter order
k as

wherein the at least one sum of line spectral pairs of product order two,

is expressed for the half linear prediction filter order
k as

, wherein the at least one sum of line spectral pairs of product order one

is expressed for the half linear prediction filter order
k as

and were in
pk is a linear spectral pair.
8. An apparatus configured to determine line spectral pairs for a linear prediction filter
whose filter coefficients are linear predictive coefficients determined over a frame
of audio samples, wherein the linear prediction filter is expressed as symmetric and
antisymmetric polynomials, the zeros of which determine the line spectral pairs of
the LP filter, wherein the apparatus is configured to for each symmetric and antisymmetric
polynomial:
expand the polynomial into an expanded polynomial;
arrange each coefficient of a plurality of coefficients of the expanded polynomial
into at least one sum of terms of the same product order;
arrange the plurality of coefficients of the expanded polynomial into a linear system
of equations and solving the linear system of equations to give a value for the at
least one sum of terms of the same product order for each of the plurality of coefficients;
form a further polynomial, wherein a coefficient of the further polynomial is a value
for at least one sum of terms of the same product order for a coefficient of the expanded
polynomial; and
solve the further polynomial wherein the roots of the further polynomial are line
spectral pairs.
9. The apparatus according to Claim 8, wherein the apparatus configured to arrange the
coefficients into a linear system of equations is further configured to:
equate the at least one sum of terms of the same product order to a coefficient of
the polynomial.
10. The apparatus according to Claims 8 and 9, wherein the apparatus configured to solve
the linear system of equations to give a value for the at least one sum of terms of
the same product order is configured to solve the linear system of equations in a
recursive manner.
11. The apparatus according to Claims 8 to 10, wherein the apparatus configured to solve
the further polynomial is configured to use Horner's method.
12. The apparatus according to Claims 8 to 11, wherein the at least one sum of terms of
the same product order are a sum of line spectral pairs of the same product order.
13. The apparatus according to Claim 12, wherein the further polynomial is a general polynomial
of the form

wherein

is the at least one sum of line spectral pairs of the same product order, wherein
k is half a linear prediction filter order.
14. The apparatus according to Claim 13, wherein the at least one sum of line spectral
pairs of product order three,

is expressed for the half linear prediction filter order
k as

wherein the at least one sum of line spectral pairs of product order two,

is expressed for the half linear prediction filter order
k as

··· +
pk-1pk ,wherein the at least one sum of line spectral pairs of product order one

is expressed for the half linear prediction filter order
k as

and were in
pk is a linear spectral pair.
15. A computer program code for determining line spectral pairs for a linear prediction
filter whose filter coefficients are linear predictive coefficients determined over
a frame of audio samples, wherein the linear prediction filter is expressed as symmetric
and antisymmetric polynomials, the zeros of which determine the line spectral pairs
of the LP filter, realizing the following when executed by a processor:
expanding the polynomial into an expanded polynomial;
arranging each coefficient of a plurality of coefficients of the expanded polynomial
into at least one sum of terms of the same product order;
arranging the plurality of coefficients of the expanded polynomial into a linear system
of equations and solving the linear system of equations to give a value for the at
least one sum of terms of the same product order for each of the plurality of coefficients;
forming a further polynomial, wherein a coefficient of the further polynomial is a
value for at least one sum of terms of the same product order for a coefficient of
the expanded polynomial; and
solving the further polynomial wherein the roots of the further polynomial are line
spectral pairs.