
Magic Lantern HDR Test with Ginger HDR
2 months ago
EDIT: You can now do this workflow with the beta. The Merger in the zip file has an option to merge the alternating frames into a sequence or EXR files.
After checking out the Magic Lantern HDR footage yesterday (amazing) I decided to do a few tests here. Here's how the shots break down.
1. The original data flickers each frame between an overexposed and underexposed image. The "Underexposed" set is all the, well, underexposed frames.
2. The "Overexposed" set is the same scene but about 4 EV brighter. The original data was 25 FPS. You can think about the Underexposed and Overexposed sets as two separate 12.5 FPS tracks.
3. "Mask" is the generated mask using only the overexposed frame. Rather than blending the two streams using some crazy scheme, we're only going to take data from the Underexposed track only when the Overexposed track needs it.
4. The two tracks aren't sync'd. Hence the ghosting in some videos. Let's pick frame 82. The frames will come in this order:
- Underexposed Frame 82
- Overexposed Frame 82
- Underexposed Frame 83.
So we need to synthesize an Underexposed frame in-between 82 and 83. You could do this intelligently by using optical flow, but I've just done a per-channel MAX operation.
5. The Retimed track brought up by 4 EV and then blended with the Overexposed track using Mask as the mask. Then we get a sequence of EXRs which we can load into After Effects and edit with Ginger HDR. *EDIT: fixed.*
6. Tonemapped. In the interest of full disclosure, the parameters shown in the video don't exactly match the final output. I couldn't resist changing the parameters some more and didn't have time to recapture.
A few points:
1. Personally, I have a religious conviction against raw exposure blending. You shouldn't have the peculiarities of the exposure differential determining what your final image looks like. IMO you should convert to HDR and then tonemap which will give you far greater control of your image.
For example, you can't do the "Contrast" operation from the video properly if you just have two tracks fudged together. With a proper merge to HDR every pixel will move away from the same linear reference point. But with hacky blending every pixel would move away from a different linear reference point. And don't get me started on interpolating clamped/unclamped values, non-monotonically increasing response curves (think about it), and trying to composite CG elements in linear space.
The other gotcha is that with exposure blending you have to make sure that every single edge in both tracks lines up. But if you use one track as your base and only take what you need from the other one then you have far fewer edges to worry about. Do you really want to match up every single leaf blowing in the wind?
2. This video isn't really the best test case. Making clamped-out light bulbs less clamped isn't that exciting. I'm really interested in seeing more daytime shots and fixing skies, shadows, and specular highlights from the sun. The footage is great for showing how Magic Lantern works and what it can do, but it's not so good at showing why you would want to do it.
3. What Magic Lantern has done is really, really cool. Being able to get HDR video out of a Canon SLR is amazing.
4. Frame rate is an issue. In this test, the raw data was shot at 25 FPS meaning the effective output rate was 12.5 FPS. So if we want 30 FPS then we have to shoot at 60 (bummer). Since we are peaked at 1080p @ 30 FPS, and 720p @ 60 FPS, we can only do HDR 1080p @ 15 FPS and HDR 720p @ 30 FPS. Rather, with the Scarlet you should be able to do 3k @ 30 FPS with HDRx if I remember correctly.
5. There should be better ways of blending frames. We should be able to use the information from the other tracks to guide the optical flow solver. If that's the case, we would be able to output at the same FPS that we shoot at, which would be awesome. It will be interesting to see what solutions everyone comes up with. Any fast movement or quick pan or camera shake is going to be interesting.
6. HDR should be something you don't notice. Hopefully, we're all done with the "HDR Look" that we all know and hate. It's fine for a zombie movie, but for me HDR is best used when the viewer doesn't know that you're using it.
7. I'm actually not a big fan of capturing an "Underexposed" and an "Overexposed" track. Rather, I'd prefer an "Even" track and a "Very Underexposed" track. You want to take as little data as possible from the darker track. Just because you can recover all the detail from the dark area under your bed doesn't mean that you should.
Congrats Magic Lantern! Well done.
After checking out the Magic Lantern HDR footage yesterday (amazing) I decided to do a few tests here. Here's how the shots break down.
1. The original data flickers each frame between an overexposed and underexposed image. The "Underexposed" set is all the, well, underexposed frames.
2. The "Overexposed" set is the same scene but about 4 EV brighter. The original data was 25 FPS. You can think about the Underexposed and Overexposed sets as two separate 12.5 FPS tracks.
3. "Mask" is the generated mask using only the overexposed frame. Rather than blending the two streams using some crazy scheme, we're only going to take data from the Underexposed track only when the Overexposed track needs it.
4. The two tracks aren't sync'd. Hence the ghosting in some videos. Let's pick frame 82. The frames will come in this order:
- Underexposed Frame 82
- Overexposed Frame 82
- Underexposed Frame 83.
So we need to synthesize an Underexposed frame in-between 82 and 83. You could do this intelligently by using optical flow, but I've just done a per-channel MAX operation.
5. The Retimed track brought up by 4 EV and then blended with the Overexposed track using Mask as the mask. Then we get a sequence of EXRs which we can load into After Effects and edit with Ginger HDR. *EDIT: fixed.*
6. Tonemapped. In the interest of full disclosure, the parameters shown in the video don't exactly match the final output. I couldn't resist changing the parameters some more and didn't have time to recapture.
A few points:
1. Personally, I have a religious conviction against raw exposure blending. You shouldn't have the peculiarities of the exposure differential determining what your final image looks like. IMO you should convert to HDR and then tonemap which will give you far greater control of your image.
For example, you can't do the "Contrast" operation from the video properly if you just have two tracks fudged together. With a proper merge to HDR every pixel will move away from the same linear reference point. But with hacky blending every pixel would move away from a different linear reference point. And don't get me started on interpolating clamped/unclamped values, non-monotonically increasing response curves (think about it), and trying to composite CG elements in linear space.
The other gotcha is that with exposure blending you have to make sure that every single edge in both tracks lines up. But if you use one track as your base and only take what you need from the other one then you have far fewer edges to worry about. Do you really want to match up every single leaf blowing in the wind?
2. This video isn't really the best test case. Making clamped-out light bulbs less clamped isn't that exciting. I'm really interested in seeing more daytime shots and fixing skies, shadows, and specular highlights from the sun. The footage is great for showing how Magic Lantern works and what it can do, but it's not so good at showing why you would want to do it.
3. What Magic Lantern has done is really, really cool. Being able to get HDR video out of a Canon SLR is amazing.
4. Frame rate is an issue. In this test, the raw data was shot at 25 FPS meaning the effective output rate was 12.5 FPS. So if we want 30 FPS then we have to shoot at 60 (bummer). Since we are peaked at 1080p @ 30 FPS, and 720p @ 60 FPS, we can only do HDR 1080p @ 15 FPS and HDR 720p @ 30 FPS. Rather, with the Scarlet you should be able to do 3k @ 30 FPS with HDRx if I remember correctly.
5. There should be better ways of blending frames. We should be able to use the information from the other tracks to guide the optical flow solver. If that's the case, we would be able to output at the same FPS that we shoot at, which would be awesome. It will be interesting to see what solutions everyone comes up with. Any fast movement or quick pan or camera shake is going to be interesting.
6. HDR should be something you don't notice. Hopefully, we're all done with the "HDR Look" that we all know and hate. It's fine for a zombie movie, but for me HDR is best used when the viewer doesn't know that you're using it.
7. I'm actually not a big fan of capturing an "Underexposed" and an "Overexposed" track. Rather, I'd prefer an "Even" track and a "Very Underexposed" track. You want to take as little data as possible from the darker track. Just because you can recover all the detail from the dark area under your bed doesn't mean that you should.
Congrats Magic Lantern! Well done.
MP4
00:01:03
4 Related collections
| Date | Plays | Likes | Comments |
|---|---|---|---|
| Totals | 10.5K | 59 | 32 |
| Feb 23rd | 9 | 1 | 0 |
| Feb 22nd | 46 | 0 | 0 |
| Feb 21st | 69 | 0 | 0 |
| Feb 20th | 64 | 1 | 0 |
| Feb 19th | 67 | 0 | 0 |
| Feb 18th | 57 | 0 | 0 |
| Feb 17th | 78 | 0 | 0 |
-
Vimeo: About / Blog / Developers / Jobs /
Community Guidelines /
Help Center / Video School / Music Store / Site Map
/ Vimeo
or
-
Legal: TM + ©2012 Vimeo, LLC. All rights reserved. / Terms of Service / Privacy Statement / Copyright

Prev week
What I would say is that people should think about what exposure they actually want before they shoot. I see a lot of photographers just go two stops over and two stops under because that's what some random forum poster told them to do.
So I think we're actually in agreement. If you need to overexpose your base track to get important shadow detail then of course you should do it. But don't overexpose just because everyone else does. Of course, if you're checking everything and using a zebra then you know what you're doing.
Now that I think about it, it would make more sense to overexpose with a Canon workflow than with a Red HDRx workflow. The Canon writes out to compressed H.264 stream so you don't have any "extra" data in your blacks. Whereas with the Epic/Scarlet you have a lossless stream of RAW files on a camera with good DR anyways. On Epic/Scarlet you should be able to pull a few stops from the bottom end if you need them, but with a Canon workflow you've got nothing down there.
I wholeheartedly agree with you that HDR is a tool we should use to overcome the deficiencies of cameras (not being able to see the latitude our eyes can adjust to). Please feel free to join the HDR video group here on Vimeo and submit your videos there as well: vimeo.com/groups/hdrvideo
Anyway,
what about the native canon function called "highlight tone priority" (HTP).
We all know how it works. It takes the highlights from a lower ISO. But there is only 1 f-stop available.
Is it possible for ML to hack this and give us 2 or 3 ISO steps for HTP?
HTP is there to bring down the highlights and it is already a hack-as-feature put there by Canon. I am not sure how this could be exploited further.
Seriously though, the priority is to charge for the After Effects plugin. But I could see making the workflow to convert from the flickered MOV file to a sequence of EXRs a free product though.
For now, you have to merge the frames yourself, and I haven't looked too thoroughly at the other workflows. I did it with a custom program that I threw together. It's not released yet, but I'm trying to get a demo out soon (next week or two).
OMG I'm so confused... As Manbearpigs often are. So you are building a series of EXR's (out of the two exposures), importing them as a sequence into AE, and using your GingerHDR, the two-level merge finds the two exposures within the EXR and builds the mask from that?
Yes, you are partially correct. I'm building a series of EXRs, importing the sequence into AE, and using GingerHDR. The mask is used during the "make into EXRs" step. At that point though it's all merged into just one stream. And in this case I used the Filmic Curve, Local Contrast, and Color Adjustments (contrast), but no Two Level Merge.
Please enlighten us with your thoughts... :)
blendervse.wordpress.com/2011/09/16/8bit-video-to-16bit-scene-referred-linear-exrs/
I can simplify it to 8bit exr's if you have problems with it.
youtube.com/watch?v=nmOPPxe9T2E
Maybe some parameter are AUTO - cause flicker...I think
This make musing Virtual and Avithinth
youtube.com/watch?v=R6PVyK1hQZs
But I like the Idea of this Plugin, and I featured it in my Guide (even though, I didn't payed too much attention to it)
vimeo.com/34444543
How much will it cost when the Beta is over?