El flujo de transporte MPEG ( MPEG -TS , MTS ) o simplemente flujo de transporte ( TS ) es un formato contenedor digital estándar para la transmisión y almacenamiento de datos de audio , video y Protocolo de información del sistema y programa (PSIP). [6] Se utiliza en sistemas de transmisión como DVB , ATSC e IPTV .
El flujo de transporte especifica un formato contenedor que encapsula flujos elementales empaquetados , con características de corrección de errores y patrones de sincronización para mantener la integridad de la transmisión cuando el canal de comunicación que transporta el flujo se degrada .
Los flujos de transporte difieren del flujo de programa MPEG, que tiene el mismo nombre , en varios aspectos importantes: los flujos de programa están diseñados para medios razonablemente confiables, como discos (como DVD ), mientras que los flujos de transporte están diseñados para transmisiones menos confiables , es decir, transmisiones terrestres o satelitales . Además, un flujo de transporte puede transportar múltiples programas.
El flujo de transporte se especifica en MPEG-2 Parte 1, Sistemas , formalmente conocido como estándar ISO/IEC 13818-1 o ITU-T Rec. H.222.0 . [4]
Un flujo de transporte encapsula una serie de otros subflujos, a menudo flujos elementales empaquetados (PES) que a su vez envuelven el flujo de datos principal utilizando el códec MPEG o cualquier número de códecs que no sean MPEG (como audio AC3 o DTS y video MJPEG o JPEG 2000 ), texto e imágenes para subtítulos, tablas que identifican los flujos e incluso información específica de la emisora, como una guía electrónica de programas . A menudo se mezclan muchos flujos, como varios canales de televisión diferentes o múltiples ángulos de una película.
Cada secuencia se corta en secciones de (como máximo) 188 bytes y se entrelazan entre sí. Debido al pequeño tamaño de los paquetes, las secuencias se pueden entrelazar con menor latencia y mayor resistencia a errores en comparación con las secuencias de programas y otros contenedores comunes como AVI , MOV / MP4 y MKV , que generalmente envuelven cada fotograma en un solo paquete. Esto es particularmente importante para las videoconferencias, donde los fotogramas grandes pueden introducir un retraso de audio inaceptable.
Los flujos de transporte tienden a transmitirse como una tasa de bits constante (CBR) y se llenan con bytes de relleno cuando no existen suficientes datos. [a]
Un paquete de red es la unidad básica de datos en un flujo de transporte, y un flujo de transporte es simplemente una secuencia de paquetes. Cada paquete comienza con un byte de sincronización y un encabezado , que puede ir seguido de encabezados adicionales opcionales; el resto del paquete consta de carga útil . Todos los campos de encabezado se leen como big-endian . Los paquetes tienen una longitud de 188 bytes, pero el medio de comunicación puede agregar información adicional. [b] El tamaño de paquete de 188 bytes se eligió originalmente por compatibilidad con los sistemas de modo de transferencia asíncrono (ATM) . [8] [9]
Cada tabla o flujo elemental de un flujo de transporte se identifica mediante un identificador de paquete (PID) de 13 bits. Un demultiplexor extrae flujos elementales del flujo de transporte, en parte, buscando paquetes identificados por el mismo PID. En la mayoría de las aplicaciones, se utilizará la multiplexación por división de tiempo para decidir con qué frecuencia aparece un PID en particular en el flujo de transporte.
El flujo de transporte tiene un concepto de programas . Cada programa se describe mediante una tabla de mapa de programas (PMT). Los flujos elementales asociados con ese programa tienen PID enumerados en la PMT. Otro PID está asociado con la propia PMT. Por ejemplo, un flujo de transporte utilizado en televisión digital puede contener tres programas, para representar tres canales de televisión. Supongamos que cada canal consta de un flujo de vídeo, uno o dos flujos de audio y cualquier metadato necesario. Un receptor que desee decodificar uno de los tres canales simplemente tiene que decodificar las cargas útiles de cada PID asociado con su programa. Puede descartar el contenido de todos los demás PID. Un flujo de transporte con más de un programa se denomina flujo de transporte multiprograma (MPTS). Un flujo de transporte de un solo programa se denomina flujo de transporte de un solo programa (SPTS).
Existen cuatro tablas de información específica del programa (PSI): asociación de programas (PAT), mapa de programas (PMT), acceso condicional (CAT) e información de red (NIT). La especificación MPEG-2 no especifica el formato de la CAT y la NIT.
Para permitir que un decodificador presente contenido sincronizado, como pistas de audio que coincidan con el vídeo asociado, al menos una vez cada 100 ms, se transmite una referencia de reloj de programa (PCR) en el campo de adaptación de un paquete de flujo de transporte MPEG-2. El PID con el PCR para un programa MPEG-2 se identifica mediante el valor pcr_pid en el PMT asociado. El valor del PCR, cuando se utiliza correctamente, se emplea para generar un reloj de sincronización del sistema en el decodificador. El decodificador de reloj de tiempo del sistema (STC), cuando se implementa correctamente, proporciona una base de tiempo muy precisa que se utiliza para sincronizar flujos elementales de audio y vídeo. La sincronización en MPEG-2 hace referencia a este reloj. Por ejemplo, la marca de tiempo de presentación (PTS) está destinada a ser relativa al PCR. Los primeros 33 bits se basan en un reloj de 90 kHz. Los últimos 9 bits se basan en un reloj de 27 MHz. La fluctuación máxima permitida para el PCR es de +/- 500 ns .
Algunos esquemas de transmisión, como los de ATSC y DVB , imponen estrictos requisitos de velocidad de bits constante en el flujo de transporte. Para garantizar que el flujo mantenga una velocidad de bits constante, un multiplexor puede necesitar insertar algunos paquetes adicionales. El PID 0x1FFF está reservado para este propósito. Los paquetes nulos tienen una carga útil que se llena con 0xFF y se espera que el receptor ignore su contenido. [15]
El Transport Stream fue diseñado originalmente para transmisión. Más tarde se adaptó para su uso con cámaras de video digitales, grabadoras y reproductores agregando un campo de código de tiempo (TC) de 4 bytes a los paquetes estándar de 188 bytes, lo que resultó en un paquete de 192 bytes. [16] [17] Esto es lo que se llama informalmente flujo M2TS , que se encuentra comúnmente en cámaras HDV . La Blu-ray Disc Association lo llama " flujo de transporte BDAV MPEG-2 ". [16] JVC lo llamó TOD [c] cuando se usa en videocámaras basadas en HDD como GZ-HD7 . [18] [19] El código de tiempo permite un acceso rápido a cualquier parte del flujo, ya sea desde un reproductor multimedia o desde un sistema de edición de video no lineal. [20] También se usa para sincronizar flujos de video de varias cámaras en una configuración de múltiples cámaras .
Los títulos de video de Blu-ray Disc creados con soporte de menú están en formato Blu-ray Disc Movie (BDMV) y contienen audio, video y otras transmisiones en un contenedor BDAV, que se basa en el formato de transmisión de transporte MPEG-2. [21] [22] El video de Blu-ray Disc utiliza estas transmisiones de transporte MPEG-2 modificadas, en comparación con las transmisiones de programa de DVD que no tienen la sobrecarga de transporte adicional.
También existe el formato BDAV (Blu-ray Disc Audio/Visual), la alternativa orientada al consumidor al formato BDMV utilizado para los estrenos de películas. El formato BDAV se utiliza en discos Blu-ray grabables para grabación de audio/vídeo. [22] [d] Los discos Blu-ray emplean el método de grabación de flujo de transporte MPEG-2. Esto permite que los flujos de transporte de una emisión digital convertida en BDAV se graben tal como están con una alteración mínima de los paquetes. [17] También permite una edición sencilla de estilo de corte de flujo de una emisión digital convertida en BDAV que se graba tal como está y donde los datos se pueden editar simplemente descartando los paquetes no deseados de la transmisión. Aunque es bastante natural, se incorpora una función para la recuperación de alta velocidad y fácil de usar. [17] [24]
Las licencias se refieren a herramientas y no a transmisiones o archivos en sí.
{{cite book}}
: |website=
ignorado ( ayuda ){{cite web}}
: CS1 maint: URL no apta ( enlace )