The multiplication of chips capable to run Multimedia processing (sound, image or video) in a mobile device, smartphone or media tablet, like Application Processor (AP), Baseband (BB), Codec or companion chip, each of these embedding one or multiple processor can be seen as a good opportunity to simplify the device architecture… However, running multimedia tasks on a non-optimized processor for that task, results in higher power and limits the device processing capacity, for example:
- Running audio/voice tasks on CPU, instead of the DSP
- Running imaging and vision tasks on GPU, instead of the imaging platform
This is especially true in the presence of an Operating System that is un-aware of the multimedia DSPs available in the system. CEVA has developed Android Multimedia Framework (AMF) to solve this system integration problem.
AMF is a system level software solution and allows offloading of multimedia tasks from CPU/GPU to most efficient application-specific DSP platforms. When running Android OS, you need either to develop such a solution by yourself, either to benefit from a ready to use framework, allowing using deeply embedded programmable hardware engines, and software modules optimized for them. Due to its OS agnostic standard API, CEVA’s AMF would comply with any Android endorsed mechanism for multimedia offloading (e.g. KLP).
On the above picture, we see how to use standard OpenMAX API (AMF complies with the current Android 4.x versions) and how to access, through an Host Link Driver located in the CPU subsystem, to the DSP, hardware drivers and Power Scaling Unit resources. The benefits and functions enabled by AMF include:
- Multimedia tasks are abstracted from the CPU and are physically running on the DSP. Furthermore, tasks can be combined (“tunneled”) onto the DSP – saving data transfer, memory bandwidth and cycles overhead on the CPU
- Scalability – developers can utilize multiple DSPs in the system through AMF, e.g. multiple CEVA-TeakLite-4 DSPs, or CEVA-TeakLite-4 for audio/voice and CEVA-MM3101 for imaging/vision tasks
- Utilization of the PSU (Power Scaling Unit) available for CEVA DSPs to significantly lower power consumption further, when running multimedia tasks
- Easy activation of CEVA-CV computer vision (CV) software library for the development of vision-enabled applications targeting mobile, home, PC and automotive
- Support for future standards such as OpenVX, a hardware acceleration API for computer vision
- Automatic tile management for multimedia tasks which includes managing memory transfers and organization into DSP memory for efficient processing
- An optional Real-Time Operating System (RTOS) is offered for the DSP
The benefit of using AMF and run API on CPU and SW on DSP, instead of running both API and SW on the CPU is crystal clear: the latest drains CPU resources, which may not be such an issue if the first consequence was that this approach is absolutely not power efficient. Power in-efficiency is not only a design issue, or a fault, it’s a real crime when the system has been designed for battery-powered mobile application! Just think about Intel, almost unable to sell their application processor based on their own CPU, just because these are too much power hungry for the emerging and exploding smartphone and media tablet markets. We can see on the right side of the above picture an AMF based architecture where the API run on the CPU, within the Stagefright Framework, and the SW run on DSP, allowing to offloads CPU for other tasks and drastically reduce power consumption.
lang: en_USShare this post via: