In: IEEE Trans. on Circuits and Systems for Viseo Technology, Vol. 8, No. 7, pages 909-920. 1998.
Abstract: In this paper, we describe a software-based MPEG-4 video encoder which is implemented using parallel processing on a cluster of workstations collectively working as a virtual machine. The contributions of our work are as follows. First, a hierarchical Petri-nets-based modeling methodology is proposed to capture the spatiotemporal relationships among multiple objects at different levels of an MPEG-4 video sequence, Second, a scheduling algorithm is proposed to assign video objects to workstations for encoding in parallel, The algorithm determines the execution order of video objects, ensures that the synchronization requirements among them are enforced and that presentation deadlines are met, Third, a dynamic partitioning scheme is proposed which divides an object among multiple workstations to extract additional parallelism, The scheme achieves load balancing among the workstations with a low overhead, The striking feature of our encoder is that it adjusts the allocation and partitioning of objects automatically according to the dynamic variations in the video object behavior. We have made various additional software optimizations to further speed up the computation. The performance of the encoder can scale according to the number of workstations used. With 20 workstations, the encoder yields an encoding rate higher than real time, allowing the encoding of multiple sequences simultaneously.
Keywords: MPEG-4, data partitioning, distributed processing, dynamic scheduling, hierarchical Petri nets, load balancing, parallel processing, video encoding.
Back to the Petri Nets Bibliography