1/4 INCH VGA CMOS IMAGE SENSOR
S5K437CX
23
By appropriately programming these four register values, you can acquire different output resolutions depending
on the signal and can increase the intra-scene dynamic range by 16 times. In another application, the sectional
global gain control can be used as a rough gamma correction with four sectional linear approximation curves as
shown in Figure 9.
255
0
511
767
1023
ADC output code at 10-bit resolution
sgg1=1111b
sgg3=0011b
sgg2=0111b
sgg4=0000b
A
sgg1=0111b
sgg2=0111b
sgg3=0111b
sgg4=0111b
sgg1
sgg2
sgg3
sgg4
Figure 9. Quadrisectional Global Gain Control
3. Post Processing
3-1. Auto Dark Level Compensation(ADLC)
The dark level of Image sensor means the average output level without illumination. It includes pixel output
caused by leakage current of the photodiodes and ADC offset. To compensate the dark level, the output level of
optical black(OB) pixels should be in a good reference value. Auto Dark Level Compensation has 4 operating
modes. ADLC mode A only works for (adlc_length +1) frame time. ADLC mode B only works when the change of
shutter values is detected at the start of each frame. ADLC mode C only works when the change of channel gain
values is detected at the start of each frame. ADLC mode D works always when this register is set to high. When
ADLC mode is activated, the image sensor detects the OB pixel level, optionally 512X2 or 128X8, at the start of
the enabled frame, and analog-to-digital conversion range is shifted to compensate the dark level for that frame.
So, the resulting output data of that frame will be almost zero under dark state. You can select the dark level
which is not zero on the ADC Offset Register (adcoffs). The lower 7-bit value represents the offset value in output
code for compensation and the MSB shows whether the offset is positive (adcoffs[7]=0) or negative
(adcoffs[7]=1). When not in auto dark level compensation mode, the adcoffs[7:0] act as a output code value to
subtract the output image data. Please note that all the 8-bit data are used for an offset value without a sign bit.
The resulting ADLC value is expressed as;
ADLC
current
=
α
* (OB
old
+ OB
new
) +
β
* ADLC
old
(
α
is set by register feedback_gain_A ,
β
is set by register feedback_gain_B)