¿Cuándo enviamos paquetes de flujo de transporte duplicados? ¿Qué se debe hacer en el demultiplexor cuando recibimos un paquete TS duplicado?
Respuesta1
MPEG-2 permite un máximo de dos paquetes consecutivos con el mismo PID y el mismo valor CC. Se pueden incluir paquetes duplicados e idénticos por motivos de redundancia si el paquete original contiene información importante. En este caso, si el primer paquete se pierde o se daña, se puede utilizar el duplicado. En el decodificador lo descartas o lo utilizas dependiendo de si el original es válido.
También se pueden utilizar paquetes duplicados no idénticos para contener información adicional sin necesidad de insertar otro PID. Por ejemplo, se pueden utilizar para cifrado/codificación de contenido.
Respuesta2
El estándar del sistema MPEG2 (13818-1) dice:
"En los flujos de transporte, los paquetes duplicados pueden enviarse como dos, y sólo dos, paquetes de flujo de transporte consecutivos del mismo PID. Los paquetes duplicados tendrán el mismo valor de contador de continuidad que el paquete original y el campo de control de campo de adaptación será igual a '01'. o '11'. En paquetes duplicados, cada byte del paquete original se duplicará, con la excepción de que en los campos de referencia del reloj del programa, si están presentes, se codificará un valor válido."
Hay un punto muy importante en la declaración anterior: "con la excepción de los campos de referencia del reloj del programa". En algunas circunstancias, un paquete duplicado puede ser diferente del original.
Si un decodificador detecta dos paquetes sucesivos con el mismo PID y CC y no se señala la PCR (referencia de reloj del programa), entonces debe comparar estos paquetes. Si son idénticos, entonces el segundo paquete es una réplica del primero. Sin embargo, si se transmite PCR, entonces un decodificador debe comparar ambos paquetes excluyendo los campos de PCR. si son idénticos (excepto PCR), entonces el segundo paquete es una réplica del primero.