SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Parameter register fields can be programmed in any order, as long as before the computation is initiated, desired parameter values are in place.
Tuning video quality is mainly in the color weights (VTNF_WEIGHTS[5:0] W1 and W2), rounding bit count (VTNF_CFG[7:4] T), and the two lookup tables VTNF_LUT1_0 to VTNF_LUT2_28 (LUT1[0..31] and LUT2[0..31] bitfields) .
The weights are used to adjust the contribution of luma and chroma differences to the combined start address value, and the combined SAD value is rounded down by T bits for the lookup table index.
The lookup table contents are the alpha blending values to blend the previous frame output and current frame input. Lower value means lower contribution from the previous frame output, 0 means no contribution.
Roughly, low SAD value means the current input pixel does not differ much from previous output pixel of the same location, so the difference is due to noise, and user should blend harder, so the lower index lookup tables should contain larger alpha blending value.
Conversely, high SAD value means the current input pixel differs from previous output pixel of the same location, and this is an indication of moving video contents, so user should not blend at all, and alpha should be 0.
A typical table represents the curve in the Figure 9-200. max_alpha should be between 50% and 75%, to achieve effective noise reduction. index1 should reflect noise threshold, as absolute difference between current input frame pixel and previous output frame pixel beyond this is attributed to moving contents, as opposed to noise. The weights and number of bits to round down are tuned so that max_index falls within the lookup table index.
Between the (0, max_alpha) and (index1, 0) points, how alpha should transition is really up to experimentation and optimization. There should be a gradual down slope, as user want noise spikes with values close the noise threshold to be somewhat reduced, not totally eliminated or totally retained based on boolean decision.
The two lookup tables are used to blend luma and chroma respectively. Normally user want to blend chroma stronger than luma. Moderate level of luma noise makes the image appears sharper and more pleasing, where as chroma noise appears as color patches, so image would look better if user suppress chroma noise.