Sesion 11 Comunicacion Multimedia II - jesusgpa/2023-2024-CSAAI GitHub Wiki
Sesión 11: Comunicación Multimedia II
- Tiempo: 2h (50 + 50min)
- Fecha: Martes 30 de Abril de 2024
- Objetivos de la sesión:
- Mostrar las opciones que hay para solucionar los problemas de pérdidas de paquetes y congestión para el envío de contenido multimedia
Contenido
- Introducción
- Técnicas de recuperación
- Técnicas de adaptación de la tasa de envío
- Descargas
- Autor
- Créditos
- Licencia
- Enlaces
Introducción
Seguimos con nuestro escenario de transmisión multimedia.
Cuando usamos internet para transmitir tráfico multimedia tenemos varios problemas que hay que solucionar.
Dos ellos son:
- Pérdida de paquetes. ¿Cómo hacemos para recuperar los paquetes perdidos?
- Congestión. Si la red se congestiona y los paquetes tardan cada vez más en llegar, ¿Qué podemos hacer?
Técnicas de recuperación
Internet es una red que pierde paquetes con mucha facilidad, por tres causas fundamentalmente:
- Errores en los bits. Se detecta mediante el CRC que la trama recibida tiene bits incorrectos. En ese caso se descartan. Es como si NO se hubiesen enviado.
- Cola llena. Llega un paquete a un servidor y su cola de retransmisión está llena. Se descarta el paquete.
- TTL del paquete IP llega a 0: El servidor descarta el paquete.
- Tiempo mayor que el playout: Si un paquete llega pasado el tiempo de playout, es muy tarde. Se descarta.
El resultado en todos los casos es que hay uno o varios paquetes que se han perdido.
¿Cómo podemos solucionar este problema?
Técnicas de recuperación con retransmisión
La retransmisión es el mecanismo usado por TCP y por todas las aplicaciones que estén sobre TCP.
Al final garantiza que los paquetes llegarán ordenados y sin duplicados.
Si no llegan tanto el emisor como el receptor reciben notificaciones.
Esta técnica tiene el inconveniente de que no garantiza el tiempo de llegada: los paquetes pueden llegar pronto o tarde.
No hay control sobre el tiempo.
Su uso dependen de la aplicación:
- Aplicaciones de datos: Es factible su uso (es para lo que se diseñó). Garantizar que los datos llegan, y que lo hacen de forma ordenada.
- Aplicaciones de streaming: Aunque es factible usar TCP, no es aconsejable.
- Aplicaciones interactivas: No es factible.
Técnicas de recuperación sin retransmisión
Se basan en dos principios: redundancia y percepción subjetiva.
Corrección de errores (FEC)
Estas técnicas se basan en introducir redundancia en la información enviada, y a partir de ella lograr recuperar el paquete original perdido.
Intuición sobre la detección de errores
Primero veremos de forma intuitiva cómo funciona la detección de errores.
Tanto el emisor como el receptor deben acordar que en todos los mensajes que intercambian se cumple una propiedad.
Por ejemplo, que todos los datos tengan un número par de unos (criterio de paridad par. El 0 es par)
- Ejemplo: Envío de datos de 8 bits, con paridad par.
Los datos son de 8 bits, a los que se añade un bit de redundancia: el bit de paridad.
Este bit se añade para cumplir con el criterio de que el número de 1's sea siempre par.
Los paquetes que se transmiten en este ejemplo son de 9 bits y tienen que cumplir siempre que el número total de bits sea par.
Cuando llega un paquete en el receptor, se comprueba este criterio de paridad par.
Si el dato tiene un número impar de bits, se tiene la certeza de que es incorrecto, y se descarta.
Intuición sobre corrección de errores
Hay un efecto conocido de los rayos cósmicos sobre las memorias de silicio: el cambio de un bit.
Este efecto es muy poco probable en la tierra, pero es mucho mayor en el espacio: los bits de los equipos pueden cambiar de estado sin previo aviso.
Una manera de detectarlo y corregirlo es usando un sistema de bits triplicados: por cada bit se añaden dos más.
La redundancia aquí es muy alta.
De esta forma, hay unos circuitos que determinan cuál es el valor del bit correcto, comprobando el estado de la mayoría.
Por ejemplo, si dos bits de la misma posición del registro están a 1 y un tercero a 0, se toma el valor de 1.
FEC genérico
Una técnica de corrección de errores es la FEC genérica, que se basa en esta idea de añadir más redundancia para intentar recuperar el paquete perdido.
Los paquetes a transmitir se colocan en grupos de n paquetes, donde n es un parámetro.
A partir de estos n paquetes, se calcula un paquete adicional de redundancia y se envía en total n+1 paquetes: los n paquetes de datos más el paquete de redundancia.
Se acuerda entre emisor y receptor una determinada propiedad que se debe cumplir siempre, y que se comprobará en el receptor para recuperar el paquete perdido.
Veremos un ejemplo.
Supongamos que los paquetes son de 3 bits (L = 3), Y los agrupamos de 4 en 4 (n = 4).
El criterio que se establece es el de colocar todos paquetes en filas consecutivas, y comprobar que en todas las columnas hay un número par de bits.
Con ello se crea un nuevo paquete de redundancia, de 3 bits, que se envía junto con el resto.
En total se envían 5 paquetes al receptor.
Supongamos que el paquete 3 se ha perdido en el camino (ha sido descartado por la red) y sólo han llegado 4 paquetes.
El receptor rehace los cálculos y aplicando el criterio establecido obtiene un nuevo paquete...
¡que mágicamente es el paquete perdido 3!
A todos los efectos es como si el paquete no se hubiera perdido.
A la aplicación le llegan exactamente los mismos paquetes que se habían enviado.
¿Qué precio se paga por usar FEC?
- El caudal aumenta en 1/n
- Sólo es válido si se pierde 1 paquete de cada grupo. Por ello se usa con valores pequeños de n. En esos casos se recuperan casi todos los paquetes.
Ejercicio 1
En el receptor se reciben un grupo de 6 paquetes de 5 bits,
P1 = 00100, P2 = 11111, P4 = 10101, P5 = 00000, P6 = 01110,
pero el paquete 3 NO llega.
Si se está usando una técnicas FEC genérica, determinar cuál era el paquete 3.
FEC para Audio
Un caso particular de FEC, que funciona muy bien para audio (aunque NO para vídeo) consiste en usar como redundancia un segundo flujo de peor calidad.
Así, se tiene un flujo principal de mejor calidad, y uno secundario de peor calidad.
Por ejemplo, se usa PCM a 64Kbps para el flujo principal, y uno GSM a 13Kbps como secundario.
Estos flujos se combinan en el envío de forma que el elemento n del flujo principal se combine con el n-1 del flujo secundario.
La combinación de alta calidad con secuencias esporádicas de baja calidad proporciona una calidad global buena (Siempre que no haya secuencias perdidas).
FEC para Vídeo
Esta técnica se denomina PET (Priority Encoding Transmission).
La idea es que según la importancia de la trama de vídeo se añade más redundancia.
En MPEG hay tres tipos de tramas: I, P y B.
Las I son independientes y son las más importantes.
Las P se crean a partir de las tramas I y de las P más cercanas y finalmete las B se interpolan a partir de dos tramas P e I más cercanas.
Las tramas se dividen en bloques y se construyen paquetes usando una palabra de cada bloque y añadiendo redundancia.
Para tramas I se dividen en bloques de menos palabras por lo que hay más redundancia y están más protegidas.
El resultado es que si se reciben al menos el 60% de los paquetes enviados, podremos recuperar todas las tramas I.
Con el 80% todas las P y con el 95% todas las B.
Entrelazado (Audio)
Esta técnica es complementaria al FEC, y se utiliza para audio.
Partimos de paquetes de 20ms.
Los dividimos en secuencias de 5ms.
En vez de enviar los paquetes tal cual, se entrelazan, creando nuevos paquetes tomando una de las secuencias de cada uno de los paquetes originales.
De esta forma, si se pierde uno de estos paquetes, solo se pierden 5ms de cada uno de los 20ms originales.
Aparecen "huecos" en el audio, pero al ser de poca duración aumenta la calidad del audio percibido con respecto a tener un hueco de 20ms.
- Ventajas del entrelazado: No aumenta el caudal utilizado
- Inconvenientes: Retardo adicional. No válido para aplicaciones interactivas. Sí para streaming
Reconstrucción (Audio)
El paquete perdido se reconstruye. Existen dos modalidades:
- Reconstrucción por repetición. Simplemente se repite el paquete inmediatamente a continuación del perdido.
- Reconstrucción por interpolación: Se interpola la información del paquete anterior y posterior al perdido.
- Sólo es válido para paquetes de corta duración, entre 5 y 40ms.
- Técnica buena cuando las pérdidas de paquetes están por debajo del 15%.
- Técnica muy buena cuando se combina con el entrelazado.
Técnicas de adaptación de la tasa de envío
- Las técnicas de corrección de los errores sólo valen para pérdidas puntuales de paquetes.
- Si las pérdidas son persistentes, por ejemplo por congestión, hay que recurrir a técnicas de reducción de la tasa de envío (pérdida de calidad).
- Codificadores adaptativos. Coeficientes de Fourier.
- Algoritmos de adaptación de tasa de envío: mide el RTT y la probabilidad de pérdida y ajustan el caudal.
Descargas
- Introducción a los servicios multimedia. Albert Branch. Universidad Carlos III de Madrid
- Aplicaciones multimedia en la red Internet. Apuntes de clase. Albert Branch. Universidad Carlos III de Madrid
Autor
Jesús Parrado Alameda (jesusgpa)
Creditos
- Creado a partir del contenido generado por el profesor Jose María Cañas
- Creado a partir del contenido generado por el profesor Juan Gonzalez-Gomez