Transport Stream

From Wikipedia, the free encyclopedia

Extensión de archivo ts, tsv, tsa y m2t
Tipo de MIME video/mp2t
Uniform Type Identifier public.mpeg-2-transport-stream[1]
Lanzamiento inicial 10 de julio de 1995 (30 años, 5 meses y 11 días)(info)
MPEG Transport Stream
Desarrollador
Moving Picture Experts Group
Información general
Extensión de archivo ts, tsv, tsa y m2t
Tipo de MIME video/mp2t
Uniform Type Identifier public.mpeg-2-transport-stream[1]
Lanzamiento inicial 10 de julio de 1995 (30 años, 5 meses y 11 días)(info)
Última versión ISO/IEC 13818-1:2022 (info)
septiembre de 2022
Tipo de formato Formato contenedor
Contenedor para Audio, video, data
Extendido a M2TS • TOD
Estándar(es) ISO/IEC 13818-1, ITU-T Recommendation H.222.0[2]
Formato abierto Sí 

MPEG Transport Stream (MPEG-TS, MTS término que puede ser traducido como «flujo de transporte») es un protocolo de comunicación para audio, vídeo y datos especificado en los estándares de MPEG-2. Los flujos binarios de vídeo y audio de cada programa de televisión se comprimen independientemente formando cada uno de ellos una “corriente elemental” (Elementary Stream). Cada una de estas corrientes elementales se estructura en forma de paquetes llamados PES (Packetized Elementary Stream).

Estos paquetes de video y audio, así como de otros datos de un mismo programa, pasan posteriormente a un multiplexor donde se conforma un solo tren binario. Para esta multiplexación, el grupo de estándares de MPEG-2 distingue entre dos posibilidades: la conformación de una “corriente de programa” (PS – Program Stream) y la conformación de una “corriente de transporte” TS - (Transport Stream).

La corriente de transporte es apropiada para entornos ruidosos, opción que encaja en las necesidades de la difusión de Televisión Digital Terrestre, por cable y vía satélite. Esta opción exige pasar los paquetes PES a otros paquetes más cortos, de 188 bytes de longitud, y aplicar técnicas de corrección de errores “hacia adelante” (FEC-Forward Error Correction). Con esto se puede organizar una corriente de transporte de un solo programa denominada SPTS (sigla en inglés de Single Program Transport Stream). Esta longitud de paquetes incluye 4 bytes de cabecera o encabezado y es apropiada para utilizarse en redes ATM, así como en una amplia variedad de sistemas de transmisión y almacenamiento.

Generación de Transport Stream

La corriente de transporte puede formarse con varios programas de televisión y cada uno de ellos con varias corrientes elementales. Como es lógico, las corrientes elementales que forman un mismo programa de televisión deben ser sincrónicas. Sin embargo, los diferentes programas pueden tener cada uno una sincronización independiente. En este caso, se organiza un canal de múltiplex con todos los programas.

El flujo binario de la corriente de transporte completa es constante, aun cuando varíen los flujos de cada corriente elemental. Para mantener este flujo total constante, se pueden incluir paquetes nulos. Entre otros datos, la corriente de transporte también lleva información de cifrado para el acceso condicional a determinados programas de pago.

Cabecera de un paquete TS

La multiplexación de TS consiste en pequeños paquetes de longitud constante de 188 bytes, de los cuales 4 se destinan a una cabecera de inclusión obligatoria tras la que puede encontrarse un campo de adaptación opcional. El resto de bytes, hasta completar los 188, son de información o carga útil.

Esquema de un paquete TS.
  • Byte sincro: Sirve para que el decodificador pueda sincronizarse correctamente con los datos entrantes. Tiene el valor hexadecimal de 0x47 (0d71, en formato decimal) y delimita el inicio de un paquete TS. Hace falta mencionar que, al contrario de los paquetes PES, este valor de sincronización puede darse en cualquiera de los 187 bytes restantes.
  • Indicador de error de transporte: Este bit se pone activo cuando se detecta un error en la transmisión.
  • Indicador de arranque: Indica si en la cabecera de la información hay un paquete PES.
  • PID (Packet Identification o "Identificador de paquete"): Es un campo de 13 bits que permite la distinción de paquetes de diferentes Elementary Streams. De los 213 valores posibles, hay 17 reservados para funciones especiales. Esto permite 8175 valores que son asignables a todos los otros flujos ES que forman el TS. El multiplexor tiene que garantizar que cada ES tenga un único identificador PID. La normativa MPEG no especifica qué valores de PID se tienen que dar a los ES (a excepción de los 17 mencionados).
  • Control de cifrado: Indica si hay o no datos cifrados en la carga útil de datos.
  • Control campo de adaptación: Indica si la cabecera tiene campo de adaptación. Son 2 bits no 1.
  • Control de carga: Indica si hay o no datos de carga útil. Se suele tomar el Control campo de adaptación como 2 bits y según sea 10, 01 o 11 indica si hay datos de adaptación, de carga o de ambos.
  • Contador de continuidad: El codificador lo incrementa en 1 cada vez que envía un paquete de la misma fuente. Esto permite que el decodificador sea capaz de deducir si se ha presentado una pérdida o una ganancia, incluso, de un paquete de transporte y evitar errores que no se podrían deducir de otra manera.

Campo de adaptación

Los campos más destacables dentro del Campo de Adaptación de una cabecera son los siguientes:

  • Longitud del campo de adaptación: Indica la longitud de la cabecera extra.
  • PCR (Program Clock Reference): El PCR es una información de sincronización del reloj de 27 MHz del receptor necesaria para la decodificación del video, audio y datos. Se incluye periódicamente en los paquetes de transporte. El receptor necesita esta información – a una cadencia de unas 10 veces por segundo para hacer funcionar el bucle de fase de su oscilador local. Síncrono y en fase con el reloj PCR de 27 MHz se dispone de otro reloj de 90 kHz que se necesita en el sistema para sincronizar otras funciones.
  • Indicador de discontinuidad: Está en el PCR y en el contador de continuidad. Se utiliza para evitar pérdidas de información producidas por un salto en el codificador.
  • Bytes comodines: Son bytes de relleno para conseguir una trama de 188 bytes de información en el supuesto de que no hubiera información suficiente para llenar el paquete.

Program Specific Information (PSI)

Referencias

Bibliografía

Related Articles

Wikiwand AI