Facultad de Ingeniería Universidad de Buenos...

34
Facultad de Ingeniería Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing. Osvaldo Clúa 2do Cuatrimestre 2006 Multimedia y Sistemas Operativos

Transcript of Facultad de Ingeniería Universidad de Buenos...

Facultad de IngenieríaUniversidad de Buenos 

Aires

75-08 Sistemas OperativosLic. Ing. Osvaldo Clúa

2do Cuatrimestre 2006

Multimedia y Sistemas Operativos

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -2-

La Multimedia ● Se compone de:

– Audio y Video clips.– Webcasts en vivo.

● Se entrega en:– Computadores personales.– PDAs.– Teléfonos Celulares

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -4-

Algunas cifras

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 reproduce a

medida que llega y se guarda en la computadora cliente.

– Real-Time Streaming: no se almacena en la computadora cliente.

● En vivo● On demand

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -6-

Video on Demand

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -7-

El Archivo Multimedia

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -10-

Análisis espectral

●La codificación (mp3, vorbis,, ...) quita las frecuencias que el oido no percibe.●Se preserva la calidad de la percepción, no la cantidad de información.●Hay una frecuencia mínima de muestreo

● ver http://www.dsptutor.freeuk.com/aliasing/AD102.html

Transformada de Fourier :http://heliso.tripod.com/java_hls/gccs/spectrum1.htm

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -11-

Principios de MIDI

Mas información en http://www.midi.org/about-midi/tutorial/tutor.shtml

Voice Messages:●Note On

● (Key, velocity)●Note Off●Pitch bend●Program ●Control

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -13-

Algunos Codecs

H 261 ITU-T Video ConferenciaMPEG 1 (2) MPEG Video DiscMPEG 2 (2) – H262 MPEG DVD – Blu-RayMPEG 4 (2) MPEG MPEG 2 (4) + Object MotionMPEG 4 (10) – H 264 MPEG Play Station – iPod – Nero – HD-DVD Blu-RayH263 ITU-T Video Conferencia + Progressive scanDivX Implementación MPEG 4 (2)Theora Xiph.org Ogg (Container)WMV Microsoft Familia de codecsReal Video Real PropietarioQuick Time Mac Framework para manejar multimedia

Para una lista mas completa ver http://www.fourcc.org/codecs.php

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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” http://www.dsptutor.freeuk.com/aliasing/AD102.html

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -15-

¿Porqué DCT y no FFT?

●Separa la imagen como suma de cosenos.●Hace una mejor aproximación con menos coeficientes.●Menor sensibilidad a la” quantización”.

Para mas información: http://www.cs.cf.ac.uk/Dave/Multimedia/node231.html Nota: La definición de la fft de la página es distinta a la usada en Matlab

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -16-

Transformada de una Imagen

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');

Transformada Coseno de una línea en la dirección horizontal.

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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ónAbajo: 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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -18-

JPEGPaso 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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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

Mas información http://en.wikipedia.org/w/index.php?title=YIQ&oldid=90532599

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -20-

JPEGPaso 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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -23-

MPEG-2

Predicción de movimiento para codificar los frames I y P.

Para mas información visitarhttp://www.fh-friedberg.de/fachbereiche/e2/telekom-labor/zinke/mk/mpeg2beg/beginnzi.htm

GOP 12,3– (Group of pictures)N=12 (cant de frames en el GOP) M=3 Distancia I-PDebe transmitirse I3 B1 B2 P6 B4 B5 P9 B7 B8 P12 B10 B11Para reproducir B1 B2 I3 B4 B5 P6 B7 B8 P9 B10 B11 P12

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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.

Una comparación en: http://www.fastvdo.com/spie04/spie04-h264OverviewPaper.pdf

Tutoriales en http://www.vcodex.com/h264.html

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -28-

Planificación● Asignar intervalos fijos (Clock schedule).

– 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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 ● EDF (admite plena ocupación de la CPU)

∑ Ci /Ti 0.67

∑ Ci /Ti 1

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -30-

Formato de Archivos

Bloques de disco chicos(a) o grandes(b) respecto al frame

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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.

http://stream.uen.org/medsol/dvd/home

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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: http://www.eurecom.fr/~image/DEMOS/FRACTAL/english/index.html (difícil de usar, busca similitudes en la imagen).

– Un informe online:http://www.howell1964.freeserve.co.uk/MSc/FIC/FIC_con.htm

– Se obtuvieron mejores resultados con Wavelets.

75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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 OperativosLic. Prof. Osvaldo Clúa

FIUBA 2006 -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.