Audio Decoder Downmixing Using Dynamic Domain Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing audio decoding systems face challenges in efficiently processing audio data, particularly in reducing computational complexity to extend battery life in portable devices, especially when handling multi-channel audio streams like E-AC-3, which requires significant processing resources.
Innovation Solution
The method involves determining whether to apply frequency domain or time domain downmixing on a block-by-block basis, using cross-fading for changed downmixing data, and skipping unnecessary processing on non-contributing channels, thereby optimizing processing efficiency and reducing computational complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If general decoder implementations are used on x86 processors, then compatibility is improved, but computational complexity increases leading to reduced battery life
Solution Approach 1:
The decoder is divided into separate functional modules including a bitstream parser, frequency domain processor, time domain processor, and downmixer. Each module handles specific decoding tasks independently, allowing the system to process only necessary portions of the audio data based on the encoded format, thereby reducing overall computational complexity and energy consumption while maintaining x86 compatibility
Solution Approach 2:
The decoder dynamically adjusts its processing path based on the audio data characteristics and encoding format. By detecting whether frequency domain or time domain processing is required, and conditionally executing downmixing operations, the system optimizes computational resources in real-time, reducing battery consumption without sacrificing compatibility with various audio formats
2Reliability
If full processing is applied to all channels, then audio quality is improved, but computational complexity increases
Solution Approach 1:
The downmixing function is extracted as a separate modular component that can be independently controlled. The system identifies when downmixing is actually required based on the encoded audio format and only applies it in those cases, eliminating unnecessary processing operations on channels that do not require downmixing, thus reducing computational complexity while preserving audio quality where needed
Solution Approach 2:
The decoder changes processing parameters dynamically based on the input audio characteristics. By adjusting the processing path, downmixing coefficients, and transformation types according to the specific audio block requirements, the system maintains high audio quality for contributing channels while reducing or skipping processing on non-contributing channels, optimizing the balance between quality and computational complexity
3Reliability
If frequency domain processing is applied, then audio quality is improved, but processing time increases
Solution Approach 1:
The decoder dynamically selects between frequency domain processing and time domain processing based on the audio block characteristics and encoding format. Frequency domain processing (MDCT) is applied only when it provides necessary quality improvements, while time domain processing is used for blocks where it suffices, thereby optimizing the trade-off between audio quality and processing time
Data Source
Figure 1
Figure 2A~2D
Figure 3
AI summary
A method, an apparatus, a computer readable storage medium configured with instructions for carrying out a method, and logic encoded in one or more computer-readable tangible medium to carry out actions. The method is to decode audio data that includes N.n channels to M.m decoded audio channels, including unpacking metadata and unpacking and decoding frequency domain exponent and mantissa data; determining transform coefficients from the unpacked and decoded frequency domain exponent and mantissa data; inverse transforming the frequency domain data; and in the case M<N, downmixing according to downmixing data, the downmixing carried out efficiently.