SlideShare une entreprise Scribd logo
1  sur  99
Télécharger pour lire hors ligne
Pourquoi compresser la vidéo?!
             L’image     La fréquence   En minutes   La durée
Le film:



  Le pixel


Le DVD : 4.5 Go                          34
Le CD : 650-700 Mo                       222
 Le ADSL : 0.25 Mo/s                     118

* 156 Go (=29,66 Mo/s)
Comment est possible de compresser la vidéo?!

                                      Redondance spatiale




 Redondance temporelle
Audio
 (AAC)


  Vidéo
(V2, AVC)



 Image
 (VTC)
Vidéo de
 forme
arbitraire
Les différentes parties du standard MPEG-4

–    Part 1    Systems (2001)
–    Part 2    Visual (2001)
–    Part 3   Audio (2001)
–    Part 4    Conformance (2002)
–    Part 5    Reference Software
     (2002)
–    Part 6    DMIF - Delivery
     Multimedia Integration Framework
     (2000)
–    Part 7    Optimized Software
     (2002)
–    Part 8    MPEG 4 on IP (2002)
–    Part 9    Reference Hardware
     (2003)
–    Part 10 Advanced Video Coding
     (AVC) joint with ITU-T (2003)
Objets du cours
Architecture générique



  Prédiction    Transformation   Quantification   Codage entropique
Types des données visuelles

                             Objet de forme arbitraire

                       Masque binaire      Masque en niveaux de
                                                    gris




Information à coder:
     la texture

                       Information supplémentaire à coder: la forme
Codage de la texture : préparation des données


                                                R                                         Y



                                                G                                         U


    Image Initiale
                                                B                                         V



    Y = 0.299*R + 0.587*G + 0.114*B                  R = Y + (1.4075 * (V - 128));
U = -0.169*R - 0.331*G + 0.500*B + 128.0   G = Y - (0.3455 * (U - 128) - (0.7169 * (V - 128));
V = 0.500*R - 0.419*G - 0.081*B + 128.0               B = Y + (1.7790 * (U - 128);
Codage de la texture : préparation des données


                 Y                             Y                      Y

                         Sous-
                     échantillonnage
                U                              U                      U



                 V                             V                      V


       4:4:4                           4:2:2                4:2:0

La composante Y porte plus d’information que les composantes U et V
Codage de la texture : les Macroblocks (16x16 pixels)




                                                    16x16 pixels




Pour des images non multiple de 16, un padding est nécessaire
Module Prédiction : GOP




                   Séquence vidéo
        GOP                   GOP   GOP
Codage de la texture : Module Prédiction




     1                   2-(5+1)/2                        …         5-1
                            2-5
                            2-1

En faisant des différences, on diminue la dynamique de l’information à coder
Module Prédiction avec Compensation de Mouvement




                                                                    Vx
                                                              +
                                                                    Vy



    Image Initiale       Avec prédiction   Avec prédiction et compensation
                                                   de mouvement

La compensation de mouvement diminue encore la dynamique de l’information
Module Prédiction avec Compensation de Mouvement




                 Deux cadres consécutifs
Module Prédiction avec Compensation de Mouvement




                    Différence directe
Module Prédiction avec Compensation de Mouvement




        Différence avec compensation en mouvement pour
                          block de 16x16
Module Prédiction avec Compensation de Mouvement




        Différence avec compensation en mouvement pour
                           block de 8x8
Module Prédiction avec Compensation de Mouvement




        Différence avec compensation en mouvement pour
                           block de 4x4
Module Prédiction avec Compensation de Mouvement




                        16x16              4x4
Les vecteurs de mouvement


        Mode 1MV: un vecteur pour un MB


              Mode 4MV: un vecteur pour chaque block du MB

Les vecteurs sont estimés que pour la composante de luminance
Codage différentiel par rapport aux macroblock voisins

  Estimation à quart de pixel
  Estimation globale pour l’image entière                 New
  Mode directe dans la compensation bidirectionnelle


    Les méthodes d’estimation des vecteurs ne sont pas standardisées
Estimation à quart de pixel                                                               New


     L’estimation à pixel: les VMs sont des nombres entiers
        - pb pour des mouvements sous pixel entre deux cadres
        - l’erreur de prédiction importante
                     Solution: estimation à demi et à quart de pixel

       Interpolation bilinéaire             Interpolation bilinéaire à voisinage 8
                                          A4    A3     A2    A1       B1   B2      B3     B4
A          b   B                                                  a
c          d                            a=(-8A4+24A3-48A2+160A1+160B1-48B2+24B3-8B4) mod 256
C              D
                   b=(A+B+1)mod(2)
                                                b’
               d=(A+B+C+D+2)mod(4)        a            b      b’=(a+b+1)mod(2)
                                           c’     d’
                                                            d’=(a+b+c+d+2)mod(4)
                                           c           d
    Demi                                                                                Quart


       Augmenter la résolution des VMs, mais réduire l’erreur de prédiction
La prédiction block Inter: vecteurs de mouvement
Estimation globale de mouvement                                         New




  Le même ensemble des paramètres de mouvement pour l’image entière
  Utilisée alternativement avec la compensation locale (MB) pour
   minimiser l’erreur de prédiction




                       1 à 4 VMs (et leur positions) à transmettre par image
                       au décodeur, interpolation pour chaque MB




             Très utile pour les mouvements de la camera
Mode direct pour la compensation bidirectionnelle                        New




    Par rapport à une référence passée
    Par rapport à une référence future
    Par rapport à la moyenne entre une référence passée et une future
    Mode direct



                              MVB             MVF=[(tc-tf)/(tb-tf)]*MV
                   MVF

                                                 MVB=MVF-MV
                         MV

               P         B    B     P
Module prédiction: schéma block



      Image                           +
     courante
                                            -
                     Estimation
                   de mouvement



     Image(s)                     Compensation
    de référence                  de mouvement




                    Vecteurs de mouvement
Architecture générique



  Prédiction    Transformation   Quantification   Codage entropique
Module transformation: les contraintes


  Les données dans le domaine transformé doivent être
      Non corrélées : séparées en composants avec interdépendance minimale
      Compactes: l’énergie doit être concentrée dans un petit nombre des valeurs


  La transformée doit être réversible




  La transformée doit être faisable d.p.d.v. temps de calcul




      Block-based (Karhunen-Loeve, SVD, DCT) / image-based (DWT)
Module transformation: DCT

   Transformée par block


Transformée directe:         Transformée inverse:
Module transformation: DCT

  Exemple pour block 4x4
Module transformation: DCT

  Exemple pour block 4x4
Module transformation: DCT

  L’élément de base: le block à 8x8 pixels
  4-12 bits / pixel   New




 Luminance et chrominance pour MB I, l’erreur de prédiction pour MB P et B
Module transformation: DCT



                            1c                  2c




                             3c                 4c




    Reconstruction à partir d’un sous-ensemble des coefficients DCT
Module transformation: prédiction spatiale pour MB I

  Les coefficients DC et certaines coefficients AC entre des blocks voisines




                                     Macroblock



        Prédiction pour les coefficients les plus porteurs d’information
Modules prédiction et transformation: schéma block



      Image                           +
                                                 DCT
     courante
                                            -
                     Estimation
                   de mouvement



     Image(s)                     Compensation
    de référence                  de mouvement




                    Vecteurs de mouvement
Architecture générique



  Prédiction    Transformation   Quantification   Codage entropique
Module quantification pour les coefficients DC I

  Contrôlé par une variable globale (associée au VOP – quantiser_scale)


  Composante DC pour les blocks I :




      Qs            1-4      5-8            9-24        24-31

dc_scaller (lum)    8        2Qs           Qs+8         2Qs-16

dc_scaller (crom)   8     (Qs+13)/2      (Qs+13)/2       Qs-6


                           Perte de l’information
Module quantification pour les coefficients non DC I

  Deux méthodes: MPEG-2 et H263
  Une variable locale est utilisée dans MPEG-2
  Le pas de quantification est différent pour chaque fréquence spatiale




MPEG-2                                MPEG-2




                           Perte de l’information
Modules prédiction, transformation, quantification

  Image                           +
                                             DCT     Q
 courante
                                        -
                 Estimation
               de mouvement



 Image(s)                     Compensation
de référence                  de mouvement


   Image                                     DCT-1   Q-1
courante de
 référence

                Vecteurs de mouvement
Architecture générique



  Prédiction    Transformation   Quantification   Codage entropique
Codeur d’entropie pour les coefficients DCT

  Valeurs des coefficients DCT; La probabilité des coefficients zéros
Codeur d’entropie pour les coefficients DCT

  Les coefficients DCT quantifiés sont réorganisés en vecteur 1D
  Différents types de balayage afin d’obtenir des vecteurs courts




New                        New
        Horizontal                 Vertical                    Zigzag

  Codage pour chaque composante de vecteur (LAST, RUN, LEVEL) par code
   à longueur variable (code courtes pour les valeurs les plus fréquentes)
Codeur d’entropie: les symboles

  Codage pour chaque composante de vecteur (LAST, RUN, LEVEL) par code
   à longueur variable (code courtes pour les valeurs les plus fréquentes)




                16, 0, 0, -3, 5, 6, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0


                (0,16,0), (2, -3, 0), (0, 5, 0), (0, 6, 0), (4, -7, 1)



   No des zéros avant le symbole                 Indique le dernier symbole non zéro
Codage binaire par codes à longueur variable

  La longueur des codés dépend de la fréquence d’apparition des symboles

  Codage Huffman
Symbole       La          Longueur idéal du   Code                       D   p=1
          probabilité p    code : log2(1/p)
  -2          0.1               3.32          001                                  0
  -1          0.2               2.32          011
                                                             1                           C        p=0.6
  0           0.4               1.32           1
  1           0.2               2.32          010                            1
  2           0.1               3.32          000                                                   0
                                                      0                  B       p=0.4
                                                                   1              0
                                                     p=0.4
                                                                  -1              1                  A    p=0.2

       (1, 0, -2) -> 0101001                                                                  1            0
                                                                 p=0.2           p=0.2
                                                                                             -2            2
Dans la pratique on utilise des tableaux des
           probabilités pre-calculés                                                     p=0.1            p=0.1
Schéma complet de codage


  Image                           +          DCT     Q     Re-order    CLV
 courante
                 Estimation
                                      -
               de mouvement



 Image(s)                     Compensation
de référence                  de mouvement


   Image                                     DCT-1   Q-1
courante de
 référence

               Vecteurs de mouvement                                  Stream
Types des données visuelles

                                Objet de forme arbitraire
                         Masque binaire        Masque en niveaux de
                                                        gris




Information a coder:
     la texture
                         Information supplémentaire a coder: la forme
                       Certaines contraintes pour le codage de la texture
Codage de la texture



Bounding Box



                       Object

  Extended
Bounding Box
   n.16x16
Codage de la texture : module prédiction

  Compensation de mouvement



                                   Padding pour le MB de référence
                                     Horizontal, vertical et moyenne


               VM




 Codage différentiel des VMs par rapport aux blocks voisins
Codage de la texture : module de transformation

La méthode normale avec            Transformée DCT adaptée
   un padding préalable               aux formes arbitraires

   Le padding n’est pas
    standardisé

   Zéro padding

   Le même padding que pour
    la compensation de          Shift + DCT 1D
    mouvement                                      Shift + DCT 1D

                               Parcours en zigzag
                                 - les coeff. transp. sont ignorés
Codage de la forme



               Masque binaire : valeurs 0 ou 255



          Masque en niveaux de gris: valeurs entre 0 et 255




       Pour chacune des deux méthodes MPEG-4 standardise un
                    ensemble des outils spécifiques
Codage du masque binaire                                                New




  Codage par Macroblock

  Utilisation de la prédiction temporelle (par VOP entier)

  Utilisation de l’estimation et compensation du mouvement (calculés
   indépendants des VM de la texture)
      Estimations à demi et quart pixels ne sont pas supportées
      4MV n’est pas supporté
Codage du masque binaire                                                New




  Codeur arithmétique avec contexte




                  10 bits                       9 bits


  C=(C9C8C7C6C5C4C3C2C1C0)2              C=(C8C7C6C5C4C3C2C1C0)2
          1024 valeurs possible                  512 valeurs possible


  Calcul des probabilités pour chaque symbole
     Les symboles avec une grande probabilité: des codes courts
     Possible de coder un symbole avec moins d’un bit
Codage du masque en niveaux de gris                               New




  Association d’un masque binaire




  Codage du masque binaire avec la technique précédemment présentée


  Codage du masque en niveaux de gris comme une texture
Outils spéciaux de codage                        New



  La scalabilité      Codage par
                      mosaïques




                      Codage par   Codage résistant
                      ondelettes    aux erreurs de
                                      transmission
Outils spéciaux de codage: la scalabilité                                      New




  Organiser le stream vidéo d’une manière "incrémentale" :
     une couche de base qui contient l’information à une résolution/qualité
      moyenne
     Des couches d’amélioration qui s’ajouts à la couche de base pour
      augmenter la résolution/qualité


Approche classique:



Approche scalable:
Outils spécifiques: la scalabilité                                                                                              New




                        in _ 1        MPEG-4                                         MPEG-4         o ut _ 1
                                  En hanc eme nt                                  En hanc eme nt
                                 L ay er1 Enc od er                              Lay er 1 Dec o der




                                                                   MSDL Dem ux
                                                        MSDL Mux
                                                                                                                                o ut p_ 1
in    Sc alabili t y                                                                                               Sc alabili t y
                                 Mi dPr oc es ss or 1                            Mi dPr oc es ss or 1
     PrePr oc es s or                                                                                          Pos t Pro c ess or
                                                                                                                             o ut p_ 0



                                     MPEG-4                                         MPEG-4
                                    Bas e Lay er                                   Bas e Lay er
                        in_ 0                                                                           ou t _ 0
                                     En c od er                                     Dec od er
Les différents types de scalabilité        New




  Spatiale A

                B


                        C




                                    D

                    A           B       C    D
Les relations entre la couche de base et la couche d’amélioration
Les différents types de scalabilité       New




  Temporelle




                A              B      C    D
Les différents types de scalabilité       New




  En SNR


A              B               C      D




               A               B      C    D
Les différents types de scalabilité   New




  En SNR
Outils spéciaux de codage: les mosaïques (sprites)      New




                                                 +	

   Un sprite est transmis une seule fois pour
    un segment vidéo
   A chaque cadre, l’image est obtenue par
    cropping
   Le sprite est codé comme une image I
Outils spéciaux de codage: les ondelettes                                     New




                                     Relation d’héritage entre les coefficients
                                   de la transformée




     Transformation: ondelettes biorthogonales (9,3)
     Codage des coefficients avec le Zero Tree Wavelet Coding
     Quantification implicite/explicite (dif pour les coeff DC et AC)
     Scanning et codage arithmétique
Outils spéciaux de codage: les ondelettes           New




              Scalabilité hybride spatiale - SNR
Outils spéciaux de codage: les ondelettes         New




              Codage par sous-image pour accès
               direct aux zones specifiques
New


Outils spéciaux de codage: résistance aux erreurs de transmission




   Insertions de marqueurs de re-synchronisation dans le flux
    binaire
   Partitionnement des données vidéos
   Extension des codes header
   Codes VLC réversibles
   Rafraîchissement intra
   NEWPRED, pour les communications bidirectionnelles client-
    serveur
Objets du cours
L’encodeur




         Même schéma, différences dans les détails des blocks
Le décodeur




         Même schéma, différences dans les détails des blocks
La prédiction block intra


   Block de 4x4 ou 16x16 pixels



   Luminance 4x4 : 9 options de prédiction

   Luminance 16x16 : 4 options de prédiction

   Chrominance 4x4 : 1 méthode de prédiction




         Prédiction Intra directement dans l’espace initial de l’image
La prédiction block intra : luminance 4x4: 9 options




        Prédiction Intra directement dans l’espace initial de l’image
La prédiction block intra : luminance 4x4: 9 options




        Prédiction Intra directement dans l’espace initial de l’image
La prédiction block intra : luminance 4x4: 9 options




        Prédiction Intra directement dans l’espace initial de l’image
La prédiction block intra : luminance 16x16: 4 options




        Prédiction Intra directement dans l’espace initial de l’image
La prédiction block Inter

   Référence vers une ou plusieurs images de référence

   Compensation de mouvement en arbre structuré
       Le MB (16x16) peut être partagé dynamiquement
       VMs associés avec les bloques (16x16), (8x16), (16x8), (8x8),
        (8x4), (4x8), (4x4)
La prédiction block Inter: exemple de répartition




          La différence des images (erreur de prédiction) à coder
La prédiction block Inter: vecteurs de mouvement

   Pour chaque block on cherche une référence avec les mêmes
    dimensions

   Précision d’estimation des vecteurs de mouvement à quart de
    pixel

   À démi pixel : filtre FIR (Finite Impulse Response) d’ordre 6
   À quart de pixel: interpolation bilinéaire supplémentaire


   Codage prédictif des vecteurs de mouvement par rapport aux
    VMs des blocks voisines: filtre médian




           La différence des images (erreur de prédiction) à coder
La prédiction




   Liberté de choisir la direction de prédiction pour les cadres P et B
   Un cadre B peut être utilisé comme cadre de référence




       Plusieurs références (même à longue distance)
La transformée en fréquence: 3 options

   Une transformée 4x4 pour les coefficients DC dans les MB de
    luminance I (T3)
   Une transformée 2x2 pour les coefficients DC dans tous les
    MB de chrominance (T2)
   Une transformée 4x4 pour les autres MB (T1)
T1 - La transformée en fréquence; retour à la DCT?!




    Concentration de l’énergie sur un nombre réduit des
     coefficients
    Transforme les entiers en nombre réels (pas besoin d’une telle
     précision car une quantification suive
T1 - La transformée en fréquence; retour à la DCT?!




                                                      =




        =



  d=c/b=0.414


  L’idée: faire d=0.5      La transformée:
T1 - La transformée en fréquence: la DCT en « entier »


                                                                   A considérer
                                                                   dans l’étape de
                                                                   quantification




   La transformée C remplace la DCT
   Pas de multiplication nécessaire, que des shifts et adition/
    soustraction
   Les coefficients sont représentés en 16 bits
T3 - La transformée des coefficients Y DCT: Transformée Hadamard

                              16
                       4

                   4


              16
T2 - La transformée des coefficients Cr DCT: Transformée Hadamard


                             8
                         4

                     4
                 8
La quantification

    Nouvelles contraintes:
        Pas de division et opération en point flottant
        Inclure un facteur d’échelle donné par les matrices résultées de la
         transformée



    52 valeurs pour le Qstep




    Facteur d’échelle
Le filtrage à la frontière des blocks




                                   Q=32
Le filtrage à la frontière des blocks




                                   Q=36
Le filtrage à la frontière des blocks


                                              P3

                                              P2
   P3   P2   P1   P0   Q0   Q1   Q2   Q3      P1

                                              P0

                                              Q0

                                              Q1
    Filtre linéaire d’ordre 5, 4 ou 3 en     Q2
     fonction de l’endroit de frontière (MB   Q3
     ou B) et du gradient
Le codage entropique




      CABAC: Contexte based adaptative Binary Arithmetic Coding




      VLC : Variable Length Coding
Evaluation des performances
Evaluation des performances
Evaluation des performances
Evaluation des performances
Les profiles
Simple Profile
Simple Profile: Levels
Les Profiles, version 2
Basics of Mpeg 4 Video Compression

Contenu connexe

Tendances

Mpeg video compression
Mpeg video compressionMpeg video compression
Mpeg video compressionGem WeBlog
 
Edge Detection using Hough Transform
Edge Detection using Hough TransformEdge Detection using Hough Transform
Edge Detection using Hough TransformMrunal Selokar
 
Video Compression Standards - History & Introduction
Video Compression Standards - History & IntroductionVideo Compression Standards - History & Introduction
Video Compression Standards - History & IntroductionChamp Yen
 
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 VideoDr. Mohieddin Moradi
 
Broadcast Camera Technology, Part 2
Broadcast Camera Technology, Part 2Broadcast Camera Technology, Part 2
Broadcast Camera Technology, Part 2Dr. Mohieddin Moradi
 
Video Compression Basics - MPEG2
Video Compression Basics - MPEG2Video Compression Basics - MPEG2
Video Compression Basics - MPEG2VijayKumarArya
 
Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainVideoguy
 
Spatial filtering using image processing
Spatial filtering using image processingSpatial filtering using image processing
Spatial filtering using image processingAnuj Arora
 
DCT image compression
DCT image compressionDCT image compression
DCT image compressionyoussef ramzy
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2ozlael ozlael
 
TV transmission principles
TV transmission principlesTV transmission principles
TV transmission principlesnnmaurya
 
Deblurring of Digital Image PPT
Deblurring of Digital Image PPTDeblurring of Digital Image PPT
Deblurring of Digital Image PPTSyed Atif Naseem
 
MPEG video compression standard
MPEG video compression standardMPEG video compression standard
MPEG video compression standardanuragjagetiya
 

Tendances (20)

Mpeg video compression
Mpeg video compressionMpeg video compression
Mpeg video compression
 
Edge Detection using Hough Transform
Edge Detection using Hough TransformEdge Detection using Hough Transform
Edge Detection using Hough Transform
 
Audio compression
Audio compressionAudio compression
Audio compression
 
Hdtv technology
Hdtv technologyHdtv technology
Hdtv technology
 
Video Compression Standards - History & Introduction
Video Compression Standards - History & IntroductionVideo Compression Standards - History & Introduction
Video Compression Standards - History & Introduction
 
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
 
Broadcast Camera Technology, Part 2
Broadcast Camera Technology, Part 2Broadcast Camera Technology, Part 2
Broadcast Camera Technology, Part 2
 
Noise
NoiseNoise
Noise
 
Video Compression Basics - MPEG2
Video Compression Basics - MPEG2Video Compression Basics - MPEG2
Video Compression Basics - MPEG2
 
Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag Jain
 
Spatial filtering using image processing
Spatial filtering using image processingSpatial filtering using image processing
Spatial filtering using image processing
 
DCT image compression
DCT image compressionDCT image compression
DCT image compression
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 
TV transmission principles
TV transmission principlesTV transmission principles
TV transmission principles
 
Image restoration and reconstruction
Image restoration and reconstructionImage restoration and reconstruction
Image restoration and reconstruction
 
Deblurring of Digital Image PPT
Deblurring of Digital Image PPTDeblurring of Digital Image PPT
Deblurring of Digital Image PPT
 
MPEG video compression standard
MPEG video compression standardMPEG video compression standard
MPEG video compression standard
 
Thinking about IP migration
Thinking about IP migration Thinking about IP migration
Thinking about IP migration
 
Jpeg and mpeg ppt
Jpeg and mpeg pptJpeg and mpeg ppt
Jpeg and mpeg ppt
 
Jpeg dct
Jpeg dctJpeg dct
Jpeg dct
 

Similaire à Basics of Mpeg 4 Video Compression

cours-gratuit.com--CoursMatlab-id4508 (1).pdf
cours-gratuit.com--CoursMatlab-id4508 (1).pdfcours-gratuit.com--CoursMatlab-id4508 (1).pdf
cours-gratuit.com--CoursMatlab-id4508 (1).pdfNarjiss Hach
 
examen en DSP 2023.pdf
examen en DSP 2023.pdfexamen en DSP 2023.pdf
examen en DSP 2023.pdfkamouf
 
Étude et résolution numérique de deux modèles basés sur des équations aux dér...
Étude et résolution numérique de deux modèles basés sur des équations aux dér...Étude et résolution numérique de deux modèles basés sur des équations aux dér...
Étude et résolution numérique de deux modèles basés sur des équations aux dér...Ayoub Boudlal
 
Td2 decrypted
Td2 decryptedTd2 decrypted
Td2 decryptedMed Mmed
 
Presentation of local estimation of pressure wave velocity from dynamic MR im...
Presentation of local estimation of pressure wave velocity from dynamic MR im...Presentation of local estimation of pressure wave velocity from dynamic MR im...
Presentation of local estimation of pressure wave velocity from dynamic MR im...Hassan Nasser
 
Traitement d'images CCD avec PixInsight
Traitement d'images CCD avec PixInsightTraitement d'images CCD avec PixInsight
Traitement d'images CCD avec PixInsightDidier Walliang
 

Similaire à Basics of Mpeg 4 Video Compression (11)

Bitmaps
BitmapsBitmaps
Bitmaps
 
cours-gratuit.com--CoursMatlab-id4508 (1).pdf
cours-gratuit.com--CoursMatlab-id4508 (1).pdfcours-gratuit.com--CoursMatlab-id4508 (1).pdf
cours-gratuit.com--CoursMatlab-id4508 (1).pdf
 
examen en DSP 2023.pdf
examen en DSP 2023.pdfexamen en DSP 2023.pdf
examen en DSP 2023.pdf
 
Deep learning.pdf
Deep learning.pdfDeep learning.pdf
Deep learning.pdf
 
Reconstruction 3 D
Reconstruction 3 DReconstruction 3 D
Reconstruction 3 D
 
Étude et résolution numérique de deux modèles basés sur des équations aux dér...
Étude et résolution numérique de deux modèles basés sur des équations aux dér...Étude et résolution numérique de deux modèles basés sur des équations aux dér...
Étude et résolution numérique de deux modèles basés sur des équations aux dér...
 
Td2 decrypted
Td2 decryptedTd2 decrypted
Td2 decrypted
 
Presentation of local estimation of pressure wave velocity from dynamic MR im...
Presentation of local estimation of pressure wave velocity from dynamic MR im...Presentation of local estimation of pressure wave velocity from dynamic MR im...
Presentation of local estimation of pressure wave velocity from dynamic MR im...
 
Compression JPEG
Compression JPEGCompression JPEG
Compression JPEG
 
Traitement d'images CCD avec PixInsight
Traitement d'images CCD avec PixInsightTraitement d'images CCD avec PixInsight
Traitement d'images CCD avec PixInsight
 
Projet vision
Projet visionProjet vision
Projet vision
 

Plus de Marius Preda PhD

Point Cloud Compression in MPEG
Point Cloud Compression in MPEGPoint Cloud Compression in MPEG
Point Cloud Compression in MPEGMarius Preda PhD
 
Bridging the gap between web and television
Bridging the gap between web and televisionBridging the gap between web and television
Bridging the gap between web and televisionMarius Preda PhD
 
Mpeg ARAF tutorial @ ISMAR 2014
Mpeg ARAF tutorial @ ISMAR 2014Mpeg ARAF tutorial @ ISMAR 2014
Mpeg ARAF tutorial @ ISMAR 2014Marius Preda PhD
 
XLcloud 3-d remote rendering
XLcloud 3-d remote renderingXLcloud 3-d remote rendering
XLcloud 3-d remote renderingMarius Preda PhD
 
MPEG 3D graphics compression offer
MPEG 3D graphics compression offerMPEG 3D graphics compression offer
MPEG 3D graphics compression offerMarius Preda PhD
 
Augmented Reality: Connecting physical and digital worlds
Augmented Reality: Connecting physical and digital worldsAugmented Reality: Connecting physical and digital worlds
Augmented Reality: Connecting physical and digital worldsMarius Preda PhD
 
MPEG Augmented Reality Tutorial
MPEG Augmented Reality TutorialMPEG Augmented Reality Tutorial
MPEG Augmented Reality TutorialMarius Preda PhD
 
Basics of Mpeg 4 3D Graphics Compression
Basics of Mpeg 4 3D Graphics CompressionBasics of Mpeg 4 3D Graphics Compression
Basics of Mpeg 4 3D Graphics CompressionMarius Preda PhD
 
MPEG Technologies and roadmap for Augmented Reality
MPEG Technologies and roadmap for Augmented RealityMPEG Technologies and roadmap for Augmented Reality
MPEG Technologies and roadmap for Augmented RealityMarius Preda PhD
 
Games related research at Institut TELECOM
Games related research at Institut TELECOMGames related research at Institut TELECOM
Games related research at Institut TELECOMMarius Preda PhD
 

Plus de Marius Preda PhD (13)

Point Cloud Compression in MPEG
Point Cloud Compression in MPEGPoint Cloud Compression in MPEG
Point Cloud Compression in MPEG
 
Bridging the gap between web and television
Bridging the gap between web and televisionBridging the gap between web and television
Bridging the gap between web and television
 
Mpeg ARAF tutorial @ ISMAR 2014
Mpeg ARAF tutorial @ ISMAR 2014Mpeg ARAF tutorial @ ISMAR 2014
Mpeg ARAF tutorial @ ISMAR 2014
 
XLcloud 3-d remote rendering
XLcloud 3-d remote renderingXLcloud 3-d remote rendering
XLcloud 3-d remote rendering
 
MPEG 3D graphics compression offer
MPEG 3D graphics compression offerMPEG 3D graphics compression offer
MPEG 3D graphics compression offer
 
Augmented Reality: Connecting physical and digital worlds
Augmented Reality: Connecting physical and digital worldsAugmented Reality: Connecting physical and digital worlds
Augmented Reality: Connecting physical and digital worlds
 
3DgraphicsAndAR
3DgraphicsAndAR3DgraphicsAndAR
3DgraphicsAndAR
 
MPEG Augmented Reality Tutorial
MPEG Augmented Reality TutorialMPEG Augmented Reality Tutorial
MPEG Augmented Reality Tutorial
 
Basics of Mpeg 4 3D Graphics Compression
Basics of Mpeg 4 3D Graphics CompressionBasics of Mpeg 4 3D Graphics Compression
Basics of Mpeg 4 3D Graphics Compression
 
MPEG Technologies and roadmap for Augmented Reality
MPEG Technologies and roadmap for Augmented RealityMPEG Technologies and roadmap for Augmented Reality
MPEG Technologies and roadmap for Augmented Reality
 
Games related research at Institut TELECOM
Games related research at Institut TELECOMGames related research at Institut TELECOM
Games related research at Institut TELECOM
 
Tutorial MPEG 3D Graphics
Tutorial MPEG 3D GraphicsTutorial MPEG 3D Graphics
Tutorial MPEG 3D Graphics
 
Mpeg v-awareness event
Mpeg v-awareness eventMpeg v-awareness event
Mpeg v-awareness event
 

Dernier

SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 

Dernier (20)

SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 

Basics of Mpeg 4 Video Compression

  • 1.
  • 2. Pourquoi compresser la vidéo?! L’image La fréquence En minutes La durée Le film: Le pixel Le DVD : 4.5 Go 34 Le CD : 650-700 Mo 222 Le ADSL : 0.25 Mo/s 118 * 156 Go (=29,66 Mo/s)
  • 3. Comment est possible de compresser la vidéo?! Redondance spatiale Redondance temporelle
  • 4. Audio (AAC) Vidéo (V2, AVC) Image (VTC)
  • 6. Les différentes parties du standard MPEG-4 –  Part 1 Systems (2001) –  Part 2 Visual (2001) –  Part 3 Audio (2001) –  Part 4 Conformance (2002) –  Part 5 Reference Software (2002) –  Part 6 DMIF - Delivery Multimedia Integration Framework (2000) –  Part 7 Optimized Software (2002) –  Part 8 MPEG 4 on IP (2002) –  Part 9 Reference Hardware (2003) –  Part 10 Advanced Video Coding (AVC) joint with ITU-T (2003)
  • 8. Architecture générique Prédiction Transformation Quantification Codage entropique
  • 9. Types des données visuelles Objet de forme arbitraire Masque binaire Masque en niveaux de gris Information à coder: la texture Information supplémentaire à coder: la forme
  • 10. Codage de la texture : préparation des données R Y G U Image Initiale B V Y = 0.299*R + 0.587*G + 0.114*B R = Y + (1.4075 * (V - 128)); U = -0.169*R - 0.331*G + 0.500*B + 128.0 G = Y - (0.3455 * (U - 128) - (0.7169 * (V - 128)); V = 0.500*R - 0.419*G - 0.081*B + 128.0 B = Y + (1.7790 * (U - 128);
  • 11. Codage de la texture : préparation des données Y Y Y Sous- échantillonnage U U U V V V 4:4:4 4:2:2 4:2:0 La composante Y porte plus d’information que les composantes U et V
  • 12. Codage de la texture : les Macroblocks (16x16 pixels) 16x16 pixels Pour des images non multiple de 16, un padding est nécessaire
  • 13. Module Prédiction : GOP Séquence vidéo GOP GOP GOP
  • 14. Codage de la texture : Module Prédiction 1 2-(5+1)/2 … 5-1 2-5 2-1 En faisant des différences, on diminue la dynamique de l’information à coder
  • 15. Module Prédiction avec Compensation de Mouvement Vx + Vy Image Initiale Avec prédiction Avec prédiction et compensation de mouvement La compensation de mouvement diminue encore la dynamique de l’information
  • 16. Module Prédiction avec Compensation de Mouvement Deux cadres consécutifs
  • 17. Module Prédiction avec Compensation de Mouvement Différence directe
  • 18. Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 16x16
  • 19. Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 8x8
  • 20. Module Prédiction avec Compensation de Mouvement Différence avec compensation en mouvement pour block de 4x4
  • 21. Module Prédiction avec Compensation de Mouvement 16x16 4x4
  • 22. Les vecteurs de mouvement Mode 1MV: un vecteur pour un MB Mode 4MV: un vecteur pour chaque block du MB Les vecteurs sont estimés que pour la composante de luminance Codage différentiel par rapport aux macroblock voisins   Estimation à quart de pixel   Estimation globale pour l’image entière New   Mode directe dans la compensation bidirectionnelle Les méthodes d’estimation des vecteurs ne sont pas standardisées
  • 23. Estimation à quart de pixel New L’estimation à pixel: les VMs sont des nombres entiers - pb pour des mouvements sous pixel entre deux cadres - l’erreur de prédiction importante Solution: estimation à demi et à quart de pixel Interpolation bilinéaire Interpolation bilinéaire à voisinage 8 A4 A3 A2 A1 B1 B2 B3 B4 A b B a c d a=(-8A4+24A3-48A2+160A1+160B1-48B2+24B3-8B4) mod 256 C D b=(A+B+1)mod(2) b’ d=(A+B+C+D+2)mod(4) a b b’=(a+b+1)mod(2) c’ d’ d’=(a+b+c+d+2)mod(4) c d Demi Quart Augmenter la résolution des VMs, mais réduire l’erreur de prédiction
  • 24. La prédiction block Inter: vecteurs de mouvement
  • 25. Estimation globale de mouvement New   Le même ensemble des paramètres de mouvement pour l’image entière   Utilisée alternativement avec la compensation locale (MB) pour minimiser l’erreur de prédiction   1 à 4 VMs (et leur positions) à transmettre par image   au décodeur, interpolation pour chaque MB Très utile pour les mouvements de la camera
  • 26. Mode direct pour la compensation bidirectionnelle New   Par rapport à une référence passée   Par rapport à une référence future   Par rapport à la moyenne entre une référence passée et une future   Mode direct MVB MVF=[(tc-tf)/(tb-tf)]*MV MVF MVB=MVF-MV MV P B B P
  • 27. Module prédiction: schéma block Image + courante - Estimation de mouvement Image(s) Compensation de référence de mouvement Vecteurs de mouvement
  • 28. Architecture générique Prédiction Transformation Quantification Codage entropique
  • 29. Module transformation: les contraintes   Les données dans le domaine transformé doivent être   Non corrélées : séparées en composants avec interdépendance minimale   Compactes: l’énergie doit être concentrée dans un petit nombre des valeurs   La transformée doit être réversible   La transformée doit être faisable d.p.d.v. temps de calcul Block-based (Karhunen-Loeve, SVD, DCT) / image-based (DWT)
  • 30. Module transformation: DCT   Transformée par block Transformée directe: Transformée inverse:
  • 31. Module transformation: DCT   Exemple pour block 4x4
  • 32. Module transformation: DCT   Exemple pour block 4x4
  • 33. Module transformation: DCT   L’élément de base: le block à 8x8 pixels   4-12 bits / pixel New Luminance et chrominance pour MB I, l’erreur de prédiction pour MB P et B
  • 34. Module transformation: DCT 1c 2c 3c 4c Reconstruction à partir d’un sous-ensemble des coefficients DCT
  • 35. Module transformation: prédiction spatiale pour MB I   Les coefficients DC et certaines coefficients AC entre des blocks voisines Macroblock Prédiction pour les coefficients les plus porteurs d’information
  • 36. Modules prédiction et transformation: schéma block Image + DCT courante - Estimation de mouvement Image(s) Compensation de référence de mouvement Vecteurs de mouvement
  • 37. Architecture générique Prédiction Transformation Quantification Codage entropique
  • 38. Module quantification pour les coefficients DC I   Contrôlé par une variable globale (associée au VOP – quantiser_scale)   Composante DC pour les blocks I : Qs 1-4 5-8 9-24 24-31 dc_scaller (lum) 8 2Qs Qs+8 2Qs-16 dc_scaller (crom) 8 (Qs+13)/2 (Qs+13)/2 Qs-6 Perte de l’information
  • 39. Module quantification pour les coefficients non DC I   Deux méthodes: MPEG-2 et H263   Une variable locale est utilisée dans MPEG-2   Le pas de quantification est différent pour chaque fréquence spatiale MPEG-2 MPEG-2 Perte de l’information
  • 40. Modules prédiction, transformation, quantification Image + DCT Q courante - Estimation de mouvement Image(s) Compensation de référence de mouvement Image DCT-1 Q-1 courante de référence Vecteurs de mouvement
  • 41. Architecture générique Prédiction Transformation Quantification Codage entropique
  • 42. Codeur d’entropie pour les coefficients DCT   Valeurs des coefficients DCT; La probabilité des coefficients zéros
  • 43. Codeur d’entropie pour les coefficients DCT   Les coefficients DCT quantifiés sont réorganisés en vecteur 1D   Différents types de balayage afin d’obtenir des vecteurs courts New New Horizontal Vertical Zigzag   Codage pour chaque composante de vecteur (LAST, RUN, LEVEL) par code à longueur variable (code courtes pour les valeurs les plus fréquentes)
  • 44. Codeur d’entropie: les symboles   Codage pour chaque composante de vecteur (LAST, RUN, LEVEL) par code à longueur variable (code courtes pour les valeurs les plus fréquentes) 16, 0, 0, -3, 5, 6, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0 (0,16,0), (2, -3, 0), (0, 5, 0), (0, 6, 0), (4, -7, 1) No des zéros avant le symbole Indique le dernier symbole non zéro
  • 45. Codage binaire par codes à longueur variable   La longueur des codés dépend de la fréquence d’apparition des symboles   Codage Huffman Symbole La Longueur idéal du Code D p=1 probabilité p code : log2(1/p) -2 0.1 3.32 001 0 -1 0.2 2.32 011 1 C p=0.6 0 0.4 1.32 1 1 0.2 2.32 010 1 2 0.1 3.32 000 0 0 B p=0.4 1 0 p=0.4 -1 1 A p=0.2 (1, 0, -2) -> 0101001 1 0 p=0.2 p=0.2 -2 2 Dans la pratique on utilise des tableaux des probabilités pre-calculés p=0.1 p=0.1
  • 46. Schéma complet de codage Image + DCT Q Re-order CLV courante Estimation - de mouvement Image(s) Compensation de référence de mouvement Image DCT-1 Q-1 courante de référence Vecteurs de mouvement Stream
  • 47. Types des données visuelles Objet de forme arbitraire Masque binaire Masque en niveaux de gris Information a coder: la texture Information supplémentaire a coder: la forme Certaines contraintes pour le codage de la texture
  • 48. Codage de la texture Bounding Box Object Extended Bounding Box n.16x16
  • 49. Codage de la texture : module prédiction   Compensation de mouvement   Padding pour le MB de référence Horizontal, vertical et moyenne VM Codage différentiel des VMs par rapport aux blocks voisins
  • 50. Codage de la texture : module de transformation La méthode normale avec Transformée DCT adaptée un padding préalable aux formes arbitraires   Le padding n’est pas standardisé   Zéro padding   Le même padding que pour la compensation de Shift + DCT 1D mouvement Shift + DCT 1D Parcours en zigzag - les coeff. transp. sont ignorés
  • 51. Codage de la forme   Masque binaire : valeurs 0 ou 255   Masque en niveaux de gris: valeurs entre 0 et 255 Pour chacune des deux méthodes MPEG-4 standardise un ensemble des outils spécifiques
  • 52. Codage du masque binaire New   Codage par Macroblock   Utilisation de la prédiction temporelle (par VOP entier)   Utilisation de l’estimation et compensation du mouvement (calculés indépendants des VM de la texture)   Estimations à demi et quart pixels ne sont pas supportées   4MV n’est pas supporté
  • 53. Codage du masque binaire New   Codeur arithmétique avec contexte 10 bits 9 bits   C=(C9C8C7C6C5C4C3C2C1C0)2   C=(C8C7C6C5C4C3C2C1C0)2 1024 valeurs possible 512 valeurs possible   Calcul des probabilités pour chaque symbole   Les symboles avec une grande probabilité: des codes courts   Possible de coder un symbole avec moins d’un bit
  • 54. Codage du masque en niveaux de gris New   Association d’un masque binaire   Codage du masque binaire avec la technique précédemment présentée   Codage du masque en niveaux de gris comme une texture
  • 55. Outils spéciaux de codage New La scalabilité Codage par mosaïques Codage par Codage résistant ondelettes aux erreurs de transmission
  • 56. Outils spéciaux de codage: la scalabilité New   Organiser le stream vidéo d’une manière "incrémentale" :   une couche de base qui contient l’information à une résolution/qualité moyenne   Des couches d’amélioration qui s’ajouts à la couche de base pour augmenter la résolution/qualité Approche classique: Approche scalable:
  • 57. Outils spécifiques: la scalabilité New in _ 1 MPEG-4 MPEG-4 o ut _ 1 En hanc eme nt En hanc eme nt L ay er1 Enc od er Lay er 1 Dec o der MSDL Dem ux MSDL Mux o ut p_ 1 in Sc alabili t y Sc alabili t y Mi dPr oc es ss or 1 Mi dPr oc es ss or 1 PrePr oc es s or Pos t Pro c ess or o ut p_ 0 MPEG-4 MPEG-4 Bas e Lay er Bas e Lay er in_ 0 ou t _ 0 En c od er Dec od er
  • 58. Les différents types de scalabilité New   Spatiale A B C D A B C D
  • 59. Les relations entre la couche de base et la couche d’amélioration
  • 60. Les différents types de scalabilité New   Temporelle A B C D
  • 61. Les différents types de scalabilité New   En SNR A B C D A B C D
  • 62. Les différents types de scalabilité New   En SNR
  • 63. Outils spéciaux de codage: les mosaïques (sprites) New +   Un sprite est transmis une seule fois pour un segment vidéo   A chaque cadre, l’image est obtenue par cropping   Le sprite est codé comme une image I
  • 64. Outils spéciaux de codage: les ondelettes New   Relation d’héritage entre les coefficients de la transformée   Transformation: ondelettes biorthogonales (9,3)   Codage des coefficients avec le Zero Tree Wavelet Coding   Quantification implicite/explicite (dif pour les coeff DC et AC)   Scanning et codage arithmétique
  • 65. Outils spéciaux de codage: les ondelettes New   Scalabilité hybride spatiale - SNR
  • 66. Outils spéciaux de codage: les ondelettes New   Codage par sous-image pour accès direct aux zones specifiques
  • 67. New Outils spéciaux de codage: résistance aux erreurs de transmission   Insertions de marqueurs de re-synchronisation dans le flux binaire   Partitionnement des données vidéos   Extension des codes header   Codes VLC réversibles   Rafraîchissement intra   NEWPRED, pour les communications bidirectionnelles client- serveur
  • 69. L’encodeur Même schéma, différences dans les détails des blocks
  • 70. Le décodeur Même schéma, différences dans les détails des blocks
  • 71. La prédiction block intra   Block de 4x4 ou 16x16 pixels   Luminance 4x4 : 9 options de prédiction   Luminance 16x16 : 4 options de prédiction   Chrominance 4x4 : 1 méthode de prédiction Prédiction Intra directement dans l’espace initial de l’image
  • 72. La prédiction block intra : luminance 4x4: 9 options Prédiction Intra directement dans l’espace initial de l’image
  • 73. La prédiction block intra : luminance 4x4: 9 options Prédiction Intra directement dans l’espace initial de l’image
  • 74. La prédiction block intra : luminance 4x4: 9 options Prédiction Intra directement dans l’espace initial de l’image
  • 75. La prédiction block intra : luminance 16x16: 4 options Prédiction Intra directement dans l’espace initial de l’image
  • 76. La prédiction block Inter   Référence vers une ou plusieurs images de référence   Compensation de mouvement en arbre structuré   Le MB (16x16) peut être partagé dynamiquement   VMs associés avec les bloques (16x16), (8x16), (16x8), (8x8), (8x4), (4x8), (4x4)
  • 77. La prédiction block Inter: exemple de répartition La différence des images (erreur de prédiction) à coder
  • 78. La prédiction block Inter: vecteurs de mouvement   Pour chaque block on cherche une référence avec les mêmes dimensions   Précision d’estimation des vecteurs de mouvement à quart de pixel   À démi pixel : filtre FIR (Finite Impulse Response) d’ordre 6   À quart de pixel: interpolation bilinéaire supplémentaire   Codage prédictif des vecteurs de mouvement par rapport aux VMs des blocks voisines: filtre médian La différence des images (erreur de prédiction) à coder
  • 79. La prédiction   Liberté de choisir la direction de prédiction pour les cadres P et B   Un cadre B peut être utilisé comme cadre de référence   Plusieurs références (même à longue distance)
  • 80. La transformée en fréquence: 3 options   Une transformée 4x4 pour les coefficients DC dans les MB de luminance I (T3)   Une transformée 2x2 pour les coefficients DC dans tous les MB de chrominance (T2)   Une transformée 4x4 pour les autres MB (T1)
  • 81. T1 - La transformée en fréquence; retour à la DCT?!   Concentration de l’énergie sur un nombre réduit des coefficients   Transforme les entiers en nombre réels (pas besoin d’une telle précision car une quantification suive
  • 82. T1 - La transformée en fréquence; retour à la DCT?! = = d=c/b=0.414 L’idée: faire d=0.5 La transformée:
  • 83. T1 - La transformée en fréquence: la DCT en « entier » A considérer dans l’étape de quantification   La transformée C remplace la DCT   Pas de multiplication nécessaire, que des shifts et adition/ soustraction   Les coefficients sont représentés en 16 bits
  • 84. T3 - La transformée des coefficients Y DCT: Transformée Hadamard 16 4 4 16
  • 85. T2 - La transformée des coefficients Cr DCT: Transformée Hadamard 8 4 4 8
  • 86. La quantification   Nouvelles contraintes:   Pas de division et opération en point flottant   Inclure un facteur d’échelle donné par les matrices résultées de la transformée   52 valeurs pour le Qstep   Facteur d’échelle
  • 87. Le filtrage à la frontière des blocks   Q=32
  • 88. Le filtrage à la frontière des blocks   Q=36
  • 89. Le filtrage à la frontière des blocks P3 P2 P3 P2 P1 P0 Q0 Q1 Q2 Q3 P1 P0 Q0 Q1   Filtre linéaire d’ordre 5, 4 ou 3 en Q2 fonction de l’endroit de frontière (MB Q3 ou B) et du gradient
  • 90. Le codage entropique   CABAC: Contexte based adaptative Binary Arithmetic Coding   VLC : Variable Length Coding