A comprehensive multimedia framework for seamless Android integration and CPU offload utilizing low-power CEVA audio and imaging DSPs
The CEVA Android Multimedia Framework (AMF) ?is designed for Android system integrators for mobile devices, addressing the growing need for higher multimedia performance, longer battery life and quick time-to-market of multi-processor systems implementing the Android OS.
AMF is CEVA’s proprietary software and hardware framework for interfacing Android based CPU systems to CEVA multimedia platforms inside a single SoC or across several chips. The AMF solves a critical problem of recent years – that of the Android OS being unaware of multimedia platforms residing in the SoC or system in general.
AMF provides an elegant solution to this challenge, by:
- Providing high-level language programming for Android designers, for seamless “DSP programming” in C without DSP expertise
- Offloading of multimedia tasks from the general purpose CPU and GPU to the more efficient CEVA application-specific DSP platforms –?CEVA-TeakLite-4?(for audio, voice, speech), and?CEVA-MM3101?(for imaging, vision)
- Freeing up the CPU for more user applications while ensuring that DSP algorithms meet latency and real-time response of signal processing tasks
- Significantly lowering power consumption (up to 20x less) for intensive multimedia tasks
CEVA AMF supports various CPU offloading schemes that enable a reduction in the number of CPU cores required in the Application Processor (AP) and utilize the DSP cores in the system:
- On-chip (inside the AP) CPU-DSP link via internal busses
- Off-chip (e.g. AP and a DSP based audio CODEC chip) CPU-DSP link via external signals such as I2C and SLIMbus
By utilizing the CEVA AMF, Android designers can harness the power of CEVA’s DSPs, and the numerous DSP software modules that are available and optimized for them. These include the?CEVA-TeakLite family?Audio/Voice/Speech software modules and the?CEVA-MM3000 family?imaging/vision software modules.
Multimedia tasks are not only offloaded but are also “tunneled” to save data transfer overhead to and from the CPU.
The CEVA AMF is supported by a full reference design consisting of standard OpenMAX interface to Android’s Stagefright framework, CPU side link driver module, DSP side link driver module, hardware abstraction layer drivers, RTOS on the DSP for multi-tasking, CPU-DSP communication layer for command/data transfer, and a development platform based on an Application Processor running Android coupled to multiple CEVA DSP hardware platforms for prototyping purposes.
On top of OpenMAX components, the CEVA AMF also supports native KitKat offloading for both audio playback and audio effects. This is important as native KitKat only supports MP3 and AAC offloading while OpenMAX components can offload all codecs and post-processing functions. As some DSP algorithms are too intensive for the host processor, this combined approach (Native KitKat offload + OpenMax Components offload) enables more use cases and saves more battery life.
Features | Benefits |
---|---|
High level programming language and API for multimedia tasks in Android based systems | Seamless programming of deeply embedded DSPs without DSP knowhow and programming skills |
Offloading multimedia tasks from CPU | Longer battery life:10-20x lower power for imaging tasks
5-8x lower power for audio tasks Freeing up CPU resources for better user experience |
Tunneling support | Reduces power by minimizing data transfers from CPU to DSP and vice versa |
AMF utilizes CEVA’s Power Scaling Unit (PSU) | Further power reduction using frequency/voltage scaling inherently in the DSP |
Automatic tile management for imaging tasks | Efficient tiles management and transfers in memory reduces processing and power |
Support for Android 4.x and beyond using standard OpenMAX API | Expandable to future Android releases |
Support for both native KitKat offloading and generic OpenMAX components | Efficient always-on use cases implementation with longer battery life |