Flujo de transporte MPEG

Formato de vídeo digital utilizado para transmisión en red de almacenamiento.
Flujo de transporte MPEG
Extensión de nombre de archivo
.ts, .tsv, .tsa, .m2t [1]
Tipo de medio de Internet
vídeo/MP2T [2]
Identificador de tipo uniforme (UTI)flujo de transporte público mpeg-2 [3]
Desarrollado porMPEG
Lanzamiento inicial10 de julio de 1995 ; hace 29 años [4] ( 10 de julio de 1995 )
Último lanzamiento
ISO/IEC 13818-1:2022
Septiembre de 2022 ; hace 2 años ( 2022-09 )
Tipo de formatoFormato de contenedor
Contenedor paraAudio, video, datos
Extendido aM2TS , día del juicio final
EstándarISO/IEC 13818-1, Recomendación UIT-T H.222.0 [4]
¿ Formato abierto ?
¿ Formato libre ?[5]

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]

Descripción general

Se combinan varios programas MPEG y luego se envían a una antena de transmisión. El receptor analiza y decodifica una de las transmisiones.

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]

Elementos

Paquete

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]

Formato de paquete de flujo de transporte parcial
NombreNúmero de bitsMáscara de bits ( big-endian )Descripción
Encabezado de flujo de transporte de 4 bytes
Byte de sincronización80xff000000Patrón de bits de 0x47 (carácter ASCII 'G')
Indicador de error de transporte (TEI)10x800000Se establece cuando un demodulador no puede corregir errores de los datos FEC, lo que indica que el paquete está dañado. [10]
Indicador de arranque de la unidad de carga útil (PUSI)10x400000Se establece cuando este paquete contiene el primer byte de una nueva unidad de carga útil. Para los datos del paquete PSI , el primer byte de la carga útil indicará dónde comienza esta nueva unidad de carga útil. Para los datos del paquete PES , el nuevo paquete PES debe comenzar al inicio de la carga útil. [11]

Este campo permite que un receptor que comenzó a leer a mitad de transmisión sepa cuándo puede comenzar a extraer datos.

Prioridad de transporte10x200000Se establece cuando el paquete actual tiene una prioridad más alta que otros paquetes con el mismo PID.
Identificador PID130x1fff00Identificador de paquete, que describe los datos de la carga útil.
Control de codificación del transporte (TSC)20xc0'00' = No codificado.

Solo para DVB-CSA y ATSC DES : [12]
'01' (0x40) = Reservado para uso futuro
'10' (0x80) = Codificado con clave par
'11' (0xC0) = Codificado con clave impar

Control del campo de adaptación20x3001 – sin campo de adaptación, solo carga útil,

10 – solo campo de adaptación, sin carga útil,
11 – campo de adaptación seguido de carga útil,
00 – RESERVADO para uso futuro [13]

Contador de continuidad40xfNúmero de secuencia de paquetes de carga útil (0x00 a 0x0F) dentro de cada flujo (excepto PID 8191).
Se incrementa por PID, solo cuando se establece un indicador de carga útil.
Campos opcionales
Campo de adaptaciónvariablePresente si el control del campo de adaptación es 10 u 11. Consulte a continuación el formato.
Datos de carga útilvariablePresente si el control del campo de adaptación es 01 o 11. La carga útil puede ser paquetes PES, información específica del programa (a continuación) u otros datos.
Formato de campo de adaptación
NombreNúmero de bitsMáscara de bitsDescripción
Longitud del campo de adaptación8Número de bytes en el campo de adaptación inmediatamente después de este byte
Indicador de discontinuidad10x80Establezca si el paquete TS actual está en un estado de discontinuidad con respecto al contador de continuidad o la referencia del reloj del programa
Indicador de acceso aleatorio10x40Establezca cuándo se puede decodificar la transmisión sin errores a partir de este punto
Indicador de prioridad de flujo elemental10x20Establezca cuándo se debe considerar esta transmisión como de "alta prioridad"
Bandera PCR10x10Establecer cuando el campo PCR está presente
Bandera OPCR10x08Establecer cuando el campo OPCR está presente
Bandera de punto de empalme10x04Establecer cuándo está presente el campo de cuenta regresiva de empalme
Bandera de datos privados de transporte10x02Establecer cuándo están presentes los datos privados de transporte
Bandera de extensión del campo de adaptación10x01Establecer cuando los datos de extensión de adaptación están presentes
Campos opcionales
PCR48Referencia del reloj del programa, almacenada como base de 33 bits, 6 bits reservados, 9 bits de extensión.
El valor se calcula como base * 300 + extensión.
OPC48Referencia de reloj del programa original. Ayuda cuando se copia un TS en otro
Cuenta regresiva para el empalme8Indica cuántos paquetes TS a partir de este punto de empalme se producen ( complemento a dos con signo; puede ser negativo)
Longitud de datos privados de transporte8La longitud del siguiente campo
Transporte de datos privadosvariableDatos privados
Extensión de adaptaciónvariableVea abajo
Relleno de bytesvariableSiempre0xFF
Formato de extensión de adaptación
NombreNúmero de bitsMáscara de bitsDescripción
Longitud de extensión de adaptación80xff00La longitud del encabezado
Bandera de ventana de tiempo legal (LTW)10x0080
Bandera de tarifa por partes10x0040
Bandera de empalme sin costura10x0020
Reservado50x001f
Campos opcionales
Conjunto de indicadores LTW (2 bytes)
Bandera válida LTW10x8000
Desplazamiento LTW150x7fffInformación adicional para que los retransmisores determinen el estado de los buffers cuando pueden faltar paquetes.
Conjunto de indicadores por partes (3 bytes)
Reservado20xc00000
Tarifa por tramos220x3fffffLa velocidad del flujo, medida en paquetes de 188 bytes, para definir el tiempo final del LTW.
Conjunto de indicadores de empalme sin costuras (5 bytes)
Tipo de empalme40xf000000000Indica los parámetros del empalme H.262.
Unidad de acceso siguiente DTS360x0efffefffeEl DTS de PES del punto de empalme. Dividido en varios campos, 1 bit de marcador (0x1), 15 bits, 1 bit de marcador, 15 bits y 1 bit de marcador, para un total de 33 bits de datos.
Formato de carga útil
NombreNúmero de bitsMáscara de bitsDescripción
Puntero de carga útil (opcional)80xffPresente sólo si el indicador de inicio de la unidad de carga útil (PUSI) está configurado y el tipo de datos del paquete es PSI (no PES).

Proporciona el índice después de este byte en el que comienza la nueva unidad de carga útil. Cualquier byte de carga útil antes del índice es parte de la unidad de carga útil anterior.

Carga útil realvariableEl contenido de la carga útil.

Identificador de paquete (PID)

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.

Identificadores de paquetes en uso
DecimalHexadecimalDescripción
00x0000La tabla de asociación de programas (PAT) contiene una lista de directorios de todas las tablas de mapas de programas
10x0001La tabla de acceso condicional (CAT) contiene un listado de directorios de todos los flujos de mensajes de gestión de derechos de la Rec. H.222 de la UIT-T utilizados por las tablas de mapas de programas.
20x0002La tabla de descripción del flujo de transporte (TSDT) contiene descriptores relacionados con el flujo de transporte general
30x0003La tabla de información de control de IPMP contiene una lista de directorios de todos los flujos de control ISO/IEC 14496-13 utilizados por las tablas de mapas de programas
4–150x0004-0x000FReservado para uso futuro
16–310x0010-0x001FUtilizado por metadatos DVB [14]
  • 0x0010: NIT, ST
  • 0x0011: SDT , BAT, ST
  • 0x0012: EIT, ST, CIT
  • 0x0013: RST, ST
  • 0x0014: TDT, TOT, ST
  • 0x0015: sincronización de red
  • 0x0016: RNT
  • 0x0017-0x001B: reservado para uso futuro
  • 0x001C: señalización en banda
  • 0x001D: medición
  • 0x001E: DIT
  • 0x001F: SENTADO
32-81860x0020-0x1FFAPuede asignarse según sea necesario para programar tablas de mapas, flujos elementales y otras tablas de datos.
81870x1FFBUtilizado por DigiCipher 2 / metadatos ATSC MGT
8188–81900x1FFC-0x1FFEPuede asignarse según sea necesario para programar tablas de mapas, flujos elementales y otras tablas de datos.
81910x1FFFPaquete nulo (usado para relleno de ancho de banda fijo)

Programas

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).

Información específica del programa

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.

PCR

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 .

Paquetes nulos

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]

Uso en cámaras de vídeo digitales

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 .

Uso en Blu-ray

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]

Véase también

Notas

  1. ^ El formato Blu-ray no requiere CBR.
  2. ^ La corrección de errores de avance se agrega mediante ISDB y DVB (16 bytes) y ATSC (20 bytes), [7] mientras que el formato M2TS antepone a los paquetes una etiqueta de copyright y marca de tiempo de 4 bytes.
  3. ^ Posiblemente una abreviatura de "Transport stream on disc" (flujo de transporte en disco).
  4. ^ La extensión de nombre de archivo .m2ts se utiliza en archivos de video de discos Blu-ray que contienen un flujo de transporte BDAV MPEG-2 incompatible debido a los cuatro octetos adicionales agregados a cada paquete. [16] [23]

Referencias

  1. ^ "TVNT.net - Le forum de la TNT • [Tema único] Akira DHB-B31HDR - Grabador de sintonizador doble TNT HD - MKV - DIVX - DTS: Los adaptadores para recibir la TNT gratis en SD o HD". www.tvnt.net .
  2. ^ Registro de tipo MIME de formatos de carga útil RTP. Julio de 2003. doi : 10.17487/RFC3555 . RFC 3555.
  3. ^ "mpeg2TransportStream". Documentación para desarrolladores de Apple . Apple Inc.
  4. ^ abc UIT-T (octubre de 2014). "Recomendación H.222.0 (10/14)".
  5. ^ Familia de codificación MPEG-2 (borrador completo). Sustentabilidad de los formatos digitales. Washington, DC: Biblioteca del Congreso. 14 de febrero de 2012. Consultado el 13 de diciembre de 2021. Las licencias se refieren a herramientas y no a transmisiones o archivos en sí.
  6. ^ "MPEG-2 Transport Stream". AfterDawn.com . Consultado el 8 de junio de 2010 .
  7. ^ "Transmisión ATSC". Broadcastengineering.com . 20 de junio de 2005. Consultado el 17 de mayo de 2012 .
  8. ^ "Preguntas frecuentes sobre sistemas MPEG". Mpeg.chiariglione.org . Consultado el 17 de mayo de 2012 .
  9. ^ "Monitor de flujo de transporte ATSC MPEG". Tek.com . Consultado el 17 de mayo de 2012 .
  10. ^ "TSReader". Coolstf.com . 7 de abril de 2008. Archivado desde el original el 27 de marzo de 2010. Consultado el 17 de mayo de 2012 .
  11. ^ "Tecnología de la información – Codificación genérica de imágenes en movimiento e información de audio asociada: sistemas". Febrero de 2000.
  12. ^ "Estándares – DVB" (PDF) . Dvb.org . Archivado desde el original (PDF) el 13 de marzo de 2011 . Consultado el 11 de septiembre de 2012 .
  13. ^ Fairhurst, Gorry. «Transmisión MPEG-2». Archivado desde el original el 13 de agosto de 2017. Consultado el 30 de noviembre de 2018 .
  14. ^ "5.1.3 Codificación de los campos PID y table_id". Transmisión de vídeo digital (DVB); Especificación para la información de servicio (SI) en sistemas DVB (PDF) . EN. Vol. 300 468 (edición v1.13.1). 2012. p. 20 . Consultado el 13 de octubre de 2016 . {{cite book}}: |website=ignorado ( ayuda )
  15. ^ Guía de los fundamentos y análisis de protocolos de MPEG (PDF) , Tektronix, pág. 37 , consultado el 23 de abril de 2020
  16. ^ abc BD ROM – Audio Visual Application Format Specification (PDF) , Blu-ray Disc Association, marzo de 2005, págs. 15-16, archivado desde el original (PDF) el 3 de noviembre de 2020 , consultado el 26 de julio de 2009
  17. ^ abc BD-RE – Audiovisual Application Format Specification for BD-RE 2.1 (PDF) , Blu-ray Disc Association, marzo de 2008, archivado desde el original (PDF) el 6 de febrero de 2009
  18. ^ "Steve Mullen, introducción al M2TS". Dvinfo.net .
  19. ^ "Cómo trabajar con archivos MOD y TOD de JVC Everio". Archivado desde el original el 23 de octubre de 2008.{{cite web}}: CS1 maint: URL no apta ( enlace )
  20. ^ "Cómo funciona MPEG-TS". Forum.videohelp.com . Consultado el 17 de mayo de 2012 .[ ¿ Fuente autopublicada? ]
  21. ^ Glosario de Afterdawn.com: BD-MV (película Blu-ray) y contenedor BDAV Archivado el 18 de febrero de 2009 en Wayback Machine , consultado el 26 de julio de 2009
  22. ^ ab Afterdawn.com Glossary – BDAV contenedor, recuperado el 26 de julio de 2009
  23. ^ Videohelp.com ¿Qué son los discos Blu-ray y HD DVD? Archivado el 24 de diciembre de 2009 en Wayback Machine . Recuperado el 26 de julio de 2009.
  24. ^ Blu-ray Disc Association (agosto de 2004) Formato de disco Blu-ray, Libro blanco (PDF) Página 22, consultado el 28 de julio de 2009
  • Documentos de especificaciones de sistemas ITU-T H.222.0 | ISO/IEC 13818-1
  • Última copia gratuita de la especificación, agosto de 2018
  • Preguntas frecuentes sobre sistemas MPEG-4
  • TSDuck – Herramienta gratuita de código abierto para manipular flujos de transporte MPEG.

Obtenido de "https://es.wikipedia.org/w/index.php?title=Flujo_de_transporte_MPEG&oldid=1247080637"