Les informations spécifiques au programme (PSI) sont des métadonnées sur un programme (canal) et font partie d'un flux de transport MPEG .
Les données PSI telles que définies par la norme ISO/IEC 13818-1 (MPEG-2 Partie 1 : Systèmes) comprennent quatre tableaux :
- PAT (Tableau d'association de programmes)
- CAT (Table d'accès conditionnel)
- PMT (Tableau de mappage des programmes)
- NIT (Tableau d'informations réseau)
La spécification MPEG-2 ne précise pas le format du CAT et du NIT.
Le PSI est transporté sous la forme d'une structure de table. Chaque structure de table est divisée en sections. Chaque section peut couvrir plusieurs paquets de flux de transport. D'autre part, un paquet de flux de transport peut également contenir plusieurs sections avec le même PID. Le champ d'adaptation se produit également dans les paquets TS transportant des données PSI. Les données PSI ne seront jamais brouillées afin que le décodeur à l'extrémité de réception puisse facilement identifier les propriétés du flux.
Les sections qui composent les tables PAT et CAT sont associées à des PID (Packet Identifier) prédéfinis, comme expliqué dans leurs descriptions respectives ci-dessous. Il peut y avoir plusieurs sections PMT indépendantes dans un flux ; chaque section reçoit un PID unique défini par l'utilisateur et mappe un numéro de programme aux métadonnées décrivant ce programme et les flux qu'il contient. Les PID de section PMT sont définis dans le PAT et sont les seuls PID définis à cet endroit. Les flux eux-mêmes sont contenus dans des paquets PES avec des PID définis par l'utilisateur spécifiés dans le PMT.
Structure du PSI
Sections du tableau
Descripteur
PAT (Tableau d'association de programmes)
La table d'association de programmes (PAT) répertorie tous les programmes disponibles dans le flux de transport. Chacun des programmes répertoriés est identifié par une valeur de 16 bits appelée program_number . Chacun des programmes répertoriés dans la PAT possède une valeur associée de PID pour son PMT.
La valeur 0x0000 pour program_number est réservée pour spécifier le PID où rechercher la table d'informations réseau. Si un tel programme n'est pas présent dans PAT, la valeur PID par défaut (0x0010) doit être utilisée pour NIT.
Les paquets TS contenant des informations PAT ont toujours le PID 0x0000.
Le PAT est attribué au PID 0x0000 et à l'ID de table 0x00. Le flux de transport contient au moins un ou plusieurs paquets TS avec le PID 0x0000. Certains de ces paquets consécutifs forment le PAT. Du côté du décodeur, le filtre de section PSI écoute les paquets TS entrants. Une fois que le filtre a identifié la table PAT, il assemble le paquet et le décode. Un PAT contient des informations sur tous les programmes contenus dans le TS. Le PAT contient des informations montrant l'association du PID de la table de mappage de programmes et du numéro de programme. Le PAT doit se terminer par un CRC 32 bits
PMT (Données spécifiques à la carte du programme)
Les PMT contiennent des informations sur les programmes. Pour chaque programme, il existe un PMT. Alors que la norme MPEG-2 permet de transmettre plusieurs sections PMT sur un seul PID (le PID d'un flux de transport unique contient des informations PMT de plusieurs programmes), la plupart des « utilisateurs » MPEG-2 tels que ATSC et SCTE exigent que chaque PMT soit transmis sur un PID distinct qui n'est utilisé pour aucun autre paquet. Les PMT fournissent des informations sur chaque programme présent dans le flux de transport, y compris le numéro de programme, et répertorient les flux élémentaires qui composent le programme MPEG-2 décrit. Il existe également des emplacements pour des descripteurs facultatifs qui décrivent l'intégralité du programme MPEG-2, ainsi qu'un descripteur facultatif pour chaque flux élémentaire. Chaque flux élémentaire est étiqueté avec une valeur stream_type.
Cette table contient les numéros PID des flux élémentaires associés au programme et des informations sur le type de ces flux élémentaires (vidéo, audio, etc.). En outre, elle peut également contenir un flux ECM (messages de contrôle des droits) pour tout autre flux chiffré. Ces messages fournissent les informations utilisées dans l'étape de sélection de la clé de chiffrement.
CAT (Données spécifiques à accès conditionnel)
- La valeur de l'ID de la table est 0x01.
Cette table est utilisée pour la gestion de l'accès conditionnel des clés de chiffrement utilisées pour le déchiffrement des flux restreints. Cette table contient des descripteurs définis de manière privée du système utilisé et le PID EMM associé. Elle est utilisée par un fournisseur de réseau pour maintenir des mises à jour régulières des clés.
NIT (Données spécifiques aux informations réseau)
Cette table facultative peut regrouper les identifiants de flux de transport dans un réseau, en fournissant des paramètres d'accès et d'autres détails. La Rec. ITU-T H.222 et la norme ISO/IEC 13818-1 ne définissent pas la structure NIT. La spécification DVB ETSI EN 300 468 (DVB-SI) de l'Union européenne de radiodiffusion le fait. Le but de mentionner mais de ne pas définir cette table dans H.222 est qu'elle a réservé le numéro de programme 0 (zéro) dans le PAT. L'extension d'ID de table est utilisée pour identifier le réseau local avec une liste de répertoires de flux de transport. Les descripteurs sont utilisés pour répertorier la modulation, la source de ces flux et programmes. L'identifiant de réseau d'origine est destiné à permettre aux flux de transport et aux programmes sur des réseaux étrangers d'être inclus dans le réseau local, ce qui permet d'éviter toute reconfiguration des identifiants de transport et de programme qui peuvent être dupliqués entre les réseaux. La spécification DVB définit l'identifiant du paquet de transport comme 16 et l'identifiant de table du réseau local de transports comme 64. Un identifiant de table de 65 est destiné à un réseau de transports étranger. Les identifiants de réseau sont gérés par les services DVB qui ont séparé les identifiants en deux groupes uniques, mais inutiles, de Network_ID et Original_Network_ID . Les deux groupes comportent un grand nombre d'entrées qui se chevauchent.
Étiquettes PSI
Identifiants de table
Chaque table d’un flux de transport est identifiée par un identifiant de table de 8 bits.
Tables spécifiques SCTE :
L'ID de table 0xCO est utilisé par le message d'informations sur le programme
L'ID de table 0xC1 est utilisé par le message de nom de programme
Il n'est pas nécessaire que le PID du PMT pointé par PAT contienne une table avec l'ID de table 0x02 Ignorer l'ID de table lors de la lecture du PMT peut avoir de mauvaises conséquences
Balises de description des programmes et des filières élémentaires
Chaque descripteur dans une table de flux de transport est identifié par une balise de descripteur de 8 bits.
Types de cours d'eau élémentaires
Chaque flux élémentaire d'un flux de transport est identifié par une attribution de type de flux élémentaire de 8 bits.