Résumé

  • RFC 3389 a défini un petit descripteur de bruit de confort : un octet obligatoire pour le niveau, auquel pouvaient s’ajouter des coefficients décrivant le spectre.
  • Ce descripteur ne transportait pas l’enregistrement d’une pièce ; il donnait au récepteur les moyens de produire son propre bruit d’ambiance pendant l’arrêt des paquets de parole.

Une ligne téléphonique parfaitement silencieuse n’inspire pas toujours confiance. Dans une pièce réelle, même lorsque personne ne parle, subsistent la ventilation, l’électronique du microphone, une rue lointaine et le souffle acoustique du lieu. Leur disparition instantanée peut ressembler moins au calme qu’à une coupure.

Pour la téléphonie par paquets, conserver ce fond sonore en envoyant sans cesse des échantillons complets aurait annulé une partie de l’économie obtenue grâce à la transmission discontinue. Le choix fut plus subtil : mesurer quelques propriétés du bruit, les transmettre rarement, puis demander au récepteur de fabriquer une ambiance crédible.

Publié en septembre 2002 sur la voie des normes, RFC 3389 a fixé ce passage minimal. Il visait surtout les codecs qui ne possédaient pas leur propre dispositif de bruit de confort, parmi lesquels G.711, G.726, G.727, G.728 et G.722. Il ne prétendait pas uniformiser toute la chaîne vocale.

La chaîne commence par un détecteur d’activité vocale. Celui-ci classe un segment comme actif ou inactif. Un mécanisme de transmission discontinue décide ensuite quand arrêter les paquets ordinaires et quand envoyer une mise à jour de bruit. Du côté opposé, un générateur produit un signal artificiel à partir des paramètres reçus.

RFC 3389 laisse ces trois décisions aux implémentations. Il ne dit ni comment reconnaître une voix faible, ni à quelle fréquence réévaluer une pièce, ni quelle texture doit être synthétisée. Son autorité porte sur la forme commune du message échangé entre machines indépendantes.

Ce message, également appelé SID pour Silence Insertion Descriptor, commence par un octet de niveau. Le bit de poids fort est inutilisé et doit rester à zéro ; les sept autres codent une magnitude de 0 à 127 en décibels négatifs par rapport à la surcharge numérique. Zéro correspond à 0 dBov, 127 à −127 dBov.

Cet octet ne contient aucune tranche sonore. Il exprime une mesure. Un récepteur peut donc produire une infinité de suites d’échantillons compatibles avec la même valeur. La conformité de l’octet ne prouve pas l’identité acoustique entre la pièce d’origine et le signal entendu.

Le format autorise ensuite des coefficients de réflexion quantifiés. Ils décrivent l’enveloppe spectrale d’un modèle tout-pôle. Leur nombre n’est pas placé dans un champ séparé : la longueur du descripteur révèle l’ordre du modèle. L’encodeur peut choisir cet ordre selon la qualité recherchée, la complexité disponible, la nature du bruit et la bande passante. Le décodeur peut réduire l’ordre en annulant des coefficients supérieurs.

Cette souplesse rend la compatibilité intéressante. Une ancienne mise en œuvre qui ne connaît que l’octet de niveau peut ignorer les octets spectraux ajoutés. Elle accepte toujours le descripteur, mais elle reconstruit un environnement moins informé. « Décodé avec succès » ne signifie donc pas « interprété avec la même richesse ».

Dans RTP, le paquet de bruit de confort est construit comme s’il appartenait à un codec autonome. Son horodatage indique le début de la période de bruit décrite. Son bit marqueur ne devrait pas être activé. Chaque paquet doit contenir exactement un descripteur CN par canal, et tous les canaux d’un même paquet utilisent le même ordre spectral.

Le numéro de charge utile a lui aussi une portée précise. Le type statique 13 signifie CN avec une horloge RTP de 8 000 Hz. Pour une autre fréquence, la session doit choisir un type dynamique et annoncer une association telle que CN/16000. Lire seulement le nombre 13 sans vérifier l’horloge et la description de session produit une preuve incomplète.

Au début d’une période vocale inactive, l’émetteur envoie un paquet CN dans le même flux RTP. Il peut ensuite publier des mises à jour périodiques, ou attendre que les caractéristiques du fond changent assez. Le RFC refuse d’imposer une cadence universelle. Entre deux mises à jour, le récepteur prolonge son modèle local.

Cette architecture sépare cinq faits souvent confondus. Le détecteur affirme localement que la parole est inactive. Le dispositif DTX suspend les trames ordinaires. Le paquet décrit un niveau et parfois un spectre. Le récepteur transforme ces paramètres en onde. Enfin, l’auditeur juge si le résultat paraît naturel. Aucune de ces étapes ne constitue automatiquement le reçu de la suivante.

Même l’absence de paquets ne suffit pas. La partie SDP de RFC 3389 précise que l’omission de CN ne signifie pas l’absence de suppression du silence. RTP autorise la transmission discontinue pour tout format audio. Après un intervalle, le saut d’horodatage avec une progression normale du numéro de séquence peut signaler cette situation. Mais une capture incomplète, une perte ou une panne peuvent produire une autre forme d’absence. Il faut conserver la négociation et le comportement des extrémités.

RFC 6263 a plus tard étudié les paquets CN comme maintien d’ouverture pour les traducteurs d’adresses. Le texte souligne un piège : l’autre extrémité doit prendre en charge et négocier CN, et elle risque de rendre le paquet audible. Un outil destiné à maintenir un chemin réseau peut donc modifier l’expérience humaine. Le niveau choisi devient un paramètre d’exploitation.

RFC 6465 a repris la convention en −dBov pour indiquer un niveau audio dans une extension RTP. La même unité facilite la comparaison, mais elle n’efface pas la différence d’autorité. Une extension de niveau accompagne un média ; un descripteur CN commande la matière à partir de laquelle un récepteur crée un son en l’absence de parole.

Le principe de spécification initiale minimale de Lu Heng éclaire cette retenue. Les éléments qui doivent être partagés sont stricts et vérifiables : encodage du niveau, coefficients facultatifs, ordre des octets, temps de départ, canaux, nom CN et relation entre type et fréquence. Le choix futur d’un meilleur détecteur ou d’un meilleur synthétiseur reste chez celui qui exécute le logiciel.

La primauté du code en fonctionnement rappelle la limite inverse. La publication du RFC ne garantit ni voix correctement détectée ni ambiance convaincante. Seule l’exécution observée peut établir ce résultat. Le document rend l’interopérabilité possible ; il ne transforme pas son modèle en vérité acoustique.

RFC 3389 a ainsi transporté moins qu’un son, mais davantage qu’un silence. Il a transmis une description assez mince pour économiser le réseau et assez précise pour permettre une reconstruction locale. Lorsque les paquets de parole s’arrêtaient, la pièce distante continuait d’exister ; la pièce entendue, elle, devenait une œuvre du récepteur.

Sources