Resumen
- La carga útil CellB definida en RFC 2029 añade cuatro enteros de 16 bits: coordenadas X/Y de la primera celda de 4×4 píxeles y ancho/alto de la imagen expresados en píxeles.
- Ningún código de varios octetos puede cruzar un límite de paquete. Si uno se pierde, el siguiente que llegue completo empieza en una frontera sintáctica reconocible y anuncia su propia posición espacial.
- La independencia es parcial. Los campos ubican datos supervivientes, pero no recuperan las celdas ausentes ni prueban que el cuadro esté completo, que las tablas de cuantización coincidan o que el espectador haya recibido vídeo continuo.
En un flujo comprimido, perder un paquete puede destruir más que sus propios bytes. Si la siguiente porción empieza a mitad de una instrucción o depende de una posición acumulada que ya no se conoce, la pérdida se propaga: llegan datos, pero el receptor no sabe interpretarlos.
La RFC 2029 abordó ese riesgo para CellB en 1996. Su solución no fue ocultar la pérdida, sino colocar suficiente contexto al principio de cada carga útil RTP para que una porción posterior pudiera volver a tener sentido por sí misma.
Ocho bytes convertían la posición en dato local
Cada carga CellB comienza con X, Y, ancho y alto. Son cuatro valores sin signo de 16 bits en orden de red. Las dos coordenadas cuentan celdas, no píxeles: una celda CellB representa un bloque de 4×4. El ancho y el alto sí se expresan en píxeles.
La cabecera ofrece dos escalas a la vez. Sitúa el primer bloque comprimido dentro de la cuadrícula y define el tamaño del lienzo. Aunque las dimensiones sólo pueden variar entre cuadros, se repiten en todos los paquetes. Esa duplicación evita que el receptor necesite un paquete anterior para conocer el marco.
La palabra decisiva es “declara”. La cabecera no demuestra que la posición sea coherente, que las celdas anteriores hayan llegado o que otros paquetes completen la superficie. Tampoco contiene una lista de bloques esperados. El receptor obtiene un lugar donde comenzar, no un certificado de cobertura.
El corte de red debía coincidir con un corte del lenguaje
El byte stream de CellB alterna códigos de longitudes distintas. El código normal de cuatro bytes describe una celda. Un código de un byte ordena saltar entre una y 32 celdas. Otros dos códigos anuncian nuevas tablas Y/Y y U/V, seguidos por 512 bytes cada uno.
La RFC permite que el implementador elija el tamaño del paquete, incluso hasta un cuadro completo, pero prohíbe dividir cualquier código multibyte. Un paquete no puede terminar en el segundo byte de una celda de cuatro bytes ni dejar una parte de una tabla para el paquete siguiente.
La combinación produce un punto de reentrada. Tras perderse una carga, la siguiente que llega intacta no comienza con una cola sin cabeza. Su código está completo y su cabecera indica dónde se encuentra la primera celda. El receptor puede limitar el daño a lo que falta y tratar de seguir.
“Seguir” no equivale a “recuperar”. No hay en el formato de RFC 2029 retransmisión, corrección anticipada de errores ni copia redundante de la zona perdida. La información ausente no reaparece. La arquitectura sólo impide que una pérdida tenga que invalidar automáticamente todo lo posterior.
Timestamp y Marker delimitaban, pero no contabilizaban
CellB utiliza un reloj RTP de 90 kHz. Los paquetes de un mismo cuadro comparten timestamp y el bit Marker señala el último. Es una forma compacta de agrupar fragmentos y anunciar el cierre.
Sin embargo, el timestamp no contiene el número de paquetes que integran el cuadro. Marker no afirma que todos los anteriores fueron recibidos. El número de secuencia RTP puede mostrar un salto y ayudar a restaurar el orden de envío, pero la especificación base de RTP advierte que el protocolo no garantiza entrega, puntualidad, orden de llegada ni calidad de servicio.
Un receptor puede ver Marker en un paquete perfectamente ubicado y aún tener un hueco en medio del cuadro. Los metadatos muestran cómo el emisor etiquetó lo que sobrevivió. Para demostrar integridad hace falta comparar lo recibido con lo que debía existir.
El estado de las tablas queda fuera de las coordenadas
Los campos U/V y Y/Y de un código de celda son índices de tablas de vectores de crominancia y luminancia. Dos receptores que usen tablas diferentes pueden colocar un bloque en la misma coordenada y producir valores de píxel distintos.
RFC 2029 prevé comandos para sustituir cada tabla con 512 bytes nuevos. El texto dice que el codificador y decodificador de muestra no implementan esa opción, aunque futuros codecs podrían hacerlo. La regla multibyte mantiene un comando completo dentro del paquete; protege su forma, no su entrega.
Si se pierde el paquete entero que modifica la tabla, el siguiente paquete puede estar bien alineado, compartir el timestamp correcto y anunciar coordenadas válidas. Aun así, sus índices pueden ser leídos con una tabla antigua. La recuperación espacial funciona y la semántica de color falla.
Es una inferencia basada en dos reglas del documento, no la descripción de un incidente concreto. Precisamente por eso resulta útil: identifica qué dependencia eliminó el formato y cuál dejó viva.
Un registro de protocolo no es una prueba de reproducción
Para una investigación, conviene ordenar las evidencias. La secuencia RTP habla de transporte. X/Y y las dimensiones hablan de ubicación declarada. La contención de códigos habla de sintaxis. Timestamp y Marker hablan de pertenencia a un cuadro y final anunciado.
Después vienen otras preguntas: ¿era correcta la tabla?, ¿decodificó el software?, ¿cubrió la imagen las coordenadas esperadas?, ¿se renderizó a tiempo?, ¿llegó al dispositivo? Ninguna cabecera CellB responde por sí sola.
IANA conserva CelB como tipo fijo RTP 25, vídeo a 90.000 Hz, referenciado a RFC 2029. Esa fila prueba una asignación estable. No prueba tráfico actual, adopción ni interoperabilidad. La RFC sigue catalogada como Proposed Standard; tampoco ese estatus convierte el diseño en una medición de servicio.
El mérito histórico de RFC 2029 fue imponer una frontera honesta a la dependencia. Cada paquete superviviente podía llevar su propio “dónde” y empezar con un “qué” completo. La pérdida seguía siendo real, pero dejaba de apropiarse necesariamente de todo el resto del cuadro. La misma frontera debe mantenerse al describir la evidencia: poder continuar no significa haber reparado lo perdido.
Fuentes
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance

