HOME
The Info List - YCbCr


--- Advertisement ---



YCbCr, Y′CbCr, or Y Pb/Cb Pr/Cr, also written as YCBCR or Y'CBCR, is a family of color spaces used as a part of the color image pipeline in video and digital photography systems. Y′ is the luma component and CB and CR are the blue-difference and red-difference chroma components. Y′ (with prime) is distinguished from Y, which is luminance, meaning that light intensity is nonlinearly encoded based on gamma corrected RGB
RGB
primaries. Y′CbCr color spaces are defined by a mathematical coordinate transformation from an associated RGB
RGB
color space. If the underlying RGB
RGB
color space is absolute, the Y′CbCr color space is an absolute color space as well; conversely, if the RGB
RGB
space is ill-defined, so is Y′CbCr.

Contents

1 Rationale 2 YCbCr

2.1 ITU-R BT.601 conversion 2.2 ITU-R BT.709 conversion 2.3 ITU-R BT.2020 conversion 2.4 JPEG
JPEG
conversion

3 CbCr Plane at Y = 0.5 4 References 5 External links

Rationale[edit] Cathode ray tube
Cathode ray tube
displays are driven by red, green, and blue voltage signals, but these RGB
RGB
signals are not efficient as a representation for storage and transmission, since they have a lot of redundancy. YCbCr
YCbCr
and Y′CbCr are a practical approximation to color processing and perceptual uniformity, where the primary colors corresponding roughly to red, green and blue are processed into perceptually meaningful information. By doing this, subsequent image/video processing, transmission and storage can do operations and introduce errors in perceptually meaningful ways. Y′CbCr is used to separate out a luma signal (Y′) that can be stored with high resolution or transmitted at high bandwidth, and two chroma components (CB and CR) that can be bandwidth-reduced, subsampled, compressed, or otherwise treated separately for improved system efficiency. One practical example would be decreasing the bandwidth or resolution allocated to "color" compared to "black and white", since humans are more sensitive to the black-and-white information (see image example to the right). This is called chroma subsampling. YCbCr[edit] YCbCr
YCbCr
is sometimes abbreviated to YCC. Y′CbCr is often called YPbPr when used for analog component video, although the term Y′CbCr is commonly used for both systems, with or without the prime. Y′CbCr is often confused with the YUV
YUV
color space, and typically the terms YCbCr
YCbCr
and YUV
YUV
are used interchangeably, leading to some confusion. The main difference is that YUV
YUV
is analog and YCbCr
YCbCr
is digital. Y′CbCr signals (prior to scaling and offsets to place the signals into digital form) are called YPbPr, and are created from the corresponding gamma-adjusted RGB
RGB
(red, green and blue) source using three defined constants KR, KG, and KB as follows:

Y ′

=

K

R

R ′

+

K

G

G ′

+

K

B

B ′

P

B

=

1 2

B ′

Y ′

1 −

K

B

P

R

=

1 2

R ′

Y ′

1 −

K

R

displaystyle begin aligned Y'&=K_ R cdot R'+K_ G cdot G'+K_ B cdot B'\P_ B &= frac 1 2 cdot frac B'-Y' 1-K_ B \P_ R &= frac 1 2 cdot frac R'-Y' 1-K_ R end aligned

where KR, KG, and KB are ordinarily derived from the definition of the corresponding RGB
RGB
space, and required to satisfy

K

R

+

K

G

+

K

B

= 1

displaystyle K_ R +K_ G +K_ B =1

. (The equivalent matrix manipulation is often referred to as the "color matrix".) Here, the prime ′ symbols mean gamma correction is being used; thus R′, G′ and B′ nominally range from 0 to 1, with 0 representing the minimum intensity (e.g., for display of the color black) and 1 the maximum (e.g., for display of the color white). The resulting luma (Y) value will then have a nominal range from 0 to 1, and the chroma (PB and PR) values will have a nominal range from -0.5 to +0.5. The reverse conversion process can be readily derived by inverting the above equations. When representing the signals in digital form, the results are scaled and rounded, and offsets are typically added. For example, the scaling and offset applied to the Y′ component per specification (e.g. MPEG-2[1]) results in the value of 16 for black and the value of 235 for white when using an 8-bit representation. The standard has 8-bit digitized versions of CB and CR scaled to a different range of 16 to 240. Consequently, rescaling by the fraction (235-16)/(240-16) = 219/224 is sometimes required when doing color matrixing or processing in YCbCr
YCbCr
space, resulting in quantization distortions when the subsequent processing is not performed using higher bit depths. The scaling that results in the use of a smaller range of digital values than what might appear to be desirable for representation of the nominal range of the input data allows for some "overshoot" and "undershoot" during processing without necessitating undesirable clipping. This "head-room" and "toe-room" can also be used for extension of the nominal color gamut, as specified by xvYCC. The value 235 accommodates a maximum black-to-white overshoot of 255 - 235 = 20, or 20 / ( 235 - 16 ) = 9.1%, which is slightly larger than the theoretical maximum overshoot (Gibbs' Phenomenon) of about 8.9% of the maximum step. The toe-room is smaller, allowing only 16 / 219 = 7.3% overshoot, which is less than the theoretical maximum overshoot of 8.9%. Since the equations defining YCbCr
YCbCr
are formed in a way that rotates the entire nominal RGB
RGB
color cube and scales it to fit within a (larger) YCbCr
YCbCr
color cube, there are some points within the YCbCr color cube that cannot be represented in the corresponding RGB
RGB
domain (at least not within the nominal RGB
RGB
range). This causes some difficulty in determining how to correctly interpret and display some YCbCr
YCbCr
signals. These out-of-range YCbCr
YCbCr
values are used by xvYCC to encode colors outside the BT.709 gamut.

RGB
RGB
to YCbCr
YCbCr
conversion

ITU-R BT.601 conversion[edit] The form of Y′CbCr that was defined for standard-definition television use in the ITU-R BT.601 (formerly CCIR 601) standard for use with digital component video is derived from the corresponding RGB space as follows:

K

R

= 0.299

K

G

= 0.587

K

B

= 0.114

displaystyle begin aligned K_ R &=0.299\K_ G &=0.587\K_ B &=0.114end aligned

From the above constants and formulas, the following can be derived for ITU-R BT.601. Analog YPbPr
YPbPr
from analog R'G'B' is derived as follows:

Y ′

=

0.299 ⋅

R ′

+

0.587 ⋅

G ′

+

0.114 ⋅

B ′

P

B

= −

0.168736 ⋅

R ′

0.331264 ⋅

G ′

+

0.5 ⋅

B ′

P

R

=

0.5 ⋅

R ′

0.418688 ⋅

G ′

0.081312 ⋅

B ′

displaystyle begin aligned Y'&=&0.299cdot R'&+&0.587cdot G'&+&0.114cdot B'\P_ B &=-&0.168736cdot R'&-&0.331264cdot G'&+&0.5cdot B'\P_ R &=&0.5cdot R'&-&0.418688cdot G'&-&0.081312cdot B'end aligned

Digital Y′CbCr (8 bits per sample) is derived from analog R'G'B' as follows:

Y ′

=

16

+

( 65.481 ⋅

R ′

+

128.553 ⋅

G ′

+

24.966 ⋅

B ′

)

C

B

=

128

+

( − 37.797 ⋅

R ′

74.203 ⋅

G ′

+

112.0 ⋅

B ′

)

C

R

=

128

+

( 112.0 ⋅

R ′

93.786 ⋅

G ′

18.214 ⋅

B ′

)

displaystyle begin aligned Y'&=&16&+&(65.481cdot R'&+&128.553cdot G'&+&24.966cdot B')\C_ B &=&128&+&(-37.797cdot R'&-&74.203cdot G'&+&112.0cdot B')\C_ R &=&128&+&(112.0cdot R'&-&93.786cdot G'&-&18.214cdot B')end aligned

or simply componentwise

(

Y ′

,

C

B

,

C

R

)

=

( 16 , 128 , 128 ) + ( 219 ⋅ Y , 224 ⋅

P

B

, 224 ⋅

P

R

)

displaystyle begin aligned (Y',C_ B ,C_ R )&=&(16,128,128)+(219cdot Y,224cdot P_ B ,224cdot P_ R )\end aligned

The resultant signals range from 16 to 235 for Y′ (Cb and Cr range from 16 to 240); the values from 0 to 15 are called footroom, while the values from 236 to 255 are called headroom. Alternatively, digital Y′CbCr can derived from digital R'dG'dB'd (8 bits per sample, each using the full range with zero representing black and 255 representing white) according to the following equations:

Y ′

=

16

+

65.738 ⋅

R

D

256

+

129.057 ⋅

G

D

256

+

25.064 ⋅

B

D

256

C

B

=

128

37.945 ⋅

R

D

256

74.494 ⋅

G

D

256

+

112.439 ⋅

B

D

256

C

R

=

128

+

112.439 ⋅

R

D

256

94.154 ⋅

G

D

256

18.285 ⋅

B

D

256

displaystyle begin aligned Y'&=&16&+& frac 65.738cdot R'_ D 256 &+& frac 129.057cdot G'_ D 256 &+& frac 25.064cdot B'_ D 256 \C_ B &=&128&-& frac 37.945cdot R'_ D 256 &-& frac 74.494cdot G'_ D 256 &+& frac 112.439cdot B'_ D 256 \C_ R &=&128&+& frac 112.439cdot R'_ D 256 &-& frac 94.154cdot G'_ D 256 &-& frac 18.285cdot B'_ D 256 end aligned

In the above formula, the scaling factors are multiplied by

256 255

displaystyle frac 256 255

. This allows for the value 256 in the denominator, which can be calculated by a single bitshift. If the R'd G'd B'd digital source includes footroom and headroom, the footroom offset 16 needs to be subtracted first from each signal, and a scale factor of

255 219

displaystyle frac 255 219

needs to be included in the equations. The inverse transform is:

R

D

=

298.082 ⋅

Y ′

256

+

408.583 ⋅

C

R

256

222.921

G

D

=

298.082 ⋅

Y ′

256

100.291 ⋅

C

B

256

208.120 ⋅

C

R

256

+

135.576

B

D

=

298.082 ⋅

Y ′

256

+

516.412 ⋅

C

B

256

276.836

displaystyle begin aligned R'_ D &=& frac 298.082cdot Y' 256 &&&+& frac 408.583cdot C_ R 256 &-&222.921\G'_ D &=& frac 298.082cdot Y' 256 &-& frac 100.291cdot C_ B 256 &-& frac 208.120cdot C_ R 256 &+&135.576\B'_ D &=& frac 298.082cdot Y' 256 &+& frac 516.412cdot C_ B 256 &&&-&276.836end aligned

The inverse transform without any roundings (using values coming directly from ITU-R BT.601 recommendation) is:

R

D

=

255 219

⋅ (

Y ′

− 16 )

+

255 112

⋅ 0.701

⋅ (

C

R

− 128 )

G

D

=

255 219

⋅ (

Y ′

− 16 )

255 112

⋅ 0.886

0.114 0.587

⋅ (

C

B

− 128 )

255 112

⋅ 0.701

0.299 0.587

⋅ (

C

R

− 128 )

B

D

=

255 219

⋅ (

Y ′

− 16 )

+

255 112

⋅ 0.886

⋅ (

C

B

− 128 )

displaystyle begin aligned R'_ D &=& frac 255 219 cdot (Y'-16)&&&&&&&+& frac 255 112 cdot 0.701&&&&cdot (C_ R -128)\G'_ D &=& frac 255 219 cdot (Y'-16)&-& frac 255 112 cdot 0.886&&cdot frac 0.114 0.587 &&cdot (C_ B -128)&-& frac 255 112 cdot 0.701&&cdot frac 0.299 0.587 &&cdot (C_ R -128)\B'_ D &=& frac 255 219 cdot (Y'-16)&+& frac 255 112 cdot 0.886&&&&cdot (C_ B -128)end aligned

This form of Y′CbCr is used primarily for older standard-definition television systems, as it uses an RGB
RGB
model that fits the phosphor emission characteristics of older CRTs. ITU-R BT.709 conversion[edit]

Rec. 709
Rec. 709
compared with Rec. 2020

A different form of Y′CbCr is specified in the ITU-R BT.709 standard, primarily for HDTV use. The newer form is also used in some computer-display oriented applications. In this case, the values of Kb and Kr differ, but the formulas for using them are the same. For ITU-R BT.709, the constants are:

K

B

= 0.0722

K

R

= 0.2126

(

K

G

= 1 −

K

B

K

R

= 0.7152 )

displaystyle begin aligned K_ B &=0.0722\K_ R &=0.2126\(K_ G &=1-K_ B -K_ R =0.7152)end aligned

This form of Y′CbCr is based on an RGB
RGB
model that more closely fits the phosphor emission characteristics of newer CRTs and other modern display equipment. The definitions of the R', G', and B' signals also differ between BT.709 and BT.601, and differ within BT.601 depending on the type of TV system in use (625-line as in PAL
PAL
and SECAM
SECAM
or 525-line as in NTSC), and differ further in other specifications. In different designs there are differences in the definitions of the R, G, and B chromaticity coordinates, the reference white point, the supported gamut range, the exact gamma pre-compensation functions for deriving R', G' and B' from R, G, and B, and in the scaling and offsets to be applied during conversion from R'G'B' to Y′CbCr. So proper conversion of Y′CbCr from one form to the other is not just a matter of inverting one matrix and applying the other. In fact, when Y′CbCr is designed ideally, the values of KB and KR are derived from the precise specification of the RGB
RGB
color primary signals, so that the luma (Y′) signal corresponds as closely as possible to a gamma-adjusted measurement of luminance (typically based on the CIE 1931 measurements of the response of the human visual system to color stimuli).[2] ITU-R BT.2020 conversion[edit] The ITU-R BT.2020 standard defines both gamma corrected Y′CbCr and a linear-encoded version of YCbCr
YCbCr
called YcCbcCrc.[3] YcCbcCrc may be used when the top priority is the most accurate retention of luminance information.[3] For YcCbcCrc, the coefficients are:

K

B

= 0.0593

K

R

= 0.2627

displaystyle begin aligned K_ B &=0.0593\K_ R &=0.2627end aligned

JPEG
JPEG
conversion[edit] JFIF usage of JPEG
JPEG
supports Y′CbCr where Y′, CB and CR have the full 8-bit range of [0...255].[4] Below are the conversion equations expressed to six decimal digits of precision. (For ideal equations, see ITU-T T.871.[5]) Note that for the following formulae, the range of each input (R,G,B) is also the full 8-bit range of [0...255].

Y ′

=

0

+ ( 0.299

R

D

)

+ ( 0.587

G

D

)

+ ( 0.114

B

D

)

C

B

=

128

− ( 0.168736

R

D

)

− ( 0.331264

G

D

)

+ ( 0.5

B

D

)

C

R

=

128

+ ( 0.5

R

D

)

− ( 0.418688

G

D

)

− ( 0.081312

B

D

)

displaystyle begin aligned Y'&=&0&+(0.299&cdot R'_ D )&+(0.587&cdot G'_ D )&+(0.114&cdot B'_ D )\C_ B &=&128&-(0.168736&cdot R'_ D )&-(0.331264&cdot G'_ D )&+(0.5&cdot B'_ D )\C_ R &=&128&+(0.5&cdot R'_ D )&-(0.418688&cdot G'_ D )&-(0.081312&cdot B'_ D )end aligned

And back:

R

D

=

Y ′

+ 1.402

⋅ (

C

R

− 128 )

G

D

=

Y ′

− 0.344136

⋅ (

C

B

− 128 )

− 0.714136

⋅ (

C

R

− 128 )

B

D

=

Y ′

+ 1.772

⋅ (

C

B

− 128 )

displaystyle begin aligned R'_ D &=&Y'&&&+1.402&cdot (C_ R -128)\G'_ D &=&Y'&-0.344136&cdot (C_ B -128)&-0.714136&cdot (C_ R -128)\B'_ D &=&Y'&+1.772&cdot (C_ B -128)&end aligned

CbCr Plane at Y = 0.5[edit]

Y=0.5

Note: when Y = 0, R, G and B must all be zero, thus Cb and Cr can only be zero. Likewise, when Y = 1, R, G and B must all be 1, thus Cb and Cr can only be zero. Unlike R, G, and B, the Y, Cb and Cr values are not independent; choosing YCbCr
YCbCr
values arbitrarily may lead to one or more of the RGB values that are out of gamut, i.e. greater than 1.0 or less than 0.0. References[edit]

^ e.g. the MPEG-2
MPEG-2
specification, ITU H.262
H.262
2000 E pg. 44 ^ Charles Poynton, Digital Video
Video
and HDTV, Chapter 24, pp. 291–292, Morgan Kaufmann, 2003. ^ a b "BT.2020 : Parameter values for ultra-high definition television systems for production and international programme exchange". International Telecommunication Union. June 2014. Retrieved 2014-09-08.  ^ JPEG
JPEG
File
File
Interchange Format Version 1.02 ^ T.871: Information technology – Digital compression and coding of continuous-tone still images: JPEG
JPEG
File
File
Interchange Format (JFIF). ITU-T. September 11, 2012. Retrieved 2016-07-25. 

External links[edit]

Charles Poynton — Color FAQ Charles Poynton — Video
Video
engineering Color Space Visualization PC Magazine Encyclopedia: YCbCr YUV, YCbCr, YPbPr
YPbPr
color spaces. Color formats for image and video processing — Color conversion between RGB, YUV, YCbCr
YCbCr
and YPbPr.

v t e

Color space

List of color spaces Color models

CAM

CIECAM02 iCAM

CIE

CIEXYZ CIELAB CIECAM02 CIELUV Yuv CIEUVW CIE RGB

RGB

RGB
RGB
color space sRGB rg chromaticity Adobe Wide-gamut ProPhoto scRGB DCI-P3 Rec. 709 Rec. 2020 Rec. 2100

YUV

YUV

PAL

YDbDr

SECAM PAL-N

YIQ

NTSC

YCbCr

Rec. 601 Rec. 709 Rec. 2020 Rec. 2100

ICtCp YPbPr xvYCC YCoCg

Other

CcMmYK CMYK Coloroid LMS Hexachrome HSL, HSV HCL Imaginary color OSA-UCS PCCS RG RYB

Color systems and standards

ACES ANPA Colour Index International

CI list of dyes

DIC Federal Standard 595 HKS ICC profile ISCC–NBS Munsell NCS Ostwald Pantone RAL

list

For the vision capacities of organisms or machines, see  Col

.