
VP 510
3
In the RGB to chrominance and luminance mode, when
pre interpolation does not occur, only 8 unsigned integer bits
are available from the look up table. Thus, within the 13 bit
total, the top 2 bits plus the bottom 3 bits will be made into
zero's.
Intermediate precision within the matrix multiplier grows to
15 signed integer bits plus 6 fractional bits. The least signifi-
cant 9 or 10 of the integer bits are selected at the output, and
the fractional bits are rounded to 3 bits. Ten integer bits are
used when the matrix is producing RGB from interpolated
chrominance and luminance. This allows for undershoot and
overshoot beyond the nominal 8 bit unsigned value.
Only 9 integer bits are necessary when the matrix is
producing chrominance, and the three fractional bits provide
additional precision into the decimating filter. In fact, if the
matrix is producing normalized chrominance, the coefficients
will have been chosen to produce an output in the range
±
127.
This range only requires 8 integer bits, and the ninth bit will be
a repeated sign bit. Note that
±
127 is actually representing
±
0.5 in this context. When the NORM bit in the Control
Register is reset, the chrominance outputs lie in the range
±
1,
or
±
256 in our internal representation. The full 9 integer bits are
then needed.
LUMINANCE FILTER
The luminance channel contains a 23 tap low pass filter
with internally defined 10 bit signed coefficients. When the
MODE bit in the Control Register is reset the filter will decimate
the sampling rate by two. When the MODE bit is set the filter
will interpolate the incoming data to produce outputs at twice
the incoming sampling rate. The filter coefficients remain the
same in both cases, but the gain is adjusted to preserve the
energy content..
When the filter is producing decimated luminance it ac-
cepts data from the matrix converter with 9 signed integer bits
plus 3 fractional bits ( 9.3 ). Since luminance is always positive,
however, the most significant bit will be zero. Words within the
filter calculation are allowed to grow to 15 integer bits plus 6
fractional bits. This is then rounded to 15 bits plus 3 fractional
bits, and finally the 10 least significant integer bits are chosen
to give a 10.3 result. The 10 bit integer component allows for
any undershoot or overshoot in the nominal 0 to 255 lumi-
nance range. The three fractional bits are used to round the
integer component to a 10 bit value. This is then clipped to a
value between 0 and 255. Negative values become zero, and
positive values greater then 255 will saturate at 255. Outputs
will not saturate under normal operating conditions, and the
circuit is only necessary to prevent overflow when the input
swings between the maximum and minimum values. Figure 2
illustrates the bit significance at various points in the data path.
When the filter is used to interpolate incoming luminance
data, the 8 bit input is padded to the 9.3 format used previ-
ously. The 13 bit output from the filter is applied to the matrix
converter without further rounding.
The response given by the filter is shown in Figure 3. Stop
band attenuation is approximately 45 dB, and the maximum
pass band ripple is 0.07 dB. These figures were obtained with
10 bit quantized coefficients and unquantized data. The
effects of the various quantization steps within the filter, plus
the reduction to 10 bits, is superimposed upon Figure 3. Also
shown is the CCIR601 specification for a luminance or RGB
0.1 0.2 0.3 0.4 0.5
0
10
20
30
40
50
60
70
80
CCIR601 Specification
Quantized Coefficients, FP Data
Quantized Coefficients and Data
0.0
-0.05
-0.1
0.05
0.1
0.05
0.1
0.15
0.2
PASSBAND RIPPLE
NORMALIZED FREQUENCY
Figure 3. Response of the Luminance Filter
Fig 2. Bit significance in the Y Filter
ROUND
MAC ARRAY
SELECT 10
INTEGER BITS
08.000 9.3
From
Pins
From
Matrix
1.9
Coefficents
15.6
15.3
10.3
To Matrix
Converter
in Interpolate
Mode
10.0
CLIP TO
0 - 255
Unsigned 8.0 to Pins
ROUND