FiLMiC Pro’s new LogV2 gamma profile is designed to encode the maximum dynamic range from Apple’s AI powered imaging pipeline.
FiLMiC Pro have shown a solid 11 – 12 stops of dynamic range is possible with the latest generation iPhones using the new FiLMiC LogV2 and FiLMiC’s new “Cubiform” computational imaging process, according to their own dynamic range tests.
The maximum bit rate of FiLMiC Extreme has also been increased from 100Mbps to 130Mbps.
It’s Log, But Not As You Know It
The new FiLMiC LogV2 is log, but not as you know it. The first thing to keep in mind when viewing the uncorrected vs. corrected video, is that the process creating the values that are encoded into the final file is computational. The luminance and chrominance are treated quite independently in the process. This means FiLMiC LogV2 doesn’t look desaturated as you would expect log encoded video to look. Luminance is in fact encoded logarithmically, resulting in extended overall dynamic range being recorded, but the saturation values are much higher than with most log encoded video. FiLMiC LogV2 saturation is also non-linear, it is highest in the midtones and drops off in the shadows and highlights, but the midtones in fact have quite high saturation levels. As you can see from the last frames in the video showing the ColorChecker, I’ve had to reduce saturation to line up the chart on a vectorscope. This is the complete opposite of correcting normal log encoded video.
FiLMiC Pro made a lot of mobile filmmakers happy when they launched the first ever flat and log gamma profiles for smartphones. These profiles carefully remapped 8-bit RGB values coming from the camera before encoding back into an 8-bit container applying a modified gamma curve in the process. The first FiLMiC log looked like what you’d expect from a traditional log encoding, desaturated across the board and susceptible to banding and other issues once those levels are corrected. It is only 8-bit after all.
The FiLMiC Flat profile worked quite well, extended the effective dynamic range to a useful degree and was easy to color correct. It was a good compromise, not as aggressive as log, but offering some extended highlights. This image processing worked on devices back to the iPhone SE / 6S Plus. FiLMiC Flat became my goto profile for pretty much everything. I wrote a hands on review of the first generation FiLMiC log here on cinema5D.
Then came the iPhone XS / XS Max and XR, employing more aggressive AI driven image processing and dynamic tone mapping than any previous devices. For default camera users and average consumers, this technology works wonders out of the box, enhancing low light performance and generally optimizing an image on the fly to look its best without any manual intervention.
The FiLMiC engineers realised they needed to take a different approach going forward, and this has lead to the launch of an entirely new computational imaging module custom built by FiLMiC called “Cubiform”, and two new profiles in FiLMiC Pro version 6.8.0, FiLMiC LogV2 and FiLMiC FlatV2.
Introducing FiLMiC Pro LogV2 and FlatV2
Rather than fight Apple’s new dynamic tone mapping and smart HDR implementation in the latest generation iPhones, the new FiLMiC Pro image processing takes advantage of the extra processing power of the A12 chip, building a 64-bit, high precision space for internal computational processing of the incoming 8-bit luma and chroma data fed from the iOS pixel buffer.
The source iOS image buffer data is only 8-bit, and final encoding is also limited to 8-bit, so FiLMiC have developed a custom processing pipeline that sits between the pixel buffer stream and the encoder, which does a lot of very clever math. This math builds a dynamic model with a higher computed precision than the individual RGB source data points, and ensures that an optimised range of values are output to the encoder.
FiLMiC’s lead iOS imaging developer Chris Cohen explains.
LogV2 is the culmination of years of work done on a proprietary computational-imaging module that we internally call “Cubiform”. Cubiform creates a mathematical environment where we can process the luma and chroma of an image with 64-bit precision.
In the case of LogV2, we use this high-precision environment to construct a luma-map from the 8-bit source. Because the luma-map is derived from a flattened 24-bit RGB vector, the resulting fidelity exceeds the 8-bit precision of the individual Red, Green, and Blue elements. This high quality luminance information allows us to reconstruct the gamma of the identity image using a process called ‘gamma vectorization’. After this operation is complete, we map the 64-bit scalar representation of the image into an 8-bit container for publishing to our encoder. The result, as you have seen, is dynamic range and tonal coherence that seemingly bypasses the sparse data-point problems associated with traditional 8-bit gamma augmentations.
With LogV2, we have chosen to abandon linearization and embrace the dynamic nature of the iOS pixel buffer stream. Instead of attempting to perfectly linearize the image, we modify the native gamma with a delta-augment that results in a spline that resembles a tradition log base 2 profile. Because iOS tone mapping is still active, the gamma spline will occasionally take on sigmoid characteristics. LogV2 produces an image with non-linear saturation: it is greatest at the mid-tones and progressively decays as the luminance approaches the back or white points.
FiLMiC LogV2 Dynamic Range Tests
Let’s take a look at the dynamic range test and the results. The description and details below of the test are taken from FiLMiC Pro’s own documentation.
They used the Xyla 21 stop dynamic range testing chart to measure the FiLMiC LogV2 dynamic range improvements. All test footage was captured at 4k extreme (H.264) with a frame rate of 24fps and a manual white balance of 3800k. Electronic stabilization was disabled and testing was undertaken in a light sealed room.
The testing methodology was as follows:
- The smartphone was held approximately 5-7cm from the Xyla chart with the lens positioned over the third f.stop, which was used to set exposure (we purposely chose to over expose stops 1 and 2).
- Digital zoom was then employed from the rocker so that f.stop 3 completely filled the frame to aid in setting exposure.
- Exposure was then locked, and FiLMiC Pro was zoomed all the way back out.
- They used their live analytics to confirm f.stop 3 was correctly exposed, with f.stop 2 and 1 clipping.
- Smartphone was then placed in a tripod approximately 2.5 feet from the Xyla test chart.
- A clip using the ‘Natural’ curve was recorded.
- A clip using the ‘LOG’ curve was recorded.
- Clips were imported to a computer using iTunes File Sharing to ensure a lossless transfer.
- Using Premiere Pro CC 2019, natural and log clips were composited on top of one another in a new sequence and exported as a still image frame.
The latest generation iPhones have an impressive base dynamic range of approximately 9 stops (Natural). When FiLMiC LogV2 is employed we see approximately 2.5 additional stops enabling approximately 12 stops of dynamic range.
The iPhone SE and 6s Plus see impressive dynamic range improvements. The native base dynamic range of approx. 8 stops sees an increase of 1-1.5 additional stops helping it approach 10 stops of dynamic range .
The Samsung Note 9 has a native base dynamic range of approx 7 stops when HDR is deactivated. With FiLMiC LOG v2 they claim to able to offer approx. close to 9 stops of dynamic range.
FiLMiC LogV2 Workflow Tips
In the past few weeks I’ve been shooting a lot of test charts under a wide variety of lighting conditions, and analysing the recorded image in order to understand the optimal method and workflow to get the best performance out of FiLMiC LogV2 on the iPhone XS Max.
It’s not as easy as it sounds because both FiLMiC and Apple’s own image processing algorithms are making adjustments as lighting conditions change. Tracking what one variable is doing is hard enough, but when multiple variables are changing concurrently, even if they work well together, it takes time to recognise repeatable patterns and predictable behaviour. Only then is it possible to understand and control what’s going on.
Use the Exposure Reticle
I would say the main takeaway I have, is to let the camera do its own thing when it comes to exposure. Don’t fight it. FiLMiC Pro does a very good job of finding optimal exposure all by itself, taking into account the effects of Apple’s local dynamic tone mapping and smartHDR. At this point, your iPhone knows more than you do about what it’s doing to the image. By placing FiLMiC Pro’s exposure reticle over the brightest part of the image (often the sky when outdoors) and locking it there, I almost always have the best dynamic range recorded for the lighting ratio of the scene. It will favor the lowest ISO and lowest shutter speed combination for correct exposure all by itself.
In terms of white balance, I set it using the grey card and lock it.
When using the PolarPro Iris ND 64, which is my goto ND strength for bright sunlight, FiLMiC Pro will automatically set the correct ISO for a 1/48th sec shutter, and even if this was above minimum ISO, it was always optimal, and I haven’t seen noise issues so far.
I have yet to explore low light performance at the same depth I’ve been testing well lit conditions. So that’s another story for another time.
Use of ColorChecker Chart for a Color Managed Workflow
I highly recommend using an XRite Video ColorChecker chart at all times. In fact, I think this is an absolute must. In my experiences the past few weeks, the chart is critical for setting and locking white balance in camera, and for accurate color correction in post. When multiple variables are changing all the time in camera, including the gamma, you need some kind of a trustworthy reference providing a range of greys, black, white and color chips. The XRite Video ColorChecker Passport is ideal for using quickly on the go. Shooting the chart consistently provides the reference you need for correction and shot matching.
FiLMiC have created deLogV2 and deFlatV2 LUTs which you can download for free and work well as a starting point to bring you back to near Rec.709 before manually tweaking curves, hue and saturation to get you perfectly lined up on a waveform and vectorscope.
A combination of FiLMiC’s deLogV2 or deFlatV2 LUT on node one, plus a manual correction on node two allows me to perfectly align a Video ColorChecker chart on most shots under most lighting conditions. Sometimes there are problems, but often this is due to incorrect exposure.
Below is FiLMiC’s own LogV2 demo video.
How to Get FiLMiC Pro and FiLMiC LogV2
The FiLMiC Pro app is available on the Apple App Store and Google Play. For Android devices there is also a FiLMiC Pro Evaluator which will help you determine if your device can run FiLMiC Pro, and which features it supports.
FiLMiC LogV2 and FiLMiC FlatV2 are part of the Cinematographers Kit, which is an in-app purchase for $15.
Science or Snake Oil?
After my tests over the past weeks, I can say that FiLMiC LogV2 does work, and it does preserve an impressive dynamic range from a smartphone camera, especially the latest Apple iPhones.
However, a bit of a disclaimer, I find it takes a fair amount of work to get all the benefits. It’s not a point and shoot process. Shooting a chart is a must for post, and putting the time and effort into color correcting each shot individually is necessary to get the best results.
If you’re into pushing smartphone imaging to the ragged edge, you’ll love FiLMiC LogV2, as long as your white balance and exposure are correct in camera, the files are lovely to grade, despite being only 8-bit 4:2:0, and resist banding and other artefacts you would normally associate with an 8-bit log gamma implementation.
If you follow a color managed workflow, you’ll get some amazing results.
Are you a FiLMiC Pro user? Have you already been using the Flat and Log profiles in the FiLMiC Cinematographers Kit? What do you think? Let us know in the comments.