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

Eq 30.6

Eq 30.7

xvYCC refers to an IEC standard. x.v.Color and x.v.Colour are Sony’s trademarks for the scheme.

Concerning Pointer, see the marginal note on page 312.

[219, 224, 224], corresponding to the excursions of each of the components:

 

709Y’

16

 

 

46.559

156.629

 

 

15.812

R’

219

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CB

 

= 128

 

+

 

25.664

 

 

86.336

112

 

· G’

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CR

 

128

 

 

112

101.730

 

 

10.270

B’

Summing the first row of the matrix yields 219, the luma excursion from black to white. The two entries of 112 reflect the positive CBCR extrema at blue and red.

To recover R’G’B’ in the range [0…+1] from 709Y’CBCR, use the inverse of Equation 30.6:

219R’

 

 

256

0

394150.

 

 

219709Y’

 

16

 

 

 

 

 

G’

 

1

 

256

 

46.885

 

117165.

 

 

C

B

 

 

 

128

219

 

256

 

 

 

 

 

 

 

 

 

 

 

 

 

219B’

 

 

256

464430.

0

 

 

CR

 

 

 

128

 

 

 

 

 

The 709Y’CBCR components are integers in 8 bits; reconstructed R’G’B’ is scaled to the range [0…+1].

Figure 28.2 (on page 339) illustrated that when R’G’B’ components are transformed to luma and colour differences, the unit R’G’B’ cube occupies only a small fraction of the volume of the enclosing cube. In digital video, only about 14 of Y’CBCR codewords correspond to R’G’B’ values between zero and unity. Certain signalprocessing operations (such as filtering) may produce Y’CBCR codewords that lie outside the RGB-legal cube. These codewords cause no difficulty in the Y’CBCR domain, but potentially present a problem when decoded to R’G’B’. Generally, R’G’B’ values are clipped between 0 and 1.

CBCR components for xvYCC

One method of extending the colour gamut of an R’G’B’ system is to allow components to excurse below zero and above unity. In Wide-gamut reproduction, on page 312, I explained one approach. The xvYCC scheme is based upon BT.709 primaries, but enables the RGB tristimulus components to excurse from -14 to +43 .

When transformed to BT.709 Y’CBCR, all of the real surface colours documented by Pointer – that is, all the colours in Pointer’s gamut – produce values that are Y’CBCR-valid. Though BT.1361 was needed to specify the R’G’B’ representation of wide-gamut colours, no

CHAPTER 30

COMPONENT VIDEO COLOUR CODING FOR HD

373

There is an SD version of xvYCC, using the BT.601 luma coefficients. That scheme will almost certainly never see any deployment.

Eq 30.8

Eq 30.9

special provisions are necessary to carry those colours across a 709Y’CBCRinterface. The notation “xvYCC Y’CBCR,” or xvYCCY’CBCR, makes it explicit that codewords outside the unit R’G’B’ cube are to be interpreted as wide-gamut colours, instead of being treated as RGB-illegal.

Studio equipment conforming to BT.1361 is not yet deployed, and is not anticipated for several years. Wide-gamut acquisition and production equipment will begin to replace film over the next decade or so; however, wide-gamut consumer displays are not expected in that time frame. When these begin to be deployed, it is unlikely that they will all have the same gamut; electronics associated with each display will have to process the colour signals according to the properties of each display. In the long term, gamut mapping strategies comparable to those in the desktop colour management community will have to be deployed.

Y’CBCR from studio RGB

In studio equipment, 8-bit R’G’B’ components usually use the same 219 excursion as the luma component of Y’CBCR. To encode Y’CBCR from R’G’B’ in the range [0…219] using 8-bit binary arithmetic, scale the encoding matrix of Equation 30.6 by 256219:

 

709Y’

16

 

 

 

 

54.426

183.091

 

 

18.483

 

219

R’

219

 

 

 

+

1

 

 

 

 

 

 

 

 

 

 

 

C

B

 

= 128

 

 

 

 

30.000

 

100.922

130.922

·

219G’

256

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

130.922

118.918

 

 

 

 

R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

To decode to R’G’B’ in the range [0…219] from BT.709 Y’CBCR using 8-bit binary arithmetic:

219R’

 

 

256

0

394150.

 

 

219709Y’

 

16

 

 

 

 

 

G’

 

1

 

256

 

46.885

 

117165.

 

 

C

B

 

 

 

128

219

 

256

 

 

 

 

 

 

 

 

 

 

 

 

 

219B’

 

 

256

464430.

0

 

 

CR

 

 

 

128

 

 

 

 

 

Y’CBCR from computer RGB

In computing it is conventional to use 8-bit R’G’B’ components, with no headroom or footroom: Black is at code 0 and white is at 255. To encode Y’CBCR from

374

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

Eq 30.10

Eq 30.11

R’G’B’ in the range [0…255] using 8-bit binary arithmetic, the matrix of Equation 30.6 is scaled by 256255:

709Y’

16

 

 

 

 

46.742

157.243

 

 

15.874

 

255

R’

219

 

 

 

+

1

 

 

 

 

 

 

 

 

 

 

 

 

C

B

 

= 128

 

 

 

 

25.765

 

 

86.674

112.439

·

255G’

256

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

112.439

102.129

 

 

 

 

R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

To decode R’G’B’ in the range [0…255] from BT.709 Y’CBCR using 8-bit binary arithmetic:

 

255

R’

 

 

298082.

0

 

458942.

 

709Y’

 

 

16

 

 

=

1

 

 

 

 

 

 

 

 

219

 

 

 

 

 

255G’

 

298082.

 

 

54.592

 

136425.

·

C

B

 

 

128

256

 

 

 

 

 

 

 

 

540775.

0

 

 

C

 

 

 

 

 

255B’

 

 

298082.

 

 

R

 

 

128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Conversions between HD and SD

The differences among the EBU, SMPTE, and BT.709 primaries are negligible for practical purposes. New equipment should be designed to BT.709. Also, SD and HD have effectively converged to the transfer function specified in BT.709. Consequently, R’G’B’ coding uses essentially identical parameters worldwide, for SD and HD. (The sRGB standard for desktop computing uses the primaries of BT.709, but uses a different transfer function.)

Unfortunately, as I have mentioned, the luma coefficients differ dramatically between SD and HD. This wouldn’t matter if HD systems were isolated! However, in practice, SD is upconverted and HD is downconverted, both at the studio and at consumers’ premises. Serious colour reproduction errors arise if differences among luma coefficients are not taken into account in conversions.

In principle, downconversion can be accomplished by decoding 709Y’CBCR to R’G’B’ using a suitable 3× 3 matrix (such as that in Equation 30.7, on page 373), then encoding R’G’B’ to 601Y’CBCR using another 3× 3 matrix (such as that in Equation 29.6, on page 364).

CHAPTER 30

COMPONENT VIDEO COLOUR CODING FOR HD

375

The two 3× 3 matrices can be combined so that the conversion can take place in one step:

 

601Y'

1

0.099312

0.191700

 

709Y'

Eq 30.12

219

 

 

0.989854

 

 

219

 

 

C

 

= 0

0.110653

C

 

 

 

B

 

 

0.072453

 

 

B

 

 

 

CR

 

0

0.983398

 

CR

 

 

 

 

 

 

 

 

 

 

 

Equations 30.12 and 30.13 are written without interface offsets of +16 for luma and +128 for CB and CB: If the offsets are present, remove them, transform, then reapply them.

Eq 30.13

In the first row of the matrix, the coefficient 0.099312 adds about one-tenth of BT.709’s CB into BT.601’s luma. This is a consequence of BT.709’s blue luma coefficient being just 0.0722, compared to 0.114 for BT.601. The coefficient 0.1917 adds about one-fifth of BT.709’s CR into BT.601’s luma; this is a consequence of BT.709’s red luma coefficient being 0.2126, compared to 0.299 for BT.601. Clearly, failure to perform this colour transform produces large colour errors.

To convert from SD to HD, the matrix of Equation 30.12 is inverted:

709Y'

1

0.115550

0.207938

601Y'

 

219

 

 

 

 

219

 

 

C

 

= 0

1.018640

0.114618

C

 

 

B

 

 

0.075049

 

 

B

 

 

CR

 

0

1.025327

 

CR

 

 

 

 

 

 

 

 

 

 

Unfortunately, to upconvert or downconvert a subsampled representation such as 4:2:2 or 4:2:0 requires chroma interpolation, colour transformation, then chroma subsampling. This is computationally intensive.

Colour coding standards

ITU-R Rec. BT.709 defines Y’PBPR for component analog HD and Y’CBCR for component digital HD. The parameters of Y’PBPR and Y’CBCR for the 1280× 720 and

1920× 1080 systems are defined by the SMPTE standards cited below.

ITU-R Rec. BT.709,Basic parameter values for the HDTV standard for the studio and for international programme exchange.

SMPTE ST 274, 1920× 1080 Scanning and Analog and Parallel Digital Interfaces for Multiple Picture Rates.

SMPTE ST 296, 1280× 720 Progressive Image Sample Structure – Analog and Digital Representation and Analog Interface.

376

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

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