Etude dun lecteur MPEG4 - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

Etude dun lecteur MPEG4

Description:

MIX, Lecteur MPEG-4, J. Le Feuvre. 4. Plan. Etude du terminal MPEG-4. Architecture de GPAC ... Ajustement D'horloge: Temps Objet - CTS. Ajustement de priorit . Niveau de remplissage ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 60
Provided by: formati
Category:

less

Transcript and Presenter's Notes

Title: Etude dun lecteur MPEG4


1
Etude dun lecteur MPEG-4
GPAC http//gpac.sourceforge.net Jean Le Feuvre
2
Aperçu
  • SDK MPEG-4 Systems
  • GNU General Public License
  • Lecteur Audio, Video et 2D
  • Streaming IP
  • Outils Auteurs

3
Principes Généraux
  • Portable (PC, systèmes embarqués)
  • Rapide
  • Faible occupation mémoire
  • Modulaire
  • Outils MPEG-4
  • Outils OS

4
Plan
  • Etude du terminal MPEG-4
  • Architecture de GPAC
  • Moteur Graphique 2D
  • Streaming IP
  • Divers

5
Modèle de Décodeur MPEG-4
d e m u l t i p l e x
6
Terminal MPEG-4
MPEG-2 TS
(RTP) UDP IP
MP4
DAB
7
Blocs fonctionnels
  • Couche de démultiplexage
  • Couche de synchronisation
  • Couche de décompression
  • Gestionnaire de larbre de scène
  • Module de rendu audio-visuel

8
Démultiplexage DMIF
  • ISO-IEC 14496-5
  • API daccès réseau pour applications mutimedia
  • Gestion des Services et des canaux de données
  • Localisation
  • Contrôle
  • Qualité de service

9
Avantages de DMIF
  • Description haut niveau pour tout protocole
    réseau
  • Transparent pour lapplication
  • Très modulaire
  • Points daccès MPEG-4 (IOD)

10
Limitations de DMIF
  • Environnement  push  inefficace pour les
    services locaux (fichiers)
  • API très lourde, pas élégante, inadaptée à
    limplémentation
  • Gestion des points daccès MPEG-4 trop rigide

11
DMIF et GPAC
  • Garder les bons cotés
  • Gestion services et canaux
  • Gestion des IOD
  • Rendre lAPI simple et efficace
  • Gestion avancée des IOD
  • Compatible  push  et  pull 

12
Synchronisation SL
  • Marquage temporel des données
  • Information daccès aléatoire
  • Information de transport
  • Perte/répétition de packets
  • Perte/répétition dAU
  • Bande passante instantanée
  • Gestion du temps de flux

13
Avantages de SL
  • Beaucoup dinformation
  • Flexible et configurable
  • En-têtes physiques ou virtuelles
  • Emulation des info SL
  • Facilite le transport sur réseaux hétérogènes
  • Mise à jour des bases de temps

14
Limitations de SL
  • Configuration transmise via OD
  • Mise à jour du flux OD sur réseaux hétérogènes
  • Dangereux si redirection de flux
  • Pas de notion de temps média

15
SL et GPAC
  • Reconfigurable par la couche réseau
  • Association du temps media par la couche réseau

16
Décompression ESM
  • Modèle de Décodeur MPEG-4
  • Gestion des OD
  • Localisation (objets et flux)
  • Mise en place des flux
  • Configuration et Contrôle
  • Gestion des décodeurs

17
Limitations de ESM
  • Environnement  Push 
  • Décodage instantané
  • Configuration des décodeurs via OD
  • Pas de mise à jour dynamique
  • Dangereux si redirection de flux
  • Temps de transport réseau constant

18
ESM et GPAC
  • Compatible  push  et  pull 
  • Gestion des temps de décodage
  • Gestion de la gigue réseau
  • Configuration des décodeurs via la couche réseau

19
Architecture de GPAC
Media Scheduler
MPEG-4 Terminal
Inline Manager
Scene Graph
Scene Renderer
IP Network
Media Object
Media Node (ex AudioClip)
Local Drive
Audio Ouput Plugin
Video Ouput Plugin
Decoder
CM
Création, configuration et contrôle
parcours darbre
Données
BIFS
OD
20
Threading
  • Modules
  • Audio
  • Vidéo
  • Décodage Média
  • Réseau
  • Attention à loverdose

21
Gestion Media (1/3)
  • Temps de décodage non nul
  • Remplir les mémoires de composition avant de
    démarrer lhorloge des flux
  • Répartir le temps processeur entre les différents
    décodeurs
  • Gérer les situations critiques
  • Audio vs Video
  • Priorités et Niveaux de décodage
  • Rejet de Trames

22
Gestion Media (2/3)
  • Gigue réseau variable
  • Remplir les tampons des décodeurs avant de
    démarrer lhorloge des flux
  • Gérer le remplissage des tampons
  • Niveaux critiques
  • Informer la couche réseau

23
Gestion Media (3/3)
  • Media Scalables
  • Ordonner les flux dentrée par dépendances de
    codage.
  • Ordonner les packets en entrée par temps de
    décodage.
  • Récuperer les données déjà décodées pour un même
    temps de présentation (scalabilité audio,
    scalabilité vidéo spatiale/SNR)
  • Réordonner les données décodées par temps de
    présentation (scalabilité vidéo temporelle)

24
Synchronisation
Horloge Objet
Décodeur
CM
Réseau
Media Scheduler
Données
Pause/Play
25
Gestion des Objets (1/2)
  • Temps dObjet
  • Références dhorloges
  • OTB
  • Contraintes de temps
  • Contrôle asynchrone
  • Connexion de canaux
  • Gestion de multiplexes

26
Gestion des Objets (2/2)
  • Objets Interactifs
  • Durée connue
  • Contrôle possible
  • Objets  dynamiques 
  • Non référencés via OD (ex url  fichier.jpg )
  • Identifier le type attendu en fonction du nud
    BIFS.
  • Créer un nouveau service réseau avec le type
    attendu.

27
Gestion de la scène
  • Exclusion Mutuelle
  • Contrainte de temps
  • Accès aléatoire (ex)
  • Temps de simulation
  • Impact BIFS
  • Impact Visuel (ex)

28
Gestion Réseau  Pull 
  • Pourquoi ?
  • Pas de gestion de mémoire tampon
  • Pas de copie mémoire
  • Pas de thread de démultiplexage
  • Quand ?
  • Lecture à partir dun fichier
  • Fichier non multiplexé

29
Moteur Graphique 2D
  • Modes de Rendu
  • Gestion Audio
  • Gestion Video
  • Interface Utilisateur
  • Graphisme Vectoriel
  • Gestion du Texte
  • Gestion des Média

30
Rendu Direct (1/2)
31
Rendu Direct (2/2)
  • Avantages
  • Peu de calculs
  • Faible occupation mémoire
  • Implémentation triviale
  • Inconvénients
  • Redessine les régions inchangées
  • Inadapté aux animations vectorielles

32
Rendu Indirect (1/5)
33
Rendu Indirect (2/5)
  • Avantages
  • Redessine uniquement les régions modifiées
  • Adapté à tout graphisme 2D
  • Inconvénients
  • Temps de calculs
  • Occupation mémoire

34
Rendu Indirect (3/5)
  •  Dirty Rect 
  • Rectangle englobant chaque objet
  • Précis
  • Temps de calculs, place mémoire
  • Problème du recouvrement

35
Rendu Indirect (4/5)
  • Partition de plan
  • Cellules du Plan couvertes
  • Moins Précis
  • Temps de calculs important
  • Pas de problème de recouvrement

36
Rendu Indirect (5/5)
  • Micro-dallage
  • Cellules du Plan couvertes
  • Très Précis, gère le recouvrement
  • Temps de calculs important
  • Estimation du micro-dallage

37
Temps de Rendu
  • Rien ne sert de courir
  • Expérience utilisateur
  • Ressources limitées
  • Objets Vidéo
  • Modes de Rendu ex1, ex2

38
Gestion Audio
  • APIs matérielles
  • Non standard (OS, modules)
  • Comportements différents
  • Synchronization
  • Latence du materiel
  • Modèle MPEG-4 inadapté
  • Mélangeur (ex)

39
Gestion Video
  • APIs matérielles
  • Tampon Vidéo
  • Accélération Matérielle
  • Overlay et MPEG-4
  • Conversion YUV vers RGB
  • Exemple

40
Interface Utilisateur
  • Specificité OS
  • Accès accélération matérielle
  • Evénements Utilisateurs
  • Dépendances BIFS

41
Graphisme Vectoriel
  • Anti-aliasing
  • Espace continu vers discret
  • Exemple

42
Graphisme Vectoriel
  • Anti-aliasing
  • Sous-échantillonnage
  • Couverture de Pixel
  • Alpha-blending (ex)
  • Styles de lignes
  • Objets Vectoriels
  • Exemples cap, join, dash

43
Graphisme Vectoriel
  • Support OS
  • Technologies récentes
  • GDI, Quartz, OpenGL
  • Interface Vidéo
  • Accélération matérielle
  • Implémentation logicielle

44
Gestion du Texte
  • Antia-aliasing
  • Contours et Couleurs
  • Transformations Affines
  • Supports OS peu adaptés
  • Fontes Vectorielles
  • Adaptées au graphisme 2D
  • Temps de rendu important

45
Gestion des Média
  • Réutilisation
  • Un objet utilisé par N nuds
  • Problèmes de synchronization

Node1 à T 49 ms
Node2 à T 50 ms
  • Contrôle des Objets

46
Streaming IP
  • Rappels
  • RTP 1996 - RTSP, SDP 1998
  • Transport UDP ou TCP
  • Unicast, Multicast
  • ISMA

47
Session RTSP (1/2)
Serveur RTSP
48
Session RTSP (2/2)
  • Tous les flux connus avant lecture
  • Tous les flux connéctés avant lecture
  • Contrôle sur la session, pas les flux

49
Session MPEG-4 (1/2)
Serveur MPEG-4
Récéption OD Audio et Video
50
Session MPEG-4 (2/2)
  • Flux connus avant lecture IOD
  • Flux connéctés avant lecture IOD
  • Contrôle sur les flux
  • Insertion dynamique de flux via OD

51
Streaming ISMA 1.0
  • Flux BIFS/OD via SDP
  • Flux connus davance
  • Contrôle de session facile
  • Problèmes dISMA 1.0
  • Références dHorloges
  • Interopérabilité
  • Similaire à 3GPP

52
MPEG-4 sur RTSP (1/2)
  • Flux BIFS/OD via RTP
  • Insertion dynamique de flux
  • Serveurs RTSP trop simples
  • Flux synchronizés
  • Pas de notion de Join

53
MPEG-4 sur RTSP (2/2)
  • Flux très court
  • Problème du tampon de décodeur
  • Problème de reordonnancement des packets
  • Gestion des pertes de packets
  • Bases de temps multiples

54
Lecteur Audio-Video
  • Formats classiques
  • Emulation BIFS / OD
  • Démultiplexage et décodage
  • QT, AVI, MPEG1, MPEG2, MP3
  • Gestion du tramage des données
  • MPEG-4 1 AU 1 CU
  • Autres n AU m CU

55
API En Détail (1/2)
  • API Matérielles
  • Windows (DirectX, MMSystem)
  • GAPI (WindowsCE)
  • Simple Directmedia Layer
  • API Graphiques
  • GDI
  • Gestion du Texte
  • GDI, FreeType

56
API En Détail (2/2)
  • Décodeurs
  • XviD, FAAD
  • MAD, libJPG, libPNG
  • FFMPEG
  • Démultiplexeurs
  • FFMPEG

57
Portabilité
  • Le Positif
  • Win32, WinCE, Linux
  • Pas de mauvaises surprises
  • Pas trop gros, assez rapide
  • Le Négatif
  • Machines sans FPU
  • Trop gros pour des mobiles

58
Futur?
  • Support MPEG-4 3D / VRML
  • Accélération Matérielle
  • OS sans OpenGL
  • Version point fixe
  • Graphisme 2D via OpenGL
  • Protection de Contenu

59
Démos
Write a Comment
User Comments (0)
About PowerShow.com