api.video

Features

Developers

Glossary

All things video.

Full glossary

YCbCr

What is YCbCr?

YCbCr (also Y'CbCr, Y Pb/Cb Pr/Cr) is a family of color spaces used in videos and digital photography that separates brightness (luma) from chroma (color). Green is naturally included as part of brightness because it's the color people are most sensitive to. By storing luma and chroma data separately, compression algorithms can retain more luma since humans are most sensitive to it and drop chroma. Y' is used to represent luminance (or luma), Cb represents blue-difference, and Cr represents red-difference. Using chroma subsampling, some color information can be dropped without a lot of negative impact on what you see. And, using gamma correction, luminance can be optimized, again by taking advantage of how humans see light and color. We are more sensitive to the differences between darker tones than we are differences between lighter tones. Gamma correction stores tones more efficiently and redistributes them closer to how we actually see them.

YCbCr color space names and usage

YCbCr color spaces are based on the RGB color model. They are routinely used for storage and data transmission because of how efficiently they compress color data in images and video. YCbCr is sometimes abbreviated to YCC. When used for analog video, it's sometimes referred to as YPbPr. You may also sometimes hear people refer to YCbCr as YUV. YUV is specifically for analog TV while YCbCr is for digital TV, so the terms shouldn't be used interchangeably.

YCbCr accuracy requirements

YCbCr prioritizes what to store and display based on how we see. This means the most brightness and green are saved in every image. Then some red, and a little bit of blue. We use chroma subsampling to process and remove some of the red and blue color data and gamma, contrast, and brightness processing for the luminance data.