28.11.2012 Views

Procesamiento digital de video en tiempo real y - Maestría en ...

Procesamiento digital de video en tiempo real y - Maestría en ...

Procesamiento digital de video en tiempo real y - Maestría en ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Procesami<strong>en</strong>to</strong> <strong>digital</strong> <strong>de</strong> vi<strong>de</strong>o <strong>en</strong> <strong>tiempo</strong> <strong>real</strong> y “vi<strong>de</strong>o wall” con la PC 39<br />

3.7.6 Relojes<br />

En cualquier operación relacionada con multimedia, es vital sincronizar las<br />

muestras, así los frames <strong>de</strong> vi<strong>de</strong>o serán <strong>de</strong>splegadas a la razón apropiada, <strong>de</strong> modo que el<br />

flujo <strong>de</strong> audio no se a<strong>de</strong>lantará al vi<strong>de</strong>o ni lo opuesto. Un gráfico <strong>de</strong> filtros DirectShow<br />

cont<strong>en</strong>drá exactam<strong>en</strong>te un reloj que todos los filtros utilizarán como su base <strong>de</strong> <strong>tiempo</strong>. El<br />

Manejador <strong>de</strong>l gráfico <strong>de</strong> filtros selecciona un reloj (o provee uno si es necesario) e informa<br />

a todos los filtros para que utilic<strong>en</strong> este reloj como fu<strong>en</strong>te <strong>de</strong> sincronización.<br />

3.8 Flujo <strong>de</strong> datos <strong>en</strong> el Gráfico <strong>de</strong> filtros<br />

3.8.1 Samples y Buffers<br />

Cuando dos pins se conectan, los datos pue<strong>de</strong>n moverse <strong>de</strong>s<strong>de</strong> el salida pin hacia el<br />

pin <strong>en</strong>trada. El pin salida <strong>en</strong>trega datos, mi<strong>en</strong>tras el pin <strong>en</strong>trada recibe datos. La dirección<br />

<strong>de</strong>l flujo <strong>de</strong> datos, <strong>de</strong>s<strong>de</strong> el pin salida hacia el pin <strong>en</strong>trada se <strong>de</strong>nomina downstream, y la<br />

dirección opuesta es llamada upstream.<br />

El tipo <strong>de</strong> los datos que se <strong>de</strong>splazan <strong>en</strong>tre dos pines <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong> la<br />

implem<strong>en</strong>tación <strong>de</strong> los pines. En la mayoría <strong>de</strong> los casos, los pines trabajan con datos<br />

multimedia que se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> la memoria principal. Sin embargo son posibles otras<br />

configuraciones. Por ejemplo, si dos filtros controlan una parte <strong>de</strong>l hardware <strong>de</strong> vi<strong>de</strong>o, el<br />

hardware quizás se <strong>en</strong>cargue <strong>de</strong> los datos <strong>de</strong> vi<strong>de</strong>o, con los pins intercambiando<br />

información <strong>de</strong> control. El tipo <strong>de</strong> datos, y como se muev<strong>en</strong> estos <strong>en</strong>tre los pines, se<br />

<strong>de</strong>nomina transporte(transport). Esta sección se avoca al caso don<strong>de</strong> los datos multimedia<br />

son cont<strong>en</strong>idos <strong>en</strong> la memoria principal, llamada memoria local <strong>de</strong> transporte (local<br />

memory transport).<br />

En la memoria local <strong>de</strong> transporte, los datos son empacados <strong>en</strong> objetos discretos<br />

llamados muestras multimedia(media samples). Una muestra multimedia es un objeto COM<br />

que manti<strong>en</strong>e un apuntador a un buffer <strong>de</strong> memoria. Una muestra multimedia soporta la<br />

interfaz ImediaSample.<br />

Otro objeto COM es el asignador <strong>de</strong> memoria (memory asignator), responsable <strong>de</strong><br />

ubicar buffers y crear muestras multimedia. En el <strong>tiempo</strong> <strong>de</strong> conexión, el asignador reserva<br />

memoria para los buffers. El asignador también crea un conjunto <strong>de</strong> muestras multimedia, y<br />

da a cada muestra multimedia un apuntador a una dirección <strong>de</strong>ntro <strong>de</strong>l bloque <strong>de</strong> memoria.<br />

Mi<strong>en</strong>tras el buffer no sea liberado, el asignador manti<strong>en</strong>e una lista <strong>de</strong> cuales muestras están<br />

disponibles. Cualquier filtro que necesite una muestra nueva, la solicita al asignador.<br />

Después <strong>de</strong> que la muestra es procesada, la muestra regresa a la lista.<br />

Este mecanismo reduce la cantidad <strong>de</strong> memoria, <strong>de</strong>bido a que los filtros re-utilizan<br />

los mismos buffers. Esto también previ<strong>en</strong>e a los filtros <strong>de</strong> la escritura acci<strong>de</strong>ntal sobre los

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!