GOP
Groupe d’images (GOP)
Le Groupe d’images (GOP) désigne un ensemble structuré d’images successives dans un flux vidéo encodé en MPEG. Les images (ou frames) sont organisées sous forme de groupes pour permettre la compression inter-images (interframe).
Pour diffuser une vidéo sur Internet en utilisant une bande passante limitée, il est souvent nécessaire de compresser la vidéo. Outre la compression image par image, il existe une technologie plus avancée appelée compression inter-images. Celle-ci fonctionne en envoyant d’abord des images complètes (dites « images clés » ou keyframes), puis uniquement les différences entre l’image clé et les images suivantes. Le récepteur (décodeur) utilise alors l’image clé et les données de différence pour reconstruire l’image souhaitée avec une précision raisonnable.
Dans le cadre de la compression inter-images, les images d’une piste sont regroupées en GOPs. Le GOP (Group of Pictures) est donc un ensemble structuré d’images successives dans un flux ou un fichier vidéo.
Chaque GOP est généralement constitué d’une I-frame (image clé) suivie de P-frames et de B-frames :
- I-frame (image clé) : première image d’un GOP. Elle est encodée de manière indépendante, sans se baser sur d’autres images. Chaque GOP débute par une I-frame.
- P-frames : contiennent les différences par rapport à la P-frame précédente (et/ou par rapport à une I-frame). Elles sont donc encodées en se référant à une image antérieure.
- B-frames : utilisent des références à la fois sur les images I et P qui les précèdent et qui les suivent. Elles permettent, par exemple, une avance/retour rapide plus efficace.
Un GOP classique se compose d’un schéma répétitif de B- et P-frames après l’image clé. Un exemple de schéma habituel peut être :
I B B P B B P B B P B B
Taille du GOP
La taille du GOP (nombre d’images entre deux images clés successives) correspond au nombre total d’images d’un GOP. Ce nombre peut être variable ou constant dans un flux. Lorsque Flussonic transcode un flux, il génère des GOPs de taille fixe : ils ont donc tous la même durée. La plupart des logiciels de traitement vidéo sont configurés pour travailler avec des GOPs de taille identique, et il est donc très courant de recourir à des GOPs uniformes (par exemple, la norme TV fixe souvent 28 images par GOP).
Il est important de comprendre qu’un GOP sans image clé n’a aucun sens. En effet, il est impossible de commencer la lecture de la vidéo au milieu d’un GOP dépourvu d’I-frame.
Le regroupement en GOPs ne s’applique qu’aux images vidéo. Les trames audio ou de sous-titres sont ajoutées de façon synchrone aux GOPs correspondants.
Quelle est la longueur de GOP optimale ?
Pourquoi un GOP ne doit-il pas être trop long?
Un GOP trop long peut engendrer un temps de zapping plus important : c’est le délai entre le moment où le spectateur change de chaîne et celui où l’image de la nouvelle chaîne s’affiche. Si un utilisateur change de chaîne avant la fin du GOP en cours, il risque de voir une image qui n’est pas encore à jour. Ce problème peut être critique pour des applications en temps réel telles que les jeux vidéo ou les appels vidéo.
Pour résoudre ce problème, Flussonic utilise la fonctionnalité prepush : le serveur enregistre chaque GOP dans un tampon avant de l’envoyer à un client. Quand le client se connecte, le serveur lui envoie le premier GOP à partir du tampon, puis diffuse le flux avec un léger décalage (correspondant à la durée d’un GOP). Ainsi, quand la connexion ralentit ou se coupe brièvement, le client peut continuer à lire la vidéo en piochant dans le tampon, ce qui rend la lecture plus fluide. En contrepartie, cela augmente légèrement la latence.
Pourquoi un GOP ne doit-il pas être trop court ?
Car des GOPs plus longs permettent une meilleure compression, donc un débit binaire (bitrate) plus faible pour une qualité similaire. De façon générale, la longueur du GOP varie selon les usages, mais on trouve fréquemment des durées comprises entre 0,5 s et 2 s.
Open GOP
Dans certains cas, il est possible de compresser la vidéo encore plus efficacement grâce à ce qu’on appelle les open GOPs. Un open GOP peut contenir des P-frames se référant aux images précédant l’image clé. Cette technique peut réduire le débit binaire d’environ 5 à 7 %. Toutefois, les open GOPs peuvent poser des problèmes lors de l’utilisation de segments (par exemple, dans des protocoles de streaming adaptatif), car la présence de frames dépendantes de segments précédents complique la segmentation et la lecture indépendante de chaque segment.
Flussonic Media Server demo
Our experts will contact you shortly, offer tech advice and consultation, and arrange a demo.
Remplissez le formulaire pour recevoir une clé d'essai gratuite de Flussonic Media Server.
Si vous ne recevez pas d'e-mail de notre part dans l'heure qui suit, veuillez vérifier votre dossier de courrier indésirable et ajouter Flussonic à votre liste de contacts de confiance.
Email: support@flussonic.com Phone: +1 (778) 716-2080 (United States)