Architectures for adaptive low-power embedded multimedia systems

x energy savings. At the processor level, a run-time adaptive energy management scheme is employed that performs the following steps. a) Determine an Energy Minimizing Instruction Set: A tradeoff between leakage, dynamic, and reconfiguration energy is investigated and an energy-minimizing instruction set is selected for a dynamically reconfigurable processor under run-time varying performance and area constraints. To enable this, a comprehensive power model for the reconfigurable processors was developed, which is based on power measurements. The benchmarks for two state-of-the-art reconfigurable processors (Molen [PBV07, VWG+04] and RISPP [BSH08b, BSH08c, BSKH07]) demonstrate an energy reduction of more than 40% compared to when not using the proposed scheme. b) Selective Instruction Set Shutdown: A decision about the shutdown mode is determined for the temporarily unused subset of the instruction set by considering the requirements and execution lengths of the compute-intensive parts of an application (i.e., the execution context of an application). It is determined at run time which subset of instruction set should be put into which muting mode at which time by evaluating at run time the possible associated energy benefit (a joint function of leakage, dynamic, and reconfiguration energy). In addition to the above-mentioned energy savings, a further 30% energy reduction is achieved. The information about the actual energy consumption is transmitted to the application layer for application-level energy management. 2) Low-power Application Architecture: Video coding is the key component of the current and emerging embedded multimedia systems as it consumes a significant amount of processing time and energy. Therefore, at the application level, the adaptivity and energy reduction are demonstrated using an advanced video encoder (like H.264). An optimized application architecture is proposed for video encoders targeting the reconfigurable processors. To reduce the computation requirements of different processing blocks of a low-power video encoder at run time, different algorithms have been developed. These algorithms address the following issues: • Need for an analysis of spatial and temporal video properties with consideration of important Human-Visual System properties to categorize different video frames and their Macroblocks. • Adaptive complexity reduction to reduce energy requirements of encoder by excluding improbable coding modes from the mode-decision process. It solves the issue of choosing the final coding mode out of hundreds of possible combination (without exhaustively searching the design space) by considering the spatial and temporal video properties. • To adaptively predict the energy quota for the energy-aware Motion Estimation (that may consume up to 65% of the total encoding energy). It chooses a certain Motion Estimation configuration for different video frames considering the available energy, video frame characteristics, and userdefined coding constraints while keeping a good video quality. The proposed low-power video encoder provides a dynamic energy reduction of more than 60% with an insignificant quality loss (0.2dB). For the blocks that are fixed by the standard and adaptivity is not possible, low-power hardware accelerators were designed. In addition to the above-discussed scientific contribution, following has been developed in the scope of this work: • A complete power-measurement setup for dynamically reconfigurable processors that consists of a power supply board, two oscilloscopes, an FPGA based prototyping board, and a control program (running on a PC) for capturing the measurements from the oscilloscopes. • A complete H.264 video encoder application with the proposed run-time algorithms and lowcomplexity data flow. The in-house developed H.264 encoder is currently executing on an in-house dynamically reconfigurable processor prototype, Texas Instruments multimedia processor, and laptop/desktop PCs. • A video analysis tool with an easy-to-use graphical user interface for quick and in-depth analysis of video sequences.