Researchers have unveiled a new algorithm called Fugu which demonstrates a significant improvement in streaming video technology. The algorithm was developed with the help of volunteer viewers who watched a stream of video, served up by computer scientists who used machine learning to scrutinize this data flow in real-time, looking for ways to reduce glitches and stalls.
In a study, the researchers describe how they created an algorithm that pushes out only as much data as the viewer's internet connection can receive without degrading quality.
"In streaming, avoiding stalls depends heavily on these algorithms," said study first author Francis Yan from Stanford University in the US.
According to the researchers, many of the prevailing systems for streaming video are based on something called the Buffer-Based Algorithm, known as BBA. BBA simply asks the viewer's device how much video it has in its buffer. For example, if it has less than 5 seconds stored, the algorithm sends lower quality footage to guard against interruptions.
If the buffer has more than 15 seconds stored, the algorithm sends the highest quality video possible. If the number falls in between, the algorithm adjusts the quality accordingly.
Although BBA and similar algorithms are widespread in the industry, there have been repeated attempts by researchers over the years to develop more sophisticated algorithms using machine learning -- a form of artificial intelligence (AI) in which computers teach themselves to optimize some process.
But these machine learning algorithms generally require simulated data to learn from, rather than the real thing delivered over the real internet. Therein lies a problem, the researchers said,
"What Francis found is that there can be a gulf between making one of these algorithms work in simulation versus making it work on the real internet," said study researcher Keith Winstein.