5. Module Function

5.1. Black Level

5.1.1. Black Level Calibration Method

When the analog signal is very weak, it may not be conveyed by the analog-to-digital converter, resulting in the loss of image details when the light is very dark. Therefore, the image sensor will give the analog signal a fixed offset before the analog-to-digital conversion, ensuring that the output digital signal retains more image details. The black level correction module determines the specific value of this offset by means of calibration. Subsequent ISP processing modules need to reduce the offset value to ensure the linear consistency of the data.

5.1.1.2. Black Level Calibration Tool Interface

Switch the main function volume label page of the calibration tool to BLC, and you will see the interface of BLC calibration. As shown in Fig. 5.1, the page is divided into two main parts:

  • Control area: The main function of the tool for calibration (red box selection area).

  • Display area: Display input image and result image after BLC calibration (blue box selection area).

Interface diagram of black level calibration tool

_images/Module002.png

Fig. 5.1 Interface diagram of black level calibration tool

5.1.1.3. Black Level Calibration Step

After collecting the Raw required for the calibration algorithm, the user can calibrate the automatic mode of black level according to the following methods:

Step 1. Import the Raw file in Open raw files at the top left of the calibration tool, then use Dark frame in the drop-down menu.

Step 2. Click the Calibration button to calibrate the black level.

5.2. DPC

5.2.1. DPC Tuning Method

5.2.1.1. Functional Description

In sensor manufacturing, depending on the process yield, there will be a varying number of defective pixels.

Interpolation (Demosaic) or filter processing on the image will spread the defective pixels to the surrounding pixels.

In order to reduce the damage of defective pixels to the original pixels, the defective pixels must be corrected before image processing such as interpolation.

Defective pixels can be divided into two types:

  • Static defective pixels :

  • Bright point: Usually the pixel value is directly proportional to the brightness of the incident light source. A bright point is defined as a point whose value is much larger than that of the incident light multiplied by the corresponding ratio, and the value of this point increases significantly as the exposure time increases.

  • Dark point: The pixel value at this point is very close to 0 regardless of the characteristics of the original light source.

  • Dynamic defective pixels:

In normal usage, the pixel value at this point is normal, but it will appear brighter than the surrounding pixels due to different environmental conditions such as usage time or sensor temperature rise and gain increase.

Detection and correction of static and dynamic defective pixels mainly use 5x5 window to determine and correct the same color channel.

The types of defective pixels DPC can support:

  • Single defective pixel

  • Defective pixels aggregation, with up to three adjacent defective pixels per color channel

_images/Module003.png

Fig. 5.2 A single defective pixel, as shown below is the R defective pixel

_images/Module004.png

Fig. 5.3 There are two defective pixels in the same color channel, G has two consecutive defective pixels, and R, B defective pixels will not affect the correction of G.

_images/Module049.png

Fig. 5.4 Three defective pixels in the same color channel

DPC unsupported defective pixels type:

  • Aggregation of more than three defective pixels in the same color channel

5.2.1.2. Key Parameters

The DPC correction flowchart is shown in Fig. 5.5, and the static and dynamic key parameters are shown in Table 5.1 and Table 5.2, respectively.

_images/Module005.png

Fig. 5.5 DPC correction flowchart

Table 5.1 DPC Static Key Parameters

Parameters

Value range

Default value

Description

Enable

[0, 1]

0

Enable the static defective pixel DPC function.

0: close

1: enable

Table 5.2 DPC Dynamic Key Parameters

Parameters

Value range

Default value

Description

Enable

[0, 1]

0

Enable DPC function.

0: Close.

1: Enable.

DynamicDPCEnable

[0, 1]

0

Enable the dynamic defective pixel DPC function.

0: close

1: enable

OpType

[0, 1]

0

DPC operation type.

0: Automatic mode (OP_TYPE_AUTO)

1: Manual mode (OP_TYPE_MANUAL)

ClusterSize

[0, 3]

2

The upper bound of the cluster defective pixels area, the higher the value, the better the correction of the cluster defective pixels, but may cause the attenuation of the resolution in the high frequency region.

BrightDefectToNormalPixRatio

[1, 255]

128

The ratio of the visible bright defective pixels value to the surrounding pixels.

DarkDefectToNormalPixRatio

[1, 255]

128

The ratio of the visible dark defective pixels value to the surrounding pixels.

FlatThreR

[0, 255]

8

Threshold value of flat area for R-channel discrimination, the smaller the value, the more edge information can be retained.

FlatThreG

[0, 255]

8

Threshold value of flat area for G-channel discrimination, the smaller the value, the more edge information can be retained.

FlatThreB

[0, 255]

8

Threshold value of flat area for B-channel discrimination, the smaller the value, the more edge information can be retained.

FlatThreMinG

[0, 255]

15

The minimum threshold value of flat area for G-channel discrimination

FlatThreMinRB

[0, 255]

15

The minimum threshold value of flat area for RB-channel discrimination

5.2.1.3. Tuning Steps

Dynamic DPC processing intensity is closely related to ISO value.

The higher the ISO, the noisier the image.

By increasing the intensity of dynamic DPC, better image quality can be obtained.

However, if the intensity is too strong, details will be lost and edges will be blurred.

Therefore, dynamic DPC intensity adjustment must be made for different sensors and different scenarios in tuning. Parameters corresponding to 16 ISO values listed as 4.1.1 are configured in sensor’s cmos.c.

When the actual effect is not as expected, the user can tune it according to the following steps:

Step 1. Set BrightDefectToNormalPixRatio, which is twice the average value of the defective pixels in the bright area of the R/G/B pixel and the surrounding pixels.

The default value is 4 times, which is equivalent to correcting defective pixels that are more than 4 times the average value of the surrounding pixels.

The larger the BrightDefectToNormalPixRatio, the more accurate the defective pixels judgment condition is.

If there are any remaining defective pixels in the image, the BrightDefectToNormalPixRatio can be adjusted lower. Note that if it is adjusted too small, the edge details will be lost.

The DarkDefectToNormalPixRatio adjustment is the same as above, which is the ratio of dark area defective pixels to surrounding pixels.

Step 2. The threshold value of flat zone is determined by adjusting the slope FlatThre[R/G/B] and the threshold value of flat zone FlatThreMinG/FlatThreMinRB.

Take the G-channel flat area threshold as an example, as shown in Fig. 5.6, the smaller the FlatThreMinG threshold is, the better the edge information of the image can be preserved.

The larger the threshold value of the flat area, the easier it is to judge as the flat area, resulting in loss of details on the more polygonal edges.

—-end

_images/Module006.png

Fig. 5.6 Diagram of adjustment of flat zone threshold value of G-channel

5.3. CrossTalk Removal

5.3.1. CrossTalk Removal Tuning Method

5.3.1.1. Function Description

Crosstalk refers to a square or similar pattern produced by a sensor after a Demosaic interpolation operation because the Gr of the neighboring pixels is inconsistent with the Gb value due to a particular angle of incoming light. Therefore, in order to balance the difference between adjacent Gr and Gb.

As shown in Fig. 5.7, the horizontal coordinates represent the difference between Gr and Gb, Diff = | Gr - Gb|, the vertical coordinates represent the corresponding weight values, and T1~T4 is the Threshold value that the user can define.The smaller the difference, the larger the weight value, and the greater the intensity of the overall image processing.

_images/Module007.png

Fig. 5.7 Crosstalk Removal Weight Distribution

5.3.1.2. Key Parameters

Table 5.3 CrossTalk Removal key parameters

Parameters

Value range

Default value

Description

Enable

[0, 1]

0

Enable Crosstalk Removal fonction.

0: Close.

1: Enable

OpType

[0, 1]

0

Crosstalk Removal operation type.

0: Automatic mode (OP_TYPE_AUTO)

1: Manual mode (OP_TYPE_MANUAL)

GrGbDiffThreSec1

[0, 4095]

128

G-channel balance node 1 threshold.

GrGbDiffThreSec2

[0, 4095]

192

G-channel balance node 2 threshold.

GrGbDiffThreSec3

[0, 4095]

224

G-Channel Balance Node 3 Threshold.

GrGbDiffThreSec4

[0, 4095]

256

G-Channel Balance Node 4 Threshold.

FlatThre1

[0, 4095]

128

Flat zone detection node 1 threshold.

FlatThre2

[0, 4095]

192

Flat zone detection node 2 threshold.

FlatThre3

[0, 4095]

224

Flat zone detection node 3 threshold.

FlatThre4

[0, 4095]

256

Flat zone detection node 4 threshold.

Strength[16]

[0, 255]

64

G-channel balance global strength.

5.3.1.3. Tuning Steps

_images/Module008.png

Fig. 5.8 CrossTalk Removal process flow chart and key parameters

Step 1. By adjusting GrGbDiffThreSec1 to GrGbDiffThreSec4, the greater the value of GrGbDiffThreSec1, the stronger the overall processing intensity. GrGbDiffThreSec2- GrGbDiffThreSec4 determines how far the difference is from and how much the intensity is weakened.

Step 2. By adjusting FlatThre1~FlatThre4 to determine the intensity of image edge processing, the higher the value of FlatThre1, the stronger the edge will be processed, resulting in blurring. Conversely, the smaller the FlatThre1, the clearer the edge will be.

Step 3. Strength represents the overall intensity of the image processing, the higher the value, the stronger the intensity;Conversely, if the value is set too small, the lattice noise of CrossTalk will remain

—-end

5.4. Mesh Lens Shading Correction (MLSC)

5.4.1. MLSC Calibration Method

It is found that in the Lens Shading phenomenon, the attenuation trend of the brightness of the target point conforms to the law of cosine fourth power.

For the same lens module, the image brightness only changes with the imaging angle between the imaging point and the optical axis.

The change trend is that the ratio is directly proportional to the fourth power of the cosine of the imaging angle, and the ratio coefficient is determined by the lens diameter and focal length of the lens.

Therefore, for the same lens module, the calibration results need to meet the following two conditions: First, the calibration results can effectively reflect the brightness decay trend;Second, the calibration results can be used to restore the brightness of all target points in the image area. Therefore, the calibration results of this module need to be stored in a Mesh grid. It is also important to note that even for the same lens module, the Color Shading characteristic curves are different under different light sources or color temperatures due to the different frequency spectra of light sources or different color temperatures and the influence of IR-cut Filter.

Therefore, in order to meet the correction requirements for Color Shading under different light sources or color temperatures,MLSC needs to be corrected at different light sources or color temperatures.

Due to the influence of Color Shading, for some lenses or sensors with more severe Color Shading phenomena, MLSC correction of AWB calibration collection sequence is required before AWB calibration.

In order to get accurate AWB calibration results, the calibration results are used as input of AWB calibration algorithm.

5.4.1.2. MLSC Calibration Tool Interface

Switch the main function tab of the ISP calibration tool to MLSC, and you will see the interface of MLSC calibration, as shown in Fig. 5.10.

MLSC calibration tools can be divided into three main parts:

  • Control area: The main function of the tool for calibration (red box selection area).

  • Display area: Display the input image and the output image (blue box selection) after MLSC calibration.

  • List area: The open input images are displayed here and provide the ability to post the calibration results to the board, which is the lower left block of the MLSC tab (green box selection area).

_images/Module009.png

Fig. 5.10 MLSC Calibration Tool Interface Diagram

5.4.1.3. MLSC Calibration Steps

The general steps for MLSC calibration are as follows:

Select Open raw files in the upper left to import RAW images.The imported files will be displayed on the left, then click the check box in the Sel column to import the selected RAW images by clicking “Import selected raw” in the LSC tab.

Press the button “Calibrate” to calibrate the MLSC.MLSC calibration can support multi-color temperature and up to seven sets of MLSC calibration tables.

5.4.2. MLSC Tuning Method

5.4.2.1. Function Description

LSC is called Lens shading correction, and its main purpose is to correct dark corners.The LSC algorithm in the processor uses a grid method to calibrate the image first, then correct it, dividing the domain image on Bayer into 37×37 sub-blocks.Four channels in Bayer domain are calculated by three different RGB gain arrays.When a MLSC array is calibrated as a complex array, an adjacent MLSC calibration table of two color temperatures is selected based on the current color temperature for interpolation, resulting in a MLSC gain corresponding to the current color temperature.The number of groups to be calibrated is defined by the LscGainLutSize parameter.

5.4.2.2. Key Parameters

Table 5.4 MLSC Key Parameters

Parameters

Value range

Default value

Description

Enable

[0, 1]

0

Enable MLSC module:

0:off;

1:on.

OpType

[0, 1]

0

MLSC operation type.

0: Automatic mode (OP_TYPE_AUTO)。

1: Manual mode (OP_TYPE_MANUAL)。

MeshStr

[0, 4095]

4095

MLSC global strength

LscGainLutSize

[1, 7]

1

Number of calibrated MLSC groups that can support up to seven sets of calibration data

LscGinaLut[n].ColorTemp

[500 ,30000]

Color temperature corresponding to group n calibration data

LscGinaLut[n].RGain

[0, 4095]

R-Channel Gain Table for Group n Calibration Data

LscGinaLut[n].GGain

[0, 4095]

G-Channel Gain Table for Group n Calibration Data

LscGinaLut[n].BGain

[0, 4095]

B-Channel Gain Table for Group n Calibration Data

5.4.2.3. Tuning Steps

Before tuning parameters, verify that the modules listed in Table 5.5 have been tuned and that the default values for key parameters are configured according to Table 5.4.

The MLSC interfaces are as follows. The MeshShading box aggregates all the MLSC options and completes the tuning steps once the adjustment is complete.

5.5. Radial Shading Correction (RLSC)

5.5.1. RLSC Calibration Methods

Lens shading is due to the different refractive index of the spherical lens, resulting in concentric decay of the received image, the closer to the center of the lens, the less the image brightness decay, and the more away from the center of the lens, the stronger the image brightness decay. Radial Shading Correction provides concentric circle-based dark corner gain to deal with the dark corner phenomenon caused by uneven optical refraction of the lens.

Radial shading correction is only supported for generating image corrections on AE, AWB, AF statistics.

Radial shading correction calibration is the same as MLSC, for the same lens module, the calibration results need to meet the following two conditions: first, the calibration results can effectively reflect the luminance decay trend; second, the calibration results can be used to recover the luminance of all target points in the image area. At the same time, it should be noted that, due to the different spectrum of light under different light sources or color temperatures, and the influence of IR-cut filter, the Color Shading characteristic curve under different light sources is different even for the same lens module, so in order to meet the calibration requirements of Color Shading under different light sources or color temperatures, the RLSC needs to be calibrated under different light sources or color temperatures. Therefore, in order to meet the requirements of color shading correction under different light sources or color temperatures, RLSC needs to be corrected under different light sources or color temperatures.

Due to the effect of Color Shading, for some lenses or sensors with serious Color Shading, the calibration acquisition sequence of AWB needs to be corrected before doing AWB calibration, and the calibration result is used as input to the AWB calibration algorithm to get accurate AWB calibration results.

5.5.1.2. RLSC Calibration Tool Interface

The interface for RLSC calibration is common to the MLSC calibration interface, as shown in Fig. 5.10.

RLSC calibration tools can be divided into three main parts:

  • Control area: The main function of the tool for calibration (red box selection area).

  • Display area: Display the input image and the output image (blue box selection) after RLSC calibration.

  • List area: The open input images are displayed here and provide the ability to post the calibration results to the board, which is the lower left block of the LSC tab (green box selection area).

5.5.1.3. RLSC Calibration Steps

The general steps for RLSC calibration are as follows:

Select Open raw files in the upper left to import RAW images.The imported files will be displayed on the left, then click the check box in the Sel column to import the selected RAW images by clicking “Import selected raw” in the LSC tab.

Press the button “Calibrate” to calibrate the RLSC. RLSC calibration can support multi-color temperature and up to seven sets of RLSC calibration tables.

5.5.2. RLSC Tuning Method

5.5.2.1. Function Description

Radial Lens Shading principle is to process the pixels with reference to the coordinates of the surrounding pixels at the center of the lens, so it can be used to make up for the lack of concentric circle-shaped luminance decay of the lens.

5.5.2.2. Key Parameters

Table 5.6 RLSC Key Parameters

Parameters

Value range

Default value

Description

Enable

[0, 1]

0

Enable RLSC module:

0:off;

1:on.

RadiusStr

[0, 4095]

0

LSC Compensation Strength

RadiusIRStr

[0, 4095]

0

LSC IR Compensation Strength

Size

[1,7]

0

Number of color temperature adaptive LSC compensation gain table

ColorTemperature[7]

[0 ,65535]

0

Color temperature adaptive LSC compensation gain table corresponding to the color temperature

RadiusShadingRGain[7][32]

[0, 4095]

512

LSC Radius form red compensation gain table

RadiusShadingGGain[7][32]

[0, 4095]

512

LSC Radius form green compensation gain table

RadiusShadingBGain[7][32]

[0, 4095]

512

LSC Radius form blue compensation gain table

RadiusShadingIRGain[7][32]

[0, 4095]

512

LSC Radius form IR compensation gain table

5.5.2.3. Tuning Steps

Before tuning parameters, verify that the modules listed in Table 5.7 have been tuned and that the default values for key parameters are configured according to Table 5.6.

The RLSC interfaces are as follows. The MeshShading box aggregates all the RLSC options and completes the tuning steps once the adjustment is complete.

5.6. White Balance

5.6.1. AWB Calibration Method

Based on the white point characteristics (R/G, B/G) of sensor under several standard light sources, the best Planck color temperature fitting curve is calculated.

5.6.1.2. AWB Calibration Tool Interface

Switch the main function volume label page of the calibration tool to AWB, and you will see the interface of AWB calibration, as shown in Fig. 5.13.

_images/Module012.png

Fig. 5.13 AWB calibration tool interface diagram

5.6.1.3. AWB Calibration Steps

Step1. Import BLC Data, the correct BLC value is required to calibrate the AWB.

Step2. Click “Open raw file” to open and select the raw file you want to calibrate, and select uniform color for the Raw Scene option. Please select the correct RAW Format to avoid calibrating the wrong AWB color temperature curve.

Step3. Check the raw file you want to label and click “Import select raw” to import it.

Step4. Repeat steps 2~3, with at least three color temperature RAW files.

Step5. Enter the color temperature (In Temp.(K)) of each RAW file in the green box area.

Step6. Check 3 KI (Key Color Temperature) in the green box area.

Step7. Click on “Calibration” to perform AWB calibration.

Step8. The blue box will show the calibrated WB curves, which can be adjusted using Weight weights.

Step9. After confirmation, press “Write Data” to write the AWB calibration data.

Step10. Click “Export Data” to export the AWB calibration file.

Step11. Note, please confirm that the higher the color temperature, the lower the value of R/G and the higher the value of B/G. If not, please reconfirm whether the RAW shooting and format are correct.

Can be confirmed by AWB Calibration Data on the WB Attr page.

Table 5.8 AWB Calibration Data

Parameters

Value range

Default value

Description

ColorTemp[0~2]

[0, 30000]

0

Three sets of color temperatures (low to high) calibrated by AWB

AvgRgain[0~2]

[0, 4095]

0

Rgain calibrated by AWB

5.6.2. AWB Tuning Method

5.6.2.1. Function Description

The same object will show different colors when illuminated by different light sources. Under low color temperature light source, the white object is reddish, while under high color temperature light source, the white object is blue.The human eye can recognize the true color of an object based on the memory of the brain.The function of the AWB algorithm is to restore white to its original color without the influence of the light source in the field.The basic principle of AWB algorithm is to calculate the gain of R, G, B color channels based on the color information of gray objects in the scene, multiply the gain of R and B channels, and make the RGB channels balance.The gain of AWB is global, so the RGB three-channel balance for all gray areas cannot be achieved in a scenario with multiple light sources.

5.6.2.2. Key Parameters

Table 5.9 AWB Key Parameters

Parameters

Value range

Default value

Description

Bypass

[0, 1]

0

When ByPass is true, the other parameters of WB are not valid and the RGB channel gain factor is fixed to 1024 (double gain).

OpType

[0, 1]

0

Manual white balance and automatic white balance mode switch.

AlgType

[0, 1]

0

AWB algorithm category 0:AWB, 1:AWB_SPEC

AWBRunInterval

[1, 255]

6

The working frequency of white balance module, the preset value of 6 is recommended to avoid too much computation.

RGain

[1, 16383]

1024

Manual white balance mode R channel gain factor, doubling gain is 1024.

GGain

[1, 16383]

1024

Manual white balance mode G channel gain factor, doubling gain is 1024.

BGain

[1, 16383]

1024

Manual white balance mode B channel gain factor, doubling gain is 1024.

Enable

[0, 1]

1

To enable automatic white balance mode.

RefColorTemp

[0, 65535]

5000

The static white balance factor given by the AWB calibration tool.

Static WB

[0, 4096]

1024

The static white balance factor given by the AWB calibration tool.

CurvePara

[-214 7483648, 214 7483647]

1

CurvePara [0-2] Planck curve coefficients, given by the AWB calibration tool.Planck curves depict the color representation of white blocks at standard light sources at different color temperatures.CurvePara [3-5] color temperature curve coefficient, given by AWB calibration tool.Color temperature curves depict the relationship between the color representation of white blocks and color temperature.

AWB.AlgType

[0, 1]

1

AWB algorithm category selection,0:AWB_ALG_LOWCOST, 1:AWB_ALG_ADVANCE. When using AWB_ALG_LOWCOST, the functionality of the AWBAttrEx page will not work.

RGStrength

BGStrength

[0, 255]

128

AWB correction intensity, adjustment is not recommended in general.RGStrength = BGStrength is recommended and set to <=0x80.

When RGStrength=0x80, the white color returns to white.

When RGStrength > 0x80, white is opposite to light source, low color temperature is blue, high color temperature is red;

New tuning mode (BGStrength=0 to enter this mode):

When RGStrength = 0x80 , no adjustment;

When RGStrength < 0x80 and tends to 0, it becomes more and more warm-toned;

When RGStrength>0x80 and tends to 255, it becomes more and more cool-toned

Speed

[0, 4095]

256

AWB convergence speed, the larger the value, the faster the AWB convergence, the greater the fluctuation amplitude per frame, the smaller the value, the slower the AWB convergence speed and the higher the picture stability when switching light source.

ZoneSel

[0, 255]

32

When the parameter is 0 or 255, a white balance algorithm approximating the gray world is used, while the other values are used for classification filtering to improve accuracy.

HighColorTemp

[0, 65535]

8000

The upper limit of color temperature supported by AWB, the recommended value is [8000, 15000].

The larger the upper color temperature limit, the greater the interference of blue objects on AWB.

LowColorTemp

[0, 65535]

2500

Lower color temperature limit supported by AWB, recommended at [1500, 2500].

The smaller the lower color temperature limit, the greater the interference of orange and red objects on AWB.

CTLimit.Enable

[0, 1]

1

White balance gain range limit switch.

CTLimit.OpType

[0, 1]

0

Set the gain range of white balance automatically or manually.

CTLimit.HighRgLimit

[0, 16383]

2500

Maximum R gain at high color temperature in manual mode.

CTLimit.HighBgLimit

[0, 16383]

512

Minimum B gain at high color temperature in manual mode.

CTLimit.LowRgLimit

[0, 16383]

512

Minimum R gain at low color temperature in manual mode.

CTLimit.LowBgLimit

[0, 16383]

4096

Maximum B gain at low color temperature in manual mode.

ShiftLimitEn

[0, 1]

1

Switch on which the gain of AWB exceeds the white-like point range maps back to the White-point range.

ShiftLimit

[0, 4095]

240

The white area range supported by AWB is determined with Planck curve as the center point, ShiftLimit as the top and bottom band.

ShiftLimit[0] and ShiftLimit[1] are the lower and upper band widths of the white area of 1500 ~ 4000K

ShiftLimit[2] and ShiftLimit[3] are the lower and upper band widths of the white area of 4001 ~ 4800K

ShiftLimit[4] and ShiftLimit[5] are the lower and upper band widths of the white area of 4801 ~ 6000K

ShiftLimit[6] and ShiftLimit[7] are the lower and upper band widths of the white area of 6001 ~ 15000K

Depending on the different high and low color temperature lamp sources, different sizes of bands can be set. The larger the value, the wider the bands in white area, and the wider the support for special light sources, which will affect the AWB accuracy in specific scenes.

GainNormEn

[0, 1]

1

Restricting the gain of RGB channels can improve the signal-to-noise ratio of low color temperature and low illumination scenes and turn it on by default.

NaturalCastEn

[0, 1]

0

AWB style preference switch at low color temperature, light source color will be retained at low color temperature.Preset off.

CbCrTrack.Enable

[0, 1]

0

Linking parameters between AWB statistical range and ISO.

CbCrTrack.CrMax

[0, 16383]

1100

Maximum R/G at different ISOs.

CbCrTrack.CrMin

[0, 16383]

400

Minimum R/G under different ISOs.

CbCrTrack.CbMax

[0, 16383]

750

Maximum B/G under different ISOs.

CbCrTrack.CbMin

[0, 16383]

256

Minimum B/G under different ISOs.

LumaHist.Enable

[0, 1]

1

Whether different brightness turns on weight or not, preset turns on.

LumaHist.OpType

[0, 1]

0

Automatic mode:AWB assigns weights automatically.

Manual mode: Users can set brightness classification and weights themselves.

LumaHist.HistThres

[0, 255]

16

Threshold value for brightness classification (valid in manual mode).

HistThresh[0] is fixed to 0 and HistThresh[5] is fixed to 225. HistTresh[i+1] must be greater than HistTresh[i].

LumaHist.HistWt

[0, 512]

32

Weight for brightness classification (valid in manual mode).

AWBZoneWtEn

[0, 1]

0

Picture area weight switch.It is recommended to turn on the fisheye lens or driving recorder to avoid interference from other surrounding areas.

ZoneWt

[0, 255]

8

32x32 picture weight.The center range of the picture can be weighted higher depending on the situation.

Tolerance

[0, 255]

2

The deviation range of the AWB adjustment, in which the AWB will not adjust.

ZoneRadius

[0, 255]

16

The size of the AWB statistics partition.The smaller the value, the higher the accuracy of the AWB, but it will reduce the stability of the AWB algorithm.

CurveLLimit

[0, 1024]

320

The left boundary of the AWB color temperature curve (R/G, B/G), such as the lower left red border of the AWB analysis diagram.

CurveRLimit

[512, 16383]

768

The right boundary of the AWB color temperature curve (R/G, B/G), such as the upper right red border of the AWB analysis diagram.

ExtraLightEn

[0, 1]

0

Whether to turn on the independent light source.

LightInfo.WhiteRgain

[0, 16383]

1024

R-channel gain for special light source points.

LightInfo.WhiteBgain

[0, 16383]

1024

B-channel gain for special light source points.

LightInfo.ExpQuant

[0, 4095]

1024

Judgement based on external brightness.

ExpQuant is the brightness limit value that is turned on, for example

ExpQuant = 6, means below LV6 to open this WB light point (general night scene for below LV6)

ExpQuant = 106 means turn on above LV6

ExpQuant = 112 means turn on above LV12 (LV12 is generally outdoor)

LightInfo.Status

[0, 2]

0

The type of special light source point,

0:No action

1:Add light source point

2:Delete the calculation near the light source point.

LightInfo.Radius

[0, 255]

8

Area size of the special light source point.

InOrOut.Enable

[0, 1]

1

The parameters used by AWB to make indoor and outdoor judgments on the scene.

InOrOut.OpType

[0, 1]

0

Determine indoors and outdoors (automatic or manual).

InOrOut.OutdoorStatus

[0, 1]

0

Indoor or outdoor mode (manual mode).

InOrOut.OutThresh

[0, 20]

14

The threshold value for judging indoor-outdoor, when the brightness is less than, it is judged as indoor, and outdoor LV mostly exceeds 15.

InOrOut.LowStart

[0, 65535]

5000

Pull the weight of low color temperature down, and the starting point of low color temperature zone is suggested to be 5000K.

InOrOut.LowStop

[0, 65535]

4500

Pull the weight of low color temperature down, the end point of low color temperature zone is recommended to be 4500K.

InOrOut.HighStart

[0, 65535]

6500

Pull down the weight of high color temperature, the starting point of high color temperature zone, 6500K is recommended.

InOrOut.HighStop

[0, 65535]

8000

Pull down the weight of high color temperature, the end point of high color temperature zone, 8000K is recommended.

InOrOut.bGreenEnhanceEn

[0, 1]

1

In the green plant scenario, an additional switch is added to the green channel.

InOrOut.OutShiftLimit

[0, 255]

32

The limitation of the white point range of the AWB algorithm when judged as outdoor scenes.

MultiLightSourceEn

[0, 1]

1

AWB detects whether the current scene is a mixed light source to adjust saturation or CCM.

MultiLSType

[0, 1]

0

Adjust saturation or CCM.

MultiLSScaler

[0, 256]

256

Adjust saturation or intensity of CCM when mixed light source.

MultiCTBin

[0, 65535]

5000

The color temperature segment parameter, which must be an increasing sequence.

MultiCTWt

[0, 1024]

256

Color temperature segment weight.

FineTunEn

[0, 1]

1

AWB special color detection switch, such as skin color.

FineTunStrength

[0, 255]

128

Intensity of special color detection such as skin color and blue color.

stSkin.u8Mode

[0, 1]

0

Skin color detection switch

stSkin.u16RgainDiff

[0, 65535]

0

Skin color Rgain offset value

stSkin.u16BgainDiff

[0, 65535]

0

Skin color Bgain offset value

stSkin.u8Radius

[0, 255]

0

Skin color area size

stSky.u8Mode

[0, 2]

0: No special treatment for in-range points

1 :Remove the points within the selected range, i.e., they are not included in the calculation

2:Map Rgain and Bgain in the Radius range of the base point as MapRgain and MapBgain

0

Gray point processing mode

stSky.u8ThrLv

[0, 255]

0

Brightness threshold, the point to be processed should be greater than the current Lv

stSky.u16Rgain

[0, 65535]

0

The base point R gain of the point to be processed

stSky.u16Bgain

[0, 65535]

0

The base point B gain of the point to be processed

stSky.u16MapRgain

[0, 65535]

0

Points within the Radius range of the base point R gain are mapped to the current Rgain

stSky.u16MapBgain

[0, 65535]

0

Points within the Radius range of the base point B gain are mapped to the current Bgain

stSky.u8Radius

[0, 255]

0

The size of the region with R gain, B gain as the base point

stCtLv.bEnable

[0, 1]

0

Switch for calculating color temperature weights based on luminance

stCtLv.au16MultiCTBin

[0, 65535]

2300, 2800, 3500, 4800, 5500, 6300, 7000, 8500

Color temperature segmentation parameter, which must be an incremental sequence

stCtLv.s8ThrLv

[-128, 127]

1, 5, 9, 13

Brightness segmentation threshold

stCtLv.au16MultiCTWt

[0, 1024]

64, 256, 256, 256, 256, 512, 512, 256

Color temperature segmentation weights

stShiftLv.u8LowLvMode

[0, 1]

1

Low-light scene adjustment effective range switch

stShiftLv.u16LowLvCT

[0 x0,0xff] 0xff for full area adjustment

1:Area below the low color temperature calibration line

2:Area above the low color temperaturecalibration line

4:Area below the mid-color temperature 1 calibration line

8:Area above the mid-color temperature 1 calibration line

16:Area below the mid-color temperature 2 calibration line

32:Area above the mid-color temperature 2 calibration line

64:Area below the high color temperature calibration line

128:Area above the high color temperature calibration line

1, 192

Region for adjusting the area of the effective range from the calibration line of low brightness

stShiftLv.u16LowLvThr

[0, 65535]

15, 15

Brightness threshold for the effective range of low brightness adjustment

stShiftLv.u16LowLvRatio

[0, 65535]

150, 30

Low brightness effective range adjustment ratio (ratio/100)

stShiftLv.u8HighLvMode

[0, 1]

1

High-light scene adjustment effective range switch

stShiftLv.u16HighLvCT

[0 x0,0xff] 0xff for full area ad justment

1:Area below the low color temperature calibration line

2:Area above the low color temperature calibration line

4:Area below the mid-color temperature 1 calibration line

8:Area above the mid-color temperature 1 calibration line

16:Area below the mid-color temperature 2 calibration line

32:Area above the mid-color temperature 2 calibration line

64:Area below the high color temperature calibration line

128:Area above the high color temperature calibration line

3, 0

Region for adjusting the area of the effective range from the calibration line of high brightness

stShiftLv.u16HighLvThr

[0, 65535]

15, 15

Brightness threshold for the effective range of high brightness adjustment

stShiftLv.u16HighLvRatio

[0, 65535]

300, 100

High brightness effective range adjustment ratio (ratio/100)

stRegion.u16Region1

[0, 65535]

3900

Low, Mid1 color temperature regional demarcation point

stRegion.u16Region2

[0, 65535]

4300

Mid1, Mid2 color temperature regional demarcation point

stRegion.u16Region3

[0, 65535]

6600

Mid2, High color temperature regional demarcation point

adjBgainMode

[0, 255]

1:Low color temperature area

4:Mid-color temperature 2 area

8:High color temperature area

0

Fine-tune the area where the B gain value calculation oint is involved in white balance

Parameters:

Current AWB information can be found on the WB Info page

Parameters

Value range

Default value

Description

Rgain

[0, 16383]

0

R Channel Gain Factor of AWB Current Frame

Ggain

[0, 16383]

0

G Channel Gain Factor of AWB Current Frame

Bgain

[0, 16383]

0

B-channel gain coefficient of AWB current frame

ColorTemp

[0, 65535]

0

AWB evaluates the color temperature of the current environment

5.6.2.3. Tuning Steps

After the calibration, test the AWB accuracy under the standard light source to confirm whether the image color is correct. In case of color deviation, it is necessary to check whether the following parameter configuration is reasonable.

Step1. Check whether the color temperature is within the range of [LowColorTemp、HighColorTemp]. If not, adjust the upper and lower limits of the color temperature.

Step2. Open the AWB analysis interface of Tuning Tools (Extra Utilities->3A Analyser ->AWB), observe whether the white point is in the white area defined by the current parameter, if not, adjust the parameter ShiftLimit, expand the white area and summarize it.

_images/Module013.png

In the AWB analysis diagram, the two green lines are the range of the current AWB color temperature curve, the AWB color temperature curve (generated by automatic calibration) is in the middle of the green line, and the two red boxes at the bottom left and top right are CurveLLimit, CurveRLimit. The blue dot is the R/G, B/G of each partition when the AWB screen is divided into 32x32. Most of the blue dots fall within the range of the two green color temperature curves under the standard calibration light source.

_images/Module014.png

Step3. If the lens has serious two-color problem or special application, user can turn on AWBZoneWtEn weight and fill in the corresponding weight.

Step4. If a special light source needs to be added or excluded, turn on the ExtraLightEn and there are four groups of light sources that can be set. After setting the relative Rgain, Bgain and Radius, Staus (when it is set to 1, this light source point will be added to improve the AWB under this light source. When it is set to 2, this light source will be deleted to reduce the interference of blue sky and skin color, for example.) the added or excluded circle can be seen in the AWB analysis chart.

Step5. Outdoor color temperature weight parameter requirements: four parameters range requirements: LowStop < LowStart < HighStart < HighStop. The following figure is an example

LowStop is 3800K, LowStart is 5000K, HighStart is 6200k, HighStop is 7200k, the general weight is 32, and the maximum weight of outdoor color temperature is 256

_images/Module015.png

Step6. In mixed light scene, if you want to use color temperature weight to improve AWB without adjusting saturation or CCM, you can turn on MultiLightSourceEn, select SAT for MultiLSType, and set MultiLSScaler to 256.

Step7. When FineTunEn is turned on, AWB will automatically detect skin color and other special colors, improve AWB performance in skin color scene, and improve AWB accuracy. However, misjudgment may occur under low color temperature light source, resulting in slight yellowing of the image. FineTunStrength adjusts the intensity of skin color detection. The larger the value, the better the AWB performance of skin color scene, but the more obvious the side effects of misjudgment. The default value of 128 is recommended

—-end

5.7. BNR

5.7.1. BNR Calibration Method

BNR (Bayer-domain Noise Reduction) can suppress noise in Bayer domain.

5.7.1.2. BNR Calibration Tool Interface

After image acquisition, switch the main function tab of ISP calibration tool to BNR, and you can see the BNR calibration interface, as shown in Fig. 5.15.

BNR calibration tools can be categorized into two parts:

  • Control area: the main functions when performing BNR calibration (red box area).

  • Display area: display the input image (blue box area).

_images/Module017.png

Fig. 5.15 BNR Calibration tool interface

5.7.1.3. BNR Calibration Steps

Step 1. On the Open raw files at the top left of the calibration tool, select the raw file of 24 color card, and then use 24 Colors in the drop-down menu.

Step 2. Click and import raw image of 24 color card.

Step 3. Select 24 color blocks of 24 color cards.

Step 4. Click the BLC calibration button.

Step 5. Click the LSC calibration button.

Step 6. Click BNR Calibration button to calibrate and obtain BNR calibration results.

5.7.2. BNR Tuning Method

5.7.2.1. Function Description

BNR is mainly used for spatial denoising in Bayer domain. According to different sensors, the denoising model is established. After BNR proper denoising, the final image results look natural, and avoid some common visual defects in the denoising process, such as insect noise and pattern noise. The configuration of key parameters provides flexibility to adjust the intensity of denoising. At the same time of noise suppression, the edge, texture and details of the image are retained, the original noise pattern is not changed, and the random noise is retained to a certain extent, so the signal-to-noise ratio and overall uniformity of the image results can be improved.

5.7.2.2. Key Parameters

Table 5.10 BNR key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

To enable BNR module.

0: close

1: enable

OpType

[0, 4]

0

BNR operation type

0: auto type (OP_TYPE_AUTO)

1: manual type (OP_TYPE_MANUAL)

WindowType

[0, 11]

11

The local degree of denoising filter. The smaller the value is, the more localized the action is.

CoringParamEnable

[0, 1]

0

0 :NpSlope/NpLumaThr/NpLowOffset are determined by the program;

1: The above three parameters can be set manually.

DetailSmoothMode

[0, 1]

1

To enable the de-noising detail smoothing function.

0: close

1: enable

NoiseSuppressStr

[0, 255]

0

Noise suppression intensity. The larger the value is, the stronger the intensity of bright noise removal is.

FilterType

[0, 255]

0

Denoising filter intensity. The larger the value is, the stronger the intensity of bright noise removal is.

VarThr

[0, 1023]

512

The threshold of edge detection. The larger the value, the less the number of judged edges.

NonDirFiltStr

[0, 31]

0

Adjust the denoising intensity in the low frequency region. The larger the value is, the more noise is removed in the low frequency region.

VhDirFiltStr

[0, 31]

0

Adjust the denoising intensity in the horizontal and vertical areas. The larger the value is, the more noise is removed at the horizontal and vertical edges.

AaDirFiltStr

[0, 31]

0

Adjust the denoising intensity at the diagonal edge. The larger the value is, the more noise is removed at the diagonal edge.

CoringWgtLF

[0, 256]

0

Adjust the random noise intensity in the low frequency region. The larger the value is, the more noise is retained in the low frequency region.

CoringWgtHF

[0, 256]

0

Adjust the random noise intensity in the high frequency region. The larger the value is, the more noise is retained in the high frequency region.

TuningMode

Output debug strategy, auxiliary adjustment parameters.

RESULT : BNR image result.

EDGE_SMOOTH_REGION : Flat/edge detection image result.

NpSlopeB

[0, 1023]

1023

The slope of the Noise profile in the B channel.

NpSlopeGb

[0, 1023]

1023

The slope of the Noise profile in the Gb channel.

NpSlopeGr

[0, 1023]

1023

The slope of the Noise profile in the Gr channel.

NpSlopeR

[0, 1023]

1023

The slope of the Noise profile in the R channel.

NpLumaThrB

[0, 1023]

16

Noise profile luminance threshold in B channel.

NpLumaThrGb

[0, 1023]

16

Noise profile luminance threshold in Gb channel.

NpLumaThrGr

[0, 1023]

16

Noise profile luminance threshold in Gr channel.

NpLumaThrR

[0, 1023]

16

Noise profile luminance threshold in R channel.

NpLowOffsetB

[0, 1023]

0

The minimum noise level that the Noise profile can allow in the B channel.

NpLowOffsetGb

[0, 1023]

0

The minimum noise level that the Noise profile can allow in the Gb channel.

NpLowOffsetGr

[0, 1023]

0

The minimum noise level that the Noise profile can allow in the Gr channel.

NpLowOffsetR

[0, 1023]

0

The minimum noise level that the Noise profile can allow in the R channel.

NpHighOffsetB

[0, 1023]

1023

The maximum noise level that the Noise profile can allow in the B channel.

NpHighOffsetGb

[0, 1023]

1023

The maximum noise level that the Noise profile can allow in the Gb channel.

NpHighOffsetGr

[0, 1023]

1023

The maximum noise level that the Noise profile can allow in the Gr channel.

NpHighOffsetR

[0, 1023]

1023

The maximum noise level that the Noise profile can allow in the R channel.

5.7.2.3. Tuning Steps

_images/Module018.png

Fig. 5.16 BNR Framework

Before tuning parameters, please confirm that the modules listed in Table 5.11 have been tuned, and the default values of key parameters are configured according to Table 5.10.

Step 1. Adjust the brightness noise denoising function. The relevant parameters include noise suppression strength NoiseSuppressStr, and denoising filter strength FilterType. The parameters will be configured according to different ISO. First, adjust the NoiseSuppressStr to increase gradually until the whole image can keep the full details and minimize the noise. Then, increase the FilterType appropriately, and cooperate with other denoising modules to tune it.

Module050 Tuning principle: as far as possible to maintain the uniformity of the overall image noise, and avoid impact noise, worm noise and pattern noise. For the configuration of parameters WindowType and DetailSmoothMode, it is recommended to use the default value first.

Step 2. VarThr is controlled to determine the low and high frequency regions of the image, and then NonDirFiltStr and VhDirFiltStr/AaDirFiltStr are adjusted to change the denoising intensity. The larger NonDirFiltStr is, the less noise is in the low frequency region, while the larger VhDirFiltStr/AaDirFiltSrtr is, the smoother the image edge is.

Module050 Tuning principle: it is suggested that NonDirFiltStr and VhDirFiltStr/AaDirFiltStr should be set to the same value to denoise the whole image evenly. If the smoothness of image edge meets the requirement, NonDirFilter and VhDirFiltStr/AaDirFiltStr are set to 0.

Step 3. According to the low-frequency and high-frequency regions of the image obtained in step 2, the degree of random noise is retained by adjusting the parameters CoringWgtLF and CoringWgtHF respectively. Appropriately increasing CoringWgtLF can improve the worm noise and pattern noise, while appropriately increasing CoringWgtHF can increase the sense of detail.

Module050 Tuning principle: it is recommended that CoringWgtLF and CoringWgtHF be set to the same value to make the noise of the whole image evenly distributed. If the noise type mentioned above does not appear in the image, CoringWgtLF and CoringWgtHF are set to

—-End

5.8. Demosaic

5.8.1. Demosaic Tuning Method

5.8.1.1. Function Description

Demosaic is mainly to convert Bayer image into RGB image. Using the relationship between the current pixel and the surrounding pixels, the direction interpolation function can be realized, and the other two missing components are calculated.

5.8.1.2. Key Parameters

Table 5.12 Demosaic key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

1

To enable Demosaic module

0: close

1: enable

OpType

[0, 4]

0

Demosaic operation type

0: auto mode (OP_TYPE_AUTO)

1: manual mode (OP_TYPE_MANUAL)

CoarseEdgeThr

[0, 4095]

480

Edge coarse tuning detection threshold. The smaller the value is, the more edges are detected. It is recommended to use the parameter CoarseStr for tuning.

CoarseStr

[0, 4095]

128

Edge coarse tuning strength. The smaller the value is, the more directional the processing is. On the contrary, the more non directional processing.

FineEdgeThr

[0, 4095]

400

Edge fine tuning detection threshold. The smaller the value is, the more edges are detected. It is recommended to use the parameter FineStr for tuning.

FineStr

[0, 4095]

40

Edge fine tuning strength. The smaller the value is, the more directional the processing is. On the contrary, the more non directional processing.

AntiFalseColorEnable

[0, 1]

0

To enable the anti-false color function

0: close

1: enable

AntiFalseColorStr

[0, 255]

255

Anti-false color Strength, the higher the value, the greater the desaturation strength.

SatGainIn[2]

[0, 4095]

[ 200, 800]

Defines the horizontal axis of the LUT, i.e. the saturation level of the input pixels.

SatGainOut[2]

[0, 4095]

[4 095, 0]

Defines the vertical axis of the LUT, i.e., the anti-false color strength gain. The higher the value, the greater the anti-false color strength.

ProtectColorEnable

[0, 1]

0

Enables saturation protection for custom colors

ProtectColorGainIn[2]

[0, 4095]

[20, 500]

Defines the horizontal axis of the LUT, i.e. how similar the input pixels are to the protected color.

ProtectColorGainOut[2]

[0, 4095]

[0, 4095]

Defines the vertical axis of the LUT, which is the anti-false color intensity gain. The smaller the value, the smaller the anti-false color intensity and the more similar it is to the input pixel.

UserDefineProtectColor1

[0, 4095]

960

To define the protection color 1.

UserDefineProtectColor2

[0, 4095]

560

To define the protection color 2.

UserDefineProtectColor3

[0, 4095]

960

To define the protection color 3.

EdgeGainIn[2]

[0, 4095]

[150, 200]

Defines the horizontal axis of the LUT, i.e. the edge detection level.

EdgeGainOut[2]

[0, 4095]

[0, 4095]

Defines the vertical axis of the LUT, i.e., the anti-false color intensity gain. The higher the value, the greater the anti-false color intensity.

DetailGainIn[2]

[0, 4095]

[10, 150]

Defines the horizontal axis of the LUT, i.e. the detail detection level.

DetailGainOut[2]

[1, 4095]

[0, 4095]

Defines the vertical axis of the LUT, i.e., the anti-false color intensity gain. The higher the value, the greater the anti-false color intensity.

DetailDetectLumaEnable

[0, 1]

1

Enable to adjust the detail detection intensity function according to the luminance.

0: close

1: enable

DetailDetectLumaStr

[0, 4095]

480

Adjusts the intensity of detail detection according to the luminance. It is recommended to adjust it together with DetailGain.

DetailSmoothEnable

[0, 1]

0

Enables the detail smoothing function.

0: close

1: enable

DetailSmoothStr

[0, 255]

0

Detail smoothing strength. The higher the value, the greater the smoothing strength.

DetailWgtThr

[0, 255]

0

Detail smoothing range threshold. The smaller the value, the larger the range of detail smoothing effect.

DetailWgtMin

[0, 256]

0

The minimum gain allowed for detail smoothing strength.

DetailWgtMax

[0, 256]

256

The maximum gain allowed for detail smoothing strength.

DetailWgtSlope

[0, 1024]

256

Detail smoothing strength slope. The higher the value, the stronger the detail smoothing strength. 64 is 1x gain.

EdgeWgtThr

[0, 255]

160

Edge smoothing range threshold. The smaller the value, the larger the range of the edge smoothing effect.

EdgeWgtMin

[0, 256]

0

The minimum gain allowed by the edge smoothing strength.

EdgeWgtMax

[0, 256]

256

The maximum gain allowed by the edge smoothing strength.

EdgeWgtSlope

[0, 1024]

256

The slope of the edge smoothing strength. The higher the value, the stronger the edge smoothing. 64 is 1x gain.

DetailSmoothMapTh

[0, 255]

0

Detail smoothing strength mapping range threshold. The smaller the value, the larger the range of the edge smoothing effect.

DetailSmoothMapMin

[0, 256]

0

The minimum value allowed for detail smoothing strength mapping.

DetailSmoothMapMax

[0, 256]

256

The maximum value allowed for detail smoothing strength mapping.

DetailSmoothMapSlope

[0, 1024]

256

Detail smoothing strength mapping slope. The higher the value, the stronger the detail smoothing strength. 64 is 1x gain.

5.8.1.3. Tuning Steps

_images/Module019.png

Before tuning parameters, please confirm that the modules listed in Table 5.13 have been tuned, and the default values of key parameters are configured according to Table 5.12.

Step 1. Firstly, the coarse edge detection threshold CoarseEdgeThr is adjusted to determine the edge range. The smaller the value, the higher the number of strong edges is judged. At the same time, the CoarseStr value is adjusted appropriately to determine the texture direction of the image and to reduce the zipper effect caused by strong edges doing the wrong direction in order to obtain the initial strong texture direction.

Module050 Tuning principle: it is recommended to start tuning parameters from the default values of CoarseEdgeThr and CoarseStr. Under the setting of the default value, evaluate the smoothness and overall clarity of the edge of the image. (It is recommended to adjust by CoarseStr before TV10, higher resolution by FineEdgeThr to adjust)

Step 2. Then, the edge detection threshold FineEdgeThr is adjusted to determine the edge range. The smaller the value is, the more weak edges are judged. At the same time, edge fine-tuning strength FineStr is tuned to determine the texture directivity of the image to obtain further texture direction confirmation. It is recommended to match Siemens Chart/ISO12233 to observe the correct direction of the high frequency area to assist in the adjustment. If you do not get improvement by adjusting the parameters higher, you need to check whether the CoarseEdgeThr is set too small, you can adjust the CoarseEdgeThr higher and then observe the effect.

Module051Module052

Module050Tuning principle: the same as the adjustment principle in step 1, first use the default value configuration of parameters FineEdgeThr and FineStr to observe the current image results. Finally, FineEdgeThr and FineStr are further adjusted according to the demand.

Step 3. The strength of the anti-false color is controlled by the tuning parameter AntiFalseColorStr. Also, adjust SatGainIn[2] and SatGainOut[2] to reduce false colors for low-saturation areas. For high-frequency areas prone to false colors, you can adjust EdgeGainIn[2] and EdgeGainOut[2] to adjust the strength, as well as customize the desired protected colors UserDefineProtectColor1~UserDefineProtectColor3 to avoid being removed as false colors, whose strength can be controlled by adjusting ProtectColorGainIn[2] and ProtectColorGainOut[2].

Module050Tuning principle: The parameters related to anti-false color can be started with default values and fine-tuned as needed.

Step 4. Adjust the parameter DetailSmoothStr to reduce the false details caused by the sensor sensitivity and noise when Demosaic, which affect the direction judgment, especially in the highly dense line texture area. False detail suppression function can make details more natural. The larger the DetailSmoothStr is, the stronger the detail smoothing function is. However, too much increase will lead to the loss of detail. As shown in Fig. 5.17, while smoothing the details, the range and strength of detail preservation are determined by the parameters DetailWgtThr and DetailWgtSlope respectively, and the upper and lower limits of detail preservation are controlled by DetailWgtMin and DetailWgtMax. In addition, as shown in Fig. 5.18, the parameters EdgeWgtThrand EdgeWgtSlope can be adjusted to determine the detail smoothing range and intensity according to the edge strength, and EdgeWgtMinand EdgeWgtMax can control the upper and lower limits of the smoothing intensity.

Module050Tuning principle: the default value of DetailSmoothEnable is 0, that is, the smoothing function is turned off. Interested users can enable DetailSmoothEnable and select DetailSmoothStr to tune the smoothing intensity. Other parameters related to the smoothing intensity will be fine tuned by default.

_images/Module020.png

Fig. 5.17 The relationship curve between detail size Detail and smoothing intensity DetailWgt during detail smoothing

Detail is the difference between the horizontal and vertical directions. The larger the detail is, the more obvious the directivity is.

_images/Module021.png

Fig. 5.18 The relationship curve between edge intensity and smoothing intensity EdgeWgt during edge smoothing

—-End

5.9. WDR

Note: cv180x does not support this function.

5.9.1. WDR Tuning Method

5.9.1.1. Function Description

Dynamic range refers to the range of brightness difference between the brightest and darkest objects in the scene.

The larger the dynamic range, the richer the brightness levels in the scene.

The dynamic range of real scene is thousands to hundreds of thousands of times of that of image sensor.

Therefore, when using general image sensors to capture high dynamic scenes, we can only choose the low brightness area, which is easy to make the highlight area overexposed and lose the details of the highlight area.

Or, considering the high light area, the low light area is underexposed, and the low light details are difficult to distinguish.

In order to record every detail of high dynamic range scene, it is necessary to use high dynamic range image sensor or multi exposure image synthesis.

However, due to the large area and high price of high dynamic range image sensor, its practicability is limited.

Therefore, the common way of HDR image generation is to use common sensors to obtain several fixed scene images with different exposures, and then use WDR algorithm to synthesize a high dynamic range image.

Fig. 5.19 shows the long exposure picture, the short exposure picture, and the synthesized picture of the two in one WDR.

The short exposure image is used to capture the bright area information in the scene, while the long exposure image is used to capture the dark area information in the scene.

After WDR synthesis, the high dynamic range image is obtained.

_images/im1.png

Fig. 5.19 Effect picture of two in one WDR

5.9.1.2. Key Parameters

Table 5.14 WDR Key Parameters

Parameters

Value range

Ddefault value

Description

Enable

[0 , 1]

0

Enable WDR module;

0: Disable

1: Enable

WDRCombineShortThr

[0 , 4095]

3900

For the first fusion, the short exposure threshold value, above which the image data will be selected for composing WDR images with long exposure data only.

WDRCombineLongThr

[0 , 4095]

3300

For the first fusion, the long exposure threshold value, below which the image data will be selected for composing WDR images with long exposure data only.

WDRCombineMinWeight

[0 , 256]

32

The minimum weight value for fusing long and short exposure image data at the first fusion. The higher the weight value, the more weight is given to long exposure during fusion, and vice versa, the more weight is given to short exposure.

WDRCombineMaxWeight

[0 , 256]

256

The maximum weight value for fusing long and short exposure image data at the first fusion. The higher the weight value, the more weight is given to long exposure during fusion, and vice versa, the more weight is given to short exposure.

MotionCompEnable

[0 , 1]

0

To enable WDR motion detection mode switch;

0: close

1: enable

MergeModeAlpha

[0 , 255]

128

the larger the value, the more the proportion of short frame moving information is. On the contrary, the larger the proportion of long frame moving information.

WDRMtIn[4]

[0 , 255]

[16, 64, 128, 240]

An array of four values. Defines the amount of input object motion, the higher the value, the greater the motion.

WDRMtOut[4]

[0 , 256]

[0, 128, 224, 256]

An array of four values. Defines the motion gain corresponding to the amount of input object motion. The higher the value, the more it tends to output a custom WDR fusion result, which is adapted in conjunction with WDRType.

WDRType

[0 , 2]

1

Customize the WDR fusion mode:

0: Outputs short exposure value, which is multiplied by the exposure ratio.

1: Outputs long exposure value.

2: Outputs the value of the fused long and short exposures. The weight of the long exposure is WDRLongWgt.

WDRLongWgt

[0 , 256]

128

When WDRType is set to 2, the fusion weight for long exposure is set. Effective only when MotionCompEnable is enabled.

WDRDCMode

[0 , 1]

0

Long and short exposure fusion mode

0: General mode, adjusted by WDRLumaMode

1: DC mode

WDRLumaMode

[0 , 1]

0

Luminance calculation mode,

0: Takes the maximum value of R/G/B.

1: Takes the Luma value.

Effective only when MotionCompEnable is enabled.

WDRCombineSNRAwareEn

[0 , 1]

1

During the data fusion of long and short exposure images, the adaptive fusion weight adjustment mechanism is enabled according to the SNR of the short exposure multiplied by the exposure ratio image.

WDRCombineSNRAwareLowThr

[0 , 65535]

1024

Low threshold value of SNR of SNR adaptive fusion weight adjustment mechanism. When SNR is lower than the low threshold, the fusion weight will not be adjusted, but when SNR is higher than the high threshold, the fusion weight will be adjusted.

WDRCombineSNRAwareHighThr

[0 , 65535]

8192

High threshold value of SNR of SNR adaptive fusion weight adjustment mechanism.

WDRCombineSNRAwareToleranceLevel

[0 , 255]

128

When SNR is higher than the high threshold value, the upper limit of weight is obtained.

WDRCombineSNRAwareSmoothLevel

[0 , 3000]

30

The time domain change smoothness of adaptively adjusted fusion weight. The larger the numerical value is, the smoother the change of time domain is, and vice versa.

WDRMotionFusionMode

[0, 3]

1

Motion detection mode.

0: Linear / Long mode。

1: Max mode。

2: Merge mode。

3: LUT mode。

WDRMotionCombineLongThr

[0, 4095]

3300

Motion detection information, long exposure threshold, image data below which only long exposure data will be selected for composing WDR images.

WDRMotionCombineShortThr

[0, 4095]

3900

Motion detection information, short exposure threshold, image data above which only short exposure data will be selected for composing WDR images.

WDRMotionCombineMaxWeight

[0 ,256]

256

Motion detection information, long and short exposure image data fusion highest weight value. The higher the weight value, the more weight is given to long exposure during fusion, and vice versa, the more weight is given to short exposure.

WDRMotionCombineMinWeight

[0, 256]

32

Motion detection information, the minimum weight value for the fusion of long and short exposure image data. The higher the weight value, the more weight is given to long exposure during fusion, and vice versa, the more weight is given to short exposure.

LocalToneRefinedDCMode

[0, 1]

0

Whether the local tone refine refers to DC information.

0: No DC information is used, refer to LocalToneRefinedLumaMode.

1: Uses DC information.

LocalToneRefinedLumaMode

[0, 1]

0

local tone refine luma mode。

0: Uses MaxRGB mode。

1: Uses luma mode。

5.9.1.3. Tuning Steps

Before tuning parameters, please confirm that the modules listed in the Table 5.15 have been tuned, and the default values of key parameters are configured according to Table 5.14.

The tuning steps of WDR can be divided into tuning long and short frame fusion curves and tuning motion detection parameters.

Step 1. Tune long and short frame fusion curve, adjust WDRCombineShortThr, WDRCombineLongThr, WDRCombineMinWeight, and WDRCombineMaxWeight to generate the first fusion image. The goal is to make sure that the bright areas are not exposed and the details of the dark areas are visible.

Step 2. Tune motion fusion parameters, adjust WDRMtIn[4] and WDRMtOut[4]. The fusion ratio of the long frame to the first fused image is determined according to the object movement. The adaptation principle is that the larger the object movement is, the larger the fusion weight of the long frame is.

Step 3. Tune the motion detection parameters and adjust the WDRMotionFusionMode to maintain the integrity of the motion information in the backlit or dark areas of the screen as much as possible.

—-End

Long and short frame fusion curve

Parameters WDRCombineShortThr and WDRCombineLongThr are used to adjust the threshold value of selecting long and short frames. Among them, WDRCombineShortThr is the threshold value of short exposure, over which only short exposure data will be selected to synthesize WDR image; WDRCombineLongThr is the critical value of long exposure, under which only long exposure data will be selected to synthesize WDR image. The pixels between them are synthesized by fusing long and short frames. WDRCombineMinWeight and WDRCombineMaxWeight are the lowest and highest weight values of long and short exposure image data fusion. The larger the weight value is, the larger the proportion of long exposure is, and vice versa. The trend of these four parameters is shown in Fig. 5.20, with the horizontal axis representing the pixels entered as long frames.

When the WDRCombineShortThr value is set small, more pixels will select short frames, and the noise will become larger; when the value is set to a large value in the bright area, some pixels will choose long frame fusion, which is easy to cause overexposure. Generally, it is recommended to approach 97% of the maximum value of long exposure pixels. If the value of WDRCombineLongThr is set to be small, more pixels choose to mix long and short frames, and the dark area noise will be larger; if the value is set high, more pixels choose long frames, which may cause overexposure. Generally, it is recommended to approach 80% of the maximum value of long exposure pixels. In addition, MotionCompEnable must be turned off when adjusting the long and short frame fusion curves to avoid inappropriate adjustment due to the influence of motion detection information.

_images/Module023.png

Fig. 5.20 Selection of long and short frame threshold

Adjust motion detection parameters

The motion detection information affects the ratio of long and short frames fusion, the more obvious the object movement, the larger the motion information, the more the object is biased towards stationary, the smaller the motion information, it is recommended to tend to use long frames in the motion region to reduce noise. Adjustment is recommended to give preference to the WDRMotionFusionMode of 1 to select the larger motion information among long and short frames.

SNR adaptive fusion weight adjustment mechanism

Short exposure image multiplied by exposure rate will cause some bright area noise in the picture to be over amplified. The signal-to-noise ratio adaptive fusion weight adjustment mechanism can automatically adjust the fusion weight according to the signal-to-noise ratio of the short exposure image multiplied by the exposure ratio, so as to increase the proportion of the long exposure image to suppress the effect of excessive noise amplification. When the signal-to-noise ratio is lower than the low threshold WDRCombineSNRAwareLowThr, the fusion weight is applied to the weight generated by the long and short frame fusion curve without adjustment. When the signal-to-noise ratio is higher than the high threshold WDRCombineSNRAwareHighThr, the upper limit weight WDRCombineSNRAwareToleranceLevel is applied, When the SNR is between the high and low critical values, the weight generated by the long and short frame fusion curve and the upper limit weight WDRCombineSNRAwareToleranceLevel are adjusted. The larger the adjusted weight value is, the higher the proportion of long frame fusion is, and vice versa.

5.10. DRC

5.10.1. DRC Tuning method

5.10.1.1. Function Description

Dynamic range refers to the range of brightness difference between the brightest and darkest objects in the scene. The larger the dynamic range, the richer the brightness levels in the scene. Therefore, when using general image sensors to capture high dynamic scenes, we can only choose the low brightness area, which is easy to make the highlight area overexposed and lose the details of the highlight area. Or, considering the high light area, the low light area is underexposed, and the low light details are difficult to distinguish. In order to record every detail of high dynamic range scene, it is necessary to use high dynamic range image sensor or multiple exposure synthesis technology as described in 5.9“WDR” . However, considering that the dynamic range of general display is small, in order to preserve the details of the wide dynamic image completely, it is necessary to use DRC algorithm to compress the dynamic range of the image while retaining the details. The purpose of DRC is to make the observer get the same visual experience when observing the high dynamic scene and the display device.

5.10.1.2. Key Parameters

Table 5.16 DRC Key parameters

Parameters

Value Range

Default value

Description

Enable

[0, 1]

0

Enable DRC module;

0: Disable

1: Enable

TuningMode

[ 0,4]

0

Adjustment mode; output visual auxiliary information to help users adjust;

0: do not output visual auxiliary information

3: global tone luminance display.

4: bright tone luminance display.

5: dark tone luminance display.

ToneCurveSelect

[0, 1]

0

Tone curve selection:

0: select adaptive curve.

1: select a user-defined curve.

LocalToneRefineEn

[0, 1]

0

Optimize the start of local tone mapping, making the area more finely divided.

0: Disable

1: Enable

LocalToneEn

[0, 1]

1

Bright local tone mapping and dark local tone mapping are enabled.

0: close.

1: enable.

CurveUserDefine

User-defined curves that can be pulled through control points in the UI interface

WDR/SDRHistogram

LE Histogram: Luminance statistics of long exposure images

SE Histogram: Luminance statistics of short exposure images

Global Tone Curve: Global tone mapping curve visualization

Dark Tone Curve: dark zones tone mapping curve visualization

Bright Tone Curve: bright zones tone mapping curve visualization

ToneCurveSmooth

[0, 500]

300

The smoothness of the change in the time domain of the Tone curve. The larger the value, the smoother the change in time domain, and vice versa, the faster the change.

TargetYScale

[0, 2048]

224

Control the overall image brightness after Global tone mapping. The first multiple is 256. The larger the value is, the brighter the picture is; otherwise, the darker it is.

HdrStrength

[0, 255]

256

Controls the HDR enhancement effect parameter, the larger the value the stronger the overall brightness stretch, and vice versa the weaker the stretch.

DEAdaptPercentile

[0, 25]

10

Define the dark percentile that determines the area of non-enhancement. The larger the value, the more areas are not enhanced.

DEAdaptTargetGain

[1, 96]

40

dark tone adaptive target enhancement, the larger the value the brighter the pull, 32 for double, 40 for 1.25x

DEAdaptGainUB

[1, 255]

96

dark tone is the upper boundary of the adaptive enhancement, the larger the value the brighter the pull, 32 for double, 96 for 3x

DEAdaptGainLB

[1, 255]

16

dark tone is the lower bound of adaptive reinforcement, the larger the value the less black, 32 for double, 16 for 0.5x

BritInflectPtLuma

[0, 100]

40

Bright Tone in the short and long exposure junction area of the brightness, the larger the value, the higher the brightness

BritContrastLow

[0, 100]

50

Bright Tone dark area of the degree of darkness, the larger the value, the more darkness

BritContrastHigh

[0, 100]

80

Bright Tone bright area of the degree of brightening, the larger the value, the more pull up

SdrTargetYGainMode

[0, 1]

0

Gain Mode switch

0: Directly specify the target brightness of the screen average

1:Based on the average of the screen, pull the brightness multiplier 1x=32

SdrTargetY

[0, 255]

56

Global tone brightens the screen, the higher the value, the higher the brightness

SdrTargetYGain

[32, 128]

32

The global tone brightens the screen, and the target brightness is a multiple of the current average brightness, 1x = 32, 2x = 64

SdrGlobalToneStr

[0, 256]

256

The intensity of global tone, the larger the value, the stronger the global tone, and vice versa, the closer to the linear tone

SdrDEAdaptPercentile

[0, 32]

10

Define the dark percentile that determines the area of non-enhancement. The larger the value, the more areas are not enhanced.

SdrDEAdaptTargetGain

[1, 64]

40

dark tone adaptive target enhancement. The larger the value, the brighter the pull, 32 for double, 40 for 1.25x

SdrDEAdaptGainUB

[1, 255]

96

The upper bound of dark tone adaptive enhancement. The larger the value, the brighter the pull, 32 is double, 96 is 3x

SdrDEAdaptGainLB

[1, 255]

16

The lower bound for dark tone adaptive enhancement. The larger the value, the less darkness, 32 is double, 96 is 3x

SdrBritInflectPtLuma

[0, 100]

40

Bright Tone in the light and dark junction area of the brightness, the larger the value, the higher the brightness

SdrBritContrastLow

[0, 100]

75

Bright Tone dark area of the degree of darkness, the larger the value, the more darkness

SdrBritContrastHigh

[0, 100]

80

Bright Tone bright area of the degree of brightening, the larger the value, the more pull up

DetailEnhanceEn

[0, 1]

0

Enable Detail Enhance to enhance the details of HDR.

0: Disable.

1: Enable.

TotalGain

[0, 255]

32

Details strengthen the overall strength, 32 is double, 64 is twice

LumaGainEn

[0, 1]

0

Enable details enhance according to luma

0: Disable.

1: Enabled.

LumaGain[33]

[0, 255]

64

Weights for detail enhancement according to luma.

It consists of 33 values divided equally into 33 luminance zones, each luminance zone corresponds to a luminance weight. The larger the value of the corresponding luminance interval, the stronger the pixel point sharpening, 64 is 1x

DeltailEnhanceMtIn[4]

[0, 255]

[0, 64, 128, 192]

An array of four values. Defines the amount of input object motion, the higher the value, the greater the corresponding motion.

DeltailEnhanceMtOut[4]

[0, 256]

[128, 128, 128, 128]

An array of four values. Defines the motion gain corresponding to the amount of input object motion, the higher the value the stronger the detail intensity, 256 is doubled.

OverShootThd

[0, 255]

32

White edge sharpening upper limit range

UnderShootThd

[0, 255]

32

Black edge sharpening upper limit range

OverShootGain

[0, 255]

4

Intensity of white edge sharpening, 16 for double

UnderShootGain

[0, 255]

4

The intensity of black edge sharpening, 16 for double

OverShootThrMax

[0, 255]

255

The maximum upper limit range of white edge sharpening

UnderShootThrMin

[0, 255]

255

The maximum upper limit range of black edge sharpening

5.10.1.3. Tuning Steps

_images/Module024.png

Fig. 5.21 DRC processing flow chart and key parameters

Before tuning parameters, please confirm that the modules listed in Table 5.17 have been tuneged, and the default values of key parameters are configured according to Table 5.16.

The adjustment steps of DRC are shown in Fig. 5.21. It can be divided into adjusting local tone mapping characteristic (local tone strength), adjusting tone mapping curves (global tone mapping, local tone mapping), and detail enhancement.

Adjust local tone mapping characteristic

The recommended order is to turn LocalToneEn off first and adjust the parameters of Global Tone Mapping to adjust the global brightness of the screen in place, then turn on LocalToneEn to turn on local tone mapping, and after turning on local tone mapping, you can adjust dark tone for the dark areas of the screen and adjust bright tone for the light areas of the screen to adjust the transparency. Further, LocalToneRefineEn can be turned on to make finer corrections to the regional divisions of dark and light areas.

Tone mapping curve adjustment

The Global Tone Mapping curve is a brightness mapping function. The x-axis is the input brightness, and the y-axis is the output brightness. The input and output brightness are normalized to the range of 0 ~ 1. The general tone mapping curve is shown in:numref:Tone mapping curve illustration.

_images/Module025.png

Fig. 5.22 Tone mapping curve illustration

The DRC module supports tone mapping curve generation parameters, in the case of Global Tone Mapping, the curve shape can be determined by the TargetYScale and HdrStrength parameters. The larger the value of TargetYScale, the greater the stretching of the global tone mapping curve on the overall brightness, and vice versa, the less the stretching of the brightness. When the brightness of the screen is stretched too much, resulting in the dark parts of the screen are brighter, the HdrStrength can be used to suppress the stretching of brightness, the larger the value is, the larger the stretching, the smaller the value is, the overall stretching can be suppressed, which is more obvious with the observation of the middle and dark parts. When Global Tone Mapping is roughly in place for the overall brightness and transparency of the picture, then adjust Dark Tone Mapping for the dark areas of the picture and Bright Tone Mapping for the light areas of the picture.

Dark Tone Mapping curve adjustment

For the dark areas of the screen, the dark areas are adjusted by Dark Tone Mapping to present details and transparency, the Dark Tone Mapping curve is through the statistics of the screen (histogram), to do adaptive (adaptive), mainly by DEAdaptTargetGain, to adjust the dark areas of brightness pull up, the larger the value is, the larger the dark area is stretched, the smaller the value, the smaller the stretch. When the dark area bright area boost, although it can present more dark details, but pull the brightness of the area close to black, may cause the picture contrast reduced, in order to simultaneously take into account the dark area details and contrast, you can adjust DEAdaptPercentile, to retain the contrast of the dark area, the larger the value is to retain the dark area not pulled light more, the smaller the value is to retain the dark area less. On the other hand, DEAdaptGainUB and DEAdaptGainLB are provided to limit the adaptive range in order to control the sensitivity of the adaption.

Bright Tone Mapping curve adjustment

For the bright areas of the screen, Bright Tone Mapping is used to adjust the presentation of details and transparency in the bright areas. The Bright Tone Mapping curve is used to adjust the brightness of the short and long exposure junction areas through BritInflectPtLuma, through BritContrastLow to strengthen the contrast of the dark areas in the light area, the larger the value the stronger the contrast, the smaller the value the weaker the contrast, through BritContrastHigh to strengthen the contrast of the light areas in the light area, the larger the value the stronger the contrast, the smaller the value the weaker the contrast.

Visualization of curve information and statistical information

The current long-exposure histogram distribution, short-exposure histogram, and the resulting Global Tone Mapping curve, Dark Tone Mapping curve, and Bright Tone Mapping curve can be obtained through the tool, and the information obtained is shown in the figure below.

_images/Module026.png

Fig. 5.23 WDR statistical value square diagram and tone mapping curve diagram

User Define Curve

User-defined curve, currently positioned as a tune function, when the tone maping curve generated by the parameters to adjust the screen does not meet the user’s preferences and standards, you can use the user-defined curve to observe the changes in the screen by manually stretching the curve characteristics. In addition, user-defined curves do not support local tone mapping.

_images/Module027.png

Fig. 5.24 Diagram of UserDefineCurve curve

Detail Enhance detail enhancement and sharpening

The DRC module supports detail enhancement, which can enhance the transparency through detail enhancement. Turn on DetailEnhanceEn to enable the detail enhancement function of DRC, adjust the intensity of overall detail sharpening through TotalGain, and do sharpening adjustment through LumaGain for details in different brightness areas. The rest of the parameters are designed to be consistent with PreSharpen and Sharpen modules, which can be referred to the chapters of PreSharpen and Sharpen.

SDR DRC digital wide dynamic

SDR DRC digital wide dynamic, providing linear mode tone mapping curve adjustment, through the characteristics of local tone mapping to adjust the local contrast of the picture, the adjustment principle is consistent with WDR mode, you can refer to the above description to make adjustments.

5.11. CCM

5.11.1. CCM Calibration Method

5.11.1.1. Environment and Related Equipment Preparation

Follow these steps to calibrate CCM:

  • Acquisition equipment preparation: Standard X-Rite 24 color card, illumination of 600Lux uniform light source (left and right light sources, the angle between light source and color card plane is between 25 degrees and 45 degrees), IPC.

  • Adjust the brightness of AE target. On the display page of PQ tool, if the G value of the 20th color block is near 201, and the G value of the 21st color block is near 163, it means that the exposure is appropriate.

  • The neutral gray RAW image was collected to check the degree of lens shadow of IPC. When lens shading is serious, the shading coefficient needs to be calibrated first, and the 24 color card image needs to be corrected before CCM calibration.

5.11.1.2. CCM Calibration Tool Interface

After image acquisition, switch the main function tab of ISP calibration tool to CCM to see the CCM calibration interface, as shown in Fig. 5.25. CCM calibration tool can be divided into two parts:

  • Control area: the main function of CCM calibration (red box selection area).

  • Display area: display the input image (blue box selection area).

_images/im2.png

Fig. 5.25 CCM Calibration tool interface

The calibration parameters of CCM calibration tool interface include:

  • Import BLC calibration parameters.

  • Import LSC calibration parameters.

  • ISP Gamma and Display Gamma。

  • LAB reference value.

  • 6x4 color block weight table, corresponding to the position of 24 color blocks. Floating point numbers with values ranging from 1.0 to 16.0.

  • CCM start calibration button.

  • Output CCM correction results.

5.11.1.3. CCM Calibratin Steps

Follow these steps to calibrate CCM:

Step 1. Import the RAW data needed for CCM calibration into the main interface of the calibration tool.

Step 2. Import RAW image of 24 color card.

Step 3. Select 24 color area.

Step 4. Configure calibration parameters (GAMMA, LAB, color block weight).

Step 5. Click CCM calibration button to calibrate and get CCM results.

5.11.2. CCM Tuning Method

5.11.2.1. Function Description

Generally speaking, the response of human eye to the spectrum is different from that of sensor RGB. In order to make the captured image consistent with the color of human visual perception, we can use a color correction matrix to correct the cross effect and response intensity of spectral response. CCM calibration tool supports the pre correction of 3x3 color correction matrix for 24 color cards.

5.11.2.2. Key Parameters

Table 5.18 CCM key parameter

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

To enable CCM function

0: close

1: enable

OpType

[0, 1]

0

CCM operating type.

0: Automatic mode (OP_TYPE_AUTO).

1: Manual mode (OP_TYPE_MANUAL).

ISOActEnable

[0, 1]

0

To enable CCM Bypass function under low illumination.

0: close.

1: Enable.

TempActEnable

[0, 1]

0

To enable CCM Bypass function at high and low color temperatures.

0: close.

1: Enable.

CCMTabNum

[3, 7]

3

The number of CCM matrices currently configured.

CCMTab[7].ColorTemp

[500, 30000]

5000

The corresponding color temperature value of color correction matrix under different color temperature.

CCM Tab[7].CCM[9]

[-8192, 8191]

1024

CCM matrix coefficients at different color temperatures.

SatEnable

[0, 1]

0

In manual mode, whether saturation is effective.

Manual.CCM[9]

[-8192, 8191]

1024

The CCM matrix coefficient in the manual mode, t

RedCastGain

[1, 4095]

1024

Set the white balance red channel gain manually.

GreenCastGain

[1, 4095]

1024

Set the white balance green channel gain manually.

BlueCastGain

[1, 4095]

1024

Set the white balance blue channel gain manually.

SaturationLE

[0, 255]

128

Long exposure saturation

SaturationSE

[0, 255]

128

Short exposure saturation

5.11.2.3. Tuning Steps

Please refer to section 5.11.1 “CCM Calibration Method” to complete CCM calibration. Next, turn on SatEnable to observe whether the saturation of the image changes as expected under different light sources.

5.12. Gamma

5.12.1. Gamma Tuning Method

5.12.1.1. Function Description

Gamma is mainly used for nonlinear conversion in the brightness space of the image to adapt to the output display device. The R, G and B channels of the image are corrected using the same set of Gamma tables. The distance between the nodes of Gamma table is the same, and linear interpolation method is used to generate the image pixels between the nodes. When the contrast and permeability of the image need to be optimized, we can try to adjust the Gamma module to improve it.

5.12.1.2. Key Parameters

Table 5.19 Gamma key parameter

Parameters

Value range

Default value

Description

Enable

[0, 1]

0

To enable Gamma function

0: close

1: enable

CurveType

[0, 3]

2

Gamma curve type

0: ISP_GAMMA_DEFAULT

1: ISP_GAMMA_SRGB

2: ISP_GAMMA_USER_DEFINE

3: GAMMA_AUTO

GammaCOEFFI

[0.01, 20]

1

Used to control the shape of Gamma curve generation.

SlopeAtZero

[0.001, 20]

20

Used to control the slope near the zero point of Gamma.

Control PointsNum

[2, 32]

2

Points for manually dragging the curve

Auto Gamma

Different Gamma curves can be set according to different ambient brightness.

GammaTabNum

[1, 5]

4

Number of Auto Gamma tables

5.12.1.3. GammaCOEFFI and SlopeAtZero Parameter Description

According to different scenes, the parameter GammaCOEFFI is adjusted to control the shape of gamma curve, and the parameter SlopeAtZero is used to control the slope near the zero point of Gamma.

The impact of the two parameters on the shape of gamma curve is as follows:

  • In the case of the same SlopeAtZero, the slope of the curve near the zero point is the same, and the shape of the curve varies with the parameter GammaCOEFF, as shown in the figure below.

_images/Module029.png

Fig. 5.26 Impact of GammaCOEFF on Gamma curve

  • In the case of the same GammaCOEFFI, the overall shape of the curve remains unchanged, but the slope near the zero will vary with the parameter SlopeAtZero, and there will be a slight offset. The overall change trend is shown in the figure below.

    _images/Module030.png

    Fig. 5.27 Impact of SlopeAtZero on Gamma curve

5.12.1.4. Tuning Custom Curve with Parameters

Step 1. On the Gamma page, switch ” CurveType ” to ” GAMMA_USER_DEFINE “

Step 2. Enter the desired value directly in “GammaCOEFFI” and “SlopeAtZero”.

Step 3. Check out the current Gamma curve

Step 4. Use the “Save” button to save the current Gamma curve for later loading.

_images/Module031.png

Fig. 5.28 Diagram of custom curve using parameter adaptation

5.12.1.5. Using Control Points to Tune Custom Curves

Step 1. On the Gamma page, switch ” CurveType ” to ” GAMMA_USER_DEFINE “

Step 2. If there is a Gamma curve stored before, you can use the “Load” button to load it

Step 3. Enter the desired number of control points directly in ” Gontrol Point Num “

Step 4. Drag the control points on the Gamma curve directly with the left mouse button

Step 5. Use the “Save” button to save the current Gamma curve for later loading

_images/Module032.png

5.13. Dehaze

5.13.1. Dehaze Tuning Method

5.13.1.1. Function Description

Dehazing algorithm is mainly used in the scene with fog to improve the contrast and color saturation of the image and increase the clarity of the scene. The dehazing algorithm estimates the concentration of fog by calculating the statistical value of image content, and adaptively adjusts the intensity of dehazing.

5.13.1.2. Key Parameters

Table 5.20 Dehaze key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

To enable Dehaze function

0: close

1: enable

Strength

[0, 100]

60

Used to control the intensity of dehaze. The larger the value is, the stronger the dehazing intensity is.

MinTransMapValue

[0, 8191]

819

The minimum permitted transmission coefficient.

CumulativeThr

[0, 16383]

1024

The statistical threshold of haze concentration was calculated. The default value is about 0.05% of the total number of images in the original image.

DehazeLumaEnable

[0, 1]

0

Adjust the dehazing intensity function according to the brightness to enable.

0: Disable.

1: Enable.

DehazeSkinEnable

[0, 1]

0

Adjusts the dehazing intensity function to enable according to the skin tone.

0: Disable.

1: Enable.

SkinCb

[0, 255]

124

Customize the skin color coordinates on the Cb domain.

SkinCr

[0, 255]

132

Customize the skin color coordinates on the Cr domain.

AirLightMax

[0, 4095]

4013

Airlight’s maximum allowable value.

AirLightMin

[0, 4095]

3276

Airlight’s minimum allowable value.

AirLightMixWgt

[0, 32]

0

Airlight blending weight

AirlightDiffWgt

[0, 16]

0

Airlight

DehazeLumaCOEFFI

[0, 255]

0.5

According to the brightness control dehazing intensity curve, the brightness is divided into 16 steps. The higher the value, the stronger the dehazing intensity.

DehazeSkinCOEFFI

[0, 255]

0.25

The dehazing intensity curve is controlled according to skin tone, and the brightness is differentiated into 16 steps. The higher the value, the stronger the dehazing intensity.

DehazeWgt

[0, 32]

0

Dehaze output blending weight

TransMapScale

[0, 255]

16

Transmission coefficient gain.

TransMapWgt

  • Wgt

  • Sigma

  • Wgt: [0, 128]

  • Sigma: [1, 255]

  • Wgt: 64

  • Sigma: 96

The transmission coefficient gain control determines the weight curve of the Dehaze result blended with the original image; the larger the Wgt, the larger the proportion of the original image blended; the larger the Sigma, the larger the number of pixels blended with the original image.

5.13.1.3. Tuning Steps

For the image of foggy scene, the parameter Strength is adjusted according to the demand to improve the contrast and clarity of the whole image. In principle, except Strength, other parameters can be configured according to the recommended default values.

Module055Description

  • The stronger the dehazing intensity is, the higher the overall contrast and color saturation of the image will be, and the details of the dark area may be lost. Therefore, user should make a compromise parameter tuning according to the actual scene.

  • After dehazing is enabled, in order to make the screen display normally, two frames are delayed

5.13.1.4. Dehaze Parameters

The parameters DehazeLumaCOEFFI and DehazeSkinCOEFFI are adjusted separately to control the shape of the generated curves according to the brightness and skin tone, both curves are adapted in the same way and similar to Gamma.

Taking DehazeLumaCOEFFI of 0.45 as an example, the effect on the shape of the curve is shown below.

_images/Module033.jpg

Fig. 5.29 Effect of GammaCOEFF on Gamma curve

5.14. RGBCAC

5.14.1. RGBCAC Tuning Method

5.14.1.1. Function Description

RGBCAC (Chromatic Abberation Correction) is mainly used to eliminate the problem of purple edges in images.

5.14.1.2. Key Parameters

Table 5.21 RGBCAC key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable the RGBCAC module.

0: Disable.

1: Enable.

OpType

[0, 1]

0

RGBCAC operating type.

0: Automatic mode (OP_TYPE_AUTO).

1: Manual mode (OP_TYPE_MANUAL).

PurpleDetRange0

[0, 128]

64

Threshold value for long frame purple edge detection. The higher the value, the more areas are judged as purple edges.

PurpleDetRange1

[0, 128]

96

The threshold value for short frame purple edge detection. The higher the value, the more areas are judged as purple edges.

DePurpleStr0

[0, 255]

16

The intensity of the long frame de-purfacing. The higher the value, the less the purple edge phenomenon.

DePurpleStr1

[0, 255]

16

The intensity of the short frame de-purfacing. The higher the value, the less the purple edge phenomenon.

DePurpleStrMax0

[0, 255]

232

The maximum allowable intensity of long frame removal purple edge.

DePurpleStrMin0

[0, 255]

0

The minimum allowable intensity of long frame removal purple edge.

DePurpleStrMax1

[0, 255]

232

The maximum allowable intensity of short frame removal purple edge.

DePurpleStrMin1

[0, 255]

0

The minimum allowable intensity of short frame removal purple edge.

EdgeGlobalGain

[0, 4095]

64

The total intensity gain of the edge detection.

DePurpleCrStr0

[0, 16]

8

Long frame R-channel correction edge intensity.

DePurpleCbStr0

[0, 16]

8

Long frame B-channel correction edge intensity.

DePurpleCrStr1

[0, 16]

8

Short frame R-channel correction edge intensity.

DePurpleCbStr1

[0, 16]

8

Short frame B-channel correction edge intensity.

EdgeGainIn[3]

[0, 16]

[1, 2, 12]

An array of three values. Defines the edge strength level, the higher the value, the stronger the edge strength.

EdgeGainOut[3]

[0, 32]

[0, 16, 32]

An array of three values. Defines the edge strength gain, the higher the value, the stronger the effect of removing purple edges.

PurpleCb

[0, 4095]

3712

The coordinates of the first set of custom purple edges in the Cb domain.

PurpleCr

[0, 4095]

2832

The coordinates of the first set of custom purple edges in the Cr domain.

PurpleCb2

[0, 4095]

3712

The coordinates of the second set of custom purple edges in the Cb domain.

PurpleCr2

[0, 4095]

2832

The coordinates of the second set of custom purple edges in the Cr domain.

PurpleCb3

[0, 4095]

3712

The coordinates of the third set of custom purple edges in the Cb domain.

PurpleCr3

[0, 4095]

2832

The coordinates of the third set of custom purple edges in the Cr domain.

GreenCb

[0, 4095]

688

The coordinates of green in the Cb domain.

GreenCr

[0, 4095]

336

The coordinates of green in the Cr domain.

TuningMode

[0, 2]

0

Output metafile case with auxiliary adjustment parameters.

0: RGBCAC image result.

1: Edge detection image result.

2: Purple edge detection image result.

5.14.1.3. Tuning Steps

Before doing parameter tuning, make sure that the modules listed in Table 5.22 have been tuneged and that the default values of key parameters are configured according to Table 5.21.

Step 1. Adjusting EdgeGlobaGain to determine the total intensity gain of the edge detection. If you only need to correct the purple edges at the strong edges, you can adjust EdgeGainIn[2] and EdgeGainOut[2] appropriately to increase the gain value corresponding to the strong edges.

Step 2. Adjusting the PurpleDeRange to determine the extent to which purple edges are detected. Increase PurpleDeRange appropriately so that areas with significant purple edges in the highlights can be detected. If it is found that the normal purple color is corrected out of the highlighted areas of the image, then decrease the PurpleDeRange to protect the normal purple areas.

Module056 Tuning principle: Default values are recommended for PurpleCb/PurpleCb2/PurpleCb3, PurpleCr/PurpleCr2/PurpleCr3, GreenCb and GreenCr. Interested users only need to fine tune the default values for PurpleCb/PurpleCb2/PurpleCb3, PurpleCr/PurpleCr2/PurpleCr3.

Step 3. After the detection parameters have been configured by the above steps, DePurpleStr can be adjusted to determine the correction intensity of the purple edge as required. Further, DePurpleCrStr and DePurpleCbStr can be adjusted to determine the correction intensity of R and B channels respectively.

Module056 Tuning principle: Note that if DePurpleStr is set too high, making the correction intensity too strong, it is likely to cause significant graying at the purple edge. Therefore, it is sufficient to adjust DePurpleStr to an acceptable correction intensity for the purple border. Alternatively, you can adjust DePurpleStrMax and DePurpleStrMin to achieve the desired correction intensity.

5.15. LCAC

5.15.1. LCAC Tuning Method

5.15.1.1. Function Description

LCAC (Chromatic Abberation Correction) is mainly used to eliminate the problem of purple edges in images.

5.15.1.2. Key Parameters

Table 5.23 LCAC key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable LCAC module

0: Disable

1: Enable

OpType

[0, 1]

0

LCAC operating type

0: Automatic mode (OP_TYPE_AUTO).

1: Manual mode (OP_TYPE_MANUAL).

DePurpleCrGain

[0, 4095]

32

R channel purple edge correction gain. 32 for 1x gain.

DePurpleCbGain

[0, 4095]

32

B channel purple edge correction gain. 32 for 1x gain.

DePurpleCrStr0

[0, 64]

32

Long frame R-channel correction intensity.

DePurpleCbStr0

[0, 64]

32

Long frame B-channel correction intensity.

DePurpleCrStr1

[0, 64]

32

Short frame R-channel correction intensity.

DePurpleCbStr1

[0, 64]

32

Short frame B-channel correction intensity.

FilterTypeBase

[0, 3]

0

Filter selection. The larger the value, the stronger the de-purple edge strength.

EdgeGainBase0

[0, 64]

28

Strength gain for long frame edge detection.

EdgeGainBase1

[0, 64]

35

Strength gain for short frame edge detection.

EdgeCoringBase

[0, 255]

0

Noise suppression control for edge detection.

FilterTypeAdv

[0, 3]

0

Advanced filter selection. The larger the value, the stronger the de-purple edge intensity.

EdgeGainAdv0

[0, 64]

28

Advanced intensity gain for long frame edge detection.

EdgeGainAdv1

[0, 64]

35

Advanced intensity gain for short frame edge detection.

EdgeCoringAdv

[0, 255]

0

Noise suppression control for edge detection.

EdgeWgtBase

  • Wgt

  • Sigma

  • Wgt: [0, 128]

  • Sigma: [1, 255]

  • Wgt: 96

  • Sigma: 76

The degree of purple edge removal is controlled by the edge intensity, which determines the weight curve for blending the result with the original image; the larger the Wgt, the smaller the percentage of the original image is blended; the larger the Sigma, the more pixels are blended with the original image.

EdgeWgtAdv

  • Wgt

  • Sigma

  • Wgt: [0, 128]

  • Sigma: [1, 255]

  • Wgt: 80

  • Sigma: 64

The degree of purple edge removal is controlled by the edge intensity, which determines the weight curve for blending the result with the original image; the larger the Wgt, the smaller the percentage of the original image is blended; the larger the Sigma, the more pixels are blended with the original image.

5.15.1.3. Tuning Steps

_images/Module034.png

Fig. 5.30 LCAC processing flow chart and key parameters

Before doing parameter tuning, make sure that the modules listed in Table 5.24 have been tuneged and that the default values of key parameters are configured according to Table 5.23.

Step 1. First, adjust EdgeGainBase to determine the intensity gain of edge detection. If you only need to correct the purple edge at the strong edge, you can adjust EdgeWgtBase.Wgt and EdgeWgtBase.Sigma appropriately to increase the gain value corresponding to the strong edge, the former controls the maximum value of edge detection intensity and the latter determines the range of edge detection.

Module056Tuning Principle: EdgeGainBase, EdgeWgtBase.Wgt and EdgeWgtBase.Sigma are recommended to take the default value first and jump directly to step 3. If the result is not yet as expected, you can start the adjustment from EdgeGainBase first.

Step 2. The tuning principle is the same as step 1, starting with step 3. EdgeGainAdv, EdgeWgtAdv. Wgt and EdgeWgtAdv. Sigma suggest that the default values can be taken first. Depending on your needs, you can start with EdgeGainAdv first.

Step 3. Adjusting DePurepleCrGain and DePurepleCbGain to determine the intensity of the purple edge correction for the R and B channels, respectively.

Module056Tuning principle: In WDR mode, DePurpleCrStr0, DePurpleCbStr0, DePurpleCrStr1 and DePurpleCbStr1 can be adapted to determine the R-channel and B-channel correction strength for long and short frames, respectively. In addition, FilterTypeBase and FilterTypeAdv control the intensity of the de-purple edge, generally using the default values first and starting to adapt as needed.

5.16. CLUT

5.16.1. CLUT Calibration Method

CLUT calibration is to establish 3D image table between input image and target image with 24 color card or user-defined source and target color pair provided by user. CLUT algorithm will image the image pixel by pixel to meet the needs of users for color adjustment. The purpose of calibration is to determine the three-dimensional shift components of CLUT for various colors by RGB pairs of input image and target image.

5.16.1.2. CLUT Calibration Tool Interface

Switch the main function tab of ISP calibration tool to CLUT to see the interface of CLUT calibration.

The calibration interface consists of four parts

  • Image control area: Control function for input images when performing CLUT calibration (red box selection area).

    It contains project fonctions:

    1. Select the image to be calibrated ( Support jpg and bmp image files.)

    2. Locate the position of the color block of the image file to be calibrated

    3. Select target image document ( Support jpg and bmp image files.)

    4. Locate the color block position of the target image file

  • Display image area: Displays the contents of the read calibration file with the color block range (blue boxed area).

  • CLUT control area: The main control item (orange boxed area) when performing a CLUT calibration.

    It contains the buttons:

    1. Color selection button, confirm the color block positioning is complete, then press to obtain color block information

    2. Constant brightness option, which can be checked according to the input image (If you do not want the CLUT to perform luminance correction you can check this item and the internal algorithm can be adjusted to reduce the effect of the CLUT on luminance tuning. It is recommended to align the brightness of the calibration file with the target file beforehand to reduce the impact of the algorithm on the color block due to the brightness alignment behavior.)

    3. Calibration button for CLUT calibration

    4. Write calibration data, write the corrected CLUT information to the board side

    5. Export calibration data, save the corrected CLUT information to disk

  • RGB Color Pair Area: Displays color information for the calibrated color block (green boxed area).

_images/Module035.png

Fig. 5.31 CLUT Calibration tool interface

5.16.1.3. CLUT Calibration Steps

Since the brightness, white balance, Gamma curve, CCM parameters and shading of the image may affect the accuracy of the CLUT calibration, before the CLUT calibration, it is necessary to ensure that the AWB, brightness and gray scale of the device to be calibrated and the target device are in accordance with each other and the Shating correction is performed before the CLUT calibration is carried out.

Step 1. The D50 or D65 lightbox illumination provides approximately 600lux illumination for shooting with the device to be calibrated and the target device against a 24-color card, and the file can be acquired by the CviPQTool Preview function to generate a BMP file or by a back-end streaming program for image acquisition (BMP or JPG file).

Module056Calibration principle: It is recommended that the image be obtained from the back-end streamer or the final output to align with the target device.

Step 2. Since most of the target devices are not capable of brightness fine tuning, and different devices have different brightness tuning strategies, we need to manually fine tune the device to be calibrated to achieve the brightness-to-target result (this action is mainly for the CLUT to correct only the color tones without brightness correction, and the alignment of brightness needs to be adjusted by other modules), when performing the brightness-to-target action The value of the G-channel of the 21st color block in the 24-color card can be obtained by adjusting the exposure function of the device to be calibrated for fine-tuning (such as EvBias item or gain item), and it will be completed when the value of the G-channel of the 21st color block and the screenshot of the target device are in close agreement.

Module056Calibration principle: It is recommended that color cards be obtained by selecting scenes that are as bright as possible. You can refer to the 19th color block in the 24 color card and suggest that its RGB value is above 240 in order to obtain better correction results.

Step 3. Click the “Open Source Image” and “Open Target Image” buttons to load the image files taken by the device to be calibrated and the target device.

Step 4. Click the “Edit Source ROIs” and “Edit Target ROIs” buttons to check the color block of the image to be calibrated and the target image.

Step 5. Generate the corresponding color pairs. Press the “Color Check 24” button to extract the color block information selected in the previous stage to the RGB color pair area.

Step 6. “Luminance Invariant” option can be checked according to the input image. This option allows the algorithm to perform pre-processing to uniformly adjust the input color block to the brightness part of the target block, in order to reduce the effect of CLUT on the brightness tuning.

Module056Calibration principle: It is recommended to align the brightness of the calibration file to the target file and turn off this option to reduce the impact of the algorithm on the color block by performing brightness alignment.

Step 7. Click on the “Calibration” button and wait a few minutes for the CLUT calibration parameters to be generated inside the tool.

Step 8. Apply the generated CLUT to the device to be calibrated to confirm the effect of the color adjustment (write directly to the board via the “Write calibration data” button) or export the CLUT calibration contents via the “Export calibration data” button.

_images/Module01666.jpg

Fig. 5.32 Standard 24 color card No.19 (blue circle) and color block No.21 (red circle)

5.16.2. CLUT Tuning Method

5.16.2.1. Function Description

Provide the preferred color adjustment function, by doing 17x17x17 3D LUT to linear RGB space to achieve the adjustment of preferred colors, such as green, blue, skin tone refinement adjustment.

5.16.2.2. Key Parameters

Table 5.25 CLUT key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

To enable CLUT module

0: close

1: enable

ClutR[17*17*17]

[0, 4095]

0

Adjustment for R channel. The range of R, G, and B values is divided into 16 segments.

ClutG[17*17*17]

[0, 4095]

0

Adjustment for G channel. The range of R, G, and B values is divided into 16 segments.

ClutB[17*17*17]

[0, 4095]

0

Adjustment for B channel. The range of R, G, and B values is divided into 16 segments.

5.16.2.3. Tuning Steps

_images/image1.png

Fig. 5.33 ACM processing flow chart and key parameters

Before tuning parameters, please confirm that the modules listed in Table 5.26 have been tuneged, and the default values of key parameters are configured according to Table 5.25.

5.17. PreSharpen

5.17.1. PreSharpen Tuning Method

5.17.1.1. Function Description

The PreSharpen module is used to enhance image sharpness and is located before 3DNR to sharpen edges and detailed textures in images. Multiple intensity combinations in different frequency bands allow for a variety of styles of sharpness enhancement, while also providing sharpened white edge white point (Over Shoot) and black edge black point (Under Shoot) suppression. Fig. 5.34 shows the system framework of the Sharpen module, with the data flow diagram in black and the open parameter interface in blue.

_images/Module036.png

Fig. 5.34 System framework of the PreSharpen module

5.17.1.2. Key Parameters

Table 5.27 PreSharpen key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

To enable Pre-Sharpen module

0: Disable

1: Enable

OpType

OP_TYPE_AUTO, OP_TYPE_MANUAL

OP_TYPE_MANUAL

Operating type

OP_TYPE_AUTO: Automatic mode

OP_TYPE_MANUAL: Manual mode

LumaAdpGainEn

[0, 1]

1

To enable brightness sharpening weights

LumaAdpGain[33]

[0, 63]

16

Brightness sharpening weights. (1x = 64)

※It consists of 33 values divided equally into 33 luminance zones, and each luminance zone corresponds to a luminance weight. The smaller the value of the corresponding luminance band, the weaker the pixel sharpening

LumaCorLutIn[4]

[0, 255]

[0, 64, 128, 192]

luma-based coring, this is the input node, enter luma.

LumaCorLutOut[4]

[0, 255]

[1, 1, 1, 1]

Luma-based coring, this is the output node that outputs the corresponding coring value.

MotionCorLutIn[4]

[0, 255]

[0, 64, 128, 192]

Motion-based coring, this is the input node and the input is luma.

MotionCorLutOut[4]

[0, 255]

[8, 8, 8, 8]

Motion-based coring, this is the output node that outputs the corresponding coring value.

MotionCorWgtLutIn[4]

[0, 255]

[0, 64, 128, 255]

Adjusting the weight of luma coring and motion coring based on motion, this is the input node and enter the size of the input motion.

MotionCorWgtLutOut[4]

[0, 255]

[0, 32, 64, 128]

Adjusting the weight of luma coring and motion coring based on motion, This is the output node that outputs the weight of the motion coring. (max = 128)

DeltaAdpGainEn

[0, 1]

0

To enable sharpness sharpening weights

DeltaAdpGain[33]

[0, 63]

32

Sharpness sharpening weights

※It consists of 33 values divided equally into 33 sharpening zones, and each sharpening zone corresponds to a sharpening weight. The larger the value of the corresponding sharpening interval, the stronger the pixel point sharpening.

GlobalGain

[0, 255]

32

Global sharpening weight.

※The higher the value, the stronger the sharpening.

OverShootGain

[0, 255]

4

Multiplier for the upper magnitude of white edge sharpening. (1x = 16)

UnderShootGain

[0, 255]

4

Multiplier for the upper magnitude of black edge sharpening. (1x = 16)

OverShootThr

[0, 255]

32

White edge sharpening upper limit magnitude.

UnderShootThr

[0, 255]

32

Black edge sharpening lower limit magnitude.

OverShootThrMax

[0, 255]

255

Maximum upper limit magnitude of white edge sharpening.

UnderShootThrMax

[0, 255]

255

The maximum lower limit magnitude of black edge sharpening.

HFBlendWgt

[0, 255]

128

Weight of high frequency edge enhancement

MFBlendWgt

[0, 255]

128

Weight of mid-frequency edge enhancement

NoiseSuppressEnable

[0, 1]

1

Edge enhancement is done for edge-detected images after pre-processing with enhanced denoising.

MotionShtGainIn[4]

[0, 255]

[0, 64, 128, 192]

The LUT that determines the degree of edge enhancement for the motion area, this is the horizontal node and the input value is the motion value.

MotionShtGainOut[4]

[0, 128]

[128, 128, 128, 128]

The LUT that determines the degree of edge enhancement for the motion area, this is the vertical node and the output value is the enhancement intensity corresponding to the motion.

SatShtCtrlEn

[0, 1]

1

Enables edge enhancement by saturation adjustment.

0: Disable

1: Enable

HueShtCtrl[33]

[0, 63]

[16, …, 16]

Edge enhancement based on specified color

SatShtGainIn[4]

[0, 255]

[0, 8, 16, 192]

Do edge enhancement based on the specified saturation, this is the input node, input saturation.

SatShtGainOut[4]

[0, 128]

[0, 0, 128, 128]

Based on the specified saturation to do edge enhancement, this is the output node that outputs the edge intensity corresponding to the saturation.

SoftClampEnable

[0, 1]

0

Enables Smooth processing edge enhancement

0: Disable

1: Enable

SoftClampLB

[0, 255]

1

Smoothing handles the upper and lower bounds of edge enhancement. The larger the value set, the more continuous the edge enhancement will be, but the weaker the enhancement will be.

SoftClampUB

[0, 255]

1

Smoothing handles the upper and lower bounds of edge enhancement. The larger the value set, the more continuous the edge enhancement will be, but the weaker the enhancement will be.

5.17.1.3. Tuning Steps

Before tuning the parameters, make sure that the modules listed in Table 5.28 have been tuned and that the default values of the key parameters are configured according to Table 5.27.

Noise suppression of input images

The input image is pre-processed for noise removal, NoiseSuppressEnable is to enable the pre-noise removal processing mode.

Coring value adjustment

Coring value can be adjusted by LumaCorLut[4] for the static zone coring value, while the moving zone part is adjusted by MotionCorLut[4], and finally MotionCoringWgtLut[4] decides the combined weight of static zone coring value and dynamic zone coring value according to the amount of movement.

Edge combination for different frequency bands

For the edge to be enhanced, it can be subdivided into the high-frequency detail area and the mid-frequency edge information, and the intensity of the high-frequency detail can be adjusted through HfBlendWgt and the intensity of the mid-frequency edge through MfBlendWgt.

Adjustment of edge strength

The adjustment of edge intensity is divided into GlobalGain, DeltaGain, LumaGain, and MotionGain, and adapting GlobalGain enhances the overall sharpening level. Adjusting DeltaAdpGain sets the sharpening weight according to the edge strength of the pixel. In areas where the edge strength is strong enough, the degree of sharpening itself is high, so you can set a smaller weight to avoid over-sharpening the image. In areas with weak edges, set a large weight to enhance sharpening of weak texture areas. Adjust LumaAdpGain to set the sharpening weight according to the brightness of the pixel. In low luminance areas, the human eye is more sensitive to pixel differences, so the sharpening weight can be set smaller. In high luminance areas, the human eye is less sensitive to pixel differences, so the sharpening weight can be configured to be larger.

The LUT input and output nodes of MotionShtGainIn [4] and MotionShtGainOut [4] are adapted. MotionShtGainIn is the input node, representing the amount of object movement, and MotionShtGainOut the amount of object movement corresponds to the degree of image edge enhancement, which can be fine-tuned for the edge intensity of the moving region, and the intensity of the edge can be gradually adjusted down in the larger moving region to enhance the visual sense of continuity.

Amplitude control (Shoot Control)

The amplitude of the edges can be adjusted by OverShhotGain, UnderShhotGain, OverShootThr, UnderShootThr, OverShootThrMax, UnderShootThrMax, and turning down OverShhotGain, UnderShhotGain, OverShootThr, UnderShootThr can reduce the white spots (Over Shoot) and black spots (Under Shoot) caused by over-sharpening. As shown in Fig. 5.35, the higher the value of ShootThr, the greater the sharpening, but relatively speaking, it is also easy to find white and black dots on the image. In addition, you can control OverShootThrMax / OverShootThrMax to limit the maximum value of ShootThr.

_images/Module037.png

Fig. 5.35 Shoot Control Schematic

5.18. 3DNR

5.18.1. 3DNR Tuning Method

5.18.1.1. Function Description

3DNR is mainly used in YUV domain for time-domain denoising. The degree of motion of the object is classified, and the denoising model is established according to the degree of motion. After 3DNR denoising, the jumping random noise can be effectively suppressed, and the picture is cleaner. Because 3DNR is a noise reduction method in time domain, it will produce drag shadow in processing, which will be aggravated on moving objects. The configuration of key parameters provides the configuration of motion strength and de-noising intensity of 3DNR de-noising model. At the same time, the state protection mechanism is added to weaken the performance of tailing.

5.18.1.2. Key Parameters

:numref:``

Table 5.29 3DNR key parameters

Parameters

Value range

Default value

Description

Enable

[0 , 1]

1

To enable 3DNR module:

0: close

1: enable

OpType

OP_TYPE_AUTO , OP_TYPE_MANUAL

OP_TYPE_AUTO

Working type

OP_TYPE_AUTO: auto mode

OP_TYPE_MANUAL: manual mode

MtDetectUnit

[3 , 5]

3

Noise immunity during motion detection, the higher the value, the stronger the noise immunity, but the less detailed the detection.

MtFiltMode

[0 , 1]

1

Motion detection filter mode.

MtFiltWgt

[0 , 256]

128

Motion detection filter weight.

TuningMode

[0 , 1]

0

Motion Map switch

0: close

1: open

In Motion Map, the brighter the pixel, the greater the amount of motion, and the darker the pixel, the smaller the amount of motion.

TnrMtMode

[0 , 1]

0

Motion mode:

0: Motion IIR

1: Motion history

YnrCnrSharpenMtMode

[0 , 1]

1

Motion mode:

0: Motion IIR

1: Motion history

PreSharpenMtMode

[0 , 1]

0

Motion mode:

0: Motion IIR

1: Motion history

ChromaScalingDownMode

[0 , 3]

0

chroma scaling down

0: avg

1: drop even

2: drop odd

3: drop toggle

RNoiseLevel

[0 , 255]

16

The dark noise tolerance of R pixel. The larger the value is, the more tolerant the noise is. At this time, the moving information of the static region disturbed by noise is easier to be judged as stationary, which can improve the effect of 3DNR noise reduction. If the value is too high, the small moving area will be judged to be stationary, and the 3DNR noise will appear motion drag.

GNoiseLevel

[0 , 255]

16

The dark noise tolerance of G pixels. The larger the value is, the more tolerant the noise is. At this time, the moving information of the static region disturbed by noise is easier to be judged as stationary, which can improve the effect of 3DNR noise reduction. If the value is too high, the small moving area will be judged to be stationary, and the 3DNR noise will appear motion drag.

BNoiseLevel

[0 , 255]

16

The dark noise tolerance of B pixels. The larger the value is, the more tolerant the noise is. At this time, the moving information of the static region disturbed by noise is easier to be judged as stationary, which can improve the effect of 3DNR noise reduction. If the value is too high, the small moving area will be judged to be stationary, and the 3DNR noise will appear motion drag.

RNoiseHiLevel

[0 , 255]

16

The brightness noise tolerance of R pixel. The larger the value is, the more tolerant the noise is. At this time, the moving information of the static region disturbed by noise is easier to be judged as stationary, which can improve the effect of 3DNR noise reduction. If the value is too high, the small moving area will be judged to be stationary, and the 3DNR noise will appear motion drag.

GNoiseHiLevel

[0 , 255]

16

The brightness noise tolerance of G pixel. The larger the value is, the more tolerant the noise is. At this time, the moving information of the static region disturbed by noise is easier to be judged as stationary, which can improve the effect of 3DNR noise reduction. If the value is too high, the small moving area will be judged to be stationary, and the 3DNR noise will appear motion drag.

BNoiseHiLevel

[0 , 255]

16

The brightness noise tolerance of B pixel. The larger the value is, the more tolerant the noise is. At this time, the moving information of the static region disturbed by noise is easier to be judged as stationary, which can improve the effect of 3DNR noise reduction. If the value is too high, the small moving area will be judged to be stationary, and the 3DNR noise will appear motion drag.

L2mIn00~L2mIn03(L2mCurve)

[0 , 4095]

[400, 600, 1000, 2000]

An array of four numeric values. Define the gray level, the larger the value, the higher the gray level.

L2mOut00~L2mOut03(L2mCurve)

[0 , 63]

[63, 16, 16, 16]

An array of four numeric values. Define the motion gain, the larger the value is, the stronger the amplitude of motion judgment is.

TnrStrength

[0 , 255]

16

Motion Map amplification factor

16: 1x

32: 2x

64: 4x

128: 8x

255:16x

MtLumaMode

[0 , 1]

1

luma gain :

0: Luma

1: Max

MapThdLow

[0 , 255]

0

Motion Map zoom in the lower limit.

MapThdHigh

[0 , 255]

255

Motion Map zoom in the upper limit.

PrvMotion00~PrvMotion03(PrtctCurve)

[0 , 255]

[16, 64, 128, 240]

An array of four numeric values; define the movement level. The greater the value, the stronger the movement range.

PrtctWgt00~PrtctWgt03(PrtctCurve)

[0 , 15]

[8, 8, 8, 8]

An array of four numeric values; the state protection gain is defined, which refers to the previous frame data for dynamic and static protection of the current frame number. The larger the value is, the more reference the previous frame data is.

BrightnessNoiseLevel

[0 , 1024]

0

To prevent misjudgment of motion caused by flashing lights ; the larger the value is, the more resistant it is to light flicker. However, if the value is too large, it will be difficult to detect moving objects.

MotionHistoryStr

[0 , 15]

12

Defines the degree of trajectory retention of the output to the YNR reference. The higher the value, the longer the trajectory retention, and vice versa, the shorter the trajectory retention.

LowMtPrtEn

[0 , 1]

0

Enables airspace noise reduction micro motion protection; this function can define the protection degree according to the difference between the front and back frames in pixels. The higher the protection degree is, the more likely it is to output the original pixel value. On the contrary, the lower the value is, the more likely it is to be output.

LowMtPrtLevelY

[0, 255]

255

Y-channel protection upper limit value. The higher the value, the more the protected motion area will be outputted in favor of the original pixel value. Conversely, the lower the value, the more it tends to output the pixel value after time domain noise reduction.

LowMtPrtInY[4](LowMtPrtCurveY)

[0, 255]

[0, 64, 128, 255]

Defines the horizontal axis of the LUT, i.e. the difference between the front and back frames in Y-channel pixel units.

LowMtPrtOutY[4](LowMtPrtCurveY)

[0, 255]

[0, 64, 128, 255]

Defines the vertical axis of the LUT, i.e. the degree of protection of the frame difference before and after the Y-channel.

LowMtPrtLevelU

[0, 255]

255

U-channel protection upper limit value. The higher the value, the more the protected motion area will be outputted in favor of the original pixel value. Conversely, the lower the value, the more it tends to output the pixel value after time domain noise reduction.

LowMtPrtInU[4](LowMtPrtCurveU)

[0, 255]

0

Defines the horizontal axis of the LUT, i.e. the difference between the front and back frames in U-channel pixel units.

LowMtPrtOutU[4](LowMtPrtCurveU)

[0, 255]

0

Defines the vertical axis of the LUT, i.e. the degree of protection of the frame difference before and after the U-channel.

LowMtPrtLevelV

[0, 255]

255

V-channel protection upper limit value. The higher the value, the more the protected motion area will be outputted in favor of the original pixel value. Conversely, the lower the value, the more it tends to output the pixel value after time domain noise reduction.

LowMtPrtInV[4](LowMtPrtCurveV)

[0, 255]

0

Defines the horizontal axis of the LUT, i.e. the difference between the front and back frames in V-channel pixel units.

LowMtPrtOutV[4](LowMtPrtCurveV)

[0, 255]

0

Defines the vertical axis of the LUT, i.e. the degree of protection of the frame difference before and after the V-channel.

MotionHistoryStr

[0, 15]

12

Defines the degree of trajectory retention of the output to the YNR reference. The higher the value, the longer the trajectory retention, and vice versa, the shorter the trajectory retention.

AdaptNrLumaStrIn[4](AdaptNrLumaStr)

[0, 255]

[0, 64, 128, 255]

Defines the horizontal axis of the LUT, i.e. the difference between the front and back frames in Y-channel blocks.

AdaptNrLumaStrOut[4](AdaptNrLumaStr)

[0, 255]

[0, 64, 128, 255]

Defines the vertical axis of the LUT, i.e. the degree of protection of the frame difference before and after the Y-channel.

AdaptNrChromaStrIn[4](AdaptNrChromaStr)

[0, 255]

[0, 64, 128, 255]

Defines the horizontal axis of the LUT, i.e. the difference between the front and back frames in UV channel blocks.

AdaptNrChromaStrOut[4](AdaptNrChromaStr)

[0, 255]

[0, 64, 128, 255]

Defines the vertical axis of the LUT, i.e. the degree of protection of the frame difference before and after the UV channel.

LowMtPrtAdvIn[4](LowMtPrtAdv)

[0, 255]

[0, 64, 128, 255]

Defines the horizontal axis of the LUT, i.e. the difference between the front and back frames in blocks.

LowMtPrtAdvOut[4](AdaptNrLumaStr)

[0, 255]

[0, 64, 128, 255]

Defines the vertical axis of the LUT, i.e. the protection gain of the difference between the front and back frames.

CompGainEnable

[0, 1]

0

Enables the brightness compensation function.

LowMtLowPassEnable

[0, 1]

0

Weak motion detection is used to perform low-pass filtering.

LowMtPrtAdvLumaEnable

[0, 1]

0

Enables the null-field noise reduction minute-motion protection function. This function defines the degree of protection based on the difference between the front and back frames in blocks, the higher the degree of protection the more the original pixel value is output. Conversely, the lower the value, the more it tends to output the pixel value after time domain noise reduction.

LowMtPrtAdvMode

[0, 1]

0

Airspace noise reduction tiny motion mode.

LowMtPrtAdvIn[4](LowMtPrtAdvY)

[0, 255]

[8, 11, 192, 208]

Defines the horizontal axis of the LUT, i.e. the difference between the front and back frames in blocks.

LowMtPrtAdvOut[4](LowMtPrtAdvY)

[0, 255]

[16, 16, 16, 16]

Defines the vertical axis of the LUT, i.e. the protection gain of the difference between the front and back frames.

LowMtPrtAdvMax

[0, 255]

255

Protection gain upper limit.

LowMtPrtAdvDebugMode

[0, 1]

0

Adjustment mode, output visual aid information to help users adapt

0: Outputs motion detection visualization results.

1: Outputs motion detection visualization results according to LowMtPrtDebug LUT.

LowMtPrtAdvDebugIn[4]

[0, 255]

[8, 11, 192, 208]

Adjustment mode, tiny motion input range setting.

LowMtPrtAdvDebugOut[4]

[0, 255]

[16, 16, 16, 16]

Adjustment mode, tiny motion output value setting.

5.18.1.3. Tuning Steps

_images/Module038.png

Fig. 5.36 3DNR Process flow chart and key parameters

Step 1. Define the noise tolerance level. Control RNoiseLevel / GNoiseLevel / BNoiseLevel /RNoiseHiLevel / GNoiseHiLevel / BNoiseHiLevel. The greater the value, the greater the noise tolerance, the more the motion information of the static region disturbed by noise is easily judged as static, which can improve the noise reduction effect of 3DNR. But it can not be amplified too, because the excessive value makes the small moving area be judged to be stationary, and the moving residual shadow appears after 3DNR noise reduction.

Module050 Tuning principle: It is recommended to set TuningMode to 1 and open the Motion Map (the brighter the Motion Map is, the greater the amount of motion is; the darker the motion map is, the less the amount of motion is). Then, adjust the RNoiseLevel / GNoiseLevel / BNoiseLevel / RNoiseHiLevel / GNoiseHiLevel / BNoiseHiLevel to 0, and you will find a lot of runout noise. Then, gradually enlarge the value, and you will find that the runout noise is getting smaller and smaller. Properly raise the value to close to no runout noise. Don’t increase the value infinitely, which will cause the 3DNR effect to be too strong and make the moving object drag.

Step 2. Define the motion gain of different gray levels. Four levels are divided according to the gray level, namely L2mIn00 / L2mIn01 / L2mIn02 / L2mIn03 in L2mCurve. The first level gray range is defined as the darkest to the faintest motion to be distinguished; the second level gray scale is divided into areas with distinguishable but weak resolution; the third level gray scale is divided into the regions with obvious motion; the fourth level gray scale is divided into the brightest, and the specific configuration can be adjusted according to the actual situation.

Module050Tuning principle: It is recommended to set TuningMode to 1 to open the motion map screen. Take the first stage as an example, first set the L2mOut00 corresponding to L2mIn00 to the maximum value of 63, and the gain of other stages L2mOut01 ~ L2mOut03 to the minimum value of 0. You will find that the motion level of L2mIn00 area is much higher than other gray levels. If the motion area does not match the expectation, you can adjust L2mIn00 to further define the appropriate gray range for the first stage motion. The other three gray levels are configured in the same way as the first level, as shown in Fig. 5.37 below. In order to make it easier for the dark area to detect motion, the motion gain L2mOut00 of the first level is set to the maximum value of 63, while the other gray levels are consistent.

_images/Module039.png

Fig. 5.37 Luminance to motion gain noise reduction model adaptation

Step 3. Define the total gain. Adjust TnrStrength to control the overall 3DNR intensity. The smaller the value is, the more regions can be easily judged as stationary regions, which can achieve the 3DNR effect, but it may also make moving objects mistakenly judged as stationary regions, resulting in shadowing phenomenon. On the contrary, the larger the value is, the smaller the motion will be detected easily, but the noise may also be misjudged as a moving object, which makes the whole picture more floating.

Module050 Tuning principle: It is recommended to set TuningMode to 1 to open the Motion Map screen. Gradually enlarge TnrStrength from the minimum value of 0, so that moving objects are detected more and more completely. Pay attention not to over amplify, because it is easy to cause too much jumping noise.

Step 4. Define the upper and lower limits of the total gain. Adjust the upper and lower limits of the overall gain of MapThdLow / MapThdHigh control. Initially, it is suggested to set MapThdLow= 0 and MapThdHigh = 255 to keep the original gain state. If the value is lowered, the whole can be easily identified as a static region, and the more 3DNR superposition effect the whole has, but if the value is too low, it may cause serious drag. On the contrary, the higher the value is, the easier it is to judge the whole as a moving area, but the higher the value is, the weaker the 3DNR effect in the static area will be, and there will be floating noise in the static area.

Step 5. Establish protection model. The tuning logic is the same as step 2, and the static area is divided into the moving area according to four levels. It is mainly used to suppress the jumping noise and shadowing in the background area. Therefore, it is suggested to set the gain high in the still region to refer to more previous frame image data. In the motion region, it is suggested to set the gain low to reduce the weight of the previous frame data.

Module050Tuning principle: First, set PrtctWgt00 in the first level protection gain PrtctCurve to the maximum 15, while the other protection gain PrtctWgt01 ~ PrtctWgt03 is set to 0 (unprotected), then adjust PrvMotion00 to the appropriate value, and then adjust PrvMotion00 to achieve the desired effect. The following two to four levels are configured in the same order. At present, the default value of protection gain at all levels is 8, which makes the weight of the previous frame number equal to the current frame number.

Step 6. Create a trajectory for YNR reference. The adaptation idea continues from step 4, and the motion track is created according to the MotionHistoryStr intensity and output to YNR for reference. The larger the value of MotionHistoryStr, the longer the trajectory can last, and the smaller the value, the shorter the trajectory can last. In this way, YNR can adaptively change the intensity of the moving area to match with 3DNR for the size of the moving track.

Step 7. Adjusts the denoising intensity for the amount of object motion. LowMtPrtY / LowMtPrtU / LowMtPrtV / LowMtPrtAdv is mainly for the weak motion area, and the motion volume is divided according to four levels to control the de-stimulation intensity. Finally, AdaptNrLumaStr / AdaptNrChromaStr can be adjusted to control the mapping curve of motion volume to suppress the effect of noise on motion volume detection.

Module056Tuning principle: First, the weak motion detection parameters LowMtPrtY / LowMtPrtU / LowMtPrtV are adjusted in pixel units to detect the range of weak motion while suppressing noise. Then, adjust the block-based weak motion detection parameters LowMtPrtAdv to further adjust and optimize the weak motion detection range. Finally, adjust the control image curve parameters AdaptNrLumaStr / AdaptNrChromaStr to strengthen the noise immunity of motion detection and reduce the areas that are misidentified as motion due to the influence of noise.

5.19. YNR

5.19.1. YNR Tuning Method

YNR (Y-domain Noise Reduction) is used to suppress the bright noise.

5.19.1.1. Function Description

YNR is mainly used for spatial denoising in luma domain. According to different sensors, the denoising model is established. After proper denoising by YNR, the final image looks natural, and some common visual defects, such as insect noise and pattern noise, are avoided. The configuration of key parameters provides flexibility to adjust the intensity of denoising. At the same time of noise suppression, the edge, texture and details of the image are retained, the original noise pattern is not changed, and the random noise is retained to a certain extent, so the signal-to-noise ratio and overall uniformity of the image results can be improved.

5.19.1.2. Key Parameters

Table 5.31 YNR key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable YNR module ;

0: close.

1: enable.

OpType

[0, 1]

0

YNR working type;

0: automatic mode (OP_TYPE_AUTO)

1: manual mode (OP_TYPE_MANUAL)

WindowType

[0, 11]

11

The local degree of denoising filter.; the smaller the value is, the more localized the action is.

DetailSmoothMode

[0, 1]

1

Enable the de-noising detail smoothing function;.

0: close.

1: enable.

NoiseSuppressStr

[0, 255]

0

Noise suppression intensity; the larger the value is, the stronger the suppression intensity of bright noise is.

FilterType

[0, 255]

0

Denoising filter strength; the larger the value is, the stronger the suppression intensity of bright noise is.

NoiseCoringBase

[0, 255]

0

Motion zone luminance noise tolerance value, the judgment of the motion zone is linked with TNR motion zone detection. The larger the value, the greater the denoising intensity of the motion area.

NoiseCoringAdv

[0, 255]

0

Brightness noise tolerance value in static region ; the judgment of motion area is linked with the detection of TNR motion area. The larger the value, the greater the denoising intensity of the static area.

FiltModeEnable

[0, 1]

1

Enables the filter manual tuning mixing mode.

FiltMode

[0, 256]

128

Filter manual tuning mixing weights.

VarThr

[0, 255]

64

The threshold of edge detection; the larger the value, the less the number of edges.

NonDirFiltStr

[0, 31]

0

Adjust the denoising intensity in the low frequency region. The larger the value is, the more noise is removed in the low frequency region.

VhDirFiltStr

[0, 31]

0

Adjust the denoising intensity in the horizontal and vertical areas. The larger the value is, the more noise is removed at the horizontal and vertical edges.

AaDirFiltStr

[0, 31]

0

Adjust the denoising intensity at the diagonal edge. The larger the value is, the more noise is removed at the diagonal edge.

FilterMode

[0, 1023]

256

Filter mode. The smaller the value, the better the uniformity of the noise retained in the flat region.

CoringWgtLF

[0, 256]

0

Adjust the random noise intensity in the low frequency region. The larger the value is, the more noise is retained in the low frequency region.

CoringWgtHF

[0, 256]

0

Adjust the random noise intensity in the high frequency region. The larger the value is, the more noise is retained in the high frequency region.

MotionThr

[0, 15]

4

Object movement threshold; the smaller the value is, the larger the area detected as motion is.

MotionNrPosGain

[0, 64]

0

Adjust the de-noising intensity in the area larger than the moving amount threshold. The larger the value is, the less noise is retained.

MotionNrNegGain

[0, 64]

0

Adjust the de-noising intensity in the area less than the threshold value of the moving amount. The smaller the value is, the less noise is retained.

NoiseCoringMax

[0, 255]

255

The maximum allowable noise rejection intensity.

CoringWgtLF

[0, 256]

0

Adjusts the intensity of random noise in the low-frequency region. The higher the value, the more noise is retained in the low-frequency region.

CoringWgtHF

[0, 256]

0

Adjusts the intensity of random noise in the high frequency region. The higher the value, the more noise is retained in the high-frequency region.

CoringWgtMax

[0, 255]

255

The maximum value of the retained noise can be allowed.

MotionCoringWgtMax

[0, 255]

255

For object motion areas, the maximum value of the noise can be allowed to be retained.

MotionYnrLut[16]

[0, 255]

[0, …, 0]

Adjusts the de-noise intensity corresponding to different object motion amounts, distinguishing the motion amounts into 16 steps. The higher the value, the stronger the de-noise intensity.

MotionCoringWgt[16]

[0, 256]

[0, …, 0]

Adjusts the degree of noise retention corresponding to different amounts of object motion, distinguishing the amount of motion into 16 orders. The higher the value, the more noise is retained.

TuningMode

[8, 11-15]

8

Output debug strategy, auxiliary adjustment parameters.

8: YNR image results.

other: Flat / edge detection image results.

5.19.1.3. Tuning Steps

_images/Module040.png

Fig. 5.38 YNR Process flow chart and key parameters

Before tuning parameters, please confirm that the modules listed in Table 5.32 have been tuneged, and the default values of key parameters are configured according to Table 5.31.

Step 1. Adjust the brightness noise denoising function. The relevant parameters include noise suppression strength, NoiseSuppressStr, static area noise suppression strength, NoiseCoringAdv, and denoising filter strength, FilterType. The parameters will be configured according to different ISO. First, adjust the NoiseSuppressStr to increase gradually until the whole image can keep the full details and minimize the noise. Especially for the static region, the NoiseCoringAdv can be adjusted appropriately to reduce the noise. Then, increase the FilterType appropriately, and cooperate with other denoising modules to tune.

Module050 Tuning principle: The uniformity of the whole image noise is kept as much as possible, and the impact noise, insect noise and pattern noise are avoided. For the configuration of the parameters WindowType and DetailSmoothMode, the default values are recommended.

Step 2. VarThr is controlled to determine the low and high frequency regions of the image, and then NonDirFiltStr and VhDirFiltStr / AaDirFiltStr are adjusted to change the denoising intensity. The larger the NonDirFiltStr is, the less the noise is in the low frequency region, while the larger the VhDirFiltStr / AaDirFiltStr is, the smoother the image edge is.

Module050 Tuning principle: It is suggested that NonDirFiltStr and VhDirFiltStr / AaDirFiltStr should be set to the same value to denoise the whole image evenly. If the smoothness of image edge meets the requirement, NonDirFiltStr and VhDirFiltStr / AaDirFiltStr are set to 0.

Step 3. Adjust the MotionThr to divide the image into moving regions and regions with static background: the larger the NoiseCoringBase and MotionNrPosGain, the less the noise in the regions with moving amount larger than this MotionThr; The smaller the MotionNrNegGain is, the less the noise is in the area with less movement than MotionThr. NoiseCoringBase can also be adjusted appropriately for object moving regions to reduce noise. Alternatively, if one wishes to fine-tune the de-noise intensity of the object moving region at different amounts of motion, one can use MotionYnrLut [16].

Module050 Tuning principle: If you want to reduce the noise in the moving area of the image, it is recommended to use NoiseCoringBase first, and gradually increase NoiseCoringBase to enhance the noise removal intensity until it is similar to the background noise pattern. MotionThr and MotionNrPosGain are recommended to use default values. In addition, NoiseCoringMax can be adjusted according to the demand to set the maximum allowable noise removal intensity.

Step 4. According to the low-frequency and high-frequency regions of the image obtained in step 2, the degree of random noise is retained by adjusting the parameters CoringWgtLF and CoringWgtHF respectively. Appropriately increasing CoringWgtLF can improve the worm noise and pattern noise, while appropriately increasing CoringWgtHF can increase the sense of detail. Alternatively, if one wishes to fine-tune the degree of noise retention in the moving region of the object for different amounts of motion, one can use MotionCoringWgtLut [16].

Module050 Tuning principle: It is suggested that CoringWgtLF and CoringWgtHF should be set to the same value to make the noise of the whole image evenly distributed. If the above noise types do not appear in the image, CoringWgtLF and CoringWgtHF are set to 0. In addition, the CoringWgtMax and MotionCoringWgtMax settings can be adjusted separately for the overall image and object motion areas allowing the maximum amount of noise to be retained.

5.20. CNR

5.20.1. CNR Tuning Method

CNR (Color Noise Reduction) can suppress color noise.

5.20.1.1. Function Description

CNR is mainly used for spatial color and noise removal in YUV domain. The edge of the object in the image is adaptively calculated to suppress the color noise and avoid the color overflow phenomenon.

5.20.1.2. Key Parameters

Table 5.33 CNR key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable CNR module ;

0: close.

1: enable.

OpType

[0, 4]

0

CNR working type;

0: automatic mode (OP_TYPE_AUTO)

1: manual mode (OP_TYPE_MANUAL)

DetailSmoothMode

[0, 1]

0

Enable the de-noising detail smoothing function;

0: close.

1: enable.

CnrStr

[0, 255]

16

the intensity of color noise removal; the larger the value is, the stronger the denoising intensity is.

FilterType

[0, 31]

0

the strength of color noise filter; the larger the value is, the stronger the color noise removal is.

LumaWgt

[0, 8]

4

The weight of color noise denoising with reference to luminance. The larger the value, the stronger the luminance affects the color noise denoising.

NoiseSuppressStr

[0, 255]

0

Color noise suppression intensity; the larger the value is, the stronger the denoising intensity is.

NoiseSuppressGain

[1, 8]

8

Intensity gain of color noise suppression; the larger the value is, the stronger the denoising intensity is.

MotionNrStr

[0, 255]

32

Adjust the intensity of color noise removal in the moving area; the larger the value is, the less color noise is in the motion region.

MotionCnrEnable

[0, 1]

0

Enable adjusting the de-noise intensity function with reference to the object movement

0: close

1: enable

MotionCnrCoringLut[16]

[0, 255]

Use LUT to adjust the color noise suppression intensity corresponding to different object motion amounts, and distinguish the motion amounts into 16 steps. The higher the value, the stronger the color noise rejection intensity.

MotionCnrStrLut[16]

[0, 255]

Use the LUT to adjust the de-noise intensity corresponding to different object motion amounts, distinguishing the motion amounts into 16 steps. The higher the value, the stronger the denoising intensity.

5.20.1.3. Tuning Steps

_images/Module041.png

Fig. 5.39 CNR Process flow chart and key parameters

Before tuning parameters, please confirm that the modules listed in Table 5.34 have been tuneged, and the default values of key parameters are configured according to Table 5.33.

Step 1. The denoising intensity is adjusted for color noise. The related parameters include Color noise denoising strength CnrStr and Color noise denoising filter strength FilterType. The parameters will be configured according to different ISO. Firstly, the parameter FilterType is adjusted to increase gradually until the edge of the object in the image is minimized without color overflow. When the FilterType has reached the maximum value, but the color noise still needs to be eliminated, we can appropriately increase the intensity of CnrStr to control the color noise removal of the whole image, and it can be adapted with NoiseSuppressStr.

Module050 Tuning principle: The default value is recommended for the configuration of DetailSmoothMode and NoiseSuppressGain.

Step 2. Adjust the parameter MotionNrStr to control the color noise size of the moving area of the object in the image until it is similar to the background color noise pattern. The larger the value of MotionNrStr the stronger the denoising intensity of color noise. In addition, if you want to fine-tune the de-colorization intensity of the object moving area at different motion amounts, you can use MotionCnrStrLut[16] and MotionCnrCoringLut[16].

5.21. CA

5.21.1. CA Tuning Method

5.21.1.1. Function Description

The CA module mainly does the color gamut adjustment in the YUV domain and supports two different modes, CA mode and CP mode. CA mode provides chromaticity (U, V) mapping adjustment, which can determine the UV gain based on the luminance Y and ISO value, and then achieve the purpose of adjusting the local saturation, making the brighter colors more vivid while reducing the color noise in the dark areas. CP mode is generally used in thermal imaging color, and thermal imaging itself only luminance information, CP mode can be directly from the luminance Y to find the corresponding set of YUV output values.

5.21.1.2. Key Parameters

Table 5.35 CA Key Parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable CA module.

0: close

1: enable

CaCpMode

[0, 1]

0

CA mode option

0: CA mode

1: CP mode

ISORatio

[0, 2047]

128

CA mode, find the UV gain according to the ISO value. The UV adjustment gain is the same for all pixel points. It is recommended that this gain can be set larger at low ISO and smaller at high ISO to suppress color noise in dark areas.

YRatioLut[256]

[0, 2047]

128

CA mode, find the gain of UV according to the brightness Y. This value can be set according to different brightness levels of UV gain, it is recommended that the gain in the light area can be set larger, the color will be more vivid, while the gain in the dark area can be set smaller, to suppress the dark area color noise.

CPLutY[256]

[0, 255]

CP mode, find the Y value corresponding to the LUT according to the luminance Y.

CPLutU[256]

[0, 255]

CP mode, find the U value corresponding to the LUT according to the brightness Y.

CPLutV[256]

[0, 255]

CP mode, find the V value corresponding to the LUT according to the brightness Y.

5.21.1.3. Precautions

CA mode and CP mode can only be on one of them, not both.

5.22. CAC

5.22.1. CAC Tuning Method

5.22.1.1. Function Description

CAC (Chromatic Abberation Correction) mainly used to eliminate the problem of purple edge in the image.

5.22.1.2. Key Parameters

Table 5.36 CAC key parameters

Parameter

Value range

Default

Description

Enable

[0, 1]

0

Enable CAC module ;

0: close.

1: enable.

OpType

[0, 5]

0

CAC working type;

0: automatic mode (OP_TYPE_AUTO)

1: Manual mode (OP_TYPE_MANUAL)

EdgeGlobalGain

[0, 255]

12

The total gain in intensity of edge detection. The higher the value, the stronger the edge intensity.

PurpleDetRange

[0, 128]

96

The threshold value of purple edge detection; the larger the value is, the more areas are judged as purple edges.

DePurpleStr

[0, 255]

30

The intensity of removing the purple edge; the larger the value is, the less the purple edge phenomenon is.

DePurpleCbStr

[0, 8]

8

B channel purple edge correction edge intensity. The higher the value, the less purple edge phenomenon.

DePurpleCrStr

[0, 8]

8

R channel purple edge correction edge intensity. The higher the value, the less purple edge phenomenon.

DePurpleStrMaxRatio

[0, 64]

64

The maximum gain that can be allowed of removing purple edge intensity.

DePurpleStrMinRatio

[0, 64]

0

The minimum gain that can be allowed of removing purple edge intensity.

PurpleCb

[0, 255]

232

The coordinates of the first set of custom purple edges in the Cb domain.

PurpleCr

[0, 255]

157

The coordinates of the first set of custom purple edges in the Cr domain.

GreenCb

[0, 255]

43

The coordinates of green in Cb domain.

GreenCr

[0, 255]

21

The coordinates of green in Cr domain.

PurpleCb2

[0, 255]

232

The coordinates of the second set of custom purple edges in the Cb domain.

PurpleCr2

[0, 255]

176

The coordinates of the second set of custom purple edges in the Cr domain.

PurpleCb3

[0, 255]

232

The coordinates of the third set of custom purple edges in the Cb domain.

PurpleCr3

[0, 255]

176

The coordinates of the third set of custom purple edges in the Cr domain.

GreenCb

[0, 255]

43

The coordinates of green in the Cb domain.

GreenCr

[0, 255]

21

The coordinates of green in the Cr domain.

EdgeGainIn[3]

[0, 16]

[1, 2, 7]

An array of two values. Defines the edge strength level, the higher the value, the stronger the edge strength.

EdgeGainOut[3]

[0, 32]

[0, 4, 32]

An array of two values. Defines the edge intensity gain, the higher the value, the stronger the output edge intensity.

EdgeCoring

[0, 255]

0

Noise suppression control for edge detection.

EdgeGlobalGain

[0, 255]

12

The total intensity gain of the edge detection.

EdgeStrMax

[0, 255]

255

The upper limit of the intensity of the edge detection.

EdgeStrMin

[0, 255]

0

The lower limit of the intensity of the edge detection.

TuningMode

[0, 2]

0

Output debug strategy, auxiliary adjustment parameters.

1: Edge detection image results.

2: The image result of the purple edge detection.

5.22.1.3. Tuning Steps

_images/Module042.png

Fig. 5.40 CAC Process flow chart and key parameters

Before tuning parameters, please confirm that the modules listed in Table 5.37 have been tuneged, and the default values of key parameters are configured according to Table 5.36.

Step 1. Adjusting EdgeGlobalGain to determine the total intensity gain of the edge detection. If only the purple edge at the strong edge needs to be corrected, EdgeGainIn[2] and EdgeGainOut[2] can be adjusted appropriately to increase the gain value corresponding to the strong edge.

Module050 Tuning principle: The above parameters are recommended to take the default values first, starting from step 2, and if the results are not found to be as expected, then the parameters related to edge detection can be adapted.

Step 2. Adjust the PurpleDeRange to determine the range to be detected as a purple edge. Increase the PurpleDeRange appropriately to make the areas with obvious purple edges in the highlight can be detected. If it is found that the normal purple in the highlight of the image is corrected, it is necessary to reduce the PurpleDeRange to protect the normal purple area.

Module050 Tuning principle: Interested users can fine-tune the three custom purple edge parameters PurpleCb/PurpleCb2 /PurpleCb3 and PurpleCr/PurpleCr2/PurpleCr3. GreenCb/GreenCb is recommended to take the default value.

Step 3. After the detection parameters are configured by the above steps, DePurpleStr can be adjusted to determine the correction intensity of the purple edge according to the requirements. Further, DePurpleCbStr and DePurpleCrStr can be adjusted to determine the correction intensity of the R and B channels.

Module050 Tuning principle: Note that if DePurpleStr is set too high, the correction intensity will be too strong, which may cause obvious graying at the purple edge. Therefore, adjust DePurpleStr to an acceptable purple edge correction intensity.

5.23. DCI

5.23.1. DCI Tuning Method

5.23.1.1. Function Description

Human vision is more sensitive to contrast than brightness. After the whole ISP pipeline processing, the image often results in insufficient contrast, thus reducing the details in the bright or dark areas. DCI is a method based on histogram equalization, which can enhance the contrast of the whole image, and adjust the parameters to retain more details of bright and dark areas.

5.23.1.2. Key Parameters

Table 5.38 DCI key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable DCI module ;

0: close.

1: enable.

OpType

[0, 1]

0

DCI working type;

0: automatic mode (OP_TYPE_AUTO)

1: Manual mode (OP_TYPE_MANUAL)

ContrastGain

[0, 1023]

100

It is used to control the intensity of DCI. The larger the value is, the greater the contrast is.

BlcThr

[0, 255]

60

The threshold value used to determine the range of dark areas. The larger the value is, the larger the range of dark areas is.

WhtThr

[0, 255]

200

The threshold value used to determine the range of bright areas. The larger the value is, the larger the range of bright areas is.

Method

[0, 1]

0

Switch between old and new algorithm, open DCI recommendation with new method.

0:Old

1: New

BlcCtrl

[0, 512]

256

It is used to determine the contrast of dark areas. When the value is 256, the contrast of dark area remains unchanged. When the ratio is larger than 256, the larger the value is, the greater the contrast in the dark area is; on the contrary, the smaller the value is, the smaller the contrast is.

WhtCtrl

[0, 512]

256

It is used to determine the contrast of bright areas. When the value is 256, the contrast of bright area remains unchanged. When the ratio is larger than 256, the larger the value is, the greater the contrast in the bright area is; on the contrary, the smaller the value is, the smaller the contrast is.

DciStrength

[0, 255]

0

The parameter to control DCI enhancement effect; the larger the value is, the stronger the overall transparency is, and vice versa.

DciGainMax

[0, 256]

48

Used to control the upper contrast limit, the higher the value, the stronger the contrast can be.

Speed

[0, 1024]

300

The smoothness of DCI curve in time domain; the larger the value is, the smoother the change of time domain is, and vice versa.

DciGamma

[100, 800]

100

It is used to control the contrast. The larger the value is, the greater the contrast is, but the brightness of the picture will decrease. It is suggested to adjust it with DciOffset.

DciOffset

[0, 255]

0

Adjust the brightness of the whole picture; the larger the value is, the greater the overall brightness is. It is recommended to adjust with DciGamma.

TuningMode

[0, 1]

0

The original image and the result image are displayed at the same time on the same screen to assist in adjusting parameters.

0: CAC image results.

1: The original image and the result image are displayed on the same screen at the same time.

5.23.1.3. Tuning Steps

_images/Module043.png

Fig. 5.41 DCI processing flow chart and key parameters

Before tuning parameters, please confirm that the modules listed in:numref:DCI pre-tuning related modules have been tuneged, and the default values of key parameters are configured according to Table 5.38.

Step 1. First, DciStrength is used to adjust the overall image contrast enhancement. The larger the value, the stronger the contrast of the whole image. When DciStrength has reached the maximum value, but users still want further enhancement, ContrastGain can be appropriately increased to control the image contrast.

Step 2. The areas where brightness is increased and brightness is decreased after contrast enhancement can be further differentiated and controlled separately. The parameters WhtThr and BlcThr determine the range of light and dark areas, and then use WhtCtrl and BlcCtrl to control their contrast respectively. By increasing both WhtCtrl and BlcCtrl, the brighter and darker areas of the image are made brighter and darker to further enhance the contrast of the image.

Module050Tuning principle: The WhtCtrl can be appropriately reduced to recover the image details due to the over saturation of brightness after contrast enhancement. In addition, the contrast enhancement of the dark area should be controlled appropriately to prevent the noise from being over enhanced. Note that BlcThr must be less than WhtThr.

Step 3. If the screen flickers, you can turn off the DCI function first, and then observe to make sure it is still there. If it does, you can use the parameter Speed to solve the problem. The higher the value, the smoother the DCI changes in the time range and the less the screen will flicker.

5.24. LDCI

5.24.1. LDCI Tuning Method

5.24.1.1. Fonction Discription

Human eye vision is more sensitive to contrast than brightness. LDCI is a method based on image chunking statistics to enhance the local contrast of an image, while the filtering parameters can be adjusted to adjust the local extent of local contrast enhancement. In addition, the parameters can be adjusted according to the brightness of the input image.

5.24.1.2. Key Parameters

Table 5.40 LDCI key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable the LDCI module.

0: Disable.

1: Enabled.

OpType

[0, 1]

0

LDCI operating type.

0: Automatic mode (OP_TYPE_AUTO).

1: Manual mode (OP_TYPE_MANUAL).

LdciStrength

[0, 256]

192

Controls the LDCI Enhancement parameter. The higher the value, the stronger the local contrast stretch.

LdciRange

[0, 1023]

256

Controls the degree of contrast enhancement for the high-frequency areas of the image. The larger the value, the stronger the contrast in the high-frequency area of the image.

GaussLPFSigma

[0, 255]

64

The degree of local filtering, the smaller the value, the more localized the local contrast enhancement effect, and vice versa, the more globalized.

LumaPosWgt

  • Wgt

  • Sigma

  • Mean

  • Wgt: [0, 128]

  • Sigma: [1, 255]

  • Mean: [0, 255]

  • Wgt: 128

  • Sigma: 128

  • Mean: 0

The intensity of the LDCI effect is controlled according to the brightness, and the weight-brightness curve of the LDCI result blended with the original image is determined.

LumaWgtMin

[0, 255]

0

LumaPosWgt lower limit

LumaWgtMax

[0, 255]

128

LumaPosWgt upper limit

VarMapMin

[0, 255]

0

VarMap lower limit

VarMapMax

[0, 255]

255

VarMap upper limit

BrightContrastHigh

[0, 255]

64

The degree of brightness pulling in the bright area, the larger the value, the more the brightness pulling up.

BrightContrastLow

[0, 255]

64

The degree of darkening of the bright area, the larger the value, the more brightness darkening.

DarkContrastHigh

[0, 255]

96

The degree of brightness pulling in dark areas, the larger the value, the more brightness pulling up.

DarkContrastLow

[0, 255]

96

The dark area of the degree of darkness, the larger the value, the more brightness darkness.

TprCoef

[0, 1023]

30

The smoothness of the change in the time domain of the LDCI curve. The smaller the value, the smoother the change in the time domain, and vice versa, the faster the change.

5.24.1.3. Tuning Steps

_images/Module044.png

Fig. 5.42 LDCI processing flow chart and key parameters

Before tuning the parameters, make sure that the modules listed in Table 5.41 have been tuned and that the default values of the key parameters are configured according to Table 5.40.

Step 1. First, use LdciStrength to adjust the degree of local contrast enhancement of the image. The higher the value, the stronger the local contrast of the image.

Step 2. Adjust BrightContrastHigh and BrightContrastLow to increase and decrease the brightness of the bright areas of the image, respectively. Adjust DarkContrastHigh and DarkContrastLow to increase and decrease the brightness of the dark areas of the image, respectively. The higher the value, the stronger the local contrast of the image.

Step 3. The window size of the filter is controlled by the parameter GaussLPFSigma to determine the degree of local contrast enhancement in the local area. The smaller the value, the more localized the image enhancement effect is, and conversely, the more global the tendency is.

  • Trend of filter coefficient shapes with different GaussLPFSigma parameters

    _images/Module045.jpg

Step 4. The LdciRange can be adjusted to control the degree of contrast enhancement in the high-frequency region of the image. The larger the value, the greater the degree of contrast enhancement in the high frequency region of the image.

Step 5. Based on the brightness information of the input image, the weight-brightness curve can be generated by the parameters Wgt, Sigma and Mean to adjust the degree of local contrast enhancement and determine the ratio of the LDCI result to the original image. The higher the weight, the closer the result is to the LDCI image. The trend of the weight curve generated by these three parameters is shown below.

  • Trend of weight-brightness curve of parameter Wgt

    _images/Module046.jpg
  • Trend of weight-brightness curve with different Sigma parameters

    _images/Module047.jpg
  • Trend of weight-brightness curve under different Mean parameters

    _images/Module048.jpg

Step 6. The statistics of the LDCI are filtered in the time domain by the parameter TprCoef to make the statistics change smoothly. The smaller the value, the better the smoothness of the LDCI change in time domain.

5.25. CA_Lite

5.25.1. CA_Lite Tuning Method

5.25.1.1. Fonction Discription

The CA_Lite module can determine the UV gain value based on the saturation value to adjust the local saturation, especially to reduce the color noise of the image for better visual perception, and also to adjust the saturation according to the user’s preference to make the overall picture look more comfortable.

5.25.1.2. Key Parameters

Table 5.42 CA_Lite Key Parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable the CA_Lite module.

0: Disable.

1: Enabled.

Ca2In[6]

[0, 192]

[4 , 8 , 12 , 18 , 32 , 192]

An array of six values that determines the input saturation level.

Ca2Out[6]

[0, 2047]

[128 , 128 , 128 , 128 , 128 , 128]

An array of six values that defines the UV gain of the output. Find the UV gain based on the input saturation, the larger the value, the higher the saturation; conversely, the smaller the value.

5.25.1.3. Tuning Steps

For scenes with particularly pronounced color noise or over-saturated areas in HDR effect, the parameters CA2In[6] and CA2Out[6] can be adjusted as needed to determine the corresponding UV gain for each input saturation range, respectively, to improve the overall image saturation and make the visual experience more comfortable.

5.26. Sharpen

5.26.1. Sharpen Tuning Method

5.26.1.1. Function Description

Sharpen module is used to enhance image sharpness, mainly for enhancing large edges in images. By combining multiple intensities in different frequency bands, a variety of styles of sharpness enhancement can be achieved, while also providing sharpened white edge white point (Over Shoot) and black edge black point (Under Shoot) suppression. Fig. 5.43 shows the system framework of the Sharpen module, with the data flow diagram in black and the open-adjustment parameter interface in blue.

_images/Module03666.png

Fig. 5.43 System Framework for Sharpen Module

5.26.1.2. Key Parameters

Table 5.43 Sharpen key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable the Pre-Sharpen module.

0: Disable.

1: Enabled.

OpType

OP_TYPE_AUTO, OP_TYPE_MANUAL

OP_TYPE_MANUAL

Operating Type

OP_TYPE_AUTO: Automatic mode

OP_TYPE_MANUAL: Manual mode

LumaAdpGainEn

[0, 1]

1

Enable brightness sharpening weights

LumaAdpGain[33]

[0, 63]

16

Brightness sharpening weights (1x = 64)

※It consists of 33 values divided equally into 33 luminance zones, and each luminance zone corresponds to a luminance weight. The smaller the value of the corresponding luminance band, the weaker the pixel sharpening

LumaCorLutIn[4]

[0, 255]

[0, 64, 128, 192]

luma-based coring, this is the input node, enter luma.

LumaCorLutOut[4]

[0, 255]

[1, 1, 1, 1]

luma-based coring, this is the output node that outputs the corresponding coring value.

MotionCorLutIn[4]

[0, 255]

[0, 64, 128, 192]

Motion-based coring, this is the input node and the input is motion.

MotionCorLutOut[4]

[0, 255]

[8, 8, 8, 8]

Motion-based coring, this is the output node that outputs the corresponding coring value.

MotionCorWgtLutIn[4]

[0, 255]

[0, 64, 128, 255]

Based on the motion adjusts the weights of the luma coring as well as the motion coring, this is the input node and input the size of the motion.

MotionCorWgtLutOut[4]

[0, 255]

[0, 32, 64, 128]

Based on the motion adjusts the weights of the luma coring as well as the motion coring, this is the output node and output the size of the motion. (max = 128)

DeltaAdpGainEn

[0, 1]

0

Enable sharpness sharpening weights

DeltaAdpGain[33]

[0, 63]

32

Sharpness sharpening weights

※It consists of 33 values divided equally into 33 sharpening zones, and each sharpening zone corresponds to a sharpening weight. The larger the value of the corresponding sharpening interval, the stronger the pixel point sharpening.

MotionShtGainIn[4](MotionShtGainCurve)

[0, 255]

[0, 64, 128, 192]

The LUT that determines the degree of edge enhancement for the motion area, this is the horizontal node and the input value is the motion value.

MotionShtGainOut[4](MotionShtGainCurve)

[0, 128]

[128, 128, 128, 128]

The LUT that determines the degree of edge enhancement for the motion area, this is the vertical node and the output value is the enhancement intensity corresponding to the motion.

SatShtCtrlEn

[0, 1]

1

Enable edge enhancement adjusted by saturation

0: Off

1: Enabled

HueShtCtrl[33]

[0, 63]

Edge enhancement based on specified color

SatShtGainIn[4]

[0, 255]

[0, 8, 16, 192]

Make edge enhancement based on the specified saturation, this is the input node, input saturation.

SatShtGainOut[4]

[0, 128]

[0, 0, 128, 128]

Based on the specified saturation to make edge enhancement, this is the output node that outputs the edge intensity corresponding to the saturation.

GlobalGain

[0, 255]

32

Global sharpening weights.

※The higher the value, the stronger the sharpening.

OverShootGain

[0, 255]

4

The multiplier of the upper magnitude of white edge sharpening. (1x = 16)

UnderShootGain

[0, 255]

4

The multiplier of the upper magnitude of black edge sharpening. (1x = 16)

OverShootThr

[0, 255]

32

White edge sharpening upper range.

UnderShootThr

[0, 255]

32

White edge sharpening lower range.

OverShootThrMax

[0, 255]

255

Maximum upper limit magnitude of white edge sharpening.

UnderShootThrMax

[0, 255]

255

Maximum lower limit magnitude of black edge sharpening.

HFBlendWgt

[0, 255]

128

Weight of high frequency edge enhancement

MFBlendWgt

[0, 255]

128

Weight of mid-frequency edge enhancement

NoiseSuppressEnable

[0, 1]

0

Edge enhancement is done for edge-detected images after pre-processing with enhanced denoising.

SoftClampEnable

[0, 1]

0

Smooth Handling Edge Enhancement

0: Off.

1: Enabled.

SoftClampUB

[0, 255]

1

Smooth the upper and lower bounds of edge enhancement. The larger the value set, the more continuous the edge enhancement will be, but the weaker the enhancement will be.

SoftClampLB

[0, 255]

1

Smooth the upper and lower bounds of edge enhancement. The larger the value set, the more continuous the edge enhancement will be, but the weaker the enhancement will be.

5.26.1.3. Tuning Steps

Before doing parameter debugging, make sure that the modules listed in Table 5.44 have been debugged and that the default values of key parameters are configured according to Table 5.43.

Noise suppression of input images

The input image is pre-processed for noise removal, NoiseSuppressEnable is to enable pre-noise processing mode.

Coring value adjustment

Coring value can be adjusted by LumaCorLut[4] for the static zone coring value, while the moving zone part is adjusted by MotionCorLut[4], and finally MotionCoringWgtLut[4] decides the combined weight of static zone coring value and dynamic zone coring value according to the amount of movement.

Edge combination of different frequency bands

For the edge to be enhanced, it can be subdivided into the high-frequency detail area and the mid-frequency edge information, and the intensity of the high-frequency detail can be adjusted through HfBlendWgt and the intensity of the mid-frequency edge through MfBlendWgt.

Edge strength adjustment

The adjustment of edge strength is divided into GlobalGain, DeltaGain, LumaGain, and MotionGain. Adjusting GlobalGain enhances the overall sharpening level. Adjusting DeltaAdpGain sets the sharpening weight according to the edge strength of the pixel. In areas with strong edges, the sharpening level is already high, so you can set the weight smaller to avoid over-sharpening the image. In areas with weak edges, you can set a large weight to enhance the sharpening of weak texture areas. Adjust LumaAdpGain to set the sharpening weight according to the brightness of the pixel. In low luminance areas, the human eye is more sensitive to pixel differences, so the sharpening weight can be set smaller. In high luminance areas, the human eye is less sensitive to pixel differences, so the sharpening weight can be configured to be larger.

The LUT input and output nodes of MotionShtGainIn [4] and MotionShtGainOut [4] are adapted. MotionShtGainIn is the input node, representing the amount of object movement, and MotionShtGainOut the amount of object movement corresponds to the degree of image edge enhancement, which can be fine-tuned for the edge intensity of the moving region, and the intensity of the edge can be gradually adjusted down in the larger moving region to enhance the visual sense of continuity.

Amplitude control(Shoot Control)

The amplitude of the edges can be adjusted by OverShhotGain, UnderShhotGain, OverShootThr, UnderShootThr, OverShootThrMax, UnderShootThrMax, and turning down OverShhotGain, UnderShhotGain, OverShootThr, UnderShootThr can reduce the white spots (Over Shoot) and black spots (Under Shoot) caused by over-sharpening. As shown in Fig. 5.44, the higher the value of ShootThr, the greater the sharpening, but relatively speaking, it is also easy to find white and black dots on the image. In addition, you can control OverShootThrMax / OverShootThrMax to limit the maximum value of ShootThr.

_images/Module03777.png

Fig. 5.44 Shoot Control Schematic

5.27. Auto Exposure

5.27.1. Auto Exposure Tuning Method

5.27.1.1. Fonction Discription

Linear mode

The main function of the AE module is based on the statistical information of the image and the set screen target brightness comparison, dynamic adjustment of the screen brightness to achieve the desired target brightness, when the screen brightness is higher than the target brightness, the AE will reduce the exposure, and vice versa to increase the exposure, AE is mainly through the control of exposure time, exposure gain, and aperture to adjust the exposure of the three ways, according to the needs of different scenes, can be designed Different AE exposure distribution route (route) to correspond, for example: dynamic scenes when objects move quickly, the need to correspond to a shorter exposure time to avoid objects produced by the movement of trailing shadows, in static scenes, the longer exposure time should be given priority to reduce the noise phenomenon of the screen, to get a better image quality.

WDR mode

When the contrast between light and dark of the scene is too large, because the AE in linear mode can only set one exposure, so it can only take into account the light or dark areas, not both, if the light areas are exposed properly, the dark areas will be too dark to see the details, on the contrary, if the dark areas are exposed properly, the light areas will be a whole white and can not see the details, then you need the WDR’s multiple exposure to solve this problem, respectively, the dark areas to do long exposure and light areas to do short exposure, so that the dark areas and light areas of the scene exposure is normal at the same time, to get a more generous image.

AE Route

Maximum support for 16 nodes , each node has exposure time , gain , aperture three components , exposure time in us , it is recommended not to set too small to avoid sensor can not support too short exposure time , the exposure of the node is the product of exposure time , gain and aperture , the exposure of the node is monotonically increasing , the exposure of the next node is greater than or equal to the exposure of the previous node. The exposure of the first node is the smallest, the exposure of the last node is the largest, the exposure of adjacent nodes increases, each node will only have a component increase, the other components are fixed, the increase in the component determines the allocation strategy of the route.

AE RouteEx

The use is the same as Route, but the gain can be set as analog gain, digital gain, or ISP digital gain, respectively, and the route or routeEx can be determined by setting AERouteExValid.

SmartExposure

If face detection is supported, you can use Smart AE to perform face metering based on the detected face.

Iris

If the lens supports aperture switching, AE can automatically switch Iris according to the ambient brightness, this function is currently only supported.

5.27.1.2. Key Parameters

Table 5.45 AE key parameters

Parameter

Value range

Default value

Description

Bypass

[0, 1]

0

Enable AE module function, When ByPass is true, the AE exposure parameter setting does not take effect and remains at the previous exposure parameter

OpType

[0, 1]

0

Manual exposure and auto exposure mode switching.

AERunInterval

[1, 255]

1

Detection interval for AE algorithm operation

AERouteExValid

[0, 1]

0

Enables AE using routeEx

HistStatAdjust

[0, 1]

0

AE will automatically adjust the exposure according to the statistics of the bright area of the scene, suitable for the use of dark exposure scenes

AEGainSepCfg

[0, 1]

0

When in WDR mode, whether the gain of long/short detection is set separately

ExpTimeOpType

[0, 1]

0

Enable manual exposure time

GainType

[0, 1]

0

Manual exposure gain is controlled by ISO num or by Gain

0:AE_TYPE_GAIN.

1:AE_TYPE_ISO.

ISONumOpType

[0, 1]

0

Enable manual exposure ISO num

AGainOpType

[0, 1]

0

Enable the manual exposure analog gain.

DGainOpType

[0, 1]

0

Enable manual exposure digital gain

ISPDGainOpType

[0,1]

0

Enable manual exposure ISP digital gain

ExpTime

[0, 214 7483647]

16384

Manual exposure time, in microseconds (us), range related to sensor

Again

[1024, 214 7483647]

1024

Manual exposure analog gain, 10 bits fractional precision, sensor-dependent range

DGain

[1024, 214 7483647]

1024

Manual exposure digital gain, 10 bits fractional precision, sensor related range

ISPDGain

[1024, 214 7483647]

1024

Manual exposure ISP digital gain , 10 bits fractional precision

ISONum

[100, 214 7483647]

100

Manual exposure ISO num , the specific range is related to the sensor

ExpTimeRangeMax

[0, 214 7483647]

1 00000

The maximum value of the automatic exposure time in microseconds (us), in the range related to the sensor

ExpTimeRangeMin

[0, 214 7483647]

10

The minimum value of the automatic exposure time in microseconds (us), in the range related to the sensor

ISONumRangeMax

[100, 214 7483647]

1280 00000

The maximum value of ISO Num for automatic exposure, in the range related to the sensor

ISONumRangeMin

[100, 214 7483647]

100

The minimum value of ISO Num for automatic exposure, in the range related to the sensor

AGainRangeMax

[1024, 214 7483647]

2 04800

The maximum value of the auto-exposure analog gain, the specific range is related to the sensor

AGainRangeMin

[1024, 214 7483647]

1024

The minimum value of the auto-exposure analog gain, the specific range is related to the sensor

DGainRangeMax

[1024, 214 7483647]

2 04800

The maximum value of the auto-exposure digital gain, the specific range is related to the sensor

DGainRangeMin

[1024, 214 7483647]

1024

The minimum value of the auto-exposure digital gain, the specific range is related to the sensor

ISPDGainRangeMax

[1024, 262144]

32767

The maximum value of the auto exposure ISP digital gain

ISPDGainRangeMin

[1024, 262144]

1024

The minimum value of the auto exposure ISP digital gain

SysGainRangeMax

[1024, 214 7483647]

13107 20000

The maximum value of the gain of the automatic exposure system, the specific range is related to the sensor

SysGainRangeMin

[1024, 214 7483647]

1024

The minimum value of the gain of the automatic exposure system, the specific range is related to the sensor

GainThreshold

[1024, 429 4967295]

13107 20000

System gain threshold during automatic frame reduction, 10bit fractional precision

GridBvWeight

[0, 100]

0

AE metering is divided into two types of block luma / bvStep average, the default is luma-based, this parameter can set luma-based metering mixed with bvStep metering weight, highlight priority if you think the image is too dark, you can adjust the weight of this parameter

HighLightLumaThr

[0, 255]

224

Luminance threshold for highlight priority

HighLightBufLumaThr

[0, 255]

176

Luminance threshold of the high light priority buffer

LowLightLumaThr

[0, 255]

16

Luminance threshold for low light priority

LowLightBufLumaThr

[0, 255]

48

Luminance threshold for low light priority buffer

Speed

[0, 255]

64

AE convergence speed, the larger the value, the faster the convergence speed

BlackSpeedBias

[0, 65535]

144

Deviation value of convergence speed from dark to light AE, the larger the value, the faster the speed from dark to light

Tolerance

[0, 255]

2

Tolerance deviation of automatic exposure to picture brightness

Compensation

[0, 255]

56

Target brightness of the auto exposure screen

EVBias

[0, 65535]

1024

Exposure deviation value for auto exposure adjustment , 10bit fractional precision 1024 means no adjustment of auto exposure

AEStrategyMode

[0, 1]

0

Automatic exposure strategy.

AE_EXP_HIGHLIGHT_PRIOR : High light priority

AE_EXP_LOWLIGHT_PRIOR : Low Light Priority

HistRatioSlope

[0, 65535]

128

Adjustment step of AE target brightness decrease/rise when high/low optimal light

MaxHistOffset

[0, 255]

16

The maximum range of AE target brightness drop/rise when high/low optimal light

AEMode

[0, 1]

1

Auto exposure mode

AE_MODE_SLOW_SHUTTER: Automatic frame drop mode

AE_MODE_FIX_FRAME_RATE: fixed frame rate mode

Antiflicker enable

[0, 1]

0

Anti-flash property, anti-flash is disabled by default

AntiflickerFrequency

[0, 1]

0

Anti-flash frequency, it will be effective only after the anti-flash property is turned on

0 : 60HZ

1: 50H

Antiflicker.Mode

[0, 1]

0

Anti-flash mode: normal anti-flash mode/automatic anti-flash mode

Subflicker.enable

[0, 1]

0

Sub-anti-flash property setting. By default, sub-anti-flash is not enabled.

Subflicker.lumaDiff

[0, 255]

0

Anti-flash setting

AEDelayAttr.BlackDelayFrame

[0, 255]

0

When the image brightness is lower than the target brightness for more than BlackDelayFrame frames, AE starts to adjust

AEDelayAttr.WhiteDelayFrame

[0, 255]

0

When the image brightness is greater than the target brightness for more than WhiteDelayFrame frames, AE starts to adjust.

FSWDRMode

[0, 1]

0

FSWDR mode of operation.

The default is ISP_FSWDR_NORMAL_MODE.

Note: cv180x does not support this function

WDRQuick

[0, 1]

0

In WDR mode, whether to perform temporal filtering in the first 50 frames of AE

ISOCalCoef

[0, 65535]

256

ISO calibration coefficient, used to ensure that the ISO displayed in the DCF information required for taking pictures is standard, 8bit precision

AdjustTargetMin

[0, 255]

50

Luminance convergence lower limit for AE at various ambient luminances (LV)

AdjustTargetMax

[0, 255]

60

Luminance convergence cap for AE at various ambient luminances (LV)

LowBinThr

[0, 256]

10

When the window statistical value of the frame is below this value, and the cumulative number of windows is less than 25% of the total number of windows, the frame’s metering will exclude this window

HighBinThr

[0, 256]

256

When the window statistical value of the frame is above this value, and the cumulative number of windows is less than 10% of the total number of windows, the frame’s metering will exclude this window

EnableFace AE

[0, 1]

0

Enable face recognition linked AE metering

FaceTargetLuma

[0, 255]

46

Target brightness for face metering

FaceWeight

[0, 100]

80

The weight ratio of face metering and overall environment metering

WDR Mode

Table 5.46 WDR AE key parameters

Parameter

Value range

Default value

Description

ExpRatioType

[0, 1]

0

Only valid in multi-frame synthesis WDR mode.

OP_TYPE_AUTO: AE automatically calculates the exposure ratio of long and short frames according to the scene.

OP_TYPE_MANUAL: Manually set the long and short detection exposure ratio.

ExpRatio

[64, 16384]

64

Only valid in multi-frame synthesis WDR mode

When ExpRatioType is OP_TYPE_MANUAL, set manual long and short exposure, this value is invalid when ExpRatioType is OP_TYPE_AUTO

6 bit decimal precision, 0x40 means the exposure ratio is 1 times

ExpRatioMax

[64, 16384]

16384

Only valid in multi-frame synthesis WDR mode

When ExpRatioType is OP_TYPE_AUTO, it means the maximum exposure ratio of long and short detection, this value is invalid when ExpRatioType is OP_TYPE_MANUAL

6 bit decimal precision, 0x40 means the exposure ratio is 1 times

ExpRatioMin

[64, 16384]

256

Only valid in multi-frame synthesis WDR mode. When ExpRatioType is OP_TYPE_AUTO, it means the minimum exposure ratio of long and short detection, this value is invalid when ExpRatioType is OP_TYPE_MANUAL, 6 bit decimal precision, 0x40 means the exposure ratio is 1 times.

Tolerance

[0, 255]

6

Only in the multi-frame composite WDR mode, the tolerance deviation of the effective long and short frames to the screen brightness..

Speed

[0, 255]

1024

The adjustment speed of the automatic exposure ratio is only effective in the multi-frame composite WDR mode. The larger the value, the faster the speed.

RatioBias

[0, 65535]

1024

Only valid in multi-frame synthesis WDR mode. When ExpRatioType is OP_TYPE_AUTO, the larger the value, the greater the auto exposure ratio, and when the value is 1024, it means that the auto exposure ratio will not be adjusted.

SECompensation

[0, 255]

56

Target brightness for short frames.

LEAdjustTargetMin

[0, 255]

50

The lower limit of the brightness convergence of the AE long frame at each ambient brightness (LV), it is recommended that the settings of the adjacent LV lower limit should not be too different to avoid flickering caused by AE convergence.

LEAdjustTargetMax

[0, 255]

60

The upper limit of the brightness convergence of AE long frames at each ambient brightness (LV), it is recommended that the settings of the upper limit of adjacent LVs should not be too different to avoid flickering caused by AE convergence.

SEAdjustTargetMin

[0, 255]

20

The lower limit of brightness convergence of AE short frames at each ambient brightness (LV), it is recommended that the settings of adjacent LV lower limits should not be too different to avoid flickering caused by AE convergence.

SEAdjustTargetMax

[0, 255]

56

The upper limit of brightness convergence of AE short frames at each ambient brightness (LV), it is recommended that the settings of adjacent LV upper limits should not be too different to avoid flickering caused by AE convergence.

LELowBinThr

[0, 255]

0

When the window statistical value of AE long frame is below this value, the metering of AE long frame will exclude this window.

LEHighBinThr

[0, 255]

246

When the window statistical value of AE long frame is above this value, and the cumulative number of windows is less than 25% of the total number of windows, the metering of AE long frame will exclude this window.

SELowBinThr

[0, 255]

8

When the window statistical value of AE short frame is below this value, the metering of AE short frame will exclude this window.

SEHighBinThr

[0, 255]

246

When the window statistical value of the AE short frame is above this value, the metering of the AE short frame will exclude this window.

FrameAvgLumaMax

[0, 255]

255

The upper limit of the average brightness of the long frame, the exposure of the long frame will not exceed this upper limit

Table 5.47 AE Route key parameters

Parameter

Value range

Default value

Description

TotalNum

[0, 16]

0

The number of nodes in the AE exposure distribution route

IntTime

[0, 4294967295]

0

AE route distribution route, node exposure time, unit (us)

SysGain

[1024, 4294967295]

1 024

The distribution route of AE route, the exposure gain of the node, 10 bits decimal precision

enIrisFno

[0, 10]

0

The distribution route of AE route, the aperture value of the node

Table 5.48 AE RouteEx key parameters

Parameter

Value range

Default value

Description

TotalNum

[0, 16]

0

The number of nodes in the AE exposure distribution route

IntTime

[0, 4294967295]

0

AE routeEx distribution route, node exposure time, unit (us)

Again

[1024, 4294967295]

1024

Allocation route of AE routeEx, exposure simulation gain of nodes, 10 bits decimal precision

Dgain

[1024, 4294967295]

1024

Allocation route of AE routeEx, node exposure digital gain, 10 bits decimal precision

IspDgain

[1024, 4294967295]

1024

AE routeEx distribution route, node exposure ISP digital gain, 10 bits decimal precision

enIrisFno

[0, 10]

0

Aperture value of the node

Table 5.49 Statistics config key parameters

Parameter

Value range

Default value

Description

Weight

[0, 255]

1

AE 17x15 window metering weight value

Exposure Info page for current AE information.

Table 5.50 AE info key parameters

Parameter

Value range

Default value

Description

ExpTime

[0, 4294967295]

0

AE current exposure time, unit: us

ShortExpTime

[0, 4294967295]

0

In WDR mode, short frame exposure time, unit (us)

LongExpTime

[0, 4294967295]

0

In WDR mode, long frame exposure time, unit (us)

WDRExpRatio

[0, 4294967295]

0

In WDR mode, the exposure ratio of the long/short frame of the current frame, 6 bits decimal precision

AGain

[1024, 4294967295]

1024

AE analog gain of the current exposure, 10 bits decimal precision

DGain

[1024, 4294967295]

1024

AE digital gain of current exposure, 10 bits decimal precision

ISPDGain

[1024, 2147483647]

1024

AE current exposure ISP digital gain, 10 bits decimal precision

Exposure

[64, 4294967295]

64

The current exposure is equal to the product of exposure time and exposure gain, where the unit of exposure time is the number of exposure lines, and the exposure gain is 6bit decimal precision

ExposureIsMax

[0, 1]

0

0: ISP has not reached the maximum exposure level;

1: ISP reaches maximum exposure level.

HistError

[-32768, 32767]

0

The difference between AE current frame brightness and target brightness

AE_Hist256Value

[0, 4294967295]

0

Histogram distribution of AE 0~255

AveLum

[0, 255]

0

The brightness of the current frame of AE, in WDR mode, indicates the current frame brightness of the long frame.

Fps

[0, 4294967295]

0

After dividing by 100, it is the current frame rate of AE

LinesPer500ms

[0, 4294967295]

0

The current number of exposure lines corresponding to every 500ms can be used to convert the unit of exposure time from us to the number of lines

PirisFno

[0, 1024]

0

The equivalent gain corresponding to the current P-Iris aperture F value

ISO

[100, 2147483647]

100

AE current exposure ISO value

ISOCalibrate

[0, 4294967295]

100

Standard ISO, used for taking pictures DCF information display.

RefExpRatio

[64, 16384]

64

Reference exposure ratio, used to estimate the dynamic range of the current scene

FirstStableTime

[0, 4294967295]

0

The time for the first AE to converge and stabilize, in microseconds (us)

AERoute.TotalNum

[0, 16]

0

AE current number of route nodes

AERoute.RouteNode

[0, 4294967295]

0

The current route of AE

AERouteEx.TotalNum

[0, 16]

0

AE current routeEx node number

AERouteEx.RouteNode

[0, 4294967295]

0

AE current routeEx route

WDRShortAveLuma

[0, 255]

0

The brightness of the current frame of the WDR mode short frame

LEFrameAvgLuma

[0, 255]

0

The average brightness of the current frame in WDR mode long frame

SEFrameAvgLuma

[0, 255]

0

The average brightness of the current frame in WDR mode short frame

LightValue

[-32768, 32767]

0

AE evaluates the current ambient lightness (LV) value

AGainSF

[1024, 4294967295]

1024

AE short frame current exposure analog gain, 10 bits decimal precision

DGainSF

[1024, 4294967295]

1024

The digital gain of the current exposure of the AE short frame, 10 bits decimal precision

ISPDGainSF

[1024, 2147483647]

1024

AE short frame current exposure ISP digital gain, 10 bits decimal precision

ISOSF

[100, 2147483647]

100

AE short frame current exposure ISO value

AERouteSF.TotalNum

[0, 16]

0

The current number of route nodes in the AE short frame

AERouteSF.RouteNode

[0, 4294967295]

0

The current route of the AE short frame

AERouteSFEx.TotalNum

[0, 16]

0

The current number of route nodes in the AE short frame

AERouteSFEx.RouteNode

[0, 4294967295]

0

The current route of the AE short frame

Table 5.51 SmartExposure key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable smart AE

IRMode

[0, 1]

0

Whether it is infrared mode

SmartExpType

[0, 1]

0

Smart AE automatic/manual mode selection

LumaTarget

[0, 255]

46

Smart AE target brightness

ExpCoef

[0, 65535]

1024

Exposure Factor for Smart AE Manual Exposure Adjustment

ExpCoefMax

[0, 65535]

4096

Smart AE Exposure Factor Maximum

ExpCoefMin

[0, 65535]

256

Smart AE exposure factor minimum

SmartInterval

[1, 255]

1

Smart AE running interval

SmartSpeed

[1, 255]

32

Adjustment speed of smart AE

SmartDelayNum

[1, 255]

5

Smart AE delay recovery frame number

Weight

[0, 100]

80

Light metering ratio of smart AE

NarrowRatio

[0, 100]

75

Indented Area Ratio of Subject Brightness Calculated by Smart AE

Table 5.52 AE RouteSF key parameters

Parameter

Value range

Default value

Description

TotalNum

[0, 16]

0

The number of nodes in the AE short frame exposure distribution route

IntTime

[0, 4294967295]

0

AE short frame route distribution route, node exposure time, unit (us)

SysGain

[1024, 4294967295]

1024

AE short frame route distribution route, node exposure gain, 10 bits decimal precision

enIrisFno

[0, 10]

0

Allocation route of AE short frame route, aperture value of node

Table 5.53 AE RouteSFEx key parameters

Parameter

Value range

Default value

Description

TotalNum

[0, 16]

0

The number of nodes in the AE short frame exposure distribution route

IntTime

[0, 4294967295]

0

AE short frame routeEx distribution route, node exposure time, unit (us)

Again

[1024, 4294967295]

1024

AE short frame routeEx distribution route, node exposure analog gain, 10 bits decimal precision

Dgain

[1024, 4294967295]

1024

AE short frame routeEx distribution route, node exposure digital gain, 10 bits decimal precision

IspDgain

[1024, 4294967295]

1024

AE short frame routeEx distribution route, node exposure ISP digital gain, 10 bits decimal precision

enIrisFno

[0, 10]

0

Aperture value of short frame node

Table 5.54 Iris key parameters

Parameter

Value range

Default value

Description

Enable

[0, 1]

0

Enable auto iris

OpType

[0, 1]

0

Auto iris or manual iris mode selection

IrisType

[0, 1]

0

Aperture type, DC-Iris or P-Iris

IrisStatus

[0, 255]

46

Aperture status

HoldValue

[0, 65535]

1024

Deep Learning correction value for DC-Iris debugging

IrisFNO

[0, 65535]

4096

The size of the manual aperture is distinguished according to the aperture F value, only supports P-Iris, not DC-Iris.

Kp

[0, 65535]

256

Proportional gain, used to adjust the opening and closing speed of the aperture, the larger the value, the faster the aperture opens and closes

Ki

[1, 255]

1

Integral gain, used to adjust the opening and closing speed of the aperture, the larger the value, the faster the aperture opens and closes

Kd

[1, 255]

32

Differential gain, used to limit the opening and closing speed of the aperture when the light changes drastically, the larger the value is, the slower the aperture opens and closes when the light changes drastically

MinPwmDuty

[1, 255]

5

Minimum PWM duty cycle. The smaller the value, the faster the closing speed of the overexposure aperture

MaxPwmDuty

[0, 100]

80

Maximum PWM duty cycle. The larger the value is, the faster the aperture opens when the screen is completely dark

OpenPwmDuty

[0, 100]

75

PWM duty cycle when the aperture is open

5.27.1.3. Tuning Steps

Step 1. According to the application of the scene, the weight of metering can be set according to the area of interest in metering. Generally speaking, the central area of the screen will be the area of more attention, and the weight of metering in the center of the screen can be higher than that of the peripheral area.

Step 2. According to the application of the scene, set the required AE route, determine the distribution route of the shutter time and gain when metering, and the scene that needs to move the object quickly, the exposure time should not be set too long to avoid motion smear, if you care For noise performance, when the brightness is low, a longer exposure time can be used first and then the gain can be increased.

Step 3. According to different ambient brightness (LV), set the target brightness of AE and select high/low light priority. If you care about the details of the bright part, you should use high light priority to avoid overexposure of bright areas. In backlit scenes, you can choose low light priority , can improve the performance of dark parts to avoid too dark characters.

Step 4. If the screen flickers periodically, you can turn on the anti-flicker function and select an appropriate anti-flicker frequency to reduce the flicker phenomenon, but if the exposure time is too short (60HZ: shorter than 8333us, 50Hz: shorter than 10000us), even the anti-flicker The function is turned on, but the flickering cannot be avoided.

Step 5. According to the brightness of the environment, you can customize the upper and lower limits of the convergence brightness of long and short detection AE. In outdoor scenes during the day, the upper and lower limits can be set higher, and in night scenes, the upper and lower limits can be set lower. It is recommended that the upper and lower limit intervals between adjacent LVs should not differ too much, so as to avoid flickering caused by AE convergence. The range of the upper and lower limit intervals set will affect the result of AE automatically adjusting the convergence brightness (long detection and dark parts are brightened, Short detection and darkening the bright part), the smaller the set range, the smaller the range that AE can adjust.

—-End