安霸pipeline简述之YUV域的处理
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域的处理的更多相关文章
- 安霸pipeline简述之rgb域的处理
RGB域处理模块的详细介绍: RGB域的处理主要是demosaic,color_correction,tone_curve(类似于gamma曲线). Demosaic:此模块将bayer Patt ...
- 简述安霸pipeline及其关键参数--raw域模块
何为pipeline: sensor输出是一种叫Bayer 格式的RAW数据图像.ISP 对RAW数据图像的处理流程就是我们说的ISP PipeLine.通过PipeLine的处理,我们可以从一副RA ...
- 推送安霸A7L实时视频至RTMP服务器(1)
使用librtmp进行H264与AAC直播 (转:http://www.codeman.net/2014/01/439.html) 1.帧的划分 1.1 H.264帧 对于H.264而言每帧的界定符为 ...
- 360 奇酷行车记录仪12967p 安霸a7
http://www.qikoo.com/che?utm_source=xingchejiluyi_360daohang_xialareci_0528&utm_medium=inside ht ...
- postMessage 跨域
基于 postMessage 和 localStorage 的跨域本地存储方案 安·记 2014-09-07 2099 阅读 跨域 存储 localStorage HTML5 的 postMessag ...
- C#编写的通过汉字得到拼音和五笔码
public static class SpellAndWbConfig { #region 变量声明 // XML文件读取实例 /// <summary> /// XML文件读取实例 / ...
- .net 生成拼音码与五笔码
首先加入配置文件: <?xml version="1.0" encoding="utf-8" ?> <CodeConfig> <S ...
- 主流芯片解决方案Ambarella的高清网络摄像机、德州仪器和控制海思
(本文由四川艾普作为数码科技有限公司 苏斌.范清华 收集) 高清网络视频监控发展到今天.正的高清时代.诸多有实力的高清摄像机厂家的产品线也逐渐完好起来,高清网络视频监控的配套产品有更加丰富和成熟.与此 ...
- ISP PIPLINE (十一) color correction
什么是color correction? 为什么要进行color correction? 转换后的色彩饱和度更加明显,更加符合人眼感官. 如何进行color correction? 下图是步骤: 第一 ...
随机推荐
- Nginx模块之ngx_http_gzip_module
Module ngx_http_gzip_module 该ngx_http_gzip_module模块是一个使用"gzip"方法压缩响应的过滤器.这通常有助于将传输数据的大小减少一 ...
- M-SOLUTIONS Programming Contest 2021(AtCoder Beginner Contest 232) 题解
目录 G - Modulo Shortest Path H - King's Tour 因为偷懒就只写G和H的题解了. G - Modulo Shortest Path 首先可以观察到对于一条从点\( ...
- UVA294 约数 Divisors 题解
Content 给定 \(n\) 个区间 \([l,r]\),求出每个区间内约数个数最大的数. 数据范围:\(1\leqslant l<r\leqslant 10^{10}\),\(r-l\le ...
- java 多线程 读写互斥锁ReentrantReadWriteLock:读读不互斥,读写互斥,写写互斥
ReentrantReadWriteLock: 类ReentrantLock具有相互互斥的排他效果,也就是说,同一时间,只有一个线程执行lock()方法后面的任务.这样做虽然可以解决问题,但是效率非常 ...
- centos下修改hosts文件以及生效命令
修改 vim /etc/hosts 生效 service network restart 或者 /etc/init.d/network restart
- IDEA中springboot项目添加yml格式配置文件
1.先创建application.properties 文件,在resources文件夹,右键 new -> Resource Bundle 如下图所示,填写名称 2.生成如下图所示文件 3. ...
- JAVA获取当前日期时间所在周的周一和周日日期
/** * 获取当前时间所在周的周一和周日的日期时间 * @return */ public static Map<String,String> getWeekDate() { Map&l ...
- 【LeetCode】12. Integer to Roman 整数转罗马数字
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:roman, 罗马数字,题解,leetcode, 力扣, ...
- 【LeetCode】847. Shortest Path Visiting All Nodes 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/shortest ...
- 【LeetCode】424. 替换后的最长重复字符 Longest Repeating Character Replacement(Python)
作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:LeetCode,力扣,算法,算法题,字符串,双指针,刷题群 目录 题目描述 题目大意 解题方法 双指针 代码 欢迎 ...