2001 May 30
51
Philips Semiconductors
Preliminary specification
Multistandard video decoder with adaptive
comb filter and component video input
SAA7118
8.4.2
H
ORIZONTAL SCALING
Theoverallhorizontalrequiredscalingfactorhastobesplit
into a binary and a rational value according to the
equation:
output pixel
XPSC[5:0]
wheretheparameterofprescalerXPSC[5:0] = 1 to 63and
the parameter of VPD phase interpolation
XSCY[12:0] = 300 to 8191 (0 to 299 are only theoretical
values). For example,
1
3.5
is to split in
1
4
×
1.14286. The
binary factor is processed by the prescaler, the arbitrary
non-integer ratio is achieved via the variable phase delay
VPD circuitry, called horizontal fine scaling. The latter
calculates horizontally interpolated new samples with a
6-bit phase accuracy, which relates to less than 1 ns jitter
for regular sampling scheme. Prescaler and fine scaler
create the horizontal scaler of the SAA7118.
Using the accumulation length function of the prescaler
(XACL[5:0] A1H[5:0]), application and destination
dependent (e.g. scale for display or for a compression
machine), a compromise between visible bandwidth and
alias suppression can be determined.
8.4.2.1
Horizontal prescaler (subaddresses
A0H to A7H and D0H to D7H)
The prescaling function consists of an FIR anti-alias filter
stage and an integer prescaler, which creates an adaptive
prescale dependent low-pass filter to balance sharpness
and aliasing effects.
The FIR prefilter stage implements different low-pass
characteristics to reduce alias for downscales in the range
of 1 to
1
2
. A CIF optimized filter is built-in, which reduces
artefacts for CIF output formats (to be used in combination
with the prescaler set to
1
2
scale); see Table 11.
The function of the prescaler is defined by:
An integer prescaling ratio XPSC[5:0] A0H[5:0] (equals
1 to 63), which covers the integer downscale
range 1 to
1
63
An averaging sequence length XACL[5:0] A1H[5:0]
(equals 0 to 63); range 1 to 64
A DC gain renormalization XDCG[2:0] A2H[2:0];
1 down to
1
128
The bit XC2_1[A2H[3]], which defines the weighting of
the incoming pixels during the averaging process:
– XC2_1 = 0
1 + 1...+ 1 +1
– XC2_1 = 1
1 + 2...+ 2 +1
TheprescalercreatesaprescaledependentFIRlow-pass,
with up to (64 + 7) filter taps. The parameter XACL[5:0]
can be used to vary the low-pass characteristic for a given
integer prescale of
1
XPSC[5:0]
. The user can therefore
decide between signal bandwidth (sharpness impression)
and alias.
Equation for XPSC[5:0] calculation is:
lower integer of-----------------------
=
where,
the range is 1 to 63 (
value 0 is not allowed
);
Npix_in = number of input pixel, and
Npix_out = number of desired output pixel over the
complete horizontal scaler.
The use of the prescaler results in a XACL[5:0] and
XC2_1 dependent gain amplification.
The amplification
can be calculated according to the equation:
DC gain = [(XACL[5:0]
XC2_1) + 1]
×
(XC2_1 + 1)
It is recommended to use sequence lengths and weights,
which results in a 2
N
DC gain amplification, as these
amplitudes can be renormalized by the XDCG[2:0]
2
N
controlled
shifter of the prescaler.
The renormalization range of XDCG[2:0] is 1,
1
2
... down
to
1
128
.
Other amplifications have to be normalized by using the
following BCS control circuitry. In these cases the
prescaler has to be set to an overall gain of
≤
1, e.g. for an
accumulation sequence of ‘1 + 1 + 1’ (XACL[5:0] = 2 and
XC2_1 = 0),XDCG[2:0]mustbesetto‘010’,thisequals
1
4
and the BCS has to amplify the signal to
4
3
(SATN[7:0]
and CONT[7:0] value = lower integer of
4
3
×
64).
The use of XACL[5:0] is XPSC[5:0] dependent.
XACL[5:0] must be <2
×
XPSC[5:0].
XACL[5:0] can be used to find a compromise between
bandwidth (sharpness) and alias effects.
H-scale ratio
--input pixel
=
H-scale ratio
-----------1
XSCY[12:0]
---------1024
×
=
XPSC[5:0]
Npix_out
1