Chroma Keying

Written by Doruk Saglam on .

This little tutorial here I’m sharing, will hopefully give some of you guys a little speed while doing some challenging keys. I assume some of you might have already found this solution but I wanted to share this tutorial anyway. I hope this tutorial will help some of you guys out there.


This tutorial will show you a way to generate a key on your plates only using the plates’ chrominance values.





So we all know that a picture has both chrominance and luminance values.


Chrominance (from Wikipedia):

Chrominance (chroma or C for short) is the signal used in video systems to convey the color information of the

picture, separately from the accompanying luma signal (or Y for short).


Luminance (from Wikipedia):

Luminance is a photometric measure of the luminous intensity per unit area of light travelling in a given direction. It describes the amount of light that passes through, is emitted or reflected from a particular area, and falls within a given solid angle.



Luminance pass(left) - chrominance pass(middle) - final image(right)

*image from wikipedia



As we see in the example above when we multiply the luminance pass with chrominance pass, we achieve the image itself. What we do in this process is to revert that process. We take the image and divide it by it’s luminance pass. It gives a good result unless the pixels have black values. In that case it can not reveal the color from black pixels.





Here we have an everyday scenario where we receive a greenscreen plate with different lighting.





When we apply Primatte directly on to the footage we get an output like the image below. If we push the Bg noise cleaning, we will see that it will start clamping from the core matte.



Apply Primatte


Clean Bg Noise


After we clear all the background noise with Primatte we can clearly see that there are massive holes in the boxes where we actually needed to get some decend core matte. So in this case, our new workflow should generate a better result by extracting chroma values from the image.


Image below shows you the setup.






Chrominance pass



We have the pure chrominance after the procedure. The colors are burnt and I lower the gain to normalize the colors for the keyer. There is no specific reduction value. Adjust it until there are no values over 1.



Chrominance pass with lowered gain.



Now when we try Primatte again.



Apply Primatte


More bg cleaning.



Clean Bg Noise


We can clearly see that the new matte has less holes and will support our keying workflow efficiently.

By the way you can try this with other keyers. I used Primate in this tutorial because I'm more comfortable with it.


Lets compare the output of two workflows. (1st: Default keying, 2nd: Chroma keying)



Upper - Applying keyer directly on the plate.

Lower - Applying keyer on plate’s chrominance pass.





This method might help you with your keys. But you should be aware of that this technique might not give you a final result to use as an alpha channel, unless you use it as a core matte. I suggest you should make some tests before you apply this technique on your shots. Because the result depends on the condition of the shots and the elements in it (motion blur, grain, lighting difference, organic & inorganic objects etc.)


I’ve used this method on some shots in the last couple of months and it helped me alot. And when I showed it to my colleagues in the studio, they also found it very useful. That’s why I wanted to share this. I hope this tutorial helps you all. Thanks for reading.



0 # Maxime Lemieux 2015-11-29 19:15
Good Tip ;)
+1 # Doruk Saglam 2015-11-30 10:11
Thank you Maxime! I hope it helps.
0 # Mr. StySoupe 2017-11-20 17:34
Thanks a lot, I just researched a lot of information about the keying and this tip is so usefull. Thank you again!

You have no rights to post comments

We have 3199 guests and 96 members online