Sistemas operativos modernos
posición actual en el cuadro anterior y en todas las posiciones que estén a una distancia de ±Ax en la dirección y ±A>» en la dirección y. Para cada posición, podría calcularse el número de valores coincidentes en la matriz de luminancia. La posición que obtuviera la puntuación más alta sería declarada ganadora, a condición de que la puntuación rebase cierto umbral predefi nido. Si ninguna posición obtiene una puntuación mayor que el umbral, el macrobloque se de clararía faltante. Claro que también pueden usarse algoritmos mucho más elaborados. Si se encuentra un macrobloque, se codifica calculando la diferencia respecto a su valor en el cuadro anterior (tanto de luminancia como de ambas crominancias). Luego, estas matrices de diferencias se codifican con JPEG. El valor del macrobloque en el flujo de salida será en tonces el vector de movimiento (qué tanto se desplazó el macrobloque respecto a su posición anterior, en cada dirección), seguido de las diferencias, codificadas por JPEG, respecto al ma crobloque del cuadro anterior. Si el macrobloque no se localiza en el cuadro anterior, se codi fica con JPEG el valor actual, igual que en los cuadros I. Los cuadros B son similares a los P, excepto porque permiten que el macrobloque de refe rencia esté en un cuadro anterior o bien en uno subsiguiente, sea I o P. Esta libertad adicional hace posible compensar mejor el movimiento, y también resulta útil cuando los objetos pasan frente a otros objetos, o por detrás. Por ejemplo, en un juego de béisbol, cuando el tercera base lanza la pelota a la primera base, podría haber un cuadro en el que la pelota tape la cabeza del segunda base, que se mueve en segundo plano. En el siguiente cuadro, la cabeza podría estar parcialmente visible a la izquierda de la pelota, y podría derivarse la siguiente aproximación de la imagen de la cabeza a partir del cuadro siguiente, en el que la pelota ya rebasó la cabeza. Los cuadros B permiten basar un cuadro en un cuadro futuro. Para codificar un cuadro B, el codificador necesita retener tres cuadros decodificados en la memoria al mismo fiempo: el anterior, el actual y el futuro. Para simplificar la decodificación, los cuadros deben estar presentes en el flujo MPEG en orden de dependencia, no en orden de exhibición. Por ello, incluso si la temporización es perfecta, cuando se ve un vídeo transmitido por una red es preciso almacenar la señal recibida en un búfer en la máquina del usuario, para po der reacomodar los cuadros en el orden de exhibición correcto. A causa de esta diferencia entre el orden de dependencia y el orden de exhibición, la reproducción de una película en reversa re quiere considerable uso de búferes y algoritmos complejos. 7.4 CALENDARIZACION DE PROCESOS MULTIMEDIA Los sistemas operafivos que manejan mulfimedia difieren de los tradicionales en tres aspectos principales: calendarización de procesos, sistema de archivos y calendarización de disco. Co menzaremos aquí con la calendarización de procesos y veremos los otros temas en secciones subsiguientes. 7.4.1 Calendarización de procesos homogéneos El fipo más sencillo de servidor de vídeo es uno capaz de manejar la exhibición de un número fijo de películas, todas con la misma tasa de cuadros, definición de vídeo, tasa de datos y demás
RkJQdWJsaXNoZXIy MjI4NDcx