Sincronización
http://piglet.uccs.edu/~cs525/synmm/Blakowski%20.pdfhttp://piglet.uccs.edu/~cs525/synmm/
synmm.htm
Índice
• Introducción
• Nociones de sincronización
• Requerimientos de presentación
• Modelos de referencia
• Especificación de la sincronización
INTRODUCCIÓN
Introducción I
• Los sistemas multimedia avanzados se caracterizan por:– La generación integrada y controlada por
ordenador, y– Almacenamiento, comunicación,
manipulación y presentación de
Medios dependientes e independientes del tiempo.
Introducción II
• Sincronización en los sistemas multimedia se refiere a las relaciones temporales entre diferentes elementos multimedia.
• En un sentido mas amplio se puede utilizar el término, comprendiendo:– Los contenidos– Las relaciones espacio temporales entre los
diferentes elementos multimedia.
Elementos multimediadependientes del tiempo
• Se pueden representar como un flujo del elemento.
• Existen relaciones temporales entre unidades consecutivas del flujo multimedia.
• Si todas las unidades presentan la misma duración el elemento multimedia es continuo.
• Un ejemplo es el vídeo: conjunto de frames ordenados de duración fija.
Elementos multimediaindependientes del tiempo
• Cualquiera de los elementos multimedia tradicionales como el texto y las imágenes.
Nociones de sincronización
Características generales
• Definiciones de sistemas multimedia
• Aspectos básicos de la sincronización
• Sincronización inter e intra-elemento
• Unidades lógicas de datos
• Tipos de sincronización
Introducción
• La sincronización entre elementos multimedia comprende las relaciones entre elementos dependientes e independientes del tiempo.
• Ejemplo de sincronización entre medios continuos es el vídeo y el audio.
• Ejemplo de sincronización entre elementos dependientes e independientes es el de una cinta de audio y un carrusel de diapositivas.
Definiciones de Sistema Multimedia
• Dependiendo del número de elementos multimedia.
• Dependiendo del tipo de medios soportados: dependientes e independientes del tiempo.
• Dependiendo del grado de integración, entendiendo esta como que los diferentes elementos permanecen independientes pero pueden ser procesados y presentados juntos.
Definición conjunta
• Combinando los tres criterios anteriores, un sistema multimedia puede definirse como:
Un sistema o aplicación que soporta el procesamiento integrado de varios tipos de elementos multimedia con al menos uno de los medios dependiente del tiempo.
Clasificación de los medios usados en sistemas multimedia
Mezclan medios analógicosDependientes del tiempoCon medios digitales Independientes del tiempo
Aspectos básicos de la sincronización
• Relaciones entre contenidos
• Relaciones espaciales
• Relaciones temporales
Relaciones entre contenidos
• Ejemplo: los datos de una hoja de cálculo y su representación gráfica.
• En los documentos multimedia integrados es importante expresar estas relaciones explícitamente con el fin de permitir una actualización automática de las diferentes vistas de los mismos datos.
Relaciones espaciales
• Definen:– el espacio usado para la presentación de un
elemento multimedia – en un dispositivo de salida – en un cierto instante de tiempo– en una presentación multimedia
• Ejemplos:– Tamaño de una ventana Windows– Espacio físico en multimedia contextual
Relaciones temporales
• Definen las dependencias temporales entre elementos multimedia.
• Ejemplo:– Las relaciones entre audio y vídeo en una
grabación de un concierto.
Sincronización intra-elemento
• Se refiere a las relaciones temporales entre varias unidades de presentación en un elemento multimedia dependiente del tiempo.
• Por ejemplo una secuencia de vídeo de 25 frames/seg. Cada frame debe mostrarse cada 40 mseg.
Sincronización inter-elemento
• Se refiere a la sincronización entre diferentes elementos multimedia.
• Por ejemplo:
Unidades Lógicas de Datos
• Los elementos multimedia dependientes del tiempo consisten normalmente de una secuencia de unidades de información denominadas: Unidades Lógicas de Datos (ULD).
• Se pueden observar diferentes niveles de granularidad a la hora de definir una ULD. P. e.– Una sinfonía digitalizada tiene movimientos,
notas musicales y muestras digitalizadas.
Unidades Lógicas de Datos• Los diferentes niveles de granularidad que
implican la descomposición jerárquica de los elementos multimedia pertenecen en general a dos tipos diferentes de jerarquías:– La que implica los contenidos (p. e. movimientos y
notas de la sinfonía)– La que implica la codificación de los datos (p. e.
muestreo de la señal)
Unidades Lógicas de Datos
• Pueden clasificarse en:– Cerradas:
• Duración predecible• Ejemplos: ULDs parte de medios continuos como
vídeo y audio.
– Abiertas:• Duración no predecible antes de la ejecución de la
presentación.• Ejemplos: Cámara o micrófono, en general objetos
que incluyen la interacción con el usuario.
Clasificación de las ULDs
• En el caso del vídeo digital se suele asociar ULD a frame.
• Por ejemplo para un vídeo de 30 imágenes por segundo, cada ULD tiene una duración de 1/30 seg.
Clasificación de las ULDs
• En otros casos, por ejemplo el audio digital, la muestra individual es demasiado pequeña para considerarse. En este caso una ULD se considera formada por 512 muestras.
Clasificación de las ULDs• En los elementos multimedia generados en un
ordenador la duración de la ULD pueden ser seleccionada por el usuario.
• Un ejemplo son los frames de una animación, dependiendo de la velocidad de presentación se pueden usar mas o menos frames por unidad de tiempo.
Clasificación de las ULDs
• En algunas ocasiones las ULD varían en duración.
• Por ejemplo: el registro de eventos de una interfaz gráfica de usuario para reproducir la interacción del usuario.
Clasificación de las ULDs• Las ULD abiertas de duración no predecible
tienen lugar en el caso de que las ULD no tienen una duración inherente.
• Un ejemplo de este tipo es una interacción de usuario en la cual la duración de dicha interacción no se conoce por adelantado.
Clasificación de las ULDs
Otros ejemplos:• Sincronización de
labios: necesita un alto nivel de acoplamiento entre las LDU de audio y video.
• Una presentación de diapositivas con comentarios grabados debe estar relacionada temporalmente.
Tipos de sincronización
• Sincronización en vivo:– Las señales se graban y reproducen juntas.
• Sincronización artificial:– Las señales se graban separadas y se
reproducen juntas.
Sincronización en vivo
Sincronización artificial
• Su importancia radica en permitir una relación de sincronización flexible entre diferentes medios.
• Se distinguen dos fases:– Especificación: las relaciones temporales
entre medios se definen de forma explícita.– Presentación: un sistema run-time presenta
los datos de un modo sincronizado.
Requerimientos de presentación
Introducción
• Para presentar correctamente los datos multimedia en la interfaz de usuario, es esencial la sincronización.
• No es posible suministrar una medida objetiva de la sincronización desde el punto de vista del usuario.
• Puesto que la percepción varia de persona a persona, sólo se pueden aplicar criterios heurísticos para determinar si la presentación es correcta o no.
¿Qué requisitos comprende la presentación?
• En la sincronización intra-objeto, la exactitud concerniente al retraso en la presentación de las ULD.
• En la sincronización inter-objeto la exactitud en la presentación en paralelo de los objetos multimedia.
“The gap problem”
Problema ocasionado por el bloqueo de una de las dos fuentes dependientes del tiempo
Soluciones al “gap problem”• Bloqueo restringido: utiliza como mecanismo
de re-sincronización la presentación repetida de la última muestra o una presentación alternativa.
• Re-muestreo de un flujo: consiste en acelerar o retrasar el flujo con el fin de alcanzar la sincronización. Puede ser off-line o on-line.
• Eliminar o añadir elementos: consiste en insertar o borrar partes de un flujo.
Sincronización de labios:Definiciones
• Se refiere a las relaciones temporales entre flujos de audio y vídeo en el caso particular del habla.
• Las diferencias de tiempo entre LDU de audio y vídeo relacionadas se conocen como “skew”.
Sincronización de labios:Medidas en usuarios
• La región de sincronía se extiende desde -80 ms (retraso de audio) hasta +80 ms (adelanto del audio). Tolerable para la mayoría de los usuarios.
• La región de fuera de sincronía se extiende por encima de -160 ms y + 160 ms. No es aceptable por prácticamente ningún usuario.
• Existe una zona transitoria (audio por encima del vídeo) donde a mayor cercanía del locutor mas fácil detectar el error.
• Existe otra zona transitoria (vídeo por encima del audio) que aunque se comprota de forma semejante a la anterior sin embargo resulta mas tolerante para los usuario.
Sincronización de un señalador
• Trabajo realizado en CSCW compartiendo varios usuarios un puntero (señalador) y señales de audio.
• La zona de sincronía cuando el audio está por encima del puntero es de 750 ms y cuando el puntero está por delante del audio de 500 ms.
• La zona de sincronía está por encima de -1000 ms y +1250 ms.
Modelo de referencia para la sincronización multimedia
Introducción
• Se necesita un modelo de referencia para:– Comprender los diferentes requerimientos
para una presentación multimedia.– Identificar y estructurar los mecanismos
run-time que apoyan la ejecución de la sincronización.
– Identificar interfaces entre mecanismos run-time.
– Comparar soluciones para la sincronización multimedia.
Clasificaciones existentes• Clasificación general de Little y Ghafoor (1990)
– Niveles: físico, sistemas y humano.– Sincronización intraflujo e interflujo– Sincronización en directo o artificial
• Modelo de Gibbs, Breiteneder y Tsichichritzis (1993)– Mapea un objeto multimedia sincronizado en un flujo de bytes no
interpretado.• Ehley, Furth y Ilyas (1994)
– Clasifican las técnicas intermedias de clasificación que se utilizan para controlar los saltos entre flujos de acuerdo con el tipo y ubicación del control de sincronización.
– Distinguen entre un control distribuido basado en protocolos, distribución basada en servidores y distribución sobre nodos sin estructura de servidores.
• Meyer, Effelsberg y Steinmetz (1993)– Capa de medios para sincronización intraflujo de medios dependientes
del tiempo.– Capa de flujos para sincronización interflujo de flujos de medios– Capa de objetos para la presentación, incluyendo la presentación de
objetos no dependientes del tiempo.
Modelo de referencia para la sincronización
Es un modelo de cuatro capas, cada una de las cuales implementa Mecanismos de sincronización proporcionados por un interfaz apropiado
Capa de elemento multimedia I
• Una aplicación opera como un flujo continuo de un elemento multimedia que es tratado como una secuencia de ULD.
• El proceso lee y escribe ULD en un loop durante tanto tiempo como los datos están disponibles.
Capa de elemento multimedia II
• Utilizando esta capa, la misma aplicación es responsable de la sincronización, utilizando mecanismos de control de flujo.
• Si varios flujos se desarrollan en paralelo, la necesidad de compartir recursos puede alterar los requerimientos de tiempo real.
• También hay que tener en cuenta si el sistema es local o distribuido.
Capa de flujo I
• Opera en flujos continuos de elemento multimedia.
• En un grupo, todos los flujos se presentan en paralelo utilizando mecanismos para la sincronización interflujo.
• El elemento multimedia continuo, es visto como flujo de datos con restricciones implícitas de tiempo. Los ULD son son visibles.
Capa de flujo II
• Esta capa deriva de la abstracción suministrada por la integración de elementos multimedia analógicos.
• En el proyecto Athena del MIT, los elementos continuos son introducidos por canales separados en el ordenador.
• En estos sistemas la sincronización en vivo entre varios elementos multimedia continuos se lleva a cabo por dispositivos específicos.
Capa de objeto
• Trabaja con todos los tipos de elementos multimedia sin diferenciar entre medios continuos discretos.
• Esta capa toma una especificación de sincronización como entrada y es responsable de la correcta temporalización de toda la presentación.
Capa de especificación I
• Es una capa abierta
• Contiene aplicaciones y las herramientas permiten crear especificaciones de sincronización.
Métodos de especificación
• Basadas en intervalos:– Permiten la especificación de relaciones temporales
entre los intervalos de tiempo de la presentación de elementos multimedia.
• Basadas en ejes:– Relaciona eventos de las presentaciones con los ejes
compartidos por los elementos de la presentación.• Basadas en el flujo:
– A determinados puntos de sincronización el flujo de la presentación es sincronizado.
• Basadas en eventos:– Los eventos disparan las acciones de la
presentación.
Sincronización en Entornos distribuidos
• Es mas compleja que en entornos locales.
• Debido al almacenamiento distribuido de la información y a las diferentes localizaciones de los elementos multimedia implicados en la presentación.
• La comunicación entre el almacenamiento y el sitio de la presentación introduce retrasos y saltos adicionales.
Transporte de la especificación de sincronización I
• En el nodo destino de la presentación, los componentes de la misma necesitan la especificación de sincronización en el momento que el elemento multimedia vaya a ser mostrado.
Transporte de la especificación de sincronización II
• Existen tres aproximaciones principales para la llegada de la información de sincronización al destino.– Llegada de toda la
información de sincronización antes del comienzo de la presentación.
– Utilización de un canal de sincronización adicional.
– Flujos de datos multiplexados
Combinación de elementos I
• En algunos casos es posible sincronizar elementos multimedia, combinando los mismos en un nuevo elemento.
• Esta aproximación puede utilizarse para reducir las demandas de recursos de comunicación.
• P. E. Una animación y dos imágenes que deben superponerse a un vídeo pueden mezclarse para formar un nuevo vídeo.
Combinación de elementos II
Sincronización de reloj I
• En los sistemas distribuidos, debe considerarse la exactitud de la sincronización entre los relojes de la fuente y el destino.
Sincronización de reloj II
• Muchos esquemas de sincronización necesitan conocer las relaciones temporales.
• Este conocimiento es la base para los esquemas de sincronización globales basados en el tiempo.
• También es la base para esquemas que necesitan que las operaciones en nodos distribuidos estén coordinadas para asegurar por una parte la llegada a tiempo y por otra que no lleguen demasiado pronto y evitar el overflow del buffer.
Sincronización de reloj III
• El problema es especialmente importante para la sincronización en el caso de múltiples fuentes.
Fuente A (audio)
Ta, Oa
Fuente V (vídeo)
Tv, Ov
Destino AV
Tav
Na
Nv
Sincronización de reloj IV
• Si una presentación sincronizada de audio y vídeo debe comenzar al tiempo Tav en el nodo destino, la transmisión de audio de la fuente A debe comenzar a:– Ta = Tav – Na – Oa– Siendo Na el retraso de la red– Siendo Oa el offset del reloj del nodo A con relación
al reloj destino.
• Para la fuente del nodo V, el tiempo de comienzo de la transmisión de vídeo es:– Tv = Tav – Nv - Ov
Sincronización de reloj V
• Es posible reservar cierta capacidad del buffer de destino y comenzar la transmisión del audio y el vídeo con antelación, para garantizar que las unidades multimedia requeridas están disponibles.
• Debido a que la capacidad necesaria de buffer en el nodo destino depende del posible offset y debemos asumir una capacidad limitada del buffer, es necesario limitar el offset máximo.
• Este hecho puede ser alcanzado con protocolos de sincronización del reloj que permiten una sincronización con una exactitud en el rango de 10 ms.
Relaciones múltiples de comunicación
Sincronización en pasos múltiples
• Sincronización durante la adquisición de los elementos multimedia (p. e. digitalización)
• Sincronización durante la recuperación (p. e. acceso a marcos de un vídeo almacenado)
• Sincronización durante la libración de ULD a la red
• Sincronización durante el transporte• Sincronización en el destino• Sincronización en el dispositivo de salida
Especificación de sincronización
Introducción
• La especificación de sincronización de un elemento multimedia describe todas las dependencias temporales de los elementos multimedia incluidos en el elemento multimedia.
• Se produce utilizando herramientas en la capa de especificaciones y es utilizada en la interfaz de la capa de elementos.
Aspectos que debe comprender
• Especificaciones de sincronización intra-elemento para los elementos multimedia de la presentación.
• Descripciones de Calidad de Servicio para la sincronización intra-elemento.
• Especificaciones de sincronización inter-elemento para elementos multimedia de la presentación.
• Descripciones de Calidad de servicio para sincronización inter-elemento.
Calidad de servicio para un elemento multimedia
• Incluye la calidad concerniente a ULDs simples de un elemento multimedia y la exactitud con la que las relaciones temporales entre ULDs de este elemento multimedia deben completarse si el elemento multimedia es un elemento dependiente del tiempo.
Parámetros de Calidad de Servicio para un elemento multimedia
Imagen Vídeo Audio
Profundidad de color
Profundidad de color
Muestreo lineal o logarítmico
Resolución Resolución Tamaño de la muestra
Frecuencia de los frames
Frecuencia de muestreo
Temblor Temblor
Razón de error Razón de error
Calidad de servicio para la sincronización
MEDIO MODO CALIDAD DE SERVICIO
Vídeo Animacion Correlacionado +/- 120 ms
Audio Sincronización de labios +/- 80 ms
Imagen Superposición +/- 240 ms
No superposición +/- 500 ms
Texto Superposición +/- 240 ms
No superposición +/- 500 ms
Audio Animación Correlación de eventos +/- 80 ms
Audio Fuertemente acoplado (stereo) +/- 11 ms
Débilmente acoplado (diálogo) +/- 120 ms
Débilmente acoplado (fondo) +/- 500 ms
Imagen Fuertemente acoplado (música con notas +/- 5 ms
Débilmente acoplado (carrusel diapositivas) +/- 500 ms
Texto Anotación de texto +/- 240 ms
Puntero Audio relacionado con movimiento puntero - 500 ms / + 700 ms
Calidad de servicio para dos elementos multimedia relacionados• Nivel de producción
– Se refiere a la calidad de servicio a ser garantizada antes de la presentación de los datos en la interfaz de usuario.
– Implica el registro de datos sincronizados para ser visualizados posteriormente.
• Nivel de presentación– Define lo que es razonable a nivel de interfaz
de usuario.– Tiene que ver con la percepción.
Especificaciones basadas en intervalo
• En este sistema, la duración de la presentación de un elemento es contemplada como un intervalo.
• Dos intervalos de tiempo pueden estar sincronizados en 13 modos distintos:– A antes de B, A superpuesto a B, A comienza
con B, A igual que B, A encuentra a B, A durante B, A finaliza con B
– Y los inversos de los anteriores excepto igual
Especificaciones basadas en intervalos
Mejora de la especificación basada en intervalos
Sincronización basada en ejesEjemplo base
Sincronización basada en un temporizador global
• Todos los elementos multimedia individuales son añadidos a un eje de tiempo que representa una abstracción en tiempo real.
• Permite buenas abstracciones de la estructura interna de un elemento multimedia individual.
• Este tipo de sincronización puede no ser suficiente para expresar las relaciones de sincronización entre diferentes flujos de presentación.
Sincronización basada en Ejes virtuales
• En éste método es posible especificar sistemas de coordenadas con unidades de medida definidas por el usuario.
• En el ejemplo el eje pitch (tono) es mapeado como frecuencia y el eje beat (compás) como temporizador.
Ejes virtuales
Aplicado al caso ejemplo
Especificaciones basadas en el control de flujo
• Especificaciones basadas en la jerarquía:– Están basadas en dos operaciones
principales:• Sincronización en serie de acciones, p. e. Una
secuencia de diapositivas.• Sincronización en paralelo de acciones, p. e.
Movimiento de labios y locución.
Especificaciones basadas en el control de flujo
Especificaciones basadas en el control de flujo
• Puntos de referencia– En este caso los elementos multimedia individuales
son contemplados como secuencias de ULD cerradas.
– Los tiempos de comienzo y parada de la presentación de un elemento multimedia conjuntamente con los tiempos de comienzo de las sub-unidades de los elementos multimedia dependientes del tiempo se llaman puntos de referencia.
– La sincronización entre elementos se define mediante la conexión de los puntos de referencia de los elementos multimedia.
– Un conjunto de puntos de referencia conectados se llama punto de sincronización.
Sincronización de punto de referencia
Redes de Petri temporalizadas
• Reglas de funcionamiento:– Una transición se desencadena si todos los
lugares de entrada contienen un token no bloqueante.
– Si se desencadena una transición, se elimina un token por cada entrada y se añade un token por cada salida.
– Cuando se añade un token a un nuevo lugar aquel se bloquea durante la duración asignada a dicho lugar.
Ejemplos de Redes de Petri
Ejemplos de Redes de Petri
Sincronización basada en eventos
• Las acciones de presentación son iniciadas por eventos de sincronización:– Comienzo– Final– Preparación
• Los eventos pueden ser externos (generadosr de tiempos) o internos de la presentación (generado al alcanzar una ULD especifica en un objeto dependiente del tiempo.
Scripts
• Es una descripción textual del escenario de sincronización.
• Frecuentemente los scripts acaban constituyendo un lenguaje de programación.
• Un ejemplo típico es un script basado en un método jerárquico que soporta tres operaciones principales:– Presentación serie– Presentación paralela– Presentación repetida