Real-Time MPEG Encoding in Shared-Memory Multiprocessors ⁄

Advances in digital imaging and faster networking resources enabled an unprecedent popularization of digital video applications, not only for entertainment, but also for health and education. However, capturing, digitizing, storing and displaying video in real time remains a challenge for nowadays technology. Furthermore, the large number of frames that compose a digital video, each of them occupying hundreds of kilobytes, stress significantly both storage and networking resources available currently. A common strategy to reduce the amount of data that has to be handled while providing digital video services is compression, as specified by the MPEG coding standards, for instance. The compression cost then becomes the greatest, demanding the use of either specialized hardware or parallel computing to meet the real time demands. In this work, we propose a novel shared-memory parallel algorithm for MPEG-1 video encoding based on the modularization of dierent coarse grained tasks and the exploitation of the maximum parallelism among them. Dierent types of video sequences are used as a benchmark and rates of 43 frames per second are achieved for standard sequences with a non dedicated Sun multiprocessor with 32 CPUs.