I shot V-Log L on the GH4 and graded it back to match Cinelike D, comparing internal and external recording. Yes, external ProRes recording helps; yes, 10-bit recording makes a difference. But that doesn’t mean that internally recorded V-Log L is unusable.
Early test footage from the Panasonic AG-DVX200 indicated that V-Log L — the log profile Panasonic is deploying across its line of cine cameras — resulted in somewhat noisier images than shooting in one of the WYSIWYG gammas such as Cinelike D. This is to be expected: compared to recording the normal image, recording a flat version of a higher-dynamic-range image in a subset of an 8-bit number space, then stretching it back out to a full-contrast picture, is likely to result in certain artifacts, of which boosted noise is a strong possibility. The big question this raised was whether, and to what extent, external recording might mitigate these artifacts: would a greater bit depth and a less lossy codec markedly improve the quality of a V-Log L image?
With new firmware adding V-Log L capability for the Panasonic DMC-GH4, we have a handy testbed: the GH4 records 8-bit 4:2:0 H.264 video internally, but it can also output 8-bit or 10-bit uncompressed video over HDMI.
I decided to shoot V-Log L and record it three ways — internally at 8 bits, externally at both 8 and 10 bits — and grade it back to match the Cinelike D gamma, and see what difference the recording method made.
The Problem in a Nutshell (OK, a rather large nutshell)
The GH4 in its normal gammas captures about 10 or 11 stops of dynamic range, which it records using between 219 – 255 levels of brightness, depending on the luma range selected in camera. V-Log L captures about 12 stops but squishes it down to 160 brightness levels: V-Log L uses full-range 0–255 recording, but black sits around 7% and white clip is at 80% on the WFM, a range of 32–192 in the 8-bit files (the range above 80% is used by the full V-Log curve on the Varicam 35). Compared to normal gamma curves, V-Log L uses only 73% of the available levels in video-range 16–235 encoding, or 63% of the levels in full-range 0-255 encoding
Just looking at the numbers, that’s about 20 to 23 brightness levels per stop for normal gammas (depending on whether you use video-range or full-range encoding), but only about 13 levels per stop for V-Log L.
Yes, I know: gamma curves aren’t log curves and you can’t just divide levels by stops. There’s a nonlinear relationship between a gamma curve and a log curve, and the brightness level allocation per stop in the shadows versus the highlights differs between the two. I’m not trying to describe exact transfer curves here; I’m simply taking a rough measurement of the amount of dynamic range we’re trying to capture and the number of brightness levels we have to capture it in. The upshot of all this handwaving is that you have about 2/3 as many levels per stop, on average, in V-Log L compared to a normal gamma: you have a coarser brightness encoding with the log capture than with the gamma capture.
When you go into post with that log image and grade it back to a viewable contrast, you’re essentially stretching those 160 levels out to full a 255-level image (actually, it’s even worse; remember you have an extra stop of information, so to match the “normal” original you’ll stretch some of the log image into “superwhite” territory above 255 or “superblack” territory below 0, ignoring any S-curving you might do to preserve that information. And yes, I’m using full-range, 0–255 images as my common reference for this discussion). Put another way, you’re boosting the contrast of the log image by about 50% on average to get it back to a “normal” image.
Two artifacts typically result from such stretching: more visible banding in gradients, and a boosting of noise.
Banding is a fairly straightforward artifact: bigger steps between brightness levels are easier to see than smaller steps. The result is a slight posterization effect, most visible in gentle gradients, where brightness and/or color change in discrete steps instead of a smooth ramp. Banding may occur in brightness or in color, or in both.
The noise issue is a bit more complex. Noise will get boosted along with the signal, but the character of that boost varies with the amount of noise. Low-amplitude noise, of the same general magnitude as the quantization levels (those steps between brightnesses), might register as +/1 brightness level whether the signal is log-encoded or gamma-encoded. The log signal’s noise gets stretched a full 50% when graded, since the noise is comparable to the step size between brightness levels, so what was originally a 2-level total change in the image becomes a 3-level change.
Heavier noise, spanning many brightness levels, will be captured more proportionately, and the change in quantization step size will have less of an effect on the resulting image. If the sensor’s output has 5% noise, that noise might be captured using roughly 12 steps in a gamma-encoded image and 8 in log. The 8-step noise in the log image stretches out to 12 or 13 steps when graded, a slight increase compared to the gamma-encoded noise but not nearly a 50% increase. Yes, the coarseness of the original quantization still contributes to the added noise, but that contribution diminishes in importance as the amount of noise increases.
Noise and banding interact, too: the cleaner the image is, the more banding will be apparent; the more noise, the less visible the banding. Noise acts as a “dither signal” to mask visible quantization steps, allowing acceptable images even with low-bit-depth capture and codec-induced losses. (When the Canon XL1 DV camcorder came out, its exceedingly clean images were plagued with visible banding. The solution? Boost the gain to add some noise to the camera’s signal, and hey presto: problem solved. Using the XL1 at +6 or +12dB to shoot anything with gentle gradients became accepted practice.)
Add to this mix the effects of high compression: The GH4’s H.264 codec gets its efficiency, in part, by looking for minor level differences in the image’s brightness and color, and merging them or throwing them away. However, aggressive grading — converting log to gamma and then boosting contrast and chroma counts as aggressive grading — amplifies the small differences that the codec elides, making initially insignificant compression errors more visible.
None of this is unique to the GH4, by the way; it’ll be a concern with any 8-bit capture system shooting V-Log L or similar log curves.
Early reports from V-Log L shooters have been equivocal: the reviews on Panasonic’s site have not been entirely praiseworthy. There’s a discussion at dvxuser, from which I extracted the transfer curve linked above, blaming V-Log L for all kinds of evils (around page 11, it’s discovered that a lot of the problems may be due to the post pipeline in use, but the arguments go on for at least another 17 pages, generating far more heat than light). Yet others are quite happily shooting V-Log L and posting attractive-looking clips online. What gives?
How bad are V-Log L’s potential problems in practice? Are banding or boosted noise serious problems in the GH4’s V-Log L clips?
Is the codec a major factor: if we record the same 8-bit signal externally with less compression, how much better will it look?
Is the bit depth an issue: will recording a 10-bit signal result in a visibly better image than recording an 8-bit signal?
I set up the GH4 looking at a DSC Labs Cine-ChromaDuMonde 24+4 chart. The Cine-CDM has both a log ramp and a stepped gamma-encoded grayscale as well as a range of color patches; I like the ramp as it makes it easy to see when banding might occur as well as providing a continuous range of brightnesses in which to look for noise.
I recorded clips using Cinelike D, the most Rec.709-like gamma curve in the camera, and also using V-Log L in a custom picture profile (created using the version 2.3 / Image App hack — no longer possible with version 2.4 — as I don’t yet have my official V-Log license key). I did most of my tests in HD ETC mode, using a pixel-for-pixel center-cut of the sensor, as that gave me the same raw per-pixel noise as shooting in 4K, but I also did some testing at 4K, taking a pixel-for-pixel sample and also downsizing the 4K image to HD. All clips were shot with default settings: sharpness and noise reduction at 0.
I recorded both curves internally as 8-bit 4:2:0 H.264, externally as 8-bit 4:2:2 ProRes422, and externally as 10-bit 4:2:2 ProRes422, using both Convergent Design Odyssey 7Q+ and Video Devices PIX-E5 recorders (the two external recorders gave identical results, not surprising as both their ProRes implementations had to be approved by Apple).
Each round of tests was shot at ISO 400, ISO 1600, and ISO 6400, spanning the range of available ISOs for V-Log recording on the GH4.
I captured most internal footage at 50 Mbit/sec, but also tested ISO 400 at 100 Mbit/sec in HD and 4K, and 200 Mbit All-I-frame in HD.
I took all the clips into Resolve 12, where I applied Panasonic’s suggested LUT to the V-Log material. I then graded the V-Log material to roughly match the Cinelike D clips in terms of tonal scale and overall color saturation. Note that the purpose was not to make the prettiest picture possible, only to match the look of Cinelike D; this was a technical grade for comparison purposes, not an artistic grade.
I played back the clips for A/B comparisons between Cinelike D and graded V-Log L across different recording formats and bit depths.
The PIX-E5 let me load Panasonic’s VLog_to_V709_forV35_ver100.cube LUT (yes, that’s the suggested LUT: the zipfile says “forGH4”, but the enclosed LUTs all say “forV35”) for onscreen correction, so I could see what Cinelike D, unprocessed V-Log, and LUTted V-Log looked like directly (the same LUT applied in Resolve or FCPX using Pixel Film Studio’s LUT Loader does exactly the same thing, so I trust Video Devices is doing it right). I exposed the chart in Cinelike D to put the whites at 90% (the GH4‘s own meter said this was the correct exposure) then switched the picture profile in the camera without adjusting exposure.
V-Log L, no LUT
V-Log L, with LUT
(There’s some moiré in the last two shots; the diagonals in the 2nd shot and red/cyan patterning in the 3rd are artifacts of shooting the screen with a single-chip camera.)
Interestingly, the LUT doesn’t completely “709-ize” the tonal scale; compared to the Cinelike D image, there’s still some highlight compression and some black stretching going on. Note, however, that all the profiles on the GH4 other than Cinelike D do a similar thing.
Also observe the very different color renditions of Cinelike D and V-Log L with the Panasonic LUT. Cinelike is fairly 709-ish, while V-Log’s reds are emphasized by comparison (or, put another way, every other color is reduced). This may be one reason some people are reporting improved skintone rendering in V-Log L.
The GH4, flipped to V-Log, told me the chart was 1/3 stop overexposed. Panasonic says that midgrays in V-Log should be at 42% on the WFM. Mine are around 46% or so, so my GH4’s meter appears to agree with Panasonic’s recommendation (grin). I found that, even at this “1/3 stop over” setting, I had a full stop more highlight headroom than in Cinelike D.
When I set my GH4‘s zebra to 80%, the zebra appeared right at the point where clipping started, making it a perfect overexposure warning for V-Log L shoots.
The PIX-E5 recorder reports signal bit depth on its info display, a handy confirmation that I had the HDMI output set up properly in the GH4:
Bringing the clips into Resolve and applying the LUT, I executed a coarse grade to get the tonal scales to match reasonably closely. I found myself tweaking offset, gain, and gamma, and also adding a black-stretch curve to the extreme shadows to better match the look of Cinelike D.
I didn’t try to match Cinelike D’s color rendition; I left the color rendering as it was, choosing to match the overall saturation only.
Interestingly, 8-bit and 10-bit captures show slightly different color balances:
These differences were identical across both external recorders. As a result, I had to tweak the colors slightly to get neutral-ish grays across all my images.
For each range of tests, I’ve extracted slices of the test chart, divided in two (a highlights slice and a shadows slice) to fit to constraints of PVC’s 640-pixel-wide images while still showing pixel-for-pixel images:
- Yes, there’s a bit more noise throughout the V-Log clips, most noticeable at lower ISOs.
- V-Log L recorded internally shows more green/magenta noise.
- There’s no obvious banding in any of the images.
Next: there’s even more!
Playing back the clips instead of just pixel-peeping stills tells a more complicated story.
At low ISOs, the V-Log images are slightly noisier. But at higher ISOs, the Cinelike D clips look noisier to me. While the V-Log clips still have higher levels of fine, pixel-sized “grain”, the Cinelike D clips appear to have a coarser, blotchier noise, more in chroma than luma, and this leads to an impression of more noise overall (see also this test, which shows a similarly counterintuitive result).
The noise in the deep shadows was emphasized by my added curve to depress the darkest areas. I tried taking that curve out, and the noise in the deep shadows lessened, though the black level crept up. There was still slightly more noise overall, and the V-Log L clips didn’t match the Cinelike D clips as closely.
Cinelike D looked very much the same whether recorded internally or externally. Not so with V-Log: internal clips show more green / magenta noise and banding during playback. While there’s a tiny bit of green / magenta noise in externally recorded V-Log, and in Cinelike D images, it’s nowhere near as visible — or as posterized — as it is in internally-recorded V-Log clips. It’s likely this is caused by the H.264 codec’s discarding or merging of very subtle changes in the color channels, amplified by the subsequent gain and saturation boosts in grading.
Surprisingly, 8-bit and 10-bit ProRes clips looked equally good on my MacBook Pro’s display. I had expected to see visible banding in the 8-bit clips, but I didn’t: even 8-bit internal clips showed none (as long as I moved past the head of the clip: all the initial frames of internally-recorded clips look noticeably worse, as the codec hasn’t yet come up to speed with its predictive optimizations. Even the 200 Mbit All-I clip took several frames to reach its best quality: although each frame is compressed individually, the codec uses statistics from prior frames in setting up its quantization levels).
When I played the footage to my HP L2480zx Dreamcolor display, I thought I could detect a slight bit of banding in the ISO 400 8-bit ramps, but only after leaving it for a day and coming back with fresh eyeballs, and even then I wasn’t sure. The WFM in FCPX told the story:
Stairstepping on the upper third of the ramp is apparent on the 8-bit V-Log L recordings, though the noise on the internal clip masks it somewhat. 10-bit recording clears it up very nicely. At ISO 1600, the stairstepping is quite clear on both 8-bit V-Log L clips; at ISO 6400 all the clips are noisy enough that no stairstepping is visible, even on the 8-bit external recording.
So, yes, 10-bit recording makes a difference. It’s a very subtle difference in this particular test, so subtle I nearly missed it altogether, but it’s there. I’ll have to go out and shoot some blue skies to see if I get an XL1-worthy difference on real-word material. The GH4 isn’t XL1-clean, so its inherent noise does a fair job of visually masking posterization even at lower ISOs, but the posterization is lurking there nonetheless.
I also saw differences in 8- vs 10-bit clips by boosting contrast to extremes (e.g., to 1.9 in Resolve). Here’s the 8-bit clip:
And here’s the 10-bit clip:
Chroma noise is much finer in the 10-bit recording, but I had to push the image this far before it became noticeable.
Conclusions and Caveats
Yes, shooting V-Log L adds some noise to the picture. Yet at high ISOs, V-Log L pix may look less noisy than Cinelike D pix, due to the different structure of the noise in the two different encodings.
(As with other log cameras, many folks are finding they get better noise performance in GH4 V-Log by overexposing a stop or two compared to what the meter tells ‘em to. I didn’t do so in this test, but I had over two stops of headroom I could have exploited had I wanted to. Just use the 80% zebra to detect when you’re starting to clip, and you should be fine.)
Banding wasn’t a significant issue in this test, but it is present in graded 8-bit V-Log L material. With subtle, colored gradients, or more aggressive color correction, the difference between 8-bit and 10-bit recording might be more evident; more testing is needed to see how much of an issue it is in real-world situations.
The most visible issue with V-Log L internal recording, once the clips are graded back up to normal saturation and contrast, is added green / magenta noise. As external recording virtually eliminates this noise, I’d put it down to the H.264 codec’s high chroma compression.
V-Log L’s color is quite different from Cinelike D’s color, and even with the recommended LUT the resulting tonal scale and color rendering aren’t very 709-like. Whether you consider this a plus or a minus is up to you.
I shot with the default noise-reduction setting in the camera. Adjusting that control might make a noticeable difference in how V-Log L images survive recording and processing.
Your post pathway may have a large impact on what you see. In the dvxuser discussion, people reported that Adobe Premier seemed to do a much worse job of image processing than After Effects, Resolve, or FCPX (that discussion is heavy on accusation and light on evidence, so don’t put too much trust in it). I’ve only tested Resolve and FCPX myself, and both seemed to work equally well.
Finally, while the scuttlebutt has it that the version 2.3 hack I’m using and the official licensed version of V-Log L yield the same results, they may not.
While you do need an external 10-bit recorder to get the most quality possible from V-Log L, that doesn’t mean V-Log L captured internally is unusable: there are people happily working with internally-recorded V-Log.
V-Log L is noisier than Cinelike D when graded to match Cinelike D, but it’s not dramatically noisier. 10-bit recording makes a difference, but the GH4’s image is noisy enough that 8-bit banding isn’t glaringly apparent after normal grading. The most apparent potential problem appears to be green / magenta noise and posterization on internally-recorded V-Log images graded back to normal or beyond, but the seriousness of the problem seems to vary considerably depending on (a) your post pipeline, (b) the severity of your grade, and (c) how much of a pixel-peeper you are.
V-Log L capture a wider swath of information using a narrower brightness and color range, so yes: there are tradeoffs. If you spend your time looking for defects, you’ll find ‘em. But if you’re more interested in adding another tool in your toolkit, V-Log L looks like a worthwhile upgrade. As with any tool, you can injure yourself if you don’t use it properly, but if you understand what it can do for you and learn how best to exploit it, it’ll let you do things you couldn’t do before.
Disclosure: I’m a beta tester for Convergent Design, and I helped design the UI and wrote some of the software for the Video Devices PIX-E recorders. Thus I have “material connections” to both Convergent Design and Video Devices, thanks to which I have their recorders handy. I bought my GH4s myself; I have no material connection to Panasonic, to the extent I can’t get so much as the time of day from their Lumix division (I have tried).