FR2997250A1 - 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
FR2997250A1
FR2997250A1 FR1260066A FR1260066A FR2997250A1 FR 2997250 A1 FR2997250 A1 FR 2997250A1 FR 1260066 A FR1260066 A FR 1260066A FR 1260066 A FR1260066 A FR 1260066A FR 2997250 A1 FR2997250 A1 FR 2997250A1
Authority
FR
France
Prior art keywords
band
sub
subband
decision
parameters
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
FR1260066A
Other languages
English (en)
Inventor
Claude Lamblin
Balazs Kovesi
Arnault Nagle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Priority to FR1260066A priority Critical patent/FR2997250A1/fr
Priority to PCT/FR2013/052516 priority patent/WO2014064379A1/fr
Publication of FR2997250A1 publication Critical patent/FR2997250A1/fr
Pending legal-status Critical Current

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

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 codecs 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" en anglais) 300-3400 kHz 8 kHz Bande étroite WB (pour "wideband" en anglais) 50-7000 kHz 16 kHz Bande élargie SWB (pour "super- wideband" en anglais) Bande super élargie 50-14000 Hz 32 kHz FB (pour "fullband" en anglais) 20- 2000 Hz 48 kHz 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 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)" 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 media 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 "Pulse Code Modulation"- et ses variantes telles que l'ADPCM "Adaptive Differential PCM" (utilisée par le codec bande élargie G.722), les techniques par prédiction linéaire dont les codeurs CELP "Code Excited Linear Prediction" (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 Discrete Cosine Transformation" ou FFT (comme le codeur UIT-T G.722.1, ou les codeurs MPEG MP3, AAC, O..). 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 apparait 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 S-n- "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 codecs 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 AMRWB 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 definition 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 coeur 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.0p.) 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 codecs entre les deux réseaux sont différents, comme illustré ici entre le codec de type AMR-WB et le codec 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 V11.0.0 (2012-09) 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)" 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 coeur de réseau (processus appelé "mid call codec 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 coeur de réseau mobile car le "mid call codec modification" n'est pas supporté par le fournisseur de coeur 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 AMRWB sur la partie accès et coeur 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 coeur mobile, le codeur mobile AMR-WB est toujours utilisé. A l'interface entre les deux coeurs 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 coeur 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 codec 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 codec 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 Mcg= {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: i-1 l'indice j,- est l'indice du premier "bin" de la bande i ii=Il / 03(k) ± 1 , et XR(k) et k=0 X/ (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 EcB(i)= LFFT 1 1 / 03(1) 1'4) "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; (CCWMSNO7), 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 =Max{iISMRSiTsRms}- Min{ilSMRSi TSRMS} où SMRSi est la racine carré de l'énergie de la Peine bande (SMRS i = - 2.,S1 , en notant S, le jleme coefficient de la Peine bande et Ni, le nombre de coefficients dans la Peine 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 couteuses 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.
Il 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 oeuvre pour une bande de fréquence et pour un bloc d'échantillons courant, une étape de décision globale est mise en oeuvre 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 oeuvre. 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 oeuvre 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 oeuvre un procédé de détection tel que décrit 25 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 30 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 oeuvre 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 35 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 oeuvre; - les figures 5a et 5b illustrent un organigramme représentant les étapes du procédé selon l'invention dans une mise en oeuvre 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 oeuvre 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 oeuvre 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 oeuvre 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 oeuvre 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 oeuvre 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 oeuvre 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 oeuvre 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 (M=4) 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 BluetoothTM 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 Pulse code modulation (PCM) of voice frequencies, Nov. 1988" et "Recommendation ITU-T G.726, 40, 32, 24, 16 kbit/s adaptive differential pulse 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 oeuvre 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 oeuvre 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 (0i< M): (n), n=0, ..., Nr1, N, étant le nombre d'échantillons dans une sous-bande i. Le module 202 met en oeuvre 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 4 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 ci-dessous pour une bande idonnée (0i< /v/) : (i) = N,-1 Loo Li(i)= L2(i) = n=0 n=0 Des versions « normalisées » peuvent être aussi utilisées, telles que : N,-1 N,-1 (i) - 1:5(12)1 ; L'2 (i) - S;(n) 2 Ni n=0 Vi n=0 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 -: min (rs; ( n )1) min (i(n)) Pm nmax (i) = P' min max (i) max (rs;(n)l) max (S.; (n)) 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 oeuvre 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 i et un seuil thresh,(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), thresh .(i)) Avantageusement, cette "distance" est la simple différence entre le paramètre p(i) 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, /v/) : critOm(i) = dist(L'(i) ,thre sh0 ffi(i)) , critlm( j) = dist(L' ( j), threshlm( j)) , où thresh0,(i) et threshim(D 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 ien 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 i et un paramètre qÛ) d'une sous-bande / Là aussi, comme dans le cas de critère mono-bande, un seuil threshm(/,7)- 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 /v/) : critOm (i, j) = dist th(dist p(,10' minmax (0, Pm nmax j)),thresh0 m (i, i))' critlm (i, j) = dist' th (dist' p (L' 1(i), L' 1( j)),threshlm (i, j)) Avantageusement, une "distance" distdi est une simple différence entre un seuil et une distance dist p entre des paramètres d'au moins deux sous-bandes. La distance dist p 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 : dist (L'1 L' ( j)) = (i) L' (i)/ L'1(j) ou dist' p (E 1 (i), 40(i))= L00( 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 oeuvre par le module 204. A cette étape, une décision locale (« instantanée », notée decicriusr,) est prise en détectant si le contenu audio codé comporte des fréquences dans au moins une sous-25 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 i telles que, où ith est l'indice de la sous-bande incluant la fréquence Fth. Au moins une de ces sous- 30 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 oeuvre 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 xFi(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 IFi(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. indice d'amplitude I(n) 0 1 2 3 4 5 6 7 valeur de quantification 0 0.037 0.079 0.129 0.192 0.274 0.394 0.624 y(I(n)) 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 indice d'amplitude I(n) 0 1 2 3 4 5 6 7 log facteur d'adaptation -60 -30 58 172 334 538 1198 3042 ML(I(n)) linéaire facteur d'adaptation 0.98 0.99 1.02 1.06 1.12 1.2 1.5 2.81 M(I(n)) 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(vdn-1) + ML(I(n-1)), 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-1) + ML(I(n-1)), 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-1)°.9922* M(I(n-1)), 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 codec 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 N indices binaires, 1(n), /11.
On peut noter que dans le cas du G.722, les nombres d'échantillons codés dans les deux sous-bandes sont égaux (No-Ni). Dans ce mode de réalisation, on a de plus : Pour cet exemple de réalisation, la taille des blocs Nest 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 oeuvre pour ce mode de réalisation. Ainsi, à l'étape E501, à partir des N indices 1(n) contenus dans le flux binaire pour le bloc courant, on estime deux signaux, un pour chaque sous-bande. On note :s.'0(n) et :-s.; (n) , N-1, 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, b-P,], avec YuPo = 18432 et &rte./ 22528, et auxquels est appliqué un facteur d'oubli, comme par exemple dans le codec 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 : N-1 Loo(i)- max (P;(n)l) , (i) = (n)1 , 0,1. n=0 En pratique, comme les signaux estimés sont limités dans un intervalle [0, el, il est inutile de calculer la valeur absolue des signaux estimés. On a donc : N-1 Loo(i)= max((n)) , Li(i) =Irs-i(n) , n=0 Par la suite, on note ces quatre paramètres pour le bloc courant avec un exposant 0 (bloc de taille N-80 soit 10 ms) : - pour la sous-bande basse (1=0) : max/c) = L(0), L1 = - pour la sous-bande haute (1=1) : max°h = Loo (1) , Leh = 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/ = max(max, maxii) , L1/ = L1/c) + Llii , - pour la sous-bande haute : maxh = max(maxh° , maxià , Llh = L1h° + L1h-1, où maxi', , maxi', L11,-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 2N é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 2N é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 multi- bande 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: Crit0= maxh-threshOm Deux des critères multi-bande utilisent le paramètre maxdes deux sous-bandes basse et haute (maximum de la bande haute maxh et maximum de la bande basse maxi) et permettent de comparer le rapport entre ces deux paramètres (maxh/maxi) à deux seuils - threshlm et thresh2m (avec threshlm<thresh2m).
Deux autres critères multi-bande utilisent le paramètre Li des deux sous-bandes basse et haute (L.th et Li,) et permettent de comparer le rapport entre ces deux paramètres (Lih/L/,) à deux seuils - thresh3m et thresh4m (avec 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 (plq,- threshm), on calcule avantageusement : prethreshm. maxh-threshlm*max, Crit2=maxh-thresh2m*max, Crit3=L1h-thresh3m*L1, Crit4=L1h-thresh4m*L1, Les seuils ont été déterminés par exemple à partir des histogrammes des distributions du paramètre maxh et des rapports de paramètres maxhl max, et L/h/Li, dans les configurations testées. Dans ce mode de réalisation, les seuils sont fixes et égaux à : threshOm= 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 oeuvre après avoir obtenu au moins un critère local Crit0. Ce critère va déterminer dans un premier temps, la nécessité de mettre en oeuvre cette détection vocale.
Si Crit0 = 0 (c.-à-d. maxh=0) (0 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 dec' et deci7, sont mis à -1 en E506 (pas de contenu HD) et on passe à la procédure de décision « finale » en E531. Sinon (Crit0 > 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= Li, - threshOvAD Cf/titi/AD= max,- threshlvAD*maxh Cr1t2VAD= Li, threSh2VAD *L lh avec threshOvAD = 80*8192 (-655360); threshl VAD = 0.57; thresh2vAD = 0.57. Le critère CritivAD permet de comparer le rapport max/maxh au seuil threshl vAD (0.57) tandis que le critère Cht2vAD 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 flag flan 1 VAD- VAD - b) En E602, Calcul du critère CritOvAD et test sur ce critère tel que si CritOvAD< 0, alors flagvAD = 0 et la procédure de DAV est terminée sinon on effectue l'étape c) c) En E603, Calcul du critère CritivAD et test sur ce critère tel que si Cr1tivAD>0, alors la procédure de DAV est terminée (avec f/agvAD= 1) sinon on effectue l'étape d) d) En E604, Calcul du critère Cht2vAD et test sur ce critère tel que si Crit2vAD< 0, alors fiagvAD= 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 flag VAD est à 0 (N à l'étape E507, pas d'activité vocale sur le bloc), les indicateurs de décision locale dec'et deciZ, 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 flag VAD est à 1 (0 à 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 f/agNs et flagws:flagAis= flagws= 0 - de la décision « finale » courante à la décision « finale » passée : deccur = decPrev A l'étape E510, quatre critères Critt, Crit2, Crit2, Crit3 (Critt= maxh-threshlm *maxi, Crit2= maxh-thresh2m * maxi, Crit3= Llh-thresh3m Crit4= Llh-thresh4m *La sont calculés. Les étapes E512 à E515 permettent de définir les indicateurs flagNs et flagws selon les critères multi-bande Critt et Crit2 calculés à partir des paramètres maxh et max, et selon les critères multi-bande Cht3et Crit4 calculés à partir des paramètres Lth et Li, Dans ce mode de réalisation, l'indicateur flagNs (resp. flagws) est incrémenté si Critt (resp. Crit2) est négatif (resp. positif) : Si Critt <0 (0 en E512), f/agNs += am ax en E516; si Crit2 >0 (0 en E513), flagws ±- ,Gmax en E517, orna), et flmax étant des constantes positives (voir plus loin).
L'indicateur f/agNs ( resp. flagws) est incrémenté si Crit3(resp. Crit4) est négatif (resp. positif) : Si Crit3 <0 (0 en E514) fagne += au en E518; si Crit4 >0 (0 en E515), flagws += en E519, au et 'Gu étant des constantes positives.
L'étape E520 est ensuite mise en oeuvre pour calculer la décision locale instantanée en fonction des deux indicateurs de bande audio f/agNs et flagws. - 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 deciZr, est prise égale à la décision finale du bloc précédent (decPrev ) en E521 : si flagNs = flagws = 0, alors dect7t= 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 flagws> flagNs (0 en E525) alors dect7t= 1 en E526 (cas contenu WB détecté) o sinon (N en E525) dect7t= -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 amax, au, et ,Gu permet de donner plus d'importance à un paramètre par rapport à un autre. Par exemple, si am axf , R MaX>a e- IR L11 en cas de « désaccord », c'est l'indication donnée par le paramètre max qui l'emportera sur celle du paramètre Li. C'est le cas dans ce mode de réalisation où a max= flmax=2 et au=flu=1 - 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 flagws> 0(0 en E523) alors dectZt= 1 en E524 o sinon (N en E523) dectZt= -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é (0 en E529), la décision « finale » courante est égale à cette décision locale instantanée : dec' =dectZ, 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 (flagwr flagN5). 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 : flagNs = wiCritt + w3Crit3 et flagws= w2Crit2 + w4Crit4 Et là encore la décision locale peut être dure : si (flagws - flagNs)> 0 alors dec,5 = 1 (WB) sinon dec',st= -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 » dee:sr, mais aussi de la fiabilité de cette détection ainsi que des détections passées instantanée deciPnrsetv et finale dec Prev . 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 " decr = dec sr . Dans la positive (0 en E531), si decicnusrt = dec cur =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 (deciPnrsetv = decPr ) (0 en E540), alors elle est prolongée pour le bloc courant dec' = 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:srt = dee'. *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 dec" dec:srt , 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 decicnusrt = dec fnrsetv (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 = decicnusrt en E533. Si decicnusrt dec [nrsetv (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 dec' # dec Zetv (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 = deciZetv (N 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 count''t où cela se produit est inférieur à un seuil N,'t, vérifié en E535. La décision instantanée courante est alors modifiée dec : = dec frirsetv en E536 et le compteur est incrémenté de 1 (count,'t+=1) en E537. Dans tous les autres cas, le compteur de blocs count,'t est remis à zéro en E538. Dans ce mode de réalisation, on a : N,'t,=1. 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 : 0 max1 = max/ maxi' = max° L1-1 = Ll° L1h-1 = Llh° ; dec[nrsetv = dec Ç, h 1 1 dec'"v = de c"r Au début du traitement, maxi', maxi', Llii , dec prev dec iPrirsetv et count,'t 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 oeuvre. La figure 7a illustre une représentation sommaire d'un terminal de communication TER comportant un dispositif de détection DET1 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 oeuvre 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 oeuvre 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 oeuvre 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 oeuvre 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.25

Claims (14)

  1. REVENDICATIONS1. 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. 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. 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. 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. 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. 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. 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. 8. Procédé selon la revendication 1, caractérisé en ce qu'à la suite de l'étape de décision mise en oeuvre pour une bande de fréquence et pour un bloc d'échantillons courant, une étape de décision globale est mise en oeuvre 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. 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. 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. 11. Terminal de communication caractérisé en ce qu'il comporte un dispositif de détection conforme à la revendication 10.
  12. 12. Serveur caractérisé en ce qu'il comporte un dispositif de détection conforme à la revendication 10.
  13. 13. Programme informatique comportant des instructions de code pour la mise en oeuvre 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. 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.5
FR1260066A 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 Pending FR2997250A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
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
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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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
FR2997250A1 true FR2997250A1 (fr) 2014-04-25

Family

ID=47425140

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1260066A Pending 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

Country Status (2)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* 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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
WO2014064379A1 (fr) 2014-05-01

Similar Documents

Publication Publication Date Title
EP2277172B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP1907812B1 (fr) Procede de commutation de debit en decodage audio scalable en debit et largeur de bande
EP1905010B1 (fr) Codage/décodage audio hiérarchique
EP2489039B1 (fr) Codage/décodage paramétrique bas débit optimisé
EP2727107B1 (fr) Fenêtres de pondération en codage/décodage par transformée avec recouvrement, optimisées en retard
WO2007096552A2 (fr) Procede de discrimination et d&#39;attenuation fiabilisees des echos d&#39;un signal numerique dans un decodeur et dispositif correspondant
Sun et al. Guide to voice and video over IP: for fixed and mobile networks
EP2979266B1 (fr) Mixage partiel optimisé de flux audio codés selon un codage par sous-bandes
EP1356455B1 (fr) Methode et dispositif de traitement d&#39;une pluralite de flux binaires audio
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
FR2884989A1 (fr) Procede d&#39;adaptation pour une interoperabilite entre modeles de correlation a court terme de signaux numeriques.
EP2347411B1 (fr) Attenuation de pre-echos dans un signal audionumerique
EP2979437B1 (fr) Mixage optimisé de flux audio codés selon un codage par sous-bandes
EP2203915B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal numerique avec repartition de la complexite
Chen et al. Artificial bandwidth extension of telephony speech by data hiding
FR2997250A1 (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
FR3133265A1 (fr) Codage et décodage optimisé d’un signal audio utilisant un auto-encodeur à base de réseau de neurones
FR2973552A1 (fr) Traitement dans le domaine code d&#39;un signal audio code par codage micda
EP2232833A2 (fr) Traitement d&#39;erreurs binaires dans une trame binaire audionumerique
FR3018942A1 (fr) Estimation d&#39;un bruit de codage introduit par un codage en compression de type micda
FR2910758A1 (fr) Procede d&#39;estimation de la qualite d&#39;une communication en mode paquet
FR3007184A1 (fr) Controle du traitement d&#39;attenuation d&#39;un bruit de quantification introduit par un codage en compresssion
FR2863792A1 (fr) Procede de compression de signaux audio sans contrainte de delai