Descripción general de los sistemas MPEG-2

  • 05/31/2018
  • 2 minutos de lectura
    • s
    • v
    • m

Esta sección ofrece una visión general, no técnica, de la capa de sistemas MPEG-2. Sistemas MPEG-2 es el estándar que define cómo se multiplexan las transmisiones de audio y vídeo en MPEG-2.

Flujos elementales

La multiplexación MPEG-2 comienza con uno o más flujos de bytes, llamados flujos elementales, que contienen vídeo, audio u otros datos. Por ejemplo, un vídeo ES contiene fotogramas de vídeo comprimidos, además de encabezados de secuencia, encabezados de grupo de imágenes (GOP) y cualquier otra cosa que necesite el decodificador para decodificar la transmisión. La capa de sistemas no define el contenido de la secuencia de bytes ES.

Una corriente elemental se divide en paquetes, formando una corriente elemental empaquetada (PES). Los paquetes PES tienen una longitud variable. El contenido del paquete se llama carga útil. Cada paquete PES también incluye un encabezado. El multiplexor asigna un ID de flujo de 1 byte a cada PES; los paquetes PES individuales se identifican por el ID de flujo en el encabezado del paquete. Para flujos de audio, el ID de flujo tiene la forma 110xxxxx. Para video, el ID de transmisión tiene el formulario 1110yyyy.

El estándar MPEG-2 define dos formas de entregar flujos elementales empaquetados: flujos de programa y flujos de transporte.

Secuencias de programas

Las secuencias de programas están diseñadas para entornos relativamente libres de errores, como el almacenamiento de archivos locales. En un flujo de programa, los paquetes PES se multiplexan y se organizan en unidades llamadas paquetes. Todas las transmisiones de PES en una transmisión de programa se sincronizan con el mismo reloj.

Flujos de transporte

Los flujos de transporte (TS) están diseñados para entornos poco fiables o propensos a errores, como las transmisiones de red. Además, pueden contener varios programas que se sincronizan con diferentes relojes. Un flujo de transporte agrega una segunda capa de empaquetado: los flujos de PES se empaquetan dentro de paquetes de flujo de transporte, que tienen un tamaño fijo de 188 bytes por paquete. Los paquetes TS también pueden contener flujos de información del programa, que se describen en la siguiente sección.

Cada paquete TS tiene un encabezado de 4 bytes, además de un campo de adaptación opcional que contiene información de encabezado adicional. El multiplexor asigna un ID de programa (PID) a cada flujo de PES o flujo de información de programa. Los PIDs se utilizan para identificar los paquetes TS, de forma similar a la forma en que los ID de flujo identifican los paquetes PES. (Si una secuencia de transporte contiene varios programas, es posible que los ID de secuencia no sean únicos, pero las asignaciones PID son únicas dentro de la secuencia de transporte.)

Información específica del programa

Debido a que un flujo de transporte puede transportar varios programas, debe haber una forma de asociar los diversos paquetes de PES con los programas a los que pertenecen. Esto se logra mediante tablas que identifican los flujos del programa. En conjunto, estos datos se denominan Información Específica del Programa (PSI). Los datos PSI se llevan en paquetes TS, al igual que los datos PES. Hay varios tipos de datos PSI, que incluyen:

  • Tabla de Asociación de Programas (PAT). El PAT siempre se asigna a PID 0x000. Cada entrada en el PAT es un PID que identifica los paquetes PMT para ese programa (consulte el siguiente elemento).

  • Tabla de Mapas de Programas (PMT). Cada PMT define un programa. El PMT contiene una lista de secuencias; cada entrada de tabla proporciona el PID de esa secuencia, además de un código que identifica el tipo de secuencia. ISO / IEC 13818-1 define algunos tipos de flujo estándar; en la siguiente tabla se muestra una lista abreviada.

    stream_type Descripción
    0x01 MPEG-1 video
    0x02 MPEG-2 video
    0x03 MPEG-1 audio
    0x04 MPEG-2 de audio
    0x80 – 0xFF Usuario privado

    Otras normas que están basados en MPEG-2, tales como ATSC, puede definir más los tipos de secuencia en el usuario «privado» de la gama. Por ejemplo, ATSC define 0x81 como audio Dolby AC – 3.

  • Tablas de Acceso Condicional (CAT)

  • Tablas de Identificación de Red (NIT)

Compatibilidad con MPEG-2 en DirectShow