[发明专利]一种适用于高斯平滑的NEON优化方法在审
| 申请号: | 202210067301.0 | 申请日: | 2022-01-20 |
| 公开(公告)号: | CN114511477A | 公开(公告)日: | 2022-05-17 |
| 发明(设计)人: | 段罗淋 | 申请(专利权)人: | 上海盈方微电子有限公司 |
| 主分类号: | G06T5/20 | 分类号: | G06T5/20;G06F15/80 |
| 代理公司: | 上海愉腾专利代理事务所(普通合伙) 31306 | 代理人: | 唐海波 |
| 地址: | 201203 上海市浦东新区自由*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 适用于 平滑 neon 优化 方法 | ||
本发明公开了一种适用于高斯平滑的NEON优化方法,所述方法包括以下步骤:执行高斯平滑算法;将每个点的权值系数读取到neon寄存器中;将一预设的待乘值读取到neon寄存器中并向量化;按行读取待计算点及其邻近域数据;对待计算点及邻近域数据进行计算时,先乘以待乘值再进行移位操作;高效利用了neon寄存器(32个D寄存器全部都有使用到);相比于传统的C方式,效率提升100%+。
技术领域
本发明涉及图像处理技术领域,尤其涉及一种适用于高斯平滑的NEON优化方法。
背景技术
1、高斯平滑:
平滑是低频增强的空间域滤波技术,是一项简单且使用频率很高的图像处理方法。它的目的有两类:一类是模糊;另一类是消除噪音。高斯平滑是一种线性平滑滤波技术,使用于消除噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
2、neon:
SIMD(single instruction multiple data):一种并行处理技术,一条指令可以并行处理多个数据,相比于一条指令处理一个数据,运算速度大大提高。许多程序需要处理大量的数据集,而且很多都是由少于32bits的位数来存储的。比如在视频、图形、图像处理中的8-bit像素数据等。在诸如上述情形中,很可能充斥着大量简单而重复的运算,且少有控制代码的出现,SIMD就擅长为这类程序提供更高的性能。neon:NEON就是一种基于SIMD思想的ARM技术,相比于ARMv6或之前的架构,NEON结合了64-bit和128-bit的SIMD指令集,提供128-bit宽的向量运算(vector operations)。NEON技术从ARMv7开始被采用,目前可以在ARM Cortex-A和Cortex-R系列处理器中采用。现有的高斯平滑算法没有有效利用neon寄存器,还是传统的C方式进行处理,效率低。
发明内容
鉴于目前图像处理技术领域存在的高斯平滑处理时效率低的问题,本发明提供一种适用于高斯平滑的NEON优化方法,能够高效利用neon寄存器,效率提升。
为达到上述目的,本发明的实施例采用如下技术方案:
一种适用于高斯平滑的NEON优化方法,所述方法包括以下步骤:
执行高斯平滑算法;
将每个点的权值系数读取到neon寄存器中;
将一预设的待乘值读取到neon寄存器中并向量化;
按行读取待计算点及其邻近域数据;
对待计算点及邻近域数据进行计算时,先乘以待乘值再进行移位操作。
依照本发明的一个方面,所述高斯平滑算法为5×5高斯平滑算法,是以待计算点及其邻近域共计25个点的Y分量值分别乘上相应的权值后相加,再平均后得出待计算点最终结果。
依照本发明的一个方面,所述5×5高斯平滑算法的待乘值设为78,需要先将78读取到寄存器中并做向量化。
依照本发明的一个方面,所述向量化为16位向量化。
依照本发明的一个方面,所述对待计算点及邻近域数据进行计算时,先乘以待乘值再进行移位操作包括:将sum=sum/52转换为sum=sum*7812。
依照本发明的一个方面,所述按行读取待计算点及其邻近域数据包括:至少需要读取5次数据,考虑到neon的寄存器个数,选择每行每次读取24字节。
依照本发明的一个方面,每次读取数据可以计算出20个点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海盈方微电子有限公司,未经上海盈方微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210067301.0/2.html,转载请声明来源钻瓜专利网。





