Title: Sistemas de comunicacin audiovisual
1Sistemas de comunicación audiovisual
- Nicolás Guil Mata
- Dpto. Arquitectura de Computadores
- Universidad de Málaga
2Índice
- Arquitectura de los sistemas de información
audiovisual. - Arquitecturas para codificación/decodificación de
vídeo. - Complejidad computacional.
- Arquitecturas de procesamiento.
- Sistemas de archivos multimedia.
- Almacenamiento y acceso al material audiovisual.
- Gestión catalogación y consulta.
- Servidores de vídeo.
- Balanceo de la carga para Video bajo Demanda.
3Sistemas de información audiovisual
Servidor de archivo
Servidor de emisión
Cliente de emisión
Cliente de archivo
4Sistemas de información audiovisual
Servidor de archivo
Servidor de emisión
Cliente de emisión
Cliente de archivo
5Sistemas de información audiovisual
Manual o automática
Necesidad de almacenamiento terciario
Acceso directo Gestión virtual
Arquitecturas de procesador y memoria eficientes
Indexación bajo nivel
Codificación
Almacenamiento
Catalogación
Streaming Descarga
Visualización
Consulta
Emisión
Servidores distribuidos de vídeo
E/S de almacenamiento y red de interconexión
Arquitecturas de procesador y memoria eficientes
Edición
6Sistema de información audiovisual
Vídeo on demand
Streaming
Broadcast
Alm. terciario
AST
Vídeo codificado
Consulta/Browsing
Emisión
Archivo
Indexación
Arq. codecs
Extracción de contenidos
Metadatos
Catalogación
7Arquitecturas para codificación y decodificación
8Estándares de codificación MPEG-1 y MPEG-2
- Uso DCT por bloques y compensación de movimiento.
9Estándares de codificación MPEG-4
- Contenidos objetos de vídeo, mallas 2-D y 3-D,
texturas, audios, ... - Necesidad de decodificación, composición y
renderizado.
10Tareas en MPEG-4
11Requerimentos computacionales para codificación
de MPEG-4
CIF(360x284) y QCIF a 15Hz.
12Requerimientos computacionales para composición
de MPEG-4
Transformación afín
Blending
Interpolación
13Requerimientos computacionales para renderizado
de MPEG-4
14Características de los algoritmos multimedia (1)
- Tareas de bajo nivel (compresión de vídeo y
audio). - secuencias predefinidas.
- alta regularidad en acceso a operaciones y datos.
- alto grado de paralelismo.
- tareas de nivel medio.
- incluyen decisiones dependientes de los datos.
- menor regularidad.
- tareas de alto nivel.
- operan con objetos complejos de tamaños
variables. - flujo altamente dependiente de los datos.
15Características de los algoritmos multimedia (2)
- Tendencia a tareas de medio y alto nivel.
Bajo nivel
90
3
7
MPEG-1
Nivel medio
Alto nivel
60
10
30
MPEG-4
16Arquitecturas multimediaMejoras en PPG.
- Paralelismo a nivel de subpalabra.
- Explota el paralelismo de datos en códigos muy
regulares (split-ALU). - VLIW.
- Compilador extrae ILP.
- Coprocesadores.
- Sistema de Memoria.
- Stream caches.
- SRAM para tablas o coeficientes muy usados.
17Arquitecturas de procesamiento futuras (1)
- Arquitecturas programables deben mejorar su
eficiencia en - tratamiento de flujos con dependencia de datos y
control irregular. - tareas múltiples con paralelismo potencial a bajo
nivel. - manejo de varios streams de datos
simultáneamente. -
18Arquitecturas de procesamiento futuras (2)
- FPGA con SRAM (computación reconfigurable).
- Adaptación del hardware a algoritmos específicos
en tiempo de ejecución. - Software semiflexible con altas prestaciones.
- Algunos resultados muestran ganancias de un orden
de magnitud respecto a PPG. - Prototipado técnicas más interesantes pueden ser
adoptadas por PPG.
19Arquitecturas de procesamiento futuras (3)
- Multihebra simultáneo.
- Granularidad superescalar (ILP) a TLP.
- Posibilidad de trabajar con distintos streams
simultáneamente. - Ineficiencias de threads trabajando en
configuración data-parallel.
20Arquitecturas de procesamiento futuras (4)
- Estructura interna
- Múltiples CUs y DPs (num. CU ltlt num. DP)
- Funcionamiento
- Programa grafo dirigido de bloques básicos.
- Buscar en una memoria compartida cjtos de I's
(streams) que se envian a todos los DP's. - Cada DP elige un stream correspondiente a un BB y
lo ejecuta - Ventajas
- Ejecutar segmentos de código en paralelo y de
forma independiente. - Ejecución ambas alternativas en sentencias
condicionales. - .
Memoria de Is
CU 2
CU m
CU 1
Red de Interconexión
DP 1
DP 2
DP n
Memoria de Ds
21Arquitecturas futuras para MPEG-4 (5)
- Configuraciones de Control Asociativo.
- División de DPs y CUs en subconjuntos
(clusters). - Cada cluster trabajar en modo SIMD, MIMD o
Asociativo. - Pueden variar en run-time (Dynamic Clustering)
- Scheduler.
- División del código fuente en segmentos
(pseudo-I).
C2
C3
C1
C2
C3
C1
D1
D2
D6
D3
D4
D5
D1
D2
D3
D4
D5
D6
22Sistemas de Archivo Multimedia
23Sistemas de archivo de vídeo
- Características
- Multiformato MPEG, DV, M-JPEG, AVI, ...
- Almacenamiento masivo.
- 1 hora MPEG-2 a 12 Mbits/seg -gt 5.6 Gbytes.
- Indexación eficiente.
- Bajo nivel acceso directo -gt indexación
temporal. - Alto nivel Descriptores -gt Metadatos.
24Jerarquía sistema de archivo de vídeo
Web
Applic./Tools
I/O
Query Cataloging
Browsing
Indexing
Library M.
MAM
Backup
DBMS
25Catalogación
- Catalogación manual vs. automática.
- Tipos de metadatos.
- Metadatos técnicos.
- Formato vídeo, audio, duración, fecha, ...
- Metadatos generales.
- Índice visual, color, textura, forma, ...
- Metadatos específicos o semánticos.
- Eventos dependientes de la aplicación.
- El parlamentario X comienza su intervención, la
célula Y se divide, esta escena de la película es
un diálogo, ... - Descriptores MPEG-7.
26Herramientas de catalogación
- Manual y automática (o semiautomática).
- Automática.
Color
Textura
Índice visual
Forma
Procesado dependiente de la aplicación
Eventos
Semántica
27Herramientas de catalogación (1)
- Índices visuales.
- Resumen de lo que acontece en un vídeo.
- Basado en la detección de efectos
- cortes, transiciones graduales.
28Herramientas de catalogación (2)
- Formas, Textura y color.
- Seguimiento de objetos.
29Herramientas de catalogación (3)
- Eventos persona aparece en el pasillo
30Herramientas de catalogación (4)
- Eventos célula girando, trayectoria
31Organización de la base de datos
Asset
Instancia 1 Tipo vídeo AVI Duración 1
hora Secuencia 1 Secuencia 2 Secuencia 3
32Almacenamiento de material audiovisual (1)
- Necesidad de almacenamiento masivo
- Robots de cintas, CD/DVD JukeBoxes, ...
Origin 3000, Array de discos USCI, DLT STK/180
(28 TB), DVD JukeBox (3,5 TB). Película 1.5
horas de MPEG-1 a 1.5 Mbits/seg.
33Almacenamiento de material audiovisual (2)
- Cuellos de botella
- E/S Peticiones múltiples y simultáneas.
- Red de interconexión.
Almacenamiento
Procesamiento
Peticiones
Red de interconexión
E/S SCSI
34Escalabilidad.
- Extensión del concepto de memoria virtual (AST).
- Transferencia sólo de los trozos requeridos.
- Acceso transparentes a las aplicaciones gestión
de fallos -gt políticas de carga, reemplazo y
ubicación. - Tamaño fijo de páginas, chunks, en
almacenamiento terciario.
35Localidad temporal
- 80.000 horas de vídeo durante un año.
- 9 canales x 24 horas diarias.
36Lectura en AST
Gestión de memoria virtual AST
Carga por demanda
Ubicación selección de la cache de disco.
Sí
AST Lectura
Fallo ?
Reemplazo políticas
Librería cliente AST
No
Sistema operativo
37Tablas de traducción de AST lectura sin fallo.
Posición lectura
AST_READ
Instancia BD
id_ast
offset
id_chunk
id_tape
fichero_tape
id_chunk
id_tape
fichero_tape
Directorio cache de AST
id_chunk_presente
cache_file
OS_READ
38Escritura en AST
Cuándo ? ASAP Watermarking, almacenamiento
cíclico, basado en timeout, interferencia mínima
Qué ? Todo hasta watermark (FIFO, LRU,
size) fecha creación/acceso dada
Ubicación en disco
close
Ast escritura
Donde ? Grupo de cintas
Gestión de memoria virtual AST
39Carga por demanda en AST
- Equivalencia operaciones de lectura/escritura.
Almacenamiento terciario
Material audiovisual completo
20 x 64 Mbytes
Almacenamiento secundario
0 bytes
Apertura
Lectura 1º y 4º chunk
2 x 64 Mbytes
40Política de borrado de AST
- Borrado.
- No se pueden gestionar espacios vacios.
- Borrar cintas completas.
- Posibilidad de marcar cintas como semiborradas.
41Comparativa acceso a cinta de AST
42Emisión Vídeo bajo demanda
43Video on Demand (VoD)
- Broadcast (No-VoD) usuario sin control.
- Pay-per-View (PPV) Usuario escoge canal.
- Quasi Video-on-Demand (Q-VoD)
- usuarios agrupados basados en umbrales de
interes. - Control temporal conmutando entre grupos.
- Near Video-on-Demand (N-VoD)
- Simulación forward and backward en intervalos de
tiempo discretos (del orden de cinco minutos). - Múltiples canales con la misma programación
desplazada en el tiempo. - True Video-on-Demand (T-VoD) VCR virtual.
44Arquitectura de un sistema VoD
Servidor remoto
Cliente
Oficina de Conmutación
Operador de VoD
Backbone
Cliente
Servidor remoto
Archivo de vídeo
Cliente
45Modelo sistemas de VoD
Nterm
Nterm
- Vídeos residen en los servidores.
- Red ATM permite intercambio de material y reparto
de la carga. - Peticiones de streaming desde los clientes.
Servidor
Servidor
ATM
Servidor
Servidor
Nterm
Nterm
46Modelo de sistemas de VoD
Nterm
Nterm
Blink
Servidor
Servidor
ATM
Servidor
Servidor
Bswitch
Nstream
Nterm
Nterm
47Rendimiento de Sistemas de VoD
- Objetivo minimizar el tiempo medio de espera.
- Parámetro secundario buen balanceo de la carga
entre servidores. - Recursos consumidos en peticiones locales
Bstream (recurso local). - Más consumo de recursos en peticiones remotas
Blink remoto, Bswitch, Blink local, Bstream
local.
48Popularidad y replicación
- Popularidad de un vídeo
- frecuencia de peticiones
- Distribución Zipf ( M y x )
- M número de vídeos en el sistema
- x grado popularidad
- P(j) c / j x
- C constante normalización
- Porcentaje de replicación
- porción de vídeos replicados en todos los
servidores
49Distribución de los Vídeos
- M vídeos ordenados por popularidad
- Uso del porcentaje de replicación
- s vídeos más populares son replicados en todos
los servidores - Los restantes M ?s vídeos son uniformemente
distribuidos entre los servidores
50Algoritmos balanceo de la Carga
- Objetivo minimizar tiempo de espera
- Servidores con capacidad disponible ayudan a los
servidores sobrecargados - Influencia de la popularidad y de la replicación
de los vídeos en el tiempo de espera. - Global Wait Queue.
- Popularity and Partial Replication Load Sharing
51Algoritmos para Compartir la Carga (1)
- Algoritmo GWQ (Global Wait Queue)
- Replicación total (vídeos replicados en todos los
servidores) - Peticiones Remotas sólo cuando el servidor está
sobrecargado - Sin criterio de asignación de servicios remotos
52Algoritmos para Compartir la Carga
- Algoritmo PRLS (Popularity and Partial
Replication Load Sharing) - Popularidad Distribución Zipf
- Vídeos están replicados parcialmente
- Peticiones remotas
- Servidor sobrecargado
- Vídeo no replicado en el servidor
- Criterio de asignación de servicios remotos
- Servidor menos cargado
53Efecto del Criterio de Asignación de Servicios
Remotos
- Parámetros
- Tsleep exponencial (7200)
- Tactive uniforme (3600,10800)
- Replicación 100
- Resultados
- Criterio balancea la carga y disminuye Twait
54Modelo analítico
- Objetivos
- Medir el rendimiento de
- PRLS
- Validar el modelo analítico
- Estudiar la influencia de la popularidad y la
replicación - Principal métrica Twait
- Diferentes grados de popularidad ? y porcentajes
de replicación
55Efecto de replicación para ?1
56Efecto de la Replicación para ?1.8
57Líneas de investigación
- Procesadores MPEG-4.
- Arquitecturas reconfigurables.
- Sistema de archivo base de datos.
- Catalogación automática.
- Gestión de almacenamiento masivo.
- Planificación en vídeo bajo demanda.