Online video has long been plagued by buffering and pixelation challenges, leading to consumer drop-off, decline of advertising revenue and posing technical headaches to streaming engineers. A neural network AI from MIT CSAIL emerged earlier this month aiming to provide smooth streaming services.
Normally, data from an online streaming service like YouTube arrives at a user’s device in sequences rather than in one complete mass. To ensure the quality of the video, streaming services leverage ABR (Adaptive BitRate) algorithms to determine the resolution of the video.
ABR algorithms essentially do one of two things to determine the correct resolution to send: (i) measure how fast a network can transmit data, or (ii) maintain a sufficient buffer at the head of the video.
If the rate-based algorithm doesn’t work, the bitrate drops to ensure the video keeps playing, but it begins to suffer from pixilation. If you try to move too far forwards, the buffer-based system then stalls while it loads both the next sequence of video and the buffer following it.
While ABR algorithms generally work, streaming sites like YouTube or Hulu have to make imperfect trade-offs between the quality of the video and the time it takes to buffer; however, user expectation is increasingly high.
MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) have recently developed “Pensieve,” an artificial intelligence (AI) system that draws on machine learning to select algorithms based on network conditions and provide a streaming service with less re-buffering than current systems.
MIT Professor Mohammad Alizadeh and his team saw that Pensieve could stream video with 10-30% less rebuffering than conventional approaches, and surveyed users rated the streaming quality 10-25% percent higher than usual.
Furthermore, Pensieve can be customized to meet the local needs of the content provider. “Our system is flexible for whatever you want to optimize it for,” says PhD student Hongzi Mao, lead author of new paper on Pensieve. “You could even imagine a user personalizing their own streaming experience based on whether they want to prioritize rebuffering versus resolution.”
A team at Carnegie Mellon University has also been experimenting with AI and trying to combine the two ABR methods using “model predictive control “ (MPC), which aims to optimize decisions based on predicting how network conditions will change over time. It is an improvement on current streaming services, but still suffers from the fact that variable factors such as network speed are hard to precisely predict.
CSAIL’s Pensieve doesn’t need to work with a model or existing assumptions about such factors; instead it represents an ABR algorithm as a neural network using machine learning techniques, it runs tests repeatedly in situations that have different conditions for network speed and buffering. In the same way as other neural networks, Pensieve uses rewards and penalties to weight the results of each trial. Over a period of time, the system adjusts its behavior to maximize the reward. “It learns how different strategies impact performance, and, by looking at actual past performance, it can improve its decision-making policies in a much more robust way,” says Mao.
Pensieve could eventually start to be employed by commercial video services. The MIT team’s immediate next project will be testing Pensieve on virtual-reality (VR) video. “The bitrates you need for 4K-quality VR can easily top hundreds of megabits per second, which today’s networks simply can’t support,” Alizadeh says. “We’re excited to see what systems like Pensieve can do for things like VR. This is really just the first step in seeing what we can do.”