Scalable Audio Codec Bit Allocation for Packet Loss
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current audio codecs in conferencing applications face challenges with scalability, computational resource usage, signal latency, and quality degradation due to varying network conditions and packet loss, especially in wireless networks and scenarios with limited computational resources.
Innovation Solution
A scalable audio codec dynamically allocates bits between frequency bands based on power levels and perceptual modeling, allowing for flexible bit reordering and stripping to maintain audio quality, and encodes once for both high and low bit rates, reducing computational resources and bandwidth requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional audio codecs encode audio at fixed bit rates, then audio quality is maintained, but scalability to varying network conditions is poor
Solution Approach 1:
The audio frequency spectrum is segmented into multiple bands (e.g., low band and high band), and bits are dynamically allocated to different bands based on network conditions and perceptual importance. This allows the codec to scale from low to high bit rates by selectively including or excluding certain frequency bands while maintaining audio quality.
Solution Approach 2:
The bit allocation between different frequency bands is dynamically adjusted based on network conditions, packet loss rates, and perceptual modeling. The codec can transition between different operating modes (e.g., wideband, super wideband, fullband) to adapt to varying network conditions while maintaining consistent audio quality.
2Adaptability or versatility
If audio is encoded separately for multiple bit rates, then adaptability to network conditions improves, but computational resource usage increases
Solution Approach 1:
The codec merges multiple bit rate representations into a single encoding structure. By encoding the audio once with scalable bit allocation across frequency bands, the system generates bit streams that can be truncated to different bit rates without requiring separate encodings, thereby reducing computational complexity while maintaining bit rate flexibility.
Solution Approach 2:
The scalable audio codec provides multi-functionality by serving multiple bit rate requirements from a single encoding process. The same encoded bit stream can be used for different network conditions and receiver capabilities, making the codec universal across varying operational requirements without increasing device complexity.
3Loss of energy
If bits are stripped from encoded audio data, then bandwidth requirements are reduced, but audio quality degrades
Solution Approach 1:
The codec applies local quality preservation by selectively allocating bits to frequency bands based on their perceptual importance and local signal characteristics. When bits need to be stripped to reduce bandwidth, the codec prioritizes removing bits from less important frequency regions while maintaining quality in critical bands, thereby reducing bandwidth consumption with minimal audio quality degradation.
4Loss of energy
If transform coding is used to compress audio, then bandwidth efficiency improves, but handling packet loss and varying network conditions becomes more difficult
Solution Approach 1:
The transform coding parameters are made dynamic to adapt to network conditions. The codec can adjust the transform type, block size, and bit allocation in real-time based on network conditions and packet loss patterns, allowing efficient bandwidth utilization while maintaining adaptability to varying network environments.
Data Source
Figure 1A~1B
Figure 2A~2B
Figure 3
AI summary
A scalable audio codec for a processing device determines first and second bit allocations for each frame of input audio. First bits are allocated (318) for a first frequency band, and second bits are allocated (318) for a second frequency band. The allocations are made on a frame-by-frame basis based on the energy ratio between the two bands. For each frame, the codec transform codes (320) both frequency bands into two sets of transform coefficients, which are then packetized based on the bit allocations. The packets are then transmitted (324) with the processing device. Additionally, the frequency regions of the transform coefficients can be arranged (322) in order of importance determined by power levels and perceptual modeling. Should bit stripping occur, the decoder at a receiving device can produce audio of suitable quality given that bits have been allocated between the bands and the regions of transform coefficients have been ordered by importance.