Netflix Uses AI in Its New Codec To Compress Video Scene By Scene (qz.com)
An anonymous reader shares a Quartz report: Annoying pauses in your streaming movies are going to become less common, thanks to a new trick Netflix is rolling out. It's using artificial intelligence techniques to analyze each shot in a video and compress it without affecting the image quality, thus reducing the amount of data it uses. The new encoding method is aimed at the growing contingent of viewers in emerging economies who watch video on phones and tablets. "We're allergic to rebuffering," said Todd Yellin, a vice president of innovation at Netflix. "No one wants to be interrupted in the middle of Bojack Horseman or Stranger Things." Yellin hopes the new system, called Dynamic Optimizer, will keep those Netflix binges free of interruption when it's introduced sometime in the next "couple of months." He was demonstrating the system's results at "Netflix House," a mansion in the hills overlooking Barcelona that the company has outfitted for the Mobile World Congress trade show. In one case, the image quality from a 555 kilobits per second (kbps) stream looked identical to one on a data link with half the bandwidth.
Why are they calling it AI? That's silly.
It's just an improved encoding scheme with better algorithms.
Nothing new to see here. We've been improving video encoding schemes since we started encoding video.
middle-out.
"Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
What I think is that they devised an algorithm, probably based on neural networks, that is particularly good as estimating the perceived quality of the picture.
This data is then used to adjust the level of compression of each part of the picture, so that the least important parts of the picture get compressed more aggressively to save bitrate for the more important parts.
This is nothing new really, the idea of using AI techniques and perceived quality to help with compression is decades old. The interesting part here is that it is done on a commercial scale.
My guess is it's the codec equivalent of "See that tree in the background? Yeah, that's going to be there for a while so just draw it once and leave it there until we tell you otherwise and we'll only send you the data about the stuff that's actually moving."
I don't think that word means what you think it means...
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
Bear in mind that while they may be using a new codec - that is, a piece of code designed to convert a video from one format to another - they're not using a new format, if they did, then they could no longer use the hardware acceleration they pretty much rely upon to ensure devices can play their content in real time, and without destroying the battery.
So insofar as they're doing the above, they're not doing it any more than any other codec does, because only compressing changes is what every current codec does well, and pretty much a fundamental assumption behind each mainstream format, from MPEG-1 and H.261 onwards.
You are not alone. This is not normal. None of this is normal.
VBR isn't rocket science, and not new. Great that they're using it. GPU transcoding is really helping these days.
Netflix does use AI in developing the video compression algorithm. The problem with encoding videos with lossy algorithms is that video quality is a subjective thing. You need a person to watch it and tell you how good the video quality looks. This makes it rather slow and difficult to do A/B testing, not to mention how boring it is watching the same clips over and over with different encoding.
Netflix got around the problem by using machine learning to teach a computer when video quality looked good. They had a bunch of people watch videos with different compression and rate the quality, then told the AI that their ratings were gospel. It then analyzed the different videos and decided for itself which features were associated with good quality. Once the computer was generating the video ratings as people, they had a rapid way to do A/B testing. That allowed them to optimize their compression algorithm in much less time than with using humans to rate video quality.
I'm not sure why Summary links to some popular news article which talks in general about Netflix using AI, instead of linking to the actual Netflix page describing exactly what they did. This used to be the sort of technical detail you'd expect from slashdot submissions.
Call it anything you want: "Netflix uses bagels to compress video" I don't really care. I just wish they would take a closer look at the darkest parts of a scene and stop compressing the hell out of it. Visible gradients ruin every single scene always.
In Soviet Russia...michael would be rotting in Siberia!
"No one wants to be interrupted in the middle of Bojack Horseman or Stranger Things."
Actually, if I am every watching Bojack Horseman... interrupt me any way possible. Use bullets if necessary.
Soon Nextflix may have only a single video in 1000 categories with compression showing a single frame as all.
https://www.youtube.com/c/BrendaEM
It sounds like they've basically just written a better psychovisual engine for driving variable bitrate encoding. Since their work was done in concert with some universities, it's possible that we could see it make its way into x264 and x265 in the future, if they publish their work.
Except in edge cases, videos don't stutter because they take slightly more bandwidth than you have available. They stutter because the buffers aren't deep enough to overcome network jank, and my understanding is that streaming providers use shallow buffers for content-protection reasons (it's not like you're going to suddenly switch streams 45 minutes into a movie).
Put another way, the difference between a 500 kbps stream and a 250 kpbs stream isn't going to improve your rebuffering experience on a link with 25mbps of bandwidth available, because the problem is an artificial barrier between you and Netflix.
I hate these things, they never work as stated. All it means is they can save money by buffering ahead even less. Days past if you had a poor connection you could load a video and pause it and it would buffer through. Now if you pause it buffers what it seems to think is all you actually need. It never is.
Could be, but when AAC came around for audio compression, the interesting concept was that a pschyoacoustic model was applied to identify which of (at the time 7) multiple compression model paths would provide an the most optimal perceived result of the compression for the given audio samples. Better encoders would choose better paths for encoding. So, the best encoders would identify which compression method to use for each audio segment and how long said audio segment should be.
H.264 and H.265 offer a massive amount of opportunities to tweak encoding of macro blocks. There are spatial considerations (block size), temporal considerations, motion consideration, etc... each individual block can be a differ type (I, P, B, etc...). Each block can be mapped compressed relative to another block considering time and space. Each block can select a different set of coefficients for frequency identification (DCT for example) as well as gradients (quantization). Each block can be stored for optimal management of loss related to congestion (NAL).
To be fair, if I covered every possible case in H.265, I can be here a long time.
I used to write encoders for these standards and I would often target optimal allocation of bitrate relative to PSnR and SSIM. These are great metrics for attempting to model optimal quality following decompression. Unfortunately, I was too early to also optimize bitrate allocation relative to improved perceived quality relative to specific areas of interest which is something we can do today by applying computer vision modules that can simulate what is likely to be most interesting to humans and draw their attention. For example, consider that in "Back to the Future" when watching the scene where Doc types the date into the car computer, a computer can now identify that a human would most likely be drawn to watch the LED digits most closely. So, allocating a greater bitrate there would be better than to Doc's fingers and head movement.
Modern machine learning methods such as those used by Google to recognize a red dress in a photo and catalog it appropriately can easily be used for this type of encoding process and as Audun Mattias Ãygard has been publishing on his blog, these algorithms are public and well known today.
I experimented with this technology for identifying optimal image compression some time back. The tech wasn't ready yet
Bitrate allocation relative to areas of interest could easily allow for 50% bitrate savings. As the tech improves, I could see a great deal more especially in the area of quantization.
Now, if we used more AI for CABAC and CAVLC to precondition the dictionaries, we may have a great model for H.266
Take a scene of a pretty mother breast feeding. What a male considers as interesting blocks/parts of the image is totally different from that of a female. The AI may choose to drop details from one block than another based on its training set (or based on what it thinks the viewer cares). Essentially now the viewer is served only stuff that the server thinks what may be liked. That is it's producer doing the choosing; rather than the consumer. Not sure if it's a good thing or bad..but at times we want to see the original -- not the altered/watered-down version.
That's what modern video compression already does. What is new here is they have an AI that makes a determination on what constitutes a noticeable loss in video quality and then seems to use that for more intelligently chosen keyframes (ie, when the "this bit is going to stay here for a while" is declared) and perhaps providing metadata on how far you need to buffer to get a "scene" so that they know when it may be safe to stutter for a second if needed without being noticed.
Why the fuck do you post in monospace?
>> compress it without affecting the image quality,
If the compression used is in any way lossy, affecting image quality is by definition inevitable.
This may well be DRM, not just over-engineering.
I wonder if Netflix worry about a situation where you can dump a movie to disk by doing a save-state on your VM. (See also: their offline-viewing feature is only available on locked-down devices.)
I've seen Chromecast cache over 3 minutes of Netflix, but I'm fairly sure that's about as high as it gets.
"We're allergic to rebuffering," said Todd Yellin, a vice president of innovation at Netflix. "No one wants to be interrupted in the middle of Bojack Horseman or Stranger Things."
Or porn. "Yes, yes, yes..." (buffering ...) [ Nooooooooooooooo.... ]
It must have been something you assimilated. . . .
Yup, it's a psychovisual model.
Like there has been used in video compression for quite some time.
There is a primary source link mentionned elsewhere in this thread.
The novelty is that these one use machine learning (SVM according to the source).
(As opposed to older psychoauditive models used in compression of MP3, Vorbis, etc. which were based on clear rule, such as "a loud beat from a drum will mask whatever was playing the main melody".
This one learns automatically based on a crowd-sourced quality evaluation)
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Creating a vast overview of different many nations telco conditions.
Optical, POTS to optical, coax. Is the national internet shared a lot and slow most nights?
Once that regional data is sorted movies can be made ready for local conditions. What is the actual connection from an ISP to the user when movies are been requested.
Is the connection good but the amount of bandwidth shared with a lot of other providers due to cost or other per nation issues?
Once local conditions are finally understood a movie can be compressed as needed per user.
Thats much better than testing for say "100" down once at mid day or late night when a user set up their system.
Night time movie watching might present very different network conditions as everyone else is using all the bandwidth in that part of a city or nation.
So that users movie is then very responsive to such issues rather than a one time network test.
So every part of an action movie, cartoon or drama gets just the compression it needs on very different networks.
Domestic spying is now "Benign Information Gathering"