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

Figure 29.1 B’-Y’, R’-Y’

components for SD

 

+1

R’-Y’ axis

 

 

 

R

+0.701

 

 

 

Mg

 

 

 

 

 

 

 

 

 

+0.886

 

 

Yl

 

 

 

-1

0

B

+1

B’-Y’ axis

 

G

Cy

 

 

 

 

 

 

 

-1

 

 

 

 

B’-Y’, R’-Y’ components for SD

 

To obtain [Y’, B’-Y’, R’-Y’] components from R’G’B’, for BT.601 luma, use this matrix equation:

ITU-R Rec. BT.601-5, Studio encoding parameters of digital television for standard 4:3 and wide-screen 16:9 aspect ratios.

 

601

 

 

0.299

0.587

0.114

R’

 

 

 

Y’

 

 

B’601Y’

 

 

0.587

 

 

 

Eq 29.1

= −0.299

0.886

G’

 

 

601

 

 

0.701

0.587

 

 

 

 

R’

Y’

 

0.114

B’

 

 

 

 

 

 

 

 

 

 

 

 

Figure 29.1 shows a plot of the [B’-Y’, R’-Y’] colour difference plane.

As I described on page 346, the BT.601 luma coefficients are used for SD. With these coefficients, the B’-Y’ component reaches its positive maximum at pure blue (R’ =0, G’ =0, B’ =1; Y’ =0.114;

B’-Y’ = +0.886) and its negative maximum at pure yellow (B’-Y’ =-0.886). Analogously, the extrema of R’-Y’ take values ±0.701, at pure red and cyan. These are inconvenient values for both digital and analog systems. The PBPR, CBCR, and UV colour difference components all involve versions of [Y’, B’-Y’, R’-Y’] that are scaled to place the extrema of the component values at more convenient values.

PBPR components for SD

PB and PR denote colour difference components having excursions nominally identical to the excursion of the

CHAPTER 29

COMPONENT VIDEO COLOUR CODING FOR SD

359

Figure 29.2 PBPR components for SD

 

+0.5

PR axis

 

 

R

Mg

 

 

 

 

 

Yl

 

 

-0.5

0

+0.5

PB axis

 

 

B

 

 

G

Cy

 

 

 

 

 

-0.5

 

 

Eq 29.2

Eq 29.3

accompanying luma component. For BT.601 luma, the equations are these:

P

=

 

 

0.5

 

B'601Y'

=

1

B'601Y'

0.564 B'601Y'

 

 

0.114

 

B

1

 

 

 

1.772

 

 

 

 

 

P

=

 

 

0.5

 

R'601Y'

=

1

R'601Y'

0.713 R'601Y'

 

 

 

 

 

R

1

0.299

 

 

1.402

 

 

 

 

 

 

 

 

 

These scale factors were chosen to limit the excur-

 

sion of each colour difference component to the range

 

-0.5 to +0.5 with respect to unity luma excursion:

 

0.114 in the first expression above is the luma coeffi-

 

cient of blue, and 0.299 in the second is for red.

 

 

Figure 29.2 above shows a plot of the [PB, PR] plane.

 

 

 

 

Expressed in matrix form, the B’-Y’ and R’-Y’ rows of

 

Equation 29.1 are scaled by 0.50.886 and 0.50.701.

 

 

To encode from R’G’B’ where reference black is zero

 

and reference white is unity:

 

 

 

 

 

 

 

 

 

601Y’

 

 

0.299

 

0.587

0.114

 

R’

 

 

 

 

 

P

 

 

 

 

0.331264

0.5

 

 

 

 

 

 

 

 

 

= −0.168736

 

G’

 

 

 

 

 

B

 

 

0.5

 

0.418688

0.081312

B’

 

 

 

 

 

P

 

 

 

 

 

 

 

R

 

 

 

 

 

 

 

 

 

 

 

The first row of Equation 29.3 comprises the luma coefficients; these sum to unity. The second and third rows each sum to zero, a necessity for colour difference components. The two entries of 0.5 reflect the reference excursions of PB and PR, at the blue and red primaries [0, 0, 1] and [1, 0, 0]. The reference excursion is

360

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

See Table 28.2A on page 353;

Component analog Y’PBPR interface, EBU N10, on page 453; and

Component analog Y’PBPR interface, industry standard, on page 455.

±0.5; the peak excursion may be slightly larger, to accommodate analog undershoot and overshoot. There are no standards for how much analog footroom and headroom should be provided.

The inverse, decoding matrix is this:

 

 

 

0

1.402

 

 

601

 

 

R’

 

1

 

 

Y’

 

G’

= 1

0.344136

0.714136

 

P

 

Eq 29.4

B’

 

1

1.772

0

 

 

B

 

 

 

P

 

 

 

 

 

 

 

 

 

R

 

 

Y’PBPR is employed by 480i and 576i component analog video equipment such as that from Sony and Panasonic, where PB and PR are conveyed with roughly half the bandwidth of luma. Unfortunately, three different analog interface level standards are used: Y’PBPR is ambiguous with respect to electrical interface.

PB and PR are properly written in that order, as I described on page 358. The P stands for parallel,

stemming from a failed effort within SMPTE to standardize a parallel electrical interface for component analog video. In CBCR, which I will now describe, C stands for chroma. The CBCR notation predated PBPR.

CBCR components for SD

A straightforward scaling of Y’PBPR components would have been suitable for digital interface. Scaling of luma to the range [0 … 255] would have been feasible; this “full-range” scaling of luma is used in JPEG/JFIF used in computing, as I will describe on page 365. However, for studio applications it is necessary to provide signalprocessing footroom and headroom to accommodate ringing from analog and digital filters, and to accommodate signals from misadjusted analog equipment.

For an 8-bit interface, luma could have been scaled to an excursion of 224; B’-Y’ and R’-Y’ could have been scaled to ±112. This would have left 32 codes of footroom and headroom for each component. Although sensible, that approach was not taken when BT.601 was adopted in 1984. Instead – and unfortunately, in my opinion – different excursions were standardized for luma and chroma. Eight-bit luma excursion was standardized at 219; chroma excursion was standardized at 224. Each colour difference component has as excursion 224219 that of luma. Since video component ampli-

CHAPTER 29

COMPONENT VIDEO COLOUR CODING FOR SD

361

The Y’PBPR and Y’CBCR scaling discrepancy is unfortunate enough, but it is compounded by “full-swing” (or “full-range”) Y’CBCR used in JPEG/JFIF, scaled similarly but not identically to Y’PBPR; see page 365. Confusion is also compounded by the EBU referring in Technical Standard N10-1998 to CBCR analog colour difference components, when they are properly denoted PBPR.

Reference white and black codes of the 10-bit interface have trailing zeros “to the left” of the least significant bit of the 8-bit representation. “Widening” from 8-bit to higher precision is properly accomplished by shifting left, not by multiplying by 879/219. “Narrowing” to 8 bits is properly accomplished by rounding then shifting right.

tudes are usually referenced to luma excursion, this condition is more clearly stated the opposite way: In Y’CBCR, each colour difference component has 224219 the excursion of the luma component. The notation CBCR distinguishes this set from PBPR, where the luma and chroma excursions are nominally identical: Conceptually, Y’PBPR and Y’CBCR differ only in scaling.

Historically, Y’PBPR scaling was used at analog interfaces, and Y’CBCR was used at digital interfaces. Nowadays so many different scale factors and offsets are in use in both the analog and digital domains that the dual nomenclature is more a hindrance than a help.

To provide footroom to accommodate luma signals that go slightly negative, an offset is added to luma at a Y’CBCR interface. At an 8-bit interface, an offset of +16 is added; this places black at code 16 and white at code 235. At an 8-bit interface, codes 0 and 255 are used for synchronization purposes; these codes are prohibited from video data. Codes 1 through 15 are interpreted as signal levels -15219 through -1219 (respectively), relative to unity luma excursion; codes 236 through 254 are interpreted as signal levels 220219 through 238219 (respectively), relative to unity excursion. Unfortunately, luma footroom and headroom are asymmetrical.

CBCR colour difference components are conveyed in offset binary form: An offset of +128 is added. In studio Y’CBCR, chroma reference levels are 16 and 240, and codes 0 and 255 are prohibited from chroma data.

BT.601 provides for 10-bit components; 10-bit studio video equipment is now commonplace. At

a 10-bit interface, the 8-bit interface levels and prohibited codes are maintained; extra bits are appended as least-significant bits (LSBs) to provide increased precision. The prohibited codes respect the 8-bit interface: Codes having all 8 most-significant bits either all zeros or all ones are prohibited from video data across

a 10-bit interface.

For signal-processing arithmetic operations such as gain adjustment, Y’, CB, and CR must be zero for black: The interface offsets must be removed. For 8-bit luma arithmetic, it is convenient to place reference black at code 0 and reference white at code 219. Colour difference signals are most conveniently handled in two’s complement form, scaled so that reference colour

362

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

-112

Figure 29.3 CBCR components for SD are shown in their mathematical form. The range outside

[-112 … +112] is available for undershoot and overshoot. At an 8-bit interface, an offset of +128 is added to each colour difference component.

+112

CR axis

R

Mg

 

Yl

 

0

+112 CB axis

 

B

G

Cy

 

-112

 

The numerical values used in this equation, and in those to follow, are based on the BT.601 luma coefficients. The coefficients for HD are, unfortunately, different. See BT.601 luma, on page 346.

difference signals (at pure yellow, cyan, red, and blue) are ±112. Figure 29.3 above shows the CBCR colour difference plane scaled in this manner, without offsets. As far as I am concerned, the offsets should be treated as an interface feature. Most descriptions of Y’CBCR, though – including SMPTE and ITU standards – take the Y’CBCR notation to include the offset. In the equations to follow, I colour the offset terms. If your goal is to compute abstract, mathematical quantities suitable for signal processing with signed numbers, omit these offset terms. If you are concerned with interfacing

unsigned values, include them.

These equations form BT.601 Y’CBCR components from [Y’, B’-Y’, R’-Y’] components ranging [0 … +1]:

219601Y’= 16+ (219 601Y’)

 

 

 

 

112

 

 

601

Eq 29.5

CB = 128

+

0.886(B’

Y’)

 

CR = 128

+

112

(R’601Y’)

 

0.701

 

To extend Equation 29.5 to 10 bits, append to each of Y’, CB, and CR two low-order bits having binary weights 12 and 14 . To extend Y’CBCR beyond 10 bits, continue the sequence with LSBs weighted 18 , 116 , and so on. If you prefer to express these quantities as whole numbers, without fractional bits, multiply

Equation 29.5 (and all of the equations to follow) by 2k-8, where 8≤k denotes the bit depth.

CHAPTER 29

COMPONENT VIDEO COLOUR CODING FOR SD

363

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