In the context of audio processing, CPU power consumption can be minimized by offloading audio tasks to a separate hardware unit or audio driver, while the main CPU operates in a low-power state. This audio offload feature on separate co-processors is also known as Hardware-Offloaded Audio Processing (HAP).
Hardware Offloaded Audio Processing
Hardware offloaded audio processing, also known as audio offload, involves performing audio tasks on a dedicated or specialized audio processor within the system, reducing the load on the main CPU.
Audio processing, such as mixing, decoding, and applying effects, can be computationally intensive. Offloading these tasks to a dedicated processor (DSP) offers greater efficiency compared to relying solely on a general-purpose CPU.
This use of specialized processors enhances power efficiency and extends battery life. In the latest architectures, audio can be processed through two mechanisms: Host Processing or Offload Processing.
Host Path / Host-side Processing
- Audio data is processed from the host pin, also known as the system pin.
- The host path is paired with a smaller buffer size, which is a 10ms buffer.
- The main CPU wakes up frequently (i.e., every 10ms) to get and process the audio data from an application.
- Power consumption is consistently high as the CPU wakes up every 10ms to write data into the audio buffer or process the same data.
Offload Path / Offload-side Processing
- Audio data is processed through the offload pin, i.e., processed by a co-processor or separate hardware.
- The offload path is paired with a larger buffer size, i.e., a 1-second buffer.
- As the buffer size increases, the main CPU wakes up after 1 second, giving it an opportunity to stay in a low-power state.
- This reduces power consumption as the main CPU is not always active, waking up only after every 1 second.
The audio engine was redesigned to work with audio streams offloaded to a hardware device that is separated from, but connected to, the computer’s main audio system.
The following diagram shows the different audio processing architectures and audio processing paths. The left side of the diagram shows an application communicating down to hardware via the offload path, and the right side of the diagram shows an application communicating via the software path.
In the system path, the audio stream is sent from the application, and software-based effects are inserted into the software device pipe upon stream initialization. These solutions perform all their effects processing on the main CPU and then send the audio to the speakers or headphones.
In the offload path, the audio stream is sent from the application, and effects are processed in the specialized hardware digital signal processor whose architecture is optimized for the operational needs of digital signal processing. The audio hardware supports offloading up to n number of audio streams in hardware DSP. If more audio streams are opened, then the n streams supported by the hardware, and the additional audio streams, will go through the software audio engine. The picture below depicts Microsoft’s high-level audio engine framework.
In general, the CPU is designed to handle any task that is thrown at it, but it is not the most efficient way to accomplish a specific task. It is good to use hardware acceleration for audio processing via the offload path where a 1-second buffer is used during audio processing. In that case, batteries last longer, allowing us to play or watch more high-quality audio or videos on a single charge. This also frees up the CPU to do other things, making other apps feel more responsive. All in all, hardware acceleration has become an important tool in computer systems.
However, things become a bit complicated when the hardware and driver/s do not support the offload feature, and when “screen on” and “screen off” scenarios are included.
Many silicon chip manufacturers, such as Intel, AMD, and Qualcomm, have specifically designed low-power audio HW chipsets that are used in devices like laptops, tablets, and mobile phones.
Intel Smart Sound Technology (Intel SST) is one great example of this feature. Intel SST is an integrated audio digital signal processor (DSP) built to handle audio interaction. By offloading audio streams to the Intel SST computer system, it reduces power consumption and improves battery life while still delivering great sound quality. The Intel Smart Sound Technology is supported on Coffee Lake (CFL), Cannon Lake (CNL), Comet Lake (CML), Ice Lake (ICL), and Whiskey Lake (WHL) platforms with Intel audio DSP integrated on Windows 10/11 64-bit operating systems.
With the audio offload mechanism, the audio processor unit can process audio data during the audio stream processing without using the main processor. As a result, the main processor can run in a low power consumption mode. In this mode, CPU utilization is lower as the CPU wakes up less frequently, and this is achieved by using a larger buffer, i.e., 1 second instead of 10 milliseconds. This leads to low power consumption and low power audio processing.