Skip to content(if available)orjump to list(if available)

AV1@Scale: Film Grain Synthesis, The Awakening

crazygringo

This fails to acknowledge that synthesized noise can lack the detail and information in the original noise.

When you watch a high-quality encode that includes the actual noise, there is a startling increase in resolution from seeing a still to seeing the video. The noise is effectively dancing over a signal, and at 24 fps the signal is still perfectly clear behind it.

Whereas if you lossily encode a still that discards the noise and then adds back artificial noise to match the original "aesthetically", the original detail is non-recoverable if this is done frame-by-frame. Watching at 24 fps produces a fundamentally blurrier viewing experience. And it's not subtle -- on old noisy movies the difference in detail can be 2x.

Now, if h.265 or AV1 is actually building its "noise-removed" frames by always taking into account several preceding and following frames while accounting for movement, it could in theory discover the signal of the full detail across time and encode that, and there wouldn't be any loss in detail. But I don't think it does? I'd love to know if I'm mistaken.

But basically, the point is: comparing noise removal and synthesis can't be done using still images. You have to see an actual video comparison side-by-side to determine if detail is being thrown away or preserved. Noise isn't just noise -- noise is detail too.

arghwhat

The noise does not contain a signal, does not dance over it, and is not detail. It is purely random fluctuations that are added to a signal.

If you have a few static frames and average them, you improve SNR by retaining the unchanged signal and having the purely random noise cancel itself out. Retaining noise itself is not useful.

I suspect the effect you might be seeing is either just an aesthetic preference for the original grain behavior, or that you are comparing low bandwidth content with heavy compression artifacts like smoothing/low pass filtering (not storing fine detail saves significant bandwidth) to high bandwidth versions that maintain full detail, entirely unrelated to the grain overlaid on top.

kderbe

Grain is independent frame-to-frame. It doesn't move with the objects in the scene (unless the video's already been encoded strangely). So long as the synthesized noise doesn't have an obvious temporal pattern, comparing stills should be fine.

Regarding aesthetics, I don't think AV1 synthesized grain takes into account the size of the grains in the source video, so chunky grain from an old film source, with its big silver halide crystals, will appear as fine grain in the synthesis, which looks wrong (this might be mitigated by a good film denoiser). It also doesn't model film's separate color components properly, but supposedly that doesn't matter because Netflix's video sources are often chroma subsampled to begin with: https://norkin.org/pdf/DCC_2018_AV1_film_grain.pdf

Disclaimer: I just read about this stuff casually so I could be wrong.

alright2565

I think you've missed the point here: the noise in the originals acts as dithering, and increases the resolution of the original video. This is similar to the noise introduced intentionally in astronomy[1] and in signal processing[2].

Smoothing the noise out doesn't make use of that additional resolution, unless the smoothing happens over the time axis as well.

Perfectly replicating the noise doesn't help in this situation.

[1]: https://telescope.live/blog/improve-image-quality-dithering [2] https://electronics.stackexchange.com/questions/69748/using-...

fidotron

There are definite philosophical questions over the merits of adding noise, but the problem with their example here is their denoising process appears to excessively blur everything, so both it and the synthesized grain image look noticeably less sharp than the source. The grain itself also looks too much like basic noise, and not really grain like.

dperfect

> both it and the synthesized grain image look noticeably less sharp than the source

That's true, but at a given bitrate (until you get to very high bitrates), the compressed original will usually look worse and less sharp because so many bits are spent trying to encode the original grain. As a result, that original grain tends to get "smeared" over larger areas, making it look muddy. You lose sharpness in areas of the actual scene because it's trying (and often failing) to encode sharp grains.

Film Grain Synthesis makes sense for streaming where bandwidth is limited, but I'll agree that in the examples, the synthesized grain doesn't look very grain-like. And, depending on the amount and method of denoising, it can definitely blur details from the scene.

bee_rider

It seems like a shame that they didn’t include a screenshot of the original (with natural grain), after suffering from low-bitrate streaming. Aka the actual baseline.

I can see why they want to compare against the actual local copy of the video with the natural grain. But that’s the perfect copy that they can’t actually hope to match.

joemi

> It seems like a shame that they didn’t include a screenshot of the original (with natural grain), after suffering from low-bitrate streaming.

Isn't that the image captioned "Regular AV1 (without FGS) @ 8274 kbps"?

Zee2

They did.

999900000999

Since the beginning of film editors have added tricks in post.

I would love for them to provide an option to view it with film simulation vs without.

One of my favorite movies of all time, The Holdovers, did film simulation extremely well. It's set in the '70s so it attempts to look like a movie of that era.

It looked great to me, but if you're an actual film nerd you're going to notice a lot of things aren't exactly accurate.

Maybe in the near future we'll see Netflix being able to process some post effects on the client. So if you're color blind, you get a mode for that. If you don't want fake grain you can turn it off.

ndriscoll

mpv can already do this: `--vf=format:film-grain=no` turns off grain synthesis. There are also people making custom shaders for things like emulating CRT monitors (originally for retro gaming, but I see there are also mpv versions).

bee_rider

Holdovers was pretty great. Sorta like an 80’s school comedy but with the perspective of the adults included, making it a totally different type of movie.

aidenn0

AV1 has tunable FGS levels, and to my eye they went very slightly higher than they should have (though there are tradeoffs; at some bitrates the blurring+renoising is so much better than the other visual artifacts you will otherwise get, that you do want it that high).

A few things to note:

- still-frames are also a mediocre way to evaluate video quality.

- a theoretically perfect[1] noise-removal filter will always look less detailed than the original source, since your brain/eye system will invent more detail for a noisy image than for a blurry image.

1: By which I mean a filter that preserves 100% of the non-grain detail present, not one that magically recovers detail lost due to noise.

hypertexthero

A film that explores this is Antonioni’s Blowup: https://en.wikipedia.org/wiki/Blowup

isx726552

Agree, as someone who has spent way too much time studying the way motion picture film looks up close, this isn’t very realistic looking. It’s really just a form of dithering.

ricardobeat

Video codecs use a lot of tricks based on human perception, perhaps it's much closer to the real thing when in motion vs a still image?

ByThyGrace

Forget the film grain, give us film lint and film hair!

p1necone

Get the retro gaming nerds on this, they'll make a film grain shader that's indistinguishable from reality in no time flat.

dylan604

> and not really grain like

that's an understatement. it just looks like RGB noise effect was added. film grain does not look like RGB noise. to me, film grain is only one part of what gave film the film look. the way the highlights bloom rather than clip. it also was more natural/organic/some descriptive other than the ultrasharp of modern digital acquisition. using some SoftFX or Black Mist type filters help, but it's just not the same as it is a digital vs analog type of acquisition. all of these attempts at making something look like it's not just keep falling down in the same ways. but hey, there's a cool tech blog about it this time. film grain filters have been around for a long time, yet people just don't care for them. even in Blu-ray time frame, there was attempts at removing the grain in the encode and applying it in playback. Netflix isn't coming up with anything new, and apparently nothing exciting either based on the results.

rainworld

These days, when we see noise/grain in an end product it has likely been added in post-production. So, ideally, studios would provide distributors with a noiseless source plus grain synthesis parameters. Bonus: many viewers would welcome an option to turn it off.

dylan604

> provide distributors with a noiseless source plus grain synthesis parameters.

What parameters would that be? Make it look like Eastman Ektachrome High-Speed Daylight Film 7251 400D? For years, people have taken film negative onto telecines and created content of grain to be used as overlays. For years, colorists have come up with ways of simulating the color of specific film stocks by using reference film with test patterns that's been made available.

If a director/producer wants film grain added to their digital content, that's where it should be done in post. Not by some devs working for a streaming platform. The use of grain or not is a creative decision made by the creators of the work. That's where it should remain

bee_rider

Netflix has their own in-house studio, right? The encoding and lossy compression is going to happen anyway. It seems like an easy win, for their directors to provide a description of the grain they want, so it can be replicated on the user side.

Wowfunhappy

> If a director/producer wants film grain added to their digital content, that's where it should be done in post. Not by some devs working for a streaming platform. The use of grain or not is a creative decision made by the creators of the work. That's where it should remain

Why? If you're spending a significant chunk of your bits just transmitting data that could be effectively recreated on the client for free, isn't that wasteful? Sure, maybe the grains wouldn't be at the exact same coordinates, but it's not like the director purposefully placed each grain in the first place.

I recognize that the locally-produced grain doesn't look quite right at the moment, but travel down the hypothetical with me for a moment. If you could make this work, why wouldn't you?

--------

...and yes, I acknowledge that once the grain is being added client side, the next logical step would be "well, we might as well let viewers turn it off." But, once we've established that client-side grain makes sense, what are you going to do about people having preferences? Should we outlaw de-noising video filters too?

I agree that the default setting should always match what the film maker intended—let's not end up with a TV motion smoothing situation, please for the love of god—but if someone actively decides "I want to watch this without the grain for my own viewing experience"... okay? You do you.

...and I will further acknowledge that I would in fact be that person! I hate grain. I modded Cuphead to remove the grain and I can't buy the Switch version because I know it will have grain. I respect the artistic decision but I don't like it and I'm not hurting anyone.

rainworld

And yet here we are: DNR -> fancy grain -> DNR -> basic, approximated grain. Because noise doesn’t compress. And you get compression artifacts even in Blu-ray releases. What’s the point of applying fancy grain when what a lot viewers end up seeing is an ugly smudge?

kmeisthax

[dead]

NoMoreNicksLeft

I'll keep the film grain, I just want to be able to turn off laugh tracks.

kylestanfield

Why is it so rare for technical writing and documentation to explain 1. What the product is , and 2. What the product does. One sentence in the intro can cover this

dperfect

To the comments hating on grain: everything naturally has some amount of noise or grain - even the best digital sensors. Heck, even your eyes do. It's useful beyond just aesthetics. It tends to increase perceived sharpness and hides flaws like color banding and compression artifacts.

That's not to say that all noise and grain is good. It can be unavoidable, due to inferior technology, or a result of poor creative choices. It can even be distracting. But the alternative where everything undergoes denoising (which many of our cameras do by default now) is much worse in my opinion. To my eyes, the smoothing that happens with denoising often looks unrealistic and far more distracting.

dylan604

My issue is that grain is good based on the creative decisions of the creators of the content. It is not something that a group of nerds compressing 1s and 0s should be making

dperfect

I agree. However, let's look at it practically. Let's assume someone is watching content streamed on a low bandwidth connection. As a content creator, what version of the compressed content would you rather your audience experience:

a) Compressed original with significant artifacts from the codec trying to represent original grain

b) A denoised version with fewer compression artifacts, but looks "smoothed" by the denoising

c) A denoised version with synthesized grain that looks almost as good as the original, though the grain doesn't exactly match

I personally think the FGS needs better grain simulation (to look more realistic), but even in its current state, I think I'd probably go with choice C. I'm all for showing the closest thing to the author's intent. We just need to remember that compression artifacts are not the author's intent.

In an ideal world where we can deliver full, uncompressed video to everyone, then obviously - don't mess with it at all!

dylan604

For content that we're concerning ourselves with this level of detail, I'd prefer the old iTunes method of prefetching the file and not stream it. For typical YT content, streaming is fine. For typical sitcom or other content, streaming is fine. For something like a feature that I'm so concerned about the details of grain, I have no problem downloading to play a local version. No, not a torrent.

derf_

The "at scale" part is the real story here. Film Grain Synthesis has been available in the usual AV1 encoders for a while, but required some amount of manual tweaking to avoid creating problems, meaning it was only used in production when you had a very limited catalog, or for particularly important titles. They do not provide a lot of details here about how they overcame those problems, but it is nice to see it being deployed more broadly.

Animats

Film grain needs to die. Its time is past. Sepia photographs and running 16 FPS silent film at 24 FPS are already dead. Next, film grain.

Eastman Business Park in Rochester has been demolished.

Also, please stop putting dust and scratches on YouTube videos. Thank you.

jedbrooke

> This grain, formed from tiny particles during the film’s development, is more than just a visual effect. It plays a key role in storytelling by enhancing the film’s depth and contributing to its realism.

I never understood the “grain = realism” thing. my real eyes don’t have grain. I do appreciate the role of grain as an artistic tool though, so this is still cool tech

kderbe

The article points out the masking effect of grain, which hides the fake-looking compression artifacts, and also the familiarity/nostalgia aspect. But I will offer an additional explanation.

Look around you: nearly all surfaces have some kind of fine texture and are not visually uniform. When this is recorded as video, the fine texture is diminished due to things like camera optics, limited resolution, and compression smoothing. Film grain supplies some of the high frequency visual stimulus that was lost.

Our eyes and brains like that high frequency stimulation and aren't choosy about whether the exact noise pattern from the original scene is reproduced. That's why the x265 video encoder (which doesn't have grain synthesis since it produces H.265 video) has a psy-rd parameter that basically says, "try to keep the compressed video as 'energetic' as the original, even if the energy isn't in the exact same spot", and even a psy-rdoq parameter that says, "prefer higher 'energy' in general". These parameters can be adjusted to make a compressed video look better without needing to store more data.

observationist

People are always trying to rationalize and justify aesthetic preferences. The depth and nuance of your understanding of a thing will change how you perceive variations of that thing, whether it's guitar tonewoods, style of music, types of paint, flavor of beer, or the grain in film. If you know a lot about a subject, you can tell a lot about the history of a thing, and that's going to change how you feel about a thing.

A child watching a Buster Keaton skit and gasping and giggling and enjoying it is going to have a different subjective aesthetic experience of the media than a film critic who knows exactly what type of film and camera were used, and what the meaning of all the different abstractions imply about the scene, and the fabric of Keaton's costume, and so on, and so forth.

Subjective aesthetic preferences are in the realm of cognition - we need a formal theory of intelligence mapped to the human brain, and all of these subjective phenomena collapse into individualized data processing and initial conditions.

There's something about film grain contrasted against clean cel animation which might make it easier for people to suspend disbelief. They are conditioned to think that absence of grain is associated with unreal animation, particular types of media, and CGI. Home video and news and so forth had grain and low quality, so grain gets correlated with "real". In my view, there's nothing deeper than that - we're the product of our times. In 40 years, media will have changed, and it may be that film grain is associated with surrealism, or edited out completely, as it's fundamentally noise.

GuB-42

The way I see it is that grain makes the film look more detailed than it really is, it can also hide compression artefacts and blurriness.

I don't know the psychovisuals behind that. Maybe it adds some high frequencies that compression often washes out, or maybe acts like some kind of dithering.

As for your eyes, I am pretty sure that they have grain, that's how quantum physics work, you just don't perceive it because your brain filters it out. But again, I don't know how it interacts with film grain.

dinfinity

> As for your eyes, I am pretty sure that they have grain

And lots of it, actually. Just close your eyes or look at any non-textured surface. Tons of noise.

The decreasing signal-to-noise ratio is also highly noticeable when it gets darker.

plastic3169

Video signal without the noise or grain is annoying to watch as it makes everything in the ”out of focus” zone look smooth blurry. Your eyes want to focus yet it is an illusion of depth without an actual depth. Noise texture emphasizes that this is just a 2D plane after all so your eyes can rest and the viewer doesn’t feel like they need glasses. This is just my theory of it based on observation. No research behind it.

crazygringo

> my real eyes don’t have grain.

They definitely do at night when it's dark out. There's a kind of "sparkling" or "static" that comes in faint light.

Fortunately, our eyes have way better sensitivity than cameras. But the "realism" just comes from how it was captured using the technology of the day. It's no different from phonograph hiss or the way a CRT signal blurs. The idea is to be "real" to the technology that the filmmaker used, and the way they knew their movie would be seen.

It's the same way Van Gogh's brush strokes were real to his paintings. You wouldn't want his oil paintings sanded down to become flat. It's the reality of the original medium. And so even when we have a digital print of the film, we want to retain as much of the reality of the original as we can.

Wowfunhappy

Your Van Gogh analogy makes sense for old movies. It doesn't quite explain why we're still adding grain to new movies, except for those few which are purposefully evoking older movies.

dmbche

It used to be a bigger deal (when digital cameras started being used) since people felt like digital video didn't look real/as good - movies shot on film were generally better looking (as crews were used shooting with it and digital video wasn't as sophisticated as today) and HAD grain.

It might be that there is a large part of the population that still has that association.

Cinephiles are also more likely to watch older (i.e. with grain) movies that ARE well shot and beautiful (which is why they are classics and watched by cinephiles) and not see bad film movies, only the cream of the crop, while being exposed to the whole gamut of quality when watching todays movies shot digitally. Would reinforce that grain = good while not being necessarily the case - and their opinion might be heard more than gen pop.

At any rate, it can be a neat tool to lower sharpness!

tiluha

Mine do, at least when it's very dark

01HNNWZ0MV43FF

Yeah I've had visual snow, I think only when I'm tired, stood up too fast, dehydrated, etc. https://en.wikipedia.org/wiki/Visual_snow_syndrome

Kina

This reminds me of modern windows having fake panes. They’re just strips that are applied to give the impressions that there are multiple smaller panes because people are used to that and it feels “correct”.

I have to imagine past glassmakers would have been absolutely enthralled by the ability we now have to make uniform, large sheets of glass, but here we are emulating the compromises they had to make because we are used to how it looks.

throw0101d

> They’re just strips that are applied to give the impressions that there are multiple smaller panes because people are used to that and it feels “correct”.

It is more than just 'feeling correct': windows and their various (sub-)elements that make them up (can) change the architectural proportions and how the building is perceived as a whole:

* https://www.youtube.com/watch?v=uAMyUoDz4Og

* https://www.youtube.com/watch?v=_c8Ahs9Tcnc&t=49

It is similar with columns: they're not just 'tall-and-narrow', but rather have certain proportions and shapes depending on the style and aesthetic/feeling one wishes to convey:

* https://en.wikipedia.org/wiki/Classical_order

And these proportions can even be 'fractal': the window panes related to windows as a whole, related to the building as a whole:

* https://www.youtube.com/watch?v=J-0XJpPnlrA&t=3m13s

* https://en.wikipedia.org/wiki/Golden_rectangle

* https://en.wikipedia.org/wiki/List_of_works_designed_with_th...

* https://www.nngroup.com/articles/golden-ratio-ui-design/

UltraSane

I strongly doubt that multiple smaller panes would have ever become a common style if we could have always made large glass panes. This is a perfect example of people becoming very used to a style forced by a technological limitation that is emulated even after the limitation doesn't exist.

haiku2077

My vision is grainy because of visual snow. Which is why I turn off film grain in games, it stacks on my vision and makes a visual mess.

supertrope

When you talk on a cellphone the codec AMR-WB nominally captures 50 Hz - 7000 Hz. However that's only on the optional highest bitrate 23.85 Kbps. The most common bitrate 12.65 Kbps only goes up to 6400 Hz and synthesizes 6400 - 7000 Hz from lower frequencies and noise as it sounds better than not having the noise!

lampiaio

This sent me down a very interesting rabbit hole, thanks!

eviks

> Picture this: you’re watching a classic film, and the subtle dance of film grain adds a layer of authenticity and nostalgia to every scene

It just adds visual noise that obscures details of the authentic scene, and nothing prevents nostalgia from being tied to many of the more prominent visual cues like old actors or your own old memories from when you watched it first...

> contributing to [film's] realism

But there is no grain in reality, so it does the opposite

Otherwise I'm glad AV1 marches along and instead of wasting bitrate encoding visual garbage has an algorithmic replacement mechanism- which also means you could turn it off easier.

kibwen

Documentaries might care about accurately representing reality. For every other cinematic genre, "authenticity" is not an inherent goal. If film grain is part of the director's vision, then that's just as valid as a choice to have dramatic non-diagetic music playing in the background of a scene (which is highly inauthentic, but also highly effective at evoking emotion, which is the point of art).

meatmanek

> But there is no grain in reality, so it does the opposite

Well ackchually -- illumination is inherently random, so all time-bounded captures of a scene (including what your eyes do) are subject to shot noise: https://en.wikipedia.org/wiki/Shot_noise

eviks

You misackchuallied grain with any noise, for example, the bottom right square of the image at the wiki page is not grainy despite being technically shot-noisy

messe

> It just adds visual noise that obscures details of the authentic scene

Does it add any more than modern video compression techniques? What constitutes noise in cinema, is somewhat subjective.

eviks

Which modern compression artifacts that are still visible at high bitrates do you have in mind that would similarly detail-obscuring?

smusamashah

The original grain that is captured is actually a detail and not total random noise. I believe you can make up the vague sense of original scene if you could somehow extract that grain/noise alone.

It's like reducing an image to tiny dots with dithering (reminds of Atinkson dithering). Those grains are not a noise, they are a detail, actual data. That's why real grain looks good IMO.

dan-robertson

This is just a fact of lossy compression: you want to throw away information that contributes less to the perception of the video so that you can describe it with fewer bits of information.

There are two possible advantages for this kind of grain synthesis. For Netflix, they could produce the same perceived quality at lower bitrates, which reduces costs per view and allows customers with marginally slow connections to get a higher quality version. For a consumer, the advantage would be getting more non-grain detail for a fixed bitrate.

You are right that if you subtract the dentists frame from the raw one, showing only the estimated noise, you would get some impression of the scene. I think there’s two reasons for this. Firstly, the places where the denoiser produced a blurry line that should be sharp may show up as faint lines. I don’t think this is ‘hidden information’ so much as it is information lost to lossy compression. In the same way, if you look at the difference between a raw image and one with compression, you may see some emphasized edges due to compression artefacts. Secondly, the less exposed regions of the film will have more noise so noisiness becomes a proxy for darkness, allowing some reproduction of the scene. I would expect this detail to be lost after adjusting for the piecewise linear function for grain intensity at different brightness levels.

Perhaps a third thing is the level of noise in the blacks and the ‘grain size’ or other statistical properties tell you about the kind of film being used, but I think those things are captured in the film grain simulation model.

Possibly there are some other artefacts like evidence of special effects, post processing, etc.

mmastrac

If you extract the grain (e.g. by subtracting a blurred version of the image), the result contains mostly noise, not meaningful scene information outside of some variation according to image brightness. Film grain is random, so the extracted "grain layer" doesn’t encode original image detail but film grain itself encodes relative lightness in its _density_.

_bent

It's a bit frustrating that the footage is first shot, then denoised in post, then renoised in post, then denoised in encoding and then renoised at decoding.

dist-epoch

You worry too much, it's all fake. What you think is the "footage" will be many layers from various sources composited together.

Fake lights, fake shadows, fake sky, ...

sneak

Only if you are aware of it, which 99.9% of people consuming video content are not. It’s simply an unimportant implementation detail (from a viewer’s perspective who doesn’t really care about bitrate-as-cost).

vessenes

I like this. Not really because I feel modern media should have added grain, but because for older media this is a method to get closer to the original but at much lower bitrates without excessive smoothing. What’s not to like?

Also, the author had me at God of Gamblers 2. So good. I will take him up on his recommendation to rewatch.