16. TNR

16.1. Function Overview

The time domain denoising algorithm in YUV domain is also called 3DNR.

16.2. API Reference

16.2.1. CVI_ISP_SetTNRAttr

【Description】

Set TNR property parameter.

【Syntax】

CVI_S32 CVI_ISP_SetTNRAttr(VI_PIPE ViPipe, const ISP_TNR_ATTR_S *pstTNRAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRAttr

TNR property parameter

Input

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

VI_PIPE ViPipe = 0;
ISP_TNR_ATTR_S stAttr;
CVI_ISP_GetTNRAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetTNRAttr(ViPipe, &stAttr);

【Related Topic】

16.2.2. CVI_ISP_GetTNRAttr

【Description】

Get TNR property parameter.

【Syntax】

CVI_S32 CVI_ISP_GetTNRAttr(VI_PIPE ViPipe, ISP_TNR_ATTR_S *pstTNRAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRAttr

TNR property parameter

Output

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.3. CVI_ISP_SetTNRNoiseModelAttr

【Description】

Set TNR Noise Model property parameter.

【Syntax】

CVI_S32 CVI_ISP_SetTNRNoiseModelAttr(VI_PIPE ViPipe, const ISP_TNR_NOISE_MODEL_ATTR_S *pstTNRNoiseModelAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRNoiseModelAttr

TNR Noise Model property parameter

Input

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.4. CVI_ISP_GetTNRNoiseModelAttr

【Description】

Get TNR Noise Model property parameter.

【Syntax】

CVI_S32 CVI_ISP_GetTNRNoiseModelAttr(VI_PIPE ViPipe, ISP_TNR_NOISE_MODEL_ATTR_S *pstTNRNoiseModelAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRNoiseModelAttr

TNR Noise Model property parameter

Output

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.5. CVI_ISP_SetTNRLumaMotionAttr

【Description】

Set TNR brightness to intensity gain characteristic table.

【Syntax】

CVI_S32 CVI_ISP_SetTNRLumaMotionAttr(VI_PIPE ViPipe, const ISP_TNR_LUMA_MOTION_ATTR_S *pstTNRLumaMotionAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRLumaMotionAttr

TNR brightness to intensity gain characteristic table

Input

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.6. CVI_ISP_GetTNRLumaMotionAttr

【Description】

Get TNR brightness to intensity gain characteristic table.

【Syntax】

CVI_S32 CVI_ISP_SetTNRLumaMotionAttr(VI_PIPE ViPipe, const ISP_TNR_LUMA_MOTION_ATTR_S *pstTNRLumaMotionAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRLumaMotionAttr

TNR brightness to intensity gain characteristic table

Output

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.7. CVI_ISP_SetTNRGhostAttr

【Description】

Set TNR momentum to tail elimination degree characteristic table.

【Syntax】

CVI_S32 CVI_ISP_SetTNRGhostAttr(VI_PIPE ViPipe, const ISP_TNR_GHOST_ATTR_S *pstTNRGhostAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRGhostAttr

TNR momentum to tail elimination degree characteristic table

Input

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.8. CVI_ISP_GetTNRGhostAttr

【Description】

Get TNR momentum to tail elimination degree characteristic table.

【Syntax】

CVI_S32 CVI_ISP_GetTNRGhostAttr(VI_PIPE ViPipe, ISP_TNR_GHOST_ATTR_S *pstTNRGhostAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRGhostAttr

TNR momentum to tail elimination degree characteristic table

Output

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.9. CVI_ISP_SetTNRMtPrtAttr

【Description】

Set TNR momentum protection attribute parameter.

【Syntax】

CVI_S32 CVI_ISP_SetTNRMtPrtAttr(VI_PIPE ViPipe, const ISP_TNR_MT_PRT_ATTR_S *pstTNRMtPrtAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRMtPrtAttr

TNR momentum protection attribute parameter

Input

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.10. CVI_ISP_GetTNRMtPrtAttr

【Description】

Get TNR momentum protection attribute parameter.

【Syntax】

CVI_S32 CVI_ISP_GetTNRMtPrtAttr(VI_PIPE ViPipe, ISP_TNR_MT_PRT_ATTR_S *pstTNRMtPrtAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRMtPrtAttr

TNR momentum protection attribute parameter

Output

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.11. CVI_ISP_SetTNRMotionAdaptAttr

【Description】

  • Set TNR momentum to strength gain characteristic table

【Syntax】

CVI_S32 CVI_ISP_SetTNRMotionAdaptAttr(VI_PIPE ViPipe, const ISP_TNR_MOTION_ADAPT_ATTR_S *pstTNRMotionAdaptAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRMotionAdaptAttr

TNR momentum to strength gain characteristic table

Output

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.2.12. CVI_ISP_GetTNRMotionAdaptAttr

【Description】

  • Get TNR momentum to strength gain characteristic table

【Syntax】

CVI_S32 CVI_ISP_GetTNRMotionAdaptAttr(VI_PIPE ViPipe, ISP_TNR_MOTION_ADAPT_ATTR_S *pstTNRMotionAdaptAttr);

【Parameter】

Parameter

Description

Input/Output

ViPipe

VI_PIPE number

Input

pstTNRMotionAdaptAttr

TNR momentum to strength gain characteristic table

Output

【Return Value】

Return Value

Description

0

Success

Non 0

Failure. An error code is returned. For details, see chapter Error Codes.

【Requirement】

  • Header files: cvi_isp.h, cvi_comm_isp.h

  • Library files: libisp.so

【Note】

None.

【Example】

None.

【Related Topic】

16.3. Data Types

16.3.1. ISP_TNR_MANUAL_ATTR_S

【Description】

TNR attribute manual parameter.

【Syntax】

typedef struct _ISP_TNR_MANUAL_ATTR_S {
  CVI_U8 TnrStrength0;
  CVI_U8 MapThdLow0;
  CVI_U8 MapThdHigh0;
  CVI_U8 MtDetectUnit;
  CVI_S16 BrightnessNoiseLevelLE;
  CVI_S16 BrightnessNoiseLevelSE;
  CVI_BOOL MtFiltMode;
  CVI_U16 MtFiltWgt;
} ISP_TNR_MANUAL_ATTR_S;

【Member】

Member

Description

TnrStrength0

Long Exposure TNR Intensity Gain

Value range: [0x0, 0xff]

Data type: CVI_U8

MapThdLow0

Long Exposure TNR Intensity Upper Limit

Value range: [0x0, 0xff]

Data type: CVI_U8

MapThdHigh0

Long exposure TNR intensity lower limit

Value range: [0x0, 0xff]

Data type: CVI_U8

MtDetectUnit

The anti-noise ability of motion detection, the larger the value, the stronger the anti-noise ability, but the lower the fineness of detection.

Value range: [0x3, 0x6]

Data type: CVI_U8

BrightnessNoiseLevelLE

Long Exposure Luminance Noise Tolerance Value

Value range: [0x1, 0x3ff]

Data type: CVI_S16

BrightnessNoiseLevelSE

Short exposure luminance noise tolerance value

Value range: [0x1, 0x3ff]

Data type: CVI_S16

MtFiltMode

Motion Detection Filter Mode

Value range: [0x00, 0x01]

Data type: CVI_BOOL

MtFiltWgt

Motion Detection Filter Weights

Value range: [0x1, 0x100]

Data type: CVI_U16

【Note】

None.

【Related Data Type and Interface】

16.3.2. ISP_TNR_AUTO_ATTR_S

【Description】

TNR attribute auto parameter.

【Syntax】

typedef struct _ISP_TNR_AUTO_ATTR_S {
  CVI_U8 TnrStrength0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 MapThdLow0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 MapThdHigh0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 MtDetectUnit[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_S16 BrightnessNoiseLevelLE[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_S16 BrightnessNoiseLevelSE[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_BOOL MtFiltMode[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U16 MtFiltWgt[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_TNR_AUTO_ATTR_S;

【Member】

Member

Description

TnrStrength0

Long Exposure TNR Intensity Gain

Value range: [0x0, 0xff]

Data type: CVI_U8

MapThdLow0

Long Exposure TNR Intensity Upper Limit

Value range: [0x0, 0xff]

Data type: CVI_U8

MapThdHigh0

Long exposure TNR intensity lower limit

Value range: [0x0, 0xff]

Data type: CVI_U8

MtDetectUnit

The anti-noise ability of motion detection, the larger the value, the stronger the anti-noise ability, but the lower the fineness of detection.

Value range: [0x3, 0x6]

Data type: CVI_U8

BrightnessNoiseLevelLE

Long Exposure Luminance Noise Tolerance Value

Value range: [0x1, 0x3ff]

Data type: CVI_S16

BrightnessNoiseLevelSE

Short exposure luminance noise tolerance value

Value range: [0x1, 0x3ff]

Data type: CVI_S16

MtFiltMode

Motion Detection Filter Mode

Value range: [0x00, 0x01]

Data type: CVI_BOOL

MtFiltWgt

Motion Detection Filter Weights

Value range: [0x1, 0x100]

Data type: CVI_U16

【Note】

None.

【Related Data Type and Interface】

16.3.3. ISP_TNR_ATTR_S

【Description】

TNR attribute parameter.

【Syntax】

typedef struct _ISP_TNR_ATTR_S {
  CVI_BOOL Enable;
  ISP_

     OP_TYPE_E enOpType;
  CVI_U8 UpdateInterval;
  CVI_BOOL TuningMode;
  CVI_BOOL TnrMtMode;
  CVI_BOOL YnrCnrSharpenMtMode;
  CVI_BOOL PreSharpenMtMode;
  CVI_U8 ChromaScalingDownMode;
  CVI_BOOL CompGainEnable;
  ISP_TNR_MANUAL_ATTR_S stManual;
  ISP_TNR_AUTO_ATTR_S stAuto;
} ISP_TNR_ATTR_S;

【Member】

Member

Description

Enable

The TNR module is enabled.

0: off.

1: Enabled.

Value range: [0, 1]

Data type: CVI_BOOL

enOpType

job type

OP_TYPE_AUTO: automatic mode

OP_TYPE_MANUAL: manual mode

UpdateInterval

Affects the parameter update interval, the larger the value, the slower the screen changes and the better the performance.

Value range: [0x0, 0xff]

Data type: CVI_U8

TuningMode

Debug mode, output visual auxiliary information to help users debug

0: Do not output visual aids

1: Output the visual result of motion detection. The brighter the motion, the more obvious the motion, and the darker it is, the opposite.

Value range: [0, 1]

Data type: CVI_BOOL

TnrMtMode

TNR Motion mode:

0: Motion IIR (represents that the detected motion has been processed by IIR)

1: Motion history (meaning that the detected motion has not been processed by IIR)

Value range: [0x0, 0x1]

Data type: CVI_BOOL

YnrCnrSharpenMtMode

YNR/CNR Motion mode:

0: Motion IIR (represents that the detected motion has been processed by IIR)

1: Motion history (meaning that the detected motion has not been processed by IIR)

Value range: [0x0, 0x1]

Data type: CVI_BOOL

PreSharpenMtMode

Presharpen Motion mode:

0: Motion IIR (represents that the detected motion has been processed by IIR)

1: Motion history (meaning that the detected motion has not been processed by IIR)

Value range: [0x0, 0x1]

Data type: CVI_BOOL

ChromaScalingDownMode

Chroma downscaling mode

CompGainEnable

Brightness compensation function enable

Value range: [0, 1]

Data type: CVI_BOOL

stManual

Manual Mode Parameter Properties

stAuto

Auto Mode Parameter Properties

【Note】

None.

【Related Data Type and Interface】

16.3.4. ISP_TNR_NOISE_MODEL_MANUAL_ATTR_S

【Description】

TNR Noise Model attribute auto parameter.

【Syntax】

typedef struct _ISP_TNR_NOISE_MODEL_MANUAL_ATTR_S {
  CVI_U8 RNoiseLevel0;
  CVI_U8 GNoiseLevel0;
  CVI_U8 BNoiseLevel0;
  CVI_U8 RNoiseLevel1;
  CVI_U8 GNoiseLevel1;
  CVI_U8 BNoiseLevel1;
  CVI_U8 RNoiseHiLevel0;
  CVI_U8 GNoiseHiLevel0;
  CVI_U8 BNoiseHiLevel0;
  CVI_U8 RNoiseHiLevel1;
  CVI_U8 GNoiseHiLevel1;
  CVI_U8 BNoiseHiLevel1;
} ISP_TNR_NOISE_MODEL_MANUAL_ATTR_S;

【Member】

Member

Description

RNoiseLevel0

Noise tolerance of long exposure red channel;

Value range: [0x0, 0xff]

Data type: CVI_U8

RNoiseHiLevel0

Long exposure red channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

GNoiseLevel0

Noise tolerance of long exposure green channel;

Value range: [0x0, 0xff]

Data type: CVI_U8

GNoiseHiLevel0

Long exposure green channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

BNoiseLevel0

Noise tolerance of long exposure blue channel;

Value range: [0x0, 0xff]

Data type: CVI_U8

BNoiseHiLevel0

Long exposure blue channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

RNoiseLevel1

Short exposure red channel noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

RNoiseHiLevel1

Short exposure red channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

GNoiseLevel1

Short exposure green channel noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

GNoiseHiLevel1

Short exposure green channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

BNoiseLevel1

Short exposure blue channel noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

BNoiseHiLevel1

Short exposure blue channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

【Note】

None.

【Related Data Type and Interface】

16.3.5. ISP_TNR_NOISE_MODEL_AUTO_ATTR_S

【Description】

TNR Noise Model attribute auto parameter.

【Syntax】

typedef struct _ISP_TNR_NOISE_MODEL_AUTO_ATTR_S {
  CVI_U8 RNoiseLevel0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 GNoiseLevel0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 BNoiseLevel0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 RNoiseLevel1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 GNoiseLevel1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 BNoiseLevel1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 RNoiseHiLevel0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 GNoiseHiLevel0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 BNoiseHiLevel0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 RNoiseHiLevel1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 GNoiseHiLevel1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 BNoiseHiLevel1[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_TNR_NOISE_MODEL_AUTO_ATTR_S;

【Member】

Member

Description

RNoiseLevel0

Noise tolerance of long exposure red channel;

Value range: [0x0, 0xff]

Data type: CVI_U8

RNoiseHiLevel0

Long exposure red channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

GNoiseLevel0

Noise tolerance of long exposure green channel;

Value range: [0x0, 0xff]

Data type: CVI_U8

GNoiseHiLevel0

Long exposure green channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

BNoiseLevel0

Noise tolerance of long exposure blue channel;

Value range: [0x0, 0xff]

Data type: CVI_U8

BNoiseHiLevel0

Long exposure blue channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

RNoiseLevel1

Short exposure red channel noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

RNoiseHiLevel1

Short exposure red channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

GNoiseLevel1

Short exposure green channel noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

GNoiseHiLevel1

Short exposure green channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

BNoiseLevel1

Short exposure blue channel noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

BNoiseHiLevel1

Short exposure blue channel brightness noise tolerance;

Value range: [0x0, 0xff]

Data type: CVI_U8

【Note】

None.

【Related Data Type and Interface】

16.3.6. ISP_TNR_NOISE_MODEL_ATTR_S

【Description】

TNR Noise Model attribute parameter.

【Syntax】

typedef struct _ISP_TNR_NOISE_MODEL_ATTR_S {
  ISP_TNR_NOISE_MODEL_MANUAL_ATTR_S stManual;
  ISP_TNR_NOISE_MODEL_AUTO_ATTR_S stAuto;
} ISP_TNR_NOISE_MODEL_ATTR_S;

【Member】

Member

Description

stManual

Manual mode parameter properties

stAuto

Automatic mode parameter properties

【Note】

None.

【Related Data Type and Interface】

16.3.7. ISP_TNR_LUMA_MOTION_MANUAL_ATTR_S

【Description】

Characteristic table of brightness to intensity gain of TNR in manual mode.

【Syntax】

typedef struct _ISP_TNR_LUMA_MOTION_MANUAL_ATTR_S {
  CVI_U16 L2mIn0[4];
  CVI_U8 L2mOut0[4];
  CVI_U16 L2mIn1[4];
  CVI_U8 L2mOut1[4];
  CVI_BOOL MtLumaMode;
} ISP_TNR_LUMA_MOTION_MANUAL_ATTR_S;

【Member】

Member

Description

L2mIn0[4]

Long exposure TNR brightness to intensity gain characteristic table; it consists of an array of four sets of values; define the gray level; the larger the value, the higher the gray level.

Value range: [0x0, 0xfff]

Data type: CVI_U16

L2mOut0[4]

Long exposure TNR brightness to intensity gain characteristic table; it consists of an array of four sets of values; define the intensity gain; the greater the value, the stronger the intensity.

Value range: [0x0, 0x3f]

Data type: CVI_U8

L2mIn1[4]

Short exposure TNR brightness to intensity gain characteristic table; it consists of an array of four sets of values; define the gray level; the larger the value, the higher the gray level.

Value range: [0x0, 0xfff]

Data type: CVI_U16

L2mOut1[4]

Short exposure TNR brightness to intensity gain characteristic table; it consists of an array of four sets of values; define the intensity gain; the greater the value, the stronger the intensity.

Value range: [0x0, 0x3f]

Data type: CVI_U8

MtLumaMode

Luma gain reference object

0: luma

1: max(R,G,B)

Value range: [0x0, 0x1]

Data type: CVI_BOOL

【Note】

None.

【Related Data Type and Interface】

16.3.8. ISP_TNR_LUMA_MOTION_AUTO_ATTR_S

【Description】

Characteristic table of brightness to intensity gain of TNR in auto mode.

【Syntax】

typedef struct _ISP_TNR_LUMA_MOTION_AUTO_ATTR_S {
  CVI_U16 L2mIn0[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 L2mOut0[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U16 L2mIn1[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 L2mOut1[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_BOOL MtLumaMode[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_TNR_LUMA_MOTION_AUTO_ATTR_S;

【Member】

Member

Description

L2mIn0[4]

Long exposure TNR brightness to intensity gain characteristic table; it consists of an array of four sets of values; define the gray level; the larger the value, the higher the gray level.

Value range: [0x0, 0xfff]

Data type: CVI_U16

L2mOut0[4]

Long exposure TNR brightness to intensity gain characteristic table; it consists of an array of four sets of values; define the intensity gain; the greater the value, the stronger the intensity.

Value range: [0x0, 0x3f]

Data type: CVI_U8

L2mIn1[4]

Short exposure TNR brightness to intensity gain characteristic table; it consists of an array of four sets of values; define the gray level; the larger the value, the higher the gray level.

Value range: [0x0, 0xfff]

Data type: CVI_U16

L2mOut1[4]

Short exposure TNR brightness to intensity gain characteristic table; it consists of an array of four sets of values; define the intensity gain; the greater the value, the stronger the intensity.

Value range: [0x0, 0x3f]

Data type: CVI_U8

MtLumaMode

Luma gain reference object

0: luma

1: max(R,G,B)

Value range: [0x0, 0x1]

Data type: CVI_BOOL

【Note】

None.

【Related Data Type and Interface】

16.3.9. ISP_TNR_LUMA_MOTION_ATTR_S

【Description】

TNR brightness to intensity gain characteristic table.

【Syntax】

typedef struct _ISP_TNR_LUMA_MOTION_ATTR_S {
  ISP_TNR_LUMA_MOTION_MANUAL_ATTR_S stManual;
  ISP_TNR_LUMA_MOTION_AUTO_ATTR_S stAuto;
} ISP_TNR_LUMA_MOTION_ATTR_S;

【Member】

Member

Description

stManual

Manual mode parameter properties

stAuto

Automatic mode parameter properties

【Note】

None.

【Related Data Type and Interface】

16.3.10. ISP_TNR_GHOST_MANUAL_ATTR_S

【Description】

Characteristic table of momentum to tailing elimination degree in manual mode.

【Syntax】

typedef struct _ISP_TNR_GHOST_MANUAL_ATTR_S {
  CVI_U8 PrvMotion0[4];
  CVI_U8 PrtctWgt0[4];
  CVI_U8 MotionHistoryStr;
} ISP_TNR_GHOST_MANUAL_ATTR_S;

【Member】

Member

Description

PrvMotion0[4]

Long-exposure TNR brightness versus intensity gain characteristics table. An array of four sets of values. Define the gray level, the larger the value, the higher the gray level.

Value range: [0x0, 0xff]

Data type: CVI_U8

PrtctWgt0[4]

Long-exposure TNR brightness versus intensity gain characteristics table. An array of four sets of values. Defines the intensity gain, the larger the value, the stronger the intensity.

Value range: [0x0, 0xf]

Data type: CVI_U8

MotionHistoryStr

Defines the degree of retention of the movement track exported to the YNR reference. The higher the value, the longer the trajectory will be retained, otherwise the shorter the trajectory will be retained

Value range: [0x0, 0xf]

Data type: CVI_U8

【Note】

None.

【Related Data Type and Interface】

16.3.11. ISP_TNR_GHOST_AUTO_ATTR_S

【Description】

Characteristic table of momentum to tailing elimination degree in auto mode.

【Syntax】

typedef struct _ISP_TNR_GHOST_AUTO_ATTR_S {
  CVI_U8 PrvMotion0[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 PrtctWgt0[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 MotionHistoryStr[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_TNR_GHOST_AUTO_ATTR_S;

【Member】

Member

Description

PrvMotion0[4]

Long-exposure TNR brightness versus intensity gain characteristics table. An array of four sets of values. Define the gray level, the larger the value, the higher the gray level.

Value range: [0x0, 0xff]

Data type: CVI_U8

PrtctWgt0[4]

Long-exposure TNR brightness versus intensity gain characteristics table. An array of four sets of values. Defines the intensity gain, the larger the value, the stronger the intensity.

Value range: [0x0, 0xf]

Data type: CVI_U8

MotionHistoryStr

Defines the degree of retention of the movement track exported to the YNR reference. The higher the value, the longer the trajectory will be retained, otherwise the shorter the trajectory will be retained

Value range: [0x0, 0xf] Data type: CVI_U8

【Note】

None.

【Related Data Type and Interface】

16.3.12. ISP_TNR_GHOST_ATTR_S

【Description】

Characteristic table of momentum to tailing elimination degree.

【Syntax】

typedef struct _ISP_TNR_GHOST_ATTR_S {
  ISP_TNR_GHOST_MANUAL_ATTR_S stManual;
  ISP_TNR_GHOST_AUTO_ATTR_S stAuto;
} ISP_TNR_GHOST_ATTR_S;

【Member】

Member

Description

stManual

Manual mode parameter properties

stAuto

Automatic mode parameter properties

【Note】

None.

【Related Data Type and Interface】

16.3.13. ISP_TNR_MT_PRT_MANUAL_ATTR_S

【Description】

Manual mode TNR momentum protection attribute parameter.

【Syntax】

typedef struct _ISP_TNR_MT_PRT_MANUAL_ATTR_S {
  CVI_U8 LowMtPrtLevelY;
  CVI_U8 LowMtPrtLevelU;
  CVI_U8 LowMtPrtLevelV;
  CVI_U8 LowMtPrtInY[4];
  CVI_U8 LowMtPrtInU[4];
  CVI_U8 LowMtPrtInV[4];
  CVI_U8 LowMtPrtOutY[4];
  CVI_U8 LowMtPrtOutU[4];
  CVI_U8 LowMtPrtOutV[4];
  CVI_U8 LowMtPrtAdvIn[4];
  CVI_U8 LowMtPrtAdvOut[4];
} ISP_TNR_MT_PRT_MANUAL_ATTR_S;

【Member】

Member

Description

LowMtPrtLevelY

Y channel protection upper limit. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtLevelU

U channel protection upper limit. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtLevelV

V channel protection upper limit. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtInY[4]

Define the horizontal axis of the LUT, that is, the difference between the front and rear frames in units of Y channel pixels.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtInU[4]

Define the horizontal axis of the LUT, that is, the difference between the front and rear frames in units of U channel pixels.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtInV[4]

Define the horizontal axis of the LUT, that is, the difference between the front and rear frames in units of V channel pixels.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtOutY[4]

Define the vertical axis of the LUT, that is, the protection degree of the front and rear frame difference of the Y channel.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtOutU[4]

Define the vertical axis of the LUT, that is, the degree of protection of the frame difference before and after the U channel.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtOutV[4]

Define the vertical axis of the LUT, that is, the protection degree of the frame difference before and after the V channel.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtAdvIn[4]

Define the horizontal axis of the LUT, that is, the difference between the front and rear frames in units of blocks

Value range: [0x0, 0xff] Data type: CVI_U8

LowMtPrtAdvOut[4]

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

Value range: [0x0, 0xff]

Data type: CVI_U8

【Note】

None.

【Related Data Type and Interface】

16.3.14. ISP_TNR_MT_PRT_AUTO_ATTR_S

【Description】

Auto mode TNR momentum protection attribute parameter.

【Syntax】

typedef struct _ISP_TNR_MT_PRT_AUTO_ATTR_S {
  CVI_U8 LowMtPrtLevelY[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtLevelU[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtLevelV[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtInY[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtInU[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtInV[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtOutY[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtOutU[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtOutV[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtAdvIn[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 LowMtPrtAdvOut[4][ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_TNR_MT_PRT_AUTO_ATTR_S;

【Member】

Member

Description

LowMtPrtLevelY

Y channel protection upper limit. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtLevelU

U channel protection upper limit. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtLevelV

V channel protection upper limit. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtInY[4]

Define the horizontal axis of the LUT, that is, the difference between the front and rear frames in units of Y channel pixels.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtInU[4]

Define the horizontal axis of the LUT, that is, the difference between the front and rear frames in units of U channel pixels.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtInV[4]

Define the horizontal axis of the LUT, that is, the difference between the front and rear frames in units of V channel pixels.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtOutY[4]

Define the vertical axis of the LUT, that is, the protection degree of the front and rear frame difference of the Y channel.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtOutU[4]

Define the vertical axis of the LUT, that is, the degree of protection of the frame difference before and after the U channel.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtOutV[4]

Define the vertical axis of the LUT, that is, the protection degree of the frame difference before and after the V channel.

Value range: [0x0, 0xff]

Data type: CVI_U8

LowMtPrtAdvIn[4]

Define the horizontal axis of the LUT, that is, the difference between the front and rear frames in units of blocks

Value range: [0x0, 0xff] Data type: CVI_U8

LowMtPrtAdvOut[4]

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

Value range: [0x0, 0xff]

Data type: CVI_U8

【Note】

None.

【Related Data Type and Interface】

16.3.15. ISP_TNR_MT_PRT_ATTR_S

【Description】

TNR momentum protection attribute parameter.

【Syntax】

typedef struct _ISP_TNR_MT_PRT_ATTR_S {
  CVI_BOOL LowMtPrtEn; /*RW; Range:[0, 1]*/
  CVI_BOOL LowMtLowPassEnable; /*RW; Range:[0, 1]*/
  CVI_BOOL LowMtPrtAdvLumaEnable; /*RW; Range:[0, 1]*/
  CVI_BOOL LowMtPrtAdvMode; /*RW; Range:[0, 1]*/
  CVI_U8 LowMtPrtAdvMax; /*RW; Range:[0, 0xff]*/
  CVI_BOOL LowMtPrtAdvDebugMode; /*RW; Range:[0, 1]*/
  CVI_U8 LowMtPrtAdvDebugIn[4]; /*RW; Range:[0x0, 0xff]*/
  CVI_U8 LowMtPrtAdvDebugOut[4]; /*RW; Range:[0x0, 0xff]*/
  ISP_TNR_MT_PRT_MANUAL_ATTR_S stManual;
  ISP_TNR_MT_PRT_AUTO_ATTR_S stAuto;
} ISP_TNR_MT_PRT_ATTR_S;

【Member】

Member

Description

LowMtPrtEn

Airspace noise reduction micro motion protection is enabled. This function can define the degree of protection according to the difference between the front and rear frames in units of pixels. The higher the degree of protection, the more inclined to output the original pixel value. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0, 1]

Data type: CVI_BOOL

LowMtLowPassEnable

Weak motion detection is low-pass filtered using

Value range: [0, 1]

Data type: CVI_BOOL

LowMtPrtAdvLumaEnable

The airspace noise reduction micro motion protection function is enabled. This function can define the degree of protection according to the difference between the front and rear frames in units of blocks. The higher the degree of protection, the more inclined the output of the original pixel value. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction

Value range: [0, 1]

Data type: CVI_BOOL

LowMtPrtAdvMode

Airspace Noise Reduction Micro Motion Mode

Value range: [0, 1]

Data type: CVI_BOOL

LowMtPrtAdvMax

Protection Gain Cap

Value range: [0, 0xff]

Data type: CVI_U8

LowMtPrtAdvDebugMode

Micro motion debug mode, output visual auxiliary information to help users debug

0: Output motion detection visualization results.

1: Output motion detection visualization results according to LowMtPrtDebug LUT

Value range: [0, 1]

Data type: CVI_BOOL

LowMtPrtAdvDebugIn[4]

Debug mode, micro motion input range setting

Value range: [0, 0xff]

Data type: CVI_U8

LowMtPrtAdvDebugOut[4]

Debug mode, micro motion output value setting

Value range: [0, 0xff]

Data type: CVI_U8

stManual

Manual Mode Parameter Properties

stAuto

Auto Mode Parameter Properties

【Note】

None.

【Related Data Type and Interface】

16.3.16. ISP_TNR_MOTION_ADAPT_MANUAL_ATTR_S

【Description】

  • Parameter Description of momentum vs.

    strength gain in manual mode

【Syntax】

typedef struct _ISP_TNR_MOTION_ADAPT_MANUAL_ATTR_S {
  CVI_U8 AdaptNrLumaStrIn[4];
  CVI_U8 AdaptNrLumaStrOut[4];
  CVI_U8 AdaptNrChromaStrIn[4];
  CVI_U8 AdaptNrChromaStrOut[4];
} ISP_TNR_MOTION_ADAPT_MANUAL_ATTR_S;

【Member】

Member

Description

AdaptNrLumaStrIn

TNR Momentum vs Strength Gain Characteristics Table. An array of four sets of values. Define the gray level, the larger the value, the higher the gray level.

Value range: [0x0, 0xff]

Data type: CVI_U8

AdaptNrLumaStrOut

TNR Momentum vs Strength Gain Characteristics Table. An array of four sets of values. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

AdaptNrChromaStrIn

TNR Momentum vs Strength Gain Characteristics Table. An array of four sets of values. Define the chromaticity level, the larger the value, the higher the chromaticity.

Value range: [0x0, 0xff]

Data type: CVI_U8

AdaptNrChromaStrOut

TNR Momentum vs Strength Gain Characteristics Table. An array of four sets of values. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

【Note】

None

【Related Data Type and Interface】

16.3.17. ISP_TNR_MOTION_ADAPT_AUTO_ATTR_S

【Description】

Parameter Description for momentum vs. strength gain in automatic mode

【Syntax】

typedef struct _ISP_TNR_MOTION_ADAPT_AUTO_ATTR_S {
  CVI_U8 AdaptNrLumaStrIn[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 AdaptNrLumaStrOut[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 AdaptNrChromaStrIn[4][ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 AdaptNrChromaStrOut[4][ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_TNR_MOTION_ADAPT_AUTO_ATTR_S;

【Member】

Member

Description

AdaptNrLumaStrIn

TNR Momentum vs Strength Gain Characteristics Table. An array of four sets of values. Define the gray level, the larger the value, the higher the gray level.

Value range: [0x0, 0xff]

Data type: CVI_U8

AdaptNrLumaStrOut

TNR Momentum vs Strength Gain Characteristics Table. An array of four sets of values. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

AdaptNrChromaStrIn

TNR Momentum vs Strength Gain Characteristics Table. An array of four sets of values. Define the chromaticity level, the larger the value, the higher the chromaticity.

Value range: [0x0, 0xff]

Data type: CVI_U8

AdaptNrChromaStrOut

TNR Momentum vs Strength Gain Characteristics Table. An array of four sets of values. When the value is higher, the protected motion area will be more inclined to the original pixel value output. Conversely, the lower the value, the more inclined the pixel value output after temporal noise reduction.

Value range: [0x0, 0xff]

Data type: CVI_U8

【Note】

None

【Related Data Type and Interface】

16.3.18. ISP_TNR_MOTION_ADAPT_ATTR_S

【Description】

  • Parameter Description of momentum versus strength gain

【Syntax】

typedef struct _ISP_TNR_MOTION_ADAP_ATTR_S {
  ISP_TNR_MOTION_ADAPT_MANUAL_ATTR_S stManual;
  ISP_TNR_MOTION_ADAPT_AUTO_ATTR_S stAuto;
} ISP_TNR_MOTION_ADAPT_ATTR_S;

【Member】

Member

Description

stManual

Manual mode parameter attribute

stAuto

Auto mode parameter attribute

【Note】

None

【Related Data Type and Interface】