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