Aperçu des systèmes MPEG-2

  • 05/31/2018
  • 2 minutes à lire
    • l
    • v
    • m

Cette section donne un aperçu général et non technique de la couche systèmes MPEG-2. Les systèmes MPEG-2 sont la norme qui définit la façon dont les flux audio et vidéo sont multiplexés en MPEG-2.

Flux élémentaires

Le multiplexage MPEG-2 commence par un ou plusieurs flux d’octets, appelés flux élémentaires (ES), qui contiennent des données vidéo, audio ou autres. Par exemple, un ES vidéo contient des images vidéo compressées, ainsi que des en-têtes de séquence, des en-têtes de groupe d’images (GOP) et tout ce qui est nécessaire au décodeur pour décoder le flux. La couche Systèmes ne définit pas le contenu du flux d’octets ES.

Un flux élémentaire est divisé en paquets, formant un flux élémentaire emballé (PES). Les paquets PES ont une longueur variable. Le contenu du paquet est appelé la charge utile. Chaque paquet PES comprend également un en-tête. Le multiplexeur attribue un ID de flux de 1 octet à chaque PES ; les paquets PES individuels sont identifiés par l’ID de flux dans l’en-tête de paquet. Pour les flux audio, l’ID de flux a la forme 110xxxxx. Pour la vidéo, l’ID de flux a la forme 1110yyyy.

La norme MPEG-2 définit deux façons de fournir des flux élémentaires emballés : les flux de programme et les flux de transport.

Flux de programmes

Les flux de programmes sont conçus pour des environnements relativement exempts d’erreurs, tels que le stockage de fichiers local. Dans un flux de programme, les paquets PES sont multiplexés et organisés en unités appelées packs. Tous les flux PES d’un flux de programme sont synchronisés sur la même horloge.

Flux de transport

Les flux de transport (TS) sont conçus pour les environnements peu fiables ou sujets aux erreurs, tels que les diffusions réseau. En outre, ils peuvent contenir plusieurs programmes synchronisés avec différentes horloges. Un flux de transport ajoute une deuxième couche de packetizing — les flux PES sont empaquetés dans des paquets de flux de transport, qui ont une taille fixe de 188 octets par paquet. Les paquets TS peuvent également contenir des flux d’informations de programme, qui sont décrits dans la section suivante.

Chaque paquet TS a un en-tête de 4 octets, plus un champ d’adaptation facultatif qui contient des informations d’en-tête supplémentaires. Le multiplexeur attribue un ID de programme (PID) à chaque flux PES ou flux d’informations de programme. Les PID sont utilisés pour identifier les paquets TS, de la même manière que les ID de flux identifient les paquets PES. (Si un flux de transport contient plusieurs programmes, les ID de flux peuvent ne pas être uniques, mais les affectations PID sont uniques dans le flux de transport.)

Informations spécifiques au programme

Comme un flux de transport peut transporter plusieurs programmes, il doit y avoir un moyen d’associer les différents paquets PES aux programmes auxquels ils appartiennent. Ceci est accompli à l’aide de tableaux qui identifient les flux de programmes. Collectivement, ces données sont appelées Informations spécifiques au programme (PSI). Les données PSI sont transportées dans des paquets TS, tout comme les données PES. Il existe différents types de données PSI, notamment:

  • Table d’association des programmes (PAT). Le PAT est toujours affecté au PID 0x000. Chaque entrée dans le PAT est un PID qui identifie les paquets PMT pour ce programme (voir l’élément suivant).

  • Table de carte de programme (PMT). Chaque PMT définit un programme. Le PMT contient une liste de flux ; chaque entrée de table donne le PID pour ce flux, plus un code qui identifie le type de flux. L’ISO/CEI 13818-1 définit certains types de flux standard ; une liste abrégée est présentée dans le tableau suivant.

    type de flux Description
    0x01 Vidéo MPEG-1
    0x02 Vidéo MPEG-2
    0x03 Audio MPEG-1
    0x04 Audio MPEG-2
    0x80 – 0xFF Utilisateur privé

    D’autres normes basées sur MPEG-2, telles que ATSC, peuvent définir des types de flux supplémentaires dans la plage « utilisateur privé ». Par exemple, ATSC définit 0x81 comme audio Dolby AC-3.

  • Tables d’accès conditionnel (CAT)

  • Tables d’Identification de Réseau (NIT)

Prise en charge MPEG-2 dans DirectShow