Patent ID: 7460126

Claim:
A pipelined, multithreaded system for prioritizing movement of data, comprising: one or more central processing units (CPUs), each CPU executing one or more threads; a global clock for defining a current target image number; a plurality of media processors; and a shared memory; wherein the one or more threads include: a read controller thread that controls one or more reader threads, wherein each reader thread receives a piece of source image data and loads the piece into the shared memory, the piece carrying an associated image number, a plurality of processing controller threads, each receiving a piece with its associated image number from a corresponding reader thread and generating a plurality of processing threads, wherein each processing thread extracts a plurality of sub-pieces from each piece and moves the sub-pieces through the system, each sub-piece retaining the image number associated with the piece from which it was extracted, and a rendering controller thread that controls a plurality of renderer threads, each renderer thread receiving a sub-piece with its associated image number from a corresponding processing thread, wherein each renderer thread downloads the sub-piece to an appropriate media processor for synchronized output of the sub-pieces, wherein synchronization and selection of the appropriate media processor is based on the associated image number and the current target image number defined by the global clock.