YUV域处理模块的详细介绍:

  YUV域的处理主要是rgb_to_yuv_matrix,chroma_scale,ASF(空域降噪),MCTF(时域降噪),SharpenB(锐化模块)。

  RGB2YUV Matrix:此模块是设置RGB到YUV的矩阵。矩阵的格式为标准的3x3转换矩阵加上YUV的偏移量。

    

  

  矩阵的设置要根据sensor input具体考虑,也可以根据显示器类型或应用类型具体定制。如果是Mono sensor,该矩阵需要设置为单位矩阵。

  修改Y_offest可以修改画面的整体亮度,U /V_offest可以修改画面的色彩饱和度。这个矩阵一般不建议修改,使用默认的即可。

  

  Chroma Scale:经过转换矩阵后,U、V分量经过Chroma Scale进行处理,本模块是对色彩信号整体的控制量,相当于饱和度的设置。

    

  Chroma Scale成员是以亮度为索引,修改不同的亮度的色彩强度。当Chroma Scale成员全部设置为0时就是灰色图像。

  

  ASF(空域降噪):经过转换矩阵后,Y分量也就是Luma信号首先经过一个降噪/加锐模块。在绝大多数情况下,此时会选择ASF模块进行降噪处理。

  首先该模块会检测图像的边缘区和平坦区通过不同的滤波器对不同频率区域做相应处理。

    

  当像素的边缘分值低于direction_decide_t0时,做iso滤波;当像素的边缘分值高于direction_decide_t1时,做dir滤波。对于分值在direction_decide_t0与direction_decide_t1之间的,

  会用iso滤波与dir滤波融合来处理。

  fir_specify的取值范围是2-4。当取2时,控制滤波强度参数是fir_strength_iso(iso滤波强度)和fir_strength_dir(dir滤波强度)。

  当取3时,则是使用fir_per_dir_fir_dir_amount(iso滤波与dir滤波融合强度),fir_per_dir_fir_dir_strength(dir滤波强度),fir_per_dir_fir_iso_strength(iso滤波强度)。

  当取4时,则是使用fir_coefs控制滤波强度。分别是一个平坦区和8个方向。

  为了保持图像的细节和边缘,还提供了两个level_control。如下:

    

  这是一组基于图像频率的level Control ,T0T1_div_high和T0T1_div_high_delta限定了高频率范围。T0T1_div_low和T0T1_div_low_delta限定了低频率范围。剩下的频率则属于中等频率  范围。,T0T1_div_high/mid/low_strength则是对应频率的降噪强度。值越大,降噪强度越小。

    

  这是一组基于亮度的level_Control ,level_str_adjust_high和level_str_adjust_high_delta限定了高亮度范围。level_str_adjust_low和level_str_adjust_low_delta限定了低亮度范围。剩下的亮度范围则属于中等亮度范围。,level_str_adjust_high/mid/low_strength则是对应亮度的降噪强度。值越大,降噪强度越大。

    

  最后的这些参数的作用是对以上三种降噪方式(fir_iso/dir、level_str_adjust_*、T0T1_div_*)做一个幅值得限定。

  

  MCTF(时域降噪):MCTF模块是一个对图像的时域和空间域分别进行处理的模块。Y(亮度信号)、U、V(色彩信号)会一同进入这个模块做降噪处理。此模块主要分为一个时域降噪部分,一个空域降噪部分。

  空间域降噪部分:

    

  

  空域降噪有两路滤波,分别是isotropic和directional两路滤波,由边缘门限y/cb/cr_spat_smth_directional_decide_t0/t1来确定。

  当图像分为iso区域和dir区域后, 分别用两组level_control来对这些区域做降噪处理。Y/cb/cr_spat_smth_dir*是对dir区域进行降噪的level_control,Y/cb/cr_spat_smth_iso*是对iso区域进行降噪的level_control。

  y/cb/cr_advance_iso_noise_level和y/cb/cr_advance_iso_size是生效最快的的空域滤波器。noise_level、size越大,去噪越强。

    

  

  时域降噪部分:

    

        

  时域滤波器是通过一组基于motion的level_control去控制,如下:

    

  y/cb/cr_t0/t1/t2/t3是四个运动强度的阈值,0-1表示运动强度最低的范围,这部分像素的时域降噪强度采用的是y/cb/cr_temporal_alpha0控制;1-t1表示较强的运动范围,这部分像素的时域降噪强度是由y/cb/cr_temporal_alpha1控制;后续同上。 

  运动检测部分:运动检测的功能是划分出画面中的静止区域,做时域降噪;另外的运动区域则做空域降噪。

    

  Noise_base是很重要的判断运动的参数,值越大越容易被判定为静止。Motion_response的值越大,越容易被判断为运动区域。Slow_mo_sensitivity检测慢速运动的灵敏度,值越大,对慢速运动的检测越灵敏。

    

  SharpenB(锐化模块):YUV信号在经过MCTF后就来到了此模块。此模块的作用有两个作用,一个作用是对图像进行锐化操作;另一个作用就是对锐化后的图像再进行一次降噪处理。

      

    

  锐化从sharpening FIR开始,sharpening FIR中主要的参数如下:

    

  Fir_specify是锐化滤波器的选择,取值范围是0-4,不同的取值会使用不同的锐化滤波器,见下图:

    

  取0时,只对平坦区进行锐化操作,使用fir_strength_iso控制其锐化强度;取1时使用fir_cofes中的第一个卷积核,即控制平坦区的卷积核做锐化操作,也是只针对平坦区

  取2时,会将图像分为平坦区和边缘区,两个区域划分的阈值由edge_thresh划分的,大于edge_thresh的部分将划为边缘区;小于edge_thresh的部分将划为平坦区。

  取3时,使用Fir_per_dir_fir_iso_strengths控制平坦区的锐化强度,Fir_per_dir_fir_dir_strengths控制边缘区的锐化强度,介于平坦区和边缘区之间的区域则使用Fir_per_dir_fir_dir_amounts决定锐化强度。

  取4时使用fir_coefs中的平坦区以及八个方向的卷积核去做锐化处理,八个方向分别为0°、90°、45°、135°、22.5°、67.5°、112.5°、157.5°。

  sharpening FIR之后是一个index_scale模块,是一个level_control的锐化处理模块。其参数如下:

    

  由于Non-Smooth Detec的引入,这个模块不建议调试。

  index_scale之后是一个coring_table模块,是一个对上述两个模块做一个锐化输出的限幅模块。其参数如下:

    

  Coring_table是对锐化输出的一个系数,锐化的输出会乘以coring_table,所以coring_table内的数值越大,锐化的强度就越高。

  Fractional_bits也是一个控制锐化输出分数的分母,取1时,锐化不变,当大于1时并且随着其增大时,锐化的输出会越小。

  coring_table之后是一个gain_scale模块

    

  gain_scale之后是一个Min/Max模块

    

·    

  这两个level control常用method 14控制。分别控制弱边缘、边缘和强边缘的锐化强度。其中对边缘的划分以high、low的值做划分。

  锐化中的降噪是Spatial FIR模块,主要参数如下:

    

    

  这个子模块主要对输入的信号做一个降噪处理,用direction_decide_t0/t1判断像素属于还是低频区域。

  当fir_specify去不同的值时,会使用不同的参数控制对高频区、低频区的降噪强度。

  取0时,只对平坦区进行降噪操作,使用fir_strength_iso控制其降噪强度。

  取1时使用fir_cofes中的第一个卷积核,即控制平坦区的卷积核做降噪操作,也是只针对平坦区。

  取2时,使用fir_strength_iso控制低频区域的降噪强度,使用fir_strength_dir控制高频区域的降噪强度。

  取3时,使用Fir_per_dir_fir_iso_strengths控制平坦区的降噪强度,Fir_per_dir_fir_dir_strengths控制边缘区的降噪强度,介于平坦区和边缘区之间的区域则使用Fir_per_dir_fir_dir_amounts决定降噪强度。

  取4时使用fir_coefs中的平坦区以及八个方向的卷积核去做降噪处理,八个方向分别为0°、90°、45°、135°、22.5°、67.5°、112.5°、157.5°。

  之后会对锐化和降噪做一个融合,通过Final Clamp判断门限以及做一个整体限幅,主要参数如下:

    

  Edge_thresh为sharpening FIR子模块中的平坦区,边缘区的阈值。

  Max_change_up5x5\Max_change_down5x5则是分别控制图像的overshoot(锐化后的白边白点)的强度和图像的undershoot(锐化后的黑边黑点)的强度。

  Max_change_up\Max_change_down则是对锐化、降噪输出做一个总的限幅。

安霸pipeline简述之YUV域的处理的更多相关文章

  1. 安霸pipeline简述之rgb域的处理

    RGB域处理模块的详细介绍: RGB域的处理主要是demosaic,color_correction,tone_curve(类似于gamma曲线).   Demosaic:此模块将bayer Patt ...

  2. 简述安霸pipeline及其关键参数--raw域模块

    何为pipeline: sensor输出是一种叫Bayer 格式的RAW数据图像.ISP 对RAW数据图像的处理流程就是我们说的ISP PipeLine.通过PipeLine的处理,我们可以从一副RA ...

  3. 推送安霸A7L实时视频至RTMP服务器(1)

    使用librtmp进行H264与AAC直播 (转:http://www.codeman.net/2014/01/439.html) 1.帧的划分 1.1 H.264帧 对于H.264而言每帧的界定符为 ...

  4. 360 奇酷行车记录仪12967p 安霸a7

    http://www.qikoo.com/che?utm_source=xingchejiluyi_360daohang_xialareci_0528&utm_medium=inside ht ...

  5. postMessage 跨域

    基于 postMessage 和 localStorage 的跨域本地存储方案 安·记 2014-09-07 2099 阅读 跨域 存储 localStorage HTML5 的 postMessag ...

  6. C#编写的通过汉字得到拼音和五笔码

    public static class SpellAndWbConfig { #region 变量声明 // XML文件读取实例 /// <summary> /// XML文件读取实例 / ...

  7. .net 生成拼音码与五笔码

    首先加入配置文件: <?xml version="1.0" encoding="utf-8" ?> <CodeConfig> <S ...

  8. 主流芯片解决方案Ambarella的高清网络摄像机、德州仪器和控制海思

    (本文由四川艾普作为数码科技有限公司 苏斌.范清华 收集) 高清网络视频监控发展到今天.正的高清时代.诸多有实力的高清摄像机厂家的产品线也逐渐完好起来,高清网络视频监控的配套产品有更加丰富和成熟.与此 ...

  9. ISP PIPLINE (十一) color correction

    什么是color correction? 为什么要进行color correction? 转换后的色彩饱和度更加明显,更加符合人眼感官. 如何进行color correction? 下图是步骤: 第一 ...

随机推荐

  1. epx中设置断掉调试

    以前总听师傅们说,做pwn题,多调试,多调试. 师傅都说用gdb,但是我刚接触linux程序调试的时候用的是pwndbg,后来就用顺手了.但是调试一些简单程序还好,直接用pwndbg打开.但是这年头简 ...

  2. msfvenom生成payload命令

    msfvenom生成payload命令 windows: msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp L ...

  3. 对ORM的理解

    1. 在面试中可能会问到这个问题,什么是ORM? ORM是对象关系映射(Object Relational Mapping),简称ORM,或O/RM,或O/R mapping,是一种程序技术. 白话理 ...

  4. Sharepoint 列表分页开发

    虽然现在linq技术对列表操作都是对实体操作了,但是linq有一点不好,那就是分页舞从下手,假如查出满足条件的记录有1万条,而在分页的时候我每次只需要显示10条,那么我每次点击下一页的时候都查询的是1 ...

  5. 使用 juqery.media.js 实现 pdf 预览

    作用:可以实现在指定的位置预览PDF 缺点: (1)在iPad上只能预览一页PDF.(问题是iPad会将PDF转为img呈现,试了将img宽度设置为100%方法但并不好使) (2)在安卓上不能预览,依 ...

  6. Python obj与JSON相互转换

    1 # _*_ coding:utf-8 _*_ 2 3 def showJson(self, pipefd): 4 overdict = args.__dict__ 5 # 此时就可以用json.d ...

  7. nim_duilib(9)之RichEdit

    introduction 更多控件用法,请参考 here 和 源码. 本文的代码基于这里 RichEdit的更多用法,请参考源码中RichEdit.h提供的函数,RichEdit控件,可以定制为多种多 ...

  8. 【LeetCode】198. House Robber 打家劫舍 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 递归 + 记忆化 动态规划 优化动态规划空间 ...

  9. 【九度OJ】题目1439:Least Common Multiple 解题报告

    [九度OJ]题目1439:Least Common Multiple 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1439 ...

  10. 【转】最短路径——Dijkstra算法和Floyd算法

    [转]最短路径--Dijkstra算法和Floyd算法 标签(空格分隔): 算法 本文是转载,原文在:最短路径-Dijkstra算法和Floyd算法 注意:以下代码 只是描述思路,没有测试过!! Di ...