Cell blade based H.264 video encoding engine for large scale video surveillance applications
Abstract
Video surveillance has become one of the most important tools for public safety and security. In this paper, we present our new work on developing efficient parallel computing algorithms and schemes for implementing H.264 video encoder engine on Cell Broadband Engine (CBE) blade for high performance large scale video surveillance applications. Extending our previous work on H.264 video encoding on CBE, we have developed new parallel computing schemes in computational load partition, dynamic task scheduling, motion estimation, and mode selection. We partition the intensive H.264 video encoding computation load into four major functional modules, namely, the pre-processing module, the motion estimation module, the mode selection and transform/quantization module, and the Context Adaptive Binary Arithmetic Coding (CABAC) module. The task scheduler dynamically assigns a waiting computing task to a SPE as soon as it becomes available. Our new implementation has achieved more than 5X performance improvement to encode 32 standard-definition (SD 720×480 pixel resolution) H.264 video streams simultaneously at 30 frames per second with one Cell Blade that consists of 16 Synergistic Processor Elements (SPEs) and two control Power Processor Elements (PPEs) or 448 SD channels of H.264 video streams on a single chassis Cell Blade Center with 14 Cell Blades. © 2010 SPIE.