View Full Version : How to improve an overexposed slightly out-of-focus footage?
WorBry
1st April 2018, 16:26
What camcorder/camera was this shot on incidentally ? And were the sample clips you provided the original clips (assumed to be recorded in mp4 format) only remuxed to mkv ? As you will have observed, Resolve won't import mkv files, so I had to remux to mp4.
I just find it interesting that Resolve does indeed recognize these clips as being full range i.e. when the Data Level interpretation is left at default 'Auto' it imports at 'Full' levels. Normally it doesn't do that with HD-AVC footage and defaults to 'Video' levels regardless.
Edit: Testing other HD-AVC clips I have that were recorded with full range luma (and having yuvj420p pix_fmt flag) I find that Resolve 14.3 does also 'auto' assign them to 'Full' data levels. That's good to know - must have been implemented at some point in one of the recent version 14 updates. Normally I don't rely on 'Auto' and set the Data Level manually.
Anyhow, that would indeed explain why your deleting that first 'levels adjustment' step gave a better result when set at Auto/Data levels. You would need to tweak the other grade parameters in that case though, especially the Saturation adjustments. Also make sure that you export at the same Data Level as import.
Underground78
1st April 2018, 17:09
What camcorder/camera was this shot on incidentally ?
I was shot with a Canon EOS 600D.
were the sample clips you provided the original clips (assumed to be recorded in mp4 format) only remuxed to mkv ?
Original clips are mov that I only remuxed to mkv to cut a sample (because I had MKVToolnix already installed and didn't think about ffmpeg).
As you will have observed Resolve won't import mkv files, so I had to remux to mp4.
Yeah, I noticed that so I used the original clip.
Underground78
1st April 2018, 21:41
Dang, Resolve is really fast at rendering clips. :eek:
Here is the resulting clip and some sharpening tests based on the RaffRiff42's EdgeMerge2 filtering options discussed earlier:
Resolve.mp4 (http://www.mediafire.com/file/vl782892bmi6818/Resolve.mp4)
Resolve+Sharpening1.mp4 (http://www.mediafire.com/file/2drs2f647wlzswu/Resolve+Sharpening1.mp4)
Resolve+Sharpening2.mp4 (http://www.mediafire.com/file/7ogila7zbjv325b/Resolve+Sharpening2.mp4)
Resolve+Sharpening3.mp4 (http://www.mediafire.com/file/4883b3uhc98cpnv/Resolve+Sharpening3.mp4)
I have some trouble seeing any differences between the sharpened clips so I guess I will go with the lightest filtering, that is Resolve+Sharpening3.mp4 if I'm not mistaken.
I will also add back some denoising for the sky using a luma-based masking.
WorBry
1st April 2018, 21:49
You bumped me as I was posting.
Actually (because it's an interesting exercise) I'd also been looking at 'Custom Curves' in place of the 'Multiply-Blend' approach, both in Resolve and using the VirtualDub Gradation Curves filter (imported to AVISynth). One advantage is that it achieves a more natural (i.e. less 'HDR') look and with less colour saturation issues to deal with....but it's harder to get it right. I'll maybe post some results when I'm done.
OK, here's a stab at it using 'Curves'
First done in Resolve (at Video Levels):
http://i.imgur.com/0pXkIudm.png (https://imgur.com/0pXkIud)
So there I applied the same preliminary 'levels adjustment' as the 'multiply-blend' grade, then the 'custom curve' (YRGB), followed by some 'midtone detail' boost and a little added (global) saturation, coupled with a qualifier on the patches of blue sky to smooth out some posterisation that was coming through.
And here's an attempt to produce something similar using the VirtualDub Gradation Curves plugin:
http://members.chello.at/nagiller/vdub/index.html
Need to use Version 1.46 Beta for Win7 and above. I used the 'deep color' version of VirtualDub - VirtualDub2 (formerly VirtualDub_FilterMod) since it imports the sample HD-AVC clip directly and automatically detects and maps the full range luma on conversion to RGB.
Here's the curve I came up with:
http://i.imgur.com/w49Du4cm.png (https://imgur.com/w49Du4c)
...which I saved as an .acv file. I then imported the curve string (copied from the saved processing settings script) into AVISynth using the LoadVirtualdubplugin filter (pointed to the 'gradation.vdf' plugin file)
The AVS script:
Source
ConvertToRGB(matrix="PC.709")
VD_GradationCurves(1,"000203050608090b0c0e0f1112141517..very long string...")
HSVAdjust(sat=1.24)
ConvertToYV12(matrix="Rec709")
S=last.NonlinUSM(z=6, str=1.2, rad=0.6).Sharpen(0.3)
EdgeMerge2(S, maskthr=40, strength=1.0, showmask=false)
Result:
http://i.imgur.com/B7XvD8Hm.png (https://imgur.com/B7XvD8H)
Same with a bit stronger sharpening:
S=last.NonlinUSM(z=6, str=1.4, rad=0.6).Sharpen(0.3)
EdgeMerge2(S, maskthr=40, strength=1.0, showmask=false)
http://i.imgur.com/EoZpthAm.png (https://imgur.com/EoZpthA)
Looks reasonable, but I think it really would benefit from some 'local contrast enhancement' akin to the 'midtone detail' boost I applied in the Resolve grade.
Based on the examples of NonLinUSM usage given here:
http://avisynth.nl/index.php/NonlinUSM
I tried those two 'Local Contrast' settings and they were way too strong. A milder 'enhance' setting:
NonlinUSM(z=3, pow=1.0, str=0.25, rad=9)
...appeared to do some good:
http://i.imgur.com/TyYG1CEm.png (https://imgur.com/TyYG1CE)
and followed by some edge sharpening:
NonlinUSM(z=3, pow=1.0, str=0.25, rad=9)
S=last.NonlinUSM(z=6, str=0.8, rad=0.6).Sharpen(0.3)
EdgeMerge2(S, maskthr=40, strength=1.0, showmask=false)
http://i.imgur.com/yUqHxJXm.png (https://imgur.com/yUqHxJX)
But I was really stabbing in the dark there.
Underground78
1st April 2018, 22:00
Looks quite good I must say. It might even be a tad better at making the details of the green kilt pop up than the 2-pass multiply-blend version using Resolve.
WorBry
1st April 2018, 22:29
Here is the resulting clip and some sharpening tests based on the RaffRiff42's EdgeMerge2 filtering options discussed earlier:
Resolve.mp4 (http://www.mediafire.com/file/vl782892bmi6818/Resolve.mp4)
Resolve+Sharpening1.mp4 (http://www.mediafire.com/file/2drs2f647wlzswu/Resolve+Sharpening1.mp4)
Resolve+Sharpening2.mp4 (http://www.mediafire.com/file/7ogila7zbjv325b/Resolve+Sharpening2.mp4)
Resolve+Sharpening3.mp4 (http://www.mediafire.com/file/4883b3uhc98cpnv/Resolve+Sharpening3.mp4)
I have some trouble seeing any differences between the sharpened clips so I guess I will go with the lightest filtering, that is Resolve+Sharpening3.mp4 if I'm not mistaken.
I'd go with Resolve+Sharpening3 myself. Like I said, maybe a bit on the 'HDR look' side, but that's not a bad result is it, considering ? Out of interest, what did you reduce the (global) Saturation to ?
I will also add back some denoising for the sky using a luma-based masking.
Really? I thought the skies came out relatively clean. Anyhow, up to you. I wouldn't go at it too much though. BTW, to denoise in Resolve you'd need to purchase the Studio version.
Underground78
1st April 2018, 22:44
Like I said, maybe a bit on the 'HDR look' side, but that's not a bad result is it, considering ?
Yeah, pretty good I would say. Thanks for you help with it! :thanks:
Out of interest, what did you reduce the (global) Saturation to ?
Somewhere between 38 and 40 but I don't remember exactly what I ended up choosing... I also reduced the skin-tone saturation from 35 to 30 I think.
Really? I thought the skies came out relatively clean. Anyhow, up to you. I wouldn't go at it too much though. BTW, to denoise in Resolve you'd need to purchase the Studio version.
I can see artifacts in the sky that I find annoying because they catch my eyes. I will use AviSynth to apply this filter.
Edit: I think I might add "NonlinUSM(z=3, pow=1.0, str=0.25, rad=9)" in addition to the edge sharpening, I think it helps.
Edit 2: In fact I think I might lower a bit more the global saturation so that it looks a bit less HDR.
WorBry
2nd April 2018, 00:02
Looks quite good I must say. It might even be a tad better at making the details of the green kilt pop up than the 2-pass multiply-blend version using Resolve.
Well, in terms of overall balance between foreground and background it's a reasonable compromise - best I could come up with anyway. The Resolve grade is obviously the better result, for the reasons stated.
I tried to preserve the mid-tone linearity as much as possible to avoid screwing up the skin tones. The trickiest part was shaping the highlight portion of the curve to get optimal pull-down whilst minimizing posterization in the sky gradients.
Anyhow, it was really to see how well it could be replicated with AVISynth. Of course, you could also do the in processing in VirtualDub - at least the curve and saturation adjustments and maybe the sharpening - VirtualDub2 comes with Shekh's own Unsharp Mask, but I haven't really played with it.
WorBry
2nd April 2018, 00:25
Somewhere between 38 and 40 but I don't remember exactly what I ended up choosing... I also reduced the skin-tone saturation from 35 to 30 I think.
.....Edit 2: In fact I think I might lower a bit more the global saturation so that it looks a bit less HDR.
Up to you. I'd say 38 for the global sat and then 35 on the skin tone mask looks good. But you should also tweak the mask accordingly. At those settings I'd suggest dropping the saturation qualifier to Low 2.9/High 16.8, the Luminance to Low 50/High 71.5 and widen the Hue to 9.3 (Soft 4.2).
Edit: I think I might add "NonlinUSM(z=3, pow=1.0, str=0.25, rad=9)" in addition to the edge sharpening, I think it helps.
Adding that line to the VDub curves script was just a desperate attempt to add some form of 'clarity'. You shouldn't need it with Resolve. Increase the 'Midtone Detail' a tad if you want more local contrast, but too much and it will look even more 'HDR'.
Underground78
2nd April 2018, 10:23
Up to you. I'd say 38 for the global sat and then 35 on the skin tone mask looks good. But you should also tweak the mask accordingly. At those settings I'd suggest dropping the saturation qualifier to Low 2.9/High 16.8, the Luminance to Low 50/High 71.5 and widen the Hue to 9.3 (Soft 4.2).
Ok, I have used those settings. It does look fine. :thanks:
WorBry
2nd April 2018, 16:16
Sounds good. But it was just to stress that whatever global saturation level you choose you will need to tweak the skin tone mask accordingly. An alternative method is to create the skin tone mask on the node before to the one that is currently being used to make the global saturation adjustments (which can be deleted). From that you add an 'outside node' which creates an 'exclusion mask' i.e. includes everything but the skin tone mask. That way you can use these two nodes to adjust the saturation of the skin tones and "everything else" independently, and you don't have to keep tweaking the mask - unless of course you make other adjustments 'upstream'.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.