X - Departamento de Ingeniería Industrial II de la UDC

Anuncio
Proyecto:
Un sistema web basado en la
digitalización de audio-vídeo para el
análisis de experimentos de física y de
fenómenos de la vida cotidiana
Documento:
Instrucciones generales para el análisis de
archivos multimedia.
Autor:
Alberto Ramil Rego
Fecha:
16 de septiembre de 2002
Contenido
Análisis de archivos multimedia....................................................................................... 1
Imágenes fijas (fotografías) .......................................................................................... 1
¿Qué es una imagen digital?..................................................................................... 1
Análisis Geométrico ................................................................................................. 2
Análisis del Brillo y Color........................................................................................ 6
Ficheros de vídeo (Películas)...................................................................................... 10
¿Qué es un vídeo digital?........................................................................................ 10
Análisis temporal.................................................................................................... 11
Análisis cinemático ................................................................................................ 12
Ficheros de audio........................................................................................................ 14
¿Qué es un archivo de sonido? ............................................................................... 14
Análisis temporal.................................................................................................... 15
Análisis Espectral o de Fourier............................................................................... 16
Referencias ..................................................................................................................... 21
Libros.......................................................................................................................... 21
Enlaces de interés ....................................................................................................... 21
Programas para análisis de vídeo ........................................................................... 21
AVI ......................................................................................................................... 21
PAL......................................................................................................................... 21
WAV....................................................................................................................... 21
Instrucciones generales para el análisis de archivos multimedia
Análisis de archivos multimedia
Se presentan a continuación los aspectos generales del análisis de archivos
multimedia clasificándolos en imágenes, vídeo y sonido. Para cada tipo de archivo se
dará una pequeña descripción de su contenido así como de las herramientas más
comunes para su análisis. Los detalles específicos para el análisis de cada fichero de la
colección se encuentran en el documento “Fichas para el Alumno” que se puede
completar con el libro “Métodos Experimentales para el Laboratorio de Física”(Ref. 4)
y las referencias que en él aparecen.
Imágenes fijas (fotografías)
Las imágenes fijas proporcionan información de tipo geométrico (posiciones,
distancias, ángulos, ...) y de tipo fotométrico (brillo y color) que puede emplearse para
objetivos muy diversos.
¿Qué es una imagen digital?
Una imagen digitalizada se compone de un conjunto de elementos de brillo y
color homogéneos, denominados píxeles, a cuyas propiedades se les asigna un valor
numérico entero. En general estos elementos son de forma cuadrada y se disponen en
forma matricial llenando una superficie rectangular por lo que, para especificar su
posición, basta con conocer la fila y la columna que ocupa. Esta es la manera en la que
se presentan las imágenes en la pantalla de un ordenador y la manera en la que se
guardan en ficheros la mayoría de las imágenes.
Dependiendo del tamaño de los píxeles y de los valores posibles del brillo y
color se obtienen imágenes digitales con mayor o menor calidad y también con mayor o
menor tamaño para su almacenamiento. En la tabla siguiente se muestran algunos
ejemplos de los estándares de vídeo:
Formato
MDA
Hercules
Año
CGA
1981
EGA
1984
VGA
1987
SVGA
XGA
1990
SXGA
UXGA
número de píxeles
720x348 sólo texto
720x348
160x200
640x200
640x350
720x400 (modo texto)
640x480
320x200
800x600
640x480
1024x768
1280x1024
1600x1200
brillo / color
monocromo (1 bit)
monocromo
16 colores (4 bites)
monocromo (1 bit)
16 colores
monocromo
16 colores
256 colores
según memoria
paleta1 de colores
16
2
64
262144=218
262144=218
16 millones=224
65536=216
según memoria
según memoria
232
232
Tabla 1. Formatos estándar de vídeo más frecuentes y sus características.
1
La paleta es el conjunto de todos los colores que se pueden utilizar en un sistema. El número de ellos
que pueden utilizarse simultáneamente puede ser inferior y es el que se indica en “brillo / color”.
1
Alberto Ramil Rego, Universidad de La Coruña, 2002
Análisis Geométrico
La base del análisis geométrico de las imágenes es la determinación de
coordenadas de puntos. A partir de ellos, siguiendo las técnicas habituales, pueden
determinarse distancias, ángulos, áreas, perímetros, etc.
La posición (fila, columna) que ocupa un píxel dentro de una imagen puede
identificarse inmediatamente con un sistema cartesiano de coordenadas planas, en las
que la abscisa sería el número columna (empezando por la izquierda) y la ordenada el
número de fila (empezando por arriba). Si los objetos de la imagen realmente se
encontraban en un plano paralelo al plano focal de la cámara, la correlación entre las
coordenadas reales y la posición de los píxeles es muy sencilla; basta una relación lineal
para tener en cuenta el cambio de escala y las diferencia de origen y orientación de los
dos sistemas cartesianos.
xP
P
yP
L
YP
XP
O
ϕ
Figura 1. Los dos sistemas cartesianos de coordenadas: el “físico” y el de la imagen.
Llamando (x,y) a las coordenadas ligadas a la imagen (que no son más que el
número de columna y de fila) y llamando OXY a una referencia cartesiana con origen en
el punto O cuyas coordenadas son los valores reales de la posición en el problema físico
recogido en la imagen, para un punto cualquiera P se tiene la relación siguiente:
 X P   cos ϕ
 Y  = − sin ϕ
 P 
− sin ϕ   E x (x P − xO )


− cos ϕ   E y ( y P − y O )
(1)
donde las constante (Ex, Ey) representan el cambio de escala entre las coordenadas
horizontal-vertical de la imagen y las coordenadas reales.
En la mayoría de los casos bastará tomar el mismo factor de escala para los dos
ejes que se determinará a partir de las coordenadas de dos puntos de separación
conocida. Si por ejemplo se eligen dos puntos situados a lo largo de una regla graduada
separados una distancia L,
2
Instrucciones generales para el análisis de archivos multimedia
Ex = E y = E =
L
(x1 − x2 )2 + (y1 − y 2 )2
(2)
La obtención de las coordenadas reales sobre una imagen se basa en la
determinación de la posición (columna, fila) de los píxeles correspondientes. Existen
varias herramientas para realizar el proceso:
•
Usando VideoPoint 2.5 ®. Esta aplicación está pensada especialmente para
dicha tarea y facilita enormemente el proceso puesto que toma las coordenadas
del punto seleccionado pinchando con el ratón. Pinchando sobre dos puntos
separados una distancia conocida calcula el factor de escala y realiza
automáticamente la conversión de píxeles a metros. Permite elegir el origen y la
orientación de los ejes coordenados y, si se quiere, también calcula las
coordenadas polares.
•
Usando Matlab 5 ® (o posterior). Los archivos de imágenes pueden leerse con
A=imread(‘nombre_archivo’), mostrarse en una ventana gráfica con
image(A) y tomar la posición de los píxeles deseados con [x,y]=ginput.
La obtención de las coordenadas reales es sencilla si se poseen unos
conocimientos elementales de la aplicación.
•
Usando Microsoft Paint ®. Esta aplicación de dibujo, como muchas otras,
informa al usuario de la posición en la que se encuentra el cursor. Tomando nota
de estos valores y realizando las operaciones adecuadas pueda obtenerse de igual
manera las coordenadas reales de los puntos de interés.
Nota. Las herramientas citadas coinciden en lo esencial aunque puedan
diferenciarse en pequeños detalles tales como que los píxeles se numeren
empezando en 0 ó en 1 y cosas así.
Ejemplo. Medida de la posición
Partiendo de la imagen de la figura 1 (sexto fotograma del archivo
fisica_1\pelota\incl_1.avi) el análisis con VideoPoint nos daría una
posición del centro de la bola de xP=270.4 mm, yP=273.3 mm.
3
Alberto Ramil Rego, Universidad de La Coruña, 2002
Figura 2. Determinación de la posición con VideoPoint.
Los cálculos efectuados por VideoPoint2 pueden reproducirse si más que utilizar
las ecuaciones anteriores. En la tabla 2 se muestran las coordenadas en píxeles de
los puntos necesarios y en la tabla 3 los resultados obtenidos.
x (píxel) y (píxel)
334
105
766
272
204
87
202
528
447
364
origen (punto O)
orientación eje X (punto Q)
escala 1 (punto A)
escala 1 (punto B)
pelota (punto P)
Tabla 2. Coordenadas de los puntos utilizados
inclinación XY respecto xy
 yQ − yO 

ϕ = arctan
 xQ − xO 


0.3689 rad
(21.14º)
longitud de referencia
L
600 mm
Escala
coordenadas punto P
E=
L
(x B − x A )
2
+ (y B − y A )
2
XP=E (xP-xO) cosϕ + E (yP-yO) sinϕ
1.3605 mm/píxel
(0.7350 píxel/mm)
270.454874 mm
YP=-E (xP-xO) sinϕ + E (yP-yO) cosϕ 273.239647 mm
Tabla 3. Cálculos efectuados con los datos de VideoPoint.
2
Nótese que en este caso VideoPoint transforma la imagen original (384x288) duplicando el número de
píxeles. Además, los píxeles del eje vertical se numeran de abajo hacia arriba.
4
Instrucciones generales para el análisis de archivos multimedia
Repitiendo el proceso con Matlab (los píxeles se numeran de izquierda a derecha
y de arriba abajo empezando en 1) se obtienen los datos de la tabla 4 y los resultados de
la tabla 5 que son muy similares a los de la tabla 3.
x (píxel) y (píxel)
168
237
381
153
102
246
102
25
224
107
origen (punto O)
orientación eje X (punto Q)
escala 1 (punto A)
escala 1 (punto B)
pelota (punto P)
Tabla 4. Coordenadas obtenidas con Matlab de los puntos utilizados para el análisis.
 yQ − yO
ϕ = arctan −
 xQ − xO

inclinación XY respecto xy
longitud de referencia
coordenadas punto P
0.3683 rad
(21.52º)
L
E=
Escala




600 mm
L
(x B − x A )
2
+ (y B − y A )
2
XP=E (xP-xO) cosϕ - E (yP-yO) sinϕ
YP=-E (xP-xO) sinϕ - E (yP-yO) cosϕ
2.715 mm/píxel
(0.3683 píxel/mm)
270.9180539 mm
272.5543762 mm
Tabla 5. Cálculos efectuados con los datos de Matlab.
Incertidumbre
La incertidumbre en la posición proviene de diferentes causas y produce efectos
sistemáticos y de tipo aleatorio. Entre las causas de los primeros se encuentran
inhomogeneidades en el CCD, defectos en el objetivo de la cámara, la falta de
paralelismo entre el plano del suceso y de la focal de la lente, errores de paralaje entre
escala y objeto, etc. Las fuentes más destacables de los segundos estarían en el proceso
de conversión del CCD, en el ruido de la señal eléctrica escrita en la cinta, en la
digitalización posterior de dichas señales y en el propio proceso de análisis de las
imágenes. Todo eso hace realmente complicada una caracterización profunda de las
incertidumbres que requerirían de una calibración en varias etapas. En general,
consideraremos que las incertidumbres sistemáticas son inferiores a las de tipo aleatorio
y estimaremos estás en base a razonamientos estadísticos. (Véase por ejemplo 21).
Así, la incertidumbre de la posición de un píxel aislado será del orden del factor
de escala. Cuando para determinar la posición de un objeto se utilicen varios píxeles
esta incertidumbre puede reducirse bastante. Si se utilizan N puntos para obtener la
posición del objeto a través de un promedio, la desviación típica de la media será 1/√N
la desviación típica de cada punto.
Así, por ejemplo, en el caso de la figura 2 y de acuerdo con los datos de la
tabla 5 la incertidumbre en las coordenadas podría tomarse como el tamaño del píxel, es
decir, ∆X= ∆Y=3 mm. Si ampliamos la pelota y convertimos la imagen en blanco y
negro con un umbral del 20%, véase figura 3, se obtiene una región formada por
NP=112 píxeles con su centro geométrico situados en (224.74 píxel, 107.64 píxel) con
una incertidumbre estimada de 1/√NP píxel =0.09 píxel =0.2 mm.
5
Alberto Ramil Rego, Universidad de La Coruña, 2002
Figura 3. Ampliación de la pelota y su conversión en blanco y negro eligiendo como
umbral el 20% del brillo máximo.
Análisis del Brillo y Color
Además de la información espacial contenida en una imagen también puede
utilizarse al información almacenada sobre el brillo (intensidad) y el color (longitud de
onda). Las aplicaciones más interesantes del análisis de esta información se encuentran
en el mundo de la óptica y de los espectros atómicos.
Para las imágenes en blanco y negro o en escala de grises sólo puede hablarse de
brillo. El número de bites empleado marca los valores posibles entre el blanco y el
negro. Los casos más frecuentes son 1 bit para las imágenes en blanco y negro y 8 bites
para las de 256 niveles de gris.
Figura 4. Escala de grises de 8 bites.
Dependiendo del formato de la imagen la información del brillo y del color se
almacenará usando más o menos bites para cada píxel. En el sistema llamado “color
verdadero” se usan al menos 24 bites lo que da un número de colores de 16 millones
que es superior a los que es capaz de distinguir el ojo humano (unos pocos millones). La
forma en que reproducen esos colores sobre la pantalla de un ordenador es mezclando
en diferentes proporciones la luz de tres colores; rojo, verde y azul. Este sistema se
conoce por RGB (“Red-Green-Blue”) y es aditivo por lo que el negro es la ausencia de
luz mientras que el blanco se obtiene con la cantidad máxima de los tres colores. Para
las impresoras existe un sistema estándar diferente llamado CYMK (“Cyan-MagentaYellow-Black”) puesto que en este caso el color se obtiene filtrando la luz reflejada por
el papel blanco y por lo tanto el sistema es substractivo.
6
Instrucciones generales para el análisis de archivos multimedia
Figura 5. Modelos de color aditivo RGB y sustractivo CYM.
Existen muchos otros modelos de color dentro de los que cabe destacar el HSV
(“Hue-Saturation-Value”) con su variante HSL (“Hue-Saturation-Lightness”) y el XYZ
de la Comisión Internacional de Iluminación. Estos modelos tienen en común su
aproximación a la percepción que tiene el ojo de la sensación de color. El primero desde
una perspectiva más artística coloca los tonos puros (longitud de onda única) en un
círculo y asigna a cada color un ángulo (0º para el rojo, 120º para el verde y 240º para el
azul). Por mezcla de los colores primarios se obtienen los secundarios en ángulos
intermedios y así sucesivamente. La medida de ese ángulo daría el tono (Hue), la
distancia al centro de la circunferencia la saturación (100% para los colores puros, 0%
para el gris) y la tercera componente sería el valor (Value) o la luminosidad (Lightness)
que está relacionada con el brillo: V=0 corresponde al negro y V=100% al máximo de
brillo, mientras que L=0 corresponde al negro y L=100% al blanco. El sistema XYZ
relaciona los colores con los valores de los tres tipos de estímulos a los que responde la
retina.
Verde
Amarillo
Cian
Rojo
Magenta
Azul
Figura 6. Posición angular de los colores primarios y secundarios del modelo HSV.
La obtención del brillo y del color de uno o más píxeles puede realizarse con
diferentes aplicaciones.
•
Usando Matlab 5 ® (o posterior). Para imágenes de “color verdadero” la función
imread produce como resultado una matriz MxNx3 con la intensidad (de 0 a
255) de los 3 colores del sistema RGB para cada uno de los NxM píxeles de la
imagen. A partir de esta matriz se pueden realizar operaciones sencillas (sumas,
7
Alberto Ramil Rego, Universidad de La Coruña, 2002
promedios, perfiles...) o manipulaciones mucho más sofisticadas para lo cual
existen funciones específicas del tratamiento de imágenes.
•
Usando Corel Photo-Paint ®. Si dentro del menú “ver” se activa la persiana de
información (Ctrl-F1) se mostrará en una ventana la posición (en píxeles o en
otra unidad seleccionada) y el color en los dos sistema elegidos (RGB, CYM,
CYMK, HSB, ...). También puede obtenerse el color de un píxel o el valor
medio de un conjunto de píxeles con la herramienta cuentagotas activando la
persiana de color (Ctrl-F2). Existe la posibilidad de obtener el histograma de
cada uno de los componentes del sistema RGB o del conjunto para toda la
imagen o para la región seleccionada.
•
Usando Microsoft Paint ®. Con la herramienta cuentagotas (seleccionar color)
puede tomarse el color de un píxel pero para ver su valor numérico habrá que
seleccionar “modificar colores” en el menú “colores” y una vez abierta la
ventana pinchar en “definir colores personalizados”. Para tomar otro color habrá
que cerrar previamente la ventana y luego volver a abrirla por lo que el método
solo puede aplicarse con comodidad a un número pequeño de puntos.
•
Otros programas. Puede obtenerse el color de una línea de puntos seleccionada
en una imagen con PixelProfile (se descarga de forma gratuita en
http://homepages.borland.com/efg2lab/ImageProcessing/index.html). El resultado puede presentarse en forma gráfica o en una tabla de texto que puede pegarse
en otra aplicación de Windows como, por ejemplo, una hoja de cálculo.
Ejemplo. Medida del brillo y color
Para el archivo fisica_2\difrac\d030.jpg y para el píxel (200,150) que
se encuentra en la zona rosa del escudo se tienen los valores siguientes.
Figura 7. Imagen d030.jpg y una ampliación de los alrededores del píxel (200, 150).
8
Instrucciones generales para el análisis de archivos multimedia
Matlab
PhotoPaint
MSPaint
PixelProfile
R 163 H 0.9811
G 57
S 0.6503
B 69
V 0.6392
R 163 C 92 C 25 H 353º H 354º
G 57 M 198 M 91 S 64% L 43%
B 69 Y 186 Y 68 B 63% S 47%
K 1
235
163
H
R
S 116 G 57
L 104 B 69
R 163 H 354
G 57
S 165
B 69
V 163
I 96
Tabla 6. Valores obtenidos para el color del (200, 150) de la figura d030.jpg con
diferentes aplicaciones.
Se aprecia claramente la coincidencia en todas las aplicaciones del sistema RGB
mientras que para los otros modelos de color existen pequeñas diferencias. También se
puede apreciar como los valores de RGB y CMY son complementarios (suman 255) y
como la intensidad (I) es el valor medio de los tres colores RGB.
En la figura siguiente se muestra el perfil de intensidades correspondiente a la
línea que va desde el píxel (200, 100) al píxel (200, 150).
Figura 8. Perfil de intensidad
Incertidumbre
De nuevo la incertidumbre en la determinación de un color tendrá una
componente sistemática (balance de blancos, conversión de la señal del CCD en color,
etc) y otra de tipo aleatorio. Esta última puede mejorarse si se toman varios píxeles con
lo que se aumenta la estadística. Como ejemplo se presenta en la tabla siguiente el valor
medio y la desviación típica de la media de los tres colores del sistema RGB, para
regiones cuadradas centradas en el píxel (200, 150) y sucesivamente más grandes.
9
Alberto Ramil Rego, Universidad de La Coruña, 2002
N
1
9
25
49
81
R
163
165,1
164,8
166,2
166,4
valor medio
G
57
59,3
59,5
60,6
61,1
B
69
68,6
67,8
69,3
69,7
desviación típica de las
medias
R
G
B
1,2
0,9
0,8
0,7
1,5
1,0
0,8
0,6
1,5
1,2
0,9
0,7
Tabla 7. Variación de la media y la desviación típica de la media para cada uno de los
colores RGB tomando N píxeles con centro en (200, 150).
Ficheros de vídeo (Películas)
Los vídeos no son más que una colección de imágenes separadas temporalmente
por lo que permiten medir tiempos y obtener dependencias temporales combinando la
información geométrica y fotométrica de diferentes imágenes. Un caso particularmente
interesante lo constituyen las medidas de magnitudes cinemáticas (velocidades,
aceleraciones, rotaciones, ...).
¿Qué es un vídeo digital?
Un archivo de vídeo está formado por un gran número de valores numéricos que
corresponden a una serie de imágenes digitales tomadas en diferentes instantes de
tiempo. En la mayoría de los casos el tiempo transcurrido entre dos imágenes sucesivas
es el mismo y suele expresarse como una frecuencia en hercios o, más comúnmente, por
el número de fps (“frames per second”). Como la frecuencia de refresco del ojo humano
es de unos 10 Hz, las imágenes proyectadas a velocidades superiores se observan sin
saltos y dan la sensación de movimiento continuo y suave. Así el cine se reproduce a
24 fps y la televisión a 25 fps (sistema PAL, “Phase Alternation Line”) o a 30 fps
(sistema NTSC).
Existe sin embargo una diferencia muy grande entre el cine y la televisión. En el
caso de la televisión la imagen se forma por el barrido de la pantalla de una haz
luminoso formando líneas horizontales (625 en el caso del sistema PAL). Estas líneas
no se barren de forma consecutiva sino que se trazan primero las impares y luego las
pares. El tiempo empleado en trazar cada campo es de 1/50 s mientras que el tiempo
para formar un cuadro (campo impar + campo par) es de 1/25 s. Este hecho se traduce
en que los objetos que se mueven a gran velocidad aparecen borrosos e incluso situados
en dos posiciones distintas dentro de un mismo fotograma.
Un ejemplo que ilustra la diferencia entre los dos campos de una imagen PAL es
el fotograma 2 del archivo \fisica_2\oscila\hilo_pul.avi que se muestra
en las figuras siguientes.
10
Instrucciones generales para el análisis de archivos multimedia
Figura 9. Fotograma del movimiento de un hilo elástico en el que se ve una posición
diferente en cada uno de los campos.
Figura 10. Detalle del fotograma anterior, separando en la zona de interés las líneas
impares (arriba) de las impares (abajo).
Análisis temporal
La base del análisis temporal de archivos de vídeo se basa en la frecuencia (fps)
a que corresponden las diferentes imágenes que lo componen. Como ya se ha indicado,
en el sistema PAL esta frecuencia es de 25 Hz pero en el proceso de edición y creación
del archivo AVI se puede disminuir esta frecuencia reduciendo el número de fotogramas
que se escriben. El cambio de frecuencia permite adaptar la velocidad del video a la del
proceso físico y simplificar el análisis del mismo al eliminar el exceso de fotogramas
11
Alberto Ramil Rego, Universidad de La Coruña, 2002
con la notable disminución del tamaño de los archivos. Desgraciadamente sólo podemos
disminuir la frecuencia y no aumentarla, algo que nos hubiera gustado en ciertas
ocasiones.
Por simplicidad, solamente se han utilizado los valores de fps siguientes: 25 (es
el normal del PAL), 12.5 (se salvan 1 de cada 2 fotogramas), 5 (1 de cada 5
fotogramas), 2.5 (1 de cada 10) y 1 (1 de cada 25).
El programa VideoPoint ® permite elegir la frecuencia de las imágenes (menú
Movie, “Select Frame Rate”) de forma que la secuencia de tiempos se adapte a la del
archivo de vídeo. Utilizando otras herramientas deberemos generar nosotros la
secuencia de tiempos a partir del valor de fps, hecho que no presenta ninguna dificultad
en Matlab ® (puede utilizarse linspace) o en una hoja de cálculo como Excel ®
(crear serie).
Análisis cinemático
El cálculo de todas las magnitudes cinemáticas, e incluso dinámicas, se realiza a
partir de la determinación de velocidades y aceleraciones de puntos. Al igual que
ocurría con las posiciones, estas velocidades y aceleraciones se combinan con las reglas
habituales para obtener el resto de las magnitudes.
Nuevamente la forma más sencilla de determinarlas es utilizando VideoPoint,
puesto que se trata de una herramienta diseñada para estas labores. De cualquier
manera, los algoritmos necesarios para calcular las derivadas son sencillos y pueden
programarse hasta en una hoja de cálculo.
La velocidad se determina por interpolación parabólica utilizando la posición y
el tiempo de los tres puntos más próximos en el tiempo. Llamando {t0, x0} al tiempo y la
posición en que se quiere determinar la velocidad y {ta, xa}, {tp, xp} al tiempo y posición
de los instantes anterior y posterior más próximos, la parábola que pasa por los tres
puntos tiene por ecuación:
x(t ) =
(
)
(
)
x a t p − t (t 0 − t ) x 0 t p − t (t a − t ) x p (t a − t )(t 0 − t )
+
+
t p − t a (t 0 − t a ) t p − t 0 (t a − t 0 ) t a − t p t 0 − t p
(
)
(
)
(
)(
)
(3)
Calculando la derivada para el instante t0 y teniendo en cuenta que la diferencia
de tiempos es siempre un múltiplo entero de la inversa de fps, tp=t0+m ∆t, ta=t0-n ∆t con
∆t=1/fps, se tiene:
v(t 0 ) =
(
)
n 2 x p − x 0 + m 2 (x 0 − x a )
m n (m + n ) ∆t
(4)
x p − xa
2 n ∆t
(5)
que para m=n se convierte en:
v(t 0 ) =
La derivada segunda proporciona la aceleración:
a (t 0 ) = 2
(
)
n x p − x0 − m(x 0 − x a )
m n (m + n ) ∆t 2
y su versión simplificada para m=n se convierte en:
12
(6)
Instrucciones generales para el análisis de archivos multimedia
a (t 0 ) =
x p + xa − 2 x0
(n ∆t )2
(7)
NOTA. Los valores de la aceleración que da VideoPoint no corresponden exactamente
con la interpolación parabólica ni con la de orden 4. Parece como si los datos estuviesen
suavizados para reducir las variaciones de la aceleración de un instante a otro.
Ejemplo. Velocidad y aceleración
El archivo fisica_1\mov_lin\mov_lin1.avi corresponde al
movimiento de un planeador sobre una carril neumático que forma un determinado
ángulo con la horizontal. Las posiciones y tiempos se indican en la tabla siguiente. En
este caso como fps=5, ∆t=0.2 s.
t
[s]
0,0
0,2
0,4
0,6
0,8
1,0
1,2
1,4
1,6
Point S1 Point S1 Point S1 Point S1
x
y
v_x
x-accel,
[píxeles] [píxeles] [píxeles/s] [píxeles/s^2]
160
148
15,0
166
146
60,0
184
148
105,0
197,3
208
144
140,0
179,6
240
144
172,5
173,4
277
143
205,0
175,8
322
142
245,0
179,3
375
141
280,0
434
139
315,0
Tabla 8. Velocidades y aceleraciones calculadas con VideoPoint.
Las derivadas (véase Ref. 1 en la página 914 y Ref. 5 en la página 115) de x
respecto de t utilizando polinomios de orden 2 y orden 4 se encuentran en la tabla
siguiente. Se observa que las velocidades correspondientes al polinomio de orden 2
coinciden con las de VideoPoint salvo en los valores primero y último. Las
aceleraciones no coinciden con ninguno de los polinomios y presentan unos valores con
menos oscilaciones.
orden 2
orden 4
t
v_x
x-accel,
v_x
x-accel,
[s] [píxeles/s] [píxeles/s^2] [píxeles/s] [píxeles/s^2]
0,0
0,0
300,0
-20,0
633,3
0,2
60,0
300,0
68,3
283,3
0,4 105,0
150,0
106,7
133,3
0,6 140,0
200,0
140,4
210,4
0,8 172,5
125,0
172,5
112,5
1,0 205,0
200,0
203,8
206,3
1,2 245,0
200,0
245,8
204,2
1,4 280,0
150,0
282,5
154,2
1,6 310,0
150,0
304,2
154,2
Tabla 9. Velocidades y aceleraciones calculadas con polinomios de orden 2 y 4.
13
Alberto Ramil Rego, Universidad de La Coruña, 2002
Ficheros de audio
Permiten analizar en función del tiempo el nivel de sonido así como su
composición espectral (frecuencias).
¿Qué es un archivo de sonido?
En un archivo digital de sonido se almacenan, usando números enteros, la
amplitud (nivel de presión sonora) de uno o más canales de audio en función del
tiempo. Las muestras de amplitud se toman a una frecuencia fija FS y se emplean
también un número fijo de bites NB para cada uno de los canales NC. Cuanto mayores
sean estos números mayor será la calidad del sonido pero también crecerá de forma
lineal el tamaño de los archivos. En la tabla siguiente se muestran los valores más
típicos de estos parámetros y el número de octetos necesarias para registrar (sin
compresión) 1 segundo de sonido.
calidad
teléfono
radio
CD
FS [Hz]
11025
22050
44100
NB
8
8
16
NC
1
1 (mono)
2 (estéreo)
tamaño de 1 segundo
11 mil octetos
22 mil octetos
172 mil octetos
Tabla 10. Parámetros típicos de la digitalización de sonido.
Los valores de estos parámetros se eligen de acuerdo con la aplicación particular
y con las capacidades del oído humano, que son enormes. Así, el oído humano es
sensible a frecuencias entre unos 20 Hz y 20 kHz (teniendo la máxima sensibilidad entre
2 y 5 kHz) y con diferencias de intensidad entre el umbral de audición y el umbral de
dolor de más de 12 órdenes de magnitud (véase figura).
Figura 11. Umbral de audición y umbral de dolor del oído humano a diferentes
frecuencias.
NOTA. La relación entre la amplitud de la onda de presión P y la intensidad (flujo de
energía) I de una onda sonora es (véase Ref. 2): I = P 2 (2 ρ 0 c ) donde ρ0 es la densidad
y c la velocidad de propagación.
Debe mencionarse que la respuesta del oído tanto a la intensidad como a la
frecuencia no es lineal sino más bien logarítmica. Así, los oídos humanos más sensibles
14
Instrucciones generales para el análisis de archivos multimedia
son capaces de detectar cambios de intensidad de 0.3 dB3 y cambios en la frecuencia de
vibración (tono) que correspondan al 0,03% de la frecuencia original, en el rango
comprendido entre 500 y 8.000 hertzios. Esta es la razón por la que en acústica se
utilizan tan frecuentemente escalas logarítmicas.
Si nos fijamos en los parámetros de grabación de un CD vemos que el ancho de
banda FS/2=22050 Hz es suficiente para la mayoría de los instrumentos musicales que
producen muy pocos sonidos por encima de 10 kHz, y que los 16 bites de amplitud
equivalentes a 96 dB de intensidad son suficientes para cubrir las diferencias de
intensidad de una orquesta entre el “pianissimo” ≈20 dB y el “fortissimo” ≈100 dB.
Figura 12. Rangos de la intensidad (en decibelios relativos a 10-12 W/m2) y frecuencia
de la voz y la música.
Existen varios formatos para almacenar audio en archivos aunque nosotros
hemos empleado solamente el tipo WAV por ser el más sencillo (no hay compresión de
datos) y puede reproducirse en todos los sistemas Windows ®.
Análisis temporal
El primer paso consiste en obtener los valores de la amplitud o intensidad del
sonido en función del tiempo a partir de los valores numéricos escritos en el archivo.
•
Usando Matlab 5 (o posterior). Los archivos WAV se leen con la instrucción
[Y,FS,NB]=wavread(file) cuyo resultados son la matriz de amplitudes
Y, la frecuencia de muestreo FS y el número de bites NB. El número de muestras
NS y el número de canales NC se obtiene fácilmente de las dimensiones de la
matriz Y, [NS,NC]=size(Y).
•
Utilizando un lenguaje de programación. Los archivos WAV pueden leerse sin
mucha dificultad escribiendo un pequeño programa en cualquier lenguaje. Estos
3
El decibelio, dB, es la décima parte del belio, B, que es nombre que se da al logaritmo decimal del
cociente entre dos magnitudes eléctricas o acústicas como el nivel de potencia, el nivel de presión, la
atenuación, etc. Así, 1 dB = 10*log10(I/I0) donde I0 es la magnitud que se toma como referencia. En el
mundo de la acústica se suele utilizar como medida de la intensidad sonora tomando como referencia el
umbral de audición a esa frecuencia (por ejemplo, I0=10-12 W/m2 a 1 kHz) pero debe destacarse que esta
es una práctica desaconsejada por los organismos internacionales de metrología como queda expresado en
la norma ISO 31.
15
Alberto Ramil Rego, Universidad de La Coruña, 2002
archivos son de tipo binario y tienen una cabecera con las características del
archivo (tamaño, número de bites, número de canales, frecuencia de muestreo) y
a continuación la amplitud de cada canal en cada uno de los instantes de tiempo.
Una descripción detallada del formato WAV puede encontrarse en:
http://ccrma-www.stanford.edu/CCRMA/Courses/422/projects/WaveFormat/
En cualquier caso obtendríamos una tabla con los valores (digitalizados en NB
bites y a una frecuencia de muestreo FS) de la amplitud instantánea de la onda de
presión ∆p(t)= p(t)-p0, siendo p0 la presión del aire sin perturbar (posición de
equilibrio). El valor de esta amplitud instantánea oscila con el tiempo por lo que, al
igual que ocurre con la corriente alterna, se define la presión sonora efectiva p como la
desviación cuadrática media (para una onda armónica ∆p(t)= P*cos(ωt+δ) el valor
efectivo es p=P/√2 del valor la a amplitud). La intensidad del sonido I viene dada por:
I=
p2
ρ0 c
(8)
donde ρ0 es la densidad y c la velocidad de propagación. A partir de estos valores se
definen las diferentes escalas (nivel de presión sonora, nivel de intensidad, nivel sonoro,
etc) en las que se toma como unidad el decibelio con distintos valores como referencia4.
Análisis Espectral o de Fourier
El siguiente paso sería obtener la frecuencia del sonido, o mejor dicho, pasar del
dominio temporal a(t) al dominio de frecuencias A(f). Para funciones esta
transformación se realiza por medio de la transformada de Fourier:
A( f ) =
+∞
∫−∞ a(t )e
2πift
dt
(9)
y su inversa
a (t ) =
1 +∞
A( f )e − 2πift dt
−
∞
2π
∫
(10)
Como solamente conocemos la amplitud a intervalos de tiempo fijo, la integral
se transforma en una suma (véase Ref. 3 en la página 238) y se convierte en la
transformada discreta de Fourier, DFT. Si denotamos las amplitudes por {ak,
k=0,1,...,N-1}, la DFT tiene la expresión siguiente:
N −1
∑ a k e 2πijk / N , 0 ≤ j ≤ N − 1
(11)
1 N −1
A j e − 2πijk / N , 0 ≤ k ≤ N − 1
N j =0
(12)
Aj =
k =0
y su inversa
ak =
∑
4
Véase por ejemplo Recuero López, M., “Ingeniería Acústica”, Paraninfo (2000) y Beranek, L. L.,
“Acoustics”, Acoustic Society of America (1996).
16
Instrucciones generales para el análisis de archivos multimedia
Como los valores de Aj son complejos y además son periódicos (AN-m = Am*)
suele representarse la mitad inferior en valor absoluto, que es lo que se conoce por
densidad spectral, PSD. Cuando se representan los espectros de sucesivos subconjuntos
de muestras (ventanas) frente al tiempo se obtiene una superficie tridimensional (nivel
de potencia, frecuencia y tiempo) que se llama espectrograma. Este tipo de diagrama es
muy útil pues refleja en buena medida el funcionamiento del oído humano que responde
a amplitud y frecuencia en pequeños intervalos de tiempo. Estos espectrogramas se
utilizan a menudo en los sistemas de reconocimiento de voz, identificación de animales,
evaluación de instrumentos musicales o sistemas de sonido y, en general, para el
análisis de todo tipo de señales incluyendo el tratamiento de imágenes.
•
Usando Matlab 5 ® (o posterior). La DFT se realiza con YK=fft(Y). En la
“Signal Processsing Toolbox” se encuentran las funciones para obtener la
densidad espectral [PS,Freq]=psd(Y,[],FS) y el espectrograma
[B,F,T]=specgram(Y,[],FS).
•
Usando Microsoft Excel ® (97 o posterior). La “Herramienta de Análisis de
Fourier” realiza la DFT de un rango de datos que contenga un número de valores
que coincida con una potencia de dos (hasta 4096). La salida contendrá los
números complejos Aj a partir de los cuales puede obtenerse la amplitud y la fase
con las funciones im.abs e im.argumento. Nota, puede que alguna de estas
herramientas no esté disponible por lo que deberá efectuar una reinstalación de
la aplicación.
•
Otros programas. Pueden encontrase en la web muchos programas gratis para la
realización de la FFT (Fast Fourier Transform) y para obtener los
espectrogramas como, por ejemplo, Spectrogram 5.0.8 que se puede descargar
en:
http://www.hitsquad.com/smm/programs/SPECTROGRAM/
Ejemplo. Análisis de un archivo de audio.
Se
ha
tomado
para
el
ejemplo
el
archivo
del
sistema
c:\Windows\Media\notify.wav. En la tabla 11 se presentan las características
del archivo.
Nombre del archivo:
número de muestras, N:
número de canales, NC:
frecuencia de muestreo, FS:
número de bites, NB:
tamaño:
c:\windows\media\notify.wav
29823
2
22050 Hz
16
119384 octetos
Tabla 11. Características del archivo de sonido.
.
La figura 13 muestra la amplitud de cada canal frente al tiempo. Para el canal 1
se ha realizado la DFT (ver figura 14) y se aprecia que la parte real / imaginaria es
simétrica / antisimétrica respecto del punto medio N/2.
17
Alberto Ramil Rego, Universidad de La Coruña, 2002
Figura 13. Amplitud en función del tiempo (siendo t=k*∆t con ∆t=1/FS) para los dos
canales (estéreo) del sonido notify.wav.
Figura 14. Parte real e imaginaria de la amplitud en función de la frecuencia (siendo
f=k*∆f con ∆f=FS/N) para el canal 1.
Tomando el módulo de la DFT y calculando las frecuencias como f(k)=k*FS/N
para la primera mitad (k= 0, ..., N/2) se tiene la figura 15 en la que se aprecia el valor
máximo de la frecuencia FS/2=11 kHz. Las dos figuras siguientes muestran el
espectrograma obtenido con Matlab ® y con Spectrogram 5.0.8 tomando grupos de 256
muestras.
18
Instrucciones generales para el análisis de archivos multimedia
Figura 15. Densidad espectral de potencia PSD en función de la frecuencia.
Figura 16. Espectrograma realizado tomando grupos de 256 muestras que dan 129
valores de la frecuencia para 231 intervalos de tiempo superpuestos en un 50%.
19
Alberto Ramil Rego, Universidad de La Coruña, 2002
Figura 17. Espectrograma realizado con Spectrogram 5.0.8 en grupos de 256 muestras.
20
Instrucciones generales para el análisis de archivos multimedia
Referencias
Libros
1. Abramowitz, M y Stegun, A., “Handbook of Mathematical Functions”, Dover
(1972).
2. Alonso, M. y Finn, E. J., “Física. Volumen II, Campos y Ondas”, AddisonWesley Iberoamericana (1987).
3. Lindfield, G y Penny, J.,”Numerical Methods Using Matlab”, Ellis Horwood
(1995).
4. López Díaz, Ana Jesús, “Métodos Experimentales para el Laboratorio de
Física”, Tórculo (2002).
5. Wilson, H. B. y Turcotte, L. H., “Advanced Mathematics and Mechanics
Applications using Matlab”, CRC press (1994).
Enlaces de interés
Programas para análisis de vídeo
•
VideoPoint:
información,
http://www.lsw.com/videopoint
•
World in Motion, http://members.aol.com/raacc/wima.htm
•
VideoGraph, http://webassign.net/pasnew/videograph/videograph.html
actualizaciones,
FAQs,
etc.
AVI
•
avi2bmp, convierte AVI a BMP (freeware). http://avi2bmp.free.fr
•
AviEdit, editor de películas AVI (shareware). http://www.am-soft.ru/avi
•
QuickView Pro 2.48, para ver
http://www.mulimediaware.comm/qv
•
Descripción de los archivos
http://www.jmcowan.com/avi.html
películas
AVI
y
AVI
los
desde
MS-DOS,
diferentes
codecs.
PAL
•
Definición
del
sistema
PAL
de
televisión
http://www.euskalnet.net/mikelats/television/pal.html
(castellano).
WAV
•
Formato de los archivos WAV.
http://ccrma-www.stanford.edu/CCRMA/Courses/422/projects/WaveFormat/
http://www.technology.niagarac.on.ca/courses/comp630/WavFileFormat.html
•
Código en C++ y Pascal para leer / escribir archivos WAV
http://www.intersrv.com/~dcross/wavio.html.
21
Descargar