VPI - Vision Programming Interface

0.3.7 Release

Temporal Noise Reduction

Enumerations

enum  VPITNRPreset {
  VPI_TNR_PRESET_DEFAULT,
  VPI_TNR_PRESET_OUTDOOR_LOW_LIGHT,
  VPI_TNR_PRESET_OUTDOOR_MEDIUM_LIGHT,
  VPI_TNR_PRESET_OUTDOOR_HIGH_LIGHT,
  VPI_TNR_PRESET_INDOOR_LOW_LIGHT,
  VPI_TNR_PRESET_INDOOR_MEDIUM_LIGHT,
  VPI_TNR_PRESET_INDOOR_HIGH_LIGHT
}
 Defines scene presets for temporal noise reduction. More...
 
enum  VPITNRVersion {
  VPI_TNR_DEFAULT,
  VPI_TNR_V1,
  VPI_TNR_V2,
  VPI_TNR_V3
}
 Defines the version of the Temporal Noise Reduction algorithm to be used. More...
 

Functions

VPIStatus vpiCreateTemporalNoiseReduction (VPIStream stream, uint32_t width, uint32_t height, VPIImageType imgType, VPITNRVersion version, VPITNRPreset preset, float strength, VPIPayload *payload)
 Creates a payload for Temporal Noise Reduction algorithm. More...
 
VPIStatus vpiSubmitTemporalNoiseReduction (VPIPayload payload, VPIImage prevFrame, VPIImage curFrame, VPIImage outFrame)
 Submits a Temporal Noise Reduction operation to the stream associated with the given payload. More...
 

Detailed Description

Performens temporal noise reduction in a sequence of images.

Enumeration Type Documentation

◆ VPITNRPreset

#include <vpi/algo/TemporalNoiseReduction.h>

Defines scene presets for temporal noise reduction.

These presets are used by Temporal Noise Reduction to define its internal parameters suitable for noise reduction of scenes captured with given characteristics.

Enumerator
VPI_TNR_PRESET_DEFAULT 

Default preset, suitable for most scenes.

VPI_TNR_PRESET_OUTDOOR_LOW_LIGHT 

Low light outdoor scene.

VPI_TNR_PRESET_OUTDOOR_MEDIUM_LIGHT 

Medium light outdoor scene.

VPI_TNR_PRESET_OUTDOOR_HIGH_LIGHT 

Bright light outdoor scene.

VPI_TNR_PRESET_INDOOR_LOW_LIGHT 

Low light indoor scene.

VPI_TNR_PRESET_INDOOR_MEDIUM_LIGHT 

Medium light indoor scene.

VPI_TNR_PRESET_INDOOR_HIGH_LIGHT 

Bright light indoor scene.

Definition at line 81 of file TemporalNoiseReduction.h.

◆ VPITNRVersion

#include <vpi/algo/TemporalNoiseReduction.h>

Defines the version of the Temporal Noise Reduction algorithm to be used.

Higher version numbers usually achieve better quality. Some versions might not be available for a given device/backend.

Enumerator
VPI_TNR_DEFAULT 

Chooses the version with best quality available in the current device and given backend.

VPI_TNR_V1 

Version 1, without scene control and somewhat poor noise reduction capability specially in dark scenes, but runs fast.

VPI_TNR_V2 

Version 2, offers noise reduction strength control with decent processing speed.

VPI_TNR_V3 

Version 3, offers quite good quality overall, specially in dark scenes.

Definition at line 96 of file TemporalNoiseReduction.h.

Function Documentation

◆ vpiCreateTemporalNoiseReduction()

VPIStatus vpiCreateTemporalNoiseReduction ( VPIStream  stream,
uint32_t  width,
uint32_t  height,
VPIImageType  imgType,
VPITNRVersion  version,
VPITNRPreset  preset,
float  strength,
VPIPayload payload 
)

#include <vpi/algo/TemporalNoiseReduction.h>

Creates a payload for Temporal Noise Reduction algorithm.

This function allocates all resources needed by the algorithm and ties the returned payload to the given stream.

Parameters
stream[in] VPI stream the algorithm will be submitted to.
width,height[in] Dimensions of frames to be processed.
imgType[in] Type of the images to be processed.
version[in] Version of the algorithm to be used.
preset[in] Scene preset to be used.
strength[in] Noise reduction strength. It's a floating point value between 0 and 1, inclusive.
payload[out] Pointer to a payload handle with the created payload.
Returns
VPI_SUCCESS if payload was created successfully, or some other VPIStatus value in case of error.

◆ vpiSubmitTemporalNoiseReduction()

VPIStatus vpiSubmitTemporalNoiseReduction ( VPIPayload  payload,
VPIImage  prevFrame,
VPIImage  curFrame,
VPIImage  outFrame 
)

#include <vpi/algo/TemporalNoiseReduction.h>

Submits a Temporal Noise Reduction operation to the stream associated with the given payload.

Parameters
payload[in] Payload created by vpiCreateTemporalNoiseReduction.
prevFrame[in] When processing the first frame of a video sequence, this must be NULL. For subsequent frames, user must pass the result of the previous submission.
curFrame[in] Current frame to be processed.
outFrame[in] Output frame, where de-noised image will be written to.
Returns
VPI_SUCCESS if algorithm was submitted successfully, or some other VPIStatus value in case of error. Some errors will only be reported asynchronously by synchronization functions or subsequent algorithm submissions.