一种基于ARM-NEON移位指令的图像快速量化方法技术

技术编号:37842120 阅读:5 留言:0更新日期:2023-06-14 09:46
本发明专利技术适用于数字图像处理技术领域,提供了一种基于ARM

【技术实现步骤摘要】
一种基于ARM

NEON移位指令的图像快速量化方法


[0001]本专利技术属于图像处理
,具体涉图像量化
中的一种基于ARM单指令多数据流扩展指令集(又称ARM

NEON技术)的图像快速量化方法。本专利技术可用于在ARM架构下对数字图像中像素点进行图像快速量化计算。

技术介绍

[0002]图像处理是指对图像执行一些操作以达到预期效果的过程。数字图像处理是指借助数字计算机处理数字图像。在数字图像中,二维矩阵是表示数字图像的重要数学形式。一幅行数为M、列数为N的图像大小为M
×
N的矩阵形式为,其中矩阵中每个元素代表一个像素。图像量化就是将图像矩阵中各个像素值从更高的颜色空间映射到更低的颜色空间,并将结果分布于一系列预定义的区间中,以实现对图像的量化处理。
[0003]在数字图像处理领域,图像量化是图像处理中重要一环。随着Intel架构和ARM架构飞速发展的阶段,在处理器架构下实现高性能的图像像素量化计算极为重要。Halcon作为国内外开发的机器视觉软件,其中Halcon算子中scale_image实现将输入图像的各个灰度值做比例运算,通过预设的乘数因子、加数因子配合算子得到对应灰度级的输出图像。

技术实现思路

[0004]本专利技术的目的在于针对现有技术的不足,提出一种基于ARM高级单指令多数据流移位指令的图像快速量化方法,以解决对于密集型图像数据通过逻辑运算进行图像像素数据量化时,产生大量延时,中断指令运行流水线,降低指令执行效率的问题。
[0005]实现本专利技术目的的具体思路是:利用ARM支持单指令多数据流扩展的NEON移位指令,将源图像中单个数据操作扩展为一组数据进行矢量操作,通过移位运算代替乘除等逻辑运算,避免了数据类型之间的转换操作,极大提升了图像数据量化速度,进而有效提升了指令执行效率。
[0006]本专利技术的步骤包括如下:
[0007](1)按照下式,计算源图像中每个像素点的量化比例:
[0008][0009]其中,k表示图像像素值量化比例,dx表示量化后目标图像的数据类型最大值,di表示量化后目标图像数据类型最小值,sx表示源图像数据类型最大值,si表示源图像数据类型最小值。
[0010](2)将步骤(1)中的k值转化为图像像素数据的移位量化补偿值:
[0011]w=n

m
[0012]value=p>>w
[0013]其中,w表示移位差值,n表示源图像数据类型位宽,m表示量化后图像数据类型位
宽,value表示图像像素数据的移位量化补偿值,p表示源图像的图像像素值。
[0014](3)根据步骤(2)计算出来的移位补偿值value、移位差值w计算移位量化后的目标图像像素值:
[0015]Pp=(value+p)>>w
[0016]其中,Pp表示量化后的目标图像像素值,p表示源图像的图像像素值。
[0017](4)计算源图像中所有像素点量化后的像素值:
[0018](4a)将焦点区域roi区域中的源图像从首个像素点开始,逐行依次将像素点加载到源图像寄存器src中;
[0019](4b)将源图像寄存器src中的像素点右移w位到补偿值寄存器temp中,将补偿值寄存器temp中的元素与源图像寄存器src中的像素点进行连续矢量加法运算,再将相加后的结果右移w位得到量化后的结果寄存器result,最后写回内存;
[0020](4c)采用与步骤(4b)相同的方式,计算当前行所有可以加载到指令集寄存器中的源图像像素点的量化值;
[0021](4d)采用与步骤(2)

(3)相同的方式,计算不能够加载到寄存器的源图像像素点的量化值;
[0022](4e)采用与步骤(4a)

(4d)相同的方式,计算源图像所有像素点的量化后目标图像像素值。
[0023]本专利技术与现有的技术相比具有以下优点:
[0024]1、本专利技术由于采用了移位指令实现图像像素点的快速量化操作,通过简单的移位运算代替乘除等逻辑运算,减低延时,减少了程序执行的机器周期数,大幅度提高了计算机的调用程序以及运算效率,克服了现有技术中对于复杂乘除运算的复杂调用,使得本专利技术具有快速数据运算的优点,有效地提升了计算效率。
[0025]2、本专利技术基于ARM处理器架构设计实现图像像素点的快速量化功能,通过采用ARM NEON指令中的移位指令与加法指令将源图像中单个像素点操作扩展为一组像素点的矢量操作,避免了将图像数据类型转换浮点类型以及浮点数据之间的乘除法操作,利用数据并行计算,极大减少了循环迭代次数和访存次数,克服了现有技术中对于复杂图像量化时的冗余计算问题,使得本专利技术具有支持数据并行计算、支持密集型图像数据以及计算速度快的优点,使得本专利技术具有用于ARM架构上进行图像快速量化的优点。
附图说明
[0026]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。
[0027]在附图中:
[0028]图1为本专利技术的流程图。
具体实施方式
[0029]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本专利技术保护的范围。
[0030]在本专利技术的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“顶/底端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0031]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“套设/接”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0032]实施例
[0033]参照图1,对本专利技术的具体实施步骤做进一步的描述。
[0034]步骤1,按照下式,计算源图像中每个像素点的量化比例:
[0035][0036]其中,k表示图像像素值量化比例,dx表示量化后目标图像的数据类型最大值,di表示量化后目标图像数据类型最小值,sx表示源图像数据类型最大值,si表示源图像数据类型最小值。
[0037]步骤2,计算图像像素数据的移位量化补偿值的步骤如下:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ARM

NEON移位指令的图像快速量化方法,其特征在于,包括:将图像像素值分配到128位NEON寄存器存储,通过连续移位操作对图像进行采样与量化;该方法的步骤如下:(1)按照下式,计算源图像中每个像素点的量化比例:其中,k表示图像像素值量化比例,dx表示量化后目标图像的数据类型最大值,di表示量化后目标图像数据类型最小值,sx表示源图像数据类型最大值,si表示源图像数据类型最小值。(2)将步骤(1)中的k值转化为图像像素数据的移位量化补偿值:w=n

mvalue=p>>w其中,w表示移位差值,n表示源图像数据类型位宽,m表示量化后图像数据类型位宽,value表示图像像素数据的移位量化补偿值,p表示源图像的图像像素值。(3)根据步骤(2)计算出来的移位补偿值value、移位差值w计算移位量化后的目标图像像素值:Pp=(value+p)>>w其中,Pp表示量化后的目标图像像素值,p表示源图像的图像像素值。(4)计算源图像中所有像素点量化后的像素值:(4a)将焦点区域roi区域中的源图像从首个像素点开始,逐行依次将像素点加载到源图像寄存器src中;(4b)将源图像寄存器src中的像素点右移w位到补偿值寄存器temp中,将补偿值寄存器temp中的元素与源图像寄存器src中的像素点进行连续矢量加法运算,再将相加后的结果右移w位得到量化后的结果寄存器result,最后写回内存;(4c)采用与步骤(4b)相同的方式,计算当前行所有可以加载到指令集寄存器中的源图像像素点的量化值;(4d)采用与步骤(2)

(3)相同的方式,计算不能够加载到寄存器的源图像像素点的量化值;(4e)采用与步骤(4a)

(4d)相同的方式,计算源图像所有像素点的量化后目标图像像素值。2.根据权利要求1所述的基于ARM

NEON移位指令的图像快速量化方法,其特征...

【专利技术属性】
技术研发人员:刘凯谷一鑫孙单单张瑞钰
申请(专利权)人:西安电子科技大学青岛计算技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1