
Bt848/848A/849A
Single-Chip Video Capture for PCI
Brooktree
26
F
UNCTIONAL
D
ESCRIPTION
Video Scaling, Cropping, and Temporal Decimation
L848A_A
Chrominance Scaling
A 2-tap, 32-phase interpolation filter is used for horizontal scaling of chrominance.
Vertical scaling of chrominance is implemented through chrominance comb filter-
ing using a line store, followed by simple decimation or line dropping.
Scaling Registers
The Horizontal Scaling Ratio Register (HSCALE)
is programmed with the hor-
izontal scaling ratio. When outputting unscaled video (in NTSC), the Bt848 will
produce 910 pixels per line. This corresponds to the pixel rate at f
CLKx1
(4*Fsc).
This register is the control for scaling the video to the desired size. For example,
square pixel NTSC requires 780 samples per line, while CCIR601 requires 858
samples per line. HSCALE_HI and HSCALE_LO are two 8-bit registers that,
when concatenated, form the 16-bit HSCALE register.
The method below uses pixel ratios to determine the scaling ratio. The follow-
ing formula should be used to determine the scaling ratio to be entered into the
16-bit register:
For example, to scale PAL/SECAM input to square pixel QCIF, the total number of
horizontal pixels desired is 236:
An alternative method for determining the HSCALE value uses the ratio of the
scaled active region to the unscaled active region as shown below:
In this equation, the HACTIVE value cannot be cropped; it represents the total ac-
tive region of the video line. This equation produces roughly the same result as us-
ing the full line length ratio shown in the first example. However, due to truncation,
the HSCALE values determined using the active pixel ratio method will be slightly
different than those obtained using the total line length pixel ratio method. The val-
ues in Table 6 were calculated using the full line length ratio.
NTSC:
PAL/SECAM:
HSCALE = [ ( 910/P
desired
) – 1] * 4096
HSCALE = [ ( 1135/P
desired
) – 1] * 4096
where:
P
desired
= Desired number of pixels per line of video, includ-
ing active, sync and blanking.
HSCALE = [ ( 1135/236 ) – 1 ] * 4096
= 12331
= 0x3CF2
NTSC:
PAL/SECAM:
HSCALE = [ (754 / HACTIVE) – 1] * 4096
HSCALE = [ (922 / HACTIVE) – 1] * 4096
where:
HACTIVE
= Desired number of pixels per line of video, not in-
cluding sync or blanking.