Abstract

A lossless audio codec and decoding technique for use cases requiring many independent, differently-positioned compressed audio streams to be decoded concurrently on SIMD hardware (e.g. a polyphonic software sampler). Conventional variable-length per-sample codecs decode with a data-dependent branch, defeating vectorization. The disclosed codec instead divides each channel's signal into fixed-length blocks, predicts each sample from a small family of fixed-order integer linear predictors (orders 1-4), and stores the residuals at a single fixed byte width per block (1 to 4 bytes, chosen from that block's own peak residual magnitude) in a channel-planar, not interleaved, layout. This fixed-stride, branch-free layout lets up to L independent streams (L = the SIMD register's lane count) be decoded together in one SIMD register pass via a two-stage per-lane-extraction-then-transpose kernel, one lane per stream, even when mutually unaligned; the planar layout and a specific padding rule for partial batches make this apply uniformly across channel counts and byte widths. A resumable-snapshot mechanism lets any stream begin decoding at an arbitrary position without decoding from the start. Measured on a corpus of 4000+ real audio files (single-channel material), the technique achieved 4.75x the decode throughput of a representative fixed-escape-width variable-length reference codec at a better compression ratio (~1.53x vs ~1.43x). On real two-channel material, format-only and batching-only contributions were measured separately at ~1.0-1.9x and ~2.4-2.7x (combined, by multiplication, roughly 2.4-5.1x, under different material and rounding conventions than the 4.75x figure); in both cases most of the speed-up comes from batching, not the format change alone.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.

Share

COinS