16. TNR¶
16.1. Functional Description¶
in YUV Domain perform whendomainnoise reductionalgorithm, alsonameis 3DNR.
16.2. API Reference¶
CVI_ISP_SetTNRAttr : SetTNR attribute parameters
CVI_ISP_GetTNRAttr : GetTNR attribute parameters
CVI_ISP_SetTNRMvAttr : SetTNR MV attribute parameters
CVI_ISP_GetTNRMvAttr : GetTNR MV attribute parameters
CVI_ISP_SetTNRPsAttr : SetTNR PS attribute parameters
CVI_ISP_GetTNRPsAttr : GetTNR PS attribute parameters
CVI_ISP_SetTNRNrAttr : SetTNR NR attribute parameters
CVI_ISP_GetTNRNrAttr : GetTNR NR attribute parameters
16.2.1. CVI_ISP_SetTNRAttr¶
[Description]
SetTNR attribute parameters
[Syntax]
CVI_S32 CVI_ISP_SetTNRAttr(VI_PIPE ViPipe, const ISP_TNR_ATTR_S *pstTNRAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstTNRAttr |
TNR attribute parameters |
Input |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: 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 Topics]
16.2.2. CVI_ISP_GetTNRAttr¶
[Description]
GetTNR attribute parameters
[Syntax]
CVI_S32 CVI_ISP_GetTNRAttr(VI_PIPE ViPipe, ISP_TNR_ATTR_S *pstTNRAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstTNRAttr |
TNR attribute parameters |
output |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
None
[Related Topics]
16.2.3. CVI_ISP_SetTNRMvAttr¶
[Description]
SetTNR MV attribute parameters
[Syntax]
CVI_S32 CVI_ISP_SetTNRMvAttr(VI_PIPE ViPipe, const ISP_TNR_MV_ATTR_S *pstTNRMvAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstTNRMvAttr |
TNR MV attribute parameters |
Input |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
VI_PIPE ViPipe = 0;
ISP_TNR_MV_ATTR_S stAttr;
CVI_ISP_GetTNRMvAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetTNRMvAttr(ViPipe, &stAttr);
[Related Topics]
16.2.4. CVI_ISP_GetTNRMvAttr¶
[Description]
GetTNR MV attribute parameters
[Syntax]
CVI_S32 CVI_ISP_GetTNRMvAttr(VI_PIPE ViPipe, ISP_TNR_MV_ATTR_S *pstTNRMvAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstTNRMvAttr |
TNR MV attribute parameters |
output |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
None
[Related Topics]
16.2.5. CVI_ISP_SetTNRPsAttr¶
[Description]
SetTNR PS attribute parameters
[Syntax]
CVI_S32 CVI_ISP_SetTNRPsAttr(VI_PIPE ViPipe, const ISP_TNR_PS_ATTR_S *pstTNRPsAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstTNRPsAttr |
TNR PS attribute parameters |
Input |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
VI_PIPE ViPipe = 0;
ISP_TNR_PS_ATTR_S stAttr;
CVI_ISP_GetTNRPsAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetTNRPsAttr(ViPipe, &stAttr);
[Related Topics]
16.2.6. CVI_ISP_GetTNRPsAttr¶
[Description]
GetTNR PS attribute parameters
[Syntax]
CVI_S32 CVI_ISP_GetTNRPsAttr(VI_PIPE ViPipe, ISP_TNR_PS_ATTR_S *pstTNRPsAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstTNRPsAttr |
TNR PS attribute parameters |
output |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
None
[Related Topics]
16.2.7. CVI_ISP_SetTNRNrAttr¶
[Description]
SetTNR NR attribute parameters
[Syntax]
CVI_S32 CVI_ISP_SetTNRNrAttr(VI_PIPE ViPipe, const ISP_TNR_NR_ATTR_S *pstTNRNrAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstTNRNrAttr |
TNR NR attribute parameters |
Input |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
VI_PIPE ViPipe = 0;
ISP_TNR_NR_ATTR_S stAttr;
CVI_ISP_GetTNRNrAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetTNRNrAttr(ViPipe, &stAttr);
[Related Topics]
16.2.8. CVI_ISP_GetTNRNrAttr¶
[Description]
GetTNR NR attribute parameters
[Syntax]
CVI_S32 CVI_ISP_GetTNRNrAttr(VI_PIPE ViPipe, ISP_TNR_NR_ATTR_S *pstTNRNrAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstTNRNrAttr |
TNR NR attribute parameters |
output |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
None
[Related Topics]
16.3. Data Types¶
ISP_TNR_MANUAL_ATTR_S : Manual DefinitionTNR attribute parameters
ISP_TNR_AUTO_ATTR_S : Automatic DefinitionTNR attribute parameters
ISP_TNR_ATTR_S : Defines TNR attribute parameters
ISP_TNR_MV_MANUAL_ATTR_S : Manual DefinitionTNR MV attribute parameters
ISP_TNR_MV_AUTO_ATTR_S : Automatic DefinitionTNR MV attribute parameters
ISP_TNR_MV_ATTR_S : Defines TNR MV attribute parameters
ISP_TNR_PS_MANUAL_ATTR_S : Manual DefinitionTNR PS attribute parameters
ISP_TNR_PS_AUTO_ATTR_S : Automatic DefinitionTNR PS attribute parameters
ISP_TNR_PS_ATTR_S : Defines TNR PS attribute parameters
ISP_TNR_NR_MANUAL_ATTR_S : Manual DefinitionTNR NR attribute parameters
ISP_TNR_NR_AUTO_ATTR_S : Automatic DefinitionTNR NR attribute parameters
ISP_TNR_NR_ATTR_S : Defines TNR NR attribute parameters
16.3.1. ISP_TNR_MANUAL_ATTR_S¶
[Description]
Manual DefinitionTNR attribute parameters
[Definition]
typedef struct _ISP_TNR_MANUAL_ATTR_S {
CVI_U8 DyBlurStr; /*Rw; Range:[0, 3]*/
CVI_U8 DyBlurYWt[TNR_STATUS_NUM]; /*Rw; Range:[0, 15]*/
} ISP_TNR_MANUAL_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
DyBlurStr |
None Value Range: [0, 3] Data Types: CVI_U8 |
DyBlurYWt |
Adjust Y channelwhendomainfilteringstrength Value Range: [0, 15] Data Types: CVI_U8 |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.2. ISP_TNR_AUTO_ATTR_S¶
[Description]
Automatic DefinitionTNR attribute parameters
[Definition]
typedef struct _ISP_TNR_AUTO_ATTR_S {
CVI_U8 DyBlurStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 3]*/
CVI_U8 DyBlurYWt[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 15]*/
} ISP_TNR_AUTO_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
DyBlurStr |
None Value Range: [0, 3] Data Types: CVI_U8 |
DyBlurYWt |
Adjust Y channelwhendomainfilteringstrength Value Range: [0, 15] Data Types: CVI_U8 |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.3. ISP_TNR_ATTR_S¶
[Description]
Defines TNR attribute parameters
[Definition]
typedef struct _ISP_TNR_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
ISP_OP_TYPE_E enOpType;
CVI_U8 updateInterval; /*Rw; Range:[0, 255]*/
CVI_U8 DbgMode; /*Rw; Range:[0, 8]*/
CVI_U8 DyBlurUVWt; /*Rw; Range:[0, 15]*/
CVI_U8 DyBlurJndTh; /*Rw; Range:[0, 31]*/
ISP_TNR_MANUAL_ATTR_S stManual;
ISP_TNR_AUTO_ATTR_S stAuto;
} ISP_TNR_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
Enable |
module enable switch Value Range: [0, 1] Data Types: CVI_BOOL |
enOpType |
operation type OP_TYPE_AUTO: automatic mode OP_TYPE_MANUAL: manual mode Data Types: ISP_OP_TYPE_E |
updateInterval |
affects the parameter update interval,the larger the value, the slower the image changes,the better the performance. Value Range: [0, 255] Data Types: CVI_U8 |
DbgMode |
Set debugmode, useinoutputcanvisualtransformauxiliaryinformation. Value Range: [0, 8] Data Types: CVI_U8 |
DyBlurUVWt |
Adjust UV channelwhendomainfilteringstrength Value Range: [0, 15] Data Types: CVI_U8 |
DyBlurJndTh |
None Value Range: [0, 31] Data Types: CVI_U8 |
stManual |
manual parameters |
stAuto |
automatic parameters |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.4. ISP_TNR_MV_MANUAL_ATTR_S¶
[Description]
Manual DefinitionTNR MV attribute parameters
[Definition]
typedef struct _ISP_TNR_MV_MANUAL_ATTR_S {
CVI_U8 StableIntensity; /*Rw; Range:[0, 8]*/
CVI_U8 L0YPSSBlur; /*Rw; Range:[0, 255]*/
CVI_U16 AcbdSadAdj[TNR_ACBD_RANK]; /*Rw; Range:[0, 16383]*/
CVI_U8 AcbdEdgeAdj[TNR_ACBD_RANK]; /*Rw; Range:[0, 16]*/
CVI_U8 LumaJndTh[TNR_LUMA_RANK]; /*Rw; Range:[0, 255]*/
CVI_U8 LumaJndRatio; /*Rw; Range:[0, 255]*/
CVI_U8 JndSadWt; /*Rw; Range:[0, 15]*/
CVI_U16 WarpB0[TNR_LUMA_RANK]; /*Rw; Range:[0, 16383]*/
CVI_U8 WarpEdge[TNR_LUMA_RANK]; /*Rw; Range:[0, 63]*/
CVI_U16 WarpBase[TNR_LUMA_RANK]; /*Rw; Range:[0, 16383]*/
CVI_U16 WarpStd[TNR_LUMA_RANK]; /*Rw; Range:[0, 16383]*/
} ISP_TNR_MV_MANUAL_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
StableIntensity |
stablepropertysystemnumber, Controlmotionafterimagechangestable speed, the larger the value, imagethe morestable Value Range: [0, 8] Data Types: CVI_U8 |
L0YPSSBlur |
None Value Range: [0, 255] Data Types: CVI_U8 |
AcbdSadAdj |
detailAdjustdifferentlightflowvalue setsignaldegreepenaltyparameternumber, corresponding the larger the value, the morenotsignalanythelightflowvalue. correspondingclosesystemsameAcbdEdgeAdj Value Range: [0, 16383] Data Types: CVI_U16 |
AcbdEdgeAdj |
coarseAdjustdifferentlightflowvalue penaltysystemnumber, corresponding the larger the value, the morenotsignalanythelightflowvalue. AcbdEdgeAdj[0]~AcbdEdgeAdj[3]respectivelyControlcurrentframelightflowvalue, beforeoneframecurrentblocklightflowvalue, beforeoneframenon-currentblocklightflowvalue, randomlightflowvalue penaltyvalue Value Range: [0, 16] Data Types: CVI_U8 |
LumaJndTh |
automaticAdjustlightflowpenaltyvalue brightnessthreshold Value Range: [0, 255] Data Types: CVI_U8 |
LumaJndRatio |
automaticAdjustlightflowpenaltyvalue ratioexample, 255is1xnotAdjust, smallin255thenetc.ratioexamplereducesmall Value Range: [0, 255] Data Types: CVI_U8 |
JndSadWt |
None Value Range: [0, 15] Data Types: CVI_U8 |
WarpB0 |
currentafterframedifferencesmallinWarpB0when, consideristheregionisstationary region. the larger the value, the moreeasydeterminesetisstationary Value Range: [0, 16383] Data Types: CVI_U16 |
WarpEdge |
detailsregion noiseincreaseweightparameternumber. the larger the valuefornoisetolerancedegreethe morelarge, thiswhenbe affected bynoisedisturbmove stationary regiondomainrelativelyeasyisdeterminesetisstationarystatus. valuethroughlargewillmakeslightsmallmovementregioniserrordetermineisstationary. canpartbrightnessSetdifferent value Value Range: [0, 63] Data Types: CVI_U8 |
WarpBase |
flat regiondomain noisebiasmoveamountparameternumber Value Range: [0, 16383] Data Types: CVI_U16 |
WarpStd |
Controlmotionstatusdetermine basenumber, the larger the value, fornoise tolerancedegreethe morelarge, the morenoteasyisdetermineismotion region. canpartbrightnessSetdifferent value Value Range: [0, 16383] Data Types: CVI_U16 |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.5. ISP_TNR_MV_AUTO_ATTR_S¶
[Description]
Automatic DefinitionTNR MV attribute parameters
[Definition]
typedef struct _ISP_TNR_MV_AUTO_ATTR_S {
CVI_U8 StableIntensity[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 8]*/
CVI_U8 L0YPSSBlur[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U16 AcbdSadAdj[TNR_ACBD_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16383]*/
CVI_U8 AcbdEdgeAdj[TNR_ACBD_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16]*/
CVI_U8 LumaJndTh[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 LumaJndRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 JndSadWt[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 15]*/
CVI_U16 WarpB0[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16383]*/
CVI_U8 WarpEdge[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 63]*/
CVI_U16 WarpBase[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16383]*/
CVI_U16 WarpStd[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16383]*/
} ISP_TNR_MV_AUTO_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
StableIntensity |
stablepropertysystemnumber, Controlmotionafterimagechangestable speed, the larger the value, imagethe morestable Value Range: [0, 8] Data Types: CVI_U8 |
L0YPSSBlur |
None Value Range: [0, 255] Data Types: CVI_U8 |
AcbdSadAdj |
detailAdjustdifferentlightflowvalue setsignaldegreepenaltyparameternumber, corresponding the larger the value, the morenotsignalanythelightflowvalue. correspondingclosesystemsameAcbdEdgeAdj Value Range: [0, 16383] Data Types: CVI_U16 |
AcbdEdgeAdj |
coarseAdjustdifferentlightflowvalue penaltysystemnumber, corresponding the larger the value, the morenotsignalanythelightflowvalue. AcbdEdgeAdj[0]~AcbdEdgeAdj[3]respectivelyControlcurrentframelightflowvalue, beforeoneframecurrentblocklightflowvalue, beforeoneframenon-currentblocklightflowvalue, randomlightflowvalue penaltyvalue Value Range: [0, 16] Data Types: CVI_U8 |
LumaJndTh |
automaticAdjustlightflowpenaltyvalue brightnessthreshold Value Range: [0, 255] Data Types: CVI_U8 |
LumaJndRatio |
automaticAdjustlightflowpenaltyvalue ratioexample, 255is1xnotAdjust, smallin255thenetc.ratioexamplereducesmall Value Range: [0, 255] Data Types: CVI_U8 |
JndSadWt |
None Value Range: [0, 15] Data Types: CVI_U8 |
WarpB0 |
currentafterframedifferencesmallinWarpB0when, consideristheregionisstationary region. the larger the value, the moreeasydeterminesetisstationary Value Range: [0, 16383] Data Types: CVI_U16 |
WarpEdge |
detailsregion noiseincreaseweightparameternumber. the larger the valuefornoisetolerancedegreethe morelarge, thiswhenbe affected bynoisedisturbmove stationary regiondomainrelativelyeasyisdeterminesetisstationarystatus. valuethroughlargewillmakeslightsmallmovementregioniserrordetermineisstationary. canpartbrightnessSetdifferent value Value Range: [0, 63] Data Types: CVI_U8 |
WarpBase |
flat regiondomain noisebiasmoveamountparameternumber Value Range: [0, 16383] Data Types: CVI_U16 |
WarpStd |
Controlmotionstatusdetermine basenumber, the larger the value, fornoise tolerancedegreethe morelarge, the morenoteasyisdetermineismotion region. canpartbrightnessSetdifferent value Value Range: [0, 16383] Data Types: CVI_U16 |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.6. ISP_TNR_MV_ATTR_S¶
[Description]
Defines TNR MV attribute parameters
[Definition]
typedef struct _ISP_TNR_MV_ATTR_S {
CVI_BOOL NullFlowEn; /*Rw; Range:[0, 1]*/
ISP_TNR_MV_MANUAL_ATTR_S stManual;
ISP_TNR_MV_AUTO_ATTR_S stAuto;
} ISP_TNR_MV_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
NullFlowEn |
None Value Range: [0, 1] Data Types: CVI_BOOL |
stManual |
manual parameters |
stAuto |
automatic parameters |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.7. ISP_TNR_PS_MANUAL_ATTR_S¶
[Description]
Manual DefinitionTNR PS attribute parameters
[Definition]
typedef struct _ISP_TNR_PS_MANUAL_ATTR_S {
CVI_U8 JndStdRange[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 32]*/
CVI_U8 WarpStdRange[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 32]*/
CVI_U8 NbrBldRatio[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 255]*/
CVI_U16 StillRegionTh[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 65535]*/
CVI_U8 FlowJndTh; /*Rw; Range:[0, 63]*/
} ISP_TNR_PS_MANUAL_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
JndStdRange |
None Value Range: [0, 32] Data Types: CVI_U8 |
WarpStdRange |
according tomotioncompensationestablishnoisemodelwhen, Controlmotionstatusdetermine systemnumber. WarpStdRange[0]: Controlstationary regionandconversionregion systemnumber, the larger the value, the moremultiple regionisdetermineisstationary region; WarpStdRange[1]: Controlconversionregionandmotion region systemnumber, the larger the value, the moremultiple regionisdetermineisconversionregion. WarpStdRange[0]needsmallinWarpStdRange[1] Value Range: [0, 32] Data Types: CVI_U8 |
NbrBldRatio |
None Value Range: [0, 255] Data Types: CVI_U8 |
StillRegionTh |
flat region, largeedgeregion dividepartthreshold. featurevaluesmallinStillRegionTh[0] regionconsiderisisflat region; featurevaluelargeinStillRegionTh[1] regionconsiderisislargeedgeregion; itsremainingpartconsiderisistextureregion. thispart settingswillaffectsstationary regioninfiltering processing Value Range: [0, 65535] Data Types: CVI_U16 |
FlowJndTh |
willaroundlightflowvaluelength>FlowJndTh stationary region, againDefine isnon-stationary region Value Range: [0, 63] Data Types: CVI_U8 |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.8. ISP_TNR_PS_AUTO_ATTR_S¶
[Description]
Automatic DefinitionTNR PS attribute parameters
[Definition]
typedef struct _ISP_TNR_PS_AUTO_ATTR_S {
CVI_U8 JndStdRange[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
CVI_U8 WarpStdRange[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
CVI_U8 NbrBldRatio[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U16 StillRegionTh[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 65535]*/
CVI_U8 FlowJndTh[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 63]*/
} ISP_TNR_PS_AUTO_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
JndStdRange |
None Value Range: [0, 32] Data Types: CVI_U8 |
WarpStdRange |
according tomotioncompensationestablishnoisemodelwhen, Controlmotionstatusdetermine systemnumber. WarpStdRange[0]: Controlstationary regionandconversionregion systemnumber, the larger the value, the moremultiple regionisdetermineisstationary region; WarpStdRange[1]: Controlconversionregionandmotion region systemnumber, the larger the value, the moremultiple regionisdetermineisconversionregion. WarpStdRange[0]needsmallinWarpStdRange[1] Value Range: [0, 32] Data Types: CVI_U8 |
NbrBldRatio |
None Value Range: [0, 255] Data Types: CVI_U8 |
StillRegionTh |
flat region, largeedgeregion dividepartthreshold. featurevaluesmallinStillRegionTh[0] regionconsiderisisflat region; featurevaluelargeinStillRegionTh[1] regionconsiderisislargeedgeregion; itsremainingpartconsiderisistextureregion. thispart settingswillaffectsstationary regioninfiltering processing Value Range: [0, 65535] Data Types: CVI_U16 |
FlowJndTh |
willaroundlightflowvaluelength>FlowJndTh stationary region, againDefine isnon-stationary region Value Range: [0, 63] Data Types: CVI_U8 |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.9. ISP_TNR_PS_ATTR_S¶
[Description]
Defines TNR PS attribute parameters
[Definition]
typedef struct _ISP_TNR_PS_ATTR_S {
CVI_BOOL SadDebiasEN; /*Rw; Range:[0, 1]*/
CVI_U8 SadLpfMode; /*Rw; Range:[0, 3]*/
ISP_TNR_PS_MANUAL_ATTR_S stManual;
ISP_TNR_PS_AUTO_ATTR_S stAuto;
} ISP_TNR_PS_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
SadDebiasEN |
None Value Range: [0, 1] Data Types: CVI_BOOL |
SadLpfMode |
None Value Range: [0, 3] Data Types: CVI_U8 |
stManual |
manual parameters |
stAuto |
automatic parameters |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.10. ISP_TNR_NR_MANUAL_ATTR_S¶
[Description]
Manual DefinitionTNR NR attribute parameters
[Definition]
typedef struct _ISP_TNR_NR_MANUAL_ATTR_S {
CVI_U8 L0YBlurStr[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L0YSigmaStr[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L0UVSigmaStr[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
CVI_U16 L0YGardBlurTh; /*Rw; Range:[0, 65535]*/
CVI_U8 L0YGardBlurStr; /*Rw; Range:[0, 255]*/
CVI_U8 L1PFTStr[TNR_FREQ_RANK]; /*Rw; Range:[0, 255]*/
CVI_U16 L1SpaGlobalStr; /*Rw; Range:[0, 65535]*/
CVI_U16 L1TmpGlobalStr; /*Rw; Range:[0, 65535]*/
CVI_U8 L1LumaAdj[TNR_LUMA_RANK]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FSJndAdj[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FTJndAdj[TNR_STATUS_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FSFreAdj[TNR_FREQ_RANK]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FTFreAdj[TNR_FREQ_RANK]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FTLumaStr; /*Rw; Range:[0, 255]*/
CVI_U8 L1PFTDamp[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 255]*/
CVI_U8 L2YDampStr[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 255]*/
CVI_U8 L2YLut[TNR_DETAIL_RANK]; /*Rw; Range:[0, 127]*/
CVI_U8 L2UVDampStr[TNR_STATUS_CHANGE]; /*Rw; Range:[0, 255]*/
CVI_U8 L2UVLut[TNR_DETAIL_RANK]; /*Rw; Range:[0, 127]*/
} ISP_TNR_NR_MANUAL_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
L0YBlurStr |
L0filtering, Ychannelfirstlevelspatial domainfilteringstrength. the larger the value, the stronger the filtering intensity. L0YBlurStr[0]~L0YBlurStr[2]respectivelycorrespondingstationary region, conversionregion, filtering strength in the motion region Value Range: [0, 255] Data Types: CVI_U8 |
L0YSigmaStr |
L0filtering, Ychannelfirstlevelwhendomainfilteringstrength. the larger the value, the stronger the filtering intensity. L0YSigmaStr[0]~L0YSigmaStr[2]respectivelycorrespondingstationary region, conversionregion, filtering strength in the motion region Value Range: [0, 255] Data Types: CVI_U8 |
L0UVSigmaStr |
L0filtering, UVchannelfirstlevelwhendomainfilteringstrength. parameternumbertrendsameL0YSigmaStr Value Range: [0, 255] Data Types: CVI_U8 |
L0YGardBlurTh |
None Value Range: [0, 65535] Data Types: CVI_U16 |
L0YGardBlurStr |
None Value Range: [0, 255] Data Types: CVI_U8 |
L1PFTStr |
L1Pfiltering, stationary region filteringstrength. canpartdifferent frequencySetdifferent strength, the larger the value, the stronger the filtering intensity. L1PFTStr[0]~L1PFTStr[3]indicatesfromlowfrequencytoheightfrequency filteringstrength Value Range: [0, 255] Data Types: CVI_U8 |
L1SpaGlobalStr |
L1filtering, spatial domainfilteringstrengthbasevalue. the larger the value, the stronger the filtering intensity Value Range: [0, 65535] Data Types: CVI_U16 |
L1TmpGlobalStr |
L1filtering, whendomainfilteringstrengthbasevalue. the larger the value, the stronger the filtering intensity Value Range: [0, 65535] Data Types: CVI_U16 |
L1LumaAdj |
L1filtering, partbrightnessSetdifferent filteringstrength, whendomainfilteringandspatial domainfilteringtotalusesameonegroupsettings. the larger the value, the stronger the filtering intensity. L1LumaAdj[0]~L1LumaAdj[7]indicatesfromdark regiontobright region filteringstrength Value Range: [0, 255] Data Types: CVI_U8 |
L1FSJndAdj |
L1filtering, spatial domainfilteringpartmotionstatusSetdifferent filteringstrength. the larger the value, the stronger the filtering intensity. L1FSJndAdj[0]~L1FSJndAdj[2]respectivelyindicatesstationary region, conversionregion, filtering strength in the motion region Value Range: [0, 255] Data Types: CVI_U8 |
L1FTJndAdj |
L1filtering, whendomainfilteringpartmotionstatusSetdifferent filteringstrength. parameternumbertrendsameL1FSJndAdj Value Range: [0, 255] Data Types: CVI_U8 |
L1FSFreAdj |
L1filtering, spatial domainfilteringpartfrequencySetdifferent filteringstrength. the larger the value, the stronger the filtering intensity. L1FSFreAdj[0]~L1FSFreAdj[3]indicatesfromlowfrequencytoheightfrequency filteringstrength Value Range: [0, 255] Data Types: CVI_U8 |
L1FTFreAdj |
L1filtering, whendomainfilteringpartfrequencySetdifferent filteringstrength. parameternumbertrendsameL1FSFreAdj Value Range: [0, 255] Data Types: CVI_U8 |
L1FTLumaStr |
None Value Range: [0, 255] Data Types: CVI_U8 |
L1PFTDamp |
L1Pfiltering, conversionregionandfiltering strength in the motion regionsystemnumber. the larger the value, the stronger the filtering intensity, that isthe moreclose tostationary region filteringstrength, alsothe moreeasyproducebecomeghosting Value Range: [0, 255] Data Types: CVI_U8 |
L2YDampStr |
L2filtering, Ychannelnoise reductionpartmotionstatusSetdifferent filteringstrength. L2YDampStr[0]~L2YDampStr[1]respectivelyindicatesconversionregion, filtering strength in the motion region Value Range: [0, 255] Data Types: CVI_U8 |
L2YLut |
L2filtering, Ychannelnoise reductionstrengthControl. the smaller the value, residual whendomainnoisethe moresmall. valuethroughsmall, easyproducebecomeghostingandnoiseconvergenceslow Value Range: [0, 127] Data Types: CVI_U8 |
L2UVDampStr |
L2afterfiltering, UVchannelnoise reductionpartmotionstatusSetdifferent filteringstrength. parameternumbertrendsameL2YDampStr Value Range: [0, 255] Data Types: CVI_U8 |
L2UVLut |
L2afterfiltering, UVchannelnoise reductionstrengthControl. the smaller the value, residual whendomainnoisethe moresmall Value Range: [0, 127] Data Types: CVI_U8 |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.11. ISP_TNR_NR_AUTO_ATTR_S¶
[Description]
Automatic DefinitionTNR NR attribute parameters
[Definition]
typedef struct _ISP_TNR_NR_AUTO_ATTR_S {
CVI_U8 L0YBlurStr[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L0YSigmaStr[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L0UVSigmaStr[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U16 L0YGardBlurTh[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 65535]*/
CVI_U8 L0YGardBlurStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1PFTStr[TNR_FREQ_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U16 L1SpaGlobalStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 65535]*/
CVI_U16 L1TmpGlobalStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 65535]*/
CVI_U8 L1LumaAdj[TNR_LUMA_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FSJndAdj[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FTJndAdj[TNR_STATUS_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FSFreAdj[TNR_FREQ_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FTFreAdj[TNR_FREQ_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1FTLumaStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L1PFTDamp[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L2YDampStr[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L2YLut[TNR_DETAIL_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 127]*/
CVI_U8 L2UVDampStr[TNR_STATUS_CHANGE][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 L2UVLut[TNR_DETAIL_RANK][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 127]*/
} ISP_TNR_NR_AUTO_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
L0YBlurStr |
L0filtering, Ychannelfirstlevelspatial domainfilteringstrength. the larger the value, the stronger the filtering intensity. L0YBlurStr[0]~L0YBlurStr[2]respectivelycorrespondingstationary region, conversionregion, filtering strength in the motion region Value Range: [0, 255] Data Types: CVI_U8 |
L0YSigmaStr |
L0filtering, Ychannelfirstlevelwhendomainfilteringstrength. the larger the value, the stronger the filtering intensity. L0YSigmaStr[0]~L0YSigmaStr[2]respectivelycorrespondingstationary region, conversionregion, filtering strength in the motion region Value Range: [0, 255] Data Types: CVI_U8 |
L0UVSigmaStr |
L0filtering, UVchannelfirstlevelwhendomainfilteringstrength. parameternumbertrendsameL0YSigmaStr Value Range: [0, 255] Data Types: CVI_U8 |
L0YGardBlurTh |
None Value Range: [0, 65535] Data Types: CVI_U16 |
L0YGardBlurStr |
None Value Range: [0, 255] Data Types: CVI_U8 |
L1PFTStr |
L1Pfiltering, stationary region filteringstrength. canpartdifferent frequencySetdifferent strength, the larger the value, the stronger the filtering intensity. L1PFTStr[0]~L1PFTStr[3]indicatesfromlowfrequencytoheightfrequency filteringstrength Value Range: [0, 255] Data Types: CVI_U8 |
L1SpaGlobalStr |
L1filtering, spatial domainfilteringstrengthbasevalue. the larger the value, the stronger the filtering intensity Value Range: [0, 65535] Data Types: CVI_U16 |
L1TmpGlobalStr |
L1filtering, whendomainfilteringstrengthbasevalue. the larger the value, the stronger the filtering intensity Value Range: [0, 65535] Data Types: CVI_U16 |
L1LumaAdj |
L1filtering, partbrightnessSetdifferent filteringstrength, whendomainfilteringandspatial domainfilteringtotalusesameonegroupsettings. the larger the value, the stronger the filtering intensity. L1LumaAdj[0]~L1LumaAdj[7]indicatesfromdark regiontobright region filteringstrength Value Range: [0, 255] Data Types: CVI_U8 |
L1FSJndAdj |
L1filtering, spatial domainfilteringpartmotionstatusSetdifferent filteringstrength. the larger the value, the stronger the filtering intensity. L1FSJndAdj[0]~L1FSJndAdj[2]respectivelyindicatesstationary region, conversionregion, filtering strength in the motion region Value Range: [0, 255] Data Types: CVI_U8 |
L1FTJndAdj |
L1filtering, whendomainfilteringpartmotionstatusSetdifferent filteringstrength. parameternumbertrendsameL1FSJndAdj Value Range: [0, 255] Data Types: CVI_U8 |
L1FSFreAdj |
L1filtering, spatial domainfilteringpartfrequencySetdifferent filteringstrength. the larger the value, the stronger the filtering intensity. L1FSFreAdj[0]~L1FSFreAdj[3]indicatesfromlowfrequencytoheightfrequency filteringstrength Value Range: [0, 255] Data Types: CVI_U8 |
L1FTFreAdj |
L1filtering, whendomainfilteringpartfrequencySetdifferent filteringstrength. parameternumbertrendsameL1FSFreAdj Value Range: [0, 255] Data Types: CVI_U8 |
L1FTLumaStr |
None Value Range: [0, 255] Data Types: CVI_U8 |
L1PFTDamp |
L1Pfiltering, conversionregionandfiltering strength in the motion regionsystemnumber. the larger the value, the stronger the filtering intensity, that isthe moreclose tostationary region filteringstrength, alsothe moreeasyproducebecomeghosting Value Range: [0, 255] Data Types: CVI_U8 |
L2YDampStr |
L2filtering, Ychannelnoise reductionpartmotionstatusSetdifferent filteringstrength. L2YDampStr[0]~L2YDampStr[1]respectivelyindicatesconversionregion, filtering strength in the motion region Value Range: [0, 255] Data Types: CVI_U8 |
L2YLut |
L2filtering, Ychannelnoise reductionstrengthControl. the smaller the value, residual whendomainnoisethe moresmall. valuethroughsmall, easyproducebecomeghostingandnoiseconvergenceslow Value Range: [0, 127] Data Types: CVI_U8 |
L2UVDampStr |
L2afterfiltering, UVchannelnoise reductionpartmotionstatusSetdifferent filteringstrength. parameternumbertrendsameL2YDampStr Value Range: [0, 255] Data Types: CVI_U8 |
L2UVLut |
L2afterfiltering, UVchannelnoise reductionstrengthControl. the smaller the value, residual whendomainnoisethe moresmall Value Range: [0, 127] Data Types: CVI_U8 |
[Precautions]
None
[Related Data Types and Interfaces]
16.3.12. ISP_TNR_NR_ATTR_S¶
[Description]
Defines TNR NR attribute parameters
[Definition]
typedef struct _ISP_TNR_NR_ATTR_S {
CVI_BOOL L12NrYEN; /*Rw; Range:[0, 1]*/
CVI_BOOL L2UVNrEN; /*Rw; Range:[0, 1]*/
CVI_BOOL L2UVMonoEN; /*Rw; Range:[0, 1]*/
CVI_BOOL DcEn; /*Rw; Range:[0, 1]*/
ISP_TNR_NR_MANUAL_ATTR_S stManual;
ISP_TNR_NR_AUTO_ATTR_S stAuto;
} ISP_TNR_NR_ATTR_S;
[Members]
Member Name |
Description |
|---|---|
L12NrYEN |
beforeinafterfiltering YchannelprocessingEnable 0: Disable 1: Enable Value Range: [0, 1] Data Types: CVI_BOOL |
L2UVNrEN |
afterfiltering UVchannelprocessingEnable 0: Disable 1: Enable Value Range: [0, 1] Data Types: CVI_BOOL |
L2UVMonoEN |
None Value Range: [0, 1] Data Types: CVI_BOOL |
DcEn |
None Value Range: [0, 1] Data Types: CVI_BOOL |
stManual |
manual parameters |
stAuto |
automatic parameters |
[Precautions]
None
[Related Data Types and Interfaces]