Este documento presenta información sobre sistemas operativos y multimedia. Explica conceptos clave como streaming, codificación de audio y video, formatos como MPEG y JPEG, y los desafíos que plantea la multimedia para los sistemas operativos, incluyendo el cumplimiento de requisitos de tiempo real y la planificación de tareas. También analiza cómo los sistemas operativos deben administrar los recursos para satisfacer las demandas de reproducción y almacenamiento de contenido multimedia.
1. Facultad de Ingeniería
Universidad de Buenos
Aires
75-08 Sistemas Operativos
Lic. Ing. Osvaldo Clúa
2007
Multimedia y Sistemas
Multimedia y Sistemas
Operativos
Operativos
2. Multimedia
●
Se compone de:
– Audio y Video clips.
– Webcasts en vivo.
– Podcasts
●
Se entrega en:
– Computadores personales.
– PDAs.
– Teléfonos Celulares
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 2
3. Medios Continuos
●
El instante en que se reproducen es
importante.
– Son medios con requerimientos específicos de
velocidad.
●
Video: 24 a 30 Cuadros (frames) /seg
– La percepción tiene una cierta capacidad de
integración.
●
Son requerimientos de soft real time.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 3
4. Algunas cifras
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 4
5. Streaming
●
Entregar medios continuos desde un servidor a un
cliente generalmente a través de una conexión de
red
– Progressive Download: el medio se recupera y se
guarda en la computadora cliente para su
reproducción.
– Real-Time Streaming: no se almacena en la
computadora cliente.
●
En vivo (radio, tv)
●
On demand
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 5
6. Video on Demand
Hay distintos
tipos de
servicio
disponibles
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 6
7. El Archivo Multimedia
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 7
8. Codificación de audio
●
Sampling o Muestreo: convierte de onda de presión a
onda electromagnética y serie de números binarios
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 8
9. Codificación de audio
●
Ruido de cuantificación (Quantization).
●
Compresión sin pérdidas (au,wav,aiff).
●
Compresión perceptual (mp3, ogg-Vorbis, etc).
●
Generación de la onda (midi).
– Voice Messages
– Mode Messages
– System Messages
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 9
10. Análisis espectral
●
La codificación (mp3, vorbis,, ...) quita las frecuencias que el oído
no percibe.
●
Se preserva la calidad de la percepción, no la cantidad de
información.
●
Hay una frecuencia mínima de muestreo
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 10
11. Principios de MIDI
Voice Messages:
●
Note On
●
(Key, velocity)
●
Note Off
●
Pitch bend
●
Program
●
Control
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 11
12. Codificación de Video
●
Video Codec:
– Un dispositivo que permite la compresión de un
stream de audio y video.
– Generalmente usa compresión con pérdidas.
– Separa información de color de luminancia.
– Standards abiertos y propietarios.
– No confundir con containers.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 12
13. Algunos Codecs
H 261 ITU-T Video Conferencia
MPEG 1 (2) MPEG Video Disc
MPEG 2 (2) – H262 MPEG DVD – Blu-Ray
MPEG 4 (2) MPEG MPEG 2 (4) + Object Motion
MPEG 4 (10) – H 264 MPEG Play Station – iPod – Nero – HD-DVD Blu-Ray
H263 ITU-T Video Conferencia + Progressive scan
DivX Implementación MPEG 4 (2)
Theora Xiph.org Ogg (Container)
WMV Microsoft Familia de codecs
Real Video Real Propietario
Quick Time Mac Framework para manejar multimedia
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 13
14. Transformada Coseno (DCT)
Usando el Matlab
>> t = (0:1/255:1);
>> x = sin(2*pi*10*t)+sin(2*pi*5*t);
>> y=fft(x);
>> yc=dct(x);
>> subplot(3,1,1);plot (x);
title('sin(2*pi*10*t)+sin(2*pi*5*t)');
>> subplot(3,1,2);plot (abs(y));
title('Transformada de Fourier
(modulo)');
>> subplot(3,1,3);plot (abs(yc));
title('Transformada coseno (modulo)');
>>
Estas frecuencias son “alias”
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 14
15. ¿Porqué DCT y no FFT?
Nota: La definición de la fft de la página es distinta a la usada en Matlab
●
Separa la imagen como suma de
cosenos.
●
Hace una mejor aproximación
con menos coeficientes.
●
Menor sensibilidad a la”
quantización”.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 15
16. Transformada de una Imagen
Transformada Coseno de una línea
en la dirección horizontal.
Usando el Matlab
>> ce=imread('Cecilia-r.jpg'); %lee la imagen
>> cebn=rgb2gray(ce); % convierte an escala de grises
>> lin=cebn(190,:); % toma la linea 190 (aprox la
mitad)
>> subplot(3,1,1);imshow(cebn);title('Cecilia');
>> subplot(3,1,2);stem(lin);title('linea 190');
>> subplot(3,1,3);plot(log10(abs(dct(lin))));
title('DCT linea 190');
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 16
17. DCT en 2D de una imagen
La imagen está en color por una
limitación del Matlab, la
transformada se hizo sobre la
imagen en escala de grises.
Medio: resultado de la transformación
Abajo: representación habitual en
falso color de la DCT 2D.
Usando el Matlab
>> dctcebn=dct2(cebn); % transformada coseno en
2D;
>> subplot(3,1,1);imshow(ce);title('Cecilia');
>> subplot(3,1,2);mesh(log10(abs(dctcebn)));
>> title('Transformada Coseno 2D');
colormap(jet);colorbar;
>> subplot(3,1,3);imshow(log10(abs(dctcebn)));
>> title('DCT 2D vista como imagen');
colormap(jet);colorbar;
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 17
18. JPEG
Paso 1) Preparación de bloques (suponiendo 640x480);
Se separan los canales de luminancia y crominancia (canales Y, I,
Q).
Se sub-muestrea la crominancia a la mitad (320x250 en el
ejemplo)
Se agrupan en bloques e 8x8
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 18
19. Canales Y, I y Q
Según el standard de TV NTSC
Y = 0.299 R + 0.587 G + 0.114 B
I = 0.5957161349127745527 R −
0.2744528378392564636 G −
0.3212632970735180891 B
Q = 0.2114564021201178664 R −
0.5225910452916111684 G +
0.3111346431714933020 B
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 19
20. JPEG
Paso 2) DCT de cada bloque.
Paso 3) Cuantización (ver ejemplo para un bloque de 8x8)
Se divide cada coeficiente de la DCT por el de una tabla. Se usa
división entera. Los coeficientes crecen a medida que se alejan del origen.
La tabla determina el grado de pérdida usado (no forma parte del
Standard). En este caso se pierden altas frecuencias espaciales.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 20
21. JPEG
Paso 4) Se toman las
diferencias al bloque
anterior.
Paso 5) Se arma una
secuencia linear (ver figura)
y se la codifica RLE.
Paso 6) Los coeficientes así
obtenidos se codifican
según un código Huffmann
(long variable)
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 21
22. MPEG-2
●
Define tres tipos de frame:
– I (Intracoded) un frame comprimido según
JPEG
– P (Predictivos) se transmiten las diferencias
entre este frame y el I anterior
– B (Bidireccionales) se transmiten las
diferencias entre este, el I o P anterior y el I
o P siguiente.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 22
23. MPEG-2
GOP (Group of pictures) 12,3
N=12 (cant de frames en el GOP) M=3 Distancia I-P
Para reproducir B1 B2 I3 B4 B5 P6 B7 B8 P9 B10 B11 P12
Debe transmitirse I3 B1 B2 P6 B4 B5 P9 B7 B8 P12 B10 B11
Predicción de movimiento para
codificar los frames I y P.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 23
24. MPEG-4
●
Part 2.
– Compresión de video esencialmente similar a MPEG-2 con soporte
de frames B y predictores de movimiento.
●
Part 10 (H264).
– Inter-picture prediction (hasta 32 “reference pictures”)
– Variable block-size motion compensation (VBSMC). Precisión de ¼
de pixel.
– Predicción con pesos para efectos especiales (v. g. fade).
– Transformación DCT modificada y pesos adaptados para menores
pérdidas.
– Transformaciones alternativas a DCT.
– Compresión por entropía (en vez de Huffmann).
– Numerado de frames para creación de subsecuencias.
– Blending.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 24
25. Influencia sobre el S. O.
●
Se deben respetar la velocidad y las
restricciones de tiempo del medio
continuo. (QOS Quality of Service).
– Procesamiento (Velocidad de CPU).
– Planificación.
– Formato de Archivos.
– Características de la red.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 25
26. Tipos de QOS
●
Mejor Esfuerzo.
– Se hace lo posible.
●
Soft Real Time.
– Se admite perder algunos vencimientos
(deadlines).
●
Hard Real Time.
– Garantiza cumplir con los vencimientos.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 26
27. ¿Que queremos de la MM?
●
Multimedia Information System.
– Tratamiento de los datos continuos como textuales.
●
Controles de VCR.
●
Edición de medios continuos.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 27
28. Planificación
●
Asignar intervalos fijos (Clock scheduling).
– No admiten mas tareas que las programadas.
– Deben planificarse a priori
●
Rate Monotonic (RM).
– Prioridades fijas según su período.
Preemptive.
–
●
Earliest Deadline First (EDF).
– Prioridades variables
– Preemptive
– Óptimo (si puede ser planificado por algún otro algoritmo,
EDF también lo planifica.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 28
29. Control de Admisión
●
¿Cuando admitir otra tarea de Tiempo Real?
– Características conocidas:
●
Ci= tiempo de cálculo de la tarea i.
●
Ti= Período de la tarea i.
●
Clock Schedule – Hacer las cuentas con los intervalos
libres.
●
RM
∑ Ci /Ti0.67
●
EDF (admite plena ocupación de la CPU)
∑ Ci /Ti1
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 29
30. Formato de Archivos
Bloques de disco chicos(a) o grandes(b) respecto al frame
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 30
31. ¿Qué hay en un DVD?
●
AUDIO_TS: (AUDIO Title Set) forma parte de
DVD-Audio. No se usa
●
VIDEO_TS: (VIDEO Title Set) contiene los
Video Title Sets (VTS) del DVD. Cada VTS
tiene:
– VOB (Video OBject) Un container con Video,
Audio, Menú y Subtítulos multiplexados.
– IFO (InFOrmation) Punteros a escenas y
capítulos. Relaciones de aspecto y cámaras
alternativas
– BUP (BackUP) de los anteriores.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 31
32. Fractales
●
Son estructuras geométricas auto-similares en
distintas escalas.
– Se las propuso como una forma de comprimir
imágenes. Hubo mucha investigación, patentes y hard
en los 90.
– Ejemplo online (difícil de usar, busca similitudes en la imagen).
– La página Web de uno de los grupoos que desarrolló la
compresión por fractales.
– Se obtuvieron mejores resultados con Wavelets.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 32
33. Wavelets
●
Una transformación
como Fourier o DCT.
– Es útil para lograr
distintas resoluciones.
– Adoptada en
JPEG 2000, ECW
(Aerofotografía) y
MrSID (GIS).
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 33
34. La Red - IntServ
●
Integrated Services:
– Arquitectura que especifica que elementos
usar para garantizar la calidad de Servicios en
la red (QOS).
●
Es de grano fino, al contrario de DiffServ.
– Cada router debe implementar IntServ:
●
Flow Specs – Describen el tráfico
●
RSVP (ReSerVation Protocol) el mecanismo.
75-08 Sistemas Operativos
FIUBA 2007 Prof. Lic. Ing. Osvaldo Clúa 34