CE QU`IL FAUT RETENIR !! CONTENEUR et CODEC
Transcription
CE QU`IL FAUT RETENIR !! CONTENEUR et CODEC
CE QU’IL FAUT RETENIR !! CONTENEUR et CODEC Pour le domaine du multimédia, il est important de bien séparer le rôle des conteneurs de celui des codecs : Un conteneur permet de stocker des flux vidéo et audio. Un codec permet de décoder ces flux. Ceci implique qu'un logiciel étant capable de reconnaître et d'ouvrir un conteneur pourra accéder aux flux mais ne pourra pas les décoder s'il ne dispose pas du codec adéquat. Le conteneur peut donc être vu comme une boîte (le contenant), et les flux comme ce que l'on met à l'intérieur de la boîte (le contenu). Codecs, normes et conteneurs Les notions de codec, norme et conteneur sont souvent confondues par les néophytes, ou par abus de langage. La norme décrit le format des données. Le codec est le logiciel ou le matériel qui met en œuvre un procédé capable de compresser ou décompresser les données de format normalisé. Par exemple, MPEG-4 AVC/H.264 est une norme vidéo, et x264 est un codec capable de produire un flux vidéo respectant cette norme. Il existe d'autres codecs pour cette norme. Lorsqu'il n'existe qu'une seule implémentation, les termes codec et norme sont confondus (exemple : VC-1). Un format conteneur contient des flux audio et vidéo respectant une quelconque norme. Ce format permet d'entrelacer les données audio et vidéo, et contient les informations permettant de les synchroniser au moment de la restitution. Un conteneur peut contenir plusieurs flux audio et vidéo, mais aussi des sous-titres, du chapitrage et des menus. Le choix d'un conteneur peut par contre limiter les normes utilisables à l'intérieur de celui-ci. Ainsi un conteneur MPEG-2 ne peut contenir que des flux vidéo MPEGV2 et des flux audio MPEGA 1, 2 ou 3 ou des flux audio AAC. Un conteneur vidéo permet de rassembler en un seul fichier : un ou plusieurs flux vidéo (ce qui permet par exemple de regarder une scène filmée sous plusieurs angles différents) ; un ou plusieurs flux audio (ce qui permet d'obtenir une version multilingue du média) ; des sous-titres (ce qui permet également le multilingue) ; des élément de chapitrage (de la même manière que sur les DVD) ; des métadonnées (par exemple le titre du média, le nom du réalisateur, la date, etc.) ; une description des flux que contient le conteneur ; éventuellement d'autres données. Les principaux conteneurs vidéo sont : Audio Video Interleave (extension .avi) : développé par Microsoft. MPEG 1/2/4 (extensions .mpg, .mpeg) : codecs et conteneurs défini par le Moving Picture Experts Group. Matroska (extensions .mkv, .mka, .mks) : développé par CoreCodec, Inc.. Advanced Systems Format (extensions .asf, .wmv, .wma (uniquement lorsqu'il ne contient que de l'audio)) : développé par Microsoft. QuickTime (extension .mov) : développé par Apple. Ogg (extensions .ogg, .ogv, .oga, .ogx), ainsi que Ogg Media (extension .ogm) : développé par Xiph.org. 3gp (extensions .3gp, .3g2) : défini par le 3GPP. WebM (extensions .webm, .weba) : basé sur Matroska, développé par Google. NUT (extension .nut) : développé par des développeurs de MPlayer et FFmpeg. RealMedia (extension .rm) : développé par RealNetworks. Material eXchange Format (extension .mxf) : standard de la SMPTE. Advanced Stream Redirector (extension .asx) : développé par Microsoft. Transport Stream (extension .ts) : protocole de communication développé par le Moving Picture Experts Group. Flash Video (extension .flv) : Développé par Adobe Systems (Macromedia à la base ) Une vidéo consiste en réalité à faire défiler très rapidement une succession d’images fixes devant nos yeux. Chaque seconde d'une séquence représente idéalement une collection de 30 images. Pour l’ordinateur cette tache s’avère très difficile car cela lui demande énormément de ressource. Les volumes de données à traitées sont tellement importants que généralement seules les machines ayant une grosse configuration arrivent à suivre. Pour faciliter la diffusion et la lecture des fichiers vidéo (notamment sur Internet), il a fallu réduire le labeur de l’ordinateur. On a donc fait appel à la technique de la compression vidéo. Pour réaliser la compression/décompression d’un fichier vidéo, l’ordinateur à besoin d’un logiciel appelé Codec. Le mot codec provient de la concaténation de deux mots : compresseur et décompresseur, ou encore codeur/décodeur. Pour compresser une vidéo, ce dernier peut agir sur deux facteurs : l’espace et le temps. En compression spatiale, le codec travaille un maximum sur les redondances du film. On peut alors : - soit retirer certaines images des 30 qui sont censées défiler en une seconde (en sachant que l’on ne peut descendre en dessous de 15 si l’on veut garder une fluidité dans les mouvements des personnages du film). - Soit réduire la qualité de l’image en jouant sur l’effet de pixellisation (plusieurs points de l’image sont remplacés par une tache). En compression temporelle, le codec stocke les différences d'une image sur l'autre. Le travail du codec est souvent transparent à l’utilisation. En effet, au moment de lire une vidéo, le codec va décompresser le fichier afin que lecteur puisse la lire mais aucun signe apparent à l’écran ne vous signale la décompression. A chaque format de fichier vidéo va donc correspondre un codec particulier. Si le codec en question n’est pas installé sur votre ordinateur, il vous sera impossible de lire la séquence vidéo encodée avec ce dernier. Un codec est un dispositif capable de compresser et/ou de décompresser un signal numérique. Ce dispositif peut être un circuit électronique, un circuit intégré ou un logiciel. Le mot-valise « codec » vient de « codage-décodage » ( Code - DECode en anglais). D'un côté, les codecs encodent des flux ou des signaux pour la transmission, le stockage ou le chiffrement de données. D'un autre côté, ils décodent ces flux ou signaux pour édition ou restitution. Les différents algorithmes de compression et de décompression peuvent correspondre à différents besoins en qualité de restitution, de temps de compression ou de décompression, de limitation en termes de ressource processeur ou mémoire, de débit du flux après compression ou de taille du fichier résultant. Ils sont utilisés pour des applications comme la téléphonie, les visioconférences, la diffusion de médias sur Internet, le stockage sur CD, DVD, la télé numérique par exemple Codecs propriétaires et libres Certains constructeurs de matériels électroniques développent eux-mêmes des codecs audio ou vidéo. On pourra citer l'Avchd par exemple, qui est en fait un dérivé du x264, une implémentation de H.264 ; mais ayant certaines fonctionnalités qui sont propres aux fabricants qui l'utilisent ou à l'éditeur du logiciel. Certains codecs dérivés d'une préversion de norme ; par exemple DivX, qui était une implémentation de la norme en cours d'élaboration H.263 et H.264. Les codecs propriétaires sont développés par des entreprises, et font souvent l'objet de brevets dans les pays où c'est possible. Les codecs libres ou ouverts comme Vorbis, sont inventés et développés par des acteurs du logiciel libre pour permettre aux utilisateurs de garder le contrôle des médias qu'ils produisent eux-mêmes. Lorsqu'une norme ISO est publiée, il est demandé aux entreprises de ne pas déposer de brevets ou de ne pas réclamer de droits sur ceux existant, quant à la décompression. Les normes ISO des formats MPEG ne définissent que la manière de décompresser ; chaque entreprise est alors libre de faire ce qu'elle veut sur les astuces de compression. Les principaux codecs vidéo sont : asf : très compressé, ce format propriétaire privilégie la taille à la qualité - à éviter. Même incomplète, une vidéo .asf peut être lue par la plupart des lecteurs; mais pour pouvoir accéder rapidement aux différentes parties, il faut l'avoir téléchargée en entier. mpeg ou mpg : 2ème format le plus populaire, la qualité est moins bonne que celle du DiVx à taille égale. C'est aussi le seul format compatible avec les lecteurs DVD de salon classiques, à condition d'être encodés à un bitrate et une résolution bien définis correspondant aux normes VCD (mpeg1) ou SVCD (mpeg2). avi : c'est le format du DiVx par excellence, la meilleure qualité actuellement, mais la multiplication des codecs rend leur lecture parfois difficile. Des informations essentielles figurent à la fin de ces fichiers, ce qui explique pourquoi il est normalement impossible de lire une vidéo .avi incomplète. Toutefois, certains logiciels permettent une prévisualisation du fichier même s'il est incomplet : c'est le cas d'avi preview (intégré dans eMule), mais qui n'est pas très pratique. La manipulation de fichiers vidéo incomplets pouvant parfois mener à la détérioration irréversible du fichier, il est conseillé de faire une copie de sauvegarde de celui-ci avant d’utiliser ce genre d’outils. Plus récemment, une équipe formée d'étudiants français basés à Lille a développé un logiciel permettant la prévisualisation en streaming de ces videos : il s'agit de VideoLan Client (VLC), qui s'est depuis imposé comme LA référence car il a l'avantage de ne pas modifier le fichier prévisualisé et donc d'être utilisable à tout moment, même si le fichier est en cours de téléchargement ! Un must à avoir absolument, il est aussi reconnu par eMule et peut remplacer avantageusement avi preview s'il est installé sur votre système. Gardez toutefois à l'esprit que c'est une version bêta non dépourvue de bugs, qui peut parfois occasionner des plantages/ralentissements. NB : En fait, l'extension avi correspond à une multitude de formats vidéo comme le UYVY,YUY2, WMvideo DMO, DV, le MJPEG, Cinepak de Radius, Intel Vidéo R3.2, Microsoft Vidéo, Indéo Vidéo 5.04, DivX MPEG4, Microsoft MPEG4, miroVideo DV300 ... qu'il serait trop long de détailler ici. ogm : [ogg media] ce n'est pas un format à proprement parler, mais un 'conteneur' qui permet de caractériser les videos dont le son est encodé en Ogg Vorbis. Ce format est supporté par les lecteurs habituels, et nécessite simplement le codec oggvorbis pour que la bande son soit lue. rmvb [real media variable bitrate] (son mp3 VBR) encore connu sous le nom de RV9 : d'apparition récente, son rapport qualité/capacité de compression est meilleur à bas débit que le DiVx ou le Xvid. Malheureusement, il s'agit d'un format propriétaire de Real Video, et nombreux sont les lecteurs incapables de lire ce format. Realplayer est quant à lui à éviter car très lourd et, dans sa version gratuite, bourré de pubs ... mkv : Le mkv est, à l'instar de l'ogm, un « conteneur » qui permet de mettre par exemple du rv9 et de l'ac3, chose impossible avec l'avi. Les conteneurs media sont l'avenir du divx : plus besoin de multiplexer le son avec l'image (étape parfois très pénible), il suffit de mettre le fichier vidéo et le fichier son dedans et le multiplexage (= synchronisation son/vidéo) se fait en direct lors de la lecture. Après avoir mis le filtre MKV, tous les lecteurs peuvent le lire. Une vidéo consiste en réalité à faire défiler très rapidement une succession d’images fixes devant nos yeux. Chaque seconde d'une séquence représente idéalement une collection de 30 images. Pour l’ordinateur cette tache s’avère très difficile car cela lui demande énormément de ressource. Les volumes de données à traitées sont tellement importants que généralement seules les machines ayant une grosse configuration arrivent à suivre. Pour faciliter la diffusion et la lecture des fichiers vidéo (notamment sur Internet), il a fallu réduire le labeur de l’ordinateur. On a donc fait appel à la technique de la compression vidéo. Les lecteurs de vidéo. Pour lire un fichier vidéo sur son ordinateur on se doit d’utiliser en plus des codecs un logiciel de lecture. Le plus connu est bien entendu « Windows Média Player ». Ce dernier est fourni avec le système d’exploitation Windows et permet de lire un grand nombre de formats si bien entendu les codecs sont correctement installés. Cependant certains fichiers ne peuvent être lus qu’avec un lecteur spécifique. Les fichiers « Quick Time » ne peuvent être lu qu’avec le lecteur qui porte le même nom. De même, les fichiers Real Vidéo ne peuvent être lus qu’avec le lecteur « Real Player ». Tableau de compatibilité conteneur/codec. (Non exhaustif) Conteneur Codec AVI ASF/WMV DV ● DivX ● ● WMV ● ● MKV MOV ● ● ● ● ● MPEG-2 ● ● ● FLV ● MPEG-1 Sorenson MPEG-2 MPEG-4 ● ● ● ● ● ● VP6 H.264 ● x264 ● DVCPRO ● ● ● ● ● ● ● ● ● ● ● Documents en référence Web : http://transcode-graphic.com/les-formats-video/ http://transcode-graphic.com/choix-format-video-codec-decodeur/ BITRATE Un Constant bitrate (ou Constant bit rate ou encore CBR), est un terme anglais que l'on peut traduire en français par : « taux d'échantillonnage fixe », en opposition au variable bitrate (VBR). Ce terme décrit la façon dont la piste vidéo ou audio est encodée. Un constant « bitrate » signifie en fait que cette piste vidéo et/ou audio utilise le même montant d'espace disque pour chaque seconde, peu importe sa position dans le temps. Un Constant Bit Rate est l'enregistreur vocal d'une boite noire. Lors de la numérisation d'un signal, l'utilisation d'un taux (ou d'une fréquence) d'échantillonnage variable consiste à adapter le nombre d'échantillons prélevés sur le signal, à la complexité locale (ou instantanée) de celui-ci. Ceci s'oppose à la technique plus simple, Constant bit rate ou CBR, dans laquelle le taux d'échantillonnage est fixe. Ainsi, dans le domaine du multimédia numérique, certains dispositifs d'encodage et décodage (ou codecs) de flux audio et vidéo appliquent ce principe et permettent d'atteindre un meilleur compromis entre la qualité de rendu d'une part et d'autre part la taille du fichier multimédia et le débit nécessaire pour le diffuser sur un réseau. Dans un flux vidéo, par exemple, plus de données seront prélevées par unité de temps pour une scène complexe que pour une image plus simple et figée. Il en sera de même pour les sons. Conséquence de l'utilisation d'un taux d'échantillonnage variable, la taille du fichier résultant d'une numérisation ne peut pas être calculée a priori à partir de la durée, contrairement au cas d'utilisation d'un taux d'échantillonnage constant. Quelques exemples de bitrate 16 kbit/s – Qualité Visiophonie (minimum nécessaire pour une qualité acceptable via divers schémas de compression) 128–384 kbit/s – Visioconférence professionnelle via divers schémas de compression 1.5 Mbit/s max – Qualité VCD (Compression MPEG1) 3.5 Mbit/s typ — Qualité SD TV (avec compression MPEG-2) 9.8 Mbit/s max – Qualité DVD (avec compression MPEG-2) 8 to 15 Mbit/s typ – Qualité HD TV (avec compression MPEG-4 AVC) 19 Mbit/s approx — HDV 720p (avec compression MPEG-2) 24 Mbit/s max — AVCHD (avec compression H.264/MPEG-4 AVC) 25 Mbit/s approx — HDV 1080i (avec compression MPEG-2) 29.4 Mbit/s max – HD DVD 40 Mbit/s max – Blu-ray Disc (avec compression MPEG-2, H.264/MPEG-4 AVC ou VC-1) Conclusion : Le bitrate c'est l'espace disque (exprimé en kilo bit) nécessaire pour coder une seconde de vidéo ou de son. (abréviation : kbps) Le bitrate vidéo dépend de trois facteurs : 1 - La durée du film 2 - La taille désirée du fichier 3 - Le bitrate audio Le soft calcule en fait une valeur moyenne du bitrate. Cette valeur va évoluer en + ou en - en fonction de la complexité de l'image à encoder. Ce travail est effectué par le codec durant la première passe. On peut encore améliorer le bitrate vidéo en surcompressant le générique de fin ou en réduisant le bitrate audio. Par contre à bitrate égaux les qualités finales ne seront pas nécessairement égales, car un autre facteur intervient : la compressibilité. L’ECHANTILLONNAGE COULEUR Notre œil étant nettement plus sensible aux contrastes et aux variations de niveau de lumière, qu’aux nuances de couleur, on a décidé de conserver l’image “noir et blanc”, mais de réduire le poids de la couleur. Synthèse additive et soustractive Il existe deux types de synthèse de couleur : La synthèse additive est le fruit de l'ajout de composantes de la lumière. Les composantes de la lumière sont directement ajoutées à l'émission, c'est le cas pour les moniteurs ou les télévisions en couleur. Lorsque l'on ajoute les trois composantes Rouge, vert, bleu (RVB), on obtient du blanc. L'absence de composante donne du noir. Les couleurs secondaires sont le cyan, le magenta et le jaune car : o Le vert combiné au bleu donne du cyan o Le bleu combiné au rouge donne du magenta o Le vert combiné au rouge donne du jaune La synthèse soustractive permet de restituer une couleur par soustraction, à partir d'une source de lumière blanche, avec des filtres correspondant aux couleurs complémentaires : jaune, magenta, et cyan. L'ajout de ces trois couleurs donne du noir et leur absence produit du blanc. Les composantes de la lumière sont ajoutées après réflexion sur un objet, ou plus exactement sont absorbées par la matière. Ce procédé est utilisé en photographie et pour l'impression des couleurs. Les couleurs secondaires sont le bleu, le rouge et le vert car : o o o Le magenta (couleur primaire) combiné avec le cyan (couleur primaire) donne du bleu Le magenta (couleur primaire) combiné avec le jaune (couleur primaire) donne du rouge Le cyan (couleur primaire) combiné avec le jaune (couleur primaire) donne du vert Deux couleurs sont dites « complémentaires » si leur association donne du blanc en synthèse additive, ou du noir en synthèse soustractive. L'échantillonnage des couleurs : 4:4:4, 4:2:2,... Idéalement, la couleur de chaque pixel d’une image numérique doit être décrite par la quantité de rouge, de vert et de bleu qui la composent. Décrire de cette manière les images d'un film représente une quantité d'informations considérable. Stocker et traiter toutes ces données informatiques a longtemps été impossible en numérique. C'est notamment l'avènement de technologies capables de gérer une telle quantité d'informations qui a rendu le cinéma numérique en salles possible : les couleurs des longs-métrages d-cinéma sont échantillonnées au format 4:4:4, ce qui signifie que les trois couleurs primaires (rouge, vert, bleu) sont systématiquement quantifiées pour chaque pixel. On peut l'illustrer de la manière suivante sur cette section d'image numérique de 5 pixels sur 5 : R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B R V B 4 : 4 : 4 - la couleur de chaque pixel est précisément décrite Avec les autres formats d'échantillonnage (4:2:2; 4:2:1; 4:2:0,...), la description des couleurs des images numériques n'est pas aussi précise mais les fichiers d'images sont moins lourds : il y a deux fois plus d'informations dans une image 4:4:4 que dans une image 4:2:2. En dessous du format 4:4:4, la couleur des pixels n’est plus décrite par ses composantes rouge, vert et bleu (R, V, B) mais par sa luminance (Y) et deux mesures de chrominance : Cb pour le bleu et Cr pour le rouge. Les coordonnées R, V, B de chaque pixel deviennent donc : Y, Cb, Cr. Cette technique exploite les limites de la vision humaine plus sensible à la luminosité des pixels qu'à leur couleur. Le format d’échantillonnage 4 :2 :2 accorde deux fois plus d'importance aux informations relatives à la luminance qu’à la chrominance : alors que la luminance (Y) est mesurée de manière systématique pour chaque pixel, les informations relatives aux couleurs ne sont données que pour un pixel sur deux. Ce format d'échantillonnage permet d'obtenir une qualité d'image très satisfaisante tout en réduisant sensiblement la taille des fichiers de films par rapport au 4:4:4. Le 4:2:2 et tous les formats d'échantillonnage inférieurs constituent à ce titre une forme de compression des images numériques. Y Cb Cr Y Y Cb Cr Y Y Cb Cr Y Cb Cr Y Y Cb Cr Y Y Cb Cr Y Cb Cr Y Y Cb Cr Y Y Cb Cr Y Cb Cr Y Y Cb Cr Y Y Cb Cr Y Cb Cr Y Y Cb Cr Y Y Cb Cr 4:2:2 Le format d’échantillonnage 4 :2 :2 est utilisé en particulier pour la projection des films en relief sur grand écran : le flux des informations transmises du serveur au projecteur (48 images par seconde au lieu de 24) est tel qu'il faut le limiter pour que les équipements d-cinéma parviennent à le gérer. Les autres formes d’échantillonnage se traduisent par une compression plus importante des informations relatives à la couleur des pixels. Avec le format 4 :2 :0 par exemple, la luminance de chaque pixel est systématiquement décrite mais les informations sur la chrominance ne concernent qu’un pixel sur deux et seulement sur une ligne d'image sur deux. Le format 4:2:0 est notamment utilisé pour la télévision haute définition (TVHD). Y Cb Cr Y Y Cb Cr Y Y Cb Cr Y Y Y Y Y Y Cb Cr Y Y Cb Cr Y Y Cb Cr Y Y Y Y Y Y Cb Cr Y Y Cb Cr Y Y Cb Cr 4:2:0
Documents pareils
Présentation du problème - AIVM
Ce qui suit contient des citations de Wikipédia et des liens vers Wikipédia. Vous pouvez vous y reporter.
Les principaux conteneurs vidéo sont :