Imagine you are a user, you are watching a
video on the internet, YouTube or Netflix, and you get frustrated
because the video takes too long to load, or the quality is too low, you can’t actually see the content.
Or it stops and stalls and buffers every once in a while. This is a
real problem. It affects users, and it causes significant problems for content
providers. One second of buffering leads to millions of dollars of lost
revenue. What we need is some mechanism that can adapt the quality of the video, the
resolution and so on, as the network changes dynamically. So
when video gets downloaded from the internet, it gets placed into a playback buffer. Consider
this payback buffer to be a bucket. Consider video to be water. The video downloaded from the Internet fills up the bucket. The video displayed on to the screen is like a hole in the bottom of the bucket that consumes water. Traditionally, there were two approaches. One is called buffer-based, and what it does is looks at the quantity of water there is in the bucket, so the of the amount of video you have stored, and based on that then it requests the next chunk of video. The second approach is called rate-based. If we still use our analogy, you can see bandwidth
as the pipe that fills up this bucket. So the rate-based algorithm looks exclusively
at this pipe. So if it preceives high bandwidth or sees a very large pipe, it will request high-quality video. If the pipe is small, then it only request lower-quality video. Theoretic approach where we model the
problem mathematically, and we used both pieces of information to design our algorithm, and we can prove that on the average we get
better performance. And now we are comparing our algorithm with buffer-based algorithm, which is usedd by people at Netflix. You can see the video on the right is really blurry compared to the video on the left. And we can see that our algorithm quickly converged to the highest possible bitrate like 2,000 kbps, versus the buffer- based, which is still at 600 kbps. And the buffer-based algorithm needs to accumulate step-by-step and then ramp up
to the highest possible bit rate very slowly. Our goal is really to improve internet video in in the broader world and we doing this in a couple of different ways.
One is we are actually open sourcing the algorithms we have developed, which is built on top of the industry reference player, and releasing it as an open source platform
for future researchers and so on. We are also in talks with many leading
industry players in the space to get our ideas out there into the production
systems to help improve users’ experience.