Skip to content

PATTERN Cited by 1 source

Aggressive FEC at low bitrate

Problem

In real-time communication (RTC), audio calls over poor networks suffer packet loss. Retransmissions don't fit in the latency budget. The only mitigation is redundancy — pack inband FEC frames into the bitstream so the receiver can reconstruct missing audio.

But inband FEC is bitrate-gated: the redundant frames consume bitrate. On an old codec like Opus, this creates a hard floor: "It needs a minimum of 19 kbps to encode any inband FEC at 10 percent packet loss." Below that, no inband FEC — on exactly the degraded-network conditions where FEC is most needed.

Pattern

When a better codec creates bitrate headroom, spend that headroom on FEC redundancy rather than on higher fidelity. The user experience benefit of a robust stream with some redundancy beats a pristine stream with gaps when packet loss is non-trivial.

Concretely: design the codec so inband FEC remains viable at bitrates well below the prior floor, and actively use that room in the RTC stack's FEC policy.

Canonical example — Meta MLow

MLow hits near-Opus-at-19 kbps quality already at around 6 kbps. This means at 14 kbps total channel budget, MLow can pack FEC, while Opus cannot:

"Compared with Opus, with MLow we can afford to pack FEC at much lower bitrates, which significantly helps to improve the audio quality in packet loss scenarios. […] Here are two audio samples at 14 kbps with heavy 30 percent receiver-side packet loss. Opus: […] MLow: […]. Note that at these bitrates, Opus is not able to encode any inband FEC. It needs a minimum of 19 kbps to encode any inband FEC at 10 percent packet loss, which hurts the audio recovery."

The forward plan is even more aggressive:

"We're continuing to work on improving the audio recovery in heavy packet loss networks by pumping out more redundant audio, which MLow allows us to do efficiently."

(Source: sources/2024-06-13-meta-mlow-metas-low-bitrate-audio-codec)

Cross-cutting design implication

This pattern interacts tightly with bandwidth-adaptive codec modes: as the bandwidth estimator pushes the codec bitrate down, a codec with a lower inband-FEC floor loses less loss-resilience in the process. The FEC floor becomes a first-class operating-envelope parameter.

When it applies

  • RTC audio (or video with audio). Retransmission is latency-unfeasible.
  • Network conditions with non-trivial (>5–10%) packet loss for portions of calls.
  • Codec design has slack between nominal quality and the channel budget — i.e., not already saturating quality with every available bit.

When it does not apply

  • The codec is already at its operating-envelope floor for quality with no FEC room to spare.
  • Application tolerates retransmission (non-real-time audio streaming, TCP-based delivery).
  • Packet loss rates are low enough that FEC is net-negative (redundancy always costs bitrate).

Seen in

Last updated · 319 distilled / 1,201 read