
Public Version
www.ti.com
Camera ISP Functional Description
Clip outputs to 8-bit unsigned for luma, 8-bit signed for chroma
Fine-input pointer = fine-input p (
[9:0] HRSZ + 1)
}
Else {/* odd output pixel, generate Y only */
. . .
}
}
In the former algorithm, fixed-point arithmetic is used. The variable frac is an unsigned integer
representing the fraction f. Thus, 1- f becomes 512 - frac. After the sum of products, 256, representing 0.5
real-numbers, is added to the sum, and then the sum is right-shifted by 9 bits to get back to the integer
chroma representation.
In both algorithm options, the chroma outputs computed are interleaved with luma values to generate the
YCbYCr output format (or the alternate format specified in
[26] YCPOS).
In the vertical resizing stage, the two chroma planes are processed interleaved as one separate image.
Because there is no resolution issue vertically, and no horizontal dependency in vertical resizing, the
vertical scheme is consistent with conventional processing, and is not analyzed here.
6.4.7.2.5.4 Camera ISP VPBE Resizer Algorithm Functionality
is an example of 1:2.56 (hrsz = 100) horizontal resizing that illustrates the address calculation
and chroma processing in 4:2:2 format (4-tap 8-phase mode). The starting pixel and phase are assumed
to be zero.
Table 6-44. Camera ISP VPBE Resizer Processing Example for 1:2:56 Horizontal Resize
Output
Y0
Cb0
Cr0
Y1
Y2
Cb2
Cr2
Y3
Y4
Cb4
Cr4
Y5
fip (+= hrsz)
-256
-156
-56
44
144
244
cip (= (fip+16)>>5)
-8
-5
-2
1
5
8
pip (= (cip>>3) + 1)
0
0
0
1
1
2
coef ph (= cip & 7)
0
3
6
1
5
0
Inputs needed (chroma
Y0
Cb0
Cr0
Y0
Y0
Cb0
Cr0
Y1
Y1
Cb0
Cr0
Y2
filtered like luma)
Y1
Cb2
Cr0
Y1
Y1
Cb0
Cr0
Y2
Y2
Cb2
Cr2
Y3
Y2
Cb2
Cr2
Y2
Y2
Cb2
Cr2
Y3
Y3
Cb2
Cr2
Y4
Y3
Cb2
Cr2
Y3
Y3
Cb2
Cr2
Y4
Y4
Cb4
Cr4
Y5
Cfip (= fip+512)
256
488
720
Cidx (= Cfip >> 9)
0
0
1
Inputs needed for chroma
Cb0
Cr0
Cb0
Cr0
Cb2
Cr2
bilinear interpolation
Cb2
Cr2
Cb2
Cr2
Cb4
Cr4
Note the distinction between using {Cb0, Cb0, Cb2, Cb2} and {Cb0, Cb2, Cb2, Cb4} as input to the filter.
The 4 filter taps are applied in order, so with the different chroma component repetition, the result is
different (even when the coefficient phase is the same).
The Cidx of the chroma bilinear interpolation flow points to the chroma sample in linear array order, so
Cidx = 1 means we Cb2 and Cb4 are being grabbed.
6.4.7.2.6 Camera ISP VPBE Resizer Luma Edge Enhancement
Edge enhancement can be applied to the horizontally resized luminance component before the output of
the horizontal stage is sent to the line memories and the vertical stage. The
[17:16] ALGO
parameter can be set to disable edge enhancement, or to select a 3-tap or a 5-tap horizontal high-pass
filter (HPF) for luminance enhancement. The edge enhancement algorithm is as follows:
1223
SWPU177N – December 2009 – Revised November 2010
Camera Image Signal Processor
Copyright © 2009–2010, Texas Instruments Incorporated