Our team is taking part in next week’s ACM Multimedia 2017 Conference in Mountain View, California, to present a paper on our proposed rate control algorithm for interactive real-time multimedia traffic. The Forward Error Correction (FEC) based rate control algorithm, abbreviated as FRACTaL, is expected to deliver better and more consistent media quality in both TCP and UDP scenarios.
The paper’s authors Balázs Kreith and Varun Singh will be present the whole week at the conference and giving a presentation on the paper on Tuesday.
FRACTaL is an experimental congestion control algorithm developed for interactive real-time multimedia traffic. We use Real Time Protocol (RTP), which is the standard protocol to deliver media in WebRTC.
Congestion control: probe for extra capacity with FEC
Congestion control algorithms aim at determining the available capacity and maximize its utilization. While increasing the sending rate to find the current capacity they risk of building up queues and creating losses if the sender overestimates the capacity.
In our approach, the endpoint sends Forward Error Correction (FEC) packets not only for better error-resilience but also to probe for available bandwidth. Increasing the rate using FEC instead of media packets allows the sender to probe for extra capacity. If a packet is lost during the probe, it may be recovered. If all the packets are received, the sender can replace the FEC packets with extra media packets, thus safely increasing the sending rate.
The idea of FRACTaL is an evolution to our previous algorithm published by Marcin Nagy, Congestion Control using FEC for Conversational Multimedia Communication (FBRA). FRACTaL makes a major enhancement to FBRA, it drastically improves its performance when competing with TCP.
How it works
The congestion control algorithm adds FEC packets next to the sent media packets if no congestion is observed in order to probe for additional bandwidth. If the combined sending rate does not cause congestion, the media rate is increased; otherwise it is reduced.
How does it compare
FRACTal is an improvement on our earlier algorithm, FBRA. The performance was markedly improved for competing with TCP. We evaluated our current proposal using a set of reference test scenarios and compare it to the Ericsson’s SCReAM congestion control algorithm. We found that FRACTaL performs better than SCReAM especially when competing with TCP flows. Additionally, it achieves lower loss rates at comparable path utilization and queuing delay, thus delivering better and more consistent media quality.
In the current paper, we evaluated against Ericsson’s SCReAM algorithm, as our earlier paper evaluated against Google’s Congestion Control (GCC) algorithm with similar results.
Implementation and Next Steps
Currently FRACTaL is implemented as a Gstreamer plugin (used in OpenWebRTC) and evaluated in a lab and internet testbed. The aim is to make the FRACTaL algorithm available as an open standard in the IETF’s RTP Media Congestion Avoidance Technique (RMCAT) Working Group.
Want to solve complex multimedia problems in a creative, intellectually stimulating work environment? Take a look at our open telecommunications and WebRTC positions and join the team!