Content-Aware Film Degraining

In the year 2000, I wrote a short movie called “Conflict of Spirit”. The story revolved around a man caught up in the world of finance. He was beginning to question the morality of his profession. The embodiment of his anxiety manifests in the film as a cloaked, wraith-like figure, stalking through the streets of the Square Mile, brutally slaying financiers who have sacrificed their own ethics for pure financial gain. Pretty uplifting stuff, right? ;o) [ Link to Screenplay to be added here ]

The setting for this short film was the deserted night-time streets of a banking district. I went on a rogue shoot to film a rough cut for the movie. It was shot on location in the City of London – around the Bank of England, infact. I had to set my DV camera to “night-shooting” mode, which uses an infra-red sensor to pull in decent contrast in low-light conditions.

A side-effect of the night-time sensor is that it produces extremely noisy (ie. grainy) video. To combat this, I set to work on a denoising algorithm that would do a good job degraining even very noisy film and video content.

A core problem in denoising an image-sequence stems from the fact that most visible noise typically has a high-frequency signature in the signal. But the image-content itself also contains lots of high-frequency components – especially around edges and corners in the image. Because of this, denoising algorithms can easily mistake image-content for noise, blurring interesting image features (edges, corners) when they should be left untouched.

The denoising algorithm demonstrated in the video above works by performing multi-resolution analysis with a carefully-selected convolution kernel. This is able to separate the high-frequency signal from the noise in an image sequence. The result is a matte, which is generated dynamically based on the unique content in each and every frame. This matte tells the algorithm which parts of the image contain important data (edges & corners), and which parts are noise that should be removed.

The algorithm works on any type of input image, from any type of sensor. It will denoise digital CCD image data as readily as film-scans shot on 35mm, 70mm or VistaVision analogue film-stock. The analysis is adaptive and tuneable, enabling a pleasing result even on extremely noisy such as that in the video above.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>