16. TNR

16.1. 功能描述

在 YUV Domain 进行的时域去噪算法,又称 为 3DNR。

16.2. API 参考

16.2.1. CVI_ISP_SetTNRAttr

【描述】

设置TNR 属性参数

【语法】

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

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRAttr

TNR 属性参数

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

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

【相关主题】

16.2.2. CVI_ISP_GetTNRAttr

【描述】

获取TNR 属性参数

【语法】

CVI_S32 CVI_ISP_GetTNRAttr(VI_PIPE ViPipe, ISP_TNR_ATTR_S *pstTNRAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRAttr

TNR 属性参数

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.3. CVI_ISP_SetTNRNoiseModelAttr

【描述】

设置TNR Noise Model 属性参数

【语法】

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

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRNoiseModelAttr

TNR Noise Model 属性参数

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.4. CVI_ISP_GetTNRNoiseModelAttr

【描述】

获取TNR Noise Model 属性参数

【语法】

CVI_S32 CVI_ISP_GetTNRNoiseModelAttr(VI_PIPE ViPipe, ISP_TNR_NOISE_MODEL_ATTR_S *pstTNRNoiseModelAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRNoiseModelAttr

TNR Noise Model 属性参数

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.5. CVI_ISP_SetTNRLumaMotionAttr

【描述】

设置TNR亮度对强度增益特性表

【语法】

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

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRLumaMotionAttr

TNR亮度对强度增益特性表

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.6. CVI_ISP_GetTNRLumaMotionAttr

【描述】

获取 TNR亮度对强度增益特性表

【语法】

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

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRLumaMotionAttr

TNR亮度对强度增益特性表

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.7. CVI_ISP_SetTNRGhostAttr

【描述】

设置TNR动量对拖尾消除程度特性表

【语法】

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

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRGhostAttr

TNR动量对拖尾消除程度特性表

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.8. CVI_ISP_GetTNRGhostAttr

【描述】

获取TNR动量对拖尾消除程度特性表

【语法】

CVI_S32 CVI_ISP_GetTNRGhostAttr(VI_PIPE ViPipe, ISP_TNR_GHOST_ATTR_S *pstTNRGhostAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRGhostAttr

TNR动量对拖尾消除程度特性表

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.9. CVI_ISP_SetTNRMtPrtAttr

【描述】

设置TNR动量保护属性参数

【语法】

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

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRMtPrtAttr

TNR动量保护属性参数

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.10. CVI_ISP_GetTNRMtPrtAttr

【描述】

获取TNR动量保护属性参数

【语法】

CVI_S32 CVI_ISP_GetTNRMtPrtAttr(VI_PIPE ViPipe, ISP_TNR_MT_PRT_ATTR_S *pstTNRMtPrtAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRMtPrtAttr

TNR动量保护属性参数

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.11. CVI_ISP_SetTNRMotionAdaptAttr

【描述】

设置TNR动量对强度增益特性表

【语法】

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

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRMotionAdaptAttr

TNR动量对强度增益特性表

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.2.12. CVI_ISP_GetTNRMotionAdaptAttr

【描述】

获取TNR动量对强度增益特性表

【语法】

CVI_S32 CVI_ISP_GetTNRMotionAdaptAttr(VI_PIPE ViPipe, ISP_TNR_MOTION_ADAPT_ATTR_S *pstTNRMotionAdaptAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstTNRMotionAdaptAttr

TNR动量对强度增益特性表

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

16.3. 数据类型

16.3.1. ISP_TNR_MANUAL_ATTR_S

【说明】

TNR 属性手动参数

【定义】

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;

【成员】

成员名称

描述

TnrStrength0

长曝光TNR强度增益

取值范围: [0x0, 0xff]

数据类型: CVI_U8

MapThdLow0

长曝光TNR强度上限

取值范围: [0x0, 0xff]

数据类型: CVI_U8

MapThdHigh0

长曝光TNR强度下限

取值范围: [0x0, 0xff]

数据类型: CVI_U8

MtDetectUnit

运动侦测时的抗噪能力,数值越大,抗噪能力越强,但是侦测的细致度越小。

取值范围: [0x3, 0x6]

数据类型: CVI_U8

BrightnessNoiseLevelLE

长曝光亮度噪声容忍值

取值范围: [0x1, 0x3ff]

数据类型: CVI_S16

BrightnessNoiseLevelSE

短曝光亮度噪声容忍值

取值范围: [0x1, 0x3ff]

数据类型: CVI_S16

MtFiltMode

运动侦测滤波器模式

取值范围:[0x00, 0x01]

数据类型:CVI_BOOL

MtFiltWgt

运动侦测滤波器权重

取值范围:[0x1, 0x100]

数据类型:CVI_U16

【注意事项】

【相关数据类型及接口】

16.3.2. ISP_TNR_AUTO_ATTR_S

【说明】

TNR 属性自动参数

【定义】

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;

【成员】

成员名称

描述

TnrStrength0

长曝光TNR强度增益

取值范围: [0x0, 0xff]

数据类型: CVI_U8

MapThdLow0

长曝光TNR强度上限

取值范围: [0x0, 0xff]

数据类型: CVI_U8

MapThdHigh0

长曝光TNR强度下限

取值范围: [0x0, 0xff]

数据类型: CVI_U8

MtDetectUnit

运动侦测时的抗噪能力,数值越大,抗噪能力越强,但是侦测的细致度越小。

取值范围: [0x3, 0x6]

数据类型: CVI_U8

BrightnessNoiseLevelLE

长曝光亮度噪声容忍值

取值范围: [0x1, 0x3ff]

数据类型: CVI_S16

BrightnessNoiseLevelSE

短曝光亮度噪声容忍值

取值范围: [0x1, 0x3ff]

数据类型: CVI_S16

MtFiltMode

运动侦测滤波器模式

取值范围:[0x00, 0x01]

数据类型:CVI_BOOL

MtFiltWgt

运动侦测滤波器权重

取值范围:[0x1, 0x100]

数据类型:CVI_U16

【注意事项】

【相关数据类型及接口】

16.3.3. ISP_TNR_ATTR_S

【说明】

TNR 属性参数

【定义】

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;

【成员】

成员名称

描述

Enable

TNR模块使能。

0: 关闭。

1: 使能。

取值范围: [0, 1]

数据类型: CVI_BOOL

enOpType

工作类型

OP_TYPE_AUTO: 自动模式

OP_TYPE_MANUAL: 手动模式

UpdateInterval

影响参数更新间隔,值越大画面变化越慢, 效能越好。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

TuningMode

调整模式,输出可视化辅助信息,帮助用户调试

0: 不输出可视化辅助信息

1: 输出移动侦测可视化结果,越亮代表运动越明显,越暗则反之。

取值范围:[0, 1]

数据类型: CVI_BOOL

TnrMtMode

TNR Motion 模式:

0: Motion IIR(代表侦测的motion有经过IIR处理)

1: Motion hist ory(代表侦测的motion没有经过IIR处理)

取值范围: [0x0, 0x1]

数据类型: CVI_BOOL

YnrCnrSharpenMtMode

YNR/CNR Motion 模式:

0: Motion IIR(代表侦测的motion有经过IIR处理)

1: Motion hist ory(代表侦测的motion没有经过IIR处理)

取值范围: [0x0, 0x1]

数据类型: CVI_BOOL

PreSharpenMtMode

Presharpen Motion 模式:

0: Motion IIR(代表侦测的motion有经过IIR处理)

1: Motion hist ory(代表侦测的motion没有经过IIR处理)

取值范围: [0x0, 0x1]

数据类型: CVI_BOOL

ChromaScalingDownMode

色度缩小模式

CompGainEnable

亮度补偿功能使能

取值范围: [0, 1]

数据类型: CVI_BOOL

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】

16.3.4. ISP_TNR_NOISE_MODEL_MANUAL_ATTR_S

【说明】

TNR Noise Model 属性手动参数

【定义】

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;

【成员】

成员名称

描述

RNoiseLevel0

长曝光红色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

RNoiseHiLevel0

长曝光红色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GNoiseLevel0

长曝光绿色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GNoiseHiLevel0

长曝光绿色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

BNoiseLevel0

长曝光蓝色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

BNoiseHiLevel0

长曝光蓝色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

RNoiseLevel1

短曝光红色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

RNoiseHiLevel1

短曝光红色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GNoiseLevel1

短曝光绿色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GNoiseHiLevel1

短曝光绿色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

BNoiseLevel1

短曝光蓝色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

BNoiseHiLevel1

短曝光蓝色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

16.3.5. ISP_TNR_NOISE_MODEL_AUTO_ATTR_S

【说明】

TNR Noise Model 属性自动参数

【定义】

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;

【成员】

成员名称

描述

RNoiseLevel0

长曝光红色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

RNoiseHiLevel0

长曝光红色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GNoiseLevel0

长曝光绿色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GNoiseHiLevel0

长曝光绿色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

BNoiseLevel0

长曝光蓝色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

BNoiseHiLevel0

长曝光蓝色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

RNoiseLevel1

短曝光红色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

RNoiseHiLevel1

短曝光红色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GNoiseLevel1

短曝光绿色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GNoiseHiLevel1

短曝光绿色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

BNoiseLevel1

短曝光蓝色通道噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

BNoiseHiLevel1

短曝光蓝色通道亮部噪声容忍值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

16.3.6. ISP_TNR_NOISE_MODEL_ATTR_S

【说明】

TNR Noise Model 属性参数

【定义】

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;

【成员】

成员名称

描述

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】

16.3.7. ISP_TNR_LUMA_MOTION_MANUAL_ATTR_S

【说明】

手动模式TNR亮度对强度增益特性表

【定义】

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;

【成员】

成员名称

描述

L2mIn0[4]

长曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义灰度等级,值越大灰度越高。

取值范围: [0x0, 0xfff]

数据类型: CVI_U16

L2mOut0[4]

长曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义强度增益,值越大强度越强。

取值范围: [0x0, 0x3f]

数据类型: CVI_U8

L2mIn1[4]

短曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义灰度等级,值越大灰度越高。

取值范围: [0x0, 0xfff]

数据类型: CVI_U16

L2mOut1[4]

短曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义强度增益,值越大强度越强。

取值范围: [0x0, 0x3f]

数据类型: CVI_U8

MtLumaMode

Luma gain 参考对象

0: luma

1: max(R,G,B)

取值范围:[0x0, 0x1]

数据类型: CVI_BOOL

【注意事项】

【相关数据类型及接口】

16.3.8. ISP_TNR_LUMA_MOTION_AUTO_ATTR_S

【说明】

自动动模式TNR亮度对强度增益特性表

【定义】

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;

【成员】

成员名称

描述

L2mIn0[4]

长曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义灰度等级,值越大灰度越高。

取值范围: [0x0, 0xfff]

数据类型: CVI_U16

L2mOut0[4]

长曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义强度增益,值越大强度越强。

取值范围: [0x0, 0x3f]

数据类型: CVI_U8

L2mIn1[4]

短曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义灰度等级,值越大灰度越高。

取值范围: [0x0, 0xfff]

数据类型: CVI_U16

L2mOut1[4]

短曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义强度增益,值越大强度越强。

取值范围: [0x0, 0x3f]

数据类型: CVI_U8

MtLumaMode

亮度增益模式

取值范围:[0x0, 0x1]

数据类型: CVI_BOOL

【注意事项】

【相关数据类型及接口】

16.3.9. ISP_TNR_LUMA_MOTION_ATTR_S

【说明】

TNR亮度对强度增益特性表

【定义】

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;

【成员】

成员名称

描述

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】

16.3.10. ISP_TNR_GHOST_MANUAL_ATTR_S

【说明】

手动模式动量对拖尾消除程度特性表

【定义】

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;

【成员】

成员名称

描述

PrvMotion0[4]

长曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义灰度等级,值越大灰度越高。

取值范围: [0x0, 0xff]

数据类型: CVI_U8 |

PrtctWgt0[4]

长曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义强度增益,值越大强度越强。

取值范围: [0x0, 0xf]

数据类型: CVI_U8

MotionHistoryStr

定义输出给YNR参考之移动轨迹保留程度。数值越高移动轨迹保留越长,反之移动轨迹保留越短

取值范围: [0x0, 0xf]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

16.3.11. ISP_TNR_GHOST_AUTO_ATTR_S

【说明】

自动模式动量对拖尾消除程度特性表

【定义】

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;

【成员】

成员名称

描述

PrvMotion0[4]

长曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义灰度等级,值越大灰度越高。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

PrtctWgt0[4]

长曝光TNR亮度对强度增益特性表。由四组数值组成的数组。定义强度增益,值越大强度越强。

取值范围: [0x0, 0xf]

数据类型: CVI_U8

MotionHistoryStr

定义输出给YNR参考之移动轨迹保留程度。数值越高移动轨迹保留越长,反之移动轨迹保留越短

取值范围: [0x0, 0xf]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

16.3.12. ISP_TNR_GHOST_ATTR_S

【说明】

动量对拖尾消除程度特性表

【定义】

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;

【成员】

成员名称

描述

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】

16.3.13. ISP_TNR_MT_PRT_MANUAL_ATTR_S

【说明】

手动模式TNR动量保护属性参数

【定义】

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;

【成员】

成员名称

描述

LowMtPrtLevelY

Y通道保护上限值。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtLevelU

U通道保护上限值。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtLevelV

V通道保护上限值。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtInY[4]

定义LUT的横轴,亦即Y通道pixel为单位的前后帧差值。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtInU[4]

定义LUT的横轴,亦即U通道pixel为单位的前后帧差值。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtInV[4]

定义LUT的横轴,亦即V通道pixel为单位的前后帧差值。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtOutY[4]

定义LUT的纵轴,亦即Y通道前后帧差值的保护程度。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtOutU[4]

定义LUT的纵轴,亦即U通道前后帧差值的保护程度。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtOutV[4]

定义LUT的纵轴,亦即V通道前后帧差值的保护程度。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtAdvIn[4]

定义 LUT 的横轴,亦即区块为单位的前后帧差值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtAdvOut[4]

定义 LUT 的纵轴,亦即前后帧差值的保护增益

取值范围: [0x0, 0xff]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

16.3.14. ISP_TNR_MT_PRT_AUTO_ATTR_S

【说明】

自动模式TNR动量保护属性参数

【定义】

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;

【成员】

成员名称

描述

LowMtPrtLevelY

Y通道保护上限值。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtLevelU

U通道保护上限值。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtLevelV

V通道保护上限值。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtInY[4]

定义LUT的横轴,亦即Y通道pixel为单位的前后帧差值。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtInU[4]

定义LUT的横轴,亦即U通道pixel为单位的前后帧差值。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtInV[4]

定义LUT的横轴,亦即V通道pixel为单位的前后帧差值。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtOutY[4]

定义LUT的纵轴,亦即Y通道前后帧差值的保护程度。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtOutU[4]

定义LUT的纵轴,亦即U通道前后帧差值的保护程度。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtOutV[4]

定义LUT的纵轴,亦即V通道前后帧差值的保护程度。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtAdvIn[4]

定义 LUT 的横轴,亦即区块为单位的前后帧差值

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LowMtPrtAdvOut[4]

定义 LUT 的纵轴,亦即前后帧差值的保护增益

取值范围: [0x0, 0xff]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

16.3.15. ISP_TNR_MT_PRT_ATTR_S

【说明】

TNR动量保护属性参数

【定义】

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;

【成员】

成员名称

描述

LowMtPrtEn

空域降噪微小运动保护使能。该功能可根据像素为单位的前后帧差值定义保护程度,保护程度越高越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0, 1]

数据类型: CVI_BOOL

LowMtLowPassEnable

弱运动侦测使用进行低通滤波

取值范围: [0, 1]

数据类型: CVI_BOOL

LowMtPrtAdvLumaEnable

空域降噪微小运动保护功能使能。该功能可根据区块为单位的前后帧差值定义保护程度,保护程度越高越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出

取值范围: [0, 1]

数据类型: CVI_BOOL

LowMtPrtAdvMode

空域降噪微小运动模式

取值范围: [0, 1]

数据类型: CVI_BOOL

LowMtPrtAdvMax

保护增益上限

取值范围: [0, 0xff]

数据类型: CVI_U8

LowMtPrtAdvDebugMode

微小运动调整模式,输出可视化辅助信息,帮助用户调试

0: 输出移动侦测可视化结果。

1: 根据 LowMtPrtDebug LUT 输出移动侦测可视化结果

取值范围: [0, 1]

数据类型: CVI_BOOL

LowMtPrtAdvDebugIn[4]

调整模式,微小运动输入范围设定

取值范围: [0, 0xff]

数据类型: CVI_U8

LowMtPrtAdvDebugOut[4]

调整模式,微小运动输出数值设定

取值范围: [0, 0xff]

数据类型: CVI_U8

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】

16.3.16. ISP_TNR_MOTION_ADAPT_MANUAL_ATTR_S

【说明】

手动模式动量对强度增益特性表

【定义】

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;

【成员】

成员名称

描述

AdaptNrLumaStrIn

TNR动量对强度增益特性表。由四组数值组成的数组。定义灰度等级,值越大灰度越高。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

AdaptNrLumaStrOut

TNR动量对强度增益特性表。由四组数值组成的数组。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

AdaptNrChromaStrIn

TNR动量对强度增益特性表。由四组数值组成的数组。定义色度等级,值越大色度越高。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

AdaptNrChromaStrOut

TNR动量对强度增益特性表。由四组数值组成的数组。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

16.3.17. ISP_TNR_MOTION_ADAPT_AUTO_ATTR_S

【说明】

自动模式TNR动量保护属性参数

【定义】

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;

【成员】

成员名称

描述

AdaptNrLumaStrIn

TNR动量对强度增益特性表。由四组数值组成的数组。定义灰度等级,值越大灰度越高。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

AdaptNrLumaStrOut

TNR动量对强度增益特性表。由四组数值组成的数组。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

AdaptNrChromaStrIn

TNR动量对强度增益特性表。由四组数值组成的数组。定义色度等级,值越大色度越高。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

AdaptNrChromaStrOut

TNR动量对强度增益特性表。由四组数值组成的数组。值越高时,受保护之运动区域会越倾向原像素值输出。反之,值越低越倾向时域降噪后的像素值输出。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

16.3.18. ISP_TNR_MOTION_ADAPT_ATTR_S

【说明】

TNR动量保护属性参数

【定义】

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;

【成员】

成员名称

描述

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】