Chroma
Luma
Interpolated Chroma
Anchor0
Anchor1
Anchor2
Anchor3
x = 2/4
Anchor0
Anchor1
Interpolated Point
[ 1 x x^2 x^3 ] *
0
-a
2a
-a
1
0
-3+a
2-a
0
a
3-2a
-(2-a)
0
0
-a
a
Internal Modules
62
SPRUHI7A – December 2012 – Revised June 2016
Copyright © 2012–2016, Texas Instruments Incorporated
High-Definition Video Processing Subsystem (HDVPSS)
Figure 1-17. Catmull-Rom Filter Definition
In the previous figure, x is the distance to the interpolated point between the two anchor points. In
, the example shows the desired interpolated point to be ¼ of the distance between Anchor0
and Anchor1. Thus, x = ¼.
Figure 1-18. Definition of 'X'
The variable 'a' determines the characteristics of the filter. a = ½ is generally used because the filter will
produce an interpolated output that is an exact match to a linear input curve. In the literature, some people
have noted that a=0.75 or a=1.0 may be more pleasing to the eye. In the implementation, the filter
coefficients are programmable through MMR.
For the interpolated pixel, the variable x defines the positional offset relative to anchor pixel1.
shows four anchor pixels with Anchor0 being near the top of the image and Anchor3 near the bottom. x is
relative to Anchor1. Positive values of x goes down towards Anchor3. Negative x values imply a direction
towards Anchor0. For example, if we want to interpolate a pixel midway between Anchor1 and Anchor2, x
would be 2/4=1/2. There are four half pels between Anchor1 and Anchor2. Midway is two pels, so x=2/4.
Figure 1-19. Anchor Pixels