Digital Signal Processing Reference
In-Depth Information
value of the preceding pixel. This is the simplest example of
scaling and requires minimal hardware resources since no
calculations have to be done
In a slightly more sophisticated approach, called bilinear
scaling, a new pixel is equal to the average of the two neighboring
pixels in both the vertical and horizontal dimensions. Both of
these techniques are illustrated conceptually in Figure 5.2 .
Bilinear scaling implicitly assumes equal weighting of the four
neighboring pixels, i.e. each pixel is multiplied by 0.25.
New Pixel
¼
(0.25
pixel 1)
þ
(0.25
pixel 1)
þ
(0.25
pixel
1)
pixel 1)
By creating new values for each new pixel in this way the
image size is doubled
(0.25
þ
a frame size of 2
2 is increased to
e
a frame size of 4
4. The same concept can be applied to larger
frames.
In video terminology this function is scalar (all coefficients are
equal)
it has two taps in the horizontal dimension, two taps in
the vertical dimension and has one phase (i.e. one set of
coefficients).
The term “taps” refers to filter taps, as scaling is mathemati-
cally identical to generalized filtering, i.e. multiplying coefficients
by inputs (taps) and summing, such as a direct form digital filter.
The hardware structure that implements this bilinear scaling
function is simplistically shown in Figure 5.3 . In practice it can be
optimized to utilize less hardware resources.
To further illustrate this, consider the 4
e
4 scaler shown in
Figure 5.4 . Four new (black) pixels are generated for every one
existing (white) pixel. Like the previous example, it has two taps in
the horizontal dimension. Unlike the previous example, each new
pixel is generated using a different weighting of the two existing
pixels, making this a four-phase scaler.
Coef 3
Coef 3
Coef 2
Coef 1
pixel 4
pixel 3
pixel 2
pixel 1
+
New Pixel
Figure 5.3.
Search WWH ::




Custom Search