WO2016016566A1 - Détermination d'un budget de codage d'une trame de transition lpd/fd - Google Patents

Détermination d'un budget de codage d'une trame de transition lpd/fd Download PDF

Info

Publication number
WO2016016566A1
WO2016016566A1 PCT/FR2015/052073 FR2015052073W WO2016016566A1 WO 2016016566 A1 WO2016016566 A1 WO 2016016566A1 FR 2015052073 W FR2015052073 W FR 2015052073W WO 2016016566 A1 WO2016016566 A1 WO 2016016566A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
coding
transition
bits
predictive
Prior art date
Application number
PCT/FR2015/052073
Other languages
English (en)
Inventor
Stéphane RAGOT
Julien Faure
Original Assignee
Orange
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange filed Critical Orange
Priority to ES15745542.9T priority Critical patent/ES2676832T3/es
Priority to KR1020177005825A priority patent/KR20170037660A/ko
Priority to CN202010879909.4A priority patent/CN112133315B/zh
Priority to JP2017504670A priority patent/JP6607921B2/ja
Priority to CN201580044697.5A priority patent/CN106605263B/zh
Priority to EP15745542.9A priority patent/EP3175443B1/fr
Priority to KR1020227015119A priority patent/KR102485835B1/ko
Priority to US15/329,671 priority patent/US10586549B2/en
Publication of WO2016016566A1 publication Critical patent/WO2016016566A1/fr
Priority to US16/775,569 priority patent/US11158332B2/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders

Definitions

  • the present invention relates to the field of coding / decoding of digital signals.
  • the invention is advantageously applied to the coding / decoding of sounds that can contain speech and music mixed or alternately.
  • CELP Code Excited Linear Prediction
  • transform coding techniques are preferred.
  • CELP coders are predictive coders. They aim to model the production of speech from various elements: a short-term linear prediction to model the vocal tract, a long-term prediction to model the vibration of vocal cords in voiced period, and an excitation derived from a fixed dictionary (white noise, algebraic excitation) to represent ⁇ "innovation" which could not be modeled.
  • Transform coders such as MPEG AAC, AAC-LD, AAC-ELD or ITU-T G.722.1 Annex C, for example, use critical-sampling transforms to compact the signal in the transformed domain.
  • a "critical-sampling transform” is a transform for which the number of coefficients in the transformed domain is equal to the number of time samples in each frame analyzed.
  • One solution for efficiently coding a mixed speech / music content signal consists in selecting, over time, the best technique between at least two coding modes, one of the CELP type, the other of the transformed type.
  • RMO Model 0 Reference
  • LPD Linear Predictive Domain
  • FD mode for "Frequency Domain” in English
  • MDCT for "Modified Discrete Cosine Transform” in English
  • MPEG AAC type for "Advanced Audio Coding" out of 1024 samples.
  • the MDCT transformation is typically divided into three steps, the signal being cut into frames of M samples before MDCT coding:
  • the MDCT window is divided into 4 adjacent portions of equal lengths M / 2, here called "quarters".
  • the signal is multiplied by the analysis window and folds are made: the first quarter (windowed) is folded (ie inverted in time and overlapped) on the second quarter and the fourth quarter is folded on the third.
  • the temporal folding from one quarter to another is done in the following way: the first sample of the first quarter is added (or subtracted) to the last sample of the second quarter, the second sample of the first quarter is added (or subtracted ) the second-last sample of the second quarter, and so on until the last sample of the first quarter that is added (or subtracted) to the first sample of the second quarter.
  • the folded two quarters are then coded together after DCT (Type IV) transformation.
  • DCT Type IV transformation
  • the third and fourth quarters of the previous frame then become the first and second quarter of the current frame.
  • the decoded version of these folded signals is thus obtained.
  • Two consecutive frames contain the result of 2 different folds of the same quarters, ie for each pair of samples we have the result of 2 linear combinations with different but known weights: an equation system can be solved for to obtain the decoded version of the input signal, the temporal folding can thus be suppressed by using two consecutive decoded frames.
  • implementation variants of the MDCT transformation exist, in particular on the definition of the DCT transform, on how to fold the block to be transformed temporarily (for example, the signs applied to the folded quarters can be reversed). left and right, or fold the second and third quarter over the first and fourth quarters respectively), etc. These variants do not change the principle of the MDCT analysis-synthesis with the reduction of the sample block by windowing, temporal folding then transformation and finally windowing, folding and addition-recovery.
  • a transition window for the FD mode is used with a left overlap of 128 samples.
  • the temporal folding on this overlapping zone is canceled by introducing an "artificial" time folding to the right of the reconstructed ACELP frame.
  • the MDCT window serving at the transition has a size of 2304 samples and the DCT transformation operates on 1152 samples whereas normally FD mode frames are encoded with a window size of 2048 samples and a DCT transformation of 1024 samples.
  • the MDCT transformation of the normal FD mode is not directly usable for the transition window, the encoder must also integrate a modified version of this transformation which complicates the implementation of the transition for the FD mode.
  • This coding technique of the state of the art has an algorithmic delay of the order of 100 to 200 ms.
  • This delay is incompatible with conversational applications for which coding delay is generally of the order of 20 to 25 ms for speech coders for mobile applications (eg GSM EFR, 3GPP AMR and AMR-WB) and in the order of 40 ms for conversational transform coders for videoconferencing (eg ITU-T G.722.1 Annex C and G.719).
  • the fact of punctually increasing the DCT transformation size (2304 against 2048) generates a peak of complexity at the time of the transition.
  • the international patent application WO2012 / 085451 proposes a new method for encoding a transition frame.
  • the transition frame is defined as the transform-encoded current frame that succeeds a previous frame encoded by predictive coding.
  • a part of the transition frame for example a subframe of 5 ms, in the case of a CELP coding at 12.8 kHz, and two additional CELP frames of 4 ms each, in the case of a CELP coding at 16 kHz, are coded by a predictive coding restricted with respect to the predictive coding of the previous frame.
  • Restricted predictive coding consists in using the stable parameters of the preceding frame coded by a predictive coding, such as the coefficients of the linear prediction filter and coding only a few minimum parameters for the additional subframe in the transition frame.
  • the aforementioned patent application WO2012 / 085451 also proposes modifying the first half of the MDCT window so as not to have time folding in the first quarter normally folded. It is also proposed to integrate an addition-recovery part (also called “fade-in” or “overlap-add” in English) between the decoded CELP frame and the decoded MDCT frame by modifying the coefficients of the analysis window. /synthesis.
  • the mixed lines lines alternating points and lines
  • the bold lines separate the frames of new samples at the input of the encoder.
  • the coding of a new MDCT frame can be started when a so-defined frame of new input samples is fully available. It is It is important to note that these lines in bold at the coder do not correspond to the current frame but to the successive blocks of new samples arriving for each frame: the current frame is in fact delayed by 8.75 ms which corresponds to an anticipation, called "lookahead". " in English.
  • the bold lines separate the decoded frames at the output of the decoder.
  • the transition window is zero to the point of folding.
  • the portion between the folding point and the end of the CELP transition subframe (TR) corresponds to a sinusoidal half-window.
  • the same window is applied to the signal.
  • the coefficients of the window correspond to a window of form sin 2 .
  • the application WO2012 / 085451 provides for the allocation of a bit budget for the coding of the CELP sub-frame which would correspond to the budget necessary for the CELP coding of a conventional frame, reduced to a single sub-frame. The remaining budget for the coding of the transform transition frame is then insufficient and can lead to a drop in quality at low bit rate.
  • the present invention improves this situation.
  • a first aspect of the invention relates to a method for determining a coding bit distribution of a transition frame.
  • This method is implemented in an encoder / decoder for the coding / decoding of a digital signal.
  • the transition frame is preceded by a preceding prediction coded frame and the coding of this transition frame comprises transform coding and predictive coding of a single subframe of the transition frame.
  • the method comprises the following steps:
  • bit rate for the predictive encoding of the transition subframe, the bit rate being at least the bit rate between the transform coding of the transition frame and a first predetermined bit rate
  • the bit rate of the predictive coding is therefore limited by a maximum value.
  • the number of bits allocated to the predictive coding depends on this bit rate. Since the lower the bit rate, the smaller the number of bits allocated to the coding, a minimum remaining budget is ensured for the coding of the transform transition frame.
  • the number of bits allocated to the predictive coding of the subframe is optimized with respect to the bit rate of the transform coding. Indeed, if the bit rate of the transform coding of the transition frame is less than the first predetermined value, the bit rate for the predictive coding and the bit rate for the transform coding is identical. The coherence of the signals thus generated is thus improved, which simplifies the subsequent steps of coding (channel coding) and the processing of the frames received at the decoder.
  • the encoder / decoder includes a first working heart, for predictive coding / decoding of a signal frame, at a first frequency, and a second working heart, for predictive coding / decoding of a signal frame, at a second frequency.
  • the first predetermined bit rate value depends on the core selected from the first and second cores for encoding / decoding the prediction encoded previous frame.
  • the operating frequency of the encoder / decoder core influences the number of bits required to correctly represent the input digital signal. For example, for certain operating frequencies, it is necessary to provide additional bits for encoding frequency bands not directly processed by the core.
  • the assigned bit rate is furthermore equal to the maximum between the bit rate of the transform coded transition frame and the minus a second predetermined value of bit rate, the second value being less than the first value.
  • a minimum bit rate is guaranteed in order to avoid excessively large bit rates between the different coded frames.
  • the digital signal is decomposed into at least one low frequency band and one high frequency band.
  • the first calculated bit count is assigned to the predictive encoding of the transition subframe for the low frequency band.
  • a third predetermined number of bits is then allocated to an encoding of the transition subframe for the high frequency band.
  • the second number of bits allocated for the transform coding of the transition frame is then further determined from the third predetermined number of bits.
  • the number of bits available for encoding the transition frame is fixed. This reduces the complexity of the coding steps.
  • the second number of bits is equal to the fixed number of coding bits of the transition frame minus the first number of bits minus the third number of bits.
  • the final determination of the distribution of the bits in the transition frame is thus limited to a subtraction of integer values which simplifies the coding.
  • the second number of bits is equal to the fixed number of coding bits of the transition frame minus the first number of bits minus the third number of bits minus a first bit minus a second bit.
  • the first bit indicates whether low-pass filtering is performed when determining the parameters of the predictive coding of the transition subframe, the parameters being related to the pitch delay.
  • the second bit indicates the frequency used by the encoder / decoder heart for the predictive coding / decoding of the transition subframe. Such an indication allows a more flexible coding.
  • a second aspect of the invention relates to a method of coding a digital signal in an encoder able to code signal frames according to a predictive coding or according to a transform coding, comprising the following steps:
  • the coding of the transition frame comprising a transform coding and a predictive coding of a single subframe of the transition frame, the coding the current frame including the following substeps:
  • this coding ensures a balanced distribution between the predictive coding and the transform coding within the transition frame.
  • the predictive coding comprises generating predictive coding parameters determined for the assigned bit rate when distributing the bits in the transition frame.
  • the use of such predictive parameters optimizes the ratio between the bit rate assigned to the predictive coding and the remaining bit rate assigned to the transform coding, and thus optimizes the quality of the reconstructed signal. Indeed, at constant quality, the number of bits allocated to one or another predictive parameter can vary in non-linear proportions with respect to the bit rate assigned to the predictive coding.
  • the predictive coding comprises generating predictive coding parameters restricted with respect to the predictive coding of the preceding frame by reusing at least one parameter of the predictive coding of the preceding frame. So, at decoding, additional information is extracted from the previous frame to complete the decoding of the transition subframe to be decoded. This reduces the number of bits that must be reserved for the predictive encoding of the transition subframe.
  • a third aspect of the invention relates to a method for decoding a coded digital signal by predictive coding and by transform coding, comprising the steps of:
  • decoding of a transition frame coding a current frame of samples of the digital signal, the coding of the transition frame comprising a transform coding and a predictive coding of a single subframe of the transition frame, comprising the sub-steps of:
  • the method for determining the distribution of bits in the transition frame is directly reproducible at the decoder. Indeed, the bit distribution is determined solely from the bit rate of the portion of the transform coded transition frame. No additional bit is therefore necessary to implement this step of determining the distribution of the bits and a saving of bandwidth is therefore achieved.
  • a fourth aspect of the invention further provides a computer program comprising instructions for implementing the method according to the aspects of the invention described above, when these instructions are executed by a processor.
  • a fifth aspect of the invention relates to a device for determining a coding bit distribution of a transition frame, this device being implemented in an encoder / decoder for the coding / decoding of a digital signal, the transition frame being preceded by a preceding prediction coded frame, the coding of the transition frame comprising a transform coding and a predictive coding of a single subframe of the transition frame, the number of coding bits of the transition frame being fixed, the device comprising a processor arranged to perform the following operations: assigning a bit rate for the predictive coding of the transition subframe, said bit rate being at least equal between the bit rate of the transform coding of the transition frame and a first predetermined bit rate value, at;
  • a sixth aspect of the invention is further directed to an encoder capable of coding frames of a digital signal according to predictive coding or according to transform coding, comprising:
  • a predictive encoder comprising a processor arranged to perform the following operations:
  • the processor being arranged to perform the predictive encoding operation of the transition subframe on the first number of allocated bits;
  • a transform coder comprising a processor arranged to perform transform coding of the transition frame on the second number of allocated bits.
  • a seventh aspect of the invention is further directed to a decoder of a digital signal encoded by predictive coding and transform coding, comprising:
  • a predictive decoder comprising a processor arranged to perform the following operations:
  • the processor being arranged to perform the predictive decoding operation of the transition subframe on the first number of allocated bits;
  • a transform decoder comprising a processor arranged to carry out a decoding by transforming the transition frame on the second number of allocated bits.
  • FIG. 1 illustrates an audio coder according to an embodiment of the invention
  • FIG. 2 is a diagram illustrating the steps of an encoding method, implemented by the audio coder of FIG. 1, according to one embodiment of the invention
  • FIG. 3 shows a transition between CELP and MDCT frames according to one embodiment of the invention
  • FIG. 4 is a diagram illustrating the steps of a method for determining a coding bit distribution of a transition frame, according to an embodiment of the invention
  • FIG. 5 illustrates an audio decoder according to an embodiment of the invention
  • FIG. 6 is a diagram illustrating the steps of a decoding method, implemented by the audio decoder of FIG. 5, according to one embodiment of the invention
  • FIG. 7 illustrates a device for determining the distribution of bits in a transition frame according to one embodiment of the invention.
  • Figure 1 illustrates an audio encoder 100 according to one embodiment of the invention.
  • FIG. 2 is a diagram illustrating the steps of an encoding method, implemented by the audio coder 100 of FIG. 1, according to one embodiment of the invention.
  • the encoder 100 comprises a reception unit 101 for receiving, at a step 201, an input signal sampled at a given frequency fs (for example 8, 16, 32 or 48 kHz) and decomposed into subframes, for example 20 ms.
  • fs for example 8, 16, 32 or 48 kHz
  • a preprocessing unit 102 On receipt of a current frame, a preprocessing unit 102 is able to select, in a step 202, the coding mode which is the most suitable for the coding of the current frame, among at least one LPD mode and one FD mode.
  • the coding mode which is the most suitable for the coding of the current frame, among at least one LPD mode and one FD mode.
  • an MDCT encoding is used for the FD mode
  • a CELP encoding is used for the LPD mode.
  • the CELP coding may be replaced by another type of predictive coding
  • the MDCT transform may be replaced by another type of transform.
  • the frame type is transmitted explicitly via block 206, with for example a fixed length coding indicating the mode selected from a predefined list. In variants of the invention, this coding of the mode chosen in each frame may be of variable length. It is also expected that the CELP coding type (12.8 or 16 kHz) can be transmitted explicitly via a bit to facilitate the decoding of the transition frame.
  • a step 203 verifies that the CELP encoding has been selected in step 202.
  • the signal frame is transmitted to a CELP encoder 103 for encoding a CELP frame at a step 204
  • the CELP coder may use two "cores" operating at two respective internal sampling frequencies, for example set at 12.8 kHz and 16 kHz, which require the use of a sampling of the input signal (at the frequency fs). at the internal frequency of 12.8 or 16 kHz.
  • Such a resampling can be implemented in a resampling unit in the preprocessing block 102 or in the CELP coder 103.
  • the frame is then coded by prediction by the CELP coder 103 by deducing parameters CELP which generally depend on a classification of the signal.
  • CELP parameters typically include LPC coefficients, an adaptive and fixed gain vector, an adaptive dictionary vector, a fixed dictionary vector. This list can also be modified according to a signal class in the frame, as in ITU-T G.718 coding. The parameters thus calculated can then be quantized, multiplexed and transmitted at a step 206 to the decoder by a transmission unit 108.
  • CELP coding parameters such as the LPC coefficients, the adaptive and fixed gain vector, the adaptive dictionary vector , the fixed dictionary vector as well as states of the CELP decoder may also be stored, in a step 205, in a memory 107 in the case where the frame following the current frame would be a transition frame MDCT.
  • a band extension may also be performed with associated coding of the high band when the current frame is of CELP type.
  • the MDCT encoder 105 can encode a frame covering 28.75 ms of un-resampled signal, including 20 ms of frame and 8.75 ms of lookahead for example. No restrictions are attached to the size of the MDCT window.
  • a delay corresponding to the delay of the CELP coder due to the re-sampling of the input signal is applied to the frame coded by the MDCT coder, so that the MDCT and CELP frames are synchronized.
  • Such an encoder delay may be 0.9375 ms depending on the type of resampling before CELP coding.
  • the transform coded frame MDCT is transmitted to the decoder at step 206.
  • the current frame is a transition frame and is transmitted to a transition unit 104.
  • the MDCT transition frame comprises an additional CELP subframe.
  • the transition unit 104 is able to implement the following steps: to anticipate, in a step 209, the budget of bits necessary for the coding of the CELP subframe to define the available budget for the MDCT encoding of the current frame.
  • the budget may depend on the bit rate of the current frame.
  • the budget can be evaluated according to the CELP core used.
  • the invention can provide for limiting the coding rate of the CELP subframe. It comprises for this purpose a device for determining the distribution of bits in a transition frame, such as the device 700 of Figure 7;
  • At least one of these steps is performed by the transition frame coding unit 106 described hereinafter.
  • the transition MDCT frame is encoded by the MDCT encoder 105, at a step 212, as described in the following, and based on the bit budget allocated in step 209.
  • the additional CELP subframe is also encoded by the CELP encoder 103, in a step 213, as described in the following with reference to Figure 3, and according to the bit budget allocated in step 209.
  • the CELP coding can be performed before or after MDCT coding.
  • Figure 3 shows the transition between CELP and MDCT frames to the encoder, before coding, and to the decoder, before decoding.
  • a frame to be coded 301 is received at the encoder 100 and is encoded by the CELP encoder 103.
  • a current frame 302 is then received at the input of the encoder 100 to be encoded by the MDCT transform. It is therefore a transition frame.
  • the next frame 303 received at the input of the coder is also coded by MDCT transform. According to the invention, the next frame 303 could be coded by CELP coding and no restriction is attached to the coding used for the next frame 303.
  • An asymmetric MDCT window 304 may be used for encoding the current frame.
  • This window 304 has a rising edge 307 of 14.375 ms, a bearing with a gain of 1 at 11.25 ms, a falling edge 309 of 8.75 ms corresponding to the lookahead, and a zero portion 310 of 5.265 ms.
  • the addition of the zero part 310 reduces the lookahead and thus the corresponding delay.
  • the shape of this MDCT analysis window for the MDCT encoding is modified, for example, to further reduce the lookahead or to use a symmetrical window whose examples are given in the patent application WO2012 / 085451.
  • the dashed line 312 represents the middle of the MDCT window 304. On either side of the line 312, the 10 ms quarters of the MDCT window 212 are folded as described in FIG. introductory part. Continuous line 311 indicates the folding area between the first and second quarters of the MDCT window 304.
  • the MDCT window of the next frame 303 is referenced 306 and has a covering addition area with the MDCT window 304 corresponding to the falling edge 309 of the MDCT window 304.
  • An MDCT window 305 theoretically represents the window that would be applied to the previous frame if it had been coded by MDCT transform. However, since the preceding frame 301 is coded by the CELP coder 103, it is necessary, in order to allow the decoder to unfold the first part of the MDCT transformed coded frame, that the window be zero in the first quarter (since the second part of the previous MDCT frame is not available).
  • the MDCT window 304 is modified into an MDCT window 313 whose first quarter is zero, thus allowing time folding in the first part of the MDCT frame to the decoder.
  • the analysis windows 304, 305, 306 and 313 respectively correspond to synthesis windows 324, 325, 326 and 327.
  • This synthesis window is therefore inverted temporally with respect to the corresponding analysis window.
  • the windows of analysis and synthesis may be identical, sinusoidal type or otherwise.
  • a first frame 320 of new samples encoded by CELP coding is received at the decoder. It corresponds to the coded version of the CELP frame 301. It is recalled here that the decoded frame is shifted by 8.75 ms with respect to the frame 320.
  • the coded version of the transition frame 302 is then received (references 321 and 322 forming a complete frame).
  • a hole or GAP is created.
  • a quarter window MDCT being 10 ms
  • the zero part of the synthesis window MDCT 324 which covers the CELP frame 320 being 5.625 ms (corresponding to the part 310 of the analysis window MDCT 204)
  • the hole is 4.375 ms.
  • the delay between the CELP frame 320 and the start of the MDCT window 327 is extended by the required length.
  • a satisfactory recovery addition length of 1.875 ms the aforementioned delay (corresponding to a missing signal length) thus being increased to 6.25 ms, as represented by FIG. reference 321 in FIG.
  • the signal frames shown in Figure 3 may contain signals at different sampling rates which are 12.8 or 16 kHz for CELP coding / decoding and fs for MDCT coding / decoding; however at the decoder, after resampling of the CELP synthesis and time shift of the MDCT synthesis the frames remain synchronized and the representation of Figure 3 remains accurate.
  • the application WO2012 / 085451 proposes to code an additional CELP subframe of 5 ms at the beginning of the transition frame MDCT, in the case of a CELP coding at 12.8 kHz, and two additional CELP frames of 4 ms each at the beginning. of the MDCT transition frame, in the case of 16 kHz CELP coding.
  • the decoder is only 0.625 ms of overlap, which is insufficient.
  • the present invention can provide for encoding a single additional CELP subframe at 12.8 or 16 kHz by the CELP encoder 103. Additional samples are generated at the decoder, as detailed below, in order to generate the missing signal over the length of 6.25 ms above.
  • the unit 106 may reuse at least one CELP parameter from the previous CELP frame.
  • the unit 106 can reuse the linear prediction coefficients A (z) of the preceding CELP sub-frame as well as the innovation energy of the previous frame (stored in the memory 107 as previously described) in order to to encode only the adaptive dictionary vector, the adaptive gain, the fixed gain and the fixed dictionary vector of the transition CELP subframe.
  • the additional CELP subframe can be encoded with the same core (12.8 kHz or 16 kHz) as the previous CELP frame.
  • a transition frame coding unit 106 provides the coding of a transition frame according to the invention.
  • the invention may further provide for the insertion by the unit 106 into the bit stream of an additional bit indicating that the coded frame 322 is a transition frame, however in the general case this transition frame indication may also be transmitted in the global coding mode indication of the current frame, without taking any additional bits.
  • the invention may further provide that this unit 106 encodes the high band of the signal at steps 204 and 214 (so-called "band extension" method), when this is required, with a fixed budget since the frequency of sampling of the synthesis signal at the decoder is not necessarily identical to the frequency of the CELP core.
  • transition frame coding unit 106 can implement the following steps:
  • Such filtering can be implemented by a finite impulse response filter, FIR, of the CELP encoder 103;
  • the delay may be coded on 6 bits and the gain on 6 bits).
  • FIG. 4 is a diagram illustrating the steps of a method for determining a transition coding bit distribution according to one embodiment of the invention.
  • the aforementioned method is implemented in the same manner to the encoder and the decoder, but is presented, for illustrative purposes only, on the coder side.
  • the total bit rate (in bits / s), denoted core_brate, which can be allocated to the coding of the current frame is set equal to the output rate of the MDCT encoder.
  • the duration of the frame being considered in this example as being 20 ms, the number of frames per second is 50 and the total budget in bits is equal to core_brate / 50.
  • the total budget can be fixed, in the case of a fixed rate encoder, or variable, in the case of a variable rate encoder when an adaptation of the coding rate is implemented. In the following, we use a variable num_bits, initialized to the value core_brate / 50.
  • the transition unit 104 determines the CELP core, from at least two CELP cores, which was used for encoding the previous CELP frame.
  • the transition unit 104 determines the CELP core, from at least two CELP cores, which was used for encoding the previous CELP frame.
  • two CELP cores operating at frequencies of 12.8 kHz and 16 kHz respectively.
  • a single CELP core is implemented at the coding and / or decoding.
  • the method comprises a step 402 for assigning a bit rate, noted cbrate, for the CELP coding of the subframe transition, the bit rate being equal to the minimum between the bit rate of the MDCT coding of the transition frame and a first predetermined bit rate value.
  • the first predetermined value can be set at 24.4 kbit / s, for example, which makes it possible to ensure a satisfactory bit budget for the transform coding.
  • cbrate min (core_bitrate, 24400). This limitation amounts to restricting the operation of the restricted CELP coding limited to the supplementary subframe with CELP parameters coded as if they were encoded by a CELP coding of not more than 24.40 kbit / s.
  • the affected bit rate is compared to a CID rate of 11.60 kbit / s. If the assigned bit rate is higher, a bit may be reserved to encode an adaptive dictionary low pass filtering binary indication (as for example in the AMR-WB coding at rates greater than or equal to 12.65 kbit / s).
  • the num_bits variable is updated:
  • num_bits: num_bits - 1
  • a first number of bits, denoted budgl is allocated for the predictive coding of the additional CELP subframe.
  • the first number of bits budgl represents the number of bits representing the CELP parameters used for the coding of the CELP subframe.
  • the coding of the CELP subframe can be restricted in that a small number of CELP parameters are used, some parameters used for the coding of the preceding CELP frame being reused advantageously.
  • the excitation can be modeled for the coding of the additional CELP subframe, and bits are thus reserved only for the fixed dictionary vector, for the adaptive dictionary vector and for the gain vector.
  • the number of bits allocated to each of these parameters is deduced from the bit rate assigned to the coding of the additional CELP sub-frame in step 402.
  • Table 1 / G722.2 - Bit allocation of the algorithm of AMR-WB coding for 20ms frame, from the July 2003 release of the ITU-T G.722.2 standard gives examples of bit allocations per CELP parameter as a function of the affected bit rate.
  • budgl is the sum of the bits allocated respectively to the adaptive dictionary, the fixed dictionary and the gain vector. For example, for an assigned bit rate of 19.85 kbit / s, referring to the aforementioned Table / G722, 9 bits are allocated to the adaptive dictionary (tonal delay), 72 bits are allocated to the fixed dictionary (algebraic code), and 7 bits are allocated to the gain vector (directory gain). In this case, budgl is equal to 88 bits.
  • the num_bits variable can thus be updated:
  • num_bits: num_bits - budgl
  • the invention can also provide for taking into account frame classes in the bit allocation to the CELP parameters.
  • the ITU-T G.718 standard in its June 2008 version, sections 6.8 and 8.1, gives the budgets to allocate to each CELP parameter according to classes, or modes such as unvoiced mode. (UC), the voiced mode (VC), the transition mode (TC) and the generic mode (GC), and according to the allocated bit rate (layerl or layer2, corresponding to rates of 8kbit / s and 8 respectively). +4 kbit / s).
  • the G.718 encoder is a hierarchical coder, but it is possible to combine the CELP coding principles using a G.718 classification with the AMR-WB multi-bit allocation.
  • the method comprises a step 405 of assigning a bit rate, noted cbrate, for coding CELP of the transition subframe, the bit rate being equal to the minimum between the bit rate of the MDCT coding of the transition frame and a first predetermined value of bit rate.
  • the first predetermined value can be set at 22.6 kbit / s, for example, which ensures a satisfactory bit budget for the transform coding.
  • the first predetermined value depends on the CELP core used for encoding the previous CELP frame.
  • threshold values may be applied when assigning a bit rate to the CELP encoding.
  • the assigned bit rate is furthermore equal to the maximum between the bit rate of the transform coded transition frame and at least a second predetermined bit rate value, the second value being less than the first value.
  • the second predetermined value of bit rate may for example be equal to 14.8 kbit / s.
  • the bit rate assigned to the CELP encoding of the transition subframe may be 14.8 kbit / s.
  • bit rate of the transform coded transition frame is less than 8 kbit / s
  • bit rate assigned may be 8 kbit / s.
  • the affected bit rate is compared to a CID rate of 11.60 kbit / s. If the assigned bit rate is higher, a bit may be reserved to encode an adaptive dictionary low pass filter bit indication.
  • the num_bits variable is updated:
  • num_bits: num_bits - 1
  • a first number of budgl bits is allocated for the predictive coding of the additional CELP subframe, and budgl depends on the bit rate assigned to the CELP coding of the sub-frame. -Transition frame.
  • a second number of bits allocated for the transform coding of the transition frame is calculated from the first number of bits budgl and the total number of bits of the transition frame.
  • budget2 is equal to the num_bits variable.
  • the mode of the current transition frame is assumed here imputed to the MDCT coding budget, so this information is not explicitly taken into account here.
  • the preceding steps may have been implemented for the coding of a low frequency band of the transition subframe, in the case where the audio signal is decomposed into at least one low band of frequencies and one high band of frequencies. .
  • the method may include, prior to step 410, also common to encodings at different core frequencies, the allocation of a third predetermined number of bits, denoted budg3, to the coding of the high frequency band of the transition subframe. .
  • the second number of bits budg2 is calculated from both the first number of budgl bits and the third number of bits budget3.
  • the coding of the high frequency band (or band extension) of the transition subframe may be based on a correlation between the previous frame of the audio signal and the transition subframe.
  • the coding of the high frequency band can be broken down into two stages.
  • the previous frame and the current frame of the audio signal are filtered by a high-pass filter to keep only the upper part of the spectrum.
  • the upper part of the spectrum may correspond to frequencies higher than that of the CELP core used. For example, if the CELP core used is the 12.8 kHz CELP core, the high band is the audio signal for which frequencies below 12.8 kHz have been filtered.
  • Such filtering can be implemented by means of an FIR filter.
  • a correlation search between the filtered parts of the previous frame and the current frame is performed.
  • Such a correlation search makes it possible to estimate a delay parameter and then a gain.
  • the gain corresponds to the amplitude ratio between the filtered part of the current frame and the predicted signal by applying the delay.
  • 6 bits can be allocated for gain and 6 bits for delay.
  • the third number of bits budget3 is then equal to 12.
  • the num_bits variable can then be updated:
  • num_bits: num_bits - budget3.
  • the second number of bits budg2 is then equal to the variable num_bits update.
  • FIG. 5 illustrates an audio decoder 500 according to one embodiment of the invention
  • FIG. 6 is a diagram illustrating the steps of a decoding method according to an embodiment of the invention, implemented in the audio decoder. 500 of Figure 5.
  • the decoder 500 comprises a reception unit 501 for receiving, in a step 601, the coded digital signal (or bit stream) coming from the encoder 100 of FIG. 1.
  • the bit stream is subjected to a classification unit 502 able to determine, in a step 602 if the current frame is a CELP frame, an MDCT frame or a transition frame.
  • the classification unit 502 is able to deduce from the bit stream information indicating whether the current frame is a transition frame or not, and information indicating the CELP core to be used for decoding a CELP frame or a CELP transition subframe.
  • the current frame is a transition frame. If the current frame is not a transition frame, it is verified at a step 604 that the current frame is a CELP frame. If this is the case, the frame is transmitted to a decoder CELP 504 capable of decoding a CELP frame at a step 605, at the core frequency indicated by the classification unit 502. Following the decoding of a CELP frame, the The decoder CELP 504 can store, in a step 606, in a memory 506 parameters such as the coefficients of the linear prediction filter A (z) and internal states such as the predictive energy in the case where the following frame would be a frame of transition.
  • parameters such as the coefficients of the linear prediction filter A (z) and internal states such as the predictive energy in the case where the following frame would be a frame of transition.
  • the signal can be resampled, at a step 607, at the output frequency of the decoder 500 by a resampling unit 505.
  • the unit resampling includes an FIR filter and resampling introduces a delay of (for example) 1.25 ms.
  • postprocessing may be applied to the CELP decoding before or after resampling.
  • a band extension can also be performed by a band extension management unit 5051 at steps 6071 and 6151, with associated decoding of the high band when the current frame is of type CELP.
  • the high band is then combined with the CELP coding with possibly additional delay applied to the low band CELP synthesis.
  • the decoder 500 further comprises an MDCT decoder 507.
  • the decoder MDCT 507 is able to decode the frame MDCT in a conventional way at one stage. 609.
  • a delay corresponding to the delay required for applying the resampling of the signal from the CELP decoder 504 is applied to the decoder output by a delay unit 508, so as to synchronize the MDCT synthesis with the synthesis.
  • CELP at step 610.
  • the MDCT decoded and delayed signal is transmitted to the output interface 510 of the decoder at step 608.
  • a device for determining the bit distribution 503 is able to determine, in a step 611, the first number of bits. budgl allocated to the CELP encoding of the transition subframe and the second number of budget bits3 allocated to transform coding of the transition frame.
  • the device 503 may correspond to the device 700 described in detail with reference to FIG. 7.
  • the MDCT decoder 507 uses the third number of bits budget3 calculated by the determination unit 503 to adjust the rate necessary to decode the transition frame.
  • the MDCT decoder 507 also sets the memory of the MDCT transformation to zero and decodes the transition frame at a step 612.
  • the signal from the MDCT decoder is then delayed by the delay unit 508 at a step 613.
  • the CELP decoder 504 decodes the transition CELP subframe according to the first number of budgl bits, at a step 614.
  • the CELP decoder 504 decodes for this purpose the CELP parameters which may depend on the class of the current frame , and which include for example the pitch values of the adaptive dictionary, fixed dictionary and gains of the CELP subframe and uses the coefficients of the linear prediction filter.
  • the CELP decoder 504 updates the CELP decoding states. These states can typically include the predictive energy of the innovation from the previous CELP frame to generate the 4ms or 5ms signal subframe depending on whether the CELP core at 12.8 kHz or 16 kHz is used (in the case of a restricted coding of the transition CELP subframe).
  • the application WO2012 / 085451 provides the additional coding of a 5ms subframe for the 12.8 kHz CELP core and of two additional 4ms subframes for the 16 kHz CELP core.
  • the decoder only has 0.625 ms of overlap addition. , which is insufficient.
  • An independent aspect of the invention provides, from a single additional CELP transition sub-frame, the partial generation of a second sub-frame by reusing coding parameters used for the coding of the CELP sub-frame of transition.
  • the delay is thus bridged, ensuring a sufficient addition-recovery, and without impacting the rate of the MDCT coding of the transition frame.
  • the invention also provides a method for decoding P of a coded digital signal, in a decoder 500 capable of decoding signal frames according to a predictive decoding or according to a transform decoding, comprising the following steps:
  • step 501 receiving, in step 501, a first set of predictive coding parameters coding a first frame of the digital signal
  • step 605 of the first frame based on the first set of predictive coding parameters
  • step 614 samples of a second transition subframe, based on at least one predictive coding parameter of the second set.
  • the invention furthermore aims at the decoder 500 for implementing the decoding method P, as well as a computer program comprising instructions for implementing the decoding method P, when these instructions are executed by a processor.
  • the CELP parameters reused for the generation of the second sub-frame can be the vector of gains, the vector of the adaptive dictionary and the vector of the fixed dictionary.
  • a minimum overlap value can be predefined for the transform decoding and the number of generated samples of the second subframe is determined according to the minimum overlap value.
  • This latter sub-frame can be generated without additional information by extending the CELP synthesis by repeating the pitch prediction with the same pitch delay and the same adaptive dictionary gain as in the first subframe, and performing a LPC filtering of synthesis with the same LPC coefficients and a deemphasis or deemphasis.
  • the second CELP sub-frame can then be truncated to retain only 1.25 ms of signal in the case of the CELP core at 12.8 kHz, and 2.25 ms of signal in the case of the 16 kHz CELP core. .
  • the first sub-frame CELP is thus completed so as to have 6.25 ms of additional signal making it possible to fill the hole and to ensure a satisfactory addition-recovery (minimum value of overlap, for example of 1.875 ms) with the frame of MDCT transition.
  • the additional CELP subframe has an extended length of 6.25 ms for CELP cores at 12.8 and 16 kHz, which implies changing the "normal" CELP coding to have such a extended subframe length, especially for the fixed dictionary.
  • the method P may further comprise a re-sampling step 615 implemented by a finite impulse response filter.
  • the FIR filter can be integrated in the resampling unit 505.
  • the resampling uses the memory of the FIR filter of the previous CELP frame and the processing induces an additional delay of 1.25 ms in this example. .
  • the method P may further comprise a step of adding an additional signal obtained from samples stored in the memory of the finite impulse response filter, to fill the delay introduced by the resampling step.
  • 1.25 ms of signal in addition to the 6.25 ms of additional signal previously generated, are generated by the decoder 500, these samples advantageously making it possible to bridge the delay introduced by the resampling of the 6.25 ms of signal. additional.
  • the memory of the FIR filter of the resampling unit 505 can be saved at each frame after CELP decoding. The number of samples in this memory corresponds to 1.25 ms at the frequency of the CELP core considered (12.8 or 16 kHz).
  • the resampling of the stored samples is performed by an interpolation method introducing a second delay less than the first delay of the finite impulse response filter, which can be considered as zero.
  • the 1.25 ms of signal generated from the memory of the FIR filter are resampled according to a method involving a lesser delay.
  • a re-sampling of the 1.25 ms of signal generated by the memory of the FIR filter can be implemented by cubic interpolation, which implies a delay of only two samples, less delay compared to the delay of the FIR filter.
  • two additional signal samples are required to re-sample the aforementioned 1, 25 ms of signal: these two additional samples can be obtained by repeating the last value of the re-sampling memory of the FIR filter.
  • the decoder may further decode the high frequency part of the 6.25 msec CELP signal obtained from the first and second transition subframes.
  • the decoder CELP 504 can use the adaptive gain and the vector of the fixed dictionary of the last subframe of the previous CELP frame.
  • the decoder 500 further comprises a recovery-addition unit 509 capable of providing overlap-addition, in a step 616, between the decoded and resampled CELP transition subframes, the samples resampled by the cubic interpolation, and the decoded signal of the transition frame from the MDCT decoder 507.
  • a recovery-addition unit 509 capable of providing overlap-addition, in a step 616, between the decoded and resampled CELP transition subframes, the samples resampled by the cubic interpolation, and the decoded signal of the transition frame from the MDCT decoder 507.
  • the unit 509 applies the modified synthetic window 327 of FIG. 3.
  • the windowed samples are set to zero.
  • the windowed samples are divided by the unmodified window 324 of FIG. 3, and multiplied by a sine-type window so that, combined with the window applied to the encoder, the total window either in sin 2 .
  • samples from the CELP and 0-delay resampling are weighted by a window in cos 2
  • the transition frame thus obtained is transmitted to the output interface 510 of the decoder at step 608.
  • FIG. 7 represents an exemplary device 700 for determining the distribution of the bits of a transition frame.
  • the device comprises a random access memory 704 and a processor 703 for storing instructions for implementing the method for determining the distribution of the bits of a transition frame described above.
  • the device also has a mass memory 705 for storing data to be retained after the application of the method.
  • the device 700 further comprises an input interface 701 and an output interface 706 respectively intended to receive the frames of the digital signal and to issue the detail of the budget allocated to these different frames.
  • the device 700 may further comprise a digital signal processor (DSP) 702.
  • DSP 702 receives the digital signal frames for shaping, demodulating and amplifying, in a manner known per se, these frames.
  • the compression or decompression devices are entities in their own right.
  • these devices can be embedded in any type of larger device such as a digital camera, a camera, a mobile phone, a computer, a movie projector, etc.
  • DSP digital signal processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

L'invention concerne un procédé de détermination d'une répartition de bits de codage d'une trame de transition, ledit procédé étant mis en œuvre dans un codeur/décodeur pour le codage/décodage d'un signal numérique, la trame de transition étant précédée d'une trame précédente codée par prédiction, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif d'une unique sous-trame de la trame de transition, le procédé comportant les étapes suivantes : - affectation (402; 405) d'un débit binaire pour le codage prédictif de la sous-trame de transition, ledit débit binaire étant égal au minimum entre le débit binaire du codage par transformée de la trame de transition et une première valeur prédéterminée de débit binaire; - détermination (404; 408) d'un premier nombre de bits alloués pour le codage prédictif de la sous- trame de transition pour ledit débit binaire; et - calcul (410) d'un deuxième nombre de bits alloués pour le codage par transformée de la trame de transition à partir du premier nombre de bits et d'un nombre de bits disponibles pour le codage de le trame de transition.

Description

Détermination d'un budget de codage d'une trame de transition LPD/FD
La présente invention concerne le domaine du codage/décodage des signaux numériques.
L'invention s'applique avantageusement au codage/décodage de sons pouvant contenir de la parole et de la musique mélangés ou en alternance.
Pour coder efficacement les sons de parole à bas débit, les techniques de type CELP (« Code Excited Linear Prédiction ») sont préconisées. Pour coder efficacement les sons musicaux, on préconise plutôt les techniques de codage par transformée.
Les codeurs de type CELP sont des codeurs prédictifs. Ils ont pour but de modéliser la production de la parole à partir de divers éléments : une prédiction linéaire à court-terme pour modéliser le conduit vocal, une prédiction à long-terme pour modéliser la vibration des cordes vocales en période voisée, et une excitation dérivée d'un dictionnaire fixe (bruit blanc, excitation algébrique) pour représenter Γ "innovation" qui n'a pas pu être modélisée.
Les codeurs par transformée tels que MPEG AAC, AAC-LD, AAC-ELD ou ITU-T G.722.1 Annexe C, par exemple, utilisent des transformées à échantillonnage critique afin de compacter le signal dans le domaine transformé. On appelle « transformée à échantillonnage critique », une transformée pour laquelle le nombre de coefficients dans le domaine transformé est égal au nombre d'échantillons temporels dans chaque trame analysée.
Une solution pour coder efficacement un signal de contenu mixte parole/musique consiste à sélectionner au cours du temps la meilleure technique entre au moins deux modes de codage, l'un de type CELP, l'autre de type transformée.
C'est le cas par exemple des codées 3GPP AMR-WB+ et MPEG USAC (pour "Unified Speech Audio Coding" en anglais). Les applications visées par AMR-WB+ et USAC ne sont pas conversationnelles, mais correspondent à des services de diffusion et stockage, sans contraintes fortes sur le retard algorithmique.
La version initiale du codée USAC, appelée RMO (Référence Model 0), est décrite dans l'article de M. Neuendorf et al., A Novel Scheme for Low Bitrate Unified Speech and Audio Coding - MPEG RMO, 7-10 May 2009, 126th AES Convention. Ce codée RMO alterne entre plusieurs modes de codage:
• Pour les signaux de type parole: modes LPD (pour "Linear Prédictive Domain" en anglais) comprenant deux modes différents dérivés du codage AMR-WB+:
- Un mode ACELP
- Un mode TCX (Transform Coded eXcitation) appelé wLPT (pour "weighted Linear Prédictive Transform" en anglais) utilisant une transformée de type MDCT (contrairement au codée AMR-WB+ qui utilise une transformée de Fourier rapide, FFT, pour « Fast Fourier Transform » en anglais). • Pour les signaux de type musique: mode FD (pour "Frequency Domain" en anglais) utilisant un codage par transformée MDCT (pour "Modified Discrète Cosine Transform" en anglais) de type MPEG AAC (pour "Advanced Audio Coding" en anglais) sur 1024 échantillons.
Dans le codée USAC, les transitions entre modes LPD et FD sont cruciales pour assurer une qualité suffisante sans défaut de commutation, sachant que chaque mode (ACELP, TCX, FD) a une "signature" spécifique (en termes d'artefacts) et que les modes FD et LPD sont de nature différentes - le mode FD repose sur un codage par transformée dans le domaine du signal, tandis que les modes LPD utilisent un codage linéaire prédictif dans le domaine perceptuellement pondéré avec des mémoires de filtre à gérer correctement. La gestion des commutations intermodes dans le codée USAC RMO est détaillée dans l'article de J. Lecomte et al., "Efficient cross-fade Windowsor transitions between LPC-based and non-LPC based audio coding", 7-10 May 2009, 126th AES Convention. Comme expliqué dans cet article, la difficulté principale réside dans les transitions entre modes LPD vers FD et vice versa. On ne retient ici que le cas des transitions d' ACELP vers FD.
Pour bien en comprendre le fonctionnement, on rappelle ici le principe du codage par transformée MDCT au travers d'un exemple typique de réalisation.
Au codeur la transformation MDCT se divise typiquement entre trois étapes, le signal étant découpé en trames de M échantillons avant codage MDCT:
• Pondération du signal par une fenêtre appelé ici "fenêtre MDCT" de longueur 2M
• Repliement temporel (ou " time-domain aliasing" en anglais) pour former un bloc de longueur M
• Transformation DCT (pour "Discrète Cosine Transform" en anglais) de longueur
M
La fenêtre MDCT est divisée en 4 portions adjacentes de longueurs égales M/2, appelées ici "quarts".
Le signal est multiplié par la fenêtre d'analyse puis les repliements sont effectués : le premier quart (fenêtré) est replié (c'est-à-dire inversé dans le temps et mis en recouvrement) sur le deuxième quart et le quatrième quart est replié sur le troisième.
Plus précisément, le repliement temporel d'un quart sur un autre est effectué de la façon suivante : le premier échantillon du premier quart est additionné (ou soustrait) au dernier échantillon du deuxième quart, le deuxième échantillon du premier quart est additionné (ou soustrait) au avant-dernier échantillon du deuxième quart, et ainsi de suite jusqu'au dernier échantillon du premier quart qui est additionné (ou soustrait) au premier échantillon du deuxième quart. On obtient donc, à partir de 4 quarts, 2 quarts repliés où chaque échantillon est le résultat d'une combinaison linéaire de 2 échantillons du signal à coder. Cette combinaison linéaire induit un repliement temporel.
Les 2 quarts repliés sont ensuite codés conjointement après transformation DCT (de type IV). Pour la trame suivante on se décale d'une moitié de fenêtre (soit 50% de recouvrement), les troisième et quatrième quarts de la trame précédente deviennent alors le premier et deuxième quart de la trame courante. Après repliement, on envoie une deuxième combinaison linéaire des mêmes paires d'échantillons comme dans la trame précédente, mais avec des poids différents.
Au décodeur, après transformation DCT inverse on obtient donc la version décodée de ces signaux repliés. Deux trames consécutives contiennent le résultat de 2 repliements différents des mêmes quarts, c'est à dire pour chaque paire d'échantillons on a le résultat de 2 combinaisons linéaires avec des poids différents mais connus : un système d'équation peut donc être résolu pour obtenir la version décodée du signal d'entrée, le repliement temporel peut être ainsi supprimé en utilisant 2 trames décodées consécutives.
La résolution des systèmes d'équations mentionnées est en général faite implicitement par dépliement, multiplication par une fenêtre de synthèse judicieusement choisie puis addition- recouvrement des parties communes. Cette addition-recouvrement assure en même temps la transition douce (sans discontinuité due aux erreurs de quantification) entre 2 trames décodées consécutives, en effet cette opération se comporte comme un fondu enchaîné. Quand la fenêtre pour le premier quart ou le quatrième quart est à zéro pour chaque échantillon, on parle d'une transformation MDCT sans repliement temporel dans cette partie de la fenêtre. Dans ce cas la transition douce n'est pas assurée par la transformation MDCT, elle doit être faite par d'autres moyens comme par exemple un fondu enchaîné extérieur.
Il est à noter que des variantes de mise en œuvre de la transformation MDCT existent, en particulier sur la définition de la transformée DCT, sur la façon de replier temporellement le bloc à transformer (par exemple, on peut inverser les signes appliqués aux quarts repliés à gauche et droite, ou replier les deuxième et troisième quart sur respectivement les premiers et quatrième quarts), etc. Ces variantes ne changent pas le principe de l'analyse-synthèse MDCT avec la réduction du bloc d'échantillons par fenêtrage, repliement temporel puis transformation et enfin fenêtrage, repliement et addition-recouvrement.
Dans le cas du codeur USAC RMO décrit dans l'article de Lecomte et al., la transition entre une trame codée par un codage ACELP et une trame codée par un codage FD, s'effectue de la façon suivante:
Une fenêtre de transition pour le mode FD est utilisée avec un recouvrement à gauche de 128 échantillons.
Le repliement temporel sur cette zone de recouvrement est annulé en introduisant un repliement temporel "artificiel" à droite de la trame ACELP reconstruite. La fenêtre MDCT servant à la transition a une taille de 2304 échantillons et la transformation DCT opère sur 1152 échantillons alors que normalement les trames du mode FD sont codées avec une fenêtre de taille de 2048 échantillons et une transformation DCT de 1024 échantillons. Ainsi la transformation MDCT du mode FD normal n'est pas directement utilisable pour la fenêtre de transition, le codeur doit intégrer également une version modifiée de cette transformation ce qui complexifie la mise en œuvre de la transition pour le mode FD.
Cette technique de codage de l'état de l'art a un retard algorithmique de l'ordre de 100 à 200 ms. Ce retard est incompatible avec des applications conversationnelles pour lesquelles le retard de codage est en général de l'ordre de 20 à 25 ms pour les codeurs de parole pour les applications mobiles (ex: GSM EFR, 3GPP AMR et AMR-WB) et de l'ordre de 40 ms pour les codeurs par transformée conversationnels pour la vidéoconférence (par exemple UIT-T G.722.1 Annexe C et G.719). De plus, le fait de ponctuellement augmenter la taille de transformation DCT (2304 contre 2048) engendre un pic de complexité au moment de la transition.
Pour pallier à ces inconvénients, la demande de brevet internationale WO2012/085451, dont le contenu est incorporé par référence à la présente demande, propose une nouvelle méthode pour coder une trame de transition. La trame de transition est définie comme la trame courante codée par transformée qui succède à une trame précédente codée par un codage prédictif. Selon la nouvelle méthode précitée, une partie de la trame de transition, par exemple une sous trame de 5 ms, dans le cas d'un codage CELP à 12.8 kHz, et deux trames CELP supplémentaires de 4ms chacune, dans le cas d'un codage CELP à 16 kHz, sont codées par un codage prédictif restreint par rapport au codage prédictif de la trame précédente.
Le codage prédictif restreint consiste à utiliser les paramètres stables de la trame précédente codée par un codage prédictif, comme par exemple les coefficients du filtre de prédiction linéaire et de ne coder que quelques paramètres minimaux pour la sous-trame supplémentaire dans la trame de transition.
Comme la trame précédente n'a pas été codée avec un codage par transformée, l'annulation du repliement temporel dans la première partie de la trame est impossible. La demande de brevet WO2012/085451 précitée propose en outre de modifier la première moitié de la fenêtre MDCT de manière à ne pas avoir de repliement temporel dans le premier quart normalement replié. Il est aussi proposé d'intégrer une partie de addition-recouvrement (aussi appelé « fondu enchaîné » ou encore « overlap-add » en anglais) entre la trame CELP décodée et la trame MDCT décodée en modifiant les coefficients de la fenêtre d'analyse/synthèse. En référence à la figure 4e de la demande précitée, les traits mixtes (lignes alternant des points et traits) correspondent aux lignes de repliement de codage MDCT (figure du haut) et aux lignes de dépliement de décodage MDCT (figure du bas). Sur la figure du haut, les lignes en gras séparent les trames de nouveaux échantillons à l'entrée du codeur. Le codage d'une nouvelle trame MDCT peut être commencé quand une trame ainsi définie de nouveaux échantillons d'entrée est entièrement disponible. Il est important de remarquer que ces lignes en gras au codeur ne correspondent pas à la trame courante mais aux blocs successifs de nouveaux échantillons arrivant pour chaque trame : la trame courante est en fait retardée de 8,75 ms qui correspondent à une anticipation, dénommée « lookahead » en anglais. Sur la figure du bas, les lignes en gras séparent les trames décodées à la sortie du décodeur.
Au codeur, la fenêtre de transition est nulle jusqu'au point de repliement. Ainsi les coefficients de la partie gauche de la fenêtre repliée seront identiques à ceux de la fenêtre non repliée. La partie entre le point de repliement et la fin de la sous-trame CELP de transition (TR) correspond à une demi-fenêtre sinusoïdale. Au décodeur, après dépliement, la même fenêtre est appliquée au signal. Sur le segment entre le point de repliement et le début de la trame MDCT, les coefficients de la fenêtre correspondent à une fenêtre de forme sin2. Pour assurer addition- recouvrement entre la sous trame CELP décodée et le signal issu de la MDCT, il suffit d'appliquer une fenêtre de type cos2 à la partie de la sous-trame CELP en recouvrement et de sommer cette dernière avec la trame MDCT. La méthode est à reconstruction parfaite.
Toutefois, la demande WO2012/085451 prévoit l'allocation d'un budget de bits pour le codage de la sous-trame CELP qui correspondrait au budget nécessaire au codage CELP d'une trame classique, ramené à une seule sous-trame. Le budget restant pour le codage de la trame de transition par transformée est alors insuffisant et peut amener à une baisse de qualité à bas débit.
La présente invention vient améliorer cette situation.
A cet effet, un premier aspect de l'invention concerne un procédé de détermination d'une répartition de bits de codage d'une trame de transition. Ce procédé est mis en œuvre dans un codeur/décodeur pour le codage/décodage d'un signal numérique. La trame de transition est précédée d'une trame précédente codée par prédiction et le codage de cette trame de transition comprend un codage par transformée et un codage prédictif d'une unique sous-trame de la trame de transition. Le procédé comporte les étapes suivantes :
- affectation d'un débit binaire pour le codage prédictif de la sous-trame de transition, le débit binaire étant égal au minimum entre le débit binaire du codage par transformée de la trame de transition et une première valeur prédéterminée de débit binaire ;
- détermination d'un premier nombre de bits alloués pour le codage prédictif de la sous-trame de transition pour le débit binaire ; et
- calcul d'un deuxième nombre de bits alloués pour le codage par transformée de la trame de transition à partir du premier nombre de bits et d'un nombre de bits disponibles pour le codage de le trame de transition.
Le débit binaire du codage prédictif est donc bridé par une valeur maximum. Le nombre de bits alloués au codage prédictif dépend de ce débit binaire. Dans la mesure où plus le débit binaire est faible, plus le nombre de bits alloué au codage est faible, on garantit un budget restant minimum pour le codage de la trame de transition par transformée. De plus, le nombre de bits alloués au codage prédictif de la sous-trame est optimisé par rapport au débit binaire du codage par transformée. En effet, si le débit binaire du codage par transformée de la trame de transition est inférieur à la première valeur prédéterminé, le débit binaire pour le codage prédictif et le débit binaire pour le codage par transformée est identique. La cohérence des signaux ainsi généré est donc améliorée ce qui simplifie les étapes ultérieures de codage (codage canal) et le traitement des trames reçues au décodeur.
Dans un autre mode de réalisation, le codeur/décodeur comprend un premier cœur fonctionnant, pour le codage/décodage prédictif d'une trame de signal, à une première fréquence, et un deuxième cœur fonctionnant, pour le codage/décodage prédictif d'une trame de signal, à une deuxième fréquence. La première valeur prédéterminée de débit binaire dépend du cœur sélectionné parmi les premier et deuxième cœurs pour le codage/décodage de la trame précédente codée par prédiction.
La fréquence de fonctionnement du cœur du codeur/décodeur a une influence sur le nombre de bits requis pour représenter correctement le signal numérique d'entrée. Par exemple, pour certaines fréquences de fonctionnement, il faut prévoir des bits supplémentaires pour coder des bandes fréquences non directement traitées par le cœur.
Dans un mode de réalisation, lorsque le premier cœur a été sélectionné pour le codage/décodage de la trame précédente codée par prédiction, le débit binaire affecté est en outre égal au maximum entre le débit binaire de la trame de transition codée par transformée et au moins une deuxième valeur prédéterminée de débit binaire, la deuxième valeur étant inférieure à la première valeur. Ainsi, un débit binaire minimum est garanti afin d'éviter des écarts de débits trop importants entre les différentes trames codées.
Dans un autre mode de réalisation, le signal numérique est décomposé en au moins une bande basse de fréquences et une bande haute de fréquence. Dans cette situation, le premier nombre de bits calculé est affecté au codage prédictif de la sous-trame de transition pour la bande basse de fréquences. Un troisième nombre de bits prédéterminé est alors alloué à un codage de la sous-trame de transition pour la bande haute de fréquences. De plus, le deuxième nombre de bits alloués pour le codage par transformée de la trame de transition est alors déterminé en outre à partir troisième nombre de bits prédéterminé. Ainsi, il est possible de coder efficacement la totalité du spectre fréquentiel du signal d'entrée sans sacrifier la qualité du signal restitué au décodage.
Dans un mode de réalisation, le nombre de bits disponibles pour le codage de la trame de transition est fixe. Ceci réduit la complexité des étapes de codage.
Dans un autre mode de réalisation, le deuxième nombre de bits est égal au nombre fixe de bits de codage de la trame de transition moins le premier nombre de bits moins le troisième nombre de bits. La détermination finale de la répartition des bits dans la trame de transition est ainsi limitée à une soustraction de valeurs entières ce qui simplifie le codage. En variante, le deuxième nombre de bits est égal au nombre fixe de bits de codage de la trame de transition moins le premier nombre de bits moins le troisième nombre de bits moins un premier bit moins un deuxième bit. Le premier bit indique si un filtrage passe-bas est effectué lors de la détermination des paramètres du codage prédictif de la sous-trame de transition, les paramètres étant relatifs au délai tonal. Le deuxième bit indique la fréquence utilisée par le cœur du codeur/décodeur pour le codage/décodage prédictif de la sous-trame de transition. Une telle indication permet un codage plus flexible.
Un deuxième aspect de l'invention concerne un procédé de codage d'un signal numérique dans un codeur apte à coder des trames de signal selon un codage prédictif ou selon un codage par transformée, comportant les étapes suivantes :
* codage d'une trame précédente d'échantillons du signal numérique selon un codage prédictif ;
* codage d'une trame courante d'échantillons du signal numérique en une trame de transition, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif d'une unique sous-trame de la trame de transition, le codage de la trame courante comportant les sous-étapes suivantes :
- détermination de la répartition des bits par le procédé selon le premier aspect de l'invention ;
- codage par transformée de la trame de transition sur le deuxième nombre de bits alloués ;
- codage prédictif de la sous-trame de transition sur le premier nombre de bits alloués. La détermination de la répartition des bits compris dans la trame de transition est ainsi déterminée avant le codage. Comme cela est décrit ci-après, cette détermination de la répartition des bits est reproductible au décodeur ce qui évite une transmission explicite d'informations sur cette répartition.
De plus, ce codage garantit une répartition équilibré entre le codage prédictif et le codage par transformée au sein de la trame de transition.
Dans un mode de réalisation, le codage prédictif comprend la génération de paramètres de codage prédictif déterminés pour le débit binaire affecté lors de la répartition des bits dans la trame de transition. L'utilisation de tels paramètres prédictifs permet d'optimiser au mieux le ratio entre le débit binaire affecté au codage prédictif et le débit restant affecté au codage par transformée, et donc d'optimiser la qualité du signal reconstruit. En effet, à qualité constante, le nombre de bits attribués à tel ou tel paramètre prédictif peut varier dans des proportions non linéaires par rapport au débit binaire affecté au codage prédictif.
Dans un autre mode de réalisation, le codage prédictif comprend la génération de paramètres de codage prédictif restreints par rapport au codage prédictif de la trame précédente en réutilisant au moins un paramètre du codage prédictif de la trame précédente. Ainsi, au décodage, des informations complémentaires sont extraites de la trame précédente pour compléter le décodage de la sous-trame de transition à décoder. Ceci réduit le nombre de bits qui doivent être réservés pour le codage prédictif de la sous-trame de transition.
La combinaison d'une réutilisation de paramètres d'une trame précédente avec l'affectation du débit binaire du codage par transformée de la trame de transition permet d'assurer une transition cohérente à moindre coût.
Un troisième aspect de l'invention concerne un procédé de décodage d'un signal numérique codé par un codage prédictif et par un codage par transformée, comportant les étapes de:
* décodage prédictif d'une trame précédente d'échantillons du signal numérique codée selon un codage prédictif ;
* décodage d'une trame de transition codant une trame courante d'échantillons du signal numérique, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif d'une unique sous-trame de la trame de transition, comportant les sous-étapes de :
- détermination de la répartition des bits par le procédé selon le premier aspect de l'invention ;
- décodage prédictif de la sous-trame de transition sur le premier nombre de bits alloués ;
- décodage par transformée de la trame de transition sur le deuxième nombre de bits alloués.
Comme mentionné ci-avant, le procédé de détermination de la répartition des bits dans la trame de transition est directement reproductible au niveau du décodeur. En effet, la répartition des bits est déterminée uniquement à partir du débit binaire de la partie de la trame de transition codée par transformée. Aucun bit supplémentaire n'est donc nécessaire pour mettre en œuvre cette étape de détermination de la répartition des bits et une économie de bande passante est donc réalisée.
Un quatrième aspect de l'invention vise en outre un programme informatique comportant des instructions pour la mise en œuvre du procédé selon les aspects de l'invention décrits ci-avant, lorsque ces instructions sont exécutées par un processeur.
Un cinquième aspect de l'invention concerne un dispositif de détermination d'une répartition de bits de codage d'une trame de transition, ce dispositif étant mis en œuvre dans un codeur/décodeur pour le codage/décodage d'un signal numérique, la trame de transition étant précédée d'une trame précédente codée par prédiction, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif d'une unique sous-trame de la trame de transition, le nombre de bits de codage de la trame de transition étant fixe, le dispositif comportant un processeur agencé pour effectuer les opérations suivantes : - affectation d'un débit binaire pour le codage prédictif de la sous-trame de transition, ledit débit binaire étant égal au minimum entre le débit binaire du codage par transformée de la trame de transition et une première valeur prédéterminée de débit binaire, au ;
- détermination d'un premier nombre de bits alloués pour le codage prédictif de la sous-trame de transition pour le débit binaire;
- calcul d'un deuxième nombre de bits alloués pour le codage par transformée de la trame de transition à partir du nombre de bits requis pour le codage des paramètres de codage et le nombre fixe de bits de codage de la trame de transition.
Un sixième aspect de l'invention vise en outre un codeur apte à coder des trames d'un signal numérique selon un codage prédictif ou selon un codage par transformée, comportant :
* un dispositif selon le cinquième aspect de l'invention ;
* un codeur prédictif comportant un processeur agencé pour effectuer les opérations suivantes :
- codage d'une trame précédente d'échantillons du signal numérique selon un codage prédictif ;
- codage prédictif d'une unique sous-trame comprise dans une trame de transition codant une trame courante d'échantillons du signal numérique, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif de la sous-trame, le processeur étant agencé pour effectuer l'opération de codage prédictif de la sous-trame de transition sur le premier nombre de bits alloués ;
* un codeur par transformée comportant un processeur agencé pour effectuer un codage par transformée de la trame de transition sur le deuxième nombre de bits alloués.
Un septième aspect de l'invention vise en outre un décodeur d'un signal numérique codé par un codage prédictif et par un codage par transformée, comportant :
* un dispositif selon le cinquième aspect de l'invention ;
* un décodeur prédictif comportant un processeur agencé pour effectuer les opérations suivantes :
- décodage prédictif d'une trame précédente d'échantillons du signal numérique codée selon un codage prédictif ;
- décodage prédictif d'une unique sous-trame comprise dans une trame de transition codant une trame courante d'échantillons du signal numérique, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif de la sous-trame, le processeur étant agencé pour effectuer l'opération de décodage prédictif de la sous-trame de transition sur le premier nombre de bits alloués ;
* un décodeur par transformée comportant un processeur agencé pour effectuer un décodage par transformée de la trame de transition sur le deuxième nombre de bits alloués. D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels:
la figure 1 illustre un codeur audio selon un mode de réalisation de l'invention ; la figure 2 est un diagramme illustrant les étapes d'un procédé de codage, mis en œuvre par le codeur audio de la figure 1, selon un mode de réalisation de l'invention ;
la figure 3 présente une transition entre trames CELP et MDCT selon un mode de réalisation de l'invention ;
la figure 4 est un diagramme illustrant les étapes d'un procédé de détermination d'une répartition de bits de codage d'une trame de transition, selon un mode de réalisation de l'invention ;
la figure 5 illustre un décodeur audio selon un mode de réalisation de l'invention ; la figure 6 est un diagramme illustrant les étapes d'un procédé de décodage, mis en œuvre par le décodeur audio de la figure 5, selon un mode de réalisation de l'invention ;
la figure 7 illustre un dispositif de détermination de la répartition de bits dans une trame de transition selon un mode de réalisation de l'invention.
La figure 1 illustre un codeur audio 100 selon un mode de réalisation de l'invention.
La figure 2 est un diagramme illustrant les étapes d'un procédé de codage, mis en œuvre par le codeur audio 100 de la figure 1, selon un mode de réalisation de l'invention.
Le codeur 100 comprend une unité de réception 101 pour recevoir, à une étape 201, un signal d'entrée échantillonné à une fréquence donnée fs (par exemple 8, 16, 32 ou 48 kHz) et décomposé en sous-trames, par exemple de 20 ms.
Sur réception d'une trame courante, une unité de pré-traitement 102 est apte à sélectionner, à une étape 202, le mode de codage qui est le plus adéquat pour le codage de la trame courante, parmi au moins un mode LPD et un mode FD. Dans la description qui suit, il est considéré, à titre illustratif, qu'un codage MDCT est utilisé pour le mode FD et qu'un codage CELP est utilisé pour le mode LPD. Aucune restriction n'est attachée aux techniques de codage respectivement employées pour les modes LPD et FD. Ainsi, des modes supplémentaires aux modes CELP et MDCT peuvent être par exemple utilisés, le codage CELP peut être remplacé par un autre type de codage prédictif, la transformée MDCT peut être remplacée par un autre type de transformée.
On suppose ici que le type de trame est transmis explicitement par l'intermédiaire du bloc 206, avec par exemple un codage de longueur fixe indiquant le mode choisi parmi une liste prédéfinie. Dans des variantes de l'invention, ce codage du mode choisi dans chaque trame pourra être de longueur variable. On prévoit également que le type de codage CELP (12,8 ou 16 kHz) pourra être transmis explicitement par le biais d'un bit afin de faciliter le décodage de la trame de transition. Une étape 203 vérifie que le codage CELP a été sélectionné à l'étape 202. Dans le cas où le mode LPD est sélectionné, la trame de signal est transmise à un codeur CELP 103 pour le codage d'une trame CELP à une étape 204. Le codeur CELP peut utiliser deux « cœurs » fonctionnant à deux fréquences d'échantillonnage internes respectives, par exemple fixées à 12,8 kHz et 16 kHz, qui requièrent d'utiliser un échantillonnage du signal d'entrée (à la fréquence fs) à la fréquence interne de 12,8 ou 16 kHz. Un tel ré -échantillonnage peut être mis en œuvre dans une unité de ré -échantillonnage dans le bloc de pré-traitement 102 ou dans le codeur CELP 103. La trame est ensuite codée par prédiction par le codeur CELP 103 en déduisant des paramètres CELP qui dépendent en général d'une classification du signal. Ces paramètres CELP incluent typiquement des coefficients LPC, un vecteur de gains adaptatif et fixe, un vecteur de dictionnaire adaptatif, un vecteur de dictionnaire fixe. Cette liste peut également être modifiée en fonction d'une classe de signal dans la trame, comme dans le codage UIT-T G.718. Les paramètres ainsi calculés peuvent ensuite être quantifiés, multiplexés et transmis à une étape 206 au décodeur par une unité de transmission 108. Des paramètres de codage CELP, tels que les coefficients LPC, le vecteur de gains adaptatif et fixe, le vecteur de dictionnaire adaptatif, le vecteur de dictionnaire fixe ainsi que des états du décodeur CELP peuvent en outre être mémorisés, à une étape 205, dans une mémoire 107 dans le cas où la trame suivant la trame courante serait une trame de transition MDCT.
Comme expliqué ci-après, une extension de bande pourra également être effectuée avec un codage associée de la bande haute lorsque la trame courante est de type CELP.
Dans le cas où le codage MDCT a été sélectionné par l'unité 102 à l'étape 203, il est vérifié à une étape 207 que la trame précédant la trame courante a été codée par transformée MDCT. Dans le cas où la trame précédant la trame courante a été codée par transformée MDCT, la trame courante est transmise au codeur MDCT 105 directement, pour un codage par transformée MDCT de la trame courante à une étape 208. Le codeur MDCT peut coder une trame couvrant 28,75 ms de signal non ré-échantillonné, incluant 20 ms de trame et 8,75 ms de lookahead par exemple. Aucune restriction n'est attachée à la taille de la fenêtre MDCT. En outre, un retard correspondant au retard du codeur CELP dû au ré -échantillonnage du signal d'entrée, est appliqué à la trame codée par le codeur MDCT, de manière à ce que les trames MDCT et CELP soient synchronisées. Un tel retard au codeur peut être de 0,9375 ms selon le type de ré -échantillonnage avant codage CELP. La trame codée par transformée MDCT est transmise au décodeur à l'étape 206.
Dans le cas où le codage MDCT est sélectionné par l'unité 102, et dans le cas où la trame précédant la trame courante a été codée par prédiction, la trame courante est une trame de transition et est transmise à une unité de transition 104. Comme décrit dans ce qui suit, la trame de transition MDCT comprend une sous-trame CELP supplémentaire.
L'unité de transition 104 est apte à mettre en œuvre les étapes suivantes : anticiper, à une étape 209, le budget de bits nécessaires au codage de la sous-trame CELP de transition de manière à définir le budget disponible pour le codage MDCT de la trame courante. Comme détaillé dans ce qui suit, le budget peut dépendre du débit de la trame courante. En outre, le budget peut être évalué en fonction du cœur CELP utilisé. Afin de conserver un budget de bits suffisant pour ne pas dégrader la qualité du codage MDCT, l'invention peut prévoir de borner le débit de codage de la sous-trame CELP. Elle comprend à cet effet un dispositif de détermination de la répartition de bits dans une trame de transition, tel que le dispositif 700 de la figure 7 ;
modifier, à une étape 210, la fenêtre MDCT utilisée au codeur conformément à la figure 3 décrite ci-après ;
mettre à zéro la mémoire de la transformation MDCT puisque la trame précédente était une trame CELP, à une étape 211 - de façon équivalente la mémoire MDCT pourra être ignorée dans le décodage MDCT.
Dans un mode de réalisation, au moins une de ces étapes est effectuée par l'unité de codage de trame de transition 106 décrite ci-après.
La trame MDCT de transition est codée par le codeur MDCT 105, à une étape 212, telle que décrit dans ce qui suit, et sur la base du budget de bits alloués à l'étape 209. La sous-trame CELP supplémentaire est également codée par le codeur CELP 103, à une étape 213, comme décrit dans ce qui suit en référence à la figure 3, et en fonction du budget de bits alloués à l'étape 209. Le codage CELP peut être effectué avant ou après codage MDCT.
La figure 3 présente la transition entre trames CELP et MDCT au codeur, avant codage, et au décodeur, avant décodage.
Une trame à coder 301 est reçue au codeur 100 et est codée par le codeur CELP 103. Une trame courante 302 est ensuite reçue en entrée du codeur 100 pour être codée par transformée MDCT. Il s'agit donc d'une trame de transition. La trame suivante 303 reçue en entrée du codeur est également codée par transformée MDCT. Selon l'invention, la trame suivante 303 pourrait être codée par codage CELP et aucune restriction n'est attachée au codage employée pour la trame suivante 303.
Une fenêtre MDCT asymétrique 304 peut être utilisée pour le codage de la trame courante. Cette fenêtre 304 présente un front montant 307 de 14,375 ms, un palier avec un gain à 1 de 11,25 ms, un front descendant 309 de 8,75 ms correspondant au lookahead, et une partie nulle 310 de 5,265 ms. L'ajout de la partie nulle 310 permet de diminuer le lookahead et ainsi le retard correspondant. Dans un mode de réalisation, la forme de cette fenêtre d'analyse MDCT pour le codage MDCT est modifiée par exemple pour diminuer encore le lookahead ou pour utiliser une fenêtre symétrique dont des exemples sont donnés dans la demande de brevet WO2012/085451.
Le trait en pointillés 312 représente le milieu de la fenêtre MDCT 304. De part et d'autre du trait 312, les quarts de 10 ms de la fenêtre MDCT 212 sont repliés comme décrit en partie introductive. La ligne continue 311 indique la zone de repliement entre les premier et deuxième quarts de la fenêtre MDCT 304.
La fenêtre MDCT de la trame suivante 303 est référencée 306 et présente une zone d'addition recouvrement avec la fenêtre MDCT 304 correspondant au front descendant 309 de la fenêtre MDCT 304.
Une fenêtre MDCT 305 représente théoriquement la fenêtre qui serait appliquée à la trame précédente si elle avait été codée par transformée MDCT. Toutefois, la trame précédente 301 étant codée par le codeur CELP 103, il est nécessaire, afin de permettre le dépliement au décodeur de la première partie de la trame codée par transformée MDCT, que la fenêtre soit nulle dans le premier quart (étant donné que la seconde partie de la trame MDCT précédente n'est pas disponible).
A cet effet, la fenêtre MDCT 304 est modifiée en une fenêtre MDCT 313 dont le premier quart est à zéro, permettant ainsi le repliement temporel dans la première partie de la trame MDCT au décodeur.
Au niveau du décodeur, les fenêtres d'analyse 304, 305, 306 et 313 correspondent respectivement à des fenêtres de synthèse 324, 325, 326 et 327. Cette fenêtre de synthèse est donc inversée temporellement par rapport à la fenêtre d'analyse correspondante. Dans des variantes de l'invention, les fenêtres d'analyse et de synthèse peuvent être identiques, de type sinusoïdale ou autre.
Une première trame 320 de nouveaux échantillons codée par codage CELP est reçue au décodeur. Elle correspond à la version codée de la trame CELP 301. On rappelle ici que la trame décodée est décalée de 8.75 ms par rapport à la trame 320.
La version codée de la trame de transition 302, est ensuite reçue (références 321 et 322 formant une trame complète). Entre la fin de la trame CELP 320 et le début du front montant de la fenêtre de synthèse 327 (correspondant à la ligne de repliement), un trou ou GAP est créé. Dans l'exemple particulier représenté ici, un quart de fenêtre MDCT étant de 10 ms et la partie nulle de la fenêtre de synthèse MDCT 324 qui recouvre la trame CELP 320 étant de 5,625 ms (correspondant à la partie 310 de la fenêtre d'analyse MDCT 204), le trou est de 4,375 ms. En outre, afin d'assurer une longueur d'addition recouvrement satisfaisante avec le début de la partie non nulle de la fenêtre MDCT 327, le retard entre la trame CELP 320 et le début de la fenêtre MDCT 327 est prolongé de la longueur requise. Dans l'exemple qui suit, nous considérons, à titre illustratif, une longueur d'addition recouvrement satisfaisante de 1,875 ms, le retard précité (correspondant à une longueur de signal manquant) étant ainsi porté à 6,25 ms, tel que représenté par la référence 321 sur la figure 2.
On notera que les trames de signaux représentées à la figure 3 peuvent contenir des signaux à des fréquences d'échantillonnage différentes qui sont de 12,8 ou 16 kHz en cas de codage/décodage CELP et de fs en cas de codage/décodage MDCT ; cependant au décodeur, après ré -échantillonnage de la synthèse CELP et décalage temporel de la synthèse MDCT les trames restent synchronisées et la représentation de la figure 3 reste exacte.
Comme évoqué précédemment la demande WO2012/085451 propose de coder une sous- trame CELP supplémentaire de 5ms au début de la trame de transition MDCT, dans le cas d'un codage CELP à 12.8 kHz, et deux trames CELP supplémentaires de 4ms chacune au début de la trame de transition MDCT, dans le cas d'un codage CELP à 16 kHz.
Dans le cas à 12,8 kHz, le retard de 6,25 ms n'est pas comblé et l'addition recouvrement est impactée : on dispose uniquement au décodeur de 0,625 ms d'addition recouvrement, ce qui est insuffisant.
Dans le cas à 16 kHz, deux sous-trames CELP supplémentaires sont codées au début de la trame de transition, ce qui ne laisse que très peu de budget pour coder la trame MDCT de transition et peut amener à une baisse de qualité significative à bas débit.
Afin de surmonter ces inconvénients, la présente invention peut prévoir de coder une unique sous-trame CELP supplémentaire à 12,8 ou 16 kHz par le codeur CELP 103. Des échantillons supplémentaires sont générés au décodeur, comme détaillé dans ce qui suit, afin de générer le signal manquant sur la longueur de 6,25 ms précitée.
Afin de coder la sous-trame CELP de transition, l'unité 106 peut réutiliser au moins un paramètre CELP de la trame CELP précédente. Par exemple, l'unité 106 peut réutiliser les coefficients de prédiction linéaire A(z) de la sous -trame CELP précédente ainsi que l'énergie de l'innovation de la trame précédente (stockés dans la mémoire 107 tel que précédemment décrit) afin de coder uniquement le vecteur de dictionnaire adaptatif, le gain adaptatif, le gain fixe et le vecteur du dictionnaire fixe de la sous trame CELP de transition. Ainsi, la sous-trame supplémentaire CELP peut être codée avec le même cœur (12,8 kHz ou 16 kHz) que la trame CELP précédente.
Une unité de codage de trame de transition 106 assure le codage d'une trame de transition selon l'invention. L'invention peut prévoir en outre l'insertion par l'unité 106 dans le flux binaire d'un bit supplémentaire indiquant que la trame codée 322 est une trame de transition, cependant dans le cas général cette indication de trame de transition pourra également être transmise dans l'indication globale de mode de codage de la trame courante, sans prendre de bits supplémentaire.
L'invention peut en outre prévoir que cette unité 106 code la bande haute du signal aux étapes 204 et 214 (procédé dit « d'extension de bande »), lorsque celle-ci est requise, avec un budget fixe puisque la fréquence d'échantillonnage du signal de synthèse au décodeur n'est pas forcément identique à la fréquence du cœur CELP.
A cet effet, l'unité de codage de trame de transition 106 peut mettre en œuvre les étapes suivantes :
- filtrage de la trame précédente CELP et de la sous-trame CELP de la trame de transition par un filtre passe -haut afin de ne conserver que la partie haute du spectre (au-dessus de la fréquence qui correspond au cœur CELP utilisé, soit au dessus de 6,4 ou 8 kHz). Un tel filtrage peut être mis en œuvre par un filtre à réponse impulsionnelle finie, FIR, du codeur CELP 103 ;
- recherche de corrélation entre la partie filtrée de la sous-trame CELP de transition originale et la trame CELP précédente filtrée afin d'estimer un paramètre de retard puis un gain (différence d'amplitude entre le signal correspondant à la sous-trame filtrée et le signal prédit par application du retard) ;
- codage du paramètre de retard et du gain précités en utilisant par exemple une quantification scalaire (par exemple, le retard peut être codé sur 6 bits et le gain sur 6 bits).
L'étape 209 précitée est illustrée plus en détails en référence à la figure 4 qui est un diagramme illustrant les étapes d'un procédé de détermination d'une répartition de bits de codage de transition selon un mode de réalisation de l'invention. Le procédé précité est mis en œuvre de la même manière au codeur et au décodeur, mais est présenté, à titre illustratif uniquement, côté codeur.
A une étape 400, le débit total (en bit/s), noté core_brate, qui peut être alloué au codage de la trame courante est fixé comme étant égal au débit de sortie du codeur MDCT. La durée de la trame étant considérée dans cet exemple comme étant de 20 ms, le nombre de trames par seconde est 50 et le budget total en bits est égal à core_brate / 50. Le budget total peut être fixe, dans le cas d'un codeur à débit fixe, ou variable, dans le cas d'un codeur à débit variable lorsqu'une adaptation du débit de codage est mise en œuvre. Dans la suite, on utilise une variable num_bits, initialisée à la valeur core_brate /50.
A une étape 401, l'unité de transition 104 détermine le cœur CELP, parmi au moins deux cœurs CELP, qui a été utilisé pour le codage de la trame CELP précédente. Dans l'exemple qui suit, on considère deux cœurs CELP fonctionnant à des fréquences respectives de 12,8 kHz et 16 kHz. En variante, un seul cœur CELP est mis en œuvre au codage et/ou au décodage.
Dans le cas où le cœur CELP utilisé pour la trame CELP précédente est à une fréquence de 12,8 kHz, le procédé comprend une étape 402 d'affectation d'un débit binaire, noté cbrate, pour le codage CELP de la sous-trame de transition, le débit binaire étant égal au minimum entre le débit binaire du codage MDCT de la trame de transition et une première valeur prédéterminée de débit binaire. La première valeur prédéterminée peut être fixée à 24,4 kbit/s par exemple, ce qui permet d' assurer un budget de bits satisfaisant pour le codage par transformée.
Ainsi, cbrate = min(core_bitrate, 24400). Cette limitation revient à brider le fonctionnement du codage CELP restreint limité à la sous-trame supplémentaire avec des paramètres CELP codés comme s'ils étaient codés par un codage CELP à au plus 24,40 kbit/s.
A une étape 403 facultative, le débit binaire affecté est comparé à un débit binaire CELP à 11,60 kbit/s. Si le débit binaire affecté est supérieur, un bit peut être réservé pour coder une indication binaire de filtrage passe-bas du dictionnaire adaptatif (comme par exemple dans le codage AMR-WB aux débits supérieurs ou égaux à 12,65 kbit/s). La variable num_bits est mise à jour :
num_bits := num_bits - 1
A une étape 404, un premier nombre de bits, noté budgl, est alloué pour le codage prédictif de la sous-trame CELP supplémentaire. Le premier nombre de bits budgl représente le nombre de bits représentant les paramètres CELP utilisés pour le codage de la sous-trame CELP. Comme précédemment détaillé, le codage de la sous-trame CELP peut être restreint en ce qu'un nombre restreint de paramètres CELP est utilisé, certains paramètres utilisés pour le codage de la trame CELP précédente étant réutilisés avantageusement.
Par exemple, seule l'excitation peut être modélisée pour le codage de la sous-trame CELP supplémentaire, et des bits sont ainsi réservés uniquement pour le vecteur du dictionnaire fixe, pour le vecteur du dictionnaire adaptatif et pour le vecteur de gains. Le nombre de bits attribués à chacun de ces paramètres est déduit du débit binaire affecté au codage de la sous-trame CELP supplémentaire à l'étape 402. Par exemple, le Tableau 1/G722.2 - Répartition des bits de l'algorithme de codage AMR-WB pour trame de 20ms, issu de la version de juillet 2003 de la norme G.722.2 de l'ITU-T, donne des exemples d'allocations de bits par paramètre CELP en fonction du débit binaire affecté.
Dans l'exemple précédent, où le codage de la sous-trame est restreint, budgl correspond à la somme des bits attribués respectivement au dictionnaire adaptatif, au dictionnaire fixe et au vecteur de gains. Par exemple, pour un débit binaire affecté de 19,85 kbit/s, en se référant au Tableaul/G722 précité, 9 bits sont alloués au dictionnaire adaptatif (délai tonal), 72 bits sont alloués au dictionnaire fixe (code algébrique), et 7 bits sont alloués au vecteur de gains (gain de répertoire). Dans ce cas, budgl est égal à 88 bits.
La variable num_bits peut ainsi être mise à jour :
num_bits := num_bits - budgl
L'invention peut également prévoir de prendre en compte des classes de trames dans l'allocation de bits aux paramètres CELP. Par exemple, la norme G.718 de l'ITU-T, dans sa version de juin 2008, sections 6.8 et 8.1, donne les budgets à allouer à chaque paramètre CELP en fonction de classes, ou modes tels que le mode non-voisé (UC), le mode voisé (VC), le mode de transition (TC) et le mode générique (GC), et en fonction du débit binaire alloué (layerl ou layer2, correspondant à des débits respectifs de 8kbit/s et de 8+4 kbit/s). Le codeur G.718 est un codeur hiérarchique, mais il est possible de combiner les principes de codage CELP utilisant une classification de G.718 avec l'allocation multidébits d' AMR-WB.
S'il a été déterminé à l'étape 401 que le cœur CELP utilisé pour la trame CELP précédente est à une fréquence de 16 kHz, le procédé comprend une étape 405 d'affectation d'un débit binaire, noté cbrate, pour le codage CELP de la sous-trame de transition, le débit binaire étant égal au minimum entre le débit binaire du codage MDCT de la trame de transition et une première valeur prédéterminée de débit binaire. Dans le cas du cœur à 16 kHz, la première valeur prédéterminée peut être fixée à 22,6 kbit/s par exemple, ce qui permet d'assurer un budget de bits satisfaisant pour le codage par transformée. Ainsi, la première valeur prédéterminée dépend du cœur CELP utilisé pour le codage de la trame CELP précédente. En outre, pour le codage cœur à 16 kHz, des valeurs seuils peuvent être appliquées lors de l'affectation d'un débit binaire au codage CELP. Ainsi, le débit binaire affecté est en outre égal au maximum entre le débit binaire de la trame de transition codée par transformée et au moins une deuxième valeur prédéterminée de débit binaire, la deuxième valeur étant inférieure à la première valeur. La deuxième valeur prédéterminée de débit binaire peut par exemple être égal à 14,8 kbit/s. Ainsi, si le débit binaire de la trame de transition codée par transformée est inférieur à 14,8 kbit/s, le débit binaire affecté au codage CELP de la sous-trame de transition peut être de 14,8 kbit/s.
Dans un mode de réalisation complémentaire, si le débit binaire de la trame de transition codée par transformée est inférieur à 8 kbit/s, le débit affecté peut être égal à 8 kbit/s.
Ainsi, selon ce mode de réalisation complémentaire, l'algorithme suivant est obtenu :
Si core_bitrate < 8000
cbrate = 8000
Sinon si core_bitrate < 14800
cbrate = 14800
Sinon
cbrate = min(core_bitrate ) 22600)
Fin si
A une étape 407 facultative, le débit binaire affecté est comparé à un débit binaire CELP à 11,60 kbit/s. Si le débit binaire affecté est supérieur, un bit peut être réservé pour coder une indication binaire de filtrage passe-bas du dictionnaire adaptatif. La variable num_bits est mise à jour :
num_bits := num_bits - 1
A une étape 408, de la même manière qu'à l'étape 404, un premier nombre de bits budgl est alloué pour le codage prédictif de la sous-trame CELP supplémentaire, et budgl dépend du débit binaire affecté au codage CELP de la sous-trame de transition.
A une étape 410 commune aux codages à différentes fréquences de cœur, un deuxième nombre de bits alloués pour le codage par transformée de la trame de transition, noté budg2, est calculé à partir du premier nombre de bits budgl et du nombre de bits total de la trame de transition. Au vu des calculs ci-dessus, budg2 est égal à la variable num_bits. En général, le mode de la trame courante de transition est supposé ici imputé au budget de codage MDCT, cette information n'est donc pas explicitement prise en compte ici.
Les étapes précédentes peuvent avoir été mises en œuvre pour le codage d'une bande basse de fréquences de la sous-trame de transition, dans le cas où le signal audio est décomposé en au moins une bande basse de fréquences et une bande haute de fréquences. A une étape 409 facultative précédant l'étape 410, également commune aux codages à différentes fréquences de cœur, le procédé peut comprendre l'allocation d'un troisième nombre de bits prédéterminé, noté budg3 au codage de la bande haute de fréquences de la sous-trame de transition. Dans ce cas, le deuxième nombre de bits budg2 est calculé à la fois à partir du premier nombre de bits budgl et du troisième nombre de bits budg3.
Comme précédemment expliqué, le codage de la bande haute de fréquences (ou extension de bande) de la sous-trame de transition peut être fondé sur une corrélation entre la trame précédente du signal audio et la sous-trame de transition. Par exemple, le codage de la bande haute de fréquences peut être décomposé en deux étapes.
Dans une première étape, la trame précédente et la trame courante du signal audio sont filtrées par un filtre passe-haut pour ne garder que la partie haute du spectre. La partie haute du spectre peut correspondre aux fréquences supérieures à celle du cœur CELP utilisé. Par exemple, si le cœur CELP utilisé est le cœur CELP à 12,8 kHz, la bande haute correspond au signal audio pour lequel les fréquences inférieures à 12,8 kHz ont été filtrées. Un tel filtrage peut être mis en œuvre au moyen d'un filtre FIR.
Dans une deuxième étape, une recherche de corrélation entre les parties filtrées de la trame précédente et de la trame courante est effectuée. Une telle recherche de corrélation permet d'estimer un paramètre de retard puis un gain. Le gain correspond au rapport d'amplitude entre la partie filtrée de la trame courante et le signal prédit par application du retard.
Par exemple, 6 bits peuvent être alloués pour le gain et 6 bits pour le retard. Le troisième nombre de bits budg3 est alors égal à 12.
La variable num_bits peut alors être mise à jour :
num_bits := num_bits - budg3.
Le deuxième nombre de bits budg2 est alors égal à la variable num_bits mise à jour.
La figure 5 illustre un décodeur audio 500 selon un mode de réalisation de l'invention et la figure 6 est un diagramme illustrant les étapes d'un procédé de décodage selon un mode de réalisation de l'invention, mis en œuvre dans le décodeur audio 500 de la figure 5.
Le décodeur 500 comprend une unité de réception 501 pour recevoir, à une étape 601, le signal numérique codé (ou flux binaire) issu du codeur 100 de la figure 1. Le flux binaire est soumis à une unité de classification 502 apte à déterminer, à une étape 602 si la trame courante est une trame CELP, une trame MDCT ou une trame de transition. A cet effet, l'unité de classification 502 est apte à déduire du flux binaire une information indiquant si la trame courante est une trame de transition ou non, et une information indiquant le cœur CELP à utiliser pour le décodage d'une trame CELP ou d'une sous-trame CELP de transition.
A une étape 603, il est vérifié que la trame courante est une trame de transition. Si la trame courante n'est pas une trame de transition, il est vérifié à une étape 604 que la trame courante est une trame CELP. Si tel est le cas, la trame est transmise à un décodeur CELP 504 apte à décoder une trame CELP à une étape 605, à la fréquence de cœur indiquée par l'unité de classification 502. Suite au décodage d'une trame CELP, le décodeur CELP 504 peut stocker, à une étape 606, dans une mémoire 506 des paramètres tels que les coefficients du filtre de prédiction linéaire A(z) et des états internes tels que l'énergie prédictive au cas où la trame suivante serait une trame de transition.
En sortie du décodeur CELP 504, le signal peut être ré-échantillonné, à une étape 607, à la fréquence de sortie du décodeur 500 par une unité de ré-échantillonnage 505. Dans un mode de réalisation de l'invention, l'unité de ré -échantillonnage comprend un filtre FIR et le rééchantillonnage introduit un retard de (par exemple) 1,25 ms. Dans un mode de réalisation, des post-traitements pourront être appliqués au décodage CELP avant ou après ré-échantillonnage.
Comme mentionné ci-avant, dans un mode de réalisation, une extension de bande peut également être effectuée, par une unité de gestion de l'extension de bande 5051 à des étapes 6071 et 6151, avec un décodage associée de la bande haute lorsque la trame courante est de type CELP. La bande haute est alors combinée au codage CELP avec éventuellement un retard supplémentaire appliquée à la synthèse CELP en bande basse.
Le signal décodé par le décodeur CELP et ré-échantillonné, éventuellement post-traité avant ou après ré-échantillonnage, est transmis à une interface de sortie 510 du décodeur à une étape 608.
Le décodeur 500 comprend en outre un décodeur MDCT 507. Dans le cas où il a été déterminé à l'étape 604 que la trame courante est une trame MDCT, le décodeur MDCT 507 est apte à décoder la trame MDCT de manière classique à une étape 609. En outre, un retard correspondant au retard nécessaire pour l'application du ré -échantillonnage du signal issu du décodeur CELP 504 est appliqué à la sortie du décodeur par une unité de retard 508, de manière à synchroniser la synthèse MDCT avec la synthèse CELP, à une étape 610. Le signal décodé par MDCT et retardé est transmis à l'interface de sortie 510 du décodeur à l'étape 608.
Dans le cas où la trame courante est déterminée comme étant une trame de transition à l'issue de l'étape 603, un dispositif de détermination de la répartition de bits 503 est apte à déterminer, à une étape 611, le premier nombre de bits budgl alloués au codage CELP de la sous- trame de transition et le deuxième nombre de bits budg3 alloués au codage par transformée de la trame de transition. Le dispositif 503 peut correspondre au dispositif 700 décrit en détails en référence à la figure 7.
Le décodeur MDCT 507 utilise le troisième nombre de bits budg3 calculé par l'unité de détermination 503 pour ajuster le débit nécessaire au décodage de la trame de transition. Le décodeur MDCT 507 met en outre à zéro la mémoire de la transformation MDCT et décode la trame de transition à une étape 612. Le signal issu du décodeur MDCT est ensuite retardé par l'unité de retard 508 à une étape 613.
En parallèle, le décodeur CELP 504 décode la sous-trame CELP de transition en fonction du premier nombre de bits budgl, à une étape 614. Le décodeur CELP 504 décode à cet effet les paramètres CELP qui peuvent dépendre de la classe de la trame courante, et qui comprennent par exemples les valeurs de pitch du dictionnaire adaptatif, de dictionnaire fixe et de gains de la sous- trame CELP et utilise les coefficients du filtre de prédiction linéaire. En outre, le décodeur CELP 504 met à jour les états de décodage CELP. Ces états peuvent comprendre typiquement l'énergie prédictive de l'innovation issue de la trame CELP précédente pour générer la sous-trame de signal sur 4ms ou 5ms selon que le cœur CELP à 12,8 kHz ou à 16 kHz est utilisé (dans le cas d'un codage restreint de la sous-trame CELP de transition).
Comme évoqué précédemment, la demande WO2012/085451 prévoit le codage supplémentaire d'une sous-trame à 5ms pour le cœur CELP à 12,8 kHz et de deux sous-trames supplémentaires à 4ms pour le cœur CELP à 16 kHz.
Comme expliqué en référence à la figure 3, dans le cas à 12,8 kHz, le retard de 6,25 ms n'est pas comblé et l'addition recouvrement est impactée : on dispose uniquement au décodeur de 0,625 ms d'addition recouvrement, ce qui est insuffisant.
Dans le cas à 16 kHz, deux sous-trames CELP supplémentaires sont codées au début de la trame de transition, ce qui ne laisse que très peu de budget pour coder la trame MDCT de transition et peut amener à une baisse de qualité par rapport à un codage MDCT « à plein débit » dans la trame courante.
Ainsi, la solution de la demande internationale WO2012/085451 n'est pas satisfaisante.
Un aspect indépendant de l'invention prévoit, à partir d'une unique sous-trame CELP supplémentaire de transition, la génération partielle d'une seconde sous-trame en réutilisant des paramètres de codage utilisés pour le codage de la sous-trame CELP de transition. Le retard est ainsi comblé, en assurant une addition-recouvrement suffisante, et sans impacter le débit du codage MDCT de la trame de transition.
A cet effet, l'invention vise également un procédé de décodage P d'un signal numérique codé, dans un décodeur 500 apte à décoder des trames de signal selon un décodage prédictif ou selon un décodage par transformée, comportant les étapes suivantes :
- réception, à l'étape 501, d'un premier ensemble de paramètres de codage prédictif codant une première trame du signal numérique ;
- décodage prédictif, à l'étape 605, de la première trame sur la base du premier ensemble de paramètres de codage prédictif ;
- réception, à l'étape 501 pour une nouvelle trame, d'un deuxième ensemble de paramètres de codage prédictif d'une première sous-trame de transition d'une trame de transition codée par transformée : - décodage, à l'étape 614, de la première sous-trame de transition sur la base du deuxième ensemble de paramètres de codage prédictif ;
- génération, à l'étape 614, d'échantillons d'une deuxième sous-trame de transition, à partir d'au moins un paramètre de codage prédictif du deuxième ensemble.
L'invention vise en outre le décodeur 500 pour la mise en œuvre du procédé de décodage P, ainsi qu'un programme informatique comportant des instructions pour la mise en œuvre du procédé de décodage P, lorsque ces instructions sont exécutées par un processeur.
Les paramètres CELP réutilisés pour la génération de la deuxième sous-trame peuvent être le vecteur de gains, le vecteur du dictionnaire adaptatif et le vecteur du dictionnaire fixe.
Selon un mode de réalisation du procédé de décodage P, une valeur minimale de recouvrement peut être prédéfinie pour le décodage par transformée et le nombre d'échantillons générés de la deuxième sous-trame est déterminé en fonction de la valeur minimale de recouvrement. Cette dernière sous-trame peut être générée sans information supplémentaire en prolongeant la synthèse CELP en répétant la prédiction de pitch avec le même retard de pitch et le même gain de dictionnaire adaptatif que dans la première sous-trame, et en effectuant une filtrage LPC de synthèse avec les mêmes coefficients LPC et une dé -emphase ou désaccentuation.
La deuxième sous-trame CELP peut ensuite être tronquée de manière à ne conserver que 1,25 ms de signal dans le cas du cœur CELP à 12,8 kHz, et 2,25 ms de signal dans le cas du cœur CELP à 16 kHz. La première sous-trame CELP est ainsi complétée de manière à avoir 6,25 ms de signal supplémentaire permettant de combler le trou et d'assurer une addition-recouvrement satisfaisante (valeur minimale de recouvrement, par exemple de 1,875 ms) avec la trame de transition MDCT. Dans un mode de réalisation, la sous-trame CELP supplémentaire a une longueur étendue à 6,25 ms pour les cœurs CELP à 12,8 et 16 kHz, ce qui implique de modifier le codage CELP « normal » pour disposer d'une telle longueur de sous-trame étendue, en particulier pour le dictionnaire fixe.
En complément du mode de réalisation précédent du procédé de décodage P, le procédé P peut comprendre en outre une étape 615 de ré -échantillonnage mise en œuvre par un filtre à réponse impulsionnelle finie. Comme précédemment expliqué, le filtre FIR peut être intégré dans l'unité de ré-échantillonnage 505. Le ré-échantillonnage utilise la mémoire du filtre FIR de la trame CELP précédente et le traitement induit un retard supplémentaire de 1,25 ms dans cet exemple.
Le procédé P peut comporter en outre une étape d'ajout d'un signal additionnel obtenu à partir d'échantillons stockés dans la mémoire du filtre à réponse impulsionnelle finie, pour combler le retard introduit par l'étape de ré-échantillonnage. Ainsi, 1,25 ms de signal, en plus des 6,25 ms de signal additionnel précédemment généré, sont générés par le décodeur 500, ces échantillons permettant avantageusement de combler le retard introduit par le ré -échantillonnage des 6,25 ms de signal additionnel. A cet effet, la mémoire du filtre FIR de l'unité de ré-échantillonnage 505 peut être sauvegardée à chaque trame après décodage CELP. Le nombre d'échantillons dans cette mémoire correspond à 1,25 ms à la fréquence du cœur CELP considérée (12,8 ou 16 kHz).
Selon un mode de réalisation complémentaire du procédé P, le ré-échantillonnage des échantillons stockés est effectué par une méthode d'interpolation introduisant un deuxième retard inférieur au premier retard du filtre à réponse impulsionnelle finie, pouvant être considéré comme nul. Ainsi, les 1 ,25 ms de signal générés à partir de la mémoire du filtre FIR, sont ré -échantillonnés selon une méthode impliquant un retard moindre. Par exemple, un ré-échantillonnage des 1,25 ms de signal généré par la mémoire du filtre FIR peut être mis en œuvre par interpolation cubique, qui implique un retard de deux échantillons uniquement, retard moindre comparé au retard du filtre FIR. Ainsi, deux échantillons de signal supplémentaires sont requis pour ré -échantillonner les 1 ,25 ms de signal précités : ces deux échantillons supplémentaires peuvent être obtenus en répétant la dernière valeur de la mémoire de ré-échantillonnage du filtre FIR.
Le décodeur peut en outre décoder la partie haute fréquence des 6,25 ms de signal CELP obtenue à partir des première et deuxième sous-trames de transition. A cet effet, le décodeur CELP 504 peut utiliser le gain adaptatif et le vecteur du dictionnaire fixe de la dernière sous-trame de la trame CELP précédente.
Le décodeur 500 comprend en outre une unité d'addition-recouvrement 509 apte à assurer addition-recouvrement, à une étape 616, entre les sous-trames de transition CELP décodées et rééchantillonnées, les échantillons ré -échantillonnés par l'interpolation cubique, et le signal décodé de la trame de transition issu du décodeur MDCT 507.
A cet effet, l'unité 509 applique la fenêtre modifiée 327 de synthèse de la figure 3. Ainsi, avant le point de repliement MDCT pour les deux premiers quarts, les échantillons fenêtrés sont mis à zéro. Après le point de repliement précité, les échantillons fenêtrés sont divisés par la fenêtre non modifiée 324 de la figure 3, et multipliés par une fenêtre de type sinus de manière à ce que, combinée avec la fenêtre appliquée à l'encodeur, la fenêtre totale soit en sin2. Dans la partie concernée par addition-recouvrement, les échantillons issus du CELP et du ré-échantillonnage à 0 délai (par exemple par interpolation cubique) sont pondérés par une fenêtre en cos2
La trame de transition ainsi obtenue est transmise à l'interface de sortie 510 du décodeur à l'étape 608.
La figure 7 représente un exemple de dispositif 700 de détermination de la répartition des bits d'une trame de transition.
Le dispositif comprend une mémoire vive 704 et un processeur 703 pour stocker des instructions permettant la mise en œuvre du procédé de détermination de la répartition des bits d'une trame de transition décrit ci-avant. Le dispositif comporte aussi une mémoire de masse 705 pour le stockage de données destinées à être conservées après l'application du procédé. Le dispositif 700 comporte en outre une interface d'entrée 701 et une interface de sortie 706 respectivement destinées à recevoir les trames du signal numérique et à émettre le détail du budget alloué à ces différentes trames.
Le dispositif 700 peut en outre comporter un processeur de signal numérique (DSP) 702. Ce DSP 702 reçoit les trames de signal numérique pour mettre en forme, démoduler et amplifier, de façon connue en soi ces trames.
La présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples ; elle s'étend à d'autres variantes.
Ainsi, on a décrit ci-avant un mode de réalisation dans lequel les dispositifs de compression ou de décompression sont des entités à part entière. Bien sûr, ces dispositifs peuvent être embarqués dans tout type de dispositif plus important comme par exemple une caméra numérique, un appareil photo, un téléphone portable, un ordinateur, un projecteur de cinéma, etc.
De plus, on a décrit un mode de réalisation proposant une architecture particulière des dispositifs de compression, de décompression et de comparaison. Ces architectures ne sont données qu'à titre illustratif. Ainsi, un agencement des composants et une répartition différente des taches affectées à chacune de ces composantes est également envisageable. Par exemple, les tâches effectuées le processeur de signal numérique (DSP) peuvent également être effectuées par un processeur classique.

Claims

REVENDICATIONS
1. Procédé de détermination d'une répartition de bits de codage d'une trame de transition (321 ; 322), ledit procédé étant mis en œuvre dans un codeur/décodeur (100 ; 500) pour le codage/décodage d'un signal numérique, la trame de transition étant précédée d'une trame précédente (320) codée par prédiction, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif d'une unique sous-trame de la trame de transition, le procédé comportant les étapes suivantes :
- affectation (402 ; 405) d'un débit binaire pour le codage prédictif de la sous-trame de transition, ledit débit binaire étant égal au minimum entre le débit binaire du codage par transformée de la trame de transition et une première valeur prédéterminée de débit binaire ;
- détermination (404 ; 408) d'un premier nombre de bits alloués pour le codage prédictif de la sous- trame de transition pour ledit débit binaire ; et
- calcul (410) d'un deuxième nombre de bits alloués pour le codage par transformée de la trame de transition à partir du premier nombre de bits et d'un nombre de bits disponibles pour le codage de le trame de transition.
2. Procédé selon la revendication 1, dans lequel le codeur/décodeur (100 ; 500) comprend un premier cœur fonctionnant, pour le codage/décodage prédictif d'une trame de signal, à une première fréquence, et un deuxième cœur fonctionnant, pour le codage/décodage prédictif d'une trame de signal, à une deuxième fréquence,
dans lequel la première valeur prédéterminée de débit binaire dépend du cœur sélectionné parmi les premier et deuxième cœurs pour le codage/décodage de la trame précédente (320) codée par prédiction.
3. Procédé selon la revendication 2, lorsque le premier cœur a été sélectionné pour le codage/décodage de la trame précédente (320) codée par prédiction, le débit binaire affecté est en outre égal au maximum entre le débit binaire de la trame de transition (322) codée par transformée et au moins une deuxième valeur prédéterminée de débit binaire, la deuxième valeur étant inférieure à la première valeur.
4. Procédé selon l'une des revendications précédentes, dans lequel le signal numérique est décomposé en au moins une bande basse de fréquences et une bande haute de fréquences, dans lequel le premier nombre de bits calculé est affecté au codage prédictif de la sous-trame de transition (321) pour la bande basse de fréquences, et dans lequel un troisième nombre de bits prédéterminé est alloué à un codage de la sous-trame de transition pour la bande haute de fréquences,
et dans lequel le deuxième nombre de bits alloués pour le codage par transformée de la trame de transition (322) est déterminé en outre à partir du troisième nombre de bits prédéterminé.
5. Procédé selon la revendication 4, dans lequel le nombre de bits disponibles pour le codage de la trame de transition (321 ; 322) est fixe.
6. Procédé selon la revendication 5, dans lequel le deuxième nombre de bits est égal au nombre fixe de bits de codage de la trame de transition (321 ; 322) moins le premier nombre de bits moins le troisième nombre de bits.
7. Procédé selon la revendication 5, dans lequel le deuxième nombre de bits est égal au nombre fixe de bits de codage de la trame de transition (321 ; 322) moins le premier nombre de bits moins le troisième nombre de bits moins un premier bit moins un deuxième bit,
le premier bit indiquant si un filtrage passe -bas est effectué lors de la détermination des paramètres du codage prédictif de la sous-trame de transition, lesdits paramètres étant relatifs au délai tonal, le deuxième bit indiquant la fréquence utilisée par le cœur du codeur/décodeur pour le codage/décodage prédictif de la sous-trame de transition.
8. Procédé de codage d'un signal numérique dans un codeur (100) apte à coder des trames de signal selon un codage prédictif ou selon un codage par transformée, comportant les étapes suivantes :
* codage d'une trame précédente (301) d'échantillons du signal numérique selon un codage prédictif ;
* codage d'une trame courante (302) d'échantillons du signal numérique en une trame de transition (321 ; 322), le codage de la trame de transition (321 ; 322) comprenant un codage par transformée et un codage prédictif d'une unique sous-trame (321) de la trame de transition, ledit codage de la trame courante (302) comportant les sous-étapes suivantes :
- détermination (209) de la répartition des bits selon l'une des revendications précédentes ;
- codage par transformée (212) de la trame de transition (322) sur le deuxième nombre de bits alloués ;
- codage prédictif (213) de la sous-trame de transition (321) sur le premier nombre de bits alloués.
9. Procédé de codage selon la revendication 8, dans lequel le codage prédictif comprend la génération de paramètres de codage prédictif déterminés pour ledit débit binaire alloué.
10. Procédé de codage selon l'une des revendications 8 et 9, dans lequel le codage prédictif comprend la génération de paramètres de codage prédictif restreints par rapport au codage prédictif de la trame précédente (320) en réutilisant au moins un paramètre du codage prédictif de la trame précédente.
11. Procédé de décodage d'un signal numérique codé, mis en œuvre dans un décodeur (500) apte à décoder des trames de signal selon un codage prédictif ou selon un décodage par transformée, comportant les étapes de :
* décodage prédictif (605) d'une trame précédente d'échantillons du signal numérique codée selon un codage prédictif ;
* décodage d'une trame de transition (321 ; 322) codant une trame courante d'échantillons du signal numérique, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif d'une unique sous-trame (321) de la trame de transition, comportant les sous- étapes de :
- détermination (611) de la répartition des bits selon l'une des revendications 1 à 7 ;
- décodage prédictif (614) de la sous-trame de transition (321) sur le premier nombre de bits alloués ;
- décodage par transformée (612) de la trame de transition (322) sur le deuxième nombre de bits alloués.
12. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un processeur.
13. Dispositif de détermination d'une répartition de bits de codage d'une trame de transition (321; 322), ledit dispositif (104 ; 503) étant mis en œuvre dans un codeur/décodeur pour le codage/décodage d'un signal numérique, la trame de transition étant précédée d'une trame précédente (320) codée par prédiction, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif d'une unique sous-trame (321) de la trame de transition, le nombre de bits de codage de la trame de transition étant fixe, le dispositif comportant un processeur agencé pour effectuer les opérations suivantes :
- affectation d'un débit binaire pour le codage prédictif de la sous-trame de transition, ledit débit binaire étant égal au minimum entre le débit binaire du codage par transformée de la trame de transition et une première valeur prédéterminée de débit binaire, au ;
- détermination d'un premier nombre de bits alloués pour le codage prédictif de la sous- trame de transition pour ledit débit binaire; - calcul d'un deuxième nombre de bits alloués pour le codage par transformée de la trame de transition à partir du nombre de bits requis pour le codage des paramètres de codage et le nombre fixe de bits de codage de la trame de transition.
14. Codeur apte à coder des trames d'un signal numérique selon un codage prédictif ou selon un codage par transformée, comportant :
* un dispositif (104) selon la revendication 13 ;
* un codeur prédictif (103) comportant un processeur agencé pour effectuer les opérations suivantes :
- codage d'une trame précédente d'échantillons du signal numérique selon un codage prédictif ;
- codage prédictif d'une unique sous-trame comprise dans une trame de transition codant une trame courante d'échantillons du signal numérique, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif de ladite sous-trame, le processeur étant agencé pour effectuer le codage prédictif de la sous-trame de transition sur le premier nombre de bits alloués ;
* un codeur par transformée (105) comportant un processeur agencé pour effectuer l'opération de codage par transformée de la trame de transition sur le deuxième nombre de bits alloués.
15. Décodeur d'un signal numérique codé par un codage prédictif et par un codage par transformée, comportant :
* un dispositif (503) selon la revendication 13 ;
* un décodeur prédictif (504) comportant un processeur agencé pour effectuer les opérations suivantes :
- décodage prédictif d'une trame précédente (320) d'échantillons du signal numérique codée selon un codage prédictif ;
- décodage prédictif d'une unique sous-trame (321) comprise dans une trame de transition codant une trame courante d'échantillons du signal numérique, le codage de la trame de transition comprenant un codage par transformée et un codage prédictif de ladite sous-trame, le processeur étant agencé pour effectuer l'opération de décodage prédictif de la sous-trame de transition sur le premier nombre de bits alloués ;
* un décodeur par transformée (507) comportant un processeur agencé pour effectuer l'opération de décodage par transformée de la trame de transition (322) sur le deuxième nombre de bits alloués.
PCT/FR2015/052073 2014-07-29 2015-07-27 Détermination d'un budget de codage d'une trame de transition lpd/fd WO2016016566A1 (fr)

Priority Applications (9)

Application Number Priority Date Filing Date Title
ES15745542.9T ES2676832T3 (es) 2014-07-29 2015-07-27 Determinación de un presupuesto de codificación de una trama de transición LPD/FD
KR1020177005825A KR20170037660A (ko) 2014-07-29 2015-07-27 Lpd/fd 전이 프레임 인코딩의 예산 결정
CN202010879909.4A CN112133315B (zh) 2014-07-29 2015-07-27 确定用于编码lpd/fd过渡帧的预算
JP2017504670A JP6607921B2 (ja) 2014-07-29 2015-07-27 Lpd/fd移行フレームエンコードのためのバジェットの決定
CN201580044697.5A CN106605263B (zh) 2014-07-29 2015-07-27 确定用于编码lpd/fd过渡帧的预算
EP15745542.9A EP3175443B1 (fr) 2014-07-29 2015-07-27 Détermination d'un budget de codage d'une trame de transition lpd/fd
KR1020227015119A KR102485835B1 (ko) 2014-07-29 2015-07-27 Lpd/fd 전이 프레임 인코딩의 예산 결정
US15/329,671 US10586549B2 (en) 2014-07-29 2015-07-27 Determining a budget for LPD/FD transition frame encoding
US16/775,569 US11158332B2 (en) 2014-07-29 2020-01-29 Determining a budget for LPD/FD transition frame encoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1457353 2014-07-29
FR1457353A FR3024581A1 (fr) 2014-07-29 2014-07-29 Determination d'un budget de codage d'une trame de transition lpd/fd

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/329,671 A-371-Of-International US10586549B2 (en) 2014-07-29 2015-07-27 Determining a budget for LPD/FD transition frame encoding
US16/775,569 Continuation US11158332B2 (en) 2014-07-29 2020-01-29 Determining a budget for LPD/FD transition frame encoding

Publications (1)

Publication Number Publication Date
WO2016016566A1 true WO2016016566A1 (fr) 2016-02-04

Family

ID=51894138

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2015/052073 WO2016016566A1 (fr) 2014-07-29 2015-07-27 Détermination d'un budget de codage d'une trame de transition lpd/fd

Country Status (8)

Country Link
US (2) US10586549B2 (fr)
EP (1) EP3175443B1 (fr)
JP (1) JP6607921B2 (fr)
KR (2) KR20170037660A (fr)
CN (2) CN112133315B (fr)
ES (1) ES2676832T3 (fr)
FR (1) FR3024581A1 (fr)
WO (1) WO2016016566A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019056107A1 (fr) * 2017-09-20 2019-03-28 Voiceage Corporation Procédé et dispositif d'attribution d'un budget binaire entre des sous-trames dans un codec celp

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3024581A1 (fr) * 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd
BR112017010911B1 (pt) * 2014-12-09 2023-11-21 Dolby International Ab Método e sistema de decodificação para ocultar erros em pacotes de dados que devem ser decodificados em um decodificador de áudio baseado em transformação de cosseno discreto modificado
CN111402908A (zh) * 2020-03-30 2020-07-10 Oppo广东移动通信有限公司 语音处理方法、装置、电子设备和存储介质
CN111431947A (zh) * 2020-06-15 2020-07-17 广东睿江云计算股份有限公司 一种云桌面客户端优化显示的方法及***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012085451A1 (fr) 2010-12-23 2012-06-28 France Telecom Codage de son à bas retard alternant codage prédictif et codage par transformée

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2247741T3 (es) * 1998-01-22 2006-03-01 Deutsche Telekom Ag Metodo para conmutacion controlada por señales entre esquemas de codificacion de audio.
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US6804218B2 (en) * 2000-12-04 2004-10-12 Qualcomm Incorporated Method and apparatus for improved detection of rate errors in variable rate receivers
DE60222445T2 (de) * 2001-08-17 2008-06-12 Broadcom Corp., Irvine Verfahren zum verbergen von bitfehlern für die sprachcodierung
CA2365203A1 (fr) * 2001-12-14 2003-06-14 Voiceage Corporation Methode de modification de signal pour le codage efficace de signaux de la parole
US6647366B2 (en) * 2001-12-28 2003-11-11 Microsoft Corporation Rate control strategies for speech and music coding
US7937271B2 (en) * 2004-09-17 2011-05-03 Digital Rise Technology Co., Ltd. Audio decoding using variable-length codebook application ranges
US7630902B2 (en) * 2004-09-17 2009-12-08 Digital Rise Technology Co., Ltd. Apparatus and methods for digital audio coding using codebook application ranges
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
FR2897733A1 (fr) * 2006-02-20 2007-08-24 France Telecom Procede de discrimination et d'attenuation fiabilisees des echos d'un signal numerique dans un decodeur et dispositif correspondant
JP5166425B2 (ja) * 2006-10-24 2013-03-21 ヴォイスエイジ・コーポレーション 音声信号中の遷移フレームの符号化のための方法およびデバイス
KR100848324B1 (ko) * 2006-12-08 2008-07-24 한국전자통신연구원 음성 부호화 장치 및 그 방법
CN101206860A (zh) * 2006-12-20 2008-06-25 华为技术有限公司 一种可分层音频编解码方法及装置
CN101025918B (zh) * 2007-01-19 2011-06-29 清华大学 一种语音/音乐双模编解码无缝切换方法
CN100578619C (zh) * 2007-11-05 2010-01-06 华为技术有限公司 编码方法和编码器
DE602008005250D1 (de) * 2008-01-04 2011-04-14 Dolby Sweden Ab Audiokodierer und -dekodierer
CN101261836B (zh) * 2008-04-25 2011-03-30 清华大学 基于过渡帧判决及处理的激励信号自然度提高方法
EP2144171B1 (fr) * 2008-07-11 2018-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encodeur et décodeur audio pour coder et décoder des trames d'un signal audio échantillonné
CA2730315C (fr) * 2008-07-11 2014-12-16 Jeremie Lecomte Encodeur et decodeur audio pour encoder des trames de signaux audio echantillonnes
CN102089811B (zh) * 2008-07-11 2013-04-10 弗朗霍夫应用科学研究促进协会 用于编码和解码音频样本的音频编码器和解码器
KR101315617B1 (ko) * 2008-11-26 2013-10-08 광운대학교 산학협력단 모드 스위칭에 기초하여 윈도우 시퀀스를 처리하는 통합 음성/오디오 부/복호화기
KR101622950B1 (ko) * 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
US8892427B2 (en) * 2009-07-27 2014-11-18 Industry-Academic Cooperation Foundation, Yonsei University Method and an apparatus for processing an audio signal
CA2777073C (fr) * 2009-10-08 2015-11-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Decodeur de signal audio multimode, codeur de signal audio multimode, procedes et programme informatique utilisant une mise en forme de bruit basee sur un codage a prediction lineaire
MX2012004648A (es) * 2009-10-20 2012-05-29 Fraunhofer Ges Forschung Codificacion de señal de audio, decodificador de señal de audio, metodo para codificar o decodificar una señal de audio utilizando una cancelacion del tipo aliasing.
BR112012009490B1 (pt) * 2009-10-20 2020-12-01 Fraunhofer-Gesellschaft zur Föerderung der Angewandten Forschung E.V. ddecodificador de áudio multimodo e método de decodificação de áudio multimodo para fornecer uma representação decodificada do conteúdo de áudio com base em um fluxo de bits codificados e codificador de áudio multimodo para codificação de um conteúdo de áudio em um fluxo de bits codificados
CN102222505B (zh) * 2010-04-13 2012-12-19 中兴通讯股份有限公司 可分层音频编解码方法***及瞬态信号可分层编解码方法
WO2012002768A2 (fr) * 2010-07-01 2012-01-05 엘지전자 주식회사 Procédé et dispositif de traitement de signal audio
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame
KR101698905B1 (ko) * 2011-02-14 2017-01-23 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 정렬된 예견 부를 사용하여 오디오 신호를 인코딩하고 디코딩하기 위한 장치 및 방법
CN102737636B (zh) * 2011-04-13 2014-06-04 华为技术有限公司 一种音频编码方法及装置
FR2977439A1 (fr) * 2011-06-28 2013-01-04 France Telecom Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
KR102078865B1 (ko) * 2011-06-30 2020-02-19 삼성전자주식회사 대역폭 확장신호 생성장치 및 방법
FR2981781A1 (fr) * 2011-10-19 2013-04-26 France Telecom Codage hierarchique perfectionne
KR20140085453A (ko) * 2011-10-27 2014-07-07 엘지전자 주식회사 음성 신호 부호화 방법 및 복호화 방법과 이를 이용하는 장치
WO2013141638A1 (fr) * 2012-03-21 2013-09-26 삼성전자 주식회사 Procédé et appareil de codage/décodage de haute fréquence pour extension de largeur de bande
CN103915100B (zh) * 2013-01-07 2019-02-15 中兴通讯股份有限公司 一种编码模式切换方法和装置、解码模式切换方法和装置
CN105378835B (zh) * 2013-02-20 2019-10-01 弗劳恩霍夫应用研究促进协会 使用依赖瞬态位置的重叠对音频信号编码或译码的设备及方法
EP2980797A1 (fr) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Décodeur audio, procédé et programme d'ordinateur utilisant une réponse d'entrée zéro afin d'obtenir une transition lisse
FR3024581A1 (fr) * 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012085451A1 (fr) 2010-12-23 2012-06-28 France Telecom Codage de son à bas retard alternant codage prédictif et codage par transformée

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Wideband coding of speech at around 16 kbit/s using Adaptive Multi-Rate Wideband (AMR-WB); G.722.2 (01/02)", ITU-T STANDARD, INTERNATIONAL TELECOMMUNICATION UNION, GENEVA ; CH, no. G.722.2 (01/02), 13 January 2002 (2002-01-13), pages 1 - 72, XP017463525 *
J. LECOMTE ET AL.: "Efficient cross-fade windows for transitions between LPC-based and non-LPC based audio coding", 126TH AES CONVENTION, 7 May 2009 (2009-05-07)
M. NEUENDORF ET AL.: "A Novel Scheme for Low Bitrate Unified Speech and Audio Coding - MPEG RMO", 126TH AES CONVENTION, 7 May 2009 (2009-05-07)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019056107A1 (fr) * 2017-09-20 2019-03-28 Voiceage Corporation Procédé et dispositif d'attribution d'un budget binaire entre des sous-trames dans un codec celp
RU2754437C1 (ru) * 2017-09-20 2021-09-02 Войсэйдж Корпорейшн Способ и устройство для распределения битового бюджета между подкадрами в celp-кодеке
US11276412B2 (en) 2017-09-20 2022-03-15 Voiceage Corporation Method and device for efficiently distributing a bit-budget in a CELP codec
US11276411B2 (en) 2017-09-20 2022-03-15 Voiceage Corporation Method and device for allocating a bit-budget between sub-frames in a CELP CODEC

Also Published As

Publication number Publication date
CN112133315B (zh) 2024-03-08
CN106605263A (zh) 2017-04-26
JP2017527843A (ja) 2017-09-21
EP3175443B1 (fr) 2018-04-11
US10586549B2 (en) 2020-03-10
JP6607921B2 (ja) 2019-11-20
US20180182408A1 (en) 2018-06-28
FR3024581A1 (fr) 2016-02-05
KR20170037660A (ko) 2017-04-04
ES2676832T3 (es) 2018-07-25
KR102485835B1 (ko) 2023-01-09
US20200168236A1 (en) 2020-05-28
KR20220066412A (ko) 2022-05-24
EP3175443A1 (fr) 2017-06-07
CN112133315A (zh) 2020-12-25
CN106605263B (zh) 2020-11-27
US11158332B2 (en) 2021-10-26

Similar Documents

Publication Publication Date Title
EP1905010B1 (fr) Codage/décodage audio hiérarchique
EP1907812B1 (fr) Procede de commutation de debit en decodage audio scalable en debit et largeur de bande
EP2277172B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
RU2584463C2 (ru) Кодирование звука с малой задержкой, содержащее чередующиеся предсказательное кодирование и кодирование с преобразованием
EP2104936B1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard
EP3175443B1 (fr) Détermination d&#39;un budget de codage d&#39;une trame de transition lpd/fd
WO2015197989A1 (fr) Ré-échantillonnage par interpolation d&#39;un signal audio pour un codage /décodage à bas retard
CA2512179C (fr) Procede de codage et de decodage audio a debit variable
EP3175444B1 (fr) Gestion de la perte de trame dans un contexte de transition fd/lpd
EP2080195A1 (fr) Synthèse de blocs perdus d&#39;un signal audionumérique, avec correction de période de pitch
EP1047045A2 (fr) Matériel sain etméthode de synthesisation
EP3069340B1 (fr) Transition d&#39;un codage/décodage par transformée vers un codage/décodage prédictif
FR2977439A1 (fr) Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
EP3138095A1 (fr) Correction de perte de trame perfectionnée avec information de voisement
WO2010040937A1 (fr) Codage a echantillonnage critique avec codeur predictif
EP2589045B1 (fr) Codage/décodage prédictif linéaire adaptatif
FR2911227A1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard
FR2737360A1 (fr) Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes
FR2830970A1 (fr) Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole
FR2980620A1 (fr) Traitement d&#39;amelioration de la qualite des signaux audiofrequences decodes

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15745542

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015745542

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017504670

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15329671

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20177005825

Country of ref document: KR

Kind code of ref document: A