Apparatus, method and corresponding computer program for generating an error concealment signal using power compensation.
Abstract
An apparatus for generating an error concealment signal, comprises: an LPC representation generator (100) for generating a replacement LPC representation; a gain calculator (600) for calculating a gain information from the LPC representations; a compensator (406, 408) for compensating a gain influence of the replacement LPC representation using the gain information; and an LPC synthesizer (106, 108) for filtering codebook information using the replacement LPC representation to obtain the error concealment signal, wherein the compensator (406, 408, 900) is configured for weighting the codebook information or an LPC synthesis output signal.

Term
8.4 yearsleft in the term
Expires 4 March 2035.
- Priority
- Filed
- Granted
- Today
- Expires
15 claims: 5 independent, 10 dependent
- 1CLAIMS REIVINDICACIONES 1. Un aparato para generar una señal de ocultamiento de error, que comprende:one. An apparatus for generating an error concealment signal, comprising: an LPC representation generator (linear prediction coding) (100) to generate a substitute LPC representation;un generador de representaciones de LPC (codificación de predicción lineal) (100) para generar una representación de LPC sustituta;a profit calculator (600) to calculate profit information from the representations of un calculador de ganancias (600) para calcular una información de ganancia a partir de las representaciones de LPC sustitutas;Substitute LPCs;a compensator (406, 408) to compensate for a gain effect of the substitute LPC representation using the gain information and an LPC synthesizer (106, 108) to filter codebook information using the substitute LPC representation to obtain the error concealment signal, where the compensator (406, 408, 900) is configured to weight the codebook information or an LPC synthesis output signal. un compensador (406, 408) para compensar un efecto de ganancia de la representación de LPC sustituta empleando la información de ganancia y un sintetizador de LPC (106, 108) para filtrar información de libro de códigos empleando la representación de LPC sustituta para obtener la señal de ocultamiento de error, donde el compensador (406, 408, 900) está configurado para ponderar la información de libro de códigos o una señal de salida de síntesis de LPC.
- 4El aparato de acuerdo con cualquiera de las reivindicaciones anteriores, en el cual el calculador de ganancias (600) está configurado para calcular la ganancia basándose en la siguiente ecuación:Four. The apparatus according to any of the preceding claims, in which the profit calculator (600) is configured to calculate the profit based on the following equation: rms. rms. rmshey rms. rmsoia rms. 'new donde rmsnew es un valor de rms de la representación de LPC sustituta, donde t es una variable temporal, donde T es un valor de tiempo predeterminado entre 3 y 8 ms o inferior al tamaño de una trama, donde imp_resp es una respuesta al impulso derivada de la representación y donde rmsold es un valor de rms derivado de la última trama correcta. 'new where rmsnew is an rms value of the surrogate LPC representation, where t is a temporary variable, where T is a default time value between 3 and 8 ms or less than the size of a frame, where imp_resp is an impulse response derived from the representation and where rmsold it is an rms value derived from the last correct frame.
- 5The apparatus according to one of the preceding claims, further comprising:5. El aparato de acuerdo con una de las reivindicaciones anteriores, que además comprende: an adaptive codebook (102) for outputting an adaptive codebook information;un libro de códigos adaptativo (102) para emitir una información de libro de códigos adaptativa;a fixed codebook (104) for issuing a fixed codebook information;un libro de códigos fijo (104) para emitir una información de libro de códigos fijo;an adaptive codebook weight (402) to weight the adaptive codebook information, a fixed codebook weight (404) to weight the fixed codebook information, where the compensator (406, 408) is configured to process an output of the adaptive codebook weight (402) or the fixed codebook weight (404) or a sum of the outputs of the adaptive codebook weight and the fixed codebook weight. un ponderador de libro de códigos adaptativo (402) para ponderar la información de libro de códigos adaptativo, un ponderador de libro de códigos fijo (404) para ponderar la información de libro de códigos fijo, donde el compensador (406, 408) está configurado para procesar una salida del ponderador de libro de códigos adaptativo (402) o del ponderador de libro de códigos fijo (404) o una suma de las salidas del ponderador de libro de códigos adaptativo y el ponderador de libro de códigos fijo.
- 8The apparatus according to one of the preceding claims, in which the LPC representation generator (100) is configured to generate an additional surrogate LPC representation and where the LPC synthesizer (106, 108) is configured to filter other information codebook using the additional surrogate LPC representation, and wherein the apparatus further comprises a surrogate signal combiner (110) to replace the outputs of the LPC synthesizer. 8. El aparato de acuerdo con una de las reivindicaciones anteriores, en el cual el generador de representaciones de LPC (100) está configurado para generar una representación de LPC sustituta adicional y donde el sintetizador de LPC (106, 108) está configurado para filtrar otra información de libro de códigos usando la representación de LPC sustituta adicional, y donde el aparato comprende además un combinador de señales sustitutas (110) para reemplazar las salidas del sintetizador de LPC.
- 14A method of generating an error concealment signal, comprising:14. Un método para generar una señal de ocultamiento de error, que comprende: generar (100) una representación de LPC (codificación de predicción lineal) sustituta;generating (100) a surrogate LPC (linear prediction coding) representation;calcular (600) una información de ganancia a partir de las representaciones de LPC sustitutas;calculating (600) a gain information from the proxy LPC plots;compensar (406, 408) un efecto de ganancia de la representación de LPC sustituta empleando la información de ganancia y filtrar (106, 108) la información de libro de códigos empleando la representación de LPC sustituta para obtener la señal de ocultamiento de error, donde la compensación (406, 408, 900) está configurada para ponderar la información de libro de códigos o una señal de salida de síntesis de LPC. offset (406, 408) a gain effect of the surrogate LPC representation using the gain information and filter (106, 108) the codebook information using the surrogate LPC representation to obtain the error concealment signal, where offset (406, 408, 900) is configured to weight the codebook information or an LPC synthesis output signal.
Independent claims5
231 paragraphs in 2 sections, as filed
(54) Title: APPARATUS AND METHOD TO GENERATE AN ERROR HIDDEN SIGNAL USING POWER COMPENSATION.
(54) Title: APPARATUS, METHOD AND CORRESPONDING COMPUTER PROGRAM FOR GENERATING AN ERROR CONCEALMENT SIGNAL USING POWER COMPENSATION.
(57) Summary
An apparatus for generating an error concealment signal comprises: an LPC representation generator (100) for generating a substitute LPC representation; a profit calculator (600) for calculating profit information from the LPC plots; a compensator (406, 408) to compensate for a gain effect of the substitute LPC representation using the gain information, and an LPC synthesizer (106,108) to filter codebook information using the substitute LPC representation to obtain the signal of error concealment, where the compensator (406,408, 900) is configured to weight the codebook information or an LPC synthesis output signal.
(57) Abstract
An apparatus for generating an error concealment signal, comprises: an LPC representation generator (100) for generating a replacement LPC representation; a gain calculator (600) for calculating a gain Information from the LPC representations; a compensator (406, 408) for compensating a gain influence of the replacement LPC representation using the gain Information; and an LPC synthesizer (106, 108) for filtering codebook Information using the replacement LPC representation to obtain the error concealment signal, where the compensator (406, 408, 900) is configured for weighting the codebook Information or an LPC synthesis output signal.
APPARATUS AND METHOD FOR GENERATING A HIDDEN SIGNAL OF
ERROR USING POWER COMPENSATION
Descriptive memory
The present invention relates to audio encoding and, in particular, to audio encoding based on LPC-type processing in the context of codebooks.
Audio perceptual encoders often use linear predictive coding (LPC) to model the human vocal tract and to reduce the amount of redundancy, which can be modeled by LPC parameters. The residual LPC, which is obtained by filtering the input signal with the LPC filter, is itself modeled and transmitted by its representation by one, two or more codebooks (examples are: adaptive codebook, codebook pulse rate, innovative codebook, transition codebook, hybrid codebook consisting of predictive and transformation parts).
In the event of a frame loss, a segment of the voice / audio data is lost (typically 10 ms or 20 ms). To make this loss as audible as possible, various concealment techniques are applied. These techniques usually consist of the extrapolation of the previous data received. These data can be: codebook gains, codebook vectors, parameters for modeling codebooks, and coefficients of
LPC. In all the concealment technology known in the
<td>Actual state</td><td>of</td><td>the</td><td>technique,</td><td>is repeated</td><td>(On the base</td><td>of</td><td>the</td>
<td>latest series</td><td colspan="3">known) or</td><td colspan="3">extra- / interpolate series</td><td>of</td>
<td>coefficients</td><td>of</td><td>LPC,</td><td>That</td><td colspan="2">used for synthesis</td><td>of</td><td>the</td>
<td>signal.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td>ITU G.718 [1</td><td> ] :</td><td>The</td><td colspan="2">LPC parameters</td><td>(represented</td><td>in</td><td>the</td>
<td colspan="2">ISF domain)</td><td>I know</td><td colspan="2">extrapolate during</td><td colspan="2">concealment.</td><td>The</td>
extrapolation consists of two steps. First, a long-term ISF vector is calculated. This long-term ISF vector is a weighted average (with the fixed weight factor beta) or • an ISF vector that represents the average of the last three known ISF vectors and • an ISF vector learned offline, which represents a long-term average spectral shape.
Ά This target long-term ISF vector is then interpolated with the last correctly received ISF vector per frame using a variable factor in alpha time to allow cross-attenuation from the last received ISF vector to the long-term ISF vector of destination. The ISF vector thus obtained is then converted back to the LPC domain, in order to generate intermediate steps (the ISFs are transmitted every 20 ms, the interpolation generates a series of LPCs every 5 ms). The LPCs are then used to synthesize the output signal by filtering the result of the sum of the adaptive and fixed codebooks, which are amplified with corresponding codebook gains before addition. The fixed codebook contains noise during concealment. In the event of loss of consecutive frames, the adaptive codebook is fed back without adding the fixed codebook. On the other hand, the summed signal can be fed back, as it is done in AMR-WB [5]
In [2], a concealment scheme is described that uses two sets of LPC coefficients. One set of LPC coefficients is derived based on the last received correct frame, the other set of LPC parameters is derived based on the first received correct frame, although it is assumed that the signal is evolving in the reverse direction (towards the past). The prediction is then run in two directions, one into the future and one into the past. Therefore, two representations of the missing frame are generated. Finally, both signals are weighted and averaged before playback.
Fig. 8 illustrates error concealment processing in accordance with the prior art. An adaptive codebook 800 transmits an adaptive codebook information to an amplifier 808 that applies a codebook gain g<sub>p</sub> to the information sent by the adaptive codebook 800. The output of the amplifier 808 is connected to an input of a combiner 810. In addition, a random noise generator 804 together with a fixed codebook 802 transfers information from the codebook to another amplifier g<sub>c</sub>. The amplifier g<sub>c</sub> indicated in 806 applies the gain factor g<sub>c</sub>, which is the fixed codebook gain, to the information provided by the 802 fixed codebook along with the random noise generator
804. The output of amplifier 806 is then also sent to combiner 810. Combiner 810 adds the result of both amplified codebooks by the corresponding codebook gains to obtain a combination signal which is then sent to a synthesis synthesis block. LPC 814. The LPC 814 synthesis block is controlled by the surrogate representation that is generated in the manner described above.
This prior art procedure has certain disadvantages.
To cope with the changing characteristics of the signal in order for the LPC envelope to converge towards background noise type properties, the LPC is changed during concealment by extra / interpolation with other LPC vectors. There is no possibility to precisely control energy during concealment. While there is the possibility of controlling the codebook gains of the various codebooks, the LPC implicitly influences the level or the total energy (even the frequency dependent one).
Gradual attenuation to a given energy level (eg, background noise level) could be envisaged during burst frame loss. This is not possible in the state-of-the-art technology, not even by controlling the codebook gains.
It is not possible to attenuate the noisy parts of the signal to background noise, while maintaining the possibility of synthesizing the tonal parts with the same spectral property as before frame loss.
An objective of the present invention is to disclose an improved concept for generating an error concealment signal.
This objective is achieved by means of an apparatus for generating an error concealment signal according to claim 1, a method for generating an error concealment signal according to claim 14 or a computer program according to claim
15.
In one aspect of the present invention, the apparatus for generating an error concealment signal comprises an LPC representation generator for generating a first substitute LPC representation and a different second substitute LPC representation. In addition, an LPC synthesizer is included to filter a first codebook information using the first surrogate LPC representation to obtain a first surrogate signal and to filter a different second codebook information using the second surrogate LPC representation to obtain a second surrogate signal. The LPC synthesizer outputs are combined by means of a substitute signal combiner combining the first substitute signal and the second substitute signal to obtain the error concealment signal.
The first codebook is preferably an adaptive codebook to produce the first codebook information and the second codebook preferably in the form of a codebook to produce the second codebook information. In other words, the first codebook represents the tonal part of the signal and the second fixed codebook or codebook represents the noisy part of the signal and can at least be considered a noise codebook.
The first codebook information for the adaptive codebook is generated using an average value of the last correct LPC representations, the last correct representation, and an attenuation value. Furthermore, the LPC representation for the second codebook or fixed codebook is generated using the attenuation value of the last LPC representation and a noise estimate. Depending on the implementation, the noise estimate may be a fixed value, a value learned offline, or it may be adaptively derived from a signal preceding an error concealment situation.
Preferably, an LPC gain calculation is run to calculate the influence of a surrogate LPC representation, and then this information is used to make a compensation so that the power or loudness, or usually a measure related to amplitude, of the synthesis is similar to the corresponding synthesis signal prior to the error concealment operation.
In a further aspect, an apparatus for generating an error concealment signal comprises an LPC representation generator for generating one or more substitute LPC representations. Furthermore, the profit calculator is included to calculate the profit information from the LPC representation and then a compensator is also included to compensate for the gain influence of the substitute LPC representation and this profit compensation operates using the operation of profit provided by the profit calculator. An LPC synthesizer then filters a codebook information using the surrogate LPC representation to obtain the error concealment signal, where the compensator is configured to weight the codebook information prior to its synthesis by the LPC synthesizer. or to weight the LPC synthesis output signal. In this way, any perceptible gain or influence related to power or amplitude is reduced or eliminated at the beginning of an error concealment situation.
This compensation is not only useful for representations of
<td>LPC</td><td>individual as it</td><td>will point in</td><td>the</td><td>appearance</td><td>previous,</td>
<td>if not</td><td>which is also useful</td><td>if</td><td>of</td><td>use</td><td>just one</td>
<td colspan="2">representation of LPC</td><td>substitute</td><td colspan="2">unique with</td><td>a single</td>
LPC synthesizer.
The gain values are determined by calculating the impulse responses of the last correct LPC representation and a surrogate LPC representation by calculating, in particular, an rms value over the impulse response of the corresponding LPC representation over a certain period which is between 3 and 8 ms and is preferably 5 ms.
In one implementation, the actual gain value is determined by dividing a new rms value, that is, an rms value corresponding to a substitute LPC representation, by an rms value of the correct LPC representation.
Preferably, the single or multiple surrogate LPC representation is calculated using a background noise estimate which is preferably a background noise estimate derived from the signals currently decoded as opposed to a noise estimate simply predetermined by a vector learned offline.
In another aspect, an apparatus for generating a signal comprises an LPC representation generator for generating one or more substitute LPC representations, and an LPC synthesizer for filtering codebook information using the substitute LPC representation. In addition, a noise estimator is presented to estimate a noise calculation during reception of correct audio frames, and this noise estimate is based on correct audio frames. The representation generator is configured to use the noise estimate estimated by the noise estimator when generating the surrogate LPC representation.
The spectral representation of a previous decoded signal is the process of producing a noise spectral representation or target representation. The noise spectral representation is converted to a noise LPC representation and the noise LPC representation is preferably the same type of LPC representation as the surrogate LPC representation. ISF vectors or LSF vectors are preferable for specific procedures related to LPC processing.
The estimation is derived using a minimum statistics technique with optimal smoothing of a previous decoded signal. This spectral noise estimate is then converted to a representation in the time domain. A Levinson-Durbin recursion recursion is then run using a first number of samples from the time domain representation, where the number of samples equals one order of LPC. The LPC coefficients are then derived from the result of the Levinson-Durbin recursion, and this result is ultimately transformed into a vector. The aspect of using individual LPC representations for individual codebooks, the aspect of using one or more gain compensated LPC representations, and the aspect of using a noise estimate in generating one or more representations of LPC, estimation that is not a vector learned offline but an estimation of noise derived from the previous decoded signal are aspects that can be used individually to obtain an improvement over the prior art.
Furthermore, these individual aspects can also be combined with each other so that therefore the first aspect and the second aspect can be combined or the first aspect can be combined or the third aspect can be combined or the second aspect can be combined and the third aspect to each other to result in improved efficiency over the prior art. Even more preferably, the three aspects can be combined with each other to obtain improvements over the prior art. Therefore, although the aspects are described with separate figures, all the aspects can be applied in mutual combination, as can be seen with reference to the attached figures and the description.
The preferred embodiments of the present invention are described below with respect to the accompanying drawings, in which:
Fig. 1A illustrates an embodiment of the first aspect;
Fig. IB illustrates the use of an adaptive codebook;
<td>Fig.</td><td>1 C</td><td>illustrates</td><td>the</td><td>use of a</td><td>book of</td><td>fixed codes</td><td>in</td><td>the</td>
<td></td><td></td><td>case of</td><td>a</td><td>normal mode</td><td>or a way</td><td colspan="2">concealment;</td><td></td>
<td>Fig.</td><td>ID</td><td>illustrates</td><td>a</td><td>graphic</td><td>flow</td><td colspan="2">to calculate</td><td>the</td>
<td></td><td></td><td>first</td><td colspan="2">representation</td><td colspan="2">substitute LPC;</td><td></td><td></td>
<td>Fig.</td><td>1E</td><td>illustrates</td><td>a</td><td colspan="2">flow chart</td><td>calculation</td><td>of</td><td>the</td>
second substitute LPC representation;
Fig. 2 illustrates an overview of a decoder with error concealment controller and noise estimator;
Fig. 3 illustrates a detailed representation of the synthesis filters;
Fig. 4 illustrates a preferred embodiment combining the first aspect and the second aspect;
Fig. 5 illustrates another embodiment that combines the first and second aspects;
Fig. 6 illustrates the embodiment that combines the first and second aspects;
Fig. 7A illustrates an embodiment of the execution of a gain compensation.
Fig. 7B illustrates a flow chart of the gain compensation run;
Fig. 8 illustrates a prior art error concealment signal generator;
<td>Fig.</td><td> 9</td><td>illustrates one way</td><td>of realization</td><td>in accordance</td>
<td></td><td></td><td>with the second</td><td>aspect with</td><td>compensation</td>
<td></td><td></td><td>gain;</td><td></td><td></td>
<td>Fig.</td><td> 10</td><td>illustrates another</td><td>implementation</td><td>of the way</td>
embodiment of Fig. 9;
Fig. 11 illustrates an embodiment of the third aspect using the noise estimator;
Fig. 12A illustrates a preferred implementation of calculating the noise estimate;
Fig. 12B illustrates another preferred implementation of calculating the noise estimate and
Fig. 13. illustrates the calculation of a single surrogate LPC representation or individual surrogate LPC representations for individual codebooks using noise estimation and applying a damping operation.
The preferred embodiments of the present invention relate to level control of the output signal by means of codebook gains independent of any gain change caused by extrapolated LPC and to control the spectral shape modeled by LPC separately for each codebook. To this end, separate LPCs are applied by each codebook and compensation means are applied to compensate for any changes in the LPC gain during concealment.
The embodiments of the present invention, defined in the different aspects or in the combined aspects, have the advantage of granting a subjective voice / audio quality in case one or more data packets are not received correctly or are not received. not at all on the decoder side.
Furthermore, the preferred embodiments compensate for the different gains between successive LPCs during concealment, which could arise as a result of the change in the LPC coefficients over time, and thus unintended level changes are avoided.
Furthermore, the embodiments are advantageous in that two or more sets of LPC coefficients are used during concealment to independently influence the spectral behavior of the parts
<td>with and</td><td>without</td><td>voice and also</td><td>the audio parts</td><td>tonal and</td>
<td>noise.</td><td></td><td></td><td></td><td></td>
<td>Everybody</td><td>the</td><td>aspects of the</td><td>present invention</td><td>confer a</td>
<td colspan="2">quality of</td><td>subjective audio</td><td>best prayed.</td><td></td>
In accordance with one aspect of the present invention, energy is precisely controlled during interpolation. Any gain that can be entered by changing the LPC is offset.
In accordance with another aspect of the present invention, series of individual LPC coefficients are used for each of the codebook vectors. Each codebook vector is filtered by its corresponding LPC and immediately afterwards the individual filtered signals are added to obtain the synthesized output. On the contrary, the state-of-the-art technology first adds all the excitation vectors (which are generated from the different code books) and then feeds the sum to a single LPC filter.
According to another aspect, a noise estimation is not used, for example in the form of a vector learned offline, but is actually derived from the previous decoded frames so that, after a certain number of packets / frames erroneous or missing, gradual attenuation to actual background noise is obtained instead of some predetermined noise spectrum. This gives rise, in particular, to a feeling of acceptance by a user, because, even when an error situation occurs, the signal provided by the decoder after a certain number of frames is related to the preceding signal. However, the signal emitted by a decoder in the case of a certain number of missed or erroneous frames is a signal that is not related at all to the signal emitted by the decoder prior to an error situation.
The application of a compensation of profit corresponding to the variable profit in the time of the LPC offers the following advantages:
Compensates for any gain that may be introduced by changing the LPC.
Thus, the output signal level can be controlled by the codebook gains of the various codebooks. This results in a predetermined gradual attenuation by removing any unwanted influence from the interpolated LPC.
Using a separate set of LPC coefficients for each codebook used during stealth offers the following benefits:
It generates the possibility of influencing the spectral shape of the tonal and noise parts of the signal separately.
Provides the ability to reproduce the voice portion of the signal almost unchanged (eg convenient for vocals), while the noisy portion can be quickly converted to background noise.
Provides the ability to hide the voice parts and gradually attenuate the voice part with arbitrary attenuation speed (eg gradual attenuation depending on signal characteristics), while simultaneously maintaining background noise during concealment.
State-of-the-art codes generally suffer from very clean voice concealment sound.
Provides means to attenuate background noise during concealment smoothly, gradually attenuating
<td>parts</td><td>tonal without</td><td>change the</td><td>spectral properties</td><td>and</td>
<td colspan="2">dimming parts</td><td>from noise to</td><td>the spectral envelope</td><td>of</td>
<td>background.</td><td></td><td></td><td></td><td></td>
<td>Fig.</td><td>1A illustrates</td><td>an apparatus</td><td>to generate a signal</td><td>of</td>
error concealment 111. The apparatus comprises an LPC representation generator 100 to generate a first substitute representation and further to generate a second substitute LPC representation. As outlined in Fig. 1A, the first surrogate representation is input into an LPC synthesizer 106 to filter a first codebook information emitted by a first codebook 102 such as an adaptive codebook 102 to obtain a first surrogate signal at the block output. 106. Furthermore, the second surrogate representation generated by the LPC representation generator 100 is entered into the LPC synthesizer to filter a different second codebook information provided by a second codebook 104 which is, for example, a codebook fixed, to obtain a second substitute signal at the output of block 108. Then both substitute signals are input to a substitute signal combiner 110 to combine the first substitute signal and the second substitute signal to obtain error concealment signal 111.
Both LPC synthesizers 106, 108 can be implemented in a single LPC synthesizer block or can be implemented in the form of separate synthesis filters.
LPC. In other implementations, both LPC synthesis procedures can be implemented by two filter filters.
LPCs that are actually implemented and operate in parallel. However, the LPC synthesis can also be an LPC synthesis filter and some control such that the LPC synthesis filter outputs an output signal corresponding to the first codebook information and the first surrogate representation and then, after this first operation, the control transmits the second codebook information and the second surrogate representation to the synthesis filter to obtain the second surrogate signal in serial form. Other implementations corresponding to the LPC synthesizer apart from a single or multiple synthesis blocks are clear to those skilled in the art.
In general, the LPC synthesis output signals are time domain signals and the substitute signal combiner 110 performs a combination of output synthesis signals by executing a synchronized addition sample by sample. However, surrogate signal combiner 110 may also perform other combinations, such as a sample-by-sample weighted addition or a frequency domain sum or any other signal combination.
Furthermore, it is indicated that the first codebook 102 comprises an adaptive codebook, and it is indicated that the second codebook 104 comprises a fixed codebook. However, the first codebook and the second codebook can be any type of codebook such as a predictive codebook as the first codebook and a noise codebook as the second codebook. However, other code books may be glottal pulse code books, innovative code books, transition code books, hybrid code books consisting of predictive and transformation parts, code books corresponding to individual voice generators such such as men / women / children or code books corresponding to different sounds such as animal sounds, etc.
Fig. IB illustrates a representation of an adaptive codebook. The adaptive codebook is provided with a feedback loop 120 and receives, as input, a pitch delay 118. The pitch delay may be a decoded pitch delay in the case of a received correct frame / packet. However, if an error situation is detected indicating an erroneous or missing frame / packet, then the decoder emits an error concealment tone delay which is entered in the adaptive codebook.
Adaptive codebook 102 can be memory implemented to store the feedback output values provided through feedback line 120 and, depending on the applied tone delay 118, the adaptive codebook outputs a certain number of sampling.
In addition, Fig. 1C illustrates a fixed codebook 104. In the normal mode, the fixed codebook 104 receives a codebook index and, in response to the codebook index, the codebook Fixed provides a certain codebook entry 114 as codebook information. However, if a stealth mode is determined, a codebook index is not available. In that case, a noise generator 112 provided within fixed codebook 104 is activated, which produces a noise signal as information from codebook 116. Depending on the implementation, the noise generator may offer a book index of random codes. However, it is preferable that a noise generator actually produces noise rather than a random codebook index. The noise generator 112 can be implemented in the form of a certain noise generator in hardware or software or it can be implemented in the form of noise tables or a certain additional annotation in the fixed codebook in the form of noise. Furthermore, combinations of the above procedures are possible, i.e. a noise annotation in the codebook together with a certain post-processing.
Fig. ID illustrates a preferred procedure for calculating a first surrogate LPC representation in case of error.
Step 130 illustrates the calculation of an average value of LPC representations of two or more last correct frames. Last three correct frames are preferred. Accordingly, an average value of the last three correct frames is calculated in block 130 and sent to block 136. In addition, step 132 provides the information of
LPC of the last stored correct frame and further sends it to block 136. In addition, an attenuation factor 134 is determined in block 134. Next, depending on the last correct LPC information, depending on the average value of the information of LPC of the last correct frame and depending on the block attenuation factor
134, the first substitute representation 138 is calculated.
For the state of the art, only one LPC applies. For the method proposed here, each excitation vector, which is generated by the adaptive or fixed codebook, is filtered by its own set of LPC coefficients. The derivation of the individual ISF vectors is as follows:
The series of coefficients A (to filter the adaptive codebook) is determined using this formula:
(block 136) isf<sub>TO</sub><sup>1</sup> = alpha<sub>TO</sub>-isf <sup>2</sup> + (l-alpha) -isf '(block 136) where alpha<sub>TO</sub> it is a time-varying adaptive attenuation factor that may depend on signal stability, signal class, etc. isf ~<sup>x</sup> are the ISF coefficients, where x denotes the frame number, with respect to the end of the current frame: x = -1 denotes the first lost ISF, x = 2 the last correct ISF, x = -3 the second last correct and so successively. This leads to the attenuation of the LPC that is used to filter the tonal part, from the last correctly received frame to the average LPC (averaged from three of the last 20ms correct ones).
The more frames lost, the closer the ISF used during concealment is to this average vector of
Short-term ISF (isf).
Fig. 1E illustrates a preferred procedure for calculating the second surrogate representation. At block 140, a noise estimate is determined. Next, at block 142, an attenuation factor is determined. Also, in block 144, the last correct frame is the information of
LPC that was previously saved. Next, at block 146, a second surrogate representation is calculated. Preferably, a second series of coefficients B (to filter the fixed codebook) is determined by the following formula:
isf<sub>B</sub><sup>1</sup> = alpha<sub>B</sub>-isf <sup>2</sup> + (1 - beta) · isf<sup>cn3</sup> (block 146) where isf<sup>cna</sup> is the ISF coefficient derived from an estimate of background noise and alpha<sub>B</sub> is the time-varying attenuation speed factor that preferably depends on the signal. The target spectral shape is derived by plotting the above decoded signal in the domain of the
FFT (power spectrum), using a minimum statistical technique with optimal smoothing, similar to [3]. This FFT estimate is then converted to the representation of
LPC by calculating the autocorrelation by carrying out the
Inverse FFT and then using the LevinsonDurbin recursion to calculate the LPC coefficients using the first N samples of the inverse FFT, where N is the order of
LPC. This LPC is then converted to the ISF domain to retrieve isf<sup>cn9</sup>. On the other hand - if such a background spectral shape plot is not available - the target spectral shape could also be derived based on any combination of a vector learned offline and the short-term spectral mean, as shown does in G.718 regarding the common spectral shape.
Preferably, the attenuation factors A and I heard<sub>b</sub> they are determined depending on the decoded audio signal, that is, depending on the decoded audio signal before an error occurs. The attenuation factor may depend on the stability of the signal, the class of signal, etc. Accordingly, if the signal is determined to be a fairly noisy signal, then the attenuation factor is determined such that the attenuation factor decreases, from time to time, more rapidly compared to a situation where a signal is more well tonal. In this case, the attenuation factor decreases from one time frame to the next time frame by a reduced amount. This
<td>guarantees that the</td><td>attenuation</td><td>gradual</td><td>of</td><td>the</td><td>last plot</td>
<td>correct to value</td><td>middle of the</td><td>latest</td><td>three</td><td colspan="2">correct plots</td>
<td>take place more</td><td>quickly</td><td>at</td><td>case</td><td>of</td><td>the signs</td>
<td colspan="2">noisy compared to</td><td colspan="2">the signs</td><td>not</td><td>noisy or</td>
tonal, where the rate of attenuation is reduced.
Similar procedures can be performed for signal classes. For voice signals, gradual attenuation can be performed slower than for voiceless signals or for music signals, the attenuation speed can be reduced compared to other signal characteristics and corresponding attenuation factor determinations can be applied. As noted in the context of Fig. 1E, an attenuation factor different from<sub>B</sub> for the second codebook information. In this way, the different codebook entries can be given a different dimming rate. Therefore, a gradual attenuation to the noise estimate can be set as f<sup>cn9</sup> differently from the attenuation rate of the ISF representation of the last correct frame to the average ISF representation as outlined in block 136 of Fig. ID.
Fig. 2 illustrates an overview of a preferred implementation, an input line receives, for example, from a wireless input interface or a wired interface, packets or frames of an audio signal. The data transferred over input line 202 is sent to a decoder 204 and at the same time to an error concealment controller 200. The error concealment controller determines whether the received packets or frames are erroneous or missing. If this is determined, the error concealment controller enters a control message into decoder 204. In the implementation of Fig. 2, a message 1 in the CTRL control line indicates that decoder 204 must operate in the mode of concealment. However, if the error concealment controller does not encounter an error situation, then the control line carries a 0 message indicating a normal decoding mode as indicated in Table 210 of Fig. 2. Decoder 204 is further connected to a noise estimator
206. During the normal decoding mode, noise estimator 206 receives the decoded audio signal through feedback line 208 and determines a noise estimate from the decoded signal. However, when the error concealment controller indicates a change from normal decoding mode to concealment mode, the noise estimator 206 sends the noise estimate to decoder 204 so that decoder 204 can perform an error concealment as Describe in the previous and following figures. Thus, the noise estimator 206 is in turn controlled by the CTRL control line from the error concealment controller to switch from the normal noise estimation mode to the normal decoding mode to the estimation production operation. noise in stealth mode.
FIG. 4 illustrates a preferred embodiment of the present invention in the context of a decoder, such as decoder 204 in FIG. 2, which consists of an adaptive codebook 102 and further includes a fixed codebook. 104. In the normal decoding mode indicated by a data from control line 0 as described in the context of Table 210 in Fig. 2, the decoder operates as illustrated in Fig. 8, when the 804. Accordingly, the correctly received packet comprises a fixed codebook index for controlling the fixed codebook 802, a fixed codebook gain g<sub>c</sub> to control the 806 amplifier and an adaptive codebook g<sub>p</sub> to control the amplifier
808. Furthermore, adaptive codebook 800 is controlled by the transmitted tone delay and switch 812 is turned on such that the output of the adaptive codebook is fed back to the input of the adaptive codebook. Furthermore, the coefficients for the LPC 804 synthesis filter are derived from the transmitted data.
However, if the error concealment controller 202 of Fig. 2 detects an error concealment situation, the error concealment procedure is started in which, unlike the normal procedure, two synthesis filters 106 are included, 108. Furthermore, the tone delay corresponding to adaptive codebook 102 is generated by an error concealment device. In addition, the adaptive codebook gain g<sub>p</sub> and the fixed codebook profit g<sub>c</sub> they are also synthesized by an error concealment procedure in the manner known in the art to correctly control amplifiers.
402, 404.
Also, depending on the class of signal, a controller 409 controls switch 405 to feedback a combination of the outputs of both codebooks (after applying the corresponding codebook gain) or to feedback the output of the book. of adaptive codes.
In accordance with one embodiment, the data corresponding to the LPC synthesis filter A 106 and the data corresponding to the LPC synthesis filter B 108 are generated by the LPC representation generator 100 of Fig. 1A and further is performed a gain correction by amplifiers 406, 408. For this purpose, the gain compensation factors g are calculated<sub>TO</sub> yg<sub>B</sub> to properly activate amplifiers 408, 406 such that any gain effects generated by the LPC rendering are stopped. Finally, the combiner 110
<td colspan="2">combines the outputs of the</td><td>filters</td><td>of synthesis</td><td>of</td><td>LPC A,</td><td>B</td>
<td>indicated by</td><td>106 and 108,</td><td>in order</td><td>to get</td><td>the</td><td>signal</td><td>of</td>
<td>concealment of</td><td>error.</td><td></td><td></td><td></td><td></td><td></td>
<td>Then</td><td>It is described</td><td colspan="3">switching mode</td><td>normal</td><td>to the</td>
stealth mode on one side and stealth mode back to normal mode.
The transition from a common LPC to several separate LPCs when switching from clean channel decoding to concealment does not cause any discontinuity since the memory state of the last correct LPC can be used to initialize each AR or MA memory of the separate LPCs. This ensures a smooth transition from the last correct frame to the first loss.
In switching from error concealment to decoding of clean channels (recovery phase), the strategy of separate LPCs introduces the challenge of correctly updating the status of the internal memory of the single LPC filter during decoding of clean channels (usually AR (autoregressive) models are used. Only using the AR memory from an LPC or averaged AR memory would result in discontinuities at the edge of the frame between the last lost and the first correct frame. The following describes a method to overcome this challenge:
A small portion of all excitation vectors (hint: 5ms) is added to the end of any hidden frame. This summed excitation vector can then be fed to the LPC that would be used for recovery. This is shown in Fig. 5. Depending on the implementation, it is also possible to add the excitation vectors after the LPC gain compensation.
It is advisable to start at the end of the frame minus 5ms, set the LPC AR memory to zero, derive the synthesis of
LPC using any of the individual sets of LPC coefficients and saving the memory state at the very end of the hidden frame. If the next frame is received correctly, then this memory state can be used for recovery (meaning: used to initialize the LC memory at the beginning of the frame), otherwise it is discarded. This memory must also be entered; it must be treated separately from any of the LPC AR memories used by stealth during stealth.
Another solution for recovery is the use of the LPCO method, disclosed at USAC [4].
Fig. 5 is described in more detail below. In general, the adaptive codebook 102 can be considered a predictive codebook, as indicated in FIG. 5, or it can be replaced by a predictive codebook. Also, the fixed codebook 104 can be replaced or implemented in the form of noise codebook 104. The codebook gains g<sub>p</sub> yg<sub>c</sub>, to correctly activate the amplifiers 402, 404 they are transmitted, in the normal way, in the input data or they can be synthesized by means of an error concealment procedure in the case of error concealment.
In addition, a third codebook 412 is used, which can be any other codebook, which further has an associated codebook gain g as indicated by the amplifier.
414. In one embodiment, at block 416, additional LPC synthesis is implemented by a separate filter controlled by a substitute LPC representation for the other codebook. Also, a gain correction g is executed<sub>c</sub> similarly as described in the context of g<sub>TO</sub> yg<sub>B</sub>, as described.
Furthermore, the additional recovery LPC X synthesizer indicated at 418 is illustrated which receives, as input, a sum of at least a small portion of all excitation vectors such as 5 ms. This excitation vector is entered into the memory state of the LPC X synthesizer.
418 of the LPC X synthesis filter.
Then, when there is a rollback from stealth mode to normal mode, the single filter for synthesis of
LPC is controlled by copying the internal memory states of the LPC X synthesis filter into this single filter of normal operation and in addition the filter coefficients are established by the correctly transmitted representation of LPC.
Fig. 3 illustrates another more detailed implementation of the LPC synthesizer with two LPC synthesis filters 106,
108. Each filter is, for example, an FIR filter or an IIR filter with filter connections 304, 306 and internal filter memories 304, 308. Filter connections 302, 306 are properly controlled by the corresponding LPC representation transmitted or the corresponding surrogate LPC representation generated by the LPC representation generator, such as 100 in Fig. 1A. In addition, a 320 memory initializer is included. Memory initializer 320 receives the last correct LPC representation and upon switching to error concealment mode memory initializer 320 sends the memory states of the LPC synthesis single filter to internal filter memories 304,
308. In particular, the memory initializer receives, instead of the last correct LPC representation or in addition to the last correct LPC representation, the last correct memory states, i.e. the internal memory states of the LPC single filter in processing , and especially after the processing of the last correct frame / packet.
Furthermore, as already noted in the context of FIG. 5, the memory initializer 320 may also be configured to execute the memory initialization procedure. for recovery from an error concealment situation to the normal non-erroneous mode of operation.
To do this, memory initializer 320, or a separate future LPC memory initializer, is configured to initialize a single LPC filter in the event of a recovery of a bad frame or lost by a correct frame. The LPC Memory Initializer is configured to feed at least a portion of a combination of a first codebook information and a second codebook information or at least a portion of a combination of a first weighted book information code or a second weighted codebook information to a separate LPC filter such as an LPC filter 418 of FIG. 5. Additionally, the LPC Memory Initializer is configured to save the memory states obtained by processing the fed values. Then when a subsequent frame or packet is a correct frame or packet, the only filter for
LPC 814 of Fig. 8 corresponding to normal mode is initialized using the stored memory states, that is, the states obtained from filter 418. Furthermore, as suggested in Fig. 5, the filter coefficients for the filter can be the coefficient for LPC 106 synthesis filter or LPC 108 synthesis filter or
<td>synthesis</td><td>LPC 416 or a</td><td>combination</td><td>weighted or</td><td>without</td>
<td>weigh</td><td>of those coefficients.</td><td></td><td></td><td></td>
<td>Fig.</td><td>6 illustrates a</td><td>implementation</td><td>additional</td><td>with</td>
<td colspan="3">gain compensation. For this end,</td><td>the apparatus</td><td>for</td>
generating an error concealment signal comprises a gain calculator 600 and a compensator 406, 408, which has already been described in the context of Fig. 4 (406, 408) and the
Fig. 5 (406, 408, 409). In particular, the LPC representation calculator 100 transmits the first substitute LPC representation and the second substitute LPC representation to a profit calculator 600. The profit calculator then calculates a first profit information corresponding to the first substitute LPC representation and the second profit information corresponding to the second substitute LPC representation and sends this data to compensator 406, 408, which receives, in addition to the first and second codebook information, as indicated in Fig. 4 or Fig. 5, the LPC of the last correct frame / packet / block.
The compensator then outputs the compensated signal. The input to the compensator can be an output from amplifiers 402, 404, an output from code books 102, 104, or an output from synthesis blocks 106, 108 in the embodiment of Fig. 4.
Compensator 406, 408 partially or fully compensates for a gain effect of the first substitute LPC on the first gain information and compensates for the gain effect of the second substitute LPC representation using the second gain information.
In one embodiment, the calculator 600 is configured to calculate a last correct power information related to a last correct LPC representation before the start of error concealment.
Furthermore, the gain calculator 600 calculates a first power information corresponding to the first substitute LPC representation, a second power information corresponding to the second LPC representation, where the first gain value uses the last correct power information and the first power information, and a second gain value that uses the last correct power information and the second power information. Compensation is then executed on compensator 406, 408 using the first gain value and using the second gain value.
Depending on the information, however, the calculation of the last correct power information may also be performed, as illustrated in the embodiment of the
Fig. 6, directly by the compensator. However, since the calculation of the last correct power information is performed in basically the same way as the first gain value corresponding to the first surrogate representation and the second gain value corresponding to the second surrogate LPC representation, is it is preferable to run the calculation of all the gain values on the profit calculator 600 as exposed by entry 601.
In particular, the profit calculator 600 is configured to calculate, from the last correct LPC representation or the first and second substitute LPC representations, an impulse response and then calculate an rms (root mean) value of the response. to the impulse to obtain the corresponding power information in the gain compensation, each excitation vector is - once gained by the corresponding codebook gain - amplified again with the gains g<sub>TO</sub> or g<sub>B</sub>. These earnings are determined by calculating the usage at the time and then r? 7is<sub>our</sub>i<sub>to</sub>
The result is then compared to the rms of the last correctly received LPC and the quotient is used as a gain factor to compensate for the LPC interpolation power increase / loss:
LPC impulse response in computing rms:
5ms imp_resp<sup>2</sup> (t) t = 0ms @ _ ^^^ previous ffns<sub>new</sub>
This procedure can be considered a type of standardization. Compensates for the gain, which is a product of LPC interpolation.
Next, Figs. 7A and 7B in more detail to illustrate the apparatus for generating an error concealment signal or the gain calculator 600 or compensator 406, 408 calculates the last correct power information as indicated at 700 in Fig. 7A.
Furthermore, the profit calculator 600 calculates the first and second power information corresponding to the first and second substitute LPC representations, as indicated in 702. Next, as illustrated in 704, the profit calculator 600 calculates the first and second gain values. The codebook information or the weighted codebook information or the output of the LPC synthesis is then compensated using these gain values, as illustrated in 706.
This compensation is preferably executed by amplifiers 406, 408.
To this end, several steps are performed in a preferred embodiment illustrated in Fig. 7B. At step 710, an LPC representation is presented, such as the first or second surrogate LPC representation or the last correct LPC representation. In step 712, the codebook gains are applied to the codebook information / output, as indicated in block 402, 404. In addition, at step 716, impulse responses are calculated taking into account the corresponding LPC plots. Next, in step 718, an rms value is calculated for each response to the tax and in block 720 the corresponding gain is calculated using a previous rms value and a new rms value and this calculation is preferably performed by dividing the previous value. rms for the new rms value. Finally, the result of block 720 is used to offset the result of step 712 to ultimately obtain the offset results, as indicated in step 714.
Another aspect is described below, i.e. an implementation of an apparatus for generating an error concealment signal consisting of the LPC representation generator 100 which generates only a single substitute LPC representation, as for example by the situation illustrated in the Fig. 8. Unlike Fig. 8, however, the embodiment illustrating another aspect in Fig. 9 comprises the profit calculator 600 and the compensator 406, 408. In this way, any gain effect exerted by the substitute LPC representation generated by the LPC representation generator is offset. In particular, this gain compensation can be executed on the input side of the LPC synthesizer, as demonstrated in Fig. 9 by the compensator 406, 408n, or it can be executed at the output of the LPC synthesizer, as indicated by compensator 900 in order to ultimately obtain the error concealment signal. Accordingly, the compensator 406, 408, 900 is configured to weight the codebook information or an LPC synthesis output signal provided by the
LPC 106, 108.
As outlined in the context of Fig. 4, amplifier 402 and amplifier 406 perform two weighting operations in series, especially in the case where the sum of the output of multiplier 402, 404 is not fed back to the adaptive codebook, but only the output is fed back. from the adaptive codebook, i.e. when switch 405 is in the illustrated position or amplifier 404 and amplifier 408 perform two weighting operations in series. In an embodiment illustrated in Fig. 10, these two weighting operations can be performed in a single operation. For this purpose, the profit calculator 600 transmits its output g<sub>p</sub> og<sub>c</sub> to a single value calculator 1002. In addition, a codebook profit generator 1000 is implemented in order to generate a codebook profit by concealment, as is known in the art. Then the unique value calculator 1002 preferably calculates a product between g<sub>p</sub> yg<sub>TO</sub> to get the unique value. Also, for the second branch, the unique value calculator 1002 calculates a product between g<sub>TO</sub> og<sub>B</sub> to produce the unique value for the lower branch of Fig. 4.
Another procedure can be executed for the third branch, which presents the amplifiers 414, 409 in Fig. 5.
Below is a manipulator 1004 that collectively performs operations, for example, from amplifiers 402, 406 to codebook information from a single codebook or codebook information from two or more codebooks to ultimately obtain a tampered signal such as a codebook signal or a concealment signal, depending on whether manipulator 1004 is positioned before the LPC synthesizer of Fig. 9 or after the LPC synthesizer of Fig. 9. Fig. 11 illustrates a third aspect, which includes the LPC rendering generator 100, the LPC synthesizer 106, 108 and the additional noise estimator 206, which has already been described in the context of Fig. 2. The LPC synthesizer 106, 108 receives codebook information and a substitute LPC representation. The LPC representation is generated by the LPC representation generator using the noise estimate obtained from the noise estimator 206, and the noise estimator
206 operates by determining the noise estimate from the last correct frames. Consequently, the noise estimation depends on the last correct audio frames and the noise estimation is performed during the reception of correct audio frames, that is, in the normal decoding mode indicated by 0 in the control line of Fig. . 2 This noise estimate generated during normal decoding mode is then applied in stealth mode, as indicated by the connection of blocks 206 and 204 in Fig. 2. The noise estimator is configured to process a spectral representation of a previous decoded signal to produce a noise spectral representation and to convert the noise spectral representation to a noise LPC representation, where the noise LPC representation is the same type of LPC representation than the substitute LPC representation.
Therefore, when the surrogate LPC representation is in the ISF domain representation or an ISF vector, then the noise LPC representation is further an ISF vector or ISF representation.
Furthermore, the noise estimator 206 is configured to apply a minimum statistics technique with optimal smoothing to a previous decoded signal to derive the noise estimate. For this procedure, it is preferable to run the procedure illustrated in [3]. However, other noise estimation procedures can also be applied, for example, based on the suppression of the tonal parts compared to the non-tonal parts of a spectrum to filter and eliminate background noise or noise in a signal. audio to obtain the target spectral shape or spectral noise estimate.
Accordingly, in one embodiment, a spectral noise estimate is derived from a previous decoded signal, and then the spectral noise estimate is converted to an LPC representation and then to a domain of
ISF to obtain the final noise estimate or the target spectral shape.
Fig. 12A illustrates a preferred embodiment. At step 1200, the decoded above signal is obtained, as
<td>illustrates by</td><td>example, in Fig.</td><td> 2</td><td>by</td><td>loop</td><td>of</td>
<td>feedback</td><td>208. In step</td><td> 1202,</td><td>I know</td><td>calculate</td><td>a</td>
<td>representation</td><td>spectral, such as</td><td>a</td><td colspan="2">representation</td><td>of</td>
Fast Fourier transform (FFT). Next, in step 1204, a target spectral shape is derived such as the minimum statistics strategy with optimal smoothing or by any other noise estimation processing.
Next, the target spectral shape is converted to an LPC representation, as indicated in block 1206, and finally the LPC representation is converted to an ISF factor, as detailed in block 1208 in order to obtain, by last, the spectral form of destination in the domain of the
ISF, which can then be directly used by the LPC representation generator to generate a substitute LPC representation. In the equations of this application, the target spectral shape in the domain of the
ISF is indicated as ISF<sup>cng</sup>.
In a preferred embodiment illustrated in Fig. 12B, the target spectral shape is derived for example by a minimal statistics and smoothing technique
<td>optimum. TO</td><td colspan="2">continuation,</td><td>in the step</td><td>1212, s ·</td><td>e calculates</td><td>a</td>
<td colspan="2">representation</td><td>at</td><td>Domain of</td><td>weather</td><td>through</td><td>the</td>
<td>application</td><td>of</td><td>an FFT</td><td>reverse by</td><td>example</td><td colspan="2">, to the form</td>
<td>spectral</td><td>of</td><td>destination.</td><td colspan="2">Then it</td><td>they calculate</td><td>the</td>
LPC coefficients using LevinsonDurbin recursion. However, the calculation of the LPC coefficients of block 1214 can also be done by any other procedure apart from the aforementioned recursion of
Levinson-Durbin. Then, in step 1216, the final ISF factor is calculated to obtain the ISF noise estimate.<sup>cng</sup> to be used by the LPC rendering generator
100.
Fig. 13 is described below to illustrate the use of noise estimation in the context of calculating a single surrogate LPC representation 1308 for the procedure, for example, illustrated in Fig. 8 or to compute LPC representations codes corresponding to individual codebooks, as indicated in block 1310 for the embodiment illustrated in Fig. 1.
In step 1300, an average value of two or three last correct frames is calculated. At step 1302, the last correct LPC rendering frame occurs. In addition, in step 1304, an attenuation factor is output that can be controlled, for example, by a separate signal analyzer that can be included, for example, in the error concealment controller 200 of FIG. 2. Next, in step 1306, a noise estimate is calculated and the procedure in step 1306 can be executed by any of the procedures illustrated in Figs. 12A,
12b.
In the context of calculating a single surrogate LPC representation, the outputs of blocks 1300 are sent,
1304, 1306 to the calculator 1308. Next, a single substitute LPC representation is calculated in such a way that after the loss or error of a certain number of frames / packets, the attenuation to the LPC representation is obtained for noise estimation .
However, the individual LPC representations for an individual codebook, such as the adaptive codebook and the fixed codebook, are calculated as outlined in 1310, then the procedure described above is run to calculate the ISF<sub>to</sub><sup>_1</sup> (LPC A) on the one hand and the calculation of ISF<sub>B</sub><sup>_1</sup> (LPC B). Although the present invention has been described in the context of block diagrams in which the blocks represent real or logical hardware components, the present invention can also be implemented by a method instrumented by a computer. In the latter case, the blocks represent the corresponding steps in the method, in which these steps represent the functions performed by the corresponding logical or physical hardware blocks.
While some aspects have been described in the context of an apparatus, it is obvious that these aspects also represent a description of the corresponding method, in which a block or device corresponds to a method step or a characteristic of a method step. Similarly, the aspects described in the context of a method step also represent a description of a corresponding block or item or of a characteristic of a corresponding apparatus. Some or all of the steps in the method can be performed by (or using) a hardware device, such as a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important steps in the method can be performed by that type of apparatus. Depending on certain implementation requirements, the embodiments of the invention can be implemented in hardware or in software. The implementation can be carried out using a digital storage medium, for example a floppy disk, a DVD, a Blue-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, which has stored in the Same electronically readable control signals that cooperate (or have the ability to cooperate) with a programmable computing system such that the respective method is executed. Therefore, the digital storage medium can be readable by a computer.
Some embodiments in accordance with the invention comprise a data transporter comprising electronically readable control signals, capable of cooperating with a programmable computing system such that one of the methods described herein is executed.
In general, the embodiments of the invention can be implemented in the form of a computer program with a program code, present product where the program code fulfills the function of executing one of the methods when executing the computer program on a computer. . The program code can be stored, for example, on a machine-readable carrier.
Other embodiments include the computer program for executing one of the methods described herein, stored in a machine-readable carrier.
In other words, one embodiment of the method of the invention therefore consists of a computer program consisting of a program code for performing one of the methods described herein when the computer program is run on a computer.
A further embodiment of the method of the invention therefore consists of a data carrier (or digital storage medium, or computer readable medium) comprising, recorded thereon, the computer program for executing one of the methods described here. The data carrier, the digital storage medium or the recorded medium are generally tangible and / or non-transient.
Another embodiment of the method of the invention is, therefore, a data stream or a sequence of signals that the computer program represents to execute one of the methods described herein. The data stream or signal sequence may be configured, for example, to be transferred over a data communication connection, for example over the Internet.
Another embodiment comprises a processing means, for example a computer, a programmable logic device, configured or adapted to execute one of the methods described herein.
A further embodiment comprises a computer on which the computer program has been installed to execute one of the methods described herein.
Another embodiment according to the invention comprises an apparatus or system configured to transfer (for example electronically or optically) a computer program to implement one of the methods described herein in a receiver. The receiver may be, for example, a computer, a mobile device, a memory device, or the like. The apparatus or system may comprise, for example, a file server for transferring the computer program to the receiver.
In some embodiments, a programmable logic device (for example an array of field programmable gates) may be used to execute some or all of the functionality of the methods described herein. In some embodiments, an array of field program gates can cooperate with a microprocessor to execute one of the methods described herein. In general, the methods are preferably executed by any hardware device.
The embodiments described above are merely illustrative of the principles of the present invention. It is understood that modifications and variations of the provisions and details described herein should be apparent to those skilled in the art.
Therefore, it is only intended to be limited to the scope of the following patent claims and not to the specific details presented by way of description and explanation of the embodiments presented herein.
References [1] ITU-T G.718 Recommendation, 2006 [2] Kazuhiro Kondo, Kiyoshi Nakagawa, „A Packet Loss Concealment Method Using Recursive Linear Prediction
Department of Electrical Engineering, Yamagata University,
Japan.
[3] R. Martin, Noise Power Spectral Density Estimation Based on Optimal Smoothing and Minimum Statistics, IEEE Transactions on speech and audio processing, vol. 9, no. 5, July 2001 [4] Ralf Geiger et. al., Patent Application US20110173011
Al, Audio Encoder and Decoder for Encoding and Decoding Frames of a Sampled Audio Signal [5] 3GPP TS 26.190; Transcoding functions; - 3GPP technical specification
Contents2
17 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17
125 members in 19 offices
Priority claims19
| Document | Office | Kind | Date |
|---|---|---|---|
| 14160774 | European Patent Office (EPO) | A | |
| 14160774 | European Patent Office (EPO) | A | |
| 141607747 | European Patent Office (EPO) | – | |
| 14167005 | European Patent Office (EPO) | A | |
| 14167005 | European Patent Office (EPO) | A | |
| 141670059 | European Patent Office (EPO) | – | |
| 14178769 | European Patent Office (EPO) | A | |
| 14178769 | European Patent Office (EPO) | A | |
| 141787697 | European Patent Office (EPO) | – | |
| 2015054490 | European Patent Office (EPO) | W | |
| 2015054490 | European Patent Office (EPO) | W | |
| 141607747 | – | – | – |
| 141670059 | – | – | – |
| 141787697 | – | – | – |
| EP20140160774 | – | – | – |
| EP20140167005 | – | – | – |
| EP20140178769 | – | – | – |
| PCTEP2015054490 | – | – | – |
| WO2015EP54490 | – | – | – |
Members125
| Document | Office | Kind | |
|---|---|---|---|
| EP2922054A1 | European Patent Office (EPO) | A1 | |
| EP2922055A1 | European Patent Office (EPO) | A1 | |
| EP2922056A1 | European Patent Office (EPO) | A1 | |
| CA2942088A1 | Canada | A1 | |
| CA2942698A1 | Canada | A1 | |
| CA2942992A1 | Canada | A1 | |
| WO2015139956A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2015139957A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2015139958A1 | World Intellectual Property Organization (WIPO) | A1 | |
| TW201537564A | Taiwan Province of China | A | |
| TW201537565A | Taiwan Province of China | A | |
| TW201539433A | Taiwan Province of China | A | |
| AR099771A1 | Argentina | A1 | |
| AR099772A1 | Argentina | A1 | |
| AR099775A1 | Argentina | A1 | |
| AU2015233707A1 | Australia | A1 | |
| AU2015233706A1 | Australia | A1 | |
| AU2015233708A1 | Australia | A1 | |
| SG11201607692QA | Singapore | A | |
| SG11201607694UA | Singapore | A | |
| SG11201607698TA | Singapore | A | |
| CN106133827A | China | A | |
| KR20160132452A | Republic of Korea | A | |
| CN106165011A | China | A | |
| KR20160135249A | Republic of Korea | A | |
| KR20160135258A | Republic of Korea | A | |
| CN106170830A | China | A | |
| TWI560704B | Taiwan Province of China | B | |
| TWI560705B | Taiwan Province of China | B | |
| MX2016012001A | Mexico | A | |
| MX2016012004A | Mexico | A | |
| MX2016012005AThis record | Mexico | A | |
| US2017004833A1 | United States of America | A1 | |
| US2017004834A1 | United States of America | A1 | |
| US2017004835A1 | United States of America | A1 | |
| EP3120347A1 | European Patent Office (EPO) | A1 | |
| EP3120348A1 | European Patent Office (EPO) | A1 | |
| EP3120349A1 | European Patent Office (EPO) | A1 | |
| JP2017510858A | Japan | A | |
| TWI581253B | Taiwan Province of China | B | |
| JP2017513072A | Japan | A | |
| JP2017514183A | Japan | A | |
| AU2015233706B2 | Australia | B2 | |
| BR112016019937A2 | Brazil | A2 | |
| BR112016020558A2 | Brazil | A2 | |
| BR112016020866A2 | Brazil | A2 | |
| AU2015233707B2 | Australia | B2 | |
| AU2015233708B2 | Australia | B2 | |
| HK1232333A | Hong Kong, China | A | |
| HK1232333A1 | Hong Kong, China | A1 | |
| HK1232334A | Hong Kong, China | A | |
| HK1232334A1 | Hong Kong, China | A1 | |
| HK1232337A | Hong Kong, China | A | |
| HK1232337A1 | Hong Kong, China | A1 | |
| EP3120348B1 | European Patent Office (EPO) | B1 | |
| EP3120349B1 | European Patent Office (EPO) | B1 | |
| EP3120347B1 | European Patent Office (EPO) | B1 | |
| KR20180027620A | Republic of Korea | A | |
| PT3120348T | Portugal | T | |
| ES2661919T3 | Spain | T3 | |
| PT3120347T | Portugal | T | |
| PT3120349T | Portugal | T | |
| ES2662936T3 | Spain | T3 | |
| RU2651217C1 | Russian Federation | C1 | |
| ES2664391T3 | Spain | T3 | |
| RU2016140557A | Russian Federation | A | |
| RU2016140812A | Russian Federation | A | |
| MX356943B | Mexico | B | |
| PL3120348T3 | Poland | T3 | |
| RU2660610C2 | Russian Federation | C2 | |
| RU2660630C2 | Russian Federation | C2 | |
| KR101875676B1 | Republic of Korea | B1 | |
| MX357493B | Mexico | B | |
| MX357495B | Mexico | B | |
| PL3120349T3 | Poland | T3 | |
| KR101889721B1 | Republic of Korea | B1 | |
| PL3120347T3 | Poland | T3 | |
| KR101893785B1 | Republic of Korea | B1 | |
| CA2942698C | Canada | C | |
| CA2942992C | Canada | C | |
| US10140993B2 | United States of America | B2 | |
| US10163444B2 | United States of America | B2 | |
| JP6450511B2 | Japan | B2 | |
| JP6457061B2 | Japan | B2 | |
| US2019066700A1 | United States of America | A1 | |
| US10224041B2 | United States of America | B2 | |
| US2019074018A1 | United States of America | A1 | |
| CA2942088C | Canada | C | |
| JP2019070819A | Japan | A | |
| JP2019074752A | Japan | A | |
| US2019156840A1 | United States of America | A1 | |
| JP6525444B2 | Japan | B2 | |
| KR101986087B1 | Republic of Korea | B1 | |
| JP2019164366A | Japan | A | |
| CN106133827B | China | B | |
| CN106165011B | China | B | |
| CN106170830B | China | B | |
| US10614818B2 | United States of America | B2 | |
| US10621993B2 | United States of America | B2 | |
| JP6694047B2 | Japan | B2 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Grant or registrationFG | FG |
Numbers
- Publication
- 2016012005
- Publication, EPODOC
- MX2016012005
- Application
- 2016012005
- Application, DOCDB
- 2016012005
- Application, EPODOC
- MX20160012005
Titles
- Spanish
- APARATO Y METODO PARA GENERAR UNA SEÑAL DE OCULTAMIENTO DE ERROR EMPLEANDO COMPENSACION DE POTENCIA.
Classification
- CPC, 6
- G10L19/005
- G10L19/06
- G10L19/09
- G10L19/028
- G10L2019/0002
- G10L2019/0016
- IPC, 2
- G10L19 005
- G10L19 06