预处理装置及方法

文档序号:26954219发布日期:2021-10-16 03:03阅读:161来源:国知局
预处理装置及方法

1.本发明涉及数字信号处理技术领域,尤其涉及一种用于脉冲输出型传感器的预处理装置及方法。


背景技术:

2.数字相机及光学成像装置通常采用图像传感器。图像传感器是一种用于将光转换为数字信号的装置。单光子图像传感器是一种能够实现单光子灵敏度的图像传感器,具体使用手段是通过单光子雪崩光电二极管或电子倍增ccd等。这类图像传感器的特点是感光十分敏锐,当光子落在图像传感器的像素阵列时,便会在该像素位置以单比特电信号的形式输出,具有广阔的应用场景。
3.目前,单光子图像传感器直接输出图像有噪声较大、不易进行处理等缺点,因此需要进行预处理。目前针对单光子图像传感器的处理手段大多在算法或软件层面,针对单光子图像传感器的硬件处理模块较少。


技术实现要素:

4.有鉴于此,本发明提供了一种预处理装置及方法,可以异构并高速进行压缩编码与转灰度图两种算法的硬件实现,并在基本不损失时间的情况下将数据输出。
5.本发明一方面提供了一种预处理装置,用于对脉冲输出型传感器的输出进行预处理,包括:
6.运算阵列,包括并行布置的多个运算单元,每个运算单元用于对脉冲输出型传感器输出的原始脉冲序列进行运算得到累加值,运算单元的个数与脉冲输出型传感器的单次并行输出序列数相等;
7.存储单元,连接每个运算单元,存储单元用于存储每个运算单元运算得到的累加值,以供下一次调用;
8.控制器,连接每个运算单元,控制器用于控制每个运算单元的运算模式,运算模式包括压缩编码或灰度图积累,控制器还用于控制多个运算单元将运算得到的累加值输出;
9.加法器,连接控制器和每个运算单元,加法器用于将多个运算单元经过灰度图积累得到的达到预设像素阈值的当前像素个数相加,得到实际像素总个数,实际像素总个数传递至控制器;
10.其中,控制器还用于检测实际像素总个数是否达到预设像素个数阈值,以及检测各个运算单元在压缩编码模式下的当前图像帧数是否达到预设帧数阈值。
11.根据本公开的实施例,加法器包括树状加法器或串行输入加法器。
12.根据本公开的实施例,存储单元包括sram、dram、寄存器或flash 存储器。
13.根据本公开的实施例,运算单元包括累加器、比较器、帧数计数器和像素个数计数器,其中:
14.累加器,连接脉冲输出型传感器和存储单元,用于将脉冲输出型传感器的输出像
素值与存储单元存储的当前像素值相加,得到累计像素值,累计像素值继续存回存储单元;
15.像素个数计数器,连接控制器和比较器,用于计数累计像素值达到预设像素阈值的当前像素个数;
16.帧数计数器,连接脉冲输出型传感器和控制器,用于计数运算单元在压缩编码模式下的当前图像帧数,在控制器检测到帧数计数器达到预设帧数阈值时,将帧数计数器清零;
17.比较器,连接累加器和像素个数计数器,比较器用于在灰度图积累模式下,对原始脉冲序列的每帧图像,将累计像素值与预设像素阈值进行比较,当累计像素值大于或等于预设像素阈值时,将像素个数计数器加1;
18.比较器还用于在压缩编码模式下,将原始脉冲序列划分为多个编码组进行压缩编码,在控制器检测到当前编码组在帧数计数器中的当前图像帧数达到预设帧数阈值时,将存储单元存储的当前像素值输出,同时如果当前像素值大于0,则将当前像素值减1覆盖存储于存储单元,以供下一个编码组调用。
19.根据本公开的实施例,帧数计数器和像素个数计数器均初始化为0。
20.根据本公开的实施例,累加器包括同步计数器、异步计数器、环形计数器或格雷码计数器。
21.本发明另一方面提供了一种应用前述预处理装置的预处理方法,包括:
22.步骤s110,将原始脉冲序列按照预设帧数阈值ti进行顺序分组,得到多个编码组,将帧数计数器初始化为0;
23.步骤s120,在当前编码组中,在脉冲输出型传感器的每个位置像素值输出时,将输出像素值与存储单元存储的当前位置的像素值进行累加,得到累计像素值,将累计像素值继续存回存储单元的当前位置,直至当前帧图像的所有位置像素值累加并存储完成;
24.步骤s130,通过控制器判断当前编码组在帧数计数器中的当前图像帧数是否达到预设帧数阈值,如果是,则将帧数计数器清零并打开比较器;否则,重复步骤s120对下一帧图像中的所有位置像素值累加并存储完成,直至帧数计数器达到预设帧数阈值;
25.步骤s140,将存储单元存储的当前像素值输出,通过比较器判断存储单元每个像素位置存储的当前像素值是否大于0,如果是,则将当前像素值减1覆盖存储于存储单元,以供下一个编码组调用;
26.步骤s150,对下一个编码组重复步骤s120~步骤s140,直至脉冲输出型传感器输出的原始脉冲序列全部输出完毕。
27.根据本公开的实施例,预设帧数阈值存储于控制器中,预设帧数阈值 ti根据脉冲输出型传感器输出的原始脉冲序列的最大密度来确定。
28.根据本公开的实施例,预处理方法还包括:
29.步骤s210,根据预处理所需的灰度图动态范围,确定预设像素阈值和预设像素个数阈值,将像素个数计数器初始化为0;
30.步骤s220,对原始脉冲序列的每帧图像,在脉冲输出型传感器的每个位置像素值输出时,将输出像素值与存储单元存储的当前位置的像素值进行累加,得到累计像素值,将累计像素值继续存回存储单元的当前位置;
31.步骤s230,将存储单元当前位置的累计像素值与预设像素阈值进行比较,当累计
像素值大于或等于预设像素阈值时,将像素个数计数器加1,重复步骤s220~步骤s230直至当前帧图像的所有位置像素值累加并存储完成;
32.步骤s240,通过加法器将多个运算单元的像素个数计数器累加,得到实际像素总个数,实际像素总个数传递至控制器,判断实际像素总个数是否达到预设像素个数阈值,如果否,则重复步骤s220~步骤s230直至实际像素总个数达到预设像素个数阈值;
33.步骤s250,将存储单元存储的所有像素值输出,然后将存储单元的所有像素值清零。
34.根据本公开的实施例,预设像素阈值存储于每个运算单元中,预设像素个数阈值存储于控制器中。
35.从上述技术方案可以看出,本发明提供的预处理装置及方法,至少具有以下有益效果:
36.(1)本发明的运算单元可以进行复用,节省了硬件资源;
37.(2)本发明完成的两种算法能够明显降低脉冲输出型传感器的噪声,同时提高其信息密度;
38.(3)本发明经配置后可以分别得到压缩编码后的单比特数据流或者灰度图积累的多比特数据流,为后续针对不同信息流的处理提供便利,同时提高其后续信息处理的速度,减少系统工作的时间成本和硬件代价。
附图说明
39.通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
40.图1示意性示出了根据本公开实施例的预处理装置的结构图;
41.图2示意性示出了根据本公开实施例的运算单元的结构图;
42.图3示意性示出了根据本公开一实施例的预处理方法的流程图;
43.图4a示意性示出了脉冲输出型传感器的单帧输出图像的结构图;
44.图4b示意性示出了根据一具体实施例的存储单元存储的当前像素值的结构图;
45.图4c示意性示出了根据一具体实施例的计算结果输出的结构图;
46.图5意性示出了根据本公开另一实施例的预处理方法的流程图。
具体实施方式
47.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
49.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连
接,也可以是电连接或可以互相通讯;可以是直接连接,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
50.对单光子图像传感器进行预处理可应用两种算法:压缩编码与灰度图积累。压缩编码算法是将原始脉冲序列按照预设积分时间进行顺序分组,在当前编码组中的脉冲信号个数累积到蓄水池中以形成蓄水池计数值,所述确定编码信号的方式包括当所述蓄水池计数值≥1时,则在当前编码位置产生一个脉冲信号1,所述蓄水池计数值减1;当所述蓄水池计数值为0 时,则在当前编码位置产生一个间隔信号0即无脉冲信号产生。灰度图积累是指对脉冲序列进行积累,当达到阈值像素值的像素个数达到对应阈值后,将新的序列输出,还原成为灰度图像。
51.图1示意性示出了根据本公开实施例的预处理装置的结构图。
52.如图1所示,本公开实施例一方面提供了一种预处理装置,用于对脉冲输出型传感器的输出进行预处理,包括:
53.运算阵列,包括并行布置的多个运算单元,每个运算单元用于对脉冲输出型传感器输出的原始脉冲序列进行运算得到累加值,运算单元的个数与脉冲输出型传感器的单次并行输出序列数相等;
54.存储单元,连接每个运算单元,存储单元用于存储每个运算单元运算得到的累加值,以供下一次调用;
55.控制器,连接每个运算单元,控制器用于控制每个运算单元的运算模式,运算模式包括压缩编码或灰度图积累,控制器还用于控制多个运算单元将运算得到的累加值输出;
56.加法器,连接控制器和每个运算单元,加法器用于将多个运算单元经过灰度图积累得到的达到预设像素阈值的当前像素个数相加,得到实际像素总个数,实际像素总个数传递至控制器;
57.其中,控制器还用于检测实际像素总个数是否达到预设像素个数阈值,以及检测各个运算单元在压缩编码模式下的当前图像帧数是否达到预设帧数阈值。
58.本公开实施例中,加法器包括树状加法器或串行输入加法器。
59.本公开实施例中,存储单元包括sram、dram、寄存器或flash存储器。
60.图2示意性示出了根据本公开实施例的运算单元的结构图。
61.如图2所示,运算单元包括累加器、比较器、帧数计数器和像素个数计数器,其中:
62.累加器,连接脉冲输出型传感器和存储单元,用于将脉冲输出型传感器的输出像素值与存储单元存储的当前像素值相加,得到累计像素值,累计像素值继续存回存储单元;
63.像素个数计数器,连接控制器和比较器,用于计数累计像素值达到预设像素阈值的当前像素个数;
64.帧数计数器,连接脉冲输出型传感器和控制器,用于计数运算单元在压缩编码模式下的当前图像帧数,在控制器检测到帧数计数器达到预设帧数阈值时,将帧数计数器清零;
65.比较器,连接累加器和像素个数计数器,比较器用于在灰度图积累模式下,对原始脉冲序列的每帧图像,将累计像素值与预设像素阈值进行比较,当累计像素值大于或等于预设像素阈值时,将像素个数计数器加1;
66.比较器还用于在压缩编码模式下,将原始脉冲序列划分为多个编码组进行压缩编码,在控制器检测到当前编码组在帧数计数器中的当前图像帧数达到预设帧数阈值时,将存储单元存储的当前像素值输出,同时如果当前像素值大于0,则将当前像素值减1覆盖存储于存储单元,以供下一个编码组调用。
67.本公开实施例中,帧数计数器和像素个数计数器均初始化为0。
68.本公开实施例中,累加器包括同步计数器、异步计数器、环形计数器或格雷码计数器。
69.根据同一总体构思,本发明另一方面提供了一种应用前述预处理装置的预处理方法。
70.以下以帧同步控制的spad传感器成像输出为例,对本发明另一方面提供的预处理方法做进一步说明。实施例中所使用的spad传感器为128
ꢀ×
128像素阵列,每个时钟周期中每4个像素中选通一个像素进行输出,也即每4个周期输出一行像素。
71.图3示意性示出了根据本公开一实施例的预处理方法的流程图。
72.如图3所示,本公开一实施例中,该预处理方法包括步骤s110~步骤 s150。
73.步骤s110,将原始脉冲序列按照预设帧数阈值ti进行顺序分组,得到多个编码组,将帧数计数器初始化为0。
74.步骤s120,在当前编码组中,在脉冲输出型传感器的每个位置像素值输出时,将输出像素值与存储单元存储的当前位置的像素值进行累加,得到累计像素值,将累计像素值继续存回存储单元的当前位置,直至当前帧图像的所有位置像素值累加并存储完成。
75.步骤s130,通过控制器判断当前编码组在帧数计数器中的当前图像帧数是否达到预设帧数阈值,如果是,则将帧数计数器清零并打开比较器;否则,重复步骤s120对下一帧图像中的所有位置像素值累加并存储完成,直至帧数计数器达到预设帧数阈值。
76.步骤s140,将存储单元存储的当前像素值输出,通过比较器判断存储单元每个像素位置存储的当前像素值是否大于0,如果是,则将当前像素值减1覆盖存储于存储单元,以供下一个编码组调用。
77.步骤s150,对下一个编码组重复步骤s120~步骤s140,直至脉冲输出型传感器输出的原始脉冲序列全部输出完毕。
78.本公开一实施例中,预设帧数阈值存储于控制器中,预设帧数阈值ti 根据脉冲输出型传感器输出的原始脉冲序列的最大密度来确定。也即,每 ti帧对原始脉冲阵列进行一次压缩编码。
79.需要说明的是,在步骤s140中,将存储单元存储的当前像素值输出,具体可以为:存储单元当前位置存储的像素值根据不同位置输出不同,输出1,即有脉冲;否则输出0,即无脉冲。
80.为了便于理解步骤s140,下面参考图4a~图4c,结合具体实施例对步骤s140的方法做进一步说明。
81.图4a示意性示出了脉冲输出型传感器的单帧输出图像的结构图。
82.如图4a所示,脉冲输出型传感器的单帧输出图像例如可以为4
×
4像素图像,一个像素只有0和1两个数值,0为黑色,1为白色。
83.可以看出,脉冲输出型传感器的每帧输出图像具有多个位置像素值,每个位置的
像素值可以相同或不同,均以0或1表示。
84.例如,根据脉冲输出型传感器输出的原始脉冲序列的最大密度,确定的预设帧数阈值例如可以为5。此时,经过步骤s120~步骤s130已经帧数计数器达到预设帧数阈值,也即累加器已经对当前编码组之中的连续5帧脉冲输出图像的所有位置像素值累加并存储完成。
85.图4b示意性示出了根据一具体实施例的存储单元存储的当前像素值的结构图。
86.如图4b所示,当前编码组正处于第5帧输出图像完成累加并存储完成的时刻,存储单元存储的当前像素值为右图所示的4
×
4像素编码图。
87.图4c示意性示出了根据一具体实施例的计算结果输出的结构图。
88.根据步骤s140,如图4c下图所示,对图4b右图所示的像素编码图按位置输出。其中,不同像素位置的输出结果不同,例如左上角的累计像素值为4,则表明有脉冲,以白色示出;左下角的累计像素值仍为0,则表明无脉冲,以黑色示出。
89.根据步骤s140,在计算结果输出后,才对存储单元存储的当前像素值进行修正。如图4c上图所示,通过比较器判断存储单元每个像素位置存储的当前像素值是否大于0,如果是,则将当前像素值减1覆盖存储于存储单元,以供下一个编码组调用。例如,图4b右图所示的像素编码图左上角的累计像素值为4,判断出4>0,则将该位置的当前像素值减1,也即为3,将该位置修正为3,覆盖存储于存储单元中。同理,图4b右图所示的像素编码图右上角的累计像素值为1,判断出1>0,则将该位置的当前像素值减1,也即为0,将该位置修正为0,覆盖存储于存储单元中。
90.帧数计数器仅仅为计数用,控制原始脉冲序列按照预设帧数阈值ti 进行顺序分组,在每一个编码组处理完毕后将帧数计数器清零,以便对下一个编码组进行处理。在当前编码组的输出图像帧数未达到预设帧数阈值 ti时,则继续等待步骤s120中的脉冲输出型传感器的每个位置像素值输出。
91.图5示意性示出了根据本公开另一实施例的预处理方法的流程图。
92.如图5所示,本公开另一实施例中,该预处理方法还包括步骤s210~步骤s250。
93.步骤s210,根据预处理所需的灰度图动态范围,确定预设像素阈值和预设像素个数阈值,将像素个数计数器初始化为0。
94.步骤s220,对原始脉冲序列的每帧图像,在脉冲输出型传感器的每个位置像素值输出时,将输出像素值与存储单元存储的当前位置的像素值进行累加,得到累计像素值,将累计像素值继续存回存储单元的当前位置。
95.步骤s230,将存储单元当前位置的累计像素值与预设像素阈值进行比较,当累计像素值大于或等于预设像素阈值时,将像素个数计数器加1,重复步骤s220~步骤s230直至当前帧图像的所有位置像素值累加并存储完成。
96.步骤s240,通过加法器将多个运算单元的像素个数计数器累加,得到实际像素总个数,实际像素总个数传递至控制器,判断实际像素总个数是否达到预设像素个数阈值,如果否,则重复步骤s220~步骤s230直至实际像素总个数达到预设像素个数阈值。
97.步骤s250,将存储单元存储的所有像素值输出,然后将存储单元的所有像素值清零。
98.本公开另一实施例中,预设像素阈值存储于每个运算单元中,预设像素个数阈值
存储于控制器中。
99.为了便于理解,例如,根据预处理所需的灰度图动态范围,确定出预设像素阈值为255,预设像素个数阈值为5。在存储单元当前位置的累计像素值大于或等于255时,则将像素个数计数器加1,以此类推,直至整帧图像的所有位置像素值处理完毕。此时,例如单帧输出图像包含的4
×
4 构成的16个像素之中,获取到5个满足大于或等于255要求的像素,也即此时的像素个数计数器为5。
100.需要说明的是,步骤s230最终的像素个数计数器数值仅仅为当前运算单元运算得到的。也即,前述像素个数计数器的数值5即为当前的单个运算单元运算得到的。然后,步骤s240通过将所有运算单元的像素个数计数器的数值累加,得到实际像素总个数。最后,控制器检测到实际像素总个数达到预设像素个数阈值时,才对存储单元存储的所有像素值输出。
101.综上所述,本公开实施例提供了一种用于脉冲输出型传感器的预处理装置,该预处理装置能够对脉冲输出型传感器的原始输出脉冲进行压缩编码以及灰度图积累,实现两种类型运算的运算单元复用性高,同时为后续的其他处理提供了不同的信息流,降低了脉冲输出型传感器的噪声,并使其信息密度大幅度提升,进而该预处理装置适用于以脉冲序列作为输出的任何图像传感器。
102.应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于的特定顺序或层次。
103.在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
104.贯穿附图,相同的元素由相同或相近的附图标记来表示。可能导致本公开的理解造成混淆时,将省略常规结构或构造。并且图中各部件的形状、尺寸、位置关系不反映真实大小、比例和实际位置关系。另外,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。
105.类似地,为了精简本公开并帮助理解各个公开方面中的一个或多个,在上面对本公开示例性实施例的描述中,本公开的各个特征有时被一起分到单个实施例、图或者对其描述中。参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或者多个实施例或示例中以合适的方式结合。
106.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确具体的限定。
107.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1