Transcodage
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) utilisé pour comprimer ou encapsuler un média audio ou vidéo dans un fichier ; ou transporter un signal analogique ou numérique. On notera qu'il ne s'agit pas d'un codage au sens strict du terme car le plus souvent la transformation comporte des pertes.
Plus généralement, le terme transcodage est utilisé lorsque l'on change la manière de coder une information.
Principes généraux
Les formats de codage employés pour décrire un média doivent tenir compte de nombreux paramètres, décrits ci-dessous.
Pour la photo
- Le nombre de points significatifs de la photo sur une échelle de longueurs (résolution par centimètre carré).
- Le nombre d'information nécessaire pour coder un point (profondeur de couleur).
- La grandeur de la photo.
Pour la vidéo
- Le nombre de lignes et de colonnes formant l'image.
- Le nombre d'informations nécessaire pour coder un point (profondeur de couleur d'un pixel).
- Le rapport hauteur/largeur de l'image (4:3, 16:9 par exemple).
- Le nombre d'images par seconde.
- La durée de l'enregistrement.
Pour l'audio
- Le nombre d'échantillons par seconde avec lequel on découpera numériquement une onde sonore ou un signal électrique (48 kHz par exemple).
- La résolution donnée à chaque échantillon et la grandeur physique qu'on lui donne (16 bits par exemple).
- Le nombre de canaux échantillonnés (stéréo par exemple).
- La durée de l'enregistrement.
Pour les formats analogiques (vidéo)
Le système utilisé pour coder la couleur :
- 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, on parle alors de RGBA (Alpha).
- Y/C, lors de la séparation de la luminance et de la chrominance.
- PAL, SECAM, et NTSC pour les signaux composites.
- La grandeur électrique utilisée pour acheminer 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 de moins de 1 volt).
- Le type de signal électrique (différentiel symétrique ou asymétrique).
Notes
- Pour les changements ou les adaptations de niveau électrique ou de fréquence, on parlera d'adaptation de niveaux ou de conversion du signal.
- Pour les changements de présentation de format de données à la volée ; sans enregistrement des données transformées on parlera de conversion.
Domaine d'application
Bien que le nom puisse être appliqué à d'autres supports (écrits, messages codés, etc.), le terme transcodage est surtout utilisé dans les domaines de l'informatique, de l'audio-visuel et des télécommunications.
La nécessité de coder, ou de transcoder un média vient du fait que le support utilisé pour l'acheminer ou l'archiver ne permet en général pas une prise en charge « native » du média ; ou utilise un autre format de codage du signal.
Par exemple : un film DVD vidéo du commerce (format PAL) a une résolution de 720 colonnes de 576 lignes à une fréquence de 25 images par seconde (30 pour le NTSC). Pour ce qui est du nombre d'informations à gérer pour un codage RGB sur 3 octets (format le plus répandu dans le cas d'un codage non compressé), cela équivaut à : 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 30 375 ko (29 Mo) par seconde, soit 1 780 Mo par minute, soit 104 gigaoctets par heure.
Les DVD commerciaux ne pouvant contenir que 4,7 ou 9 gigaoctets d'informations, on est obligé de trouver une solution qui passe par le transcodage de la source.
En vidéo, on parle de transcodage surtout lors de la conversion entre différentes normes de codage des couleurs dans le signal video (PAL, SECAM, NTSC), mais le terme est aussi utilisé lors du passage entre video-composite et vidéo-composante par exemple.
Pour les télécommunications, on parle de transcodage surtout lors de l'adaptation des données de la voix ou de la vidéo transmise quand celle-ci doit être acheminée au travers de différents commutateurs ou différents réseaux (fixes ou mobiles) incompatibles entre eux au niveau des codecs utilisés en interne aux PABX, aux IPBX ou aux Media Gateways. Bien que le terme « conversion » puisse être utilisé pour passer, par exemple du codec G.711 à G.722 puisqu'il n'y a pas d'enregistrement des données ; il est plus exact de parler de transcodage si l'on souhaite rester dans le vocabulaire technique utilisé dans le monde des télécommunications.
Le transcodage
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é
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
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
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é
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
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
Une sélection de quelques transcodeurs.
- Adobe Media encoder
- Any Video Converter
- Arista
- Avidemux
- HandBrake
- mencoder, fournis avec MPlayer
- Freemake Video Converter
- Virtualdub