一种脉冲序列压缩方法及系统与流程

文档序号:16927712发布日期:2019-02-22 20:00阅读:218来源:国知局
一种脉冲序列压缩方法及系统与流程

本发明属于数字信号处理领域,具体涉及一种由动态视觉传感器(dvs,dynamicvisionsensors)记录的脉冲序列的压缩方法及系统。



背景技术:

动态视觉传感器通过模仿视网膜来感测和编码世界,并将之作为神经信号来获取视觉信息,所以动态视觉传感器是一种有前途的、可用于移动机器人的自主运动控制的神经形态视觉传感器。尽管研究人员已经使用各种传感器来感知环境,如基于帧的相机,结构光传感器和立体相机等,但仍然存在许多限制和缺陷。作为一个有希望的解决方案,动态视觉传感器通过模拟视网膜,并响应由于运动引起的场景中的像素级亮度变化而产生的脉冲。与传统的基于帧的摄像机相比,特别是对于移动场,dvs在数据速率、速度和动态范围方面具有很大的优势。此外,由dvs产生的脉冲可以直接传送到脉冲神经网络(snn,spikingneuralnetwork),用于视觉处理和运动控制。

随着视频技术的发展,很多场景中对视频的动态范围和时间分辨率有着更高的需求,动态视觉感知器的优势在这些场景得以体现。传统摄像头的帧率一般为几十,更高的帧率往往会极大地提高技术和生产成本。而动态视觉传感器是记录反映运动信息的脉冲信号,帧率可以达到上万帧,在自动驾驶等高速运动摄影下有着广阔的应用前景。

动态视觉传感器是一种新型的类视网膜的视觉传感器。在动态视觉传感器中,每个像素点通过产生异步的事件独立地对亮度变化进行响应和编码,其产生的事件流一定程度上消除了传统摄像机输出的连续图像中时域上的冗余;而且它具有极高的时间分辨率,可以捕获到超快速运动;另外,它具有非常高的动态范围,即在白天和黑夜都可以很好地工作。所以,动态视觉传感器也可以被应用在监控系统中。

dvs产生的脉冲信号一般以地址事件表示(aer,addresseventrepresentation)的形式存储,每一个数据都是由事件的地址(对应像素的位置),以及事件的性质(变亮还是变暗)等组成。由于dvs帧率极高,数据量也很大,需要占用非常大的传输带宽和存储空间,客观上对软硬件的要求太高。除此之外,现有的dvs脉冲序列处理方法,无法集成到最新的视频编解码标准中,无法进行后续的压缩等操作。



技术实现要素:

为解决现有脉冲序列压缩技术的不足,本发明提供一种能够有效地压缩aer脉冲序列的方法。通过将脉冲信号合成灰度图像,并在之后进行无损编码,能够极大地降低传输带宽和存储代价。

具体的,根据本发明的一个方面,还提供了一种脉冲序列压缩方法,包括:

将原始脉冲信号转换为灰度图序列;

对所述灰度图序列进行块划分,得到若干子块;

对每个所述子块进行预测得到预测像素值,计算真实值和预测像素值的残差;

通过熵编码将所述块划分的信息、预测信息和残差信息进一步压缩,并存储为二进制码流。

优选的,所述将原始脉冲信号转换为灰度图序列,包括:

将原始的地址加时间、极性格式存储的脉冲信号转换为1比特深度的脉冲图像;

将每连续的若干帧上述脉冲图像合成一帧多比特深度的单通道图像。

优选的,所述块划分包括:

将所述灰度图序列在时间上分割成多个全分辨率的立方体,每个立方体的空间分辨率与灰度图序列相同;

将每个全分辨率立方体在空间上划分为更小的子块。

优选的,所述预测为空域内的块预测,所述预测像素值由同一全分辨率立方体内已编码的相邻子块上的边界像素生成。

优选的,所述预测为时域上的块预测,使用邻近全分辨率立方体中的已编码子块预测当前编码子块中的像素值。

优选的,所述熵编码通过上下文模型对每个子块的预测信息和残差信息进行自适应二进制算术编码。

优选的,所述二进制算术编码,基于递归区间划分的方式,在递归过程中保存编码区间和区间下限;利用自适应的概率模型,对当前语法元素二进制化后的,每一个二进制文件根据其概率模型参数进行算术编码。

根据本发明的另一个方面,还公开了一种脉冲序列压缩系统,包括:

转换模块,用于将原始脉冲信号转换为灰度图序列;

块划分模块,用于对所述灰度图序列进行块划分,得到若干子块;

预测模块,用于对每个所述子块进行预测得到预测像素值,计算真实值和预测像素值的残差;

熵编码模块,用于通过熵编码将所述块划分的信息、预测信息和残差信息进一步压缩,并存储为二进制码流。

本发明的优点在于:能够简单有效地降低传输带宽和存储代价,复杂度较低,可以有效地应用在脉冲序列相关的压缩、传输、存储系统中。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1为本发明提供的一种脉冲序列编码方法流程图;

附图2为本发明提供的脉冲信号到图像域的展示图;

附图3为本发明提供的脉冲信号合成8比特深度灰度图的示意图;

附图4为本发明提供的块划分示意图;

附图5为本发明提供的无损压缩编码系统结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

比特深度(bitdepth)的概念广泛应用于数字视音频领域,在数字图像中主要用于表达像素的单个颜色分量所使用的比特数,又常常称为色深度(colordepth)或量化深度,在数字声音中则用于表达声音取样值所使用的比特数。

在数字图像领域,比特深度决定了数字图像所能表达的颜色数,因而决定了颜色表达的精确程度。例如,1比特可表达2种颜色(称单色,通常为黑白),2比特可表达4种颜色,4比特可表达16种颜色,8比特可表达256种颜色,依此类推。在具体描述一幅图像的颜色深度时,常常使用“每个像素的比特数”(bitsperpixel,简称bpp)来表达,例如数字电影采用36bpp,即36比特/像素。使用一定的比特深度,可以表达不同的灰度(亮度)。但当用于表达每种颜色的比特数少于8时,影像的色彩会呈现明显的条纹状或斑块状,这种现象称为色调分离(posterization)。人眼只能区分大约1000万种不同的颜色,因此,如果仅仅是为了观看,一般情况下24bpp的影像就已能够满足需要,以高于24bpp的比特深度存储影像就显得多余。然而,高于24bpp的影像仍然有用,它在数字后期处理中可保持更高的质量。

根据dci数字电影系统规范(dcss,digitalcinemasystemspecification)的要求,数字电影图像中每个颜色分量的比特深度为12比特,每个像素由三个颜色分量组成,因而每个像素的比特深度为36比特,即36bpp。数字电影声音取样频率为48khz/声道或96khz/声道,每个取样值进行深度为24比特的量化。

首先,本发明的方法将原始的以地址格式记录的脉冲信号转换为n比特深度的灰度图序列。实际应用中n的取值可以灵活选取,常规取值为8或者10。通常情况下这些脉冲信号在空域和时域上有较强的相关性,因此在后续步骤中本发明通过去除这些相关性来进行无损压缩。

对于无损压缩过程,本发明将得到的灰度图序列进行块划分后分别编码,之后通过帧内预测或帧间预测对当前块进行预测,对真实值和预测值的差值进行编码,消除空域和时域上的相关性并提高压缩效率,最后将块划分信息,预测信息和残差数据等所需信息合并通过自适应的熵编码进一步压缩,最终存储为二进制码流。

实施例1脉冲序列的无损压缩编码算法

具体的,如图1所示,根据本发明的一个方面,本发明提出了一种脉冲序列压缩方法,包括如下步骤:

s1、将脉冲信号转换为灰度图序列

由于脉冲序列在存储时是地址加时间的格式,每一个信号由一个固定比特数的四元组(x,y,t,p)表示,x和y分别表示脉冲信号在图像上的横坐标和纵坐标,p表示脉冲信号的极性(用1bit表示,取值为0或1),t表示时间轴。本发明将脉冲信号转到图像域,然后将每连续的n帧转换为一个n比特深度的图像,最终以图像编码的方式来进行无损压缩,能够极大地降低传输带宽和存储代价,并能无损地进行还原解码。

首先,该方法将原始脉冲信号的时域与空域信息转换为为1比特深度的脉冲图像。如图2所示,对于长度为n的脉冲序列{(x1,y1,t1,p1),(x2,y2,t2,p2),...,(xn,yn,tn,pn)},根据其在时间轴上的长度生成tn-t1+1帧,所有像素点强度的初始值为0,每一帧的像素点深度均为1比特(即取值为0或者1)。之后对于每一个脉冲信号(xi,yi,ti,pi),将第ti-t1+1帧(xi,yi)处的像素设置为1,从而将脉冲信号以图像的形式表示。

之后,如图3所示,再将每连续的若干帧上述脉冲图像合成一帧n比特深度的单通道图像,较为常规的取值是取n为8或10,即将8帧或者10帧1比特深度的脉冲图像合成一幅8比特或者10比特深度的灰度图,视具体情况需要也可以选取除了8和10以外的其他值。将第z帧到第z+n-1帧合成一帧n比特深度灰度图的方法可用下式表达:

其中au,v,+i表示第z+i帧脉冲图像上坐标为(u,v)处的值,bu,v则表示这n帧脉冲图像合成的灰度图在(u,v)处的值。

s2、块划分

如图4所示,首先本发明将第一步中得到的灰度图序列在时间上分割成多个全分辨率的立方体,每个立方体的空间分辨率与灰度图序列相同。之后每个全分辨率立方体在空间上被划分为更小的子块以进行后续操作。

s3、预测

在编码每个子块时,本发明对其进行预测,然后编码预测信息和真实值与预测值的残差。根据预测时搜索匹配块的范围,可以将预测分为两种模式。

第一种是在空域内的块预测,在这种模式下,当前子块的预测像素值由同一全分辨率立方体内已编码的相邻子块上的边界像素生成,之后预测值与真实值的残差将被作为后续熵编码的输入,进行下一步编码处理。设当前像素值为f(u,v,z),其中(u,v)和z分别表示该点在整个灰度图序列中空域和时域的坐标,其由已编码的相邻块中的重建值进行预测:

其中ak,l为预测系数,k,l为参考像素的坐标。当前像素的真实值与预测值的误差为:

对于每个块,为了使压缩效果达到最佳,在选择预测参考块时考虑优化目标:

minr

r表示采用当前预测方法编码所有相关信息(如参考块信息,残差等)所需的比特数。需要说明的是,选择得到的最佳参考块不一定满足残差最小,而是指经过熵编码后最终的码率最低。

第二种预测模式是在时域上的块预测,使用邻近全分辨率立方体中的已编码子块预测当前编码子块中的像素值。由于脉冲信号反映的运动信息在时域上有较强的相关性,因此通过时域上的预测可以实现高效压缩。

具体的实现方法是,对于当前子块在之前已编码全像素立方体中寻找一个最佳匹配子块,最佳匹配子块到当前编码子块的位移为运动向量,他们之间的差值为预测残差。同样地,在时域块预测中,本发明也是以最小化采用当前匹配块时编码运动向量mv以及预测残差等信息所需要的比特数为优化目标。

s4、熵编码

最后本发明使用基于上下文的自适应二进制算术编码(cabac)方法来编码之前得到的各种信息。主要涉及二元化,上下文建模以及算术编码三个部分。

二元化的可选方法有截断莱斯二元化(tr),k阶指数哥伦布二元化(egk)和定长二元化(fl)等,实际应用中可根据需要或不同序列的特点调整。以定长二进制化为例,假定某一给定语法元素的值为x,且0≤x≤max,则直接利用十进制数转换为二进制数法则来得到x的定长二值符号串,其长度

在上下文模型中,当前编码块的相邻块中的已编码符号信息,均可作为当前编码块中符号的上下文。在每个二进制符号编码之后对概率模型的变量进行自适应更新。

最后是二进制算术编码,基于递归区间划分的方式,在递归过程中保存编码区间和区间下限。利用自适应的概率模型,对当前语法元素二进制化后的每一个二进制码流根据其概率模型参数进行算术编码。算术编码的输出即为最终的码流。

实施例2

如图5所示,为本发明提供的无损压缩编码系统10的结构示意图,包括:

转换模块11,用于将原始脉冲信号转换为灰度图序列;

块划分模块12,用于对所述灰度图序列进行块划分,得到若干子块;

预测模块13,用于对每个所述子块进行预测得到预测像素值,计算真实值和预测像素值的残差;

熵编码模块14,用于通过熵编码将所述块划分的信息、预测信息和残差信息进一步压缩,并存储为二进制码流。

实验结果

利用本发明在pku-dvs脉冲序列数据集上进行了测试。压缩过程中生成的灰度图深度为8比特,结果在表1中显示。可以看出本发明提出的方法可以显著压缩脉冲序列。并且该算法的时间复杂度是可以接受的,可以有效地应用在实际的脉冲序列压缩、传输、存储系统中。

表1该算法在的实际实验结果

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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