Transcodage

Un article de Wikipédia, l'encyclopédie libre.

Le transcodage, en vidéo ou en audio, est le fait de changer le format de codage d'un média (voir aussi codage et codec) d'une source pour traiter un média audio ou vidéo ou véhiculer un signal analogique ou numérique.

Plus généralement, le terme transcodage est utilisé lorsque l'on change la manière de coder une information.

Contexte historique[modifier | modifier le code]

À partir du XXe siècle avec l'apparition des technologiques de retransmission du son et de l'image telles que la radiodiffusion et la télévision, différentes normes et standards voient le jour dans de multiples parties du monde. Pour faciliter les échanges nécessaires entre ces différentes zones géographiques, des dispositifs sont élaborés pour transformer les sources reçues dans des formats ou standards compatibles avec la zone qui les reçoit. Durant la période où seule la technologie analogique domine, ce sont des appareils ou équipements électroniques qui effectuent les traitements visant à transcoder ces signaux.

L'apparition et l'émergence de la technologie numérique au cours de la fin du XXe siècle révolutionne ces traitements. Dès lors, les signaux sont échantillonnés, analysés, traités et convertis en fichiers avant d'être transcodés dans un nouveau format audio ou vidéo. Ce processus est le plus souvent réalisé par des logiciels et algorithmes et des appareils ou ordinateurs dotés de processeurs.

Principes généraux[modifier | modifier le code]

Formats analogiques : transcodage vidéo[modifier | modifier le code]

Il existe différentes formule pour décomposer et traiter les signaux vidéo, en fonction de leur exploitation grand public, professionnelle, télédiffusion, enregistrement, stockage, etc...

Le système utilisé pour coder l'information de couleur ou chrominance, généralement en 525 lignes ou 625 lignes en définition standard :

  1. RGB, ou un canal séparé pour le rouge (Red), pour le vert (Green) et pour le bleu (Blue). Un canal de transparence peut être associé au signal RGB, désigné par RGBA (Alpha). Les signaux de synchronisation sont inclus dans chaque canal.
  2. Y/C, lors de la séparation de la luminance et de la chrominance. Les signaux de synchronisation sont inclus dans chaque canal.
  3. PAL, SECAM ou NTSC pour les signaux vidéocomposites.
  4. La valeur électrique utilisée pour mesurer le signal (voir volt) (l'audio professionnel utilise des signaux pouvant aller jusqu'à 2 volts crête, alors que le grand public utilise des tensions ne dépassant pas 1 volt).
  5. Le type de signal électronique (différentiel symétrique ou asymétrique).
  • Le transcodage d'un standard couleur vers un autre peut être réalisé par des équipements dédiés comme les transcodeurs ou grâce à un ordinateur doté d'une carte d'acquisition vidéo analogique qui échantillonne le signal pour le transcoder grâce à un logiciel. Exemple : transcodeur PAL->SECAM
  • La conversion d'un standard couleur associé à une cadence / norme vidéo vers une autre est appelé « convertisseur ». Exemple, de PAL ou SECAM vers NTSC et l'inverse.

Formats numériques : photo, vidéo et audio[modifier | modifier le code]

Les formats de codage employés pour décrire un média doivent tenir compte de nombreux paramètres, décrits ci-dessous.

En photographie[modifier | modifier le code]

  1. Le nombre de points ou pixels significatifs de la photo sur une échelle de longueurs (résolution par centimètre carré).
  2. Le nombre d'information nécessaire pour coder un point (profondeur de couleur).
  3. La dimension de la photo.
  4. L'espace colorimétrique exploité

Pour la vidéo[modifier | modifier le code]

  1. Le nombre de lignes horizontales et verticales formant l'image.
  2. Le nombre de données nécessaire définissant les caractéristiques d'un point coloré (profondeur de couleur d'un pixel).
  3. Le rapport hauteur/largeur de l'image (4:3, 16:9 par exemple).
  4. Le nombre d'images par seconde.
  5. Le taux de compression, le débit numérique et les algorithmes exploités.

Pour l'audio[modifier | modifier le code]

  1. Le nombre d'échantillons par seconde (48 kHz, par exemple).
  2. La résolution donnée à chaque échantillon et la grandeur physique qu'on lui donne (16 bits par exemple).
  3. Le nombre de canaux échantillonnés (stéréo par exemple).
  4. Le taux de compression, le débit numérique et les algorithmes exploités.

Domaine d'application[modifier | modifier le code]

Le terme transcodage est notamment utilisé dans les domaines de l'informatique, de l'audiovisuel et des télécommunications. Il est également exploité pour le traitement d'autres supports (texte, commandes, données statistiques, etc...).

La nécessité de coder, d'encoder ou de transcoder un média est nécessaire lorsque le support exploité pour l'acheminer ou l'archiver rend complexe ou impossible une prise en charge « native » de ce média ; ou exploite ainsi un format spécifique dans ce but en visant à ne pas (trop) dénaturer la source.

Exemple : un film sauvegardé sur un DVD vidéo du commerce au format PAL exploite une résolution de 720 colonnes de 576 lignes à la fréquence de 25 images par seconde. Le volume d'informations à gérer pour un codage RGB sur 3 octets, format le plus répandu dans le cas d'un codage non compressé, représente 720 x 576 = 414 720 points par image. Soit 414 720 x 3 octets pour coder la couleur et la luminance de chaque point = 1 244 160 octets par image, soit 1 215 ko). À raison de 25 images par seconde, on atteint les valeurs de 30 375 ko (29 Mo) par seconde, soit 1 780 Mo par minute, soit encore 104 gigaoctets par heure. Cette estimation n'est valable que pour le codage numérique de type MPEG-2 au profil normal. D'autres algorithmes plus récents tels que MPEG-4 AVC H.264 ou HEVC H.265 parviennent à réduire ces valeurs sans affecter la qualité perceptibles de la vidéo.

Les DVD commerciaux ne pouvant contenir que jusqu'à 9 gigaoctets de données au maximum, la solution consiste transcoder et traiter la source.

Télécommunications[modifier | modifier le code]

Le terme transcodage est employé lors de l'adaptation des données de voix ou de vidéo retransmises quand elles doivent être acheminées au travers de différents commutateurs ou différents réseaux (câbles, fibres ou mobiles) incompatibles entre eux, au niveau des codecs utilisés par les PABX, aux IPBX ou aux Media Gateways. Le terme « conversion » est parfois utilisé pour adapter « à la volée » ou en temps réel, par exemple, une source avec codec G.711 au codec G.722 du fait qu'aucun enregistrement des données n'est effectué.

Le transcodage[modifier | modifier le code]

Le transcodage permet d'adapter le format du média au support sur lequel il est transporté, stocké ou diffusé.

Il est aussi utilisé pour adapter le média au matériel aux normes différentes en vue de son traitement (interopérabilité).

Le format SVCD par exemple permet de faire contenir un film de plus d'une heure sur un support de 650 Mo. Mais c'est au prix d'une qualité d'image moins grande qu'un DVD en raison du codec utilisé pour parvenir à cela : on parle alors de codec plus destructif qu'un autre.

On adaptera donc, soit la qualité du média à une quantité de données d'information (résolution, finesse des détails) compatible avec le support envisagé au transport, au stockage ou à la diffusion du média ; soit sa quantité d'information véhiculée en modifiant par exemple le nombre d'images par seconde d'une vidéo, ou en changeant sa définition.

Transcodage et qualité[modifier | modifier le code]

Rares sont les codecs non destructifs ; mais certains détruisent plus discrètement que d'autres.

Au terme d'un transcodage, le but recherché est la qualité restituée du média. Mais il faut aussi qu'il puisse être stocké sur un support pratique et peu encombrant. Le rapport « Compression du média/Espace pouvant le contenir » est directement lié et déterminera le type de transcodage à effectuer.

À ne pas négliger non plus, les possibilités du matériel final (sur lequel sera lu le média) car la prise en charge de différents codecs n'est pas assurée selon le type et la génération du lecteur du média.

Une autre attention à porter au choix du codec utilisé concerne le nombre de calculs à effectuer pour restituer l'intégralité d'un média. Par exemple, l'affichage d'un film HD codé avec x264 demande d'importantes capacités de processeur, ou des circuits intégrés spécifiques qui ne seront peut-être pas disponibles sur la machine de l'utilisateur.

Un des problèmes importants rencontrés lors du transcodage de sources aux formats NTSC ou PAL, vers son homologue, est le nombre d'images vidéo par seconde respectifs à chaque norme. Dans le cas du PAL et du SECAM, nous avons 25 images complètes par seconde composées de 2 frames entrelacées transmises successivement (lignes paires, puis impaires). Pour la norme SECAM, une difficulté supplémentaire s'ajoute du fait que pour coder complètement des images au niveau de la couleur il est nécessaire d'avoir 6 frames, soit 3 images complètes.

Le NTSC, lui, utilise 29,97 images par seconde ; soit une différence au niveau du flux d'images d'environ 5 images existantes dans une des normes, et manquantes pour l'autre.

Pour le transcodage de NTSC à PAL par exemple, on ne peut pas simplement « réduire » le nombre d'images par seconde en en enlevant 1 sur 5 par exemple ; car cela se voit à la restitution du média, par des saccades à l'image, et s'entend par un glissement temporel du son qui se décale vis-à-vis de l'image. Pour le transcodage du PAL au NTSC, le démarche de dupliquer une image toutes les 5 images pour « combler » les vides amène aux mêmes piètres résultats.

La seule solution consiste à passer soit par des machines dédiées relativement coûteuses, qui recalculeront finement des images intermédiaires par interpolation temporelle hardware, soit en passant par une numérisation du média et traitement numérique de celui-ci, par la même méthode d'interpolation, mais effectuée de manière logicielle.

Ce n'est qu'au prix de cette interpolation que l'on arrive à transcoder des flux dans des formats incompatibles entre eux pour atteindre une qualité satisfaisante pour la diffusion ou la gravure de DVD par exemple.

Un média peut subir plusieurs codages et transcodages avant de parvenir à l'utilisateur. Trop de transcodages nuisent souvent à la qualité finale du contenu du média.

Choix d'un transcodage[modifier | modifier le code]

Les compromis à effectuer lors d'un transcodage destructif doivent avant tout être guidés par la finalité du média.

Un film pourra souffrir de quelques défauts sur les scènes les plus mouvantes, tandis qu'un son médiocre provoquera la déconvenue du spectateur.

Au contraire, un exposé avec des schémas et des formules dessinées sur un tableau blanc pourra se permettre une certaine pauvreté quant à la qualité de son ; tandis que l'image se révèlera plus importante.

La capacité de transport de l'information, en matière de bande passante pour la diffusion hertzienne et de débit pour les réseaux informatiques, est décisive si le média doit être diffusé en streaming ou en broadcasting.

Pour principe, et surtout pour l'archivage, on ne devrait pas prendre en compte les capacités matérielles de décodage des ordinateurs actuels comme standard. Ceux-ci évoluant tellement rapidement que ce qui est vrai aujourd'hui ne le sera pas forcément demain. Si le média a perdu de son intégrité à cause d'un transcodage trop destructif, il sera impossible de revenir en arrière.

On réalisera donc un transcodage très destructif pour la diffusion sur Internet (consommation immédiate), mais on réalisera, soit un stockage tel quel, soit un transcodage le moins destructif possible pour le média original et son stockage (conservation de la source). Avec cette méthode, on conserve la possibilité de réeffectuer un transcodage plus tard ; avec de nouveaux codecs aux goût du jour et/ou plus performants.

Le transcodage se bornant dans les faits à décoder puis à recoder un média, on se réfèrera à l'article codec pour une approche des codecs à utiliser.

Pérennité d'un transcodage[modifier | modifier le code]

Les codecs audio et vidéo évoluant tellement vite, la pérennité du média transcodé peut facilement être remise en question.

Si le but est l'archivage, on se servira pour la vidéo de codecs éprouvés et largement répandus tels que le MPEG2, ou à des implémentations strictes de normes (H.264 par ex.). Attention, toutefois, ces codecs étant soumis à brevets (dans les seuls pays qui reconnaissent les brevets logiciels), on pourra leur préférer des formats ouverts. On pourra également préférer des codecs sans perte. Le FFV1 et le FLAC, par exemple, sont deux codecs ouverts et sans perte : le premier s'applique à la vidéo et le second à l'audio.

Bien que performants, les codecs « exotiques » ou spécifiques à certaines marques commerciales, peuvent produire des médias inutilisables dans un proche avenir, ou s'avérer inexploitables sur d'autres plateformes matérielles ou logicielles.

Note : Le support matériel utilisé est soumis aux mêmes règles ; et l'on n'utilisera par précaution que des supports très répandus.

Transcodage et droit privé[modifier | modifier le code]

Avant tout transcodage, veuillez lire attentivement les mentions légales relatives au « copyright » (droit de copie) du contenu que vous envisagez de transcoder.

Contournement du transcodage[modifier | modifier le code]

L'étape du transcodage étant souvent longue (et donc coûteuse), on essaye d'éviter au maximum celle-ci dans le domaine de la diffusion professionnelle. Pour ce faire, les sources audio et vidéo sont enregistrées sur des serveurs vidéo dans la représentation des données, ou codec, qui sera utilisée pour la post-production (en général des formats peu coûteux en matière de calculs pour la lecture et le traitement des images, sans pertes ou presque, mais gourmands en espace mémoire et disque utilisés). L'acquisition, le montage et la diffusion se font donc dans le même codage des images, évitant le transcodage — et donc toute perte de temps et d'argent.

Exemples de transcodeurs[modifier | modifier le code]

Une sélection de quelques transcodeurs.

Notes et références[modifier | modifier le code]

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]