ADV7194
DNR27
DNR26
DNR25
DNR24
DNR23
DNR22
DNR21
DNR20
BLOCK OFFSET CONTROL
DNR DNR DNR DNR
27 26 25 24
0 0 0 0 0 PIXEL OFFSET
0 0 0 1 1 PIXEL OFFSET
0 0 1 0 2 PIXEL OFFSET
••••
•
••••
•
••••
•
1 1 0 1 13 PIXEL OFFSET
1 1 1 0 14 PIXEL OFFSET
1 1 1 1 15 PIXEL OFFSET
DNR MODE
CONTROL
DNR23
0 DNR MODE
1 DNR
SHARPNESS
MODE
DNR INPUT SELECT CONTROL
DNR DNR DNR
22 21 20
001
010
011
100
FILTER A
FILTER B
FILTER C
FILTER D
Figure 90. DNR Register 2
GAMMA CORRECTION REGISTERS 0–13 (GAMMA
CORRECTION 0–13)
(Address (SR5–SR0) = 26H–32H)
The Gamma Correction Registers are fourteen 8-bit-wide regis-
ter. They are used to program the gamma correction Curves A
and B.
Generally gamma correction is applied to compensate for the
nonlinear relationship between signal input and brightness level
output (as perceived on the CRT). It can also be applied wher-
ever nonlinear processing is used.
Gamma correction uses the function:
where
SignalOUT = (SignalIN )γ
γ = gamma power factor
Gamma correction is performed on the luma data only. The
user has the choice to use two different curves, Curve A or
Curve B. At any one time only one of these curves can be used.
The response of the curve is programmed at seven predefined
locations. In changing the values at these locations the gamma
curve can be modified. Between these points linear interpolation
is used to generate intermediate values. Considering the curve
to have a total length of 256 points, the seven locations are at:
32, 64, 96, 128, 160, 192, and 224.
Location 0, 16, 240 and 255 are fixed and can not be changed.
For the length of 16 to 240 the gamma correction curve has to
be calculated as below:
y = xγ
where
y = gamma corrected output
x = linear input signal
γ = gamma power factor
To program the gamma correction registers, the seven values for
y have to be calculated using the following formula:
yn = [x(n–16) /(240–16) ]γ × (240–16) + 16
where
x(n-16) = Value for x along x-axis at points n = 32, 64, 96, 128,
160, 192 or 224
yn = Value for y along the y-axis, which has to be written
into the gamma correction register
Example:
y32 = [(16/224)0.5 × 224] + 16 = 76*
y64 = [(48/224)0.5 × 224] + 16 =120*
y96 = [(80/224)0.5 × 224] + 16 = 150*
y128 = [(112/224)0.5 × 224] + 16 = 174*
*Rounded to the nearest integer.
The above will result in a gamma curve shown below, assuming
a ramp signal as an input.
300
GAMMA CORRECTION BLOCK OUTPUT
TO A RAMP INPUT
250
300
200 250
SIGNAL OUTPUT
0.5
150 200
150
100
100
50
50
SIGNAL INPUT
0
0
50
100
150
200
250
LOCATION
Figure 91. Signal Input (Ramp) and Signal Output for
Gamma 0.5
300
GAMMA CORRECTION BLOCK OUTPUT
TO A RAMP INPUT FOR VARIOUS GAMMA VALUES
250
SIGNAL OUTPUTS
200
0.3
0.5
150
100
SIGNAL
INPUT
1.5
1.8
50
0
0
50
100
150
200
250
LOCATION
Figure 92. Signal Input (Ramp) and Selectable Gamma
Output Curves
The gamma curves shown above are examples only, any user
defined curve is acceptable in the range of 16–240.
REV. 0
–43–