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

2:1 downsampling

Colour video originates with R’G’B’ components. Transcoding to Y’CBCR is necessary if signals are to be used in the studio. The conversion involves matrixing (to Y’CBCR in 4:4:4 form), then chroma subsampling to 4:2:2. Chroma subsampling requires a 2:1 downsampler. If this downsampling is attempted by simply dropping alternate samples, any signal content between the original 0.25fS and 0.5fS will cause aliasing in the result. Rejection of signal content at and above 0.25fS is required. The required filter is usually implemented as an FIR lowpass filter having its corner frequency somewhat less than one-quarter of the (original) sampling frequency. After filtering, alternate result samples can be dropped. There is no need to calculate values that will subsequently be discarded, however! Efficient chroma subsamplers take advantage of that fact, interleaving the CB and CR components into a single filter.

In Figure 20.12, on page 203, I presented a very simple lowpass filter that simply averages two adjacent samples. That filter has a corner frequency of 0.25fS. However, it makes a slow transition from passband to stopband, and it has very poor attenuation in the stopband (above 0.25fS). It makes a poor resampling filter. More than two taps are required to give adequate performance in studio video subsampling.

In 4:2:2 video, chroma is cosited: Each chroma sample must be located at the site of a luma sample. A symmetrical filter having an even number of (nonzero) taps does not have this property. A downsampling filter for cosited chroma must have an odd number of taps.

Oversampling

I have explained the importance of prefiltering prior to A-to-D conversion, and of postfiltering following D-to-A conversion. Historically, these filters were implemented in the analog domain, using inductors and capacitors. In discrete form, these components are bulky and expensive. It is extremely difficult to incorporate inductive and capacitive elements with suitable values and precision onto integrated circuits. However, A-to-D and D-to-A converters are operating at higher and higher rates, and digital arithmetic has become very

224

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

Figure 21.4 An analog

1

filter for direct sampling must meet tight constraints, making it expensive.

Figure 21.5 An analog filter for 2×-oversampling is much less demanding than a filter for direct sampling, because the difficult part of filtering – achieving a response comparable to that of Figure 21.4 – is relegated to the digital domain.

0

0

0.5fs

fs

2fs

 

 

Frequency

 

1

0

 

 

0

0.5fos

fos

 

Frequency

 

For an explanation of transition ratio, see page 212.

inexpensive. These circumstances have led to the emergence of oversampling as an economical alternative to complex analog presampling (“antialiasing”) and postsampling (reconstruction) filters.

The characteristics of a conventional analog presampling filter are critical: Attenuation must be quite low up to about 0.4 times the sample rate, and quite high above that. In a presampling filter for studio video, attenuation must be less than 1 dB or so up to about 5.5 MHz, and better than 40 or 50 dB above 6.75 MHz. This is a demanding transition ratio ∆ω /ω S. Figure 21.4 above (top) sketches the filter template of a conventional analog presampling filter.

An oversampling A-to-D converter operates at a multiple of the ultimate sampling rate – say at 27 MHz, twice the rate of BT.601 video. The converter is preceded by a cheap analog filter that severely attenuates components at 13.5 MHz and above. However, its characteristics between 5.5 MHz and 13.5 MHz are not critical. The demanding aspects of filtering in that region are left to a digital 2:1 downsampler. The transition ratio ∆ω /ω S of the analog filter is greatly relaxed compared to direct conversion. In today’s technology, the cost of the digital downsampler is less than the difference in cost between excellent and mediocre

CHAPTER 21

RESAMPLING, INTERPOLATION, AND DECIMATION

225

In certain FIR filters whose corner is exactly 0.25fS, half the coefficients are zero. This leads to a considerable reduction in complexity.

In the common case of interpolation horizontally across an image row, the argument x is horizontal position. Interpolating along the time axis, as in digital audio sample rate conversion, you could use the symbol t to represent time.

In computer graphics, the linear interpolation operation is often called LIRP (pronounced lerp).

analog filtering. Complexity is moved from the analog domain to the digital domain; total system cost is reduced. Figure 21.5 (on page 225) sketches the template of an analog presampling filter appropriate for use preceding a 2x oversampled A-to-D converter.

Figure 20.25, on page 215, showed the response of a 55-tap filter having a corner frequency of 0.25fS. This is a halfband filter, intended for use following

a 2×-oversampled A-to-D converter.

The approach to 2×-oversampled D-to-A conversion is comparable. The D-to-A device operates at 27 MHz; it is presented with a datastream that has been upsampled by a 1:2 ratio. For each input sample, the 2×-oversampling filter computes 2 output samples. One is computed at the effective location of the input sample, and the other is computed at an effective location halfway between input samples. The filter attenuates power between 6.75 MHz and 13.5 MHz. The analog postsampling filter need only reject components at and above 13.5 MHz. As in the 2×-oversampling A-to-D conversion, its performance between 6.75 MHz and 13.5 MHz isn’t critical.

Interpolation

In mathematics, interpolation is the process of computing the value of a function or a putative function (call it ), for an arbitrary argument (x), given several function argument and value pairs [xi, si]. There are many methods for interpolating, and many methods for constructing functions that interpolate.

Given two sample pairs [x0, s0] and [x1, s1], the linear interpolation function has this form:

~

(x) = s0

+

x x0

(s1

s0)

 

g

 

 

 

Eq 21.1

x

x

0

 

 

1

 

 

 

 

I symbolize the interpolating function as ; the symbol f is already taken to represent frequency. I write g with a tilde () to emphasize that it is an approximation.

The linear interpolation function can be rewritten as a weighted sum of the neighboring samples s0 and s1:

~

(x) = c0

(x) s0

+ c0(x) s1

Eq 21.2

g

226

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

Julius O. Smith calls this WaringLagrange interpolation, since Waring published it 16 years before Lagrange. See Smith’s Digital Audio Resampling Home Page, <wwwccrma.stanford.edu/~jos/resample>.

The weights depend upon the x (or t) coordinate:

c

0

(x) =

x1 x

;

c

(x) =

x x0

Eq 21.3

 

 

 

 

x1

x0

 

1

 

x1 x0

 

 

 

 

 

 

 

 

Lagrange interpolation

J.L. Lagrange (1736–1813) developed a method of interpolation using polynomials. A cubic interpolation function is a polynomial of this form:

~

(x) = ax

3

+ bx

2

+ cx + d

Eq 21.4

g

 

 

Interpolation involves choosing appropriate coefficients a, b, c, and d, based upon the given argument/value pairs [xj, sj]. Lagrange described a simple and elegant way of computing the coefficients.

Linear interpolation is just a special case of Lagrange interpolation of the first degree. (Directly using the value of the nearest neighbor can be considered zeroorder interpolation.) There is a second-degree (quadratic) form; it is rarely used in signal processing.

In mathematics, to interpolate refers to the process that I have described. However, the same word is used to denote the property whereby an interpolating function produces values exactly equal to the original sample values (si) at the original sample coordinates (xi). The Lagrange functions exhibit this property. You might guess that this property is a requirement of any interpolating function. However, in signal processing this is not a requirement – in fact, the interpolation functions used in video and audio rarely pass exactly through the original sample values. As a consequence of using the terminology of mathematics, in video we have the seemingly paradoxical situation that interpolation functions usually do not “interpolate”!

In principle, cubic interpolation could be undertaken for any argument x, even values outside the x-coordi- nate range of the four input samples. (Evaluation outside the interval [x-1, x2] would be called extrapolation.) In digital video and audio, we limit x to the range between x0 and x1, so as to estimate the signal in the interval between the central two samples. To evaluate outside this interval, we substitute the input sample values [s-1, s0, s1, s2] appropriately – for example, to

CHAPTER 21

RESAMPLING, INTERPOLATION, AND DECIMATION

227

Figure 21.6 Cubic interpolation of a signal starts with equally spaced samples, in this example 47, 42, 43, and 46. The underlying function is estimated to be a cubic polynomial that passes through (“interpolates”) all four samples. The polynomial is evaluated between the two central samples, as shown by the black segment. Here, evaluation is at phase offset . If the underlying function isn’t a polynomial, small errors are produced.

 

46

 

 

 

 

value

45

 

 

 

 

 

 

 

 

 

Sample

44

 

 

 

 

43

 

 

 

s1

 

 

 

 

 

42

s

0

~

 

 

 

 

 

 

 

g( )

 

 

41

 

 

 

 

 

x-1

x0

 

 

x1

Sample coordinate

Eq 21.5

 

 

=

x x0

;

x0 ≤ ≤ x1

x1

x0

 

 

 

Unser, Michael (1999), “Splines: A perfect fit for signal and image processing,IEEE Signal Processing Magazine: 22–38 (Nov.).

evaluate between s1 and s2, we shift the input sample values left one place.

With uniform sampling (as in conventional digital video), when interpolating between the two central samples the argument x can be recast as the phase offset, or the fractional phase ( , phi), at which a new sample is required between two central samples. (See Equation 21.5.) In abstract terms, lies between 0 and 1; in hardware, it is implemented as a binary or

a rational fraction. In video, a 1-D interpolator is usually an FIR filter whose coefficients are functions of the phase offset. The weighting coefficients (ci) are functions of the phase offset; they can be considered as basis functions.

In signal processing, cubic (third-degree) interpolation is often used; the situation is sketched in

Figure 21.6 above. In linear interpolation, one neighbor to the left and one to the right are needed. In cubic interpolation, we ordinarily interpolate in the central interval, using two original samples to the left and two to the right of the desired sample instant.

Equation 21.2 can be reformulated:

g( ) = c1( ) s1 + c0( ) s0 + c1( ) s1 + c2( ) s2 Eq 21.6

The function takes four sample values [s-1, s0, s1, s2] surrounding the interval of interest, and the phase offset between 0 and 1. The coefficients (ci) are now functions of the argument ; the interpolator forms

228

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

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