WO2014064379A1 - Detection d'une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions - Google Patents

Detection d'une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions Download PDF

Info

Publication number
WO2014064379A1
WO2014064379A1 PCT/FR2013/052516 FR2013052516W WO2014064379A1 WO 2014064379 A1 WO2014064379 A1 WO 2014064379A1 FR 2013052516 W FR2013052516 W FR 2013052516W WO 2014064379 A1 WO2014064379 A1 WO 2014064379A1
Authority
WO
WIPO (PCT)
Prior art keywords
band
subband
sub
decision
audio content
Prior art date
Application number
PCT/FR2013/052516
Other languages
English (en)
Inventor
Claude Lamblin
Balazs Kovesi
Arnault Nagle
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
Publication of WO2014064379A1 publication Critical patent/WO2014064379A1/fr

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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/69Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals
    • 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/0204Speech 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 subband decomposition
    • G10L19/0208Subband vocoders

Definitions

  • the present invention relates generally to digital sound signal processing. These sound signals are intended to take place in applications for transmission or storage of multimedia signals such as audio signals (speech and / or sounds).
  • the present invention relates more particularly to signals encoded according to a pulse modulation type waveform coding method.
  • coded signals come from a frequency sub-band coding, the sub-bands being coded by a possibly adaptive PCM (Impulse and Coding Modulation) type of technology MICA (Impulse Modulation and Adaptive Coding) or adaptive differential ADPCM ( Pulsed Modulation and Adaptive Differential Coding) or differential MICD (Pulse Modulation and Differential Coding).
  • PCM Impulse and Coding Modulation
  • MICA Impulse Modulation and Adaptive Coding
  • ADPCM Pulsed Modulation and Adaptive Differential Coding
  • MICD Pulsed Modulation and Adaptive Differential Coding
  • Narrow band WB (for "wideband" in 50-7000 kHz 16 kHz
  • the sampling frequency Fe of an analog signal must be at least greater than twice the maximum frequency contained in this signal.
  • the High Definition Voice - "HD Voice” or WB - consists in extending the frequency band to the so-called wideband band [50 Hz, 7000 Hz].
  • the HD voice aims to provide a quality and listening comfort unknown so far on conventional telephone networks. Its benefits for users are on the one hand functional; the widening of the frequency band increasing intelligibility, listening comfort favoring long conversations; but also emotional. The rendering of most of the spectrum of speech ensures indeed the fidelity of the voice and a real sensation of presence.
  • the voice "super-HD" or SWB or "Hifi" or FB is considered.
  • HD Voice requires an end-to-end compatible communication chain, ie from the microphone to the listener of the remote terminal. It is based on coding formats that guarantee broadband quality and that, being standardized, ensure interoperability between the different elements of the chain. In the telecommunications industry, two formats are used: the ITU-T G.722 encoder described for example in ITU-T G.722, 7 kHz audio-coding within 64 kbit / s, Nov.
  • Transcoding is necessary when in a transmission chain, a compressed signal frame emitted by an encoder can no longer continue in this format. Transcoding makes it possible to convert this frame into another format compatible with the rest of the transmission chain.
  • the most basic solution (and the most common at the moment) is the end-to-end addition of a decoder and an encoder.
  • the compressed frame comes in a first format, it is uncompressed. This decompressed signal is then compressed again in a second format accepted later in the communication chain. This cascading of a decoder and an encoder is called a tandem.
  • an enlarged band encoder may be required to encode a more restricted band audio content than the enlarged band.
  • the content to be encoded by the fixed HD (G.722) encoder although sampled at 16 kHz, may only be in a telephone band because previously encoded by a narrowband encoder (such as the ITU-T G. standard). 711). It is also possible that the limited quality of the acoustics of the transmitting terminal can not cover the entire enlarged band.
  • the audio band of an encoder-encoded stream operating on sampled signals at a given sampling frequency may be much narrower than that supported by the encoder.
  • the knowledge of the audio band (frequency band of the audio signal) of a content to be processed is useful or even necessary.
  • the "HD Voice” could be seen as a set of “islands” connected to each other by TDM ("Time Division Multiplexing") bridges.
  • TDM Time Division Multiplexing
  • IP links between the networks of fixed or mobile operators now makes it possible to pass coded audio streams (narrowband, broadband, ...) on the interconnection link, and changes in the negotiation processes of encoded and their support on the signaling equipment allow an optimal selection of encoders.
  • the fixed user who is not generally subject to an evolution of audio quality during a fixed-fixed call (even in case of network disturbances such as packet loss or jitter) can now feel a band change caused for example by a cell change or "HandOver" in English, on the side of the mobile user, as illustrated below.
  • FIG. 1 gives the example of an HD communication between a fixed user UE1 with an HD terminal using the G.722 coder and a mobile user UE2 with an HD terminal which is initially under 3G coverage using the AMR coder -WB and in a second time, is in mobility and is passed on a network 2G.
  • the communication between the UE2 and UE1 users is carried out via the mobile network (Mob.Net) and then the MGW gateway of the mobile network controlled by the MGCF entity (for "Mobile Gateway Controller Function").
  • the Session Border Controller (SBC) serves as an interface for communication between the mobile core represented by the MGCF and MGW entities and the interconnection network (IP Inter.). Interconnection makes it possible to make the IP link between the mobile and fixed communication networks.
  • the communication passes through the fixed network side SBC which transmits the signaling (SIP-I) and protocol (RTP) data respectively to the call server CS ("Call server") and to the MGW gateway of the fixed network.
  • the communication passes to the user UE1 via the fixed network of an operator (Fix.Op.) using the SIP signaling protocol and the RTP media transport protocol.
  • the MGW and SBC entities described herein can perform transcoding operations when the codecs between the two networks are different, as illustrated here between the AMR-WB type code and the G.722 type code.
  • the coder used on the 2G side is a narrow band 2G coder (for example the FR AMR coder for "Full Rate Adaptive Multi rate" in English described in the document "3GPP TS 26.090 Vil.0.0 (2012-09) 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Mandatory Speech Coded Speech Processing Functions; Adaptive Multi-Rate (AMR) Speech Coded; Transcoding Functions (Release 11) "and Extended Bandwidth Quality or HD is lost for both UE1 & UE2 users.
  • FR AMR coder for "Full Rate Adaptive Multi rate" in English described in the document "3GPP TS 26.090 Vil.0.0 (2012-09) 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Mandatory Speech Coded Speech Processing Functions; Adaptive Multi-Rate (AMR) Speech Coded; Transcoding Functions (Release 11) "and Extended Bandwidth Quality or HD is lost for both UE1 &
  • the encoder chosen to access voicemail (VM for "Voicemail” in English) is potentially G.722.
  • the user A connected to the voicemail using the G.722 coder his message is stored for example by concatenating the received frames and adding a header.
  • the user B knowing that a message is available will then connect to G.722 if this is possible (it depends on the HD character or not of his terminal) to listen to his message.
  • KPI Key Performance Indicator
  • Detection of the audio band generally uses a spectral analysis of the digital signal.
  • a spectral analysis of the digital signal By way of example, mention may be made of the 16 kHz oversampled narrow-band content detection method of the 3GPP2 VMR-WB codec.
  • FFTs Fast Fourier Transforms
  • X j ⁇ k are the real and imaginary parts of the FFT spectrum.
  • a detection algorithm is applied to detect such signals. It consists of testing the level of smoothed energy in the last two bands.
  • transforms such as MDCT can be used to perform the spectral analysis and determine the audio band of a signal. It is also possible to use filtering in several bands. These methods evaluate energy in different frequency bands. This is also the case for the detection methods of the audio band in the coded domain.
  • the coded stream indeed comprises coded spectral coefficients, such as, for example, the MDCT coefficients in the MP3 encoder.
  • coded spectral coefficients such as, for example, the MDCT coefficients in the MP3 encoder.
  • the methods for detecting the audio frequency band of a digital state-of-the-art signal rely primarily on frequency analysis of the signal spectrum. It has been seen that when the bit stream of the coded audio content contains parameters representative of the spectral information (such as FFT or MDCT transform coefficients), the detection of the audio band in the coded content advantageously exploits the spectral information contained. in the encoded bitstream by not completely decoding the signal. This significantly reduces the complexity of detection by eliminating the expensive operations required for full decoding and spectral analysis.
  • the decoded signal is not available. It is then necessary to add to the complexity of the time-frequency transform and to the detection of the audio band from the energies per band, the complexity of the decoding of a large number of messages. This solution also increases the delay.
  • the present invention improves the situation.
  • Such a method makes it possible to identify, with a low cost of calculations, whether the audio frequency band of a content previously encoded by a pulse-modulation type sub-band encoder (for example MIC or ADPCM) whose bit stream has no spectral information on the audio content, is more restricted or not than the audio frequency band in which such an encoder operates.
  • a pulse-modulation type sub-band encoder for example MIC or ADPCM
  • the method as described avoids the complete decoding of the full-band signal and even the decoding of the signal by subbands.
  • the frequency subband determination of non-coded parameters representative of the audio content from a corresponding estimated signal makes it possible to use encoders which do not have spectral information in their bit stream.
  • Subband operation further adds the possibility of performing this detection only on a predetermined set of subbands, further reducing the processing complexity of the method.
  • the subband determination step of an estimated signal comprises the following steps for a current sample:
  • This signal thus estimated is very representative of the coded audio content and makes it easy to determine representative parameters of this audio content.
  • an uncoded parameter determined from the estimated signal for a subband is a standard of the estimated signal in that subband.
  • a determined uncoded parameter is a ratio between the maximum value and the minimum value of the estimated signal for a subband.
  • This type of parameter is also representative of the audio content in the corresponding subband.
  • a local criterion is calculated from parameters determined for a single sub-band.
  • the criterion is then considered as a single-band criterion. Only one sub-band is sufficient to determine this criterion.
  • a local criterion is calculated from parameters determined for a plurality of subbands.
  • the criterion is then considered as a multiband criterion dependent on at least two subbands. This makes it possible to take into account the neighboring sub-bands and to increase the reliability of detection. This makes it possible to increase the robustness of the detection to the level variations of the coded contents.
  • the local criterion is a distance between a parameter of at least one sub-band and a predetermined threshold.
  • a global decision step is implemented by smoothing the result of said step of local decision and K previous results of local decisions, relating to K sample blocks preceding the current block.
  • the method further comprises a step of detecting voice activity from the determined non-coded parameters, by sample block and frequency subbands of the audio content and application of the steps of calculating second criteria and decision on the sample blocks for which voice activity has been detected.
  • the present invention is directed to a device for detecting a predetermined frequency band in an audio content coded according to a pulse modulation type sub-band coding for which the resulting bit stream has no spectral information.
  • the device comprises:
  • a decision module for the presence of a predetermined frequency band in at least one subband of the audio content according to the at least one calculated local criterion.
  • This device has the same advantages as the method described above, which it implements.
  • the invention also relates to a communication terminal and a server comprising the device as described.
  • It relates to a computer program comprising code instructions for the implementation of the steps of the detection method as described, when these instructions are executed by a processor.
  • the invention relates to a storage medium, readable by a processor, integrated or not to the detection device, possibly removable, storing a computer program implementing a detection method as described above.
  • FIG. 1 previously described illustrates an example of a high definition communication that can evolve towards a restricted frequency band communication following a cell change of a mobile user for which the implementation of the method according to the invention would be appropriate. ;
  • FIG. 2 illustrates a detection device according to one embodiment of the invention receiving an encoded audio content and delivering information on the presence of a predetermined frequency band, this information being able to be used for a high definition application;
  • FIG. 3 illustrates a flowchart showing the main steps of the detection method according to one embodiment of the invention
  • FIG. 4 illustrates a G.722 type encoder delivering a bit stream that does not include spatial information and from which the detection method according to one embodiment of the invention can be implemented
  • FIGS. 5a and 5b illustrate a flowchart representing the steps of the method according to the invention in an implementation on a signal encoded according to a G.722 type encoder;
  • Fig. 6 illustrates a flow chart showing the steps of detecting a voice activity in encoded audio content that can be implemented in one embodiment of the invention.
  • FIGS. 7a and 7b illustrate material representations respectively of a communication terminal and of a server each comprising the detection device according to examples of implementation of the invention.
  • FIG. 2 represents a detection device 200 in an exemplary embodiment of the invention. This device implements the method of detecting a predetermined frequency band in an audio content as described with reference to FIG. 3 by the steps E301 to E304.
  • This device can be associated with an audio decoder so as to detect an audio frequency band in content received before decoding. It can also be independent of the decoder so as to read the coded audio signal and detect there a frequency band.
  • This device can be contained in a fixed or mobile communication terminal with or without an audio decoder, it can be integrated with a server or an element of the transmission chain between the encoder and the decoder, it can for example be integrated to a mail server.
  • this device comprises a processor 230 cooperating with a memory block BM having a memory storage and / or work MEM.
  • the processor controls processing modules able to implement the method according to the invention.
  • this device comprises a module 201 for determining, by frequency subband, a predetermined set of subbands, an estimated signal from a bit stream obtained after a pulse modulation coding, a module 202 of frequency subband determination of the predetermined set of sub-bands, of non-coded parameters representative of the audio content, from the corresponding estimated signal, a module 203 for calculating at least one local criterion from the determined parameters and a decision module 204 for the presence of a predetermined frequency band in at least one subband of the audio content, according to the at least one calculated local criterion.
  • the memory block can advantageously comprise a computer program (prog.) Comprising code instructions for implementing the steps of the method of detection in the sense of the invention, when these instructions are executed by the processor PROC and in particular the steps of determination by frequency subband of a predetermined set of sub-bands, of an estimated signal from the bit stream, method for determining, by frequency subband, the predetermined set of sub-bands of non-coded parameters representative of the audio content, from the corresponding estimated signal, of calculation of at least one local criterion from the determined and decision parameters as to the presence of a predetermined frequency band in at least one subband of the audio content according to the at least one calculated local criterion.
  • a computer program Comprising code instructions for implementing the steps of the method of detection in the sense of the invention, when these instructions are executed by the processor PROC and in particular the steps of determination by frequency subband of a predetermined set of sub-bands, of an estimated signal from the bit stream, method for determining, by frequency subband, the predetermined set of
  • FIG. 3 shows the steps of an algorithm of such a computer program.
  • the computer program can also be stored on a memory medium readable by a reader of the device or downloadable in the memory space thereof.
  • the memory MEM generally records all the data necessary for the implementation of the detection method.
  • detection of a predetermined frequency band in audio content can be used in many applications.
  • the device 200 also comprises an input module E adapted to receive a bit stream I (n) generated by a pulse-modulation type sub-band encoder 210 such as a MIC or ADPCM encoder. It also comprises an output module S adapted to transmit the decision BW as to the presence of a predetermined frequency band to a device 220 implementing a high definition application such as those described above.
  • a pulse-modulation type sub-band encoder 210 such as a MIC or ADPCM encoder.
  • S adapted to transmit the decision BW as to the presence of a predetermined frequency band to a device 220 implementing a high definition application such as those described above.
  • the subband encoder 210 initially shares the audio signal x (n) in M frequency subbands using a filterbank.
  • QMF quadrature mirror filters
  • An exemplary encoder 210 of the G.722 type, is also described later with reference to FIG. 4.
  • a bit stream I (n) is generated by this encoder 210. It will be recalled that this encoder is a subband encoder, the subbands being encoded by an optionally adaptive PCM (pulse modulation and coding) type of technology (FIG. Pulsed Modulation and Adaptive Coding) or Adaptive Differential ADPCM (Pulse Modulation and Adaptive Differential Coding) or Differential PIMD (Pulse Modulation and Differential Coding).
  • the bit stream I (n) has only quantization indices and does not include spectral information on the audio signal x (n).
  • the module 201 of the detection device 200 implements the step E301 of FIG. 3 to determine, by frequency subband, a predetermined set of frequency subbands, a signal estimated from this bit stream. .
  • the module 201 performs the steps of obtaining an adaptation parameter associated with the quantization index for a current sample n and calculates an estimated signal for the current sample from this adaptation parameter thus determined, the signal estimated for the preceding sample and a predefined forgetting factor.
  • An exemplary embodiment of such a technique for determining an estimated signal is described in the French patent application FR 11 52596.
  • sub-bands coded by logarithmic PCM technology such as G.711 A-law coding
  • This estimated signal is representative of the audio content that has been encoded.
  • the predetermined set of sub-bands that is to say the sub-bands considered to estimate these representative signals and their number M, depend on the application that will be implemented by the module 220. These sub-bands bands can even evolve over time for the same application.
  • the module 202 implements the step E302 for determining uncoded parameters representative of the audio content.
  • These parameters p (i) are determined by frequency subband of the predetermined set of subbands, from the estimated signal in the corresponding subbands. Several types of parameters can be calculated. Some examples are given below.
  • a parameter can be determined for example from a standard of the estimated signal (or a power of this standard). Such parameters are given below for a band / data (0 ⁇ i ⁇ M):
  • Standardized versions can also be used, such as:
  • the same parameter is calculated for different sub-bands.
  • a parameter may be computed only on a smaller number (possibly restricted to a single subband) of subbands.
  • step E303 is implemented by module 203 to calculate at least one local criterion.
  • This local criterion can be calculated from parameters of a single subband or parameters calculated on more than one subband. To distinguish these two categories of criteria we name them according to the number of subbands taken into account during the calculation, single-band criterion and multi-band criterion.
  • a single-band criterion uses a "distance" between a parameter p (i) of a subband / and a thresh threshold m (i). This threshold may or may not be adaptive and may depend on the subband considered. We then denote d (i) the single-band criterion such that:
  • this "distance” is the simple difference between the parameter p (/) and this threshold:
  • these single-band criteria can be defined by the equations below, on the subbands / and j, (Q ⁇ /, J ⁇ M):
  • a multi-band criterion compares parameters calculated on at least two sub-bands - for example, a parameter p (i) of a subband / and a parameter q (j) of a subband
  • a threshold T res M (i) - adaptive or not - and possibly depending on the subbands considered can be used.
  • these multiband criteria can be defined by the equations below, on the subbands / and j, (Q ⁇ /, J ⁇ M):
  • a "distance" dist th is a simple difference between a threshold and a distance dist p between parameters of at least two subbands.
  • the distance dist p between parameters of at least two subbands can use ratios between parameters. For example, in the case of a "distance" between parameters of two sub-bands:
  • the step E304 is implemented by the module 204.
  • a local decision (“instantaneous”, denoted dec TM s r t ) is taken by detecting if the encoded audio content has frequencies in at least one subband.
  • the audio content comprises frequencies in the sub-bands / such that, i th ⁇ i, where i th is the index of the subband including the frequency F th . At least one of these subbands i is taken into consideration at the decision stage.
  • the decision is of course adapted and the sub-bands considered may be those which are below a threshold frequency for detecting a low frequency band or which are defined by frequencies framing this predetermined frequency band.
  • At least one local criterion is useful.
  • several criteria can be used alone or jointly.
  • the decision can be flexible or hard.
  • a hard decision is to compare at least one criterion to a threshold and to make a binary or predefined state decision on the presence of the frequency band in the subband.
  • a flexible decision consists in using the value of the criterion to define, according to an interval of predefined values, a greater or lesser probability of presence of the frequency band in the sub-band considered.
  • the method implements a series of intermediate steps described with reference to FIG. 6 to detect a type of content, for example a voice content, in order to perform the local detection only on the frames relevant, that is to say containing this type of content.
  • a type of content for example a voice content
  • the method according to the invention advantageously uses the parameters determined in E302 on the signals representative of the signals in sub-bands.
  • the final decision for a current block of samples depends not only on the local detection "instant" but also past detections. Starting from soft or hard local decisions by block, a global decision is taken on a number of K blocks preceding the current block. This number of K blocks is adjustable according to a compromise reliability of the decision / speed of the decision.
  • local detections can be smoothed over several blocks by a possibly slippery window.
  • the dependence of the current decision on past detections may also be a function of the reliability of the local decision. For example, if the local decision is deemed safe, the dependence of the current decision on past decisions can be minimized or even canceled.
  • FIG. 4 now describes such a type G.722 encoder.
  • This figure shows the schematic diagram of the G.722 encoder.
  • the subband division is done by a quadrature mirror filter (QMF) 401.
  • QMF quadrature mirror filter
  • From two input samples the QMF filter outputs a low band sample ( L ). 4000 Hz) and a sample x H (n) of high band (4000-8000 Hz).
  • the 2 subbands are independently coded by ADPCM encoders 402 and 403.
  • the G.722 coder has three bit rates: 64, 56 and 48 kbit / s. Each sample in the lower sub-band is coded on 6 bits at the highest bit rate (48 kbit / s), 5 bits at the intermediate bit rate (40 kbit / s), and 4 bits at the lowest bit rate (32 kbit / s) ). The upper band is always coded on 2 bits (16 kbit / s) per sample regardless of the bit rate.
  • the lowest bit rate prediction error (48 kbit / s including 32 kbit / s for the low band) is coded on 4 bits: 1 bit of sign and 3 bits to choose among the 8 possible amplitudes of the scalar quantizer.
  • I (n) the index on 3 bits to encode the amplitudes y (I (n)).
  • the bit stream of G.722 does not directly contain the 3 bits of the index I (n), but it can be easily deduced from the 4 bits extracted from the bit stream according to Table 2 below: 4 bits in the bit stream Sign I (n)
  • the decoded amplitude of the prediction error is decomposed into 2 parts: a constant part stored in ROM memory indexed by I (n), denoted y (I (n)), and a multiplicative adaptive factor called scale factor v (not).
  • a constant part stored in ROM memory indexed by I (n) denoted y (I (n))
  • scale factor v not
  • the 4-bit fixed quantizer (including 1 sign bit) in the lower G.722 band contains the following 8 amplitude values, given in Table 3.
  • the scale factor v (n) makes it possible to adapt the extent of the quantizer to the amplitude of the signal to be quantified sample by sample to ensure a good signal-to-noise ratio regardless of the level of the prediction error.
  • the adaptation is done in the following way: when to quantify the prediction error one uses one of the largest levels of the scalar quantizer one increases the value of the scale factor by multiplying it by a factor of adaptation M (I ( n)) greater than 1 to extend the quantizer a little more and thus avoid saturation of the quantizer.
  • the value of the scale factor is decreased by multiplying it by an adaptation factor M (I (n)) less than 1 to further narrow the quantizer and so better use its dynamics and get a good signal-to-noise ratio.
  • the value of the adaptation factor M (I (n)) therefore depends on the transmitted quantification index I (n), it is less than 1 if the index corresponds to a low quantified value (0, 0.037 and 0.079 in the example of the low sub-band of the G.722 coder) and greater than 1 for other values.
  • this adaptation is made in the logarithmic domain, by adding the logarithmic adaptation factor M L (I (n)) corresponding to the transmitted amplitude index I (n) to the logarithmic scale factor.
  • v L (n) Table 4 below gives the values of the adaptation factor in the logarithmic domain M L (I (n)) and linear M (I (n)) for the 8 possible levels.
  • Table 4 Values of the adaptation factor as a function of the amplitude index I (n) (3 bits) in the
  • v L (n) min (max (v L (n) + M L (I (n)), 0), 18432)
  • this adaptation is not made with the same value to the encoder and to the decoder, the encoder and the decoder are desynchronized. Using the previous equation this desynchronization would persist indefinitely. To ensure their resynchronization after a transmission error a forgetting factor is applied. In the case of the G.722 encoder this is a 0.9922 (32512 fixed-point Q15, 32512/32768) multiplication of the previous logarithmic scale factor:
  • v L (n) min (max (0.9922 * v L (n1) + M L (I (n1)), 0), 18432).
  • v (n) min (max (v (n)) 0 " 22 * M (I (n1)), 6), 4095).
  • the scale factor value follows the time envelope of the prediction error signal.
  • the energy of the prediction error depends on the energy of the signal to be coded and the prediction gain.
  • the prediction gain varies over time, depending on the signal to be encoded, the temporal envelope of the prediction error is approximately proportional to that of the signal to be encoded.
  • the scale factor value therefore also follows the time envelope of the signal. From the scale factor it is therefore possible to estimate certain parameters of the signal. This is particularly described in the aforementioned French patent application FR 11 52596 which describes a method for estimating the temporal envelope of a signal encoded by the ADPCM technology by using the bit stream derived from this coding to calculate uncoded parameters in the bitstream without decoding the signal.
  • the scaling factor is first updated in the logarithmic domain and then converted into the linear domain.
  • the same information can be obtained from both the logarithmic signal v L (n) and from the linear domain signal v (n). Since the transition from the logarithmic domain to the linear domain does not add any information, the method described in the patent application works in the logarithmic domain for reasons of less complexity.
  • G.722 usage configurations have been studied: the G.722 coding being in tandem after another WB encoder (in the example, this first coder is the AMR-WB mobile HD coder at different bit rates), or after NB encoder (with encoder G.711 as encoder).
  • the size of the blocks / Vest 80 (10 ms). Detection in the sense of the invention is therefore performed here every 10 ms.
  • a sliding window of 20 ms is used.
  • the window consists of the 10 ms current block and the previous 10 ms block.
  • instant and final decisions are hard decisions that can take three values: -1 no HD content detected, +1 HD content detected, and 0 for block detected as inactive.
  • FIGS. 5a and 5b more particularly describe the algorithm implemented for this embodiment.
  • step E501 from the / V indices l (n) contained in the bit stream for the current block, two signals are estimated, one for each sub-band.
  • these signals are scale factors in the logarithmic domain, bounded in a range [0, tf up , with tf up 0 - 18432 and ff up j - 22528, and to which a factor d is applied. forgetting, as for example in the G.722 codec.
  • step E502 from the signals estimated in the previous step which are representative of the signals in sub-bands, four parameters are determined:
  • n 0, ..., N-l
  • the previous block of 80 samples is also taken into account: the parameters then covering 20 ms - the 10 ms of the current block and the 10 ms of the previous block .
  • the four parameters for these 20 ms are calculated from the parameter sets of the current block and the previous block:
  • max, max "1 )
  • Ll t Ll ° + Ll
  • max 3 ⁇ 4 max (max °, max ⁇ 1 )
  • Ll h Ll ° h + Ll " 1 , where max "1 , Ll , max ⁇ 1 , Ll ⁇ 1 are the parameters of the previous block of 80 samples, these four parameters being initialized to zero.
  • the parameters over 20 ms from the two sets of parameters over 10 ms can be computed on 2 / V samples of the estimated signals (but this requires keeping in memory the two estimated signals of the previous block and doubles the complexity of calculating parameters).
  • step E503 the calculation of at least one local criterion is performed.
  • up to five criteria can be used: a single-band criterion and four multi-band criteria.
  • the single-band criterion is calculated in step E503 and the multiband criteria are calculated in step E510.
  • the single-band criterion calculates the difference between the maximum of the subband high max h and a threshold threshO m :
  • Two of the multi-band criteria use the parameter maximum two subbands low and high (maximum of the high band max h and maximum of the low band max) and make it possible to compare the ratio between these two parameters (max f jmax / ) to two thresholds - t res l M and t res 2 M t res l M ⁇ t res 2 ri ).
  • Two other multi-band criteria use the parameter L1 of the two low and high subbands ⁇ Ll h and Ll ⁇ ) and make it possible to compare the ratio between these two parameters ⁇ Ll f JLli) with two thresholds - t res 3 M and t res 4 M thresh3 M ⁇ thresh4 M ).
  • a division is very complex (cost of 18 according to the latest version of the ITU-T Software Tool Library (STL2009 in ITU-T G.191, "Software Tools for Speech and Audio Coding Standardization”). , March 2010), whereas a multiplication costs 1), rather than calculating a ratio of parameters and comparing it with a threshold ⁇ plq j - thresh M ), it is advantageous to calculate: p, -q thresh M.
  • Crit2 max h - thresh2 M * max /
  • the thresholds have been determined for example from the histograms of the distributions of the parameter max h and the parameter ratios max f jmax / and Ll f L1 / in the tested configurations.
  • the thresholds are fixed and equal to:
  • voice activity detection is performed to perform the NB / WB detection only on the relevant frames (frames considered as active).
  • the algorithm illustrated in FIG. 6 is then implemented after having obtained at least one local criterion CritO. This criterion will determine in the first place, the need to implement this voice detection.
  • CritO-0 ie, max h -0
  • the local decision for the current block is that it does not contain any extended band content (only possibly narrowband content) . This decision is also considered reliable.
  • the voice activity detection is not carried out on the current block (the frame is considered as active), the local detection procedure described later also, the local decision indicators decur and dec TM s r t are set to -1 in E506 (no HD content) and proceed to the "final" decision procedure in E531.
  • the voice activity detection (DAV) procedure is enabled.
  • this procedure uses parameters that are already calculated for audio band detection.
  • the criterion C tl VAD makes it possible to compare the ratio max / max h with the threshl threshold VAD (0.57) while the criterion Crit2 VAD makes it possible to compare the ratio L / L h with the threshold thresh2 VAD (0.57).
  • the voice activity detection procedure consists of the following steps:
  • the speech activity indicator allows you to discard certain sample blocks from the frequency band detection procedure. Indeed, if the voice activity indicator flag VAD is at 0 (N in step E507, no voice activity on the block), the local decision indicators dec ur and dec TM s r t are set to 0 in step E508, local detection on these blocks is not necessary and then the "final" decision procedure in E531 is passed. On the other hand, if the voice activity indicator flag VAD is at 1 (O at step E507), local ("instant") detection is performed from step E504.
  • the local decision is "hard”.
  • step E504 where an initialization step is performed:
  • Critl criteria crit2, crit2, Crit3 h max Critl- -threshl M max /, Crit2- max res t h 2 M max /, LI Crit3- pm -thresh3 M * L1 / , Crit4- Ll h -thresh4 M * L1) are calculated.
  • Steps E512 to E515 to define the f / ag indicators m and f / ag m is ⁇ is multi-band criteria Critl and crit2 calculated from the parameters max h max / and according Crit multiband criteria and Crit4 calculated from parameters Ll h and Ll t
  • flag flag NB (resp. Flagwe) is incremented if Crit1 (resp.Cit2) is negative (or positive):
  • Step E520 is then implemented to compute the instantaneous local decision based on the two audio flag flag indicators NB e ⁇ . flag W e-
  • the reliability of the local decision is considered low.
  • the local decision is a hard decision.
  • soft decisions may be used. For example, the decision may be equal to the difference ⁇ flag WB -flag NB ).
  • the final decision for the December cur current block depends not only on the local detection "instant" December ⁇ but also the reliability of the detection and instant past detections in December p n r e s v and final December prev.
  • the procedure of selection of the final decision aims to avoid too fast switching audio band detection (unlikely in the applications envisaged).
  • step E531 If not the step E531, if cur ⁇ December December TM s r t, then the decision determined by local detection procedure for the current block is not considered reliable. In this case we check in E532 if the instantaneous local detections of the current and previous block were identical.
  • the memories are updated - the data of the current block becoming those of the previous block:
  • max_ "1 , max ⁇ 1 , L ⁇ , LV ⁇ , dec prev , dec? TM and count rese t are initialized to zero.
  • FIG. 7a illustrates a summary representation of a TER communication terminal comprising a detection device DET1 such as the device 200 described with reference to FIG. 2.
  • This communication terminal can be a fixed or mobile telephone which can be implemented by example the app displaying an HD logo.
  • the communication terminal includes an INT interface conventionally comprising a keyboard, a screen, a microphone and a loudspeaker, a communication module COM1, a read-only memory MEM1 which comprises a coding module COD1 and a decoding module DECOD1.
  • the audio stream being decoded to restore the decoded signal advantageously the determination step for each of the two frequency subbands of a signal estimated from the bitstream may either recover the intermediate signals of this decoding or conversely, provide them to the decoder.
  • the coding and decoding modules are of the pulse modulation type (MIC, ADPCM, etc.).
  • the memory MEM1 or another memory of the terminal comprises the detection device DET1 described with reference to Figure 2 and implementing the detection method as described with reference to Figure 3.
  • the resulting audio band information of the detection method makes it possible to display an HD logo if necessary on the terminal screen to show the user if the frequency band used is a high definition frequency.
  • FIG. 7b illustrates a summary representation of a SER server comprising a detection device DET2 such as the device 200 described with reference to FIG. 2.
  • This server may be a messaging server for example to implement the application of FIG. indication of the number of calls placed in broadband on the mail server.
  • the server comprises a set of EBR message boxes, a communication module COM2, a read-only memory MEM2 which comprises a coding module COD2, a management module GES of the voice messages recorded in the inboxes of the set EBR supra.
  • the coding module is of the pulse modulation type (MIC, ADPCM, etc.).
  • the memory MEM2 or another memory of the terminal comprises the detection device DET2 described with reference to FIG. 2 and implementing the detection method as described with reference to FIG.
  • the audio band information of the detection method makes it possible to count the calls placed in the broadband band on the mail server without the decoding of these messages being necessary.

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)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

L'invention se rapporte à un procédé de détection d'une bande de fréquence prédéterminée dans un contenu audio codé selon un codage par sous-bandes de type modulation par impulsions pour lequel le flux binaire résultant ne comporte pas d'informations spectrales. Le procédé comporte les étapes suivantes: - détermination (E301) par sous-bande de fréquence d'un ensemble prédéterminé de sous-bandes, d'un signal estimé à partir du flux binaire; - détermination (E302) par sous-bande de fréquence de l'ensemble prédéterminé de sous-bandes de paramètres non codés représentatifs du contenu audio, à partir du signal estimé correspondant; - calcul (E303) d'au moins un critère local à partir des paramètres déterminés; - décision (E304) quant à la présence d'une bande de fréquence prédéterminée dans au moins une sous-bande du contenu audio en fonction du au moins un critère local calculé. L'invention se rapporte aussi à un dispositif de détection mettant en œuvre le procédé décrit, à un terminal de communication et à un serveur comportant le dispositif de détection.

Description

Détection d'une bande de fréquence prédéterminée dans un contenu audio codé par sous-bandes selon un codage de type modulation par impulsions
La présente invention se rapporte de manière générale aux traitements de signaux numériques sonores. Ces signaux sonores sont destinés à prendre place dans des applications de transmission ou de stockage de signaux multimédias tels que les signaux audio (parole et/ou sons).
La présente invention se rapporte plus particulièrement aux signaux codés selon une méthode de codage de forme d'onde de type modulation par impulsions.
Ces signaux codés proviennent d'un codage par sous-bandes de fréquence, les sous- bandes étant codées par une technologie de type MIC (Modulation par Impulsions et Codage) éventuellement adaptatif MICA (Modulation par Impulsions et Codage Adaptatif) ou différentiel adaptatif MICDA (Modulation par Impulsions et Codage Différentiel Adaptatif) ou différentiel MICD (Modulation par Impulsions et Codage Différentiel).
Dans le domaine de la téléphonie, on a connu de nombreuses évolutions comme le passage au numérique (commutation temporelle), la mobilité (avec l'arrivée du GSM), le couplage aux réseaux et les applications de données VoIP (pour voix sur IP ("Internet Protocol" en anglais)), etc..
Au cours de ces évolutions, la qualité audio intrinsèque des communications vocales est demeurée au mieux comparable à la qualité téléphonique habituelle du RTC (Réseau Téléphonique Commuté) et parfois dégradée par l'usage de débits de codage plus faibles ou par la qualité du réseau. Le spectre de fréquences vocales transmis sur les réseaux est resté limité à la bande [300 Hz, 3400 Hz] dite bande étroite. Cette limitation formalisée au début de la téléphonie numérique était justifiée par les contraintes techniques du moment. Cette bande étroite est suffisante pour comprendre son interlocuteur distant au moins en absence de perturbations. Mais elle est très loin de reproduire le spectre de la parole humaine [50 Hz, 12000 Hz] et altère par conséquent la qualité et la fidélité des voix. Des codées capables de compresser efficacement la voix sur une bande de fréquences plus grande sont maintenant de plus en plus répandus sur le marché. Ils permettent de transmettre la voix en qualité "Haute Définition" (HD) encodée sur une plage de fréquence double [50Hz-7kHz] (la bande élargie), voire "super HD" (jusqu'à 15kHz) ou même "Hifi" sur la totalité de la bande de fréquences audibles [20Hz-20kHz]. La table 1 ci-dessous donne quelques exemples des bandes audio avec les fréquences d'échantillonnage associées.
Nom Bande audio Fréquence
d'échantillonnage
NB (pour "narrowband" 300-3400 kHz 8 kHz
en anglais)
Bande étroite WB (pour "wideband" en 50-7000 kHz 16 kHz
anglais)
Bande élargie
SWB (pour "super- 50-14000 Hz 32 kHz
wideband" en anglais)
Bande super élargie
FB (pour "fullband" en 20- 2000 Hz 48 kHz
anglais)
Bande HiFi
Table 1
On rappelle ici que selon le théorème de Nyquist, la fréquence d'échantillonnage Fe d'un signal analogique doit au moins être supérieure au double de la fréquence maximale contenue dans ce signal.
Par rapport à la bande étroite NB, la Voix Haute Définition - «Voix HD» ou WB - consiste à étendre la bande de fréquence à la gamme [50 Hz, 7000 Hz] dite bande élargie. La voix HD vise à fournir une qualité et un confort d'écoute inconnus jusqu'à présent sur les réseaux téléphoniques classiques. Ses avantages pour les usagers sont d'une part fonctionnels; l'élargissement de la bande de fréquence accroissant l'intelligibilité, le confort d'écoute favorisant les conversations longues; mais également d'ordre émotionnel. Le rendu de la majeure partie du spectre de parole assure en effet la fidélité de la voix et une véritable sensation de présence. A terme, la voix "super-HD" ou SWB voire "Hifi" ou FB est envisagée.
La Voix HD requiert une chaîne de communication compatible de bout en bout, c'est- à-dire du microphone à l'écouteur du terminal distant. Elle s'appuie sur des formats de codage garantissant la qualité bande élargie et qui étant normalisés assurent l'interopérabilité entre les différents éléments de la chaîne. Dans l'industrie des télécommunications, deux formats sont employés: le codeur UIT-T G.722 décrit par exemple dans le document " Rec. ITU-T G.722, 7 kHz audio-coding within 64 kbit/s, Nov. 1988", pour les communications en bande élargie sur réseaux fixes et le codeur 3GPP AMR-WB décrit par exemple dans le document "3GPP TS 26.190 V10.0.0 (2011-03) 3rd Génération Partnership Project; Technical Spécification Group Services and System Aspects; Speech codée speech processing functions; Adaptive Multi-Rate - Wideband (AMR-WB) speech codée; Transcoding functions (Release 10)" pour celles sur réseaux mobiles. Schématiquement la mise sur le marché de la Voix HD fait appel à deux composantes. Il faut tout d'abord un réseau de télécommunication compatible avec les codeurs en bande élargie - autrement dit transparent à ces formats de codage - et à Qualité de Service garantie. Il faut aussi des terminaux qui embarquent le codeur bande élargie, inter-opèrent avec le réseau et dont les caractéristiques acoustiques préservent la qualité Voix HD.
Il existe de nombreuses méthodes de compression des signaux média pour réduire le débit tout en maintenant une bonne qualité. Pour les signaux audio, on peut citer les techniques MIC "Modulation par Impulsions et Codage" - en anglais PCM "Puise Code Modulation"- et ses variantes telles que l'ADPCM "Adaptive Differential PCM" (utilisée par le codée bande élargie G.722), les techniques par prédiction linéaire dont les codeurs CELP "Code Excited Linear Prédiction" (tel le codeur 3GPP AMR-WB) très utilisés en téléphonie mobile et les techniques par transformée fréquentielle telles celles du type MDCT "Modified Discrète Cosine Transformation" ou FFT (comme le codeur UIT-T G.722.1, ou les codeurs MPEG MP3, AAC, 0..).
La présence dans les chaînes de communication de différents formats de compression nécessite plusieurs codages en cascade (transcodage). Le transcodage est nécessaire lorsque dans une chaîne de transmission, une trame de signal compressée émise par un codeur ne peut plus poursuivre son chemin, sous ce format. Le transcodage permet de convertir cette trame sous un autre format compatible avec la suite de la chaîne de transmission. La solution la plus élémentaire (et la plus courante à l'heure actuelle) est la mise bout à bout d'un décodeur et d'un codeur. La trame compressée arrive sous un premier format, elle est décompressée. Ce signal décompressé est alors compressé à nouveau sous un second format accepté par la suite de la chaîne de communication. Cette mise en cascade d'un décodeur et d'un codeur, est appelée un tandem.
Il faut noter que lors d'un tandem, des codeurs codant des gammes de fréquence différentes peuvent être mis en cascade. Ainsi, un codeur bande élargie peut être amené à coder un contenu audio de bande plus restreinte que la bande élargie. Par exemple, le contenu à coder par le codeur HD fixe (G.722) bien qu'échantillonné à 16 kHz peut n'être qu'en bande téléphonique car codé précédemment par un codeur bande étroite (comme le standard UIT-T G.711). Il se peut aussi que la qualité limitée de l'acoustique du terminal émetteur ne permette pas de couvrir toute la bande élargie.
Il apparaît donc que la bande audio d'un flux codé par un codeur fonctionnant sur des signaux échantillonnés à une fréquence d'échantillonnage donnée peut être bien plus restreinte que celle supportée par le codeur. Or dans bien des applications, la connaissance de la bande audio (bande de fréquence du signal audio) d'un contenu à traiter est utile voire nécessaire.
Parmi ces applications, on peut citer de façon non exhaustive, la classification des signaux audio, la reconnaissance automatique de parole, la conversion de la parole au texte (en anglais STT "Speech To Text") d'émissions de radio ou de télévision contenant des passages en bande étroite, le tatouage numérique, l'analyse non intrusive de flux par des sondes placées sur le plan média dans les réseaux qui permettent notamment de détecter le changement de bande des contenus transportés et éventuellement la durée des dits contenus dans une bande donnée, etc....
Jusqu'à récemment, la «Voix HD» pouvait être vue comme étant un ensemble « d'îlots » reliés les uns aux autres par des « ponts » TDM (en anglais « Time Division Multiplexing »). Un appel entre deux réseaux mobiles «Voix HD» ou un appel entre un réseau mobile «Voix HD» et un réseau fixe «Voix HD» aboutissaient tous les deux, même avec les terminaux adéquats, à un appel possédant une qualité audio dite historique du fait de l'interface TDM (codeur bande étroite G.711).
La mise en place de liens IP entre les réseaux des opérateurs fixes ou mobiles permet dorénavant de faire passer des flux audio codés (bande étroite, bande élargie, ...) sur le lien d'interconnexion, et les évolutions des procédés de négociation de codées et leur support sur les équipements de signalisation permettent une sélection optimale de codeurs.
Ainsi, pour un appel mobile-mobile, il est maintenant possible d'avoir le codeur 3GPP AMR-WB de bout en bout aboutissant à une qualité «Voix HD». De même, pour un appel mobile-fixe, la négociation de codeur aboutit dorénavant à la sélection du codeur 3GPP AMR- WB sur le réseau mobile et en parallèle à la sélection du codeur UIT-T G.722 sur le réseau fixe. Malgré le transcodage nécessaire, soit dans les passerelles "Media Gateway" (MGW) en anglais, des dits réseaux soit dans leurs contrôleurs de session de périphérie appelés "Session Border Controller" (SBC) en anglais, la qualité audio résultante reste «Voix HD» et les utilisateurs finaux bénéficient totalement de tous les avantages induits. Ainsi, dans ce cas d'appel, l'utilisateur fixe, qui n'est généralement pas sujet à une évolution de qualité audio au cours d'un appel fixe-fixe (même en cas de perturbations réseau telle que la perte de paquet ou de la gigue) peut dorénavant ressentir un changement de bande provoqué par exemple par un changement de cellule ou "HandOver" en anglais, du côté de l'utilisateur mobile, tel que cela est illustré par la suite.
Deux autres applications sont détaillées ci-dessous:
- l'affichage sur un terminal fixe d'un logo "HD Voice" (pour "High définition voice" en anglais) tel que celui approuvé par la GSMA en août 2011 pour les réseaux et terminaux mobiles, et tel que décrit dans le document disponible à l'adresse internet http://www.gsmworld.com/, et
- l'indicateur de nombres d'appels déposés en bande élargie sur une messagerie vocale fixe. Pour ces deux types d'applications, la détection d'une bande de fréquence prédéterminée dans le signal audio, est recommandée.
Ainsi, comme évoqué précédemment, pour bénéficier d'une communication HD lors d'un appel fixe-mobile, les deux utilisateurs doivent chacun posséder un terminal HD, se trouver sur un réseau voix HD permettant de préserver cette voix HD (QoS garantie et pas de transcodage utilisant un codeur pivot en bande étroite) et évidemment le lien d'interconnexion doit permettre le transit de la Voix HD. La figure 1 donne l'exemple d'une communication HD entre un utilisateur fixe UE1 avec un terminal HD utilisant le codeur G.722 et un utilisateur mobile UE2 avec un terminal HD qui dans un premier temps est sous une couverture 3G utilisant le codeur AMR-WB et dans un deuxième temps, est en mobilité et est passé sur un réseau 2G.
La communication entre les utilisateurs UE2 et UE1 s'effectue par l'intermédiaire du réseau mobile (Mob. Net) puis de la passerelle MGW du réseau mobile contrôlée par l'entité MGCF (pour "Mobile Gateway Controller Function" en anglais). Le contrôleur de session de périphérie SBC (pour "Session Border Controller" en anglais) sert d'interface pour une communication entre le cœur mobile représenté par les entités MGCF et MGW et le réseau d'interconnexion (IP Inter.) Ce réseau d'interconnexion permet de faire le lien IP entre les réseaux de communication mobile et fixe.
La communication transite par le SBC côté réseau fixe qui transmet les données de signalisation (SIP-I) et de protocole (RTP) respectivement au serveur d'appel CS ("Call server" en anglais) et à la passerelle MGW du réseau fixe. La communication transite vers l'utilisateur UE1 via le réseau fixe d'un opérateur (Fix.Op.) en utilisant le protocole de signalisation SIP et le protocole de transport média RTP. Les entités MGW et SBC décrites ici peuvent effectuer des opérations de transcodage quand les codées entre les deux réseaux sont différents, comme illustré ici entre le codée de type AMR-WB et le codée de type G.722.
On remarque sur la figure 1 que l'usager UE2 vient de passer d'une couverture 3G à une couverture 2G sur laquelle la voix HD n'est pas activée. Dans ce cas, le codeur utilisé côté 2G (pour l'UE2 donc) est un codeur 2G bande étroite (par exemple le codeur FR AMR pour "Full Rate Adaptive Multi rate" en anglais décrit dans le document "3GPP TS 26.090 Vil.0.0 (2012-09) 3rd Génération Partnership Project; Technical Spécification Group Services and System Aspects; Mandatory Speech Codée speech processing functions; Adaptive Multi- Rate (AMR) speech codée; Transcoding functions (Release 11)" et la qualité bande élargie ou HD est perdue pour les deux utilisateurs UE1 & UE2.
Deux possibilités s'offrent alors à l'utilisateur UE1:
- Soit le réseau renégocie le codeur sur la partie accès et cœur de réseau (processus appelé "mid call codée modification" en anglais) pour commuter sur un codeur bande étroite, dans le but d'avoir un codeur bande étroite de bout en bout sans transcodage ou de n'avoir qu'un transcodage entre deux codeurs bande étroite et ainsi éviter un transcodage avec un codeur bande élargie plus coûteux;
- Soit le réseau conserve le codeur AMR-WB sur la partie cœur de réseau mobile car le "mid call codée modification" n'est pas supporté par le fournisseur de cœur réseau ou le réseau prend pour hypothèse que si un autre "Handover" vers une couverture HD se produit, il sera alors de nouveau possible de faire de la Voix HD de bout en bout.
Nous nous plaçons ici dans la seconde hypothèse «le réseau conserve le codeur AMR- WB sur la partie accès et cœur de réseau». Suite à un "Handover", le codeur à l'accès côté mobile est donc susceptible de devenir un codeur bande étroite alors que sur le cœur mobile, le codeur mobile AMR-WB est toujours utilisé. A l'interface entre les deux cœurs fixe et mobile, il n'existe aucun moyen de détecter ce changement de qualité audio car l'information n'a pas été relayée par le cœur mobile. Les deux usagers ne bénéficient finalement pas de la qualité HD car le contenu transporté par les codeurs AMR-WB et G.722 est bande étroite, comme illustré par la figure 1.
Si sur le terminal de cet utilisateur fixe, l'opérateur demande à avoir un logo "HD voice", un affichage ou non uniquement basé sur l'utilisation du codeur G.722 sera erroné dans le cas explicité ci-dessus du fait du changement de réseau ou "Handover" de l'usager mobile vers un réseau bande étroite.
Pour permettre l'affichage pertinent d'un logo "HD voice" sur le terminal fixe, il est donc nécessaire de détecter la bande audio du signal restitué (signal décodé par G.722) pour déterminer si le contenu est réellement en bande élargie.
De même, pour l'application d'indicateur de nombres d'appels déposés en bande élargie sur une messagerie vocale fixe, il est important de détecter la bande de fréquence du contenu audio enregistré. Pour illustrer cette application, on prend le cas où un usager A HD appelle un usager B lui aussi HD, tous les deux étant sur un ou des réseaux fixes autorisant la HD. Si l'usager B n'est pas disponible, l'appel de A est transféré vers la messagerie vocale de B.
Le codeur choisi pour accéder à la messagerie vocale (VM pour "Voicemail" en anglais) est potentiellement le G.722. Une fois l'usager A connecté à la messagerie vocale en utilisant le codeur G.722, son message est stocké par exemple en concaténant les trames reçues et en ajoutant un entête.
L'usager B en prenant connaissance qu'un message est disponible va ensuite se connecter en G.722 si cela est possible (cela est dépendant du caractère HD ou non de son terminal) pour écouter son message.
Pour un opérateur, il est intéressant de pouvoir se rendre compte via un indicateur de performance KPI (pour "Key Performance Indicator" en anglais) du pourcentage d'appels connectés en HD à la messagerie vocale.
On se place à présent dans le cas où l'usager A n'est plus un usager fixe HD mais un usager mobile HD, comme dans le cas précédent, en situation de mobilité et de changement de réseau vers un réseau sur lequel la voix HD n'est pas déployée (2G dans notre exemple). Lors du dépôt du message par l'usager A et en supposant que le dernier codeur connecté à la messagerie vocale reste le G.722 (pas de "mid call codée modification", etc.), le KPI uniquement basé sur l'utilisation du codeur G.722 sera erroné car on aura un contenu bande étroite encapsulé dans des trames G.722. L'obtention d'un KPI pertinent nécessite donc de détecter la bande audio du signal codé (signal codé par le G.722) pour déterminer si le contenu est réellement bande élargie. Parmi les méthodes de détection de la bande de fréquence audio d'un signal numérique décrites dans l'état de l'art, on peut distinguer celles opérant dans le domaine signal (original ou décodé) et celles opérant dans le domaine codé.
La détection de la bande audio utilise généralement une analyse spectrale du signal numérique. A titre d'exemple, on peut citer la méthode de détection de contenus bande étroite sur-échantillonnés à 16 kHz du codée 3GPP2 VMR-WB. Ce codeur procède à une analyse spectrale du signal temporel (après sous-échantillonnage à 12.8 kHz, filtrage passe- haut et pré-emphase) en effectuant deux transformées de Fourier rapides (en anglais "Fast Fourier Transform" FFT) sur LFFT (= 256) points par trame pour obtenir deux jeux de paramètres spectraux par trame. Le spectre obtenu par l'analyse FFT est divisé en 20 bandes critiques, le nombre de "bins" de fréquence dans ces 20 bandes étant MCB= {2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 8, 9, 11, 14, 18, 21}. Puis, l'énergie dans chaque bande critique est calculée, selon la formule:
1 MCB(i
ECB(i) = - -2 ∑(x (k + )+ X1 (k + j, )), i=0, 19
L 'FFT / k=0
2 MCB(i) i-l \
l'indice est l'indice du premier "bin" de la bande i Ji =∑MCB (k)+ l , et XR{k) et k=0
Xj {k) sont les parties réelles et imaginaires du spectre FFT.
Afin de traiter correctement les signaux bande étroite sur-échantillonnés, un algorithme de détection est appliqué pour détecter de tels signaux. Il consiste à tester le niveau d'énergie lissée dans les deux dernières bandes.
D'autres transformées telles que la MDCT peuvent être utilisées pour effectuer l'analyse spectrale et déterminer la bande audio d'un signal. On peut aussi utiliser des filtrages en plusieurs bandes. Ces méthodes évaluent l'énergie dans différentes bandes de fréquence. C'est aussi le cas pour les méthodes de détection de la bande audio dans le domaine codé.
Pour effectuer l'analyse des caractéristiques d'un signal audio codé, on peut bien évidemment commencer par décoder le signal puis appliquer les techniques utilisées pour analyser les contenus audio originaux (non codés ou avant codage). Cependant, le décodage augmente la complexité du traitement ainsi que le retard. Dans bien des applications, il est donc souhaitable pour des raisons de complexité et/ou de retard d'extraire les caractéristiques du signal sans effectuer un décodage complet du signal.
Plusieurs techniques d'analyse dans le domaine codé ont été proposées. Elles concernent essentiellement les codeurs par transformée ou en-sous bandes tels les codeurs MPEG (e.g. MP3, AAC, ...).
Dans de tels codeurs, le flux codé comporte en effet des coefficients spectraux codés, comme par exemple, les coefficients MDCT dans le codeur MP3. Ainsi, dans le document "Liaoyu Chang, Xiaoqing Yu, Haiying Tan, Wanggen Wan, Research and Application of Audio Feature in Compressed Domain, IET Conférence on Wireless, Mobile and Sensor Networks, 2007; (CCWMSN07), Page(s): 390 - 393, 2007", plutôt que de décoder tout le signal, seuls les coefficients MDCT sont décodés et servent à déterminer les caractéristiques du signal codé. La largeur de bande BW du contenu audio codé est ainsi déterminé à partir de ces coefficients MDCT:
BW = Ma4\SMRSi≥TSSMS}-Min{]SMRSi≤TSRMS} où SMRS; est la racine carré de l'énergie de la iieme bande ( SMRS- = — Y S2. , en notant St . , le j'eme coefficient de la i'eme bande et N; , le nombre de coefficients dans la i'eme bande) et TSRMS un seuil.
Les méthodes de détection de la bande de fréquence audio d'un signal numérique de l'état de l'art reposent principalement sur une analyse fréquentielle du spectre du signal. On a vu que lorsque le flux binaire du contenu audio codé contient des paramètres représentatifs de l'information spectrale (tels que des coefficients de transformée FFT ou MDCT), la détection de la bande audio dans le contenu codé exploite avantageusement l'information spectrale contenue dans le flux binaire codé en ne décodant pas complètement le signal. Ceci réduit notablement la complexité de la détection en éliminant les coûteuses opérations que requièrent le décodage complet et l'analyse spectrale.
Cependant il existe des codeurs qui ne transmettent pas dans le flux binaire des paramètres représentatifs de l'information spectrale. C'est le cas de certains codeurs en sous- bandes avec codage des signaux en sous-bandes par des technologies simples de type codage échantillon par échantillon tel que le codage MIC ou MICDA. Parmi ces codeurs, on peut citer le codeur voix-HD fixe G.722 déjà mentionné.
Une solution pour déterminer la bande audio d'un signal codé par de tels codeurs consiste à décoder le signal et à lui appliquer un des processus de traitement de signal tels que ceux décrit dans l'état de l'art. Cependant cette solution est très consommatrice en ressources sur l'unité centrale de traitement CPU (pour "Central Processing Unit" en anglais). Les transformées fréquentielles FFT ou MDCT restent en effet des opérations complexes.
De plus, dans le cas de l'application d'indicateur de nombres d'appels déposés en bande élargie sur une messagerie vocale ou une sonde, le signal décodé n'est pas disponible. Il faut alors rajouter à la complexité de la transformée temps-fréquence et à la détection de la bande audio à partir des énergies par bande, la complexité du décodage d'un grand nombre de messages. Cette solution accroît de plus le retard.
II existe donc un besoin d'effectuer la détection d'une bande de fréquence audio prédéterminée dans un contenu audio codé, notamment pour des signaux codés par des codeurs en sous-bandes codant les sous-bandes selon un codage de type modulation par impulsions. Le flux binaire résultant de ce type de codeur, ne comporte pas de paramètres représentatifs de l'information spectrale du contenu audio.
La présente invention vient améliorer la situation.
Elle propose à cet effet, un procédé de détection d'une bande de fréquence prédéterminée dans un contenu audio codé selon un codage par sous-bandes de type modulation par impulsions pour lequel le flux binaire résultant ne comporte pas d'informations spectrales, caractérisé en ce qu'il comporte les étapes suivantes:
détermination par sous-bande de fréquence d'un ensemble prédéterminé de sous-bandes, d'un signal estimé à partir du flux binaire;
détermination par sous-bande de fréquence de l'ensemble prédéterminé de sous- bandes, de paramètres non codés représentatifs du contenu audio, à partir du signal estimé correspondant;
calcul d'au moins un critère local à partir des paramètres déterminés; - décision quant à la présence d'une bande de fréquence prédéterminée dans au moins une sous-bande du contenu audio en fonction du au moins un critère local calculé.
Ainsi, un tel procédé permet d'identifier, avec un faible coût de calculs, si la bande de fréquence audio d'un contenu préalablement codé par un codeur en sous-bandes de type modulation par impulsions (par exemple MIC ou MICDA) dont le flux binaire ne comporte pas d'informations spectrales sur le contenu audio, est plus restreinte ou non que la bande de fréquence audio dans laquelle fonctionne un tel codeur.
En effet, le procédé tel que décrit évite le décodage complet du signal pleine bande et même le décodage du signal par sous-bandes.
La détermination par sous-bande de fréquence, de paramètres non codés représentatifs du contenu audio, à partir d'un signal estimé correspondant, permet d'utiliser des codeurs qui n'ont pas d'informations spectrales dans leur flux binaire.
Le fonctionnement en sous-bande ajoute de plus la possibilité de n'effectuer cette détection que sur un ensemble prédéterminé de sous-bandes, ce qui réduit encore la complexité de traitement du procédé.
Les différents modes particuliers de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé de détection défini ci-dessus.
Dans un mode de réalisation particulier l'étape de détermination par sous-bande d'un signal estimé comporte les étapes suivantes pour un échantillon courant:
obtention d'un paramètre d'adaptation associé à l'indice de quantification pour l'échantillon courant; calcul d'un signal estimé pour une sous-bande pour l'échantillon courant à partir du paramètre d'adaptation déterminé, du signal estimé pour l'échantillon précédent et d'un facteur d'oubli prédéfini.
Ce signal ainsi estimé est très représentatif du contenu audio codé et permet de déterminer facilement des paramètres représentatifs de ce contenu audio.
Dans un exemple de réalisation un paramètre non codé déterminé à partir du signal estimé pour une sous-bande est une norme du signal estimé dans cette sous-bande.
La détermination de ce type de paramètre est une opération de moindre complexité. Dans un autre exemple de réalisation, un paramètre non codé déterminé est un rapport entre la valeur maximale et la valeur minimale du signal estimé pour une sous-bande.
Ce type de paramètre est également représentatif du contenu audio dans la sous- bande correspondante.
Dans un mode de réalisation particulier, un critère local est calculé à partir de paramètres déterminés pour une seule sous-bande.
Le critère est alors considéré comme un critère mono-bande. Une seule sous-bande suffit pour déterminer ce critère.
Dans un autre mode de réalisation un critère local est calculé à partir de paramètres déterminés pour une pluralité de sous-bandes.
Le critère est alors considéré comme un critère multi-bande dépendant d'au moins deux sous-bandes. Cela permet de prendre en compte les sous-bandes voisines et d'augmenter la fiabilité de détection. Ceci permet d'augmenter la robustesse de la détection aux variations de niveau des contenus codés.
De façon simple le critère local est une distance entre un paramètre d'au moins une sous-bande et un seuil prédéterminé.
Dans un mode de réalisation particulier, à la suite de l'étape de décision mise en œuvre pour une bande de fréquence et pour un bloc d'échantillons courant, une étape de décision globale est mise en œuvre par lissage du résultat la dite étape de décision locale et de K résultats antérieurs de décisions locales, relatifs à K blocs d'échantillons précédents le bloc courant.
Un tel lissage des détections locales sur plusieurs blocs permet d'augmenter la fiabilité de la détection.
Selon un mode de réalisation particulier, le procédé comporte en outre une étape de détection d'activité vocale à partir des paramètres non codés déterminés, par bloc d'échantillons et par sous-bandes de fréquence du contenu audio et d'application des étapes de calcul de seconds critères et de décision sur les blocs d'échantillons pour lesquels une activité vocale a été détectée.
Cela permet de ne faire la détection de bande de fréquence que pour les blocs d'échantillons susceptibles de comporter un contenu pertinent tel que du contenu vocal. Corrélativement, la présente invention vise un dispositif de détection d'une bande de fréquence prédéterminée dans un contenu audio codé selon un codage par sous-bandes de type modulation par impulsions pour lequel le flux binaire résultant ne comporte pas d'informations spectrales. Le dispositif comporte:
un module de détermination par sous-bande de fréquence d'un ensemble prédéterminé de sous-bandes, d'un signal estimé à partir du flux binaire;
un module de détermination par sous-bande de fréquence de l'ensemble prédéterminé de sous-bandes, de paramètres non codés représentatifs du contenu audio, à partir du signal estimé correspondant;
un module de calcul d'au moins un critère local à partir des paramètres déterminés;
un module de décision quant à la présence d'une bande de fréquence prédéterminée dans au moins une sous-bande du contenu audio en fonction du au moins un critère local calculé.
Ce dispositif présente les mêmes avantages que le procédé décrit précédemment, qu'il met en œuvre.
L'invention se rapporte également à un terminal de communication et un serveur comportant le dispositif tel que décrit.
Elle vise un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de détection tel que décrit, lorsque ces instructions sont exécutées par un processeur.
Enfin l'invention se rapporte à un support de stockage, lisible par un processeur, intégré ou non au dispositif de détection, éventuellement amovible, mémorisant un programme informatique mettant en œuvre un procédé de détection tel que décrit précédemment.
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels :
la figure 1 décrite précédemment, illustre un exemple d'une communication haute définition pouvant évoluer vers une communication à bande de fréquence restreinte suite à un changement de cellule d'un utilisateur mobile pour lequel la mise en œuvre du procédé selon l'invention serait appropriée;
la figure 2 illustre un dispositif de détection selon un mode de réalisation de l'invention recevant un contenu audio codé et délivrant une information sur la présence d'une bande de fréquence prédéterminée, cette information pouvant être utilisée pour une application haute définition;
la figure 3 illustre un organigramme représentant les étapes principales du procédé de détection selon un mode de réalisation de l'invention; la figure 4 illustre un codeur de type G.722 délivrant un flux binaire ne comportant pas d'informations spatiales et à partir duquel le procédé de détection selon un mode de réalisation de l'invention peut être mis en œuvre; les figures 5a et 5b illustrent un organigramme représentant les étapes du procédé selon l'invention dans une mise en œuvre sur un signal codé selon un codeur de type G.722;
la figure 6 illustre un organigramme représentant les étapes de détection d'une activité vocale dans un contenu audio codé pouvant être mis en œuvre dans un mode de réalisation de l'invention; et
- les figures 7a et 7b illustrent des représentations matérielles respectivement d'un terminal de communication et d'un serveur comportant chacun le dispositif de détection selon des exemples de mise en œuvre de l'invention.
La figure 2 représente un dispositif de détection 200 dans un exemple de réalisation de l'invention. Ce dispositif met en œuvre le procédé de détection d'une bande de fréquence prédéterminée dans un contenu audio tel que décrit en référence à la figure 3 par les étapes E301 à E304.
Il peut être associé à un décodeur audio de façon à détecter une bande de fréquence audio dans un contenu reçu avant décodage. Il peut également être indépendant du décodeur de façon à lire le signal audio codé et y détecter une bande de fréquence. Ce dispositif peut être contenu dans un terminal de communication fixe ou mobile muni ou non d'un décodeur audio, il peut être intégré à un serveur ou un élément de la chaîne de transmission entre le codeur et le décodeur, il peut par exemple être intégré à un serveur de messagerie.
Matériellement, ce dispositif comporte un processeur 230 coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM.
Le processeur pilote des modules de traitement aptes à mettre en œuvre le procédé selon l'invention. Ainsi, ce dispositif comporte un module 201 de détermination par sous- bande de fréquence d'un ensemble prédéterminé de sous-bandes, d'un signal estimé à partir d'un flux binaire obtenu après un codage de type modulation par impulsions, un module 202 de détermination par sous-bande de fréquence de l'ensemble prédéterminé de sous-bandes, de paramètres non codés représentatifs du contenu audio, à partir du signal estimé correspondant, un module 203 de calcul d'au moins un critère local à partir des paramètres déterminés et un module 204 de décision quant à la présence d'une bande de fréquence prédéterminée dans au moins une sous-bande du contenu audio, en fonction du au moins un critère local calculé.
Le bloc mémoire peut avantageusement comporter un programme informatique (prog.) comportant des instructions de code pour la mise en œuvre des étapes du procédé de détection au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC et notamment les étapes de détermination par sous-bande de fréquence d'un ensemble prédéterminé de sous-bandes, d'un signal estimé à partir du flux binaire, de détermination par sous-bande de fréquence de l'ensemble prédéterminé de sous-bandes de paramètres non codés représentatifs du contenu audio, à partir du signal estimé correspondant, de calcul d'au moins un critère local à partir des paramètres déterminés et de décision quant à la présence d'une bande de fréquence prédéterminée dans au moins une sous-bande du contenu audio en fonction du au moins un critère local calculé.
Typiquement, la description de la figure 3 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du dispositif ou téléchargeable dans l'espace mémoire de celui-ci.
La mémoire MEM enregistre de manière générale, toutes les données nécessaires à la mise en œuvre du procédé de détection.
Comme mentionné précédemment, la détection d'une bande de fréquence prédéterminée dans un contenu audio peut être utilisée dans de nombreuses applications.
Le dispositif 200 comporte également un module d'entrée E apte à recevoir un flux binaire I(n) généré par un codeur en sous-bandes 210 de type modulation par impulsions tel qu'un codeur MIC ou MICDA. Il comporte également un module de sortie S apte à transmettre la décision BW quant à la présence d'une bande de fréquence prédéterminée à un dispositif 220 mettant en œuvre une application haute définition comme celles par exemple décrites précédemment.
Le codeur en sous-bandes 210 partage dans un premier temps le signal audio x(n) en M sous-bandes de fréquence en utilisant un banc de filtres.
Dans le cas du codeur G.722, le signal à coder échantillonné à 16 kHz est découpé en deux {M=2) sous-bandes [0, 4 kHz] et [4, 8 kHz], la division en sous-bandes étant faite par des filtres miroir en quadrature (QMF pour "Quadrature Mirror Filter" en anglais).
Comme autres exemples de codeurs en sous-bandes, on peut aussi citer le codeur super-HD de France Telecom décrit dans le document " A. Charbonnier, J. P. Petit. "Sub-band ADPCM coding for high quality audio signais". ICASSP 1988, pp. 2540-2543" qui utilise une décomposition du signal échantillonné à 32 kHz en quatre {Μ= ) sous-bandes [0, 4 kHz] et [4, 8 kHz], [8, 12 kHz] et [12, 16 kHz] par des QMF, ou bien encore le codeur SBC (en anglais "SubBand Coding") de Bluetooth™ où le signal à coder échantillonné à 32 kHz est découpé entre 4 ou 8 sous-bandes, par un banc de filtres en cosinus modulés.
Les technologies de codage MIC et MICDA sont décrites respectivement dans les documents "Recommendation ITU-T G.711 Puise code modulation (PCM) of voice frequencies, Nov. 1988" et "Recommendation ITU-T G.726, 40, 32, 24, 16 kbit/s adaptive differential puise code modulation (ADPCM), Dec. 1990" et ne seront pas décrites plus en détails ici.
Un exemple de codeur 210, de type G.722, est également décrit ultérieurement en référence à la figure 4.
Un flux binaire I(n) est généré par ce codeur 210. On rappelle que ce codeur est un codeur en sous-bandes, les sous-bandes étant codées par une technologie de type MIC (Modulation par Impulsions et Codage) éventuellement adaptatif MICA (Modulation par Impulsions et Codage Adaptatif) ou différentiel adaptatif MICDA (Modulation par Impulsions et Codage Différentiel Adaptatif) ou différentiel MICD (Modulation par Impulsions et Codage Différentiel). Le flux binaire I(n) ne comporte que des indices de quantification et ne comporte pas d'informations spectrales sur le signal audio x(n).
Ainsi, le module 201 du dispositif de détection 200 met en œuvre l'étape E301 de la figure 3 pour déterminer par sous-bande de fréquence d'un ensemble prédéterminé de sous-bandes de fréquence, un signal estimé à partir de ce flux binaire. Pour cela, dans le mode de réalisation décrit-ci après où les signaux des sous-bandes sont codés par la technologie MICDA, le module 201 effectue les étapes d'obtention d'un paramètre d'adaptation associé à l'indice de quantification pour un échantillon courant n et calcul un signal estimé pour l'échantillon courant à partir de ce paramètre d'adaptation ainsi déterminé, du signal estimé pour l'échantillon précédent et d'un facteur d'oubli prédéfini. Un exemple de réalisation d'une telle technique de détermination d'un signal estimé est décrit dans la demande de brevet française FR 11 52596.
Dans le cas de sous-bandes codées par la technologie MIC logarithmique, tel que le codage G.711 loi A, on peut se limiter à obtenir le numéro du segment (exposant) sans décoder la mantisse ni déterminer le signe de l'échantillon.
Ce signal estimé est représentatif du contenu audio qui a été codé. L'ensemble prédéterminé de sous-bandes, c'est-à-dire les sous-bandes considérées pour estimer ces signaux représentatifs ainsi que leur nombre M, dépendent de l'application qui sera mise en œuvre par le module 220. Ces sous-bandes peuvent même évoluer au cours du temps pour une même application.
Par la suite, on notera ce signal estimé pour une sous-bande i (0≤i< M):
~$ϊ (η) , /7=0, Nrl, Λ/ étant le nombre d'échantillons dans une sous-bande i.
Le module 202 met en œuvre l'étape E302 de détermination de paramètres non codés représentatifs du contenu audio. Ces paramètres p(i) sont déterminés par sous-bande de fréquence de l'ensemble prédéterminé de sous-bandes, à partir du signal estimé dans les sous-bandes correspondantes. Plusieurs types de paramètres peuvent être calculés. Quelques exemples en sont donnés ci-après.
Pour une sous-bande /; un paramètre peut être déterminé par exemple à partir d'une norme du signal estimé (ou une puissance de cette norme). De tels paramètres sont donnés -dessous pour une bande /donnée (0≤i< M) :
Figure imgf000017_0001
Des versions « normalisées » peuvent être aussi utilisées, telles que :
Figure imgf000017_0002
On peut aussi utiliser d'autres types de paramètres tels qu'un rapport : par exemple, le rapport entre le minimum et le maximum du signal estimé - en valeurs absolues ou non -:
Figure imgf000017_0003
Evidemment, l'inverse de ce rapport peut être aussi considéré.
Dans un exemple de réalisation, un même paramètre est calculé pour différentes sous-bandes. Cependant un paramètre peut n'être calculé que sur un nombre plus restreint (éventuellement restreint à une seule sous-bande) de sous-bandes.
A partir d'au moins un de ces paramètres, l'étape E303 est mise en œuvre par le module 203 pour calculer au moins un critère local.
Ce critère local peut être calculé à partir de paramètres d'une seule sous-bande ou de paramètres calculés sur plus d'une sous-bande. Pour distinguer ces deux catégories de critère nous les nommons selon le nombre de sous-bandes prises en compte lors du calcul, critère mono-bande et critère multi-bande.
Pour chaque catégorie, quelques exemples de critères sont détaillés ci-après.
Un critère mono-bande utilise une "distance" entre un paramètre p(i) d'une sous- bande / et un seuil threshm(i). Ce seuil peut être adaptatif ou non et peut dépendre éventuellement de la sous-bande considérée. On note alors d(i) le critère mono-bande tel que:
d(i) = dist(p(i), threshm (i))
Avantageusement, cette "distance" est la simple différence entre le paramètre p(/) et ce seuil:
d(i) = dist(p(i), threshm (i)) = p(i) - threshm (i)
Par exemple, ces critères mono-bande peuvent être définis par les équations ci-dessous, sur les sous-bandes /et j, (Q≤/, J< M) :
critOm (i) = dist(L (i), thresh0m ( )) , crit\m ( j) = (j), thresh\m ( j)) , où t res Om(i) et t res lm(j) sont des seuils -adaptatifs ou non - et pouvant dépendre de la sous-bande considérée.
On pourrait, par exemple, adapter le seuil sur la bande /en fonction de la bande j, ou en fonction d'un bloc d'échantillons précédent.
Un critère multi-bande compare des paramètres calculés sur au moins deux sous- bandes - par exemple, un paramètre p(i) d'une sous-bande / et un paramètre q(j) d'une sous-bande
Là aussi, comme dans le cas de critère mono-bande, un seuil t res M(i ) - adaptatif ou non - et dépendant éventuellement des sous-bandes considérées peut être utilisé.
Par exemple, ces critères multi-bande peuvent être définis par les équations ci-dessous, sur les sous-bandes /et j, (Q≤/, J< M) :
critOM (i, j) = distth (distp (/?' minmax >/^ minmax (j)), threshOM critlM (i, j) = dist'th (disf p (L (i), L ( j)), threshlM (i, j))
Avantageusement, une "distance" distth est une simple différence entre un seuil et une distance distp entre des paramètres d'au moins deux sous-bandes.
La distance distp entre des paramètres d'au moins deux sous-bandes peut utiliser des rapports entre paramètres. Par exemple, dans le cas d'une « distance » entre paramètres de deux sous-bandes :
Figure imgf000018_0001
distp (i), L j)) = L'i ( j ) On note aussi qu'un même ensemble de paramètres peut être utilisé pour calculer plusieurs critères tant dans le cas d'un critère mono-bande que d'un critère multi-bande.
A partir d'au moins un critère local tel que défini, l'étape E304 est mise en œuvre par le module 204. A cette étape, une décision locale (« instantanée », notée dec™s r t ) est prise en détectant si le contenu audio codé comporte des fréquences dans au moins une sous- bande.
Dans un mode particulier de réalisation, dans le cas de détection d'une bande de fréquence dite bande haute fréquence (i.e. fréquences supérieures à une fréquence seuil Fth), on décide si le contenu audio comporte des fréquences dans les sous-bandes / telles que, ith≤i, où ith est l'indice de la sous-bande incluant la fréquence Fth. Au moins une de ces sous- bandes i est prise en considération à l'étape de décision.
Dans l'exemple particulier du codeur voix HD fixe G.722 à deux sous-bandes, quand on cherche à détecter si le contenu codé est réellement bande élargie (WB), on détecte s'il y a du contenu pertinent dans la deuxième sous-bande (sous-bande haute) pour prendre une décision "Bande étroite" NB ou "Bande élargie" WB. Dans le cas d'un codeur Super-HD à 4 sous-bandes MICDA, si on cherche à détecter si le contenu codé est réellement SWB (Bande super élargie), on détecte s'il y a du contenu pertinent dans la/les troisième et/ou quatrième sous-bande(s) pour prendre une décision SWB ou non.
Dans le cas où la bande de fréquence prédéterminée n'est pas la bande haute fréquence, la décision est bien sûr adaptée et les sous bandes considérées peuvent être celles qui sont inférieures à une fréquence seuil pour détecter une bande basse fréquence ou encore celles qui sont définies par des fréquences encadrant cette bande de fréquence prédéterminée.
Pour prendre cette décision, au moins un critère local est utile. En variante, plusieurs critères peuvent être utilisés seuls ou conjointement.
La décision peut être souple ou dure. Une décision dure consiste à comparer au moins un critère à un seuil et à prendre une décision binaire ou à états prédéfinis sur la présence de la bande de fréquence dans la sous-bande.
Une décision souple consiste à utiliser la valeur du critère pour définir selon un intervalle de valeurs prédéfinies, une probabilité plus ou moins importante de présence de la bande de fréquence dans la sous-bande considérée.
Dans un mode de réalisation particulier, le procédé met en œuvre une série d'étapes intermédiaires décrites en référence à la figure 6 pour détecter un type de contenu, par exemple un contenu vocal, afin de n'effectuer la détection locale que sur les trames pertinentes, c'est-à-dire comportant ce type de contenu.
Pour détecter ce type de contenu, le procédé selon l'invention utilise, de façon avantageuse, les paramètres déterminés en E302 sur les signaux représentatifs des signaux en sous-bandes.
Dans une variante de réalisation, pour augmenter la fiabilité de la détection, la décision finale pour un bloc courant d'échantillons, notée deccur , dépend non seulement de la détection locale « instantanée » mais aussi des détections passées. A partir de décisions locales souples ou dures par bloc, une décision globale est prise sur un nombre de K blocs précédents le bloc courant. Ce nombre de K blocs est ajustable en fonction d'un compromis fiabilité de la décision/rapidité de la décision.
Par exemple, les détections locales peuvent être lissées sur plusieurs blocs par une fenêtre éventuellement glissante. La dépendance de la décision courante aux détections passées peut aussi être fonction de la fiabilité de la décision locale. Par exemple, si la décision locale est estimée sûre, la dépendance de la décision courante vis-à-vis des décisions passées peut être minimisée voire même annulée.
Dans les applications sans contrainte de retard telles que la détection de contenu HD dans des messages déposés dans un serveur de messagerie, les décisions locales suivantes pourraient aussi être prises en compte. Plusieurs modes de réalisation sont possibles pour le procédé de détection tel que décrit, tant dans le choix des paramètres, des critères, de la manière de combiner éventuellement plusieurs critères que dans l'utilisation de décision souples ou dures, localement ou globalement. L'utilisateur peut ainsi optimiser le compromis complexité/fiabilité de la détection ainsi que la réactivité de la détection.
Nous allons à présent décrire un exemple détaillé d'un mode de réalisation dans le cas d'un flux binaire obtenu par un codeur de type G.722.
La figure 4 décrit à présent un tel codeur de type G.722. Cette figure illustre le schéma de principe du codeur G.722. Celui-ci code le signal d'entrée x(n) échantillonné à 16 kHz en deux sous-bandes échantillonnées à 8 kHz. Comme mentionné précédemment, la division en sous-bandes est faite par un filtre miroir en quadrature (QMF) 401. A partir de deux échantillons d'entrée le filtre QMF donne en sortie un échantillon xL(n) de bande basse (0-4000 Hz) et un échantillon xH(n) de bande haute (4000-8000 Hz). Les 2 sous-bandes sont codées indépendamment par des codeurs MICDA 402 et 403.
Deux erreurs de prédictions quantifiées IH(n) et IL(n) sont ainsi transmises dans le flux binaire I(n) après multiplexage en 404. Le codeur G.722 a trois débits: 64, 56 et 48 kbit/s. Chaque échantillon de la sous-bande inférieure est codé sur 6 bits au plus haut débit (48 kbit/s), sur 5 bits au débit intermédiaire (40 kbit/s), et sur 4 bits au plus bas débit (32 kbit/s). La bande supérieure est toujours codée sur 2 bits (16 kbit/s) par échantillon indépendamment du débit.
Dans le cas des codeurs MICDA hiérarchiques (codeurs multi-débits où les plus faibles débits peuvent être obtenus à partir d'un débit plus élevé par simple troncature du train binaire) comme le G.727 (variante hiérarchique du G.726) et le G.722, l'adaptation des prédicteurs et du quantificateur doit être faite à partir du plus bas débit, le seul disponible dans tous les cas.
Typiquement, dans la bande basse du G.722 (fréquence d'échantillonnage 8000 Hz) l'erreur de prédiction au plus bas débit (48 kbit/s dont 32 kbit/s pour la bande basse) est codée sur 4 bits : 1 bit de signe et 3 bits pour choisir parmi les 8 amplitudes possibles du quantificateur scalaire. Dans la suite nous notons I(n) l'indice sur 3 bits pour coder les amplitudes y(I(n)). En réalité le train binaire du G.722 ne contient pas directement les 3 bits de l'indice I(n) mais on peut le déduire facilement à partir des 4 bits extraits du train binaire selon la table 2 ci-dessous: 4 bits dans le train binaire Signe I(n)
0000 + 0
0001 + 7
0010 + 6
0011 + 5
0100 + 4
0101 + 3
0110 + 2
0111 + 1
1000 - 7
1001 - 6
1010 - 5
1011 - 4
1100 - 3
1101 - 2
1110 - 1
1111 - 0
Table 2
L'amplitude décodée de l'erreur de prédiction est décomposée en 2 parties : une partie constante stockée en mémoire ROM indexée par I(n), notée y(I(n)), et un facteur adaptatif multiplicatif appelé facteur d'échelle v(n). Par exemple le quantificateur fixe de 4 bits (incluant 1 bit de signe) dans la bande inférieure de G.722 contient les 8 valeurs d'amplitude suivantes, données dans la table 3.
Figure imgf000021_0001
Table 3: Valeurs fixes de quantification (amplitudes) dans la sous-bande basse de G.722 en fonction de l'indice I(n)
Nous détaillons ci-après ce facteur d'échelle.
Le facteur d'échelle v(n) permet d'adapter l'étendue du quantificateur à l'amplitude du signal à quantifier échantillon par échantillon pour assurer un bon rapport signal à bruit indépendamment du niveau de l'erreur de prédiction. L'adaptation est faite de la façon suivante : quand pour quantifier l'erreur de prédiction on utilise un des plus grands niveaux du quantificateur scalaire on augmente la valeur du facteur d'échelle en le multipliant par un facteur d'adaptation M(I(n)) supérieur à 1 pour étendre un peu plus le quantificateur et ainsi éviter la saturation du quantificateur. Inversement, quand un des plus faibles niveaux du quantificateur scalaire est choisi on diminue la valeur du facteur d'échelle en le multipliant par un facteur d'adaptation M(I(n)) inférieur à 1 pour rétrécir un peu plus le quantificateur et ainsi mieux utiliser sa dynamique et obtenir un bon rapport signal à bruit.
La valeur du facteur d'adaptation M(I(n)) dépend donc de l'indice de quantification transmis I(n), elle est inférieure à 1 si l'indice correspond à une valeur quantifiée faible (0, 0.037 et 0.079 dans l'exemple de la sous-bande basse du codeur G.722) et supérieure à 1 pour des autres valeurs. Dans le codeur G.722 cette adaptation est faite dans le domaine logarithmique, par addition du facteur d'adaptation logarithmique ML(I(n)) correspondant à l'indice d'amplitude transmis I(n) au facteur d'échelle logarithmique vL(n). La table 4 ci- dessous, donne les valeurs du facteur d'adaptation dans le domaine logarithmique ML(I(n)) et linéaire M(I(n)) pour les 8 niveaux possibles.
Figure imgf000022_0001
Table 4 : Valeurs du facteur d'adaptation en fonction de l'indice d'amplitude I(n) (3 bits) dans le
G.722
De plus, la valeur obtenue est bornée dans l'intervalle [0, 18432] :
vL'(n) = min(max(vL(n-l) + ML(I(n-l)), 0), 18432)
En cas d'erreur de transmission cette adaptation n'est pas faite avec la même valeur à l'encodeur et au décodeur, l'encodeur et le décodeur se désynchronisent. En utilisant l'équation précédente cette désynchronisation persisterait indéfiniment. Pour assurer leur resynchronisation après une erreur de transmission un facteur d'oubli est appliqué. Dans le cas du codeur G.722 il s'agit d'une multiplication par 0.9922 (32512 en virgule fixe Q15, 32512/32768) du facteur d'échelle logarithmique précédent :
vL(n) = min(max(0.9922 * vL(n-l) + ML(I(n-l)), 0), 18432).
Finalement, la conversion log-lin est faite par une simple lecture de table de 289 entrées, l'indice pour cette table est obtenu en divisant vL(n) par 64 (décalage binaire à droite par 6, "shift" en anglais).
Cette adaptation dans le G.722, en utilisant ces tables de conversion log-lin, correspond dans le domaine linéaire à :
v(n) = min(max(v(n-l)0 "22 * M(I(n-l)), 6), 4095).
La valeur de facteur d'échelle suit l'enveloppe temporelle du signal d'erreur de prédiction. Or, l'énergie de l'erreur de prédiction dépend de l'énergie du signal à coder et du gain de prédiction. Bien que le gain de prédiction varie au cours de temps, en fonction du signal à coder, l'enveloppe temporelle de l'erreur de prédiction est approximativement proportionnelle à celle du signal à coder. Ainsi, la valeur de facteur d'échelle suit donc également l'enveloppe temporelle du signal. A partir du facteur d'échelle il est donc possible d'estimer certains paramètres du signal. Ceci est notamment décrit dans la demande de brevet Française n° FR 11 52596 cité précédemment qui décrit une méthode d'estimation de l'enveloppe temporelle d'un signal codé par la technologie MICDA en utilisant le flux binaire issu de ce codage pour calculer des paramètres non codés dans le flux binaire et ce sans décoder le signal.
Dans le codeur G.722 le facteur d'échelle est dans un premier temps mis à jour dans le domaine logarithmique puis converti dans le domaine linéaire. Toutefois, les mêmes informations peuvent être obtenues à la fois à partir du signal logarithmique vL(n) qu'à partir du signal du domaine linéaire v(n). Le passage du domaine logarithmique vers le domaine linéaire n'ajoutant pas d'informations, la méthode décrite dans la demande de brevet travaille dans le domaine logarithmique pour des raisons de complexité moins importante.
Plusieurs configurations d'usage du G.722 ont été étudiées: le codée G.722 étant en tandem après un autre codeur WB (dans l'exemple, ce premier codeur est le codeur HD mobile AMR-WB à différents débits), ou après un codeur NB (avec comme codeur pivot le codeur G.711).
La procédure pour détecter la présence d'un contenu Haute Fréquence HF (dans l'exemple présent) dans une succession de blocs de données codées par le codeur G.722 à 64 kbit/s est décrite ci-après. On note N la taille d'un bloc dans un flux binaire codé par le codeur G.722. Ce bloc comprend /Vindices binaires, I(n), /7=0,..., N-l.
On peut noter que dans le cas du G.722, les nombres d'échantillons codés dans les deux sous-bandes sont égaux (No-Nj). Dans ce mode de réalisation, on a de plus : No-Nj-N.
Pour cet exemple de réalisation, la taille des blocs /Vest 80 (soit 10 ms). La détection au sens de l'invention est donc effectuée ici toutes les 10 ms.
Dans un mode de réalisation avantageux, pour augmenter la fiabilité de la décision, une fenêtre glissante de 20 ms est utilisée. Pour ne pas retarder la décision, la fenêtre est constituée du bloc courant de 10 ms et du bloc précédent de 10 ms.
Dans cet exemple, les décisions instantanées et finales sont des décisions dures, pouvant prendre trois valeurs : -1 pas de contenu HD détecté, +1 contenu HD détecté, et 0 pour bloc détecté comme inactif.
Les figures 5a et 5b décrivent plus particulièrement l'algorithme mis en œuvre pour ce mode de réalisation.
Ainsi, à l'étape E501, à partir des /V indices l(n) contenus dans le flux binaire pour le bloc courant, on estime deux signaux, un pour chaque sous-bande. On note s0 (n) et s^n) ,
/7=0,..., NI, les signaux représentatifs respectivement de la sous-bande basse et de la sous- bande haute. Dans ce mode de réalisation, ces signaux sont les facteurs d'échelle dans le domaine logarithmique, bornés dans un intervalle [0, tfupî, avec tfup 0 - 18432 et Îfupj - 22528, et auxquels est appliqué un facteur d'oubli, comme par exemple dans le codée G.722.
A l'étape E502, à partir des signaux estimés à l'étape précédente qui sont représentatifs des signaux en sous-bandes, quatre paramètres sont déterminés :
Figure imgf000023_0001
En pratique, comme les signaux estimés sont limités dans un intervalle [0, tfupi , il est inutile de calculer la valeur absolue des signaux estimés. On a donc : -l
L(i) = max (s^n)) , Ll (i) = Y si (n) , t=0,l.
n=0,...,N-l
Par la suite, on note ces quatre paramètres pour le bloc courant avec un exposant 0 (bloc de taille /V=80 soit 10 ms) :
pour la sous-bande basse (/=0) : max° = L (0) , Ll° = Ζ^ (0) , pour la sous-bande haute (/= 1) : max° = L(ï) , Ll°h = Ζ^ (1) ,
Comme mentionné précédemment, dans une variante de réalisation, pour augmenter la fiabilité de la décision, le bloc précédent de 80 échantillons est aussi pris en compte: les paramètres couvrant alors 20 ms - les 10 ms du bloc courant et les 10 ms du bloc précédent.
Les quatre paramètres pour ces 20 ms sont calculés à partir des jeux de paramètres du bloc courant et du bloc précédent :
pour la sous-bande basse : max, =
Figure imgf000024_0001
maxJ"1) , Llt = Ll° + Ll , pour la sous-bande haute : max¾ = max(max° , max^1 ) , Llh = Ll°h + Ll"1 , où maxj"1 , Ll , max^1 , Ll^1 sont les paramètres du bloc précédent de 80 échantillons, ces quatre paramètres étant initialisés à zéro.
Alternativement, plutôt que de calculer les paramètres sur 20 ms à partir des deux jeux de paramètres sur 10 ms, on peut les calculer sur 2/V échantillons des signaux estimés (mais cela nécessite de garder en mémoire les deux signaux estimés du bloc précédent et double la complexité du calcul des paramètres). Dans le cas où une fenêtre avec recouvrement est utilisée, il est plus avantageux (en complexité et en espace mémoire) de calculer les paramètres des signaux de 2/V échantillons à partir des paramètres calculés sur les signaux estimés du bloc courant de N échantillons et des paramètres calculés sur les signaux du bloc précédent de N échantillons.
A l'étape E503, le calcul d'au moins un critère local est effectué. Dans ce mode de réalisation jusqu'à cinq critères peuvent être utilisés : un critère mono-bande et quatre critères multi-bande. Le critère mono-bande est calculé à l'étape E503 et les critères multibande sont calculés à l'étape E510.
Le critère mono-bande calcule la différence entre le maximum de la sous-bande haute maxh et un seuil threshOm :
CritO= maxh-threshOm
Deux des critères multi-bande utilisent le paramètre maxùes deux sous-bandes basse et haute (maximum de la bande haute maxh et maximum de la bande basse max) et permettent de comparer le rapport entre ces deux paramètres (maxfjmax/ ) à deux seuils - t res lM et t res 2M
Figure imgf000024_0002
t res lM< t res 2ri). Deux autres critères multi-bande utilisent le paramètre Ll des deux sous-bandes basse et haute {Llh et Ll]) et permettent de comparer le rapport entre ces deux paramètres {LlfJLli ) à deux seuils - t res 3M et t res 4M thresh3M< thresh4M).
Préférentiellement une division étant très complexe (coût de 18 selon la dernière version de bibliothèque d'outils logiciels de l'UIT-T (STL2009 dans le document Rec. ITU-T G.191, "Software tools for speech and audio coding standardization", March 2010) alors qu'une multiplication coûte 1), plutôt que de calculer un rapport de paramètres et de le comparer à un seuil {plqj - threshM), on calcule avantageusement : p,-q threshM.
Critl- maxh-t res lM*maxi
Crit2= maxh- thresh2M *max/
Crit3= Llh- thresh3M*Ll,
Crit4= Llh- thresh4M*Ll,
Les seuils ont été déterminés par exemple à partir des histogrammes des distributions du paramètre maxh et des rapports de paramètres maxfjmax/ et Llf Ll/ dans les configurations testées.
Dans ce mode de réalisation, les seuils sont fixes et égaux à :
t res Om - 0. ;
threshlM - 0.5 ; thresh2M - 0.85 ;
thresh3M - 0.45 ; thresh4M - 0.6 .
Dans une variante de réalisation, une détection d'activité vocale est réalisée pour n'effectuer la détection NB/WB que sur les trames pertinentes (trames considérées comme actives). L'algorithme illustré à la figure 6 est alors mis en œuvre après avoir obtenu au moins un critère local CritO. Ce critère va déterminer dans un premier temps, la nécessité de mettre en œuvre cette détection vocale.
Si CritO - 0 (c.-à-d. maxh-0) (O en E505), la décision locale pour le bloc courant est que celui-ci ne contient pas de contenu bande élargie (seulement éventuellement du contenu bande étroite). Cette décision est de plus considérée comme fiable.
Dans ce cas, la détection d'activité vocale n'est pas réalisée sur le bloc courant (la trame est considérée comme active), la procédure de détection locale décrite plus loin non plus, les indicateurs de décision locale deccur et dec™s r t sont mis à -1 en E506 (pas de contenu HD) et on passe à la procédure de décision « finale » en E531.
Sinon {CritO > 0) (N en E505), la procédure de détection d'activité vocale (DAV) est activée. Avantageusement, cette procédure utilise des paramètres qui sont déjà calculés pour la détection de bande audio.
Un exemple d'une telle procédure de détection d'activité vocale est décrit ci-dessous en référence à la figure 6. Trois critères peuvent être évalués pour cette détection d'activité vocale:
CritOvAD- Ll/ - threshOVAD Critl VAD- maxi - threshlVAD*maxh
Crit2VAD- Lli - thresh2VAD*Llh
avec threshOVAD = 80*8192 (=655360); threshlVAD = 0.57 ; thresh2VAD = 0.57 .
Le critère C tlVAD permet de comparer le rapport max/maxh au seuil threshlVAD (0.57) tandis que le critère Crit2VAD permet de comparer le rapport L/Lh au seuil thresh2VAD (0.57).
La procédure de détection d'activité vocale comporte les étapes suivantes :
a) En E601, Initialisation de l'indicateur d'activité vocale flagVAD: flagVAD - 1 b) En E602, Calcul du critère CritOVAD et test sur ce critère tel que si CritOVAD< 0, alors flsgvAD = 0 et la procédure de DAV est terminée sinon on effectue l'étape c) c) En E603, Calcul du critère C tlVAD et test sur ce critère tel que si CritlVAD>Q, alors la procédure de DAV est terminée (avec flagVAD - 1) sinon on effectue l'étape d) d) En E604, Calcul du critère C t2VAD et test sur ce critère tel que si C t2VAD< 0, alors flagvAD = 0
A la fin de cette procédure de détection d'activité vocale, l'indicateur d'activité vocale permet d'écarter certains blocs d'échantillons de la procédure de détection de bande de fréquence. En effet, si l'indicateur d'activité vocale flagVAD est à 0 (N à l'étape E507, pas d'activité vocale sur le bloc), les indicateurs de décision locale dec uret dec™s r t sont mis à 0 à l'étape E508, la détection locale sur ces blocs n'est pas nécessaire et on passe alors à la procédure de décision « finale » en E531. Par contre, si l'indicateur d'activité vocale flagVAD est à 1 (O à l'étape E507), la détection locale (« instantanée ») est effectuée à partir de l'étape E504.
Dans ce mode de réalisation, la décision locale est « dure ».
La procédure de décision locale est effectuée à partir de l'étape E504 où on effectue une étape d'initialisation:
- à zéro de deux indicateurs de bande audio flagNB et flagWe '-flagNB - flagwe - 0
- de la décision « finale » courante à la décision « finale » passée : deccur - decprev
A l'étape E510, quatre critères Critl, Crit2, Crit2, Crit3 (Critl- maxh-threshlM *max/, Crit2- maxh-t res 2M * max/, Crit3- Llh-thresh3M *L1/, Crit4- Llh-thresh4M *L1) sont calculés.
Les étapes E512 à E515 permettent de définir les indicateurs f/agm et f/agm se\on les critères multi-bande Critl et Crit2 calculés à partir des paramètres maxh et max/ et selon les critères multi-bande Crit et Crit4 calculés à partir des paramètres Llh et Llt
Dans ce mode de réalisation, l'indicateur flagNB (resp. flagwe) est incrémenté si Critl (resp. Crit2) est négatif (resp. positif) :
Si Critl <0 (O en E512), flagNB += amax en E516; si Crit2 >0 (O en E513), flagWB += maxen E517, omax et max étant des constantes positives (voir plus loin). L'indicateur flagNB { resp. flagwe) est incrémenté si C t3 (resp. C t4) est négatif (resp. positif) :
Si Crit3 <0 (0 en E514) flagNB += oL1 en E518; si Crit4 >0 (0 en E515), f/agm + = β en E519, et β étant des constantes positives.
L'étape E520 est ensuite mise en œuvre pour calculer la décision locale instantanée en fonction des deux indicateurs de bande audio flagNB e\. flagWe-
• Si les deux indicateurs de bande audio sont à zéro (0 en E520) (aucun des critères n'a été passé), la décision locale dec^t est prise égale à la décision finale du bloc précédent { decprev ) en E521 : si flagNB - flagWe - 0, alors dec-Z- decprev
• Si les deux indicateurs de bande audio sont tous deux différents de zéro (0 en E522), la décision locale est celle de l'indicateur le plus grand. On vérifie alors en E525: o si flagwe > flagNB (0 en E525) alors dec°Zt - 1 en E526 (cas contenu WB détecté) o sinon (N en E525) dec^t = -1 en E528 (cas contenu NB détecté, pas de contenu HD)
Dans ce cas, la fiabilité de la décision locale est considérée comme faible.
On comprend que le choix de omax, βη3Χ, oL1, et β permet de donner plus d'importance à un paramètre par rapport à un autre. Par exemple, si omax, > <¾, βα, en cas de « désaccord », c'est l'indication donnée par le paramètre max qui l'emportera sur celle du paramètre Ll. C'est le cas dans ce mode de réalisation où αηΊ3ΧηΊ3Χ^2 et θα-βα-
• Si un seul des deux indicateurs de bande audio est différent de zéro (N en E522), la décision est donnée par l'indicateur non nul, on vérifie alors en E523: o si flagWB > 0 (0 en E523) alors dec-Z - 1 en E524 o sinon (N en E523) dec = -1 en E527
De plus, dans ce cas, on évalue la fiabilité de la décision selon le nombre de critères vérifiés en E529 (un seul critère ou deux critères). Si plus d'un critère a été vérifié (O en E529), la décision « finale » courante est égale à cette décision locale instantanée : deccur = dec-Z en E530. Dans ce mode de réalisation, la décision locale est une décision dure. En variante, des décisions souples peuvent être utilisées. Par exemple, la décision peut être égale à la différence {flagWB-flagNB).
D'autres variantes sont possibles, par exemple plutôt que d'ajouter aux indicateurs de bande audio des constantes, on peut ajouter les critères pondérés :
flagNB - WxCritl + w3Crit3et flagWe - w2Crit2 + w4Crit4
Et là encore la décision locale peut être dure : si {flagWB - flagNB)> 0 alors deqnst - 1 (WB) sinon deqnst - -1 (NB) ou souple.
Comme mentionné précédemment, avantageusement, pour augmenter la fiabilité de la détection, la décision finale pour le bloc courant deccur dépend non seulement de la détection locale « instantanée » dec^ mais aussi de la fiabilité de cette détection ainsi que des détections passées instantanée decp n r s e t v et finale decprev . La procédure de sélection de la décision finale vise à éviter les commutations trop rapides de détection de bande audio (peu probables dans les applications envisagées). Ainsi, à l'étape E531, on teste si dec = decinst .
Dans la positive (0 en E531), si dec- "^t = dec ur -0 (0 en E539) (le bloc courant a été détecté comme inactif) alors la décision finale dépend de la fiabilité de la décision du bloc précédent : si celle-ci est fiable ( dec ™ - decprev ) (0 en E540), alors elle est prolongée pour le bloc courant deccur - decprev en E541, sinon (N en E540) la décision déterminée par la procédure de détection locale pour le bloc courant est conservée en E542.
De même si dec™s r t = deccur≠0 (N en E539) (le bloc courant a été détecté comme actif) la décision déterminée par la procédure de détection locale pour le bloc courant est considérée comme fiable et elle est conservée en E542.
Dans la négative de l'étape E531, si deccur≠ dec™s r t , alors la décision déterminée par la procédure de détection locale pour le bloc courant n'est pas considérée comme fiable. Dans ce cas on vérifie en E532 si les détections locales instantanées du bloc courant et précédent étaient identiques.
- si dec™^ = dec (0 en E532), alors les décisions instantanées courante et précédente sont identiques, ce qui montre qu'un changement de bande a bien eu lieu et dans ce cas la décision finale courante est mise à jour pour refléter ce changement : deccur = dec- "s r t en E533. Si dec™r t≠ decp n r s e t v (N en E532), alors les décisions instantanées courante et précédente sont différentes, dans ce cas on vérifie en E534 si la décision locale instantanée précédente est identique à la décision locale. o si deccur≠ dec™ (0 en E534), alors les décisions tant courante que précédente sont peu fiables, et dans ce mode de réalisation, la décision finale courante est alors mise à zéro : deccur = 0 en E543.
• si deccur = dec™ (IN en E534), cela indique que la décision instantanée courante est peu fiable, c'est la décision finale courante qui est conservée et éventuellement utilisée pour modifier la décision instantanée courante.
Cette modification n'est effectuée que si le nombre de blocs consécutifs countreset où cela se produit est inférieur à un seuil Nreset, vérifié en E535. La décision instantanée courante est alors modifiée dec^t = decf t v en E536 et le compteur est incrémenté de 1
{countreset^ = 1) en E537. Dans tous les autres cas, le compteur de blocs countreSet est remis à zéro en E538. Dans ce mode de réalisation, on a : /Vresef,=l.
A la fin de la procédure de détection pour le bloc courant, les mémoires sont mises à jour - les données du bloc courant devenant celles du bloc précédent :
max"1 = max? , max"1 = max°¾ , L\ = Ll° , Ll"1 = Ll°h ; dec^ = decZ, , dec = dec ,
Au début du traitement, maxj"1 , max^1 , L\ , LV^ , decprev , dec?™ et countreset sont initialisés à zéro.
A la fin du traitement d'un bloc d'échantillons, la décision sur l'existence d'une bande de fréquence prédéterminée, ici la haute fréquence (contenu HD), est prise. Les applications nécessitant ce type d'informations peuvent alors être mises en œuvre.
La figure 7a illustre une représentation sommaire d'un terminal de communication TER comportant un dispositif de détection DETl tel que le dispositif 200 décrit en référence à la figure 2. Ce terminal de communication peut être un téléphone fixe ou mobile qui peut mettre en œuvre par exemple l'application d'affichage d'un logo HD.
Le terminal de communication comporte une interface INT comportant classiquement un clavier, un écran, un micro et un haut-parleur, un module de communication COM1, une mémoire morte MEM1 qui comprend un module de codage COD1 et un module de décodage DECOD1. Selon cette application, le flux audio étant décodé pour restituer le signal décodé, avantageusement l'étape de détermination pour chacune des deux sous-bandes de fréquence d'un signal estimé à partir du flux binaire pourra soit récupérer les signaux intermédiaires de ce décodage soit inversement les fournir au décodeur.
Dans l'exemple illustré ici, les modules de codage et de décodage sont de type modulation par impulsions (MIC, MICDA, ...). La mémoire morte MEM1 ou une autre mémoire du terminal comporte le dispositif de détection DET1 décrit en référence à la figure 2 et mettant en œuvre le procédé de détection tel que décrit en référence à la figure 3.
L'information de bande audio résultante du procédé de détection permet d'afficher le cas échéant un logo HD sur l'écran du terminal pour montrer à l'utilisateur si la bande de fréquence utilisée est bien une fréquence haute définition.
La figure 7b illustre une représentation sommaire d'un serveur SER comportant un dispositif de détection DET2 tel que le dispositif 200 décrit en référence à la figure 2. Ce serveur peut être un serveur de messagerie par exemple pour mettre en œuvre l'application d'indication du nombre d'appels déposés en bande élargie sur le serveur de messagerie.
Le serveur comporte un ensemble de boites de réception de messages EBR, un module de communication COM2, une mémoire morte MEM2 qui comprend un module de codage COD2, un module de gestion GES des messages vocaux enregistrés dans les boites de réception de l'ensemble EBR précité.
Dans l'exemple illustré ici, le module de codage est de type modulation par impulsions (MIC, MICDA, ...)■
La mémoire morte MEM2 ou une autre mémoire du terminal comporte le dispositif de détection DET2 décrit en référence à la figure 2 et mettant en œuvre le procédé de détection tel que décrit en référence à la figure 3.
Selon cette application, les informations de bande audio du procédé de détection permettent de dénombrer les appels déposés en bande élargie sur le serveur de messagerie sans que le décodage de ces messages soit nécessaire.

Claims

REVENDICATIONS
1. Procédé de détection d'une bande de fréquence prédéterminée dans un contenu audio codé selon un codage par sous-bandes de type modulation par impulsions pour lequel le flux binaire résultant ne comporte pas d'informations spectrales, caractérisé en ce qu'il comporte les étapes suivantes:
détermination (E301) par sous-bande de fréquence d'un ensemble prédéterminé de sous-bandes, d'un signal estimé à partir du flux binaire;
- détermination (E302) par sous-bande de fréquence de l'ensemble prédéterminé de sous-bandes, de paramètres non codés représentatifs du contenu audio, à partir du signal estimé correspondant;
calcul (E303) d'au moins un critère local à partir des paramètres déterminés; décision (E304) quant à la présence d'une bande de fréquence prédéterminée dans au moins une sous-bande du contenu audio en fonction du au moins un critère local calculé.
2. Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination par sous-bande d'un signal estimé comporte les étapes suivantes pour un échantillon courant:
obtention d'un paramètre d'adaptation associé à l'indice de quantification pour l'échantillon courant;
calcul d'un signal estimé pour une sous-bande pour l'échantillon courant à partir du paramètre d'adaptation déterminé, du signal estimé pour l'échantillon précédent et d'un facteur d'oubli prédéfini.
3. Procédé selon la revendication 1, caractérisé en ce qu'un paramètre non codé déterminé à partir du signal estimé pour une sous-bande est une norme du signal estimé dans cette sous-bande.
4. Procédé selon la revendication 1, caractérisé en ce qu'un paramètre non codé déterminé est un rapport entre la valeur maximale et la valeur minimale du signal estimé pour une sous-bande.
5. Procédé selon la revendication 1, caractérisé en ce qu'un critère local est calculé à partir de paramètres déterminés pour une seule sous-bande.
6. Procédé selon la revendication 1, caractérisé en ce qu'un critère local est calculé à partir de paramètres déterminés pour une pluralité de sous-bandes.
7. Procédé selon la revendication 5 ou 6, caractérisé en ce que le critère local est une distance entre un paramètre d'au moins une sous-bande et un seuil prédéterminé.
8. Procédé selon la revendication 1, caractérisé en ce qu'à la suite de l'étape de décision mise en œuvre pour une bande de fréquence et pour un bloc d'échantillons courant, une étape de décision globale est mise en œuvre par lissage du résultat la dite étape de décision locale et de K résultats antérieurs de décisions locales, relatifs à K blocs d'échantillons précédents le bloc courant.
9. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape de détection d'activité vocale à partir des paramètres non codés déterminés, par bloc d'échantillons et par sous-bandes de fréquence du contenu audio et d'application des étapes de calcul de seconds critères et de décision sur les blocs d'échantillons pour lesquels une activité vocale a été détectée.
10. Dispositif de détection d'une bande de fréquence prédéterminée dans un contenu audio codé selon un codage par sous-bandes de type modulation par impulsions pour lequel le flux binaire résultant ne comporte pas d'informations spectrales, caractérisé en ce qu'il comporte:
un module de détermination (201) par sous-bande de fréquence d'un ensemble prédéterminé de sous-bandes, d'un signal estimé à partir du flux binaire;
un module de détermination (202) par sous-bande de fréquence de l'ensemble prédéterminé de sous-bandes, de paramètres non codés représentatifs du contenu audio, à partir du signal estimé correspondant;
un module de calcul (203) d'au moins un critère local à partir des paramètres déterminés;
un module de décision (204) quant à la présence d'une bande de fréquence prédéterminée dans au moins une sous-bande du contenu audio en fonction du au moins un critère local calculé.
11. Terminal de communication caractérisé en ce qu'il comporte un dispositif de détection conforme à la revendication 10.
12. Serveur caractérisé en ce qu'il comporte un dispositif de détection conforme à la revendication 10.
13. Programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de détection selon l'une des revendications 1 à 9, lorsque ces instructions sont exécutées par un processeur.
14. Support de stockage, lisible par un processeur, sur lequel est stocké un programme informatique comprenant des instructions de code pour l'exécution des étapes du procédé de détection selon l'une des revendications 1 à 9.
PCT/FR2013/052516 2012-10-23 2013-10-22 Detection d'une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions WO2014064379A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1260066 2012-10-23
FR1260066A FR2997250A1 (fr) 2012-10-23 2012-10-23 Detection d'une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions

Publications (1)

Publication Number Publication Date
WO2014064379A1 true WO2014064379A1 (fr) 2014-05-01

Family

ID=47425140

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2013/052516 WO2014064379A1 (fr) 2012-10-23 2013-10-22 Detection d'une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions

Country Status (2)

Country Link
FR (1) FR2997250A1 (fr)
WO (1) WO2014064379A1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1152596A (fr) 1956-02-10 1958-02-20 Thomson Houston Comp Francaise Perfectionnements aux robinets à vide
US3196212A (en) * 1961-12-07 1965-07-20 Ibm Local amplitude detector
US20030144840A1 (en) * 2002-01-30 2003-07-31 Changxue Ma Method and apparatus for speech detection using time-frequency variance
US20050096898A1 (en) * 2003-10-29 2005-05-05 Manoj Singhal Classification of speech and music using sub-band energy
US20090222264A1 (en) * 2008-02-29 2009-09-03 Broadcom Corporation Sub-band codec with native voice activity detection
WO2010048999A1 (fr) * 2008-10-30 2010-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Discrimination de signal de contenu de téléphonie

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1152596A (fr) 1956-02-10 1958-02-20 Thomson Houston Comp Francaise Perfectionnements aux robinets à vide
US3196212A (en) * 1961-12-07 1965-07-20 Ibm Local amplitude detector
US20030144840A1 (en) * 2002-01-30 2003-07-31 Changxue Ma Method and apparatus for speech detection using time-frequency variance
US20050096898A1 (en) * 2003-10-29 2005-05-05 Manoj Singhal Classification of speech and music using sub-band energy
US20090222264A1 (en) * 2008-02-29 2009-09-03 Broadcom Corporation Sub-band codec with native voice activity detection
WO2010048999A1 (fr) * 2008-10-30 2010-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Discrimination de signal de contenu de téléphonie

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Mandatory Speech Codec speech processing functions; Adaptive Multi-Rate (AMR) speech codec; Transcoding functions (Release 11", 3GPP TS 26.090, September 2012 (2012-09-01)
"3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Speech codec speech processing functions; Adaptive Multi-Rate - Wideband (AMR-WB) speech codec; Transcoding functions (Release 10", 3GPP TS 26.190, March 2011 (2011-03-01)
"l'affichage sur un terminal fixe d'un logo ''HD Voice", HIGH DEFINITION VOICE, August 2011 (2011-08-01), Retrieved from the Internet <URL:http://www.gsmworld.com>
A. CHARBONNIER; J. P. PETIT.: "Sub-band ADPCM coding for high quality audio signals", ICASSP, 1988, pages 2540 - 2543
LIAOYU CHANG; XIAOQING YU; HAIYING TAN; WANGGEN WAN: "Research and Application of Audio Feature in Compressed Domain", IET CONFERENCE ON WIRELESS, MOBILE AND SENSOR NETWORKS, 2007, pages 390 - 393
REC. ITU-T G.722, 7 KHZ AUDIO-CODING WITHIN 64 KBIT/S, November 1988 (1988-11-01)
RECOMMENDATION ITU-T G.711 PULSE CODE MODULATION (PCM) OF VOICE FREQUENCIES, November 1988 (1988-11-01)
RECOMMENDATION ITU-T G.726, 40, 32, 24, 16 KBIT/S ADAPTIVE DIFFERENTIAL PULSE CODE MODULATION, December 1990 (1990-12-01)

Also Published As

Publication number Publication date
FR2997250A1 (fr) 2014-04-25

Similar Documents

Publication Publication Date Title
EP2277172B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP2374123B1 (fr) Codage perfectionne de signaux audionumeriques multicanaux
EP2489039B1 (fr) Codage/décodage paramétrique bas débit optimisé
Sun et al. Guide to voice and video over IP: for fixed and mobile networks
WO2007007001A2 (fr) Dispositif de codage/decodage hierarchique
WO2007096552A2 (fr) Procede de discrimination et d&#39;attenuation fiabilisees des echos d&#39;un signal numerique dans un decodeur et dispositif correspondant
EP2727107B1 (fr) Fenêtres de pondération en codage/décodage par transformée avec recouvrement, optimisées en retard
Diener et al. Interspeech 2022 audio deep packet loss concealment challenge
EP2795618B1 (fr) Procédé de détection d&#39;une bande de fréquence prédéterminée dans un signal de données audio, dispositif de détection et programme d&#39;ordinateur correspondant
EP3391370A1 (fr) Traitement de réduction de canaux adaptatif pour le codage d&#39;un signal audio multicanal
WO2014154988A1 (fr) Mixage partiel optimisé de flux audio codés selon un codage par sous-bandes
FR3049084A1 (fr)
EP2979437B1 (fr) Mixage optimisé de flux audio codés selon un codage par sous-bandes
Chen et al. Artificial bandwidth extension of telephony speech by data hiding
EP2203915B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal numerique avec repartition de la complexite
WO2014064379A1 (fr) Detection d&#39;une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions
WO2012131247A1 (fr) Traitement dans le domaine code d&#39;un signal audio code par codage micda
JP6713424B2 (ja) 音声復号装置、音声復号方法、プログラム、および記録媒体
Geiser Paths toward HD-voice communication
Ito Enrichment of Audio Signal using Side Information.
Patel et al. Bandwidth Extension of Speech Signals Using Quadrature Mirror Filter (QMF)
EP2232833A2 (fr) Traitement d&#39;erreurs binaires dans une trame binaire audionumerique
Nocito A Network Conditions Estimator for Voice Over IP Objective Quality Assessment
Davies et al. Implementing a superwideband codec for smartphone VoIP services
Ghous et al. Modified Digital Filtering Algorithm to Enhance Perceptual Evaluation of Speech Quality (PESQ) of VoIP

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: 13789875

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13789875

Country of ref document: EP

Kind code of ref document: A1