TIOVX User Guide

The sigmas data structure used by the TIVX_KERNEL_VPAC_NF_BILATERAL kernel. More...

#include <hwa_vpac_nf.h>

Data Fields

uint16_t num_sigmas
 
vx_float64 sigma_space [8]
 
vx_float64 sigma_range [8]
 

Detailed Description

The sigmas data structure used by the TIVX_KERNEL_VPAC_NF_BILATERAL kernel.

Definition at line 162 of file hwa_vpac_nf.h.

Field Documentation

◆ num_sigmas

uint16_t tivx_vpac_nf_bilateral_sigmas_t::num_sigmas

The number of sigmas given in each of the sigma_space and sigma_range arrays. Valid supported values are 1, 2, 4, or 8. Since this corresponds to applying a lookup table in RAM, there are a few different use cases this is intended to enable:

  1. The common case is to use a value of 1, applying the same pair of sigmas to the full image.
  2. In the case where the VPAC NF will be used to alternate between luma and chroma planes of an image, there are two options: a. Load one sigma to apply to luma plane, and then overwrite it with a second table to apply to chroma plane
    • This has a latency penalty in between each plane to load 5*256 bytes b. Load a quantized version of both luma and chroma planes at once, and hardware can alternate between each plane using the sub_table_select identifier.
    • This saves latency, but looses one bit of precision for the two sub-tables.
  3. Adaptive mode case. In adaptive mode, the user can load a different sigma value corresponding to the average neigborhood intensity of the center pixel. For example, if 4 sigmas are used, then the full dynamic range of the input is divided into 4 equal-sized ranges. Sigma index '0' is applied to the lowest value range of the average neighborhood intensity, and so on.
    • The tradeoff is that the more tables that are used, the less the precision of lookup tables.

Definition at line 177 of file hwa_vpac_nf.h.

◆ sigma_space

vx_float64 tivx_vpac_nf_bilateral_sigmas_t::sigma_space[8]

Array of space sigmas used to generate a 5x5 gaussian filter around the center pixel

Definition at line 178 of file hwa_vpac_nf.h.

◆ sigma_range

vx_float64 tivx_vpac_nf_bilateral_sigmas_t::sigma_range[8]

Array of range sigmas used to weight the neigborhood pixels according to their absolute difference in value from the center pixel

Definition at line 179 of file hwa_vpac_nf.h.


The documentation for this struct was generated from the following file: