VPI - Vision Programming Interface

0.4.4 Release

Temporal Noise Reduction

Performs temporal noise reduction in a sequence of images. More...

Enumerations

enum  VPITNRPreset
 Defines scene presets for temporal noise reduction. More...
 
enum  VPITNRVersion
 Defines the version of the Temporal Noise Reduction algorithm to be used. More...
 

Functions

VPIStatus vpiCreateTemporalNoiseReduction (VPIBackend backend, uint32_t width, uint32_t height, VPIImageFormat imgFormat, VPITNRVersion version, VPITNRPreset preset, float strength, VPIPayload *payload)
 Creates a payload for Temporal Noise Reduction algorithm. More...
 
VPIStatus vpiSubmitTemporalNoiseReduction (VPIStream stream, 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

Performs 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 82 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 97 of file TemporalNoiseReduction.h.

Function Documentation

◆ vpiCreateTemporalNoiseReduction()

VPIStatus vpiCreateTemporalNoiseReduction ( VPIBackend  backend,
uint32_t  width,
uint32_t  height,
VPIImageFormat  imgFormat,
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 backend.

Parameters
[in]backendVPI backend where the algorithm will be executed.
[in]width,heightDimensions of frames to be processed.
[in]imgFormatFormat of the images to be processed.
[in]versionVersion of the algorithm to be used.
[in]presetScene preset to be used.
[in]strengthNoise reduction strength. It's a floating point value between 0 and 1, inclusive.
[out]payloadPointer to memory where the created payload handle will be written to.
Returns
VPI_SUCCESS if payload was created successfully, or some other VPIStatus value in case of error.

◆ vpiSubmitTemporalNoiseReduction()

VPIStatus vpiSubmitTemporalNoiseReduction ( VPIStream  stream,
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
[in]streamThe stream where the operation will be queued in.
[in]payloadPayload to be submitted along the other parameters.
[in]prevFrameWhen processing the first frame of a video sequence, this must be NULL. For subsequent frames, user must pass the result of the previous run of the algorithm.
[in]curFrameCurrent frame to be processed.
[in]outFrameOutput 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.