Skip to content

S11: Comunicación multimedia (II)

Juan Gonzalez-Gomez edited this page Apr 13, 2020 · 47 revisions

Sesión 11: Comunicación multimedia (II)

  • Tiempo: 50min + 50min
  • Fecha: Martes, 2 de Abril
  • Objetivos:
    • 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

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

La combinación de alta calidad con secuencias esporádicas de baja calidad genera 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 tramass 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 peridod

  • 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: midel RTT y la probabilida de pérdida y ajustan el caudal

Descargas

El rincón friki

TODO

Autor

Creditos

  • Creado a partir del contenido generado por el profesor Jose María Cañas y otros profesores del departamento GSYC

Licencia

Enlaces

Clone this wiki locally