Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
литература / Digital_Video_and_HD_Second_Edition_Algorithms_and_Interfaces.pdf
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
38.02 Mб
Скачать

In traditional practice, reference white has luminance of 100.

The luminance coefficients of any set of XYZ primary SPDs are [0, 1, 0]. Any X or Z primary is nonphysical; it has zero luminance.

For the D65 white reference now standard in video, C-1is multiplied by the vector [0.95, 1, 1.089].

__

the 10 nm x(λ) and z(λ) CMFs do not integrate to

_

precisely the same value as y(λ) does.

CIE illuminants are specified scaled for unity at

560 nm. Illuminant E’s SPD is represented as a vector of all ones. With the illuminant and CMF scaling specified by the CIE, Illuminant E’s luminance is about 10.68.

In applying the CIE standards to imaging, I find it convenient to normalize illuminants to a luminance of unity. With spectra represented as 31-element vectors from 400 nm to 700 nm at 10 nm intervals, Illuminant E then comprises a vector all of whose elements have the value 110.68, or about 0.0936.

Luminance coefficients

Relative luminance can be formed as a properly weighted sum of RGB (linear-light) tristimulus components. The luminance coefficients can be computed starting with the chromaticities of the RGB primaries, here expressed in a matrix:

x

x

x

 

 

r

g

b

 

C = yr

yg

yb

Eq 26.3

z

z

z

 

 

r

g

b

 

Coefficients Jr, Jg, and Jb are computed from the chromaticities, and the white reference, as follows:

Jr

 

 

1

 

xw

 

1

 

 

 

 

 

 

J

 

 

 

y

 

Eq 26.4

= C ·

 

·

g

 

 

 

 

w

 

yw

 

Jb

 

 

 

 

zw

 

 

 

 

 

 

 

 

 

Luminance can then be computed as follows:

Y = [J y J y

 

]

R

 

J y

G

Eq 26.5

r r g g

b b

 

 

 

 

 

 

 

 

 

 

 

 

B

 

This calculation can be extended to compute

[X, Y, Z] from [R, G, B] of the specified chromaticity. First, compute a normalized primary matrix (NPM) denoted T. The NPM depends upon the primaries and the white point of the [R, G, B] space:

J

0

0

 

 

r

Jg

 

 

 

T = C 0

0

Eq 26.6

 

0

 

 

 

0

Jb

 

306

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

See BT.601 luma and BT.709 luma, on pages 346 and following.

SMPTE RP 177, Derivation of Basic

Television Color Equations.

Eq 26.8

The elements Jr, Jg, and Jb of the diagonal matrix have the effect of scaling the corresponding columns of the chromaticity matrix, balancing the primary contributions to achieve the intended chromaticity of white. CIE tristimulus values [X, Y, Z] are then computed from the specified [R, G, B] as follows:

X

R

 

 

 

 

 

Eq 26.7

Y

= T G

 

 

 

 

 

Z

B

 

As I explained in Constant luminance, on page 107, video systems compute luma as a weighted sum of nonlinear R’G’B’ components. Although this calculation produces nonconstant-luminance (Livingston) errors, there is a second-order benefit in using the “theoretical” coefficients. The standard coefficients for SD are computed from the 1953 FCC NTSC primaries and CIE Illuminant C. The standard coefficients for HD are computed from BT.709 primaries and CIE D65.

Transformations between RGB and CIE XYZ

RGB values in a particular set of primaries can be transformed to and from CIE XYZ by a 3× 3 matrix transform. These transforms involve tristimulus values, that is, sets of three linear-light components that approximate the CIE colour-matching functions. CIE XYZ represents a special case of tristimulus values. In XYZ, any colour is represented by an all-positive set of values. SMPTE has standardized a procedure for computing these transformations.

To transform from BT.709 RGB (with its D65 white point) into CIE XYZ, use the following transform:

X

0.412453

0.357580

0.180423

R

 

 

 

 

0.715160

 

709

 

Y

= 0.212671

0.072169

G

 

 

 

 

0.119193

 

709

 

Z

0.019334

0.950227

B709

When constructing such a matrix for fixed-point calculation, take care when rounding to preserve the unity sum of the middle (luminance) row.

The middle row of this matrix gives the luminance coefficients of BT.709 (though BT.709 specifies four-digit values). Because white is normalized to unity, the middle row sums to unity. The column vectors are the XYZ tristimulus values of pure red, green, and blue. To recover primary chromaticities from such a matrix,

CHAPTER 26

COLOUR SCIENCE FOR VIDEO

307

Eq 26.9

Gamut is described on page 311.

compute x and y for each RGB column vector. To recover the white point, transform RGB=[1, 1, 1] to XYZ, then compute x and y according to Equation 25.1.

To transform from CIE XYZ into BT.709 RGB, invert the 3× 3 matrix of Equation 26.8:

R

 

 

3.240479

1.537150

0.498535

X

709

 

 

 

1.875992

 

 

 

G709

 

= −0.969256

0.041556

Y

 

 

 

0.055648

0.204043

 

 

 

B709

 

 

1.057311

Z

This matrix has some negative coefficients: XYZ colours that are out of gamut for BT.709 RGB transform to RGB components where one or more components are negative or greater than unity.

Any RGB image data, or any matrix that purports to relate RGB to XYZ, should indicate the chromaticities of the RGB display primaries expected. If you encounter a matrix transform or image data without reference to any primary chromaticities, be very suspicious! Its originator may be unaware that RGB values must be associated with chromaticity specifications in order to have meaning for accurate colour.

Noise due to matrixing

Even if it were possible to display colours in the outer reaches of the chromaticity diagram, there would be a great practical disadvantage in doing so. Consider a camera that acquires XYZ tristimulus components, then transforms to BT.709 RGB according to Equation 26.9. The coefficient 3.240479 in the upper left-hand corner of the matrix in that equation determines the contribution from X at the camera into the red signal. An X component acquired with 4 digital codes of noise will inject 13 codes of noise into red:

There is a noise penalty associated with the larger coefficients in the transform, and this penalty is quite significant in the design of a high-quality camera.

308

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

The equations below transform between systems having the same illuminant. If the illuminant differs, a chromatic adaptation transform (CAT) may be required; in that case, a suitable 3× 3 matrix (such as the Bradford transform) intervenes between TD -1and TS.

Eq 26.11

Eq 26.12

Eq 26.13

Transforms among RGB systems

RGB values in a system employing one set of primaries can be transformed to another set by a 3× 3 linear-light matrix transform. [R, G, B] tristimulus values in a source space (denoted with the subscript s) can be transformed into [R, G, B] tristimulus values in a destination space (denoted with the subscript d), using matrices Ts and Td computed from the corresponding chromaticities and white points:

R

 

 

 

R

 

 

d

= T−1

T

 

s

 

G

G

Eq 26.10

 

d

d

s

 

 

s

B

 

 

 

B

 

 

d

 

 

 

 

s

 

As an example, here is the transform from SMPTE RP 145 RGB (e.g., SMPTE 240M) to BT.709 RGB:

R

 

 

0.939555

0.050173

0.010272

R

 

709

 

 

0.017775

0.965795

 

145

 

G709

 

=

0.016430

G145

 

 

 

 

 

0.004371

 

 

 

B709

 

0.001622

1.005993

B145

 

This matrix transforms EBU 3213 RGB to BT.709:

R

 

1.044036

0.044036

0

 

R

 

709

 

 

 

 

 

EBU

G709

 

= 0

1

0

 

GEBU

 

 

 

0.011797

 

 

 

 

B709

 

0

0.988203

BEBU

To transform typical Sony Trinitron RGB, with D65 white reference, to BT.709, use this transform:

R

 

1.068706

0.078595

0.009890

R

 

709

 

 

0.960070

 

 

SONY

G709

 

= 0.024110

0.015819

GSONY

 

 

 

0.029748

 

 

 

B709

 

0.001735

0.968517

BSONY

Transforming among RGB systems may lead to an out of gamut RGB result, where one or more RGB components are negative or greater than unity.

These transformations produce accurate results only when applied to tristimulus (linear-light) components. In principle, to transform nonlinear R’G’B’ from one primary system to another requires application of the inverse transfer function to recover the tristimulus values, computation of the matrix multiplication, then reapplication of the transfer function. However, the transformation matrices of Equations 26.11, 26.12, and 26.13 are similar to the identity matrix: The diagonal

CHAPTER 26

COLOUR SCIENCE FOR VIDEO

309

Соседние файлы в папке литература