Aplicaciones Multimedia.
Transcripción
Aplicaciones Multimedia.
Tema 1: Aplicaciones Multimedia. 1. Introducción. 2. Principios para ofrecer QoS 3. Requisitos de la tecnología de red. Parámetros críticos Internet y las aplicaciones multimedia Comparativa LANs y WANs 4. Introducción a la compresión de datos. Introducción Factores de diseño de un códec Codificación basada en la entropía Bibliografía [KUR05] J. Kurose and K. Ross, “Computer Networking: A Top Down Approach Featuring the Internet”. [KUO98] F. Kuo et al.,"Multimedia Communications“. [FLU95] Fluckiger, "Understanding networked multimedia“ [SAY00] K. Sayood,“Introduction to Data Compression” [Data Compr] M.ARIMURA's Bookmarks on Source Coding/Data Compression Ejemplos: Huffman, Aritmética, etc. Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc. 5. Conclusiones. Arquitecturas de red para la distribución de contenidos Arquitecturas de red para la distribución de contenidos 1. Introducción. Aplicaciones multimedia: Definición. Software que ofrece información al usuario integrando distintos medios de presentación (texto, imágenes, gráficos, audio, vídeo, etc.) que pueden ser representados, transmitidos, almacenados y procesados digitalmente. Requieren servicios de transporte de alta calidad. Consumen muchos recursos (red, memoria, CPU, etc.). Se necesitan técnicas de compresión capaces de reducir los requerimientos espacio/temporales de estas aplicaciones. 2 Arquitecturas de red para la distribución de contenidos Multimedia Networking Applications Fundamental characteristics: Typically delay sensitive End-to-end delay Delay jitter: – Jitter is the variability of packet delays within the same packet stream But loss tolerant: infrequent losses cause minor glitches Antithesis of data, which are loss intolerant but delay tolerant. Classes of multimedia applications: Streaming stored audio and video Streaming live audio and video Real-time interactive audio and video 3 Arquitecturas de red para la distribución de contenidos Streaming Stored Multimedia: What is it? 1. video recorded 2. video sent network delay 3. video received, played out at client time streaming: at this time, client playing out early part of video, while server still sending later part of video 4 Arquitecturas de red para la distribución de contenidos Streaming Stored Multimedia: Interactivity VCR-like functionality: Client can pause, rewind, FF, push slider bar 10 sec initial delay OK 1-2 sec until command effect OK RTSP often used (more later) Timing constraint for still-to-be transmitted data: In time for playout 5 Arquitecturas de red para la distribución de contenidos Streaming Multimedia: Client Buffering Client-side buffering, playout delay compensate for network-added delay, delay jitter constant drain rate, d variable fill rate, x(t) buffered video 6 Arquitecturas de red para la distribución de contenidos Interactive, Real-Time Multimedia Applications: IP telephony, video conference, distributed interactive worlds End-end delay requirements: Audio: < 150 msec good, < 400 msec OK Includes application-level (packetization) and network delays Higher delays noticeable, impair interactivity Session initialization How does callee advertise its IP address, port number, encoding algorithms? 7 Arquitecturas de red para la distribución de contenidos Multimedia Over Today’s Internet TCP/UDP/IP: “best-effort service” No guarantees on delay, loss But multimedia apps requires QoS and level of performance to be effective! Today’s Internet multimedia applications use application-level techniques to mitigate (as best possible) effects of delay, loss 8 Arquitecturas de red para la distribución de contenidos Streaming Multimedia: UDP or TCP? UDP Server sends at rate appropriate for client (oblivious to network congestion!) often send rate = encoding rate = constant rate then, fill rate = constant rate - packet loss Short playout delay (2-5 seconds) to compensate for network delay jitter Error recover: time permitting TCP Send at maximum possible rate under TCP Fill rate fluctuates due to TCP congestion control Larger playout delay: smooth TCP delivery rate HTTP/TCP passes more easily through firewalls 9 Arquitecturas de red para la distribución de contenidos Summary: Internet Multimedia: bag of tricks Use UDP to avoid TCP congestion control (delays) for time-sensitive traffic Client-side adaptive playout delay: to compensate for delay Server side matches stream bandwidth to available client-to-server path bandwidth chose among pre-encoded stream rates dynamic server encoding rate Error recovery (on top of UDP) FEC, interleaving retransmissions, time permitting conceal errors: repeat nearby data 10 Tema 1: Aplicaciones Multimedia. 1. Introducción. 2. Principios para ofrecer QoS 3. Requisitos de la tecnología de red. Parámetros críticos Internet y las aplicaciones multimedia Comparativa LANs y WANs 4. Introducción a la compresión de datos. Introducción Factores de diseño de un códec Codificación basada en la entropía Bibliografía [KUR05] J. Kurose and K. Ross, “Computer Networking: A Top Down Approach Featuring the Internet”. [KUO98] F. Kuo et al.,"Multimedia Communications“. [FLU95] Fluckiger, "Understanding networked multimedia“ [SAY00] K. Sayood,“Introduction to Data Compression” [Data Compr] M.ARIMURA's Bookmarks on Source Coding/Data Compression Ejemplos: Huffman, Aritmética, etc. Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc. 5. Conclusiones. Arquitecturas de red para la distribución de contenidos Arquitecturas de red para la distribución de contenidos Multimedia, Quality of Service: What is it? Multimedia applications: network audio and video (“continuous media”) QoS network provides application with level of performance needed for application to function. 12 Arquitecturas de red para la distribución de contenidos Improving QOS in IP Networks Thus far: “making the best of best effort” Future: next generation Internet with QoS guarantees RSVP: signaling for resource reservations Differentiated Services: differential guarantees Integrated Services: firm guarantees Simple model for sharing and congestion studies: 13 Arquitecturas de red para la distribución de contenidos Principles for QOS Guarantees Example: 1Mbps IPphone, FTP share 1.5 Mbps link. Bursts of FTP can congest router, cause audio loss Want to give priority to audio over FTP Principle 1 Packet marking needed for router to distinguish between different classes; and new router policy to treat packets accordingly 14 Arquitecturas de red para la distribución de contenidos Principles for QOS Guarantees (more) What if applications misbehave (audio sends higher than declared rate) Policing: force source adherence to bandwidth allocations Marking and policing at network edge: Similar to ATM UNI (User Network Interface) Principle 2 Provide protection (isolation) for one class from others 15 Arquitecturas de red para la distribución de contenidos Principles for QOS Guarantees (more) Allocating fixed (non-sharable) bandwidth to flow: Inefficient use of bandwidth if flows doesn’t use its allocation Principle 3 While providing isolation, it is desirable to use resources as efficiently as possible 16 Arquitecturas de red para la distribución de contenidos Principles for QOS Guarantees (more) Basic fact of life: Can not support traffic demands beyond link capacity Principle 4 Call Admission: Flow declares its needs, network may block call (e.g., busy signal) if it cannot meet needs 17 Arquitecturas de red para la distribución de contenidos Summary of QoS Principles 18 Tema 1: Aplicaciones Multimedia. 1. Introducción. 2. Principios para ofrecer QoS 3. Requisitos de la tecnología de red. Parámetros críticos Internet y las aplicaciones multimedia Comparativa LANs y WANs 4. Introducción a la compresión de datos. Introducción Factores de diseño de un códec Codificación basada en la entropía Bibliografía [KUR05] J. Kurose and K. Ross, “Computer Networking: A Top Down Approach Featuring the Internet”. [KUO98] F. Kuo et al.,"Multimedia Communications“. [FLU95] Fluckiger, "Understanding networked multimedia“ [SAY00] K. Sayood,“Introduction to Data Compression” [Data Compr] M.ARIMURA's Bookmarks on Source Coding/Data Compression Ejemplos: Huffman, Aritmética, etc. Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc. 5. Conclusiones. Arquitecturas de red para la distribución de contenidos Arquitecturas de red para la distribución de contenidos 3. Requisitos de red. Se definen 6 parámetros críticos que la red debería suministrar a las aplicaciones multimedia: Productividad (Throughput) Número de bits que la red es capaz de entregar por unidad de tiempo (tráfico soportado). CBR (streams de audio y vídeo sin comprimir) VBR (ídem comprimido) – Ráfagas (Peak Bit Rate y Mean Bit Rate) Retardo de tránsito (Transit delay) Mensaje listo para envío Envío del primer bit del mensaje Retardo de acceso Primer bit del mensaje recibido Ultimo bit del Mensaje listo mensaje recibido para recepción Retardo Retardo de de tránsito transmisión Retardo extremo-a-extremo Retardo de acceso 20 Arquitecturas de red para la distribución de contenidos Requisitos de red (II). Varianza del retardo (Jitter) Define la variabilidad del retardo de una red. 1 2 Emisor 3 t 1 D1 2 D2 = D1 3 Receptor D3 > D1 t Jitter físico (redes de conmutación de circuito) – Suele ser muy pequeño (ns) LAN jitter (Ethernet, FDDI). – Jitter físico + tiempo de acceso al medio. Redes WAN de conmutación de paquete (IP, X.25, FR) – Jitter físico + tiempo de acceso + retardo de conmutación de paquete en conmutadores de la red. 21 Arquitecturas de red para la distribución de contenidos Requisitos de red (III). Tasa de error. Mide el comportamiento de la red ante la entrega alterada, duplicada o desordenada de los datos. Comportamiento: – Detección, notificación y recuperación. Métrica: BER, PER y PLR. Comunicación isócrona. Es aquella que garantiza una productividad, retardo y varianza de retardo casi constantes (como un cable) Ideal para el transporte de medios continuos. Capacidad multidestino. Capacidad de la red de replicar los datos de un origen hacia más de un destino. Replicas a nivel de bit, bloque y mensaje. 22 Arquitecturas de red para la distribución de contenidos Internet y las aplicaciones multimedia (I) Las aplicaciones multimedia requieren servicios de transporte específicos: Garantía de un ancho de banda (tasa de bits). Retardos y jitters acotados y constantes. Una tasa de error razonablemente baja. Mecanismos de difusión multidestino. En Internet, el protocolo IP ofrece el servicio de transporte de paquetes sin conexión: No existen mecanismos explícitos de control de flujo ni reserva de recursos en la red. Los paquetes pueden ser descartados, desordenados, dañados o retrasados. 23 Arquitecturas de red para la distribución de contenidos Internet y las aplicaciones multimedia (II) Los routers IP son capaces de llegar a la utilización máxima del enlace (95%). Es independiente del hardware de red. Capacidad de difusiones multidestino. ¿ Soporta IP las demandas de las aplicaciones multimedia ? Las redes IPv4 actuales NO ofrecen servicios de transporte con una cierta calidad de servicio (QoS) No se puede garantizar un ancho de banda, los retardos de tránsito pueden llegar a segundos, etc. Filosofía de las redes IP: Relegar a los extremos las tareas de recuperación ante las dificultades que la red introduce. 24 Arquitecturas de red para la distribución de contenidos Internet y las aplicaciones multimedia (III) ¿ Qué podemos añadir a IP para soportar los requerimientos de las aplicaciones multimedia ? Técnicas de ecualización de retardos (buffering) Protocolos de transporte que se ajusten mejor a las necesidades de las aplicaciones multimedia: RTP (Real-Time Transport Protocol) RFC 1889. RTSP (Real-Time Streaming Protocol) RFC 2326. Técnicas de control de admisión y reserva de recursos (QoS) RSVP (Resource reSerVation Protocol) RFC 2205 Arquitecturas y protocolos específicos: Protocolos SIP (RFC 2543), SDP (RFC 2327), SAP (RFC 2974), etc.. ITU H.323 IP define un mecanismo de difusión multidestino. 25 Arquitecturas de red para la distribución de contenidos LANs y aplicaciones multimedia. Tecnología LAN Ethernet Estándar Ethernet Conmutada Fast Ethernet Conmutada VG-AnyLan FDDI Estándar FDDI Síncrona ATM LAN Velocidad de Garantía de Isócronismo acceso (Mbps) productividad Retardo Varianza de retardo Multicast 10 No No Indeterminado Elevado Si 10 Si/no Si/no Acotado Elevado(*) Si 100 Si/no Si/no Acotado Elevado(*) Si 100 Aproximado Asignado Acotado y casi Constante Acotado Si 100 No No Acotado Elevado Si 100 Aproximado Dedicado Constante. 34-622 Si Dedicado/asig. Constante Pequeña y Casi Constante. Pequeña y casi Constante. Si Si(*) 26 Arquitecturas de red para la distribución de contenidos WANs y aplicaciones multimedia. Tecnología WAN Velocidad de Garantía de Isócronismo acceso(Mbps) productividad Retardo Varianza de retardo Multicast X.25 0.001-2 No No Indeterminado Elevado No IP 0.001-100 No No Indeterminado Elevado(*) Si SMDS 1-34 No MBR (*) (*) Si Frame Relay 0.064-2 No Reservado (*) (*) No RDSI 0.064-2 Si Dedicado (*) (*) No SONET 51-2400 Si Dedicado Constante. ATM 34-622 Si Dedicado/ Reservado. Constante Pequeña y Casi Constante. Pequeña y casi Constante. No Si(*) 27 Tema 1: Aplicaciones Multimedia. 1. Introducción. 2. Principios para ofrecer QoS 3. Requisitos de la tecnología de red. Parámetros críticos Internet y las aplicaciones multimedia Comparativa LANs y WANs 4. Introducción a la compresión de datos. Introducción Factores de diseño de un códec Codificación basada en la entropía Bibliografía [KUR05] J. Kurose and K. Ross, “Computer Networking: A Top Down Approach Featuring the Internet”. [KUO98] F. Kuo et al.,"Multimedia Communications“. [FLU95] Fluckiger, "Understanding networked multimedia“ [SAY00] K. Sayood,“Introduction to Data Compression” [Data Compr] M.ARIMURA's Bookmarks on Source Coding/Data Compression Ejemplos: Huffman, Aritmética, etc. Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc. 5. Conclusiones. Arquitecturas de red para la distribución de contenidos Arquitecturas de red para la distribución de contenidos 4. Introducción a la compresión de datos. Muchas aplicaciones multimedia requieren volúmenes de información importantes: CD-ROM: 648 MB 72’ sonido estéreo. 30’’ de vídeo (estudio TV). Una película de 90’ ocuparía 120 GB. Una foto (35 mm) a resolución 2000x2000 ocuparía 10MB. Un canal de HDTV requiere un ancho de banda de 2Gbps. Por esta razón se emplean técnicas de compresión que permitan reducir el volumen de información 29 Arquitecturas de red para la distribución de contenidos Introducción a la compresión de datos (II). Un Codificador y decodificador Un sistema de compresión consta de: sistema de compresión es …: Asimétrico El codificador suele ser más complejo y lento que el decodificador (Ej.: Vídeo por demanda) Simétrico Coste computacional similar (Ej: Videoconferencia). Con pérdidas (lossy compression) o irreversible Adecuada para medios continuos (audio y vídeo). Mayores tasas de compresión. Sin pérdidas (lossless compression) o reversible: Ficheros de datos, imágenes médicas, etc. 30 Arquitecturas de red para la distribución de contenidos Factores en el diseño de un codificador. Calidad de la señal - BER (Bit Error Rate) - SNR (Signal/Noise) - MOS (Mean Opinion Score) Eficiencia - Tasa de compresión Retardo Complejidad - Espacio de memoria - Potencia (mW) - Operaciones/Seg. 31 Arquitecturas de red para la distribución de contenidos Dos clases de técnicas de compresión. Entropy encoding Codifica los datos sin necesidad de conocer la naturaleza de estos. De propósito general (todo tipo de datos). Son técnicas de compresión sin pérdidas. Ejemplos: Statistical (Huffman, aritmética,etc.), Run-length. Source encoding Codifica los datos basándose en las características y propiedades de estos. Suelen ser técnicas de compresión con pérdidas. Se obtienen tasas de compresión elevadas. Codificadores/decodificadores de propósito específico. Ejemplos: Differential, transform, vector quantization, etc. 32 Arquitecturas de red para la distribución de contenidos Codificación basada en la entropía. Entropía: Valor medio de información de un conjunto de símbolos procedente de una fuente de información (es imposible de medir en la práctica). 1 H S pi log 2 i pi (pi = probabilidad del símbolo i) Por ejemplo: Sea S = {4,5,6,7,8,9}, en donde la probabilidad de cada símbolo es la misma (1/6). 1 H S 6 log 2 6 2.585 6 Según la teoría de la información (Shanon), esta fuente no puede ser codificada (sin pérdidas) con menos de 2.585 bits por símbolo. 33 Arquitecturas de red para la distribución de contenidos Statistical encoding Trata de identificar los símbolos (patrones de bits) que más se repiten en el conjunto de datos de entrada. Se codifican con pocos bits los símbolos más frecuentes, mientras que los menos frecuentes son codificados con más bits. Ejemplos: Codificación Morse (q.e.d) E: ‘•’ y Q:’--•-’ Codificación Huffman. Codificación aritmética. 34 Arquitecturas de red para la distribución de contenidos Codificación Huffman Representan los símbolos con un número de bits inversamente proporcional a su frecuencia. Algoritmo genérico: Se construye un árbol binario de abajo hacia arriba agrupando los símbolos de menor frecuencia y asignado la suma de las probabilidades de ambos al nodo padre del árbol. Cada símbolo estará representado por una hoja del árbol y su código serán los bits recorridos hasta la raíz del mismo. Ejemplo: 35 Arquitecturas de red para la distribución de contenidos Codificación Huffman: Ejemplo ABCDE(39) 1 BCDE(24) 0 0 1 BC(13) 0 A(15) B(7) 1 0 C(6) D(6) DE(11) Símbolo Código A 0 B 100 C 101 D 110 E 111 1 E(5) 36 Arquitecturas de red para la distribución de contenidos Codificación aritmética Identifica una secuencia de símbolos asignándoles una representación binaria de un intervalo de una longitud inferior a la unidad. Siempre son más eficientes que los códigos Huffman Separa el modelo probabilístico de la asignación de bits pudiendo definir codificadores adaptativos. Es computacionalmente eficiente, aunque está sujeto a patentes. Ejemplo: Supongamos sólo dos símbolos, A y B con una probabilidad de P(A)=1/3 y P(B)=2/3. 37 Arquitecturas de red para la distribución de contenidos Codificación aritmética: Ejemplo P(A) = 1/3 1 segmento código .11111 .1111 .1110 AA AAA AAB ABA 31/32 15/16 14/16 AB ABB 6/8 .110 BAA 10/16 .1010 BAB 4/8 .100 BBA 3/8 .011 BBB 1/4 .01 8/9 A P(B) = 2/3 2/3 BA 16/27 4/9 B 8/27 BB 0 38 Arquitecturas de red para la distribución de contenidos Run-length encoding Se basa en detectar las repeticiones de símbolos (bits, números, etc) en los datos a codificar. Ejemplo: Datos a codificar (42): 3150000000376541111111127000000000000003 Datos codificados (21): 315A0737654A1827A0143 Tasa de compresión: 50% Este patrón es frecuente en multimedia: Audio: Tiras de ceros que representan silencios. Vídeo e imagen: Fondos del mismo color (paredes, cielos, etc.) 39 Arquitecturas de red para la distribución de contenidos Codificación basada en la fuente. Se basan fundamentalmente en las propiedades de la fuente de datos a codificar. tolerar pérdidas en la codificación (lossy codecs) que perceptualmente pasan inadvertidas para el usuario. Suelen Son codificadores de propósito específico. Por término general obtienen mayores prestaciones que los codificadores basados en la entropía. 40 Arquitecturas de red para la distribución de contenidos Codificación Diferencial Se basa en la codificación de las diferencias entre dos símbolos consecutivos. Ciertos tipos de datos tienen la propiedad de similitud entre símbolos consecutivos: Señal de Audio, vídeo, imágenes, etc. Esto permite codificar con pocos bits las diferencias. Ejemplo: DPCM (Differential Pulse Code Modulation) Codificación con pérdida. 41 Arquitecturas de red para la distribución de contenidos Transform encoding Se basa en transformar el dominio (Ej.: del temporal al de la frecuencia) de los datos de entrada (Ej.: señal de audio). Restar a todos los pixels el valor del Imágen BW primero Ejemplos: 4x4 pixels Aritmética: Fourier: 160 161 160 159 160 165 167 160 161 166 165 160 160 158 161 160 F(t) 160 1 0 -1 0 5 7 0 1 6 5 0 0 -2 1 0 C t f DCT (Discrete Cosine Transformation): Muy común en compresión de imágenes estáticas (JPEG). Codificación sin pérdida*. 42 Arquitecturas de red para la distribución de contenidos Vector quantization Es directamente aplicable a imágenes y audio. Consiste en lo siguiente (imágenes): La imagen se divide en bloques de tamaño fijo (vectores). Se construye una tabla, code-book, con todos los vectores diferentes encontrados. Se codifica la imagen como una sucesión de índices a la tabla. Tanto el codificador como el decodificador necesitan conocer la tabla (code-book). La tabla puede estar predefinida o ser creada dinámicamente. Si en una imagen predomina un número reducido de vectores, el índice de compresión puede ser importante. 43 Arquitecturas de red para la distribución de contenidos Vector quantization (II) Ejemplo: Imagen original dividida en vectores de nxn pixels 0 2 3 0 Si 0 2 2 4 1 2 2 0 Code-book 0 0 0 0 0 1 2 3 4 001022032200400 un vector no se encuentra en el code-book: Buscaremos el que más se parezca. Idem + enviar algún dato para aumentar el parecido (valor medio). Idem + enviar lo que sea necesario (vector error) para reconstruir el vector. Codificación con pérdida*. 44 Arquitecturas de red para la distribución de contenidos Vector quantization (III) CLUT (Color Look-Up Table) Es utilizado para codificar imágenes RGB, que normalmente no utilizan todos los colores posibles. Se utiliza una tabla (code-book) con los colores usados en la imagen. Cada pixel es representado con el índice de la tabla correspondiente a su color. Ejemplo: Imagen RGB de 24bits de color que solo usa 256. Se construye una tabla de 256 entradas y en cada una de ellas se guarda un color (24 bits). En lugar de usar 24bits/pixel, ahora usaremos 8bits/pixel Tasa de compresión: ~66% Codificación más lenta que decodificación. 45 Arquitecturas de red para la distribución de contenidos 5. Conclusiones. Conceptos y tipos de aplicaciones multimedia. Las aplicaciones multimedia …. Demandan un gran ancho de banda y Una calidad de servicio mínima Principios para ofrecer QoS a las aplicaciones multimedia Requisitos de las tecnologías de red… Es Seis parámetros básicos necesario el uso de técnicas de compresión. Dos grandes clases de codificadores: Basados en la entropía y basados en la fuente de datos. En concreto, las técnicas de compresión con pérdida se utilizan mucho con medios continuos (audio, imagen y vídeo). 46