2004 Jun 29
67
Philips Semiconductors
Product specification
HD-CODEC
SAA7108AE; SAA7109AE
LPI mode
: In the linear phase interpolation mode
(YMODE = 0)twoneighbouringlinesofthesourcevideo
stream are added together, but weighted by factors
corresponding to the vertical position (phase) of the
target output line relative to the source lines. This linear
interpolation has a 6-bit phase resolution, which equals
64 intra line phases. It interpolates between two
consecutive input lines only. The LPI mode should be
applied for scaling ratios around 1 (down to
1
2
),
it must
be applied for vertical zooming
.
ACM mode
: The vertical Accumulation (ACM) mode
(YMODE = 1) represents a vertical averaging window
over multiple lines, sliding over the field. This mode also
generates phase correct output lines. The averaging
window length corresponds to the scaling ratio, resulting
in an adaptive vertical low-pass effect, to greatly reduce
aliasing artefacts. ACM can be applied for downscales
only from ratio 1 down to
1
64
. ACM results in a scale
dependent
DC gain amplification
, which has to be
precorrected by the BCS control of the scaler part.
The phase and scale controlling DTO calculates in 16-bit
resolution, controlled by parameters YSCY[15:0] B1H[7:0]
B0H[7:0]andYSCC[15:0]B3H[7:0]B2H[7:0],continuously
over the entire filed. A start offset can be applied to the
phase processing by means of the parameters
YPY3[7:0] to YPY0[7:0] in BFH[7:0] to BCH[7:0] and
YPC3[7:0] to YPC0[7:0]inBBH[7:0] to B8H[7:0].Thestart
phase covers the range of
255
32
to
1
32
lines offset.
By programming appropriate, opposite, vertical start
phase values (subaddresses B8H to BFH and
E8H to EFH) depending on odd/even field ID of the source
videostreamandA/Bpagecycle,frameIDconversionand
field rate conversion are supported (i.e. de-interlacing,
re-interlacing).
Figs 37 and 38 and Tables 26 and 27 describe the use of
the offsets.
Remark: The vertical start phase, as well as the
scaling ratio are defined independently for luminance
and chrominance channels, but must be set to the
same values in the actual implementation for accurate
4 : 2 : 2 output processing.
The vertical processing communicates on its input side
with the line FIFO buffer. The scale related equations are:
Scaling increment calculation for ACM and LPI mode,
downscale and zoom: YSCY[15:0] and YSCC[15:0]
BCS value to compensate DC gain in ACM mode
(contrast and saturation have to be set): CONT[7:0]
A5H[7:0] respectively SATN[7:0] A6H[7:0]
Nline_in
, or
9.3.3.3
Use of the vertical phase offsets
As shown in Section 9.3.1.3, the scaler processing may
run randomly over the interlaced input sequence.
Additionally the interpretation and timing between ITU 656
field ID and real-time detection by means of the state of
H sync at the falling edge of V sync may result in different
field ID interpretation.
A vertically scaled interlaced output also gets a larger
vertical sampling phase error, if the interlaced input fields
are processed, without regard to the actual scale at the
starting point of operation (see Fig.37).
The four events to be considered are illustrated in Fig.38.
In Tables 26 and 27
PHO
is a usable common phase
offset.
It should be noted that the equations in Fig.38 also
produce an interpolated output for the unscaled case, as
the geometrical reference position for all conversions is
the position of the first line of the lower field; see Table 26.
If there is no need for UP-LO and LO-UP conversion and
the input field ID is the reference for the back-end
operation, then it is UP-LO = UP-UP and LO-UP = LO-LO
and the
1
2
line phase shift (PHO + 16) that can be
skipped; this case is given in Table 27.
The SAA7108AE; SAA7109AE supports 4 phase offset
registers per task and component (luminance and
chrominance). The value of 20H represents a phase shift
of one line.
The registers are assigned to the following events;
e.g. subaddresses B8H to BBH:
B8H: 00 = input field ID 0, task status bit 0 (toggle
status, see Section 9.3.1.3)
B9H: 01 = input field ID 0, task status bit 1
BAH: 10 = input field ID 1, task status bit 0
BBH: 11 = input field ID 1, task status bit 1.
lower integer of
=
1024
Nline_out
×
lower integer of
Nline_out
64
×
=
lower integer of
YSCY[15:0]
64
×
=