Le codage, la compression et l’édition vidéo Par Samuel BOVÉE et Julien BRISSEAU
Plan Les origines de la vidéo Le codage analogique La compression numérique Les standards de compression Implémentation et utilisation de la compression Edition vidéo Conclusion
Les origines de la vidéo
Le cinéma Technique simple et ancestrale : la diffusion de 24 images par seconde (24Hz) sur pellicule Pour éviter le scintillement : on double ou triple le nombre d’image par duplication => fréquence de 48Hz / 72Hz
Le codage analogique
La vidéo analogique L’utilisation la plus notable de la vidéo analogique a été la télévision Plusieurs formats de codage de la vidéo : SECAM PAL NTSC
Répartition des formats vidéos analogique dans le monde
Secam Invention française brevetée en 1956 par Henri de France Première diffusion sur France2 en 1967 25 images / secondes 625 lignes Codage couleur en YDbDr Modulation par fréquence Coupure prévue en 2012 !!!
YDbDr Y = 0.299R + 0.587G + 0.114B Db = − 0.450R − 0.883G + 1.333B Dr = − 1.333R + 1.116G + 0.217B
Fréquence Horizontale PAL / SECAM Norme NTSC SECAM (L) PAL Année d’apparition 1953 1961 1963 Nombre de lignes 525 625 Fréquence Horizontale 17,734 kHz 15,625 kHz Fréquence Verticale 60 Hz 50 Hz Bande passante vidéo 4,2 MHz 5 MHz Porteuse son 4,5 MHz 5,5 MHz
La compression numérique
La vidéo vers le numérique Apparition de la vidéo numérique vers la fin des années 70. Raisons : permet de corriger et d’améliorer les vidéos, de les manipuler et de leurs ajouter des effets Permet l’interfaçage avec l’informatique émergente Permet la détection et la correction d’erreur
Pourquoi compresser ? Image en haute définition : résolution => 1280*720 pixels affichage progressif 24 images par secondes 16 millions de couleurs (3 octets / pixels) soit : (1280*720)*24*3*8 = 530841600 bit/s = 530 Mbit/s = 63 Mo/s ou en d’autre termes : 450Go pour un film de 2H => Débit trop important, même de nos jours !
Deux façons de compresser Compressions sans pertes (lossless) : Exemple : Huffyuv, basé sur JPEG-LS et utilise Huffman Gain possible : 50% Intéressant, mais pas suffisant pour les applications courantes Compression avec pertes : Majoritairement utilisé dans de nombreux domaines
Compression avec pertes Deux façon de faire : Redondance spatiale : compresser les images indépendamment les unes des autres. ex : MJPEG Redondance temporelle : analyser les images qui se suivent : elles sont souvent très identiques !
Un exemple plus démonstratif ? Image N Image N+1 Image N+2 Différence entre image N et N+1 Différence entre image N+1 et N+2
Redondance temporelle D'une image à l'autre, la quantité de nouvelles informations est disparate Mais la plupart du temps, elle est très faible On catégorise alors les images en 3 types : I-Frame P-Frame B-Frame
Images clés (Intra Pictures or I-Pictures) L'encodage, la compression et l'édition vidéo Images clés (Intra Pictures or I-Pictures) Compressées indépendamment de leur contexte Autorisent un accès aléatoire Compressée avec perte, même principe que le JPEG
Images prédites (1) (Predicted Pictures or P-Pictures) Codées par rapport à l’images I ou P-frames précédentes Utilisent la compensation de mouvement 30 à 40% de gain sur I-frame Propagent les erreurs
Images prédites (2) (Predicted Pictures or P-Pictures)
Images bidirectionnelles (Bidirectional Pictures or B-Pictures) image déduite d’une image I ou P-frames précédentes ET suivante en faisant la moyenne des changement Offre le meilleur taux de compression : 50% de gain sur P-frame Ne propage pas les erreurs
Dépendance des images d’une compression temporelle Un ensemble d’image dépendante les unes des autres au sein de la vidéo est appelé un GOP (Group Of Picture)
Hiérarchie des données vidéos (1)
Hiérarchie des données vidéo (2) Séquence vidéo (Video Sequence) Commence par une en-tête, contient des groupes d’images, s’achève par un code de fin Groupe d'images (Group of Pictures) Contient un index permettant un accès aléatoire Image (Picture) De trois types : I, B, P. Tranche (Slice) Macroblocs ordonnés de gauche à droite, puis de haut en bas. En cas d’erreur dans la tranche, le décodeur passe à la suivante. Plus il y a de tranches, meilleur est le traitement des erreurs, mais fait perdre de la place. Macroblocs (Macroblocks) C'est une matrice rectangulaire de dimension 2 et constituée de blocs. Blocs (Block) C'est un ensemble des valeurs de luminance et chrominance de 8 lignes de 8 pixels.
les standards de compressions
Standards vidéos Deux grands consortiums MPEG (Moving Picture Experts Group). Domaine d’expertise : la compression, la décompression, le traitement et le codage de la vidéo, de l’audio et de leur combinaison UIT-T (Union internationale des télécommunications) : chargée de la réglementation et de la planification des télécommunications dans le monde
MPEG-1 (1) Sortie en 1993 352x288 pixels à 25 images par seconde en (PAL/SECAM) débit de 1,2 à 1,5 Mbit/s (utilisable par un CD-ROM) Qualité équivalente à celle de la VHS
MPEG-1 (2) Composé de cinq parties : Synchronisation et multiplexage de la partie audio et vidéo (MPEG-1 Program Stream). Codec de compression pour des signaux vidéo non- entrelacés. Codec de compression pour des signaux audio. La norme définit 3 niveaux de complexités : MP1 ou MPEG-1 Part 3 Layer 1 MP2 ou MPEG-1 Part 3 Layer 2 MP3 ou MPEG-1 Part 3 Layer 3 Procédure pour les tests de conformité Implémentation logicielle de référence pour les 3 premières parties
MPEG-2 (H.262) Extension de MPEG-1 Norme constituée de 9 parties ! Objectif d’obtenir des débits plus importants SD-TV (Télévision standard) : débit entre 2 et 15 Mbit/s HD-TV (Télévision haute définition) : débit entre 15 et 30 M/Bits Gain en qualité
Amélioration MPEG-2 Améliore la précision des mouvements des vecteurs Redondance d’erreur étendue Précision de la DCT définissable Meilleurs prédictions des macro blocks Qualité extensible (différents niveau de qualité au sein d’une même vidéo) Apparition des profils et niveaux
Profils / niveaux Permettent de réduire la complexité des décodeurs selon le type d’application qu‘ils concernent. Un profil représente un ensemble d’outils communs à plusieurs applications, en fait une structure particulière de MPEG2 Un niveau définit la qualité de la vidéo pour chaque profil.
Exemples d'application Application du MPEG-2 Profil @ Niveau Resolution (px) Fréquence max. (Hz) Echantillonage Débit (Mbit/s) Exemples d'application SP@LL 176 × 144 15 4:2:0 0.096 Téléphone sans fil SP@ML 352 × 288 0.384 PDAs 320 × 240 24 MP@LL 30 4 Télévision par ADSL MP@ML 720 × 480 15 (DVD: 9.8) DVD, SD-DVB 720 × 576 25 MP@H-14 1440 × 1080 60 (HDV: 25) HDV 1280 × 720 MP@HL 1920 × 1080 80 ATSC 1080i, 720p60, HD-DVB (HDTV) 60
H.263 Standardisé en 1996 Développé pour les lignes à très bas débits, pour des applications de visiophonie Puis pour la visioconférence
MPEG-4 Apparition en 1998 Actuellement 23 parties permettant l’interfaçage avec les nouvelles applications multimédias : le téléchargement le streaming sur Internet le multimédia sur mobile la radio numérique les jeux vidéos les supports haute définition Meilleur rendu que MPEG-2 la taille des macro-blocs de 8*8 , 16*8 ou 16*16. Meilleur précision des vecteurs de mouvement Deux profils majoritairement utilisés : Simple Profile (SP) Advanced Simple Profile (ASP)
MPEG-4 AVC / H.264 Extension de la norme MPEG-4 (ajout partie 10) en 2003 H.264 compresse plus efficacement que les autres normes =>débit divisible par deux par rapport au MPEG-2 à qualité égale Multiples améliorations de la compensation de mouvement Ajout d’un codage arithmétique CABAC (codage entropique) excellents résultats grande complexité non disponible dans les profils baseline et extended La numérotation des images permet la création de sous- séquences
Implémentation et utilisation de la compression vidéo
Quelques codecs bien connus XviD MPEG-4 codec 41.35 % DivX (4 / 5 / 6) 17.57 % MPEG 1 9.74 % DivX 3 (Low motion) 7.09 % DivX 5 5.91 % MPEG 2 4.32 % RealVideo 9 1.28 % DivX 3 (Fast motion) 1.25 % x264 0.60 %
Quelques comparatifs entre formats DV MPEG-1 DivX DVD Résolution 720x576 352x288 Débit moyen 25 Mbps 1,5 Mbps 1 Mbps 9,8 Mbps Taille d'un film d'1h 11,25 Go 675 Mo 450 Mo 4,41 Go
Edition vidéo
Montage vidéo logiciel
Ou par FrameServer Par exemple avisynth : éditeur vidéo entièrement contrôlé par des scripts !!! grande variété de fonctions de traitement et d'édition - via des filtres - sur un flux vidéo fonctions comme le trim, le crop, le désentrelacement, le téléciné inverse, des corrections de couleur, des redimensionnements, du denoising (débruitage)…
Conclusion Le futur : Scalable Video Coding (SVC) Des questions ?