Android is 10-year old now, and it has come a long way from an open-source smartphone upstart to the world’s de facto mobile Operating System standard with more than 80 percent of market share. If there is one thing that is highly prominent in Android’s meteoric rise, it’s the ability to adapt to market needs and quickly improve the mobile OS platform.
How does Android quickly address customers and market needs?
Consider the example of a smartphone user listening to music and podcasts for extended periods of time (dozens of hours) that could drain the battery. The ever-growing use of audio apps has made smartphone OEMs scrambling to find a viable solution to this problem.
In the early going, Android devices ran audio on either the application processor or on a proprietary OEM offload framework that still required the encoded and decoded audio streams to be managed by the device CPU. Google recognized the fact that audio tasks are not being efficiently handled by the CPU and that audio processing is better suited for dedicated DSP engines. That freed up the CPU for more user applications while ensuring that DSP algorithms meet latency, real-time response and low-power constraints.
Google began to support offloading multimedia tasks from the main CPU—usually a powerful ARM processor—to DSP in its KitKat or Android 4.4 version released a couple of years ago. Android introduced audio tunneling to DSP that offloaded audio to the AP on-chip DSP instead of using the CPU to decode audio or respond to audio output requests.
Lower Power Consumption by More Than 50%.
Audio tunneling takes an encoded audio source and sends it to the DSP to optimize audio decode and playback whenever it’s available on the mobile device. Google acknowledges that audio tunneling to DSP can lower the power consumption used for playing back audio on a phone or tablet by more than 50 percent.
Take Nexus 5, for instance, introduced alongside Android KitKat. The smartphone doubled its playback time to 60 hours by using the DSP tunneling scheme available in KitKat. It’s a crucial take-away because mobile device manufacturers are aiming to get 100-plus hours of continues audio playback on a single battery charge.
The offloading of audio decoding and playback tasks from the main CPU to a low-power DSP engine is also an attractive value proposition for low- and mid-range Android devices that use less powerful main CPUs. Here, offloading multimedia tasks like music streaming will help such devices deliver a better experience with low power consumption.
CEVA’s Solutions for Offloading CPU from Signal Processing Tasks
CEVA, a supplier of DSP cores, is proactively working to facilitate solutions for offloading CPU from signal processing tasks such as audio playback and effects. For a start, it provides the key element of Android offload, a software connectivity stack between the main CPU and the DSP running the multimedia tasks. Android Multimedia Framework or AMF allows mobile system integrators to interface the Android-based CPU systems with CEVA’s DSP engines inside a single SoC.
CEVA’s AMF connectivity framework supports various CPU offloading schemes to facilitate a reduction in the number of CPU cores required in the application processor. AMF supports both on-chip CPU-to-DSP link via internal busses and off-chip CPU-to-DSP link via external signals like I2C, SLIMbus or SoundWire.
Multimedia tasks are offloaded and tunneled on the DSP
AMF complies with native Android audio offloading mechanisms of KitKat and Lollipop. It’s a system-level software solution that includes HAL drivers, RTOS, and debug capability with a complete HW/SW reference design offering.
CEVA complements AMF software framework with TeakLite-4 hardware solution for low-power audio processing applications such as music playback and effects in Android based smartphones. TeakLite-4 is CEVA’s smallest DSP core, designed for devices such as smartphones and wearables that are highly sensitive to die area and power consumption. The native 32-bit DSP engine is optimized for a broad range of software codecs and audio/voice SW modules.