Generating pixel values for high contrast film

Forum covering all aspects of small gauge cinematography! This is the main discussion forum.

Moderator: Andreas Wideroe

Post Reply
carllooper
Senior member
Posts: 1206
Joined: Wed Nov 03, 2010 1:00 am
Real name: Carl Looper
Contact:

Generating pixel values for high contrast film

Post by carllooper »

So this problem is how to read a film's characteristic curve in order to work out what pixel values I should generate on the computer screen to produce an otherwise normal contrast result on otherwise high contrast film (on Kodak 3374).

Image

So this diagram is a little complicated.

Along the bottom are pixel values, fitted to stops (or EV values) as measured off a 'normal' contrast computer screen. The range of the screen is 7.5 stops. These are then projected up (along the orange lines) onto the characteristic curve (the black S curve) for a particular film (Kodak 3374), where they take a left turn and project across onto the density scale. The original density scale (faint grid) is Kodak's log10 scale, but I prefer a log2 scale (EV scale) which I've got on the right side of the graph and that I've marked with some light transmission percentages. Either way this shows how the film would drastically alter the otherwise even distribution of EV values along the bottom of the screen.

We see that most of the EV values (re. pixel values) would be pushed out into the low density and high density region of the film, leaving only half of the original pixel range spread out across most of the density range, ie. demonstriating a high contrast result. To otherwise obtain a normal result on such high contrast film the graph models the following:

1. Turning the contrast down on the computer screen (to squeeze the signal into a smaller range of 5.5 stops) and
2. Changing the pixels to compensate for the harsh high contrast curve

The EV/pixel remapping is represented by the blue lines in the graph. Once again we begin at the bottom, with the 7.5 stop range of input EV/pixel values, and projected up along the orange lines, but this time, instead of taking a left turn at the S curve (which would shows us the high contrast result) we take a 90 degree turn at the blue diagonal line instead. We then follow the corresponding blue line to the S curve, where we then take another 90 degree up to the top of the graph. Here is where we meet the range of pixels representing the low contrast computer screen (5.5 stop range) . This tells us what corresponding pixels in the 5.5 stop range to display (ie. on the low contrast screen). In other words, if we use the top range pixels as a replacement for the bottom range pixels, as modeled in the graph, we should then get on film what looks like the bottom range pixels (a normal contrast image) on what is otherwise high contrast film.

In the blue lines hitting the top (each representing one stop) we see that it's the reciprical distribution of what would otherwise be produced in exposing unmapped pixels. Most of the information is squeezed into the centre of the range, compensating for what the film would otherwise do (which is to stretch them out). We only have to follow the lines back down to the S curve and across to the density scale to see that the stretchy film would now unsqueeze this new pixel range back into an even distribution, ie. into what we're after. All that's left to to do is translate this into computer code - or just into an After Effects curve, that would pre-process the digital source ready for lensing onto the film.

However there's still one final map I need to make which is in relation to the print stock. I don't have the film spec info on that stock yet. While the above should make a nice even distribution of densities on the camera stock I need to look at how these will print on to the print stock. Might be fine. Might not be.

Speaking of which (printing) is the last part of the puzzle. Doing colour separations on the computer which will then be lensed on to the aforementioned panchromatic stock, in preparation for multi-pass contact printing onto colour stock. This one had me going around in circles for a few hours (with some bizarre colour results in the computer simulations) but eventually got it sorted:

Image

The cool thing here is that an otherwise 1920 x 1200 screen that I'm using, becomes a 5760 x 1200 screen, since each colour component of the screen (RGB) can have it's own greyscale value. Not that I have any digital video shot at that definition, but I can certainly generate some computer animation at that definition, ie. to exploit/demonstrate the extra definition such supplies. But what I will have is film digitally scanned at that definition (5K).

The only vagrancy in the colour separation process is that the Bolex camera I'm using isn't pin registered. So there could be some vertical colour fringing. We'll see.

The final trick is creating two images (or more) for each source image - and double exposing them onto the film - the purpose of which is to increase the bit count on the pixels (or dynamic range as one might otherwise call it). This is because the remapped pixel values are digitally squeezed (to compensate for the high contrast film), and this reduces the bandwidth of the original signal - effectively halving it. By generating two images of the source instead, and exposing one for twice the length of the other onto the film (having remapped one by one stop accordingly) the bandwidth of the original signal is restored, and will therefore avoid staircasing on otherwise smooth gradients in the source. A little Floyd-Steinberg dithering thrown in is the alternative (or in addition).

Of course all of this is by way of a obtaining a normal result. The more philosophically interesting result starts when all of this is then creatively bent into an abnormal result.

C
Carl Looper
http://artistfilmworkshop.org/
Post Reply