The present invention is in the field of audio encoding/decoding, especially of audio coding concepts utilizing multiple encoding domains.
In the art, frequency domain coding schemes such as MP3 or AAC are known. These frequency-domain encoders are based on a time-domain/frequency-domain conversion, a subsequent quantization stage, in which the quantization error is controlled using information from a psychoacoustic module, and an encoding stage, in which the quantized spectral coefficients and corresponding side information are entropy-encoded using code tables.
On the other hand there are encoders that are very well suited to speech processing such as the AMR-WB+ as described in 3GPP TS 26.290. Such speech coding schemes perform an LP (LP=Linear Predictive) filtering of a time-domain signal. Such an LP filtering is derived from a linear prediction analysis of the input time-domain signal. The resulting LP filter coefficients are then quantized/coded and transmitted as side information. The process is known as LPC (LPC=Linear Prediction Coding). At the output of the filter, the prediction residual signal or prediction error signal which is also known as the excitation signal is encoded using the analysis-by-synthesis stages of the ACELP encoder or, alternatively, is encoded using a transform encoder, which uses a Fourier transform with an overlap. The decision between the ACELP coding and the Transform Coded eXcitation coding, which is also called TCX, coding is done using a closed loop or an open loop algorithm.
Frequency-domain audio coding schemes such as the high efficiency-AAC encoding scheme, which combines an AAC coding scheme and a spectral band replication technique can also be combined with a joint stereo or a multi-channel coding tool which is known under the term “MPEG surround”.
On the other hand, speech encoders such as the AMR-WB+also have a high frequency enhancement stage and a stereo functionality.
Frequency-domain coding schemes are advantageous in that they show a high quality at low bitrates for music signals. Problematic, however, is the quality of speech signals at low bitrates. Speech coding schemes show a high quality for speech signals even at low bitrates, but show a poor quality for music signals at low bitrates.
Frequency-domain coding schemes often make use of the so-called MDCT (MDCT=Modified Discrete Cosine Transform). The MDCT has been initially described in J. Princen, A. Bradley, “Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation”, IEEE Trans. ASSP, ASSP-34(5):1153-1161, 1986. The MDCT or MDCT filter bank is widely used in modern and efficient audio coders. This kind of signal processing provides the following advantages:
Smooth cross-fade between processing blocks: Even if the signal in each processing block is altered differently (e.g. due to quantization of spectral coefficients), no blocking artifacts due to abrupt transitions from block to block occur because of the windowed overlap/add operation.
Critical sampling: The number of spectral values at the output of the filter bank is equal to the number of time domain input values at its input and additional overhead values have to be transmitted.
The MDCT filter bank provides a high frequency selectivity and coding gain.
Those great properties are achieved by utilizing the technique of time domain aliasing cancellation. The time domain aliasing cancellation is done at the synthesis by overlap-adding two adjacent windowed signals. If no quantization is applied between the analysis and the synthesis stages of the MDCT, a perfect reconstruction of the original signal is obtained. However, the MDCT is used for coding schemes, which are specifically adapted for music signals. Such frequency-domain coding schemes have, as stated before, reduced quality at low bit rates for speech signals, while specifically adapted speech coders have a higher quality at comparable bit rates or even have significantly lower bit rates for the same quality compared to frequency-domain coding schemes.
Speech coding techniques such as the AMR-WB+ (AMR-WB+=Adaptive Multi-Rate WideBand extended) codec as defined in “Extended Adaptive Multi-Rate-Wideband (AMR-WB+) codec”, 3GPP TS 26.290 V6.3.0, 2005-06, Technical Specification, do not apply the MDCT and, therefore, can not take any advantage from the excellent properties of the MDCT which, specifically, rely in a critically sampled processing on the one hand and a crossover from one block to the other on the other hand. Therefore, the crossover from one block to the other obtained by the MDCT without any penalty with respect to bit rate and, therefore, the critical sampling property of MDCT has not yet been obtained in speech coders.
When one would combine speech coders and audio coders within a single hybrid coding scheme, there is still the problem of how to obtain a switch-over from one coding mode to the other coding mode at a low bit rate and a high quality.
Conventional audio coding concepts are usually designed to be started at the beginning of an audio file or of a communication. Using these conventional concepts, filter structures, as for example prediction filters, reach a steady state at a certain time the beginning of the encoding or decoding procedure. For a switched audio coding system, however, using for example transform based coding on the one hand, and speech coding according to a previous analysis of the input on the other hand, the respective filter structures are not actively and continuously updated. For example, speech coders can be solicited to be frequently restarted in a short period of time. Once restarted, a start up period starts over again, the internal states are reset to zero. The duration needed by, for example a speech coder to reach a steady state can be critical especially for the quality of the transitions.
Conventional concepts as for example the AMR-WB+, cf. “Extended Adaptive Multi-Rate-Wideband (AMR-WB+) codec”, 3GPP TS 26.290 V6.3.0, 2005-06, Technical specification, use a total reset of the speech coder when transiting or switching between the transform based coder and the speech coder.
The AMR-WB+ is optimized under the condition that it starts only one time when the signal is faded in, supposing that there are no intermediate stops or resets. Hence, all the memories of the coder can be updated on a frame by frame basis. In case the AMR-WB+ is used in the middle of a signal, a reset has to be called, and all memories used on the encoding or decoding side are set to zero. Therefore, conventional concepts have the problem that too long durations are applied before reaching a steady state of the speech coder, along with the introduction of strong distortions in the non-steady phases.
Another disadvantage of conventional concepts is that they utilize long overlapping segments when switching coding domains introducing overheads, which disadvantageously effects coding efficiency.
According to an embodiment, an audio encoder adapted for encoding frames of a sampled audio signal to acquire encoded frames, wherein a frame has a number of time domain audio samples, may have a predictive coding analysis stage for determining information on coefficients of a synthesis filter and information on a prediction domain frame based on a frame of audio samples; a frequency domain transformer for transforming a frame of audio samples to the frequency domain to acquire a frame spectrum; an encoding domain decider for deciding whether encoded data for a frame is based on the information on the coefficients and on the information on the prediction domain frame, or based on the frame spectrum; a controller for determining information on a switching coefficient when the encoding domain decider decides that encoded data of a current frame is based on the information on the coefficients and the information on the prediction domain frame when encoded data of a previous frame was encoded based on a previous frame spectrum acquired by the frequency domain transformer; and a redundancy reducing encoder for encoding the information on the prediction domain frame, the information on the coefficients, the information on the switching coefficient and/or the frame spectrum, wherein the information on the switching coefficient has an information enabling an initialization of a predictive synthesis stage, and the controller is adapted for determining the information on the switching coefficient based on an LPC analysis of the previous frame, and the controller is adapted for determining the information on the switching coefficient based on a high pass filtered version of a decoded frame spectrum of the previous frame.
According to another embodiment, a method for encoding frames of a sampled audio signal to acquire encoded frames, wherein a frame has a number of time domain audio samples may have the steps of determining information on coefficients of a synthesis filter and information on a prediction domain frame based on a frame of audio samples; transforming a frame of audio samples to the frequency domain to acquire a frame spectrum; deciding whether encoded data for a frame is based on the information on the coefficients and on the information on the prediction domain frame, or based on the frame spectrum; determining information on a switching coefficient when it is decided that encoded data of a current frame is based on the information on the coefficients and the information on the prediction domain frame when encoded data of a previous frame was encoded based on a previous frame spectrum acquired by the frequency domain transformer; and encoding the information on the prediction domain frame, the information on the coefficients, the information on the switching coefficient and/or the frame spectra, wherein the information on the switching coefficient has an information enabling an initialization of a predictive synthesis stage, and the determination of the information on the switching coefficient is performed based on an LPC analysis of the previous frame, and the controller is adapted for determining the information on the switching coefficient based on a high pass filtered version of a decoded frame spectrum of the previous frame.
According to another embodiment, an audio decoder for decoding encoded frames to acquire frames of a sampled audio signal, wherein a frame has a number of time domain audio samples may have a redundancy retrieving decoder for decoding the encoded frames to acquire information on a prediction domain frame, information on coefficients for a synthesis filter and/or a frame spectrum; a predictive synthesis stage for determining a predicted frame of audio samples based on the information on the coefficients for the synthesis filter and the information on the prediction domain frame; a time domain transformer for transforming the frame spectrum to the time domain to acquire a transformed frame from the frame spectrum; a combiner for combining the transformed frame and the predicted frame to acquire the frames of the sampled audio signal; and a controller for controlling a switch-over process, the switch-over process being effected when a previous frame is based on a transformed frame and a current frame is based on a predicted frame, the controller being configured for providing a switching coefficient to the predictive synthesis stage for initialization of the predictive synthesis stage based on an LPC analysis of the previous frame so that the predictive synthesis stage is initialized when the switch-over process is effected.
According to another embodiment, a method for decoding encoded frames to acquire frames of a sampled audio signal, wherein a frame has a number of time domain audio samples may have the steps of decoding the encoded frames to acquire information on a prediction domain frame, and information on coefficients for a synthesis filter and/or a frame spectrum; determining a predicted frame of audio samples based on the information of the coefficients for the synthesis filter and the information on the prediction domain frame; transforming the frame spectrum to the time domain to acquire a transformed frame from the frame spectrum; combining the transformed frame and the predicted frame to acquire the frames of the sampled audio signal; and controlling a switch-over process, the switch-over process being effected when a previous frame is based on the transformed frame, and a current frame is based on the predicted frame; providing a switching coefficient for initialization based on an LPC analysis of the previous frame so that a predictive synthesis stage is initialized when the switch-over process is effected.
According to another embodiment, a computer program may have a program code for performing, when a computer program runs on a computer or processor, one of the above mentioned methods.
The present invention is based on the finding that the above-mentioned problems can be solved in a decoder, by considering state information of an according filter after reset. For example, after reset, when the states of a certain filter have been set to zero, the start-up or warm up procedure of the filter can be shortened, if the filter is not started from scratch, i.e. with all states or memories set to zero, but fed with an information on a certain state, starting from which a shorter start-up or warm up period can be realized.
It is another finding of the present invention that said information on a switching state can be generated on the encoder or the decoder side. For example, when switching between a prediction based encoding concept and a transform based encoding concept, additional information can be provided before switching, in order to enable the decoder to take the prediction synthesis filters to a steady state before actually having to use its outputs.
In other words, it is the finding of the present invention that especially when switching between the transform domain to the prediction domain in a switched audio coder, additional information on filter states shortly before an actual switch-over to the prediction domain, can resolve the problem of generating switching artifacts.
It is another finding of the present invention that such information on the switch over can be generated at the decoder only, by considering its outputs shortly before the actual switch-over takes place, and basically run encoder processing on said output, in order to determine an information on filter or memory states shortly before the switching. Some embodiments can therewith use conventional encoders and reduce the problem of switching artifacts solely by decoder processing. Taking said information into account, for example, prediction filters can already be warmed up prior to the actual switch-over, e.g. by analyzing the output of a corresponding transform domain decoder.
Embodiments of the present invention will be detailed using the accompanying figures, in which:
a and 4b illustrate MDCT and time domain aliasing;
a-6g illustrate signals being processed for time domain aliasing cancellation in an embodiment;
a-7g illustrate a signal processing chain for a time domain aliasing cancellation in an embodiment when using a linear prediction decoder;
a-8g illustrate a signal processing chain in an embodiment with time domain aliasing cancellation; and
a and 9b illustrate signal processing on the encoder and decoder side in embodiments.
Moreover, the embodiment of the audio encoder 100 comprises a frequency domain transformer 120 for transforming a frame of audio samples to the frequency domain to obtain a frame spectrum. In the following it can be referred to transform domain encoding, when a frame spectrum is encoded. Furthermore, the embodiment of the audio encoder 100 comprises an encoding domain decider 130 for deciding, whether encoded data for a frame is based on the information on the coefficients and on the information on the prediction domain frame, or based on the frame spectrum. The embodiment of the audio encoder 100 comprises a controller 140 for determining an information on a switching coefficient, when the encoding domain decider decides that encoded data of a current frame is based on the information on the coefficients and the information on the prediction domain frame, when encoded data of a previous frame was encoded based on a previous frame spectrum. The embodiment of the audio encoder 100 further comprises a redundancy reducing encoder 150 for encoding the information on the prediction domain frame, the information on the coefficients, the information on the switching domain coefficient and/or the frame spectrum. In other words, the encoding domain decider 130 decides the encoding domain, whereas the controller 140 provides the information on the switching coefficient when switching from the transform domain to the prediction domain.
In
If the switching occurs, the controller 140 may indicate to the redundancy reducing encoder 150 to encode an overlapping frame, during a previous frame the redundancy reducing encoder 150 may be controlled by the controller 140 in a manner that a bitstream contains for the previous frame both, information on the coefficients and the information on the prediction domain frame, as well as the frame spectrum. In other words, in embodiments, the controller may control the redundancy reducing encoder 150 in a manner such that the encoded frames include the above-described information. In other embodiments, the encoding domain decider 130 may decide to change the encoding domain and switch between the predictive coding analysis stage 110 and the frequency domain transformer 120.
In these embodiments, the controller 140 may carry out some analysis internally, in order to provide the switching coefficients. In embodiments the information on a switching coefficient may correspond to an information on filter states, adaptive codebook content, memory states, information on an excitation signal, LPC coefficients, etc. The information on the switching coefficient may comprise any information that enables a warm-up or initialization of an predictive synthesis stage 220.
The encoding domain decider 130 may determine its decision on when to switch the encoding domain based on the frames or samples of audio signals which is also indicated by the broken line in
Generally, embodiments shall not be limited to the manner in which the encoding domain decider 130 decides when to change the encoding domain, it is more important that the encoding domain changes are decided by the encoding domain decider 130, during which the above-described problems occur, and in which in some embodiments the audio encoder 100 is coordinated in a manner that the above-described disadvantages effects are at least partly compensated.
In embodiments, the encoding domain decider 130 can be adapted for deciding based on a signal property or the properties of the audio frames. As already known, audio properties of an audio signal may determine the coding efficiency, i.e. for certain characteristics of an audio signal, it may be more efficient to use transform based encoding, for other characteristics it may be more beneficial to use prediction domain coding. In some embodiments, the encoding domain decider 130 may be adapted for deciding to use transformed based coding when the signal is very tonal or unvoiced. If the signal is transient or a voice-like signal, the encoding domain decider 130 may be adapted for deciding to use a prediction domain frame as stated for the encoding.
According to the other broken lines and arrows in
Furthermore, the embodiment of the audio decoder 200 comprises a controller 250 for controlling a switch-over process, the switch-over process being effected when a previous frame is based on the transformed frame, and a current frame is based on the predicted frame, the controller 250 being configured for providing switching coefficients to the predictive synthesis stage 220 for training, initializing or warming-up the predictive synthesis stage 220, so that the predictive synthesis stage 220 is initialized when the switch-over process is effected.
According to the broken arrows shown in
In the following, an LPC based domain codec is considered, including predictors and internal filters which, during a start-up need a certain time to reach a state which ensures an accurate filter synthesis. In other words, in embodiments of the audio encoder 100, the predictive coding analysis stage 110 can be adapted for determining the information on the coefficients of the synthesis filter and the information on the prediction domain frame based on an LPC analysis. In embodiments of the audio decoder 200, the predictive synthesis stage 220 can be adapted for determining the predicted frames based on an LPC synthesis filter.
Using a rectangular window at the beginning of the first LPD (LPD=Linear Prediction Domain) frame and resetting the LPD-based codec to a zero state, obviously does not provide an ideal option for these transitions, because not enough time is left for the LPD codec to build up a good signal, which would introduce blocking artifacts.
In embodiments, in order to handle the transition from a non-LPD mode to an LPD mode, overlap windows can be used. In other words, in embodiments of the audio encoder 100, the frequency domain transformer 120 can be adapted for transforming the frame of audio samples based on a Fast Fourier Transform (FFT=Fast Fourier Transform), or an MDCT (MDCT=Modified Discrete Cosine Transform). In embodiments of the audio decoder 200, the time domain transformer 230 can be adapted for transforming the frame spectra to the time domain based on an inverse FFT (IFFT=inverse FFT), or an inverse MDCT (IMDCT=inverse MDCT).
Therewith, embodiments may run in a non-LPD mode, which may also be referred to as the transform based mode, or in an LPD mode, which is also referred to as the predictive analysis and synthesis. Generally, embodiments may use overlapping windows, especially when using MDCT and IMDCT. In other words, in the non-LPD mode overlapping windowing with time domain aliasing (TDA=Time Domain Aliasing) may be used. Therewith, when switching from the non-LPD mode to the LPD mode, the time domain aliasing of the last non-LPD frame can be compensated. Embodiments may introduce time domain aliasing in the original signal before carrying out LPD coding, however, time domain aliasing may not be compatible with prediction based time domain coding such as ACELP (ACELP=Algebraic Codebook Excitation Linear Prediction). Embodiments may introduce an artificial aliasing in the beginning of the LPD segment and apply time domain cancellation in the same manner as for ACELP to non-LPD transitions. In other words, predictive analysis and synthesis may be based on an ACELP in embodiments.
In some embodiments, artificial aliasing is produced from the synthesis signal instead of the original signal. Since the synthesis signal is inaccurate, especially at the LPD start-up, these embodiments may somewhat compensate the block artifacts by introducing artificial TDA, however, the introduction of artificial TDA may introduce an error of inaccuracy along with the reduction of artifacts.
However, when switching to the LPD mode, i.e. now considering the right-hand part of the MDCT window shown in
In the embodiment, the MDCT is applied in order to obtain the critically sampling switch-over from an encoding operation in one domain to an encoding operation in a different other domain, i.e. being carried out in embodiments of the frequency domain transformer 120 and/or the time domain transformer 230. However, all other transforms can be applied as well. Since, however, the MDCT is the embodiment, the MDCT will be discussed in more detail with respect to
a illustrates a window 470, which has an increasing portion to the left and a decreasing portion to the right, where one can divide this window into four portions: a, b, c, and d. Window 470 has, as can be seen from the figure only aliasing portions in the 50% overlap/add situation illustrated. Specifically, the first portion having samples from zero to N corresponds to the second portions of a preceding window 469, and the second half extending between sample N and sample 2N of window 470 is overlapped with the first portion of window 471, which is in the illustrated embodiment window i+1, while window 470 is window i.
The MDCT operation can be seen as the cascading of windowing and the folding operation and a subsequent transform operation and, specifically, a subsequent DCT (DCT=Discrete Cosine Transform) operation, where the DCT of type-IV (DCT-IV) is applied. Specifically, the folding operation is obtained by calculating the first portion N/2 of the folding block as -cR-d, and calculating the second portion of N/2 samples of the folding output as a-bR, where R is the reverse operator. Thus, the folding operation results in N output values while 2N input values are received.
A corresponding unfolding operation on the decoder-side is illustrated, in equation form, in
Generally, an MDCT operation on (a,b,c,d) results in exactly the same output values as the DCT-IV of (-cR-d, a-bR) as indicated in
Correspondingly, and using the unfolding operation, an IMDCT operation results in the output of the unfolding operation applied to the output of a DCT-IV inverse transform.
Therefore, time aliasing is introduced by performing a folding operation on the encoder side. Then, the result of windowing and folding operation is transformed into the frequency domain using a DCT-IV block transform requiring N input values.
On the decoder-side, N input values are transformed back into the time domain using a DCT-IV operation, and the output of this inverse transform operation is thus changed into an unfolding operation to obtain 2N output values which, however, are aliased output values.
In order to remove the aliasing which has been introduced by the folding operation and which is still there subsequent to the unfolding operation, the overlap/add operation may carry out time domain aliasing cancellation.
Therefore, when the result of the unfolding operation is added with the previous IMDCT result in the overlapping half, the reversed terms cancel in the equation in the bottom of
In order to obtain a TDAC for the windowed MDCT, a requirement exists, which is known as “Princen-Bradley” condition, which means that the window coefficients raised to 2 for the corresponding samples which are combined in the time domain aliasing canceller as to result in unity (1) for each sample.
While
b illustrates an analysis window function 472 having a zero portion a1 and d2, having an aliasing portion 472a, 472b, and having a non-aliasing portion 472c.
The aliasing portion 472b extending over c2, d1 has a corresponding aliasing portion of a subsequent window 473, which is indicated at 473b. Correspondingly, window 473 additionally comprises a non-aliasing portion 473a.
When the folding operation is applied to a block of samples windowed by window 472, a situation is obtained as illustrated in
Now, the DCT-IV is applied to the result of the folding operation, but, importantly, the aliasing portion 472, which is at the transition from one coding mode to the other coding mode is differently processed than the non-aliasing portion, although both portions belong to the same block of audio samples and, importantly, are input into the same block transform operation.
b furthermore illustrates a window sequence of windows 472, 473, 474, where the window 473 is a transition window from a situation where there do exist non-aliasing portions to a situation, where only exist aliasing portions. This is obtained by asymmetrically shaping the window function. The right portion of window 473 is similar to the right portion of the windows in the window sequence of
Therefore, window 473 can be termed to be a “stop window”, which has, in addition, the characteristic that the length of this window is identical to the length of at least one neighboring window so that the general block pattern or framing raster is maintained, when a block is set to have the same number as window coefficients, i.e., 2N samples in the
In the following, the method of artificial time domain aliasing and time domain aliasing cancellation will be described in detail.
In other words,
The operations of windowing in block 510 and folding in block 520 can be summarized as the time domain aliasing which is introduced through MDCT. However, further aliasing effects arise when inversely transforming through IMDCT. Effects evoked by the IMDCT are summarized in
In other words, in embodiments of the audio decoder 200, the combiner 240 can be adapted to carry out the functions of block 550 in
The resulting signals are displayed in
a to 6g and 8a to 8g illustrate another comparison between using the original signal for artificial time domain aliasing and time domain aliasing cancellation, and another case of using the LPD start-up signal, however, in
Embodiments of the present invention may speed up the start-up period for example of an LPD core codec, as an embodiment of the predictive coding analysis stage 110, the predictive synthesis stage 220, respectively. Embodiments may update all the concerned memories and states in order to enable the reduction of a synthesized signal as close as possible to the original signal, and reduce the distortions as displayed in
As it has already been described above, using a rectangular window at the beginning of the first or the current LPD frame and resetting the LPD-based codec to a zero state, may not be the ideal option for transitions. Distortions and artifacts may occur, since not enough time may be left for the LPD codec to build up a good signal. Similar considerations hold for setting the internal state variables of the codec to any defined initial values, since a steady state of such a coder depends on multiple signal properties, and start-up times from any predefined but fixed initial state can be long.
In embodiments of the audio encoder 100, the controller 140 can be adapted for determining information on coefficients for a synthesis filter and an information on a switching prediction domain frame based on an LPC analysis. In other words, embodiments may use a rectangular window and reset the internal state of the LPD codec. In some embodiments, the encoder may include information on filter memories and/or an adaptive codebook used by ACELP, about synthesis samples from the previous non-LPD frame into the encoded frames and provide them to the decoder. In other words, embodiments of the audio encoder 100 may decode the previous non-LPD frame, perform an LPC analysis, and apply the LPC analysis filter to the non-LPD synthesis signal for providing information thereon to the decoder.
As already mentioned above, the controller 140 can be adapted for determining the information on the switching coefficient such that said information may represent a frame of audio samples overlapping the previous frame.
In embodiments, the audio encoder 100 can be adapted for encoding such information on switching coefficients using the redundancy reducing encoder 150. As part of one embodiment, the restart procedure may be enhanced by transmitting or including additional parameter information of LPC computed on the previous frame in the bitstream. The additional set of LPC coefficients may in the following be referred to as LPC0.
In one embodiment, the codec may operate in its LPD core coding mode, using four LPC filters, namely LPC1 to LPC4, which are estimated or determined for each frame. In an embodiment, at transitions from non-LPD coding to LPD coding, an additional LPC filter LPC0, which may correspond to an LPC analysis centered at the end of the previous frame, may also be determined, or estimated. In other words, in an embodiment, the frame of audio samples overlapping the previous frame may be centered at the end of the previous frame.
In embodiments of the audio decoder 200, the redundancy retrieving decoder 210 can be adapted for decoding an information on the switching coefficient from the encoded frames. Accordingly, the predictive synthesis stage 220 can be adapted for determining a switch-over predicted frame which overlaps the previous frame. In another embodiment, the switch-over predicted frame may be centered at the end of the previous frame.
In embodiments, the LPC filter corresponding to the end of the non-LPD segment or frame, i.e. LPC0, may be used for the interpolation of the LPC coefficients or for computation of the zero input response in case of an ACELP.
As mentioned above, this LPC filter may be estimated in a forward manner, i.e. estimated based on the input signal, quantized by the encoder and transmitted to the decoder. In other embodiments, the LPC filter can be estimated in a backward manner, i.e. by the decoder based on the past synthesized signal. Forward estimation may use additional bitrates but may also enable a more efficient and reliable start-up period.
In other words, in other embodiments the controller 250 within an embodiment of the audio decoder 200 can be adapted for analyzing the previous frame to obtain previous frame information on coefficients for a synthesis filter and/or a previous frame information on a prediction domain frame. The controller 250 may further be adapted for providing the previous frame information on coefficients to the predictive synthesis stage 220 as switching coefficients. The controller 250 may further provide the previous frame information on the prediction domain frame to the predictive synthesis stage 220 for training.
In embodiments wherein the audio encoder 100 provides information on the switching coefficients, the amount of bits in the bitstream may increase slightly. Carrying out analysis at the decoder may not increase the amount of bits in the bitstream. However, carrying out analysis at the decoder may introduce extra complexity. Therefore, in embodiments, the resolution of the LPC analysis may be enhanced by reducing the spectral dynamic, i.e. the frames of the signal can be first preprocessed through a pre-emphasis filter. The inverse low frequency emphasis can be applied at the embodiment of the decoder 200, as well as in the audio encoder 100 to allow for the obtaining of an excitation signal or prediction domain frame needed for the encoding of the next frames. All these filters may give a zero state response, i.e. the output of a filter due to the present input given that no past inputs have been applied, i.e. given that the state information in the filter is set to zero after a full reset. Generally, when the LPD coding mode is running normally, the state information in the filter is updated by the final state after the filtering of the previous frame. In embodiments, in order to set the internal filter state of the LPD coded in a way that already for the first LPD frame all the filters and predictors are initialized to run in the optimal or improved mode for the first frame, either information on the switching coefficient/coefficients may be provided by the audio encoder 100, or additional processing may be carried out at a decoder 200.
Generally, filters and predictors for the analysis, as carried out in the audio encoder 100 by the predictive coding analysis stage 110 are distinguished from the filters and predictors used on the audio decoder 200 side for the synthesis.
For the analysis, as for example the predictive coding analysis stage 110, all or at least one of these filters may be fed with the appropriate original samples of the previous frame to update the memories.
As illustrated in
b illustrates a block diagram of the signal processing in the synthesis case. In the synthesis case, in embodiments all or at least one of the filters may be fed with the appropriate synthesized samples of the previous frame to update the memories. In embodiments of the audio decoder 200, this may be straightforward because the synthesis of the previous non-LPD frame is directly available. However, in an embodiment of the audio encoder 100, synthesis may not be carried out by default and correspondingly, the synthesized samples may not be available. Therefore, in embodiments of the audio encoder 100, the controller 140 may be adapted for decoding the previous non-LPD frame. Once the non-LPD frame has been decoded, in both embodiments, i.e. the audio encoder 100 and the audio encoder 200, synthesis of the previous frame may be carried out according to
Embodiments of the present invention can provide the advantage that a restart procedure of filters can be boosted or accelerated by providing additional parameters and/or feeding the internal memories of an encoder or decoder with samples of the previous frame coded by the transform based coder.
Embodiments may provide the advantage of a speed-up of the start procedure of an LPC core codec by updating all or parts of the concerned memories, resulting in a synthesized signal, which may be closer to the original signal than when using conventional concepts, especially when using full reset. Furthermore, embodiments may allow a longer overlap and add window and therewith enable the improved use of time domain aliasing cancellation. Embodiments may provide the advantage that an unsteady phase of a speech coder may be shortened, the produced artifacts during the transition from a transform based coder to a speech coder may be reduced.
Depending on certain implementation requirements of the inventive methods, the inventive methods can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, in particular a disk, a DVD, a CD, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective methods are performed.
Generally, the present invention is therefore, a computer program product with a program code stored on a machine readable carrier, the program code being operative for performing one of the methods when the computer program product runs on a computer.
In other words, the inventive methods are, therefore, a computer program having a program code for performing at least one of the inventive methods when the computer program runs on a computer.
While the aforegoing has been particularly shown and described with reference to particular embodiments thereof, it is to be understood by those skilled in the art that various other changes in the form and details may be made, without departing from the spirit and scope thereof. It is to be understood that various changes may be made in adapting to different embodiments without departing from the broader concepts disclosed herein and comprehended by the claims that follow.
While this invention has been described in terms of several embodiments, there are alterations, permutations, and equivalents which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations and equivalents as fall within the true spirit and scope of the present invention.
This application is a continuation of copending International Application No. PCT/EP2009/004947, filed Jul. 8, 2009, which is incorporated herein by reference in its entirety, and additionally claims priority from U.S. Patent Application Nos. 61/079,851, filed Jul. 11, 2008 and U.S. Patent Application No. 61/103,825, filed Oct. 8, 2008, which are all incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
5533052 | Bhaskar | Jul 1996 | A |
5579430 | Grill et al. | Nov 1996 | A |
5974374 | Wake | Oct 1999 | A |
6233550 | Gersho et al. | May 2001 | B1 |
6658383 | Koishida et al. | Dec 2003 | B2 |
7325023 | Youn | Jan 2008 | B2 |
7876966 | Ojanpera | Jan 2011 | B2 |
7933769 | Bessette | Apr 2011 | B2 |
7979271 | Bessette | Jul 2011 | B2 |
8447620 | Neuendorf et al. | May 2013 | B2 |
8484038 | Bessette et al. | Jul 2013 | B2 |
8595019 | Geiger et al. | Nov 2013 | B2 |
8630862 | Geiger et al. | Jan 2014 | B2 |
20030009325 | Kirchherr et al. | Jan 2003 | A1 |
20040044534 | Chen et al. | Mar 2004 | A1 |
20070112559 | Schuijers et al. | May 2007 | A1 |
20070147518 | Bessette | Jun 2007 | A1 |
20080004869 | Herre et al. | Jan 2008 | A1 |
20100138218 | Geiger | Jun 2010 | A1 |
20110173011 | Geiger et al. | Jul 2011 | A1 |
20110202355 | Grill et al. | Aug 2011 | A1 |
20110238425 | Neuendorf et al. | Sep 2011 | A1 |
20120253797 | Geiger et al. | Oct 2012 | A1 |
20120271644 | Bessette et al. | Oct 2012 | A1 |
20130066640 | Grill et al. | Mar 2013 | A1 |
20130332153 | Markovic et al. | Dec 2013 | A1 |
Number | Date | Country |
---|---|---|
1396844 | Mar 2004 | EP |
2302623 | Mar 2011 | EP |
2141166 | Apr 1990 | RU |
2005135650 | Mar 2006 | RU |
WO 03090209 | Oct 2003 | WO |
WO-2004082288 | Sep 2004 | WO |
WO 2008071353 | Jun 2008 | WO |
Entry |
---|
John P. Princen; Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation; 9 pages; IEEE Transactions on Acoustics Speech, and Signal Processing, Vo. ASSP-34, No. 5, Oct. 1986. |
3GPP TS 26.290 v9.0.0 (Sep. 2009); 3rd Generation Partneship Project; Technical Specification Group Service and System Aspects; Audio Codec Processing Functions; Extended Adaptive Multi-Rate—Wideband (AMR-WB+) Codec; Transcoding Functions (Release 9). |
PCT/EP2009/004947 International Search Report and Written Opinion; 16 pages; date of mailing Dec. 10, 2009. |
Number | Date | Country | |
---|---|---|---|
20110173008 A1 | Jul 2011 | US |
Number | Date | Country | |
---|---|---|---|
61079851 | Jul 2008 | US | |
61103825 | Oct 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2009/004947 | Jul 2009 | US |
Child | 13004335 | US |