一种脉冲序列压缩编码方法和装置与流程

文档序号:17937280发布日期:2019-06-18 22:43阅读:117来源:国知局
一种脉冲序列压缩编码方法和装置与流程

本发明涉及数字信号处理技术领域,尤其涉及一种脉冲序列压缩编码方法和装置。



背景技术:

目前越来越多的传感器以脉冲作为输出信号的形式,以1/0的数字信号表示信息的有无,且具有许多独特的性质,例如单光子雪崩二极管(spad)传感器可探测几个光子数量级的二维空间平面光强分布和三维空间距离信息,以1/0代表雪崩的发生与否,在激光雷达、三维成像、自动驾驶等领域具有巨大的应用前景。目前受限于传感器探测单元较低的探测效率,传感器成像时输出信息密度往往小于50%,为其后续高层次处理造成过大的时间成本和硬件消耗,从而形成资源浪费和过低的能效比。



技术实现要素:

(一)要解决的技术问题

鉴于上述技术问题,本发明提供了一种脉冲序列压缩编码方法和装置,用于对脉冲输出型传感器的稀疏的脉冲序列进行较小损失或无损压缩编码,编码过程中保持编码信号的线性映射,可使经过压缩编码后的脉冲序列接近100%,以极大程度地提高后续信号处理及系统的工作速度。

(二)技术方案

第一方面,本发明提供了一种脉冲序列压缩编码方法,方法包括:s1,根据脉冲序列的有效脉冲信号个数和探测时刻数将脉冲序列分为多组,从脉冲序列的起始端依次为第一组,第二组,……,第n组;s2,统计第一组中的有效脉冲信号个数,并将其记录于蓄水池中形成蓄水池计数值,若蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,同时蓄水池计数值减1;s3,统计第二组中的有效脉冲信号个数,并将其与步骤s2中的蓄水池计数值累加,若累加后的蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,同时蓄水池计数值减1,以此方式统计第三组,……第n组中的有效脉冲信号个数,并与上一组中的蓄水池计数值累加,若累加后的蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,依次完成对脉冲序列的压缩编码。

可选地,步骤s2和s3中若蓄水池计数值等于零,则在压缩编码序列中生成一个间隔信号,即无脉冲信号产生。

可选地,有效脉冲信号个数为脉冲序列中“1”的个数m,探测时刻数为脉冲序列的总位数n,根据脉冲序列的有效脉冲信号个数和探测时刻数将脉冲序列分为多组具体为:根据有效脉冲信号个数和探测时刻数确定多组中每组中的数字的位数,根据数字位数将所述脉冲序列划分为多组。

可选地,根据有效脉冲信号个数和探测时刻数确定所述多组中每组中的数字的位数具体包括:s11,根据有效脉冲信号个数和探测时刻数,确定脉冲序列的最大脉冲密度dm,其中,dm=m/n;s12,根据最大脉冲密度dm确定每组中的积分时间ti,其中,ti=1/dm,以积分时间ti为每组中的数字的位数将脉冲序列分为多组,若积分时间ti不是整数,则以积分时间ti为每组中的数字的位数为积分时间ti取整后的整数。

可选地,若得到部分脉冲序列则根据部分脉冲序列确定多组中每组中的数字的位数即为整个脉冲序列的每组中的数字的位数。

可选地,蓄水池中的初始蓄水池计数值为零。

另一方面,本发明提供了一种脉冲序列压缩编码装置,包括:传感器探测单元,用于产生脉冲序列;计数器,用于计算脉冲序列中数字的位数,以预设的数字位数为一组;脉冲计数单元,用于计算计数器中每组中的有效脉冲个数;蓄水池存储单元,用于存储蓄水池计数值;压缩编码单元,用于根据蓄水池计数值和/或脉冲计算单元生成或不生成脉冲信号,并产生编码后的蓄水池计数值。

可选地,压缩编码单元包括:加法器用于将蓄水池计数值和脉冲计数单元中的有效脉冲个数累加生成新的蓄水池计数值;

比较器用于将新生成的蓄水池计数值与预设值比较,若大于预设值则生成一个脉冲信号,同时将新生成的蓄水池计数值减1,若小于或等于所述预设值则生成一个间隔信号。

可选地,脉冲计数单元包括累加器,累加器用于计算每组中的有效脉冲个数,在计算下一组中的有效脉冲个数前需要清零处理。

可选地,传感器探测单元包括单一传感器或线阵传感器或面阵传感器。

(三)有益效果

本发明提供了一种脉冲序列压缩编码方法和装置,至少包括以下有益效果:

(1)本发明提供的压缩编码方法是线性的,避免对原始脉冲序列的信息造成畸变;

(2)本发明中去除了原始脉冲序列中的无效信息,使得压缩后的脉冲序列密度接近100%;

(3)本发明中通过蓄水池计数值的加和减即可实现脉冲序列的压缩编码操作简单方便。

附图说明

图1示意性示出了本公开实施例中的脉冲序列压缩编码方法步骤图;

图2示意性示出了本公开实施例中的单列脉冲序列压缩编码示意图;

图3示意性示出了本公开实施例中的脉冲序列压缩编码方法的详细流程图;

图4示意性示出了本公开实施例中的不同最大脉冲密度压缩编码后的脉冲密度示意图;

图5示意性示出了本公开实施例中的原始脉冲序列和编码后序列示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明第一方面提供了一种脉冲序列压缩编码方法,参见图1,方法包括:s1,根据脉冲序列的有效脉冲信号个数和探测时刻数将脉冲序列分为多组,从脉冲序列的起始端依次为第一组,第二组,……,第n组;s2,统计第一组中的有效脉冲信号个数,并将其记录于蓄水池中形成蓄水池计数值,若蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,同时蓄水池计数值减1;s3,统计第二组中的有效脉冲信号个数,并将其与步骤s2中的蓄水池计数值累加,若累加后的蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,同时蓄水池计数值减1,以此方式统计第三组,……第n组中的有效脉冲信号个数,并与上一组中的蓄水池计数值累加,若累加后的蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,依次完成对所述脉冲序列的压缩编码。

具体的,s1,根据脉冲序列的有效脉冲信号个数和探测时刻数将脉冲序列分为多组,从脉冲序列的起始端依次为第一组,第二组,……,第n组;

以上所述脉冲序列可以为阵列形式也可以为单列形式等,脉冲序列的形式不限。

当得到脉冲序列后首先需要对脉冲信号进行分组,本发明实施例中以如图2所示的具有30位数字的脉冲序列的压缩编码为例进行阐述。其中,有效脉冲信号个数为脉冲序列中“1”的个数m,探测时刻数为脉冲序列中的数字的总位数n,本发明实施例中,有效脉冲个数m为3,探测时刻数n为30。

根据有效脉冲信号个数和探测时刻数确定多组中每组中的数字的位数,根据数字位数将脉冲序列划分为多组,参见图3,具体包括:

s11,根据有效脉冲信号个数和探测时刻数,确定脉冲序列的最大脉冲密度dm,其中,dm=m/n;

本发明实施例中,有效脉冲个数m为3,探测时刻数n为30,则该脉冲序列的最大脉冲密度:

dm=m/n=0.1

s12,根据最大脉冲密度dm确定每组中的积分时间ti,其中,ti=1/dm,以积分时间ti为每组中的数字的位数将脉冲序列分为多组,若积分时间ti不是整数,则积分时间ti为每组中的数字的位数为积分时间ti取整后的整数。

由上可知每组中的积分时间:

ti=1/dm=10

则以积分时间ti值为每组中数字的位数,本发明实施例中,每组中数字的位数为10,则该脉冲序列以不交叠的10个数字为一组被分成了3组,即第一组、第二组和第三组。

值得说明的是,在其他情况下若ti值不是整数,则需要对ti进行取整,该取整方式可以为向上取整、向下取整或四舍五入取整等形式,具体的可以根据需要选择取整方式。

s2,统计第一组中的有效脉冲信号个数,并将其记录于蓄水池中形成蓄水池计数值,若蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,同时蓄水池计数值减1;

由步骤s1可知,该脉冲序列被分成了每组中数字为10位的三组,首先从第一组开始进行压缩编码。

为了更好的进行压缩编码,本发明实施例中引入了蓄水池,其用于辅助脉冲序列的压缩编码,用于参与有效脉冲信号个数的记录以及压缩编码信号的生成。

首先统计第一组中的有效脉冲信号个数,本发明实施例中第一组中的有效脉冲信号个数为2,将其记录于蓄水池中生成蓄水池计数值则该蓄水池计数值为2,2大于0,因此在压缩编码序列中产生一个脉冲信号,该脉冲信号为数字信号的的高电平或1,本发明实施例中以该脉冲信号为1为例进行说明,同时蓄水池计数值减1,即更新后的蓄水池计数值为1,参见图2中第三行蓄水池行第一位数字为1,即为对第一组脉冲序列进行压缩编码后生成的蓄水池计数值。

s3,统计第二组中的有效脉冲信号个数,并将其与步骤s2中的蓄水池计数值累加,若累加后的蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,同时蓄水池计数值减1,以此方式统计第三组,……第n组中的有效脉冲信号个数,并与上一组中的蓄水池计数值累加,若累加后的蓄水池计数值大于零,则在压缩编码序列中产生一个脉冲信号,依次完成对所述脉冲序列的压缩编码。

步骤s2中完成了对第一组中脉冲序列的压缩编码,接着需要对第二组的脉冲序列进行压缩编码,首先,统计第二组中的有效脉冲信号个数,本发明实施例中的第二组中的有效脉冲信号个数为1,将其与步骤s1中对第一组脉冲序列进行压缩编码后生成的蓄水池计数值进行累加,即累加后的蓄水池计数值为2,2大于0,因此在压缩编码序列中再次产生一个脉冲信号1,同时将蓄水池计数值减1,即对第二组脉冲序列进行压缩编码后生成的蓄水池计数值为1。

以上述方式对第三组脉冲序列进行压缩编码,首先,统计第三组中的有效脉冲信号个数,本发明实施例中的第三组中的有效脉冲信号个数为0,将其与第二组脉冲序列进行压缩编码后生成的蓄水池计数值累加,即累加后的蓄水池计数值为1,1大于0,因此在压缩编码序列中再次产生一个脉冲信号1,因此本发明实施例中的脉冲序列压缩编码后为111。

步骤s2和s3中若蓄水池计数值等于零,则在压缩编码序列中生成一个间隔信号,该间隔信号可以为0,即无脉冲信号产生。

若得到部分脉冲序列则根据部分脉冲序列确定多组中每组中的数字的位数即为整个脉冲序列的每组中的数字的位数。

在实际的过程中,有可能脉冲序列并不是一次性接收完成,有可能边接收边进行压缩编码,在确定每组中的数字位数时可以以接收的部分脉冲序列的最大脉冲密度值确定。

每完成一条脉冲序列的压缩编码,需要对蓄水池中的蓄水池计数值清零,也即蓄水池的初始蓄水池计数值均为零。

参见图4,针对不同脉冲密度(dm分别为0.1,0.2,0.3,0.4和0.5)的脉冲序列采用本发明实施例中的方法进行压缩编码后,实验显示,均可压缩为最大脉冲密度接近100%的脉冲序列。

图5示意性示出了采用本发明实施例中的方法,对一个时刻数为1000的脉冲序列进行压缩编码后的脉冲序列,由图可以很明显看出压缩后的脉冲序列的最大脉冲密度得到明显提高接近100%。

同理,对于矩阵脉冲序列,若已获得所有程序时间内的脉冲序列,采用相同的方法统计最大脉冲个数m和总成像时刻数n,得到最大脉冲密度,而后采用步骤s1~s3相同的步骤进行压缩编码;若未获得所有成像时间内的成像脉冲序列,则利用已获得的部分脉冲序列去估计全部脉冲序列的最大脉冲密度,边接收边进行压缩编码。

另一方面,本发明还提供了一种脉冲序列压缩编码装置,包括:传感器探测单元,用于产生脉冲序列;计数器,用于计算脉冲序列中数字的位数,以预设的数字位数为一组;脉冲计数单元,用于计算计数器中每组中的有效脉冲个数;蓄水池存储单元,用于存储蓄水池计数值;压缩编码单元,用于根据蓄水池计数值和/或脉冲计算单元生成或不生成脉冲信号,并产生编码后的蓄水池计数值。

具体的,传感器探测单元,用于产生脉冲序列;

该传感器探测单元可以为单一传感器、线阵传感器或面阵传感器,因此产生的脉冲序列可以为单行脉冲序列也可以为矩阵型脉冲序列。

计数器,用于计算脉冲序列中数字的位数,以预设的数字位数为一组;

计数器以预设的数字位数为一组,从脉冲序列的起始端开始计算脉冲序列中数字的位数,其中,预设的数字位数为可以是计算得到,如以上实施例中所示预设的数字位数为10。

脉冲计数单元,用于计算计数器中每组中的有效脉冲个数;

脉冲计数单元,用于上述计数器中每组中的有效脉冲个数,如上述事实例中第一组中的有效脉冲个数为2,第二组中的有效脉冲个数为1,第三组中的有效脉冲个数为0。脉冲计算数单元包括累加器,累加器用于计算每组中的有效脉冲个数,在计算下一组中的有效脉冲个数前需要清零处理。

蓄水池存储单元,用于存储蓄水池计数值;

压缩编码单元,用于根据蓄水池计数值和/或脉冲计算单元生成或不生成脉冲信号,并产生编码后的蓄水池计数值。

压缩编码单元包括加法器和比较器,其中,加法器用于将蓄水池计数值和脉冲计数单元中的有效脉冲个数累加生成新的蓄水池计数值;

当对第二组、第三组……第n组进行压缩编码时,需要将上一组的蓄水池计数值和本组的有效脉冲个数累加,此时加法器可实现该累加功能,生成新的蓄水池计数值。

比较器用于将新生成的蓄水池计数值与预设值比较,若大于预设值则生成一个脉冲信号,同时将新生成的蓄水池计数值减1,若小于或等于所述预设值则生成一个间隔信号。

由上可知加法器将上一组的蓄水池计数值和本组的有效脉冲个数进行累加生成新的蓄水池计数值,比较器用于将新生成的蓄水池计数值与预设值进行比较,本发明实施例中,预设值为0,若大于预设值0则生成一个脉冲信号1,同时将新生成的蓄水池计数值减1,生成最终的蓄水池计数值,用于下一组的累加使用,若新生成的蓄水池计数值小于或等于预设值0则生成一个间隔信号0。

综上所述,本发明提供了一种脉冲序列压缩编码方法和装置,实现对稀疏成像脉冲序列的无损压缩编码,编码过程中对编码前后的脉冲序列密度保持线性映射,实现对脉冲序列的无损压缩。通过引入蓄水池概念对脉冲发生时间随机性进行累计和平均,提出原始脉冲序列中大量的无用信息,提高了编码后的脉冲序列信息密度,可使经压缩编码后的信息密度接近100%。本发明实施例适用于以脉冲序列作为输入且以脉冲密度作为信息表达方式的任何算法,因此本发明实施例可极大程度地提高传感器与其相连的专用处理器构成的系统的处理速度。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1