ADV7390/ADV7391/ADV7392/ADV7393
SD gamma correction is enabled using Subaddress 0x88, Bit 6.
SD Gamma Correction Curve A is programmed at Subaddress
0xA6 to Subaddress 0xAF, and SD Gamma Correction Curve B
is programmed at Subaddress 0xB0 to Subaddress 0xB9.
To program the gamma correction registers, calculate the
10 programmable curve values using the following formula:
γ
⎛
⎜
⎜
⎝
⎞
⎟
⎠
n −16
240 −16
⎛
⎜
⎝
⎞
⎟
⎠
⎟
γn
=
×(240 −16) + 16
Gamma correction is performed on the luma data only. The
user can choose one of two correction curves, Curve A or
Curve B. Only one of these curves can be used at a time. For
ED/HD gamma correction, curve selection is controlled using
Subaddress 0x35, Bit 4. For SD gamma correction, curve
selection is controlled using Subaddress 0x88, Bit 7.
where:
γn = value to be written into the gamma correction register for
point n on the gamma correction curve
n = 24, 32, 48, 64, 80, 96, 128, 160, 192, or 224
γ = gamma correction factor
For example, setting γ = 0.5 for all programmable curve data
points results in the following yn values:
The shape of the gamma correction curve is controlled by
defining the curve response at 10 different locations along the
curve. By altering the response at these locations, the shape of
the gamma correction 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 10 programmable locations are at points 24, 32, 48,
64, 80, 96, 128, 160, 192, and 224. Locations 0, 16, 240, and 255
are fixed and cannot be changed.
y
y
y
y
y
y
y
y
y
y
24 = [(8/224)0.5 × 224] + 16 = 58
32 = [(16/224)0.5 × 224] + 16 = 76
48 = [(32/224)0.5 × 224] + 16 = 101
64 = [(48/224)0.5 × 224] + 16 = 120
80 = [(64/224)0.5 × 224] + 16 = 136
96 = [(80/224)0.5 × 224] + 16 = 150
128 = [(112/224)0.5 × 224] + 16 = 174
160 = [(144/224)0.5 × 224] + 16 = 195
192 = [(176/224)0.5 × 224] + 16 = 214
224 = [(208/224)0.5 × 224] + 16 = 232
From curve locations 16 to 240, the values at the programmable
locations and, therefore, the response of the gamma correction
curve, should be calculated to produce the following result:
γ
x
DESIRED = (xINPUT
)
where:
x
x
DESIRED = desired gamma corrected output
INPUT = linear input signal
where the sum of each equation is rounded to the nearest integer.
The gamma curves in Figure 72 and Figure 73 are examples only;
any user-defined curve in the range from 16 to 240 is acceptable.
γ = gamma correction factor
GAMMA CORRECTION BLOCK OUTPUT TO A RAMP INPUT
GAMMA CORRECTION BLOCK TO A RAMP INPUT FOR
300
250
200
150
100
50
VARIOUS GAMMA VALUES
300
250
SIGNAL OUTPUT
0.3
0.5
200
0.5
150
1.5
100
SIGNAL INPUT
1.8
50
0
0
50
100
150
LOCATION
200
250
0
0
50
100
150
LOCATION
200
250
Figure 72. Signal Input (Ramp) and Signal Output for Gamma 0.5
Figure 73. Signal Input (Ramp) and Selectable Output Curves
Rev. 0 | Page 54 of 96