基于最大误差准则的序列数据压缩方法、设备和系统
未命名
07-15
阅读:102
评论:0

1.本发明属于新一代信息技术领域,涉及信息处理方法和信息处理装置,尤其涉及最大误差准则约束下的持续流数据的分割、压缩方法和装置,以及使用该方法及装置的下一代通信网络、物联网或者云计算设备和系统。
背景技术:
2.在信息通信领域,一些特定信息由序列化的数值型数据携带并连续的从信源端向信宿端传输。在大数据背景下,序列化的数值型数据,或者称为序列数据(sequence data),通常具有巨量性、以流数据(flowdata)形式传输或存储的特点。针对巨量性,要求压缩方法可以大大缩减其规模,起到压缩数据以便节约传输、存储资源的作用;针对流数据的特性,又要求这些压缩方法应当具有实时的处理能力。典型的序列化的数值性数据包括以时间作为序信息标记数值信号的数值信号序列,例如,心电数据、脑电数据、音轨数据等常见的时间序列数据类型以及以位置标记序信息的扫描所得的图片数据、磁场数据等非时间序列数据类型。
3.数值信号序列的有损压缩方法优劣的常常由压缩率(或压缩后数据个数)、时间复杂度、空间复杂度和误差等指标来衡量。目前,数值信号序列的有损压缩技术一般采用各种数据转换方式来实现,譬如,小波变换、奇异值分解和分段直线拟合(piecewise linear approximation,pla)等。现有的pla方法中,需要在某种误差限定下来进行分段拟合,以最大误差(l∞-度量)和均方误差(l2-度量)为代表。根据直线的表示形式,pla方法又可以分成不连续pla、连续pla和半连续pla。
4.现有技术中,不管是不连续、连续还是半连续的pla方法,其采用l∞-度量的基础技术大都是建立在原始数据借助最大误差准则转换后的结构上进行构造和分割判断的,每一个数据片段(fragment)被用于形成一个可行直线簇,其中每条表示线均能满足给定的l∞-度量限定时,形成满足该准则的分割(segment)。这就造成至少两方面的缺点,一是转换后的结构必须前置包含最大误差准则的准确数值信息,而不是仅仅直接建立在原始数据之上的,即构造分割结构时必须先获得最大误差准则的信息;二是,由于现有技术均为在形成的可行表示线簇中选择,其最终分割表示线与l∞-度量限定相比仍有冗余。
5.对于基于最大误差准则的pla压缩算法的相关应用,可以参考中国专利公开cn107994906a、cn110620586a和cn112487880a。
技术实现要素:
6.本公开实施例描述了一种新的基于最大误差准则的序列数据压缩方法,至少提供了对原始信号序列进行基于最大误差准则的不连续分段压缩时可用的新的分割依据或者信息交换方式。在涉及该方法的一些改进实施例中,可以优化至不高于现有技术的线性复杂度,或者,构造分割结构时不必先获得最大误差准则的信息,或者,实现最大误差准则下的零冗余。
7.第一方面的,首先提供了一种序列数据压缩方法。在一些实施例中该方法包括:在获得一原始信号序列的不连续分段线性拟合时,计算该原始信号序列已获取数据片段的最小最大误差,以便利用流数据实时处理的缓存获得指定数据片段的最小最大误差,进而将其用于与给定的最大误差准则比较判断其中一数据片段的最优表示线是否满足该最大误差准则,或者优化分段结果。这些实施例利用对原始信号序列的不连续分段线性拟合时的计算和存储资源计算相关数据片段的最小最大误差,在一些包含硬件或者软件形式的计算模块的序列数据压缩设备中,也在序列数据压缩设备做出一个与原始信号序列的任何不连续分段线性拟合有关的输出时,调用计算模块以便在该输出中携带原始信号序列已获取的一个或者多个数据片段的最小最大误差信息的信号,这些携带有原始信号序列已获取的一个或者多个数据片段的最小最大误差信息的静态存储数据载体或者动态输出信号载体,即为本公开序列数据压缩方法的实施后获得的产品。本公开中一个数据片段的最小最大误差在任何时刻都可以根据该数据片段本身全部数据项或者位于其凸壳上的数据项获得,特别的,这些数据项是相对于一压缩概要序列的原始信号序列中的原始信号项。根据本公开多个详细的具体实施例容易看出,在对原始信号序列的不连续分段线性拟合以获得其压缩概要序列时进行计算,特别在一些涉及边缘计算的场合,使用本公开的各个序列数据压缩方法将减少总的资源占用或者消耗。
8.在第一方面另一些实施例中,该方法包括:在获得一原始信号序列的不连续分段线性拟合时,输出该原始信号序列已获取数据片段的最小最大误差。所输出的该数据片段的最小最大误差可以用于判断当前数据片段是否能够满足最大误差准则,或者,比较当前数据片段长度不变的情况下所给定的最大误差准则的冗余程度,以便序列数据压缩方法使用其他的步骤对方法的实施予以调整处理。
9.在第一方面另一些实施例中,该方法包括:在获得一原始信号序列的不连续分段线性拟合时,计算或者输出等方式确认基本落于该原始信号序列已获取数据片段的最小最大误差表示线上的任何数据点,数据点可以是或者不是压缩概要项,可以对应或者不对应由原始信号项的序信息,比如可以是该数据片段凸壳最大数值轴距离位置处的最大数值轴距离线段的中点。改进的,这些数据点可以用最小最大误差表示线的任一线性函数表示。
10.结合第一方面所带来的技术启示,本公开一些优选的方法实施例中包括步骤:在原始信号序列已获取的部分当中,当一数据片段与后续任何包含该数据片段的其他数据片段相比,其最小最大误差满足并最接近一给定的最大误差准则时,计算该数据片段在其满足最大误差准则的一表示线上的压缩概要项。这些实施例利用构造分割时配置的计算和存储资源获得分割数据片段的最小最大误差,并利用该最小最大误差与最大误差准则之间的比较来调整分割位置以提供满足最优策略(压缩数据量最小)的分割结果。
11.结合上述方法实施例的,一些可能的改进实施例中,在确定最优分割结果时,重复使用已获得的相关数据片段的最小最大误差信息,取得该数据片段的最小最大误差表示线,并使用该表示线上的点作为数据片段的压缩概要项。一个满足指定最大误差准的数据片段的最小最大误差表示线是零误差冗余的,根据该方法获得的满足最大误差准则的压缩概要序列的任一表示线段都是零冗余,可以实现压缩结果的精确性,与其原始信号系列相比,基本上是均方误差最小的。一些优选的实施例还能够实现不高于现有技术的线性的时间复杂度或者基本与现有技术相同数量级资源占用率的效果。
12.根据第一方面的技术构思,还提供了一种获得原始信号序列数据片段最小最大误差的方法,该方法包括:读取所述数据片段各原始信号项在其由序信息轴x与数值信息轴y描述的平面xy上的凸壳,根据所述凸壳的最大数值轴距离d计算所述数据片段的最小最大误差η,其中,η=d/2。该方法有助于在数据压缩、显示等任何需要获得数据片段最小最大误差的时候,通过可以线性优化的边界凸壳,获得至少满足线性时间复杂度要求的算法。
13.基于第一方面上述构思的,一些优选实施例中,处理序列数据时,依次读取原始信号序列p的原始信号项并缓存;当且仅当缓存的数据片段通过线性压缩能够实现的最小最大误差最接近指定的最大允许误差时,计算缓存中数据片段的最优表示线。
14.基于第一方面上述构思的,一些优选实施例中,处理序列数据时,依次读取原始信号序列p的原始信号项并缓存;先计算缓存的数据片段通过线性压缩能够实现的最小最大误差值;再计算缓存的数据片段的最优表示线。
15.基于第一方面上述构思的,一些优选实施例中,处理序列数据时,自一原始信号序列p的原始信号项pi起依次获取其原始信号项,并且构造数据片段f
i,j
={pi,
…
,pj}(i《j)唯一对应的一线性函数ri
i,j
,其满足与数据片段f
i.j
中各原始信号项的最大误差η
i.j
最小;其中,如果η
i,j+1
大于一给定的最大允许误差δ,则输出r
i,j
上的前后两个数据点分别作为压缩概要序列s中表示f
i,j
的前后两个压缩概要项。
16.基于第一方面上述构思的,一些优选实施例中,处理序列数据时,自一原始信号序列p的原始信号项pi起依次获取其原始信号项,并且构造数据片段f
i,j
={pi,
…
,pj}(i《j)的上凸壳和下凸壳其中,如果数据片段f
i,j+1
的上凸壳和下凸壳之间的最大距离d
i,j+1
大于两倍的一给定的最大允许误差δ,则输出数据片段f
i,j
并继续从原始信号p
j+1
起依次获取原始信号序列p后续的原始信号项。
17.基于第一方面上述构思的,一些优选实施例中,获得一原始信号序列p在最大误差δ约束下的压缩概要序列s中的全部或部分压缩概要项数据时:接收所述原始信号序列p中的数据片段f
i,j
和原始信号项p
j+1
;其借助构建于原始信号序列p所在xy平面的凸壳ch从该原始信号序列p获得其在一个最大误差δ下压缩概要序列s的压缩概要项数据,所述xy平面使用序信息轴x和数值信息轴y描述,该方法包含步骤:
18.根据所述原始信号序列p的序依次将所述原始信号序列p的原始信号项压入一容器,以便依次生成该容器所包含原始信号序列p的数据片段f的凸壳ch(f);其中,在将一个原始信号项p
j+1
压入该容器后,如果凸壳ch(f
i,j+1
)在xy平面上的最大y轴距离d
i,j+1
》2δ,并且在将原始信号项p
j+1
压入该容器前的凸壳ch(f
i,j
)在xy平面上的最大y轴距离d
i,j
≤2δ,则获取数据片段f
i,j
在最大误差δ下的表示线r,以该表示线r上的前后两个数据点分别作为所述压缩概要序列s的压缩概要项s
2k
、s
2k+1
。第一方面的多个实施例将给出一些数据片段的最小最大误差的计算方法,容易理解,鉴于本公开给出了清晰的最小最大误差的数学定义,在具体的信息处理过程中使用任何方法获得最小最大误差都将解决与其相关的技术问题,因此以任何其他方法获得最小最大误差并在信息系统的某个计算或者输出过程中携带相关的最小最大误差信息的具体实施也包含于本公开限定的实施例中。在本公开的多个实施例中,可以看出第一方面的序列数据压缩方法在于实施任何包含不连续分段线性拟合的序列数据压缩的过程中,利用其不连续分段线性拟合的存储或者传输资源,计算原始信号序列的一个或者多个静态长度或者动态长度的数据片段的最小最大误差,这些最小最大误差或
者作为一种具体形式的最小最大误差表示线,可用于在一个最大误差准则约束下提供分段依据、误差评估、优化空间分析等与信息处理有关的各项指标,甚至一些装置实施例中还体现了该方面方法适于对最大误差准则的动态调整和模糊化效果。虽然其至少一个显著效用在于,能够提供另一种不同任何现有技术构思的获得最优不连续分段线性拟合上的压缩概要序列,但显然实施该方面技术方案的可以获得的效果并不局限于此,还包括说明书各个实施方式中所体现的上述其他方面的技术启示。
19.第二方面的,提供了一种序列数据压缩设备。在一些实施例中,该设备包含一个或者多个计算模块,这些计算模块被配置为用于:计算原始数据序列中一指定数据片段的最小最大误差。这些设于或者不设于信息系统的设备可以在进行压缩计算时,或者其他任何时刻调用计算模块以获得一个数据片段的最大最小误差,计算模块的输出结果可以用于第一方面的任一实现中的目的,或者不包含在第一方面的其他目的,比如动态显示一原始信号序列的部分或者全部原始信号项的表示线,或者仅仅评估用于一条表示线与其对应原始信号序列的数据片段相比还有多少的误差优化空间,这些评估可以是或者不是基于相同压缩率的。这些实施例中,数据片段的最大最小误差的计算可以涉及或者不涉及对最大误差准则的读取,当不配置系统为读取时,可以实现最大误差准则的单向管理,即,可以在额外的判断单元中单独比较数据片段的最小最大误差与给定的最大误差准则,而计算模块不必获取最大误差准则的精确值。
20.结合第二方面所带来的技术启示,本公开一些优选的设备实施例中计算模块包含缓存单元。这些缓存单元被配置为用于存储原始信号序列一数据片段中位于该数据片段凸壳上的若干原始信号项;若干原始信号项完整携带凸壳最大数值轴距离处的位置信息;计算模块根据缓存单元存储的原始信号项计算该数据片段的最小最大误差,和/或,计算该数据片段的最小最大误差表示线。使用最小最大误差表示线获得的压缩概要项,以及使用这些压缩概要项还原后的信号项基本都落于最小最大误差表示线上,与其原始信号序列该处的数据片段具有最小的均方误差。容易理解,一数据片段在通过其序信息轴x和数值信息轴y描述的平面xy上具有固定的凸壳,缓存单元以指针或者值的方式暂存数据片段中的位于凸壳顶点上的原始信号项,计算模块被配置的第二算法,根据缓存的凸壳顶点计算经过该凸壳的全部表示线的最小最大误差。一些优选的实现中,由于凸壳一定具有的最大数值轴距离,即其上凸壳与下凸壳之间在数值信息轴y方向上的最大距离(简称该凸壳的最大y轴距离),并且该最大数值轴距离具有特定的序信息轴位置,保存完整携带凸壳最大数值轴距离处的位置信息的部分凸壳顶点上的原始信号项,即可获得相应的最小最大误差。
21.结合上述优选方法实施例的,一些可能的改进实施例中,所述计算模块还包含缓存操作单元,其被配置为用于:将所述数据片段后续的一原始信号项写入所述缓存单元,以及从所述缓存单元中删除一个或者多个原始信号项,使得所述缓存单元中存储的原始信号项完整携带扩展数据片段凸壳最大数值轴距离处的位置信息;所述扩展数据片段由所述数据片段和所述后续原始信号项组成。借助缓存操作单元配置的第一算法对缓存单元的更新操作,使得缓存单元通过不完全更新存储了新的扩展数据片段中可用于计算其凸壳最大数值轴距离的若干顶点处的原始信号项,当再次调用计算模块被配置的第二算法时,可以获得扩展数据片段的最小最大误差。
22.第三方面的,提供了一种计算机可读存储介质。该计算机可读存储介质包括所存
储的一原始信号序列的一不连续分段线性拟合的压缩概要序列,该压缩概要序列的压缩概要项均基本落于其对应原始信号序列数据片段的满足该数据片段的最小最大误差的表示线上。当该计算机可读存储介质分布的或者集总的设置于信源侧设备时,信宿侧设备通过信道读取该计算机可读存储介质的压缩概要序列,可以直接获得信源侧原始信号序列的在最大误差准则下的最小均方差的零误差冗余的不连续表示线段。当该计算机可读存储介质分布的或者集总的设置于信源侧到信宿侧之间的信道设备时,由于压缩概要序列可以形成原始信号序列的在最大误差准则下的最小均方差的零误差冗余的不连续表示线段,使得通信链路保持在较好的压缩精度上,至少有助于实施高精度的免解码的中值滤波处理,如专利公开cn112487880a所描述的多种中值滤波器。
23.第四方面的,提供了一种显示系统。这些显示系统包括:显示器、一个或多个处理器及存储器;所述存储器动态或者静态存储一原始信号序列中连续的若干原始信号项;所述一个或多个处理器被配置为实施以下操作:将所述连续的若干原始信号项基于一最大误差准则分为一个或多个数据片段;以及在所述显示器上显示输出所述数据片段的最小最大误差表示线。至少一个效果在于,当需要通过显示的方式提供描述一原始信号序列表示线时,该显示系统能够提供一个实时的或者非实时的高精度人机接口。
24.根据第四方面提供的技术构思,这些显示系统的一些改进实施例中,所述一个或多个处理器被配置为还实施以下操作:当最大误差准则改变时,将所述存储器存储的若干原始信号项重新基于该最大误差准则分为一个或多个数据片段;以及在所述显示器上更新的显示输出所述数据片段的最小最大误差表示线。这种动态更新,可以用于对原始信号序列的不连续表示线的放大或者缩小显示时,通过调整最大误差准则,刷新后均由零误差冗余的最精确的表示线来描述原始信号序列,而不必时刻不压缩的展示原始信号项。
25.本公开上述各个方面的实施例的效果并不限于上述表述,通过独立或者任意一个以上的相互结合的方式所实现更多的效果,本领域技术人员也可以用以下具体实施方式及附图中的描述显易的理解以及在实施或者改进实施中获得。
附图说明
26.为了更清楚地说明本公开实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1是现有技术中对原始信号序列进行分别进行不同分段线性拟合的示意图;
28.图2是现有技术中两种基于最大误差准则的分段线性拟合的技术构思原理示意图;
29.图3是根据至少一些具体实施例的示出可配置本公开序列数据压缩方法的一种设备;
30.图4是根据至少一些具体实施例的示出可配置本公开序列数据压缩方法的另一种设备;
31.图5是根据至少一些具体实施例的示出本公开序列数据压缩方法的流程图;
32.图6是根据至少一些具体实施例的示出本公开中指定数据片段的凸壳最大数值轴
距离处的位置及最大数值轴距离的示图;
33.图7是示出了本公开一种序列数据压缩设备的系统结构的示图;
34.图8是示出了本公开一种序列数据压缩方法在信息系统中配置位置的示图;
35.图9根据至少一些具体实施例的示出本公开序列数据压缩方法的另一流程图;
36.图10是示出了本公开另一种序列数据压缩设备的系统结构的示图;
37.图11是示出了本公开另一种序列数据压缩方法在信息系统中配置位置的示图;
38.图12是示出了本公开一种具体序列数据压缩方法adadisalg与一现有disconnalg对相同原始数据的数据点处理差异的示图;
39.图13是示出了本公开adadisalg与disconnalg对相同数据源的分段线性拟合结果比较的数据表;
40.图14根据至少一些具体实施例的示出本公开一种显示系统;
41.图15根据至少一些具体实施例的示出本公开另一种显示系统;
42.图16根据至少一些具体实施例的示出本公开另一种显示系统。
具体实施方式
43.首先需要说明的是,本说明书出现短语类似“在一个实施方案中”或“在实施方案中”并不一定是指同一个实施方案。其中的特定特征、结构或特性可以与本公开一致的任何合适的方式被组合。术语“包括”是开放式的。如在权利要求书中所使用的,该术语不排除附加结构或步骤。考虑以下引用的权利要求:“一种包括一个或多个处理器单元
…
的装置”此类权利要求不排除该装置包括附加部件(例如,网络接口单元、图形电路等)。各种单元、电路或其他部件可被描述为或叙述为“被配置为”执行一项或多项任务或任务步骤。在此类上下文中,“被配置为”用于通过指示单元/电路/部件包括在操作期间执行这一项或多项任务以及任务步骤的结构(例如,电路)来暗指该结构。如此,单元/电路/部件据称可被配置为即使在指定的单元/电路/部件当前不可操作(例如,未接通)时也执行该任务或者任务中的具体步骤。与“被配置为”语言一起使用的单元/电路/部件包括硬件——例如电路、存储可执行以实现操作的程序指令的存储器等。此外,“被配置为”可包括由软件或固件(例如,fpga或执行软件的通用处理器)操纵的通用结构(例如,通用电路)以能够执行待解决的一项或多项任务的方式操作。“被配置为”还可包括调整制造过程(例如,半导体制作设施),以制造适用于实现或执行一项或多项任务的设备(例如,集成电路)。如本文所用,“第一”“第二”等指示术语充当它们所在之前的名词的标签,并且不暗指任何类型的排序(例如,空间的、时间的、逻辑的等)。例如,模块/单元或者模块/单元被配置的执行任务在本文中可被描述为执行“第一”任务/步骤/算法和“第二”任务/步骤/算法的操作。术语“第一”和“第二”未必暗指第二算法必须在第一算法之前被执行。如本文所用,“基于”、“根据”或“取决于”,这些术语用于描述影响确定的一个或多个因素。这些术语不排除可影响确定的附加因素。即,确定可仅基于这些因素或至少部分地基于这些因素。考虑短语“基于b来确定a”,在这种情况下,b为影响a的确定的因素,此类短语不排除a的确定也可基于c,而在其他实例中,也可仅基于b来确定a。在权利要求书中使用时,术语“或”被用作包含性的或,而不是排他性的或。例如,短语“x、y或z中的至少一个”表示x、y和z中的任何一个以及它们的任何组合。
44.本发明各个实施例所涉及的序列数据在最大误差准则(maximum error bound)下的分段线性拟合压缩方法,可参考图1的,以时间序列数据类型的原始信号序列为例进行描述,该信号序列包含多个信号项(data point),从分段线性拟合各个分割(segment)的分段表示线(linesegment)的输出形式上来说,一般包括不连续分段(disconnectedsegments)、连续分段(connectedsegments)以及半连续分割(semi-connectedsegments)三类,它们的区别在于相邻的输出直线是否有交点以及交点的位置是否在整时刻。显然任何序列数据均可以通过现有技术转换为类似的信号序列来处理。除本文特别说明以外,中国专利公开cn107994906a、cn110620586a和cn112487880a中包含的技术手段以及技术术语也包含于本文的全部相关实施例中。
45.在相关的计算机应用中,基于最大误差准则的分段线性拟合至少要考虑两个实用性问题:1)保证线性的时间复杂度以避免挑战计算设备实时处理能力;2)满足最优性以使拟合输出结果存储占用最小。现有技术为克服上述实用性问题所带来的技术困难,存在两种主要的技术指引。如图2(a)所示,第一种分段线性拟合方法(an on-line algorithm for fitting straight lines between data ranges,commun.acm,vol.24,no.9,pp.574
–
578,1981.;maximum error-bounded piecewise linear representation for online stream approximation the vldb j.,vol.23,no.6,pp.915
–
937,2014.;an optimal online semi-connected pla algorithm with maximum error bound.ieee transactions on knowledge and data engineering,34(1):164-177,2022.)中,通过原始信号项p和最大误差准则δ的数值信息,分别构造不封闭的上、下边界(图中虚线画出的与之间的上边界cvx以及sb与sc之间的下边界边界上标定的点是在原始信号项p数据点数值上加减最大误差准则δ得到的),在上边界与下边界之间找出所有满足约束条件的拟合表示直线并从中任意选择一条。如图3所示,第二种分段线性拟合方法(an optimal algorithm for approximating a piecewise linear function inf.process.lett.,vol.9,no.3,pp.159
–
162,1986.;fitting polygonal functions to a set of points in the plane,cvgip:graphical models image process.,vol.53,no.2,pp.132
–
136,1991.;piecewise linear approximation of streaming time series data with max-error guarantees in proc.31st int.conf.data eng.,2015,pp.173
–
184.)中,是通过原始信号项p和最大误差准则δ的数值信息,来构造多面体,这个多面体被称为通道,然后在通道两侧数值窗口之间寻找最短路径以获得具有存储最优性的输出直线表示(线性函数)。即现有技术均考虑在最大误差准则δ的参与下构造可行直线簇的边界条件,然后从直线簇中选择最终的分割表示线。
46.与现有技术指引所带来的技术启示相反的,本公开提供的技术构思在于,不预读取给定的最大误差准则δ以及不构造直线簇的直接获得数据片段唯一的最小最大误差表示线,并且示范的给出同时满足存储最优性和线性时间复杂度的实用性约束下的优选的实现方式。其中,一个数据片段的最小最大误差η指,对于任何小于η的η
′
,不存在满足以η
′
为最大误差准则的线性函数表示该数据片段。容易理解,一个数据片段的最小最大误差表示线,是以该数据片段的最小最大误差η为最大误差准则时的用于表示该数据片段的直线,一些实施例中,可以用一线性函数的参数或者任何其他适于信息系统传输或存储的形式描述该直线。
47.为更进一步阐述本公开为实现预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。如非特别说明,本公开及实施例中涉及符号及其含义如下:
[0048][0049]
本公开中的多个实施例主要应用于信息系统,具体是具备信息压缩处理功能的系统,这些系统至少有一个输入接口采集、接收或者读取由原始序列数据携带的信息,并有一个输出接口发送或者写入经过处理的压缩序列数据,这些压缩序列数据仍误差可控的携带输入接口获得的所述信息,这些系统并不具局限于数据压缩系统,也可以包括于数据采集、传输、存储系统中或者其中的一些分布的或者集总的设备中。序列数据是携带序信息的具有物理含义(流量、温度、价格、色度)的数值化的数据,典型的如包含时间序信息的流数据,当序列数据被结构化为离散的可以依次进行数值处理的若干连续信号时,这些序列数据具体在通信链路中发送/接收的形式可以被称为信号序列,典型的例如在cpu的处理线程(thread)中对cache、ram中序列数据的顺次读取处理显然属于对这些序列数据作为信号序列处理的方式,即使这些序列数据时被块存储甚至是分布存储的。本公开中,原始信号序列是相对基于其一个压缩概要序列结合序信息还原后的信号序列而言。至少一个方面的,当上述具备信息压缩处理功能的系统所输出的信号序列可用于提取其输入的信号序列所携带的信息,则其输入的信号序列即为原始信号序列。为简化描述,以下包含信号序列的实施例主要使用时间序列为例,这并不影响本领域技术人员将其中的技术在不付出创造性劳动的情况下应用于处理其他信号序列的信息系统中。
[0050]
在第一方面的一些方法实施例中,在获得一原始信号序列的不连续分段线性拟合时,计算该原始信号序列已获取数据片段的最小最大误差。以图3描述的信息系统设备为参考的实现该方法的示范中,具备序列数据压缩处理功能的设备100至少包括接收器101、处理器102、存储器103以及发送器104,其中接收器101所获得的输入数据中包含原始信号序列p={p1,p2,
…
pn}的一个数据片段f={pi,
…
pj}(1≤i《j≤n),处理器102被配置为执行第一任务的若干第一步骤,即完成获得原始信号序列p的不连续分段线性拟合以便发送器104
输出原始信号序列p的一个压缩概要序列s的任务中的若干第一步骤。同时设备100还至少被配置为执行第二任务的若干第二步骤,即完成以计算该原始信号序列已获取数据片段f的最小最大误差的任务中的若干第二步骤。
[0051]
一些具体的实施例中,本文表述的第二步骤被配置于处理器102或者设备100中的其他处理器执行,以便在处理器102执行任何第一步骤期间,这些第二步骤被并行的或者交替的执行。
[0052]
另一些具体的实施例中,至少一个第一步骤被一个或者多个第二步骤触发或者传递参数。
[0053]
另一些具体的实施例中,至少一个第二步骤被一个或者多个第一步骤触发或者传递参数。
[0054]
在本文相关实施例中,存储器103可以同时或者不同时的为第一任务和第二任务提供执行中必要的缓存资源,比如提供必要的堆栈,或者暂存通过第二任务得到的最大最小误差,可以理解,当需要节约资源时,可以借此优化以减少第一任务和第二任务执行时的总的缓存资源占用。
[0055]
实现如本文所述的序列数据压缩方法实施例中,结合图3描述的,获得原始信号序列p的不连续分段线性拟合以便发送器104输出原始信号序列p的一个压缩概要序列s的第一任务可以是任何一种现有的方法实现或者是本公开提供的其他方法实现,该任务可以是全部或者部分的由第一步骤组成。
[0056]
可以理解,第一步骤可以包括获得原始信号序列p的不连续分段线性拟合以便发送器104输出原始信号序列p的一个压缩概要序列s的任务中的任何读取、输出、存储等步骤。示范的,在执行任何本文方法任务中基于最大误差准则δ获得一个不连续分割f
i,j
以实现最优存储时,设备100执行全部第二步骤来获得当前不连续分割的最小最大误差η
i,j
。可以理解,当以最小最大误差η
i,j
与给定最大误差准则δ之间的差值评估误差冗余时,可以提示当前不连续分割f
i,j
存在一个进一步优化进而获得最大误差更小的表示线。
[0057]
在第一方面的一些方法实施例中,在获得一原始信号序列的不连续分段线性拟合时,输出该原始信号序列已获取数据片段的最小最大误差。以图4描述的信息系统终端设备为参考的实现该方法的示范中,设备200为具备序列数据压缩处理功能的信息系统中信源侧、信宿侧或者通信链路上的数据发送设备,其至少包括第一存储器201、第二存储器202、处理器203以及发送器204,其中第一存储器201存储表示原始信号序列p={p1,p2,
…
pn}中满足最大误差准则的连续k(k≥1)个数据片段f1,
…
,fk的不连续分段线性拟合的压缩概要序列s={s1,
…
,s
2k
},第二存储器201存储这些数据片段的最大最小误差序列η={η1,
…
,ηk},第一存储器201、第二存储器202、处理器203和发送器204通过总线系统205耦合,处理器203被配置为通过发送器204信息系统中其他设备或者模块发送s中任一对压缩概要项(s
2m-1
,s
2m
),(m≤k)以便信息系统中其他设备或者模块获得原始信号序列p的不连续分段线性拟合时,同时发送压缩概要项对应的最大最小误差ηm以实现数据片段fm的最大最小误差同时输出。
[0058]
容易理解,由于序信息m在整个信息系统中的索引作用,这种压缩概要项(s
2m-1
,s
2m
)和其对应最大最小误差ηm的同时输出可以是同步或者异步的,接收压缩概要项(s
2m-1
,s
2m
)和其对应最大最小误差ηm的设备或者模块也可以是相同或者不相同的。
[0059]
容易理解,在信息系统对原始信号序列进行关于数据片段f
k+1
的分割时,设备200同时发送的压缩概要项(s
2m-1
,s
2m
)和其对应最大最小误差ηm有助于实现数据片段f
k+1
线性最优的分割和/或动态优化用于约束压缩过程的最大误差准则。
[0060]
参考图5描述的,在一些序列数据压缩方法中,第一任务至少包含判断原始信号序列最优分割位置的第一步骤s1001、s1002,其分割依据包含通过s1002多次调用执行第二任务获得的不同分割位置所获得的不同数据片段的最大最小误差。容易理解,现有技术中满足最优分割的线性分段拟合方法均可以用于基本实现本文中的第一任务中的第一步骤s1001、s1002或者s1003。本文的序列数据压缩方法在于在第一任务执行过程中基于任何目的的用调用、通信等任何方式插入第二任务的执行,特别是第二任务中包含类似s2000的用于计算数据片段凸壳的最大数据轴距离、最大数据轴距离所在位置、最小最大误差或者最小最大误差表示线中的一个或者多个第二步骤。显然,由于对于确定的数据片段或者数据片段的凸壳,其凸壳的最大数据轴距离、凸壳最大数据轴距离所在位置、最小最大误差或者最小最大误差表示线均是唯一的,均包含了最小最大误差的相关信息,并且计算方法相近,因此通过任何方式获得凸壳的最大数据轴距离、凸壳最大数据轴距离所在位置、最小最大误差或者最小最大误差表示线任一项,均可以认为是实施了计算或者获得其最小最大误差的步骤。
[0061]
作为示范并结合图3的,接收器101从设备100外部,如传感器,依次获得原始信号项的数值信息,并在加注其作为序信息索引的时间戳后,将其以原始信号序列的方式存入存储器103。如果自时刻τi开始依次获得信号的数值信息yi,并加盖时间戳ti,以pi=(ti,yi)的方式结对存入存储器103中,以及后续的信号携带的数值信息存储为p
i+1
、p
i+2
、
……
,这些接收并存储的原始信号序列p中的连续原始信号项即为原始信号序列已获取的部分,在第一步骤s1002中,多次调用第二任务中实现第二算法的第二步骤s2000,从j=i+1开始,迭代的计算数据片段f
i,j
的最小最大误差η
i,j
,当η
i,j
≤δ时,令j=j+1,再次计算η
i.j
。直到一个时刻η
i,j
》δ,则认为当前数据片段f
i,j-1
与后续f
(i,j)
、f
(i,j+1)
……
等任何包含数据片段f
i,j-1
的其他数据片段相比,其最小最大误差η
i.j-1
满足并最接近给定的最大误差准则δ,数据片段f
i,j-1
为原始信号序列从信号项pi开始的一个最优分割。可选的,下一个最优分割的起始位置即为pj。
[0062]
在获得上述最优分割后,可以使用现有技术计算数据片段f
i,j-1
在其满足最大误差准则的任一表示线上的压缩概要项。
[0063]
容易理解,本文第二方面提供的压缩设备实施例中,至少包含被配置为完整执行至少一个第二步骤s2000的计算模块,图2、3示明了类似装置的系统结构。
[0064]
容易理解,将数据片段f中的原始信号项通过总线系统105写入存储器103中的一个指定存储位置时,处理器102可以执行指令在存储器103中开辟另外的存储空间复制该存储位置的原始信号项或者建立这些原始信号项索引,以实现将存储器103配置为第二方面压缩设备的缓存单元。
[0065]
进一步结合第一方面方法实施例的技术构思,一些第二方面提供的压缩设备实施例中,体现了更为具体的处理结构。这些实施例压缩设备为实现一个第二步骤s2000,动态或者静态的被部署至少一个缓存单元,缓存单元用于存储指定数据片段凸壳的最大数值轴距离处的位置信息。本文实施例对压缩设备的配置,可以包括指定数据片段f
i,j
的凸壳ch
(f
i,j
)最大数值轴距离d
i,j
的相关信息的确定过程。
[0066]
示范的一个配置中,包括确定凸壳上顶点到其一个边的数值轴距离:在描述原始信号序列的平面xy上,参考图13,任意一点p和线段(ti《tj),设点p沿y轴与直线的交点为p
′
,线段的长度为则p到的数值轴距离,记为其确定方法为:
[0067][0068]
示范的一个进一步的配置中,包括确定凸壳上两条边之间的数值轴最大距离:在描述原始信号序列的平面xy上任意两条线段和斜率分别为ρ
ab
和ρ
cd
,其中ta《tb,tc《td,那么和之间的数值轴最大距离,记为其确定方法为:
[0069]
当[ta,tb]∩[tc,td]=φ,否则,记[ta,tb]∩[tc,td]=[te,tf];
[0070]
当ρ
ab
≥ρ
cd
,则
[0071]
当ρ
ab
《ρ
cd
,则
[0072]
示范的一个进一步的配置中,包括确定凸壳的最大数值轴距离:基于凸壳上两条边之间的数值轴最大距离的,对于凸壳ch内的任意两条边edi和edj,其中i≠j,凸壳ch的最大数值轴距离,记为d,其确定方法为:d=max(d(edi,edj)),显然,edi∈ch且edj∈ch。
[0073]
容易理解,这些配置中,通过迭代比较,其中最终用于计算凸壳ch(f
i,j
)的最大数值轴距离d
i,j
的三个顶点即包含了该凸壳最大数值轴距离处的位置信息。任何方法获得该三个顶点的超集,也包含了该位置信息。参考图6展示的数据片段f
i,j
的凸壳ch(f
i,j
),虚线与序信息轴垂直,其序信息轴坐标即凸壳最大数值轴距离d
i,j
的出现的位置,其长度即为d
i,j
。由于虚线的长度和位置,均可以由凸壳上{sp
i,j
,mp
i,j
,ep
i,j
}三个顶点的位置计算确定,因此数据片段f
i,j
中任何包含三个顶点的集合存储于缓存单元时,均可视为缓存单元存储了完整携带所述凸壳最大数值轴距离处的位置信息的原始信号项。在一些具体实施例中缓存单元也可以通过存储凸壳上侧或者下侧的与最小最大误差表示线平行的边,以及另一侧的与该边距离为凸壳数值轴最大距离的顶点的方式存储凸壳最大数值轴距离处的位置信息,示范的,通过该边的斜率向该顶点方向平移最大数值轴距离的一半,以此确定该数据片段的最小最大误差表示线。
[0074]
容易理解,描述原始信号序列的平面xy在如存储器103存储的时间序列类型的原始信号序列时,即为该原始信号序列的时序空间,任何原始信号序列根据其序信息均可以线性的映射为该时序空间。
[0075]
示范的,由于第二方面提供的压缩设备实施例中,计算模块被配置为实现第二步骤s2000,获得原始信号序列数据片段最小最大误差的方法,该方法包括:读取所述数据片段各原始信号项在其由序信息轴x与数值信息轴y描述的平面xy上的凸壳,根据所述凸壳的
最大数值轴距离d计算所述数据片段的最小最大误差η,其中,η=d/2。
[0076]
参考图4相关实现方式的,在结合第三方面以及第一方面的一些设备实施例中,其中第一存储器201优选的使用第三方面提供的计算机可读存储介质。第一存储器201存储原始信号序列p的全部或者部分的压缩概要序列s,由于压缩概要序列s各个压缩概要项均基本落于其对应原始信号序列各数据片段的最小最大误差表示线上,发送器204输出的压缩概要项可以直接均用于绘制其对应原始信号序列各数据片段的最小最大误差表示线,或者,用于结合原始信号序列的序信息还原该原始信号序列携带的全部或者部分信息,如心电图、音频、图片等。
[0077]
容易理解,第二方面提供的各个压缩设备实施例还适于进行连续信号处理的线性优化。参考图6、7的,设置于一信息系统的信源侧和信宿侧之间的压缩设备300,其适用于将信源侧逐个不间断获得的原始信号序列p在复杂度为线性阶o(n)的配置算法实现基本实时的最优压缩,即线性拟合,并向信宿侧提供这些通过线性拟合获得的压缩概要项或者压缩概要序列s。
[0078]
这些压缩设备300中,包含第一算法和第二算法的满足线性阶o(n)的处理步骤被配置于其计算模块310中,这些明显区别现有技术的处理步骤在本文中称为adadisalg。示范的,缓存单元311作为计算模块调用缓存操作单元312配置的第一算法期间,用于存放凸壳,特别是包含凸壳最大数值轴距离处的位置信息的部分的一个或者多个容器,同时,计算模块310在判断其对应数据片段满足具体的分割条件后,调用第二算法获得该数据片段的最小最大误差并用于获得其最小最大误差表示线上的压缩概要项。adadisalg可以在压缩设备300任何一个从原始信号序列任一位置开始接收的时刻循环对原始信号序列该位置后续的原始信号项进行处理。参考图8、9、10的,一个实施例中计算模块310配置的adadisalg包含步骤s3001至s3004。
[0079]
示范的,对于信源侧一个初始时刻起提供的待处理的时间序列数据p={p1,p2,
…
,pn}以及压缩设备300获得的一个给定的最大误差δ≥0,数据点个数为n。该时刻前计算模块310具有初始化变量:序列索引i=1,j=i+1,分割个数k=1,压缩点的存储列表s=φ。显然对任一确定时刻,被部署为存储凸壳ch(pi,pj)的缓存单元311的存储状态唯一对应原始信号序列的一数据片段f(pi,pj),以及一个确定的位于(pj,p
j+1
)的分割位置,存储状态可以为原始数据本身或者原始数据保存于其他存储器时用于获得原始数据的索引数据,如指针。对于确定的凸壳ch(pi,pj)或者数据片段f(pi,pj),通过计算模块310配置的第二算法可以仅读取缓存单元311中的数据获得的数据片段f(pi,pj)的最小最大误差表示线r和/或最小最大误差η。一些优选示范中,缓存单元311中至少部署两个容器(container,最小化外界影响,根据已分配资源相对独立自持运行的计算设备架构),以便在将一后续原始信号项p
j+1
压入缓存单元311,使缓存单元311的存储状态由数据片段f(pi,pj)更新为一个扩展数据片段f(pi,p
j+1
)时,分别独立的,和/或可并行的,使用第一算法更新凸壳ch(pi,pj)的上凸壳ch
+
(pi,pj)部分步骤和下凸壳ch-(pi,pj)部分步骤。一些优选示范中,第一算法的模块被配置为使用缓存单元311存储状态对应的凸壳内最大的y轴距离d直接计算其最小最大误差表示线r和/或最小最大误差η。参考图9,这些基本或者优选实施例可以结合以下示范步骤描述理解。
[0080]
步骤s3001,初始化容器。这些部署于缓存单元311的容器包含一个上凸壳ch
+
(pi,
pj)的容器和一个下凸壳ch-(pi,pj)的容器,自一个初始时刻起的初始化期间,依次获取原始信号项,直到上凸壳与下凸壳不重合。显然容器中的原始信号项或称数据点、点均在平面xy上。
[0081]
示范的,先利用点pi和p
i+1
初始化容器中凸壳,即将pi和p
i+1
压入容器ch
+
(pi,pj),以及将pi和p
i+1
压入容器ch-(pi,pj)中。初始化sp
i,j
=pi,当前分割的表示线即为直线继续获得后续一个信号项,更新j=j+1,如果新数据点pj仍在r上,则将pj分别压入容器ch
+
(pi,pj)以及ch-(pi,pj)中,并且循环本步骤,继续更新j=j+1,直到新的数据点pj不在r上,此时转入步骤s3002。此时,d=0和η=0。初始化mp
i,j
=ep
i,j
=p
j-1
,state=null,status(l_state,f_state)=(null,null),para=null。
[0082]
步骤s3002,更新容器中的凸壳。
[0083]
示范的,第一算法的更新步骤部分配置为三角检测法。将不在r上的点pj分别压入容器ch
+
(pi,pj)以及ch-(pi,pj),顺序或者并行的调用第一算法,分别更新ch
+
(pi,pj)和ch-(oi,pj):针对ch
+
(pi,pj),从其尾部依次取出3个点,分别记作ch
+0
、ch
+1
和ch
+2
,如果ch
+1
在直线的下方,则从ch
+
(pi,pj)删除点ch
+1
,直到ch
+1
在直线的上方;针对ch-(pi,pj),从其尾部依次取出3个点,分别记作ch-0
、ch-1
和ch-2
,如果ch-1
在直线的下方,则从ch-(pi,pj)删除点ch-1
,直到ch
+1
在直线的下方。另一些实施例中第一算法也可以包括步骤s3001和步骤s3002。在一些不使用容器技术的实施例中,容器的缓存功能部分显然可由建立为堆栈或者链表的存储架构实现。
[0084]
步骤s3003,计算容器中凸壳的最大最小误差。本步骤实现本文第二算法。示范的,计算模块310调用第二算法判断加入pj后的state,并更新status.l_state=state。根据status的状态完成最大最小误差的计算,可以分为四种情况实施不同的操作步骤。
[0085]
情况一,status.f_state==null时:
[0086]
显然,此时i=1。d为p
j-1
点到边的y轴距离,更新ep
i,j
=pj、para=ρ(p
j-1
,pj)和η=d/2。如果η》δ,转入步骤3004;否则,若state==false,若state==true,更新status.f_state=status.l
_
state。
[0087]
情况二,status.l_state==null时:
[0088]
如果status.f_state==false并且更新更新如果status.f_state==true并且更新
[0089]
情况三,status.f
_
state==status.l
_
state时:
[0090]
此时,可以根据state的值的判断结果,进行不同步骤处理。
[0091]
state==true:若更新利用η_find策略得到d和η,如果η》δ,转步骤3004;否则,更新略得到d和η,如果η》δ,转步骤3004;否则,更新ep
i,j
=
pj和计算计算
[0092]
state==false:若更新利用η_find策略得到d和η,如果η》δ,转步骤3004;否则,更新策略得到d和η,如果η》δ,转步骤3004;否则,更新ep
i,j
=pj和计算计算
[0093]
情况四,status.f_state==!status.l_state时:
[0094]
state==false:利用η-find策略得到d和η,如果η》δ,转步骤4;否则,更新更新和和计算
[0095]
state==true:利用η_find策略得到d和η,如果η》δ,转步骤4;否则,更新ep
i,j
=pj和计算
[0096]
更新status.f_state=status.l_state。
[0097]
其中,第二算法包含的η_find策略为:对于当前分割下数据片段f(pi,pj)以及对应凸壳ch(pi,pj)和mp
i,j
,利用新点p
j+1
得到ch(pi,p
j+1
)和status后,如果status.l
_
state=null,则mp
i,j+1
=mp
i,j
,η不变;如果status.f_state==status.l
_
state,则在mp
i,j
所属的上凸壳或下凸壳上,遍历大于mp
i,j
.t的顶点,找出最大y轴距离d
i,j+1
;如果status.f_state==!status.l
_
state,则更新mp
i,j
=ep
i,j
,在mp
i,j
所属的上凸壳或下凸壳上,遍历大于或等于mp
i,j
.t的顶点,找出最大y轴距离d
i,j+1
和mp
i,j+1
。记mp
i,j+1
在对应ch
+
(pi,p
j+1
)或ch-(pi,p
j+1
)的索引为index。
[0098]
容易理解,在使用一个η-find策略遍历mp
i,j
所属的上凸壳或下凸壳时,不是在任何情况下都执行。优选的实施例中,在计算模块310中保持一个临时斜率信息para,记录mp
i,j
与相邻顶点形成直线的斜率,通过比较para与对应边的斜率,提前终止遍历。即,mp
i,j
∈ch
+
(pi,pj)(mp
i,j
∈ch-(pi,pj)),从ch-(pi,p
j+1
)(ch
+
(pi,p
j+1
))从尾部取出两点,记为和如果如果才需要遍历中的顶点。显然,优选的实施例中,容器中mp
i,j+1
在对应ch
+
(pi,p
j+1
)或ch-(pi,p
j+1
)的索引index,以及mp
i,j
与相邻顶点形成直线的斜率para,即组成了当前缓存单元311中数据片段凸壳最大数值轴距离处的位置信息。第二算法可以根据指定的数据片段凸壳最大数值轴距离处的位置信息获得当前的最小最大误差η,一些优选的实施例中,第二算法也可以继续获得最小最大误差表示线r,示范的,步骤s3004中最小最大误差表示线r即为经过线段中点并与其ed
i,j
平行的直线。
[0099]
步骤s3004,输出最小最大误差表示线上的压缩概要项。示范的,计算模块310通过执行步骤s3003获得了一个最优分割,此时可以使用最小最大误差表示线r分别计算其在时
刻ti,t
j-1
的交点s
2k-1
和s
2k
并作为其数据片段的压缩概要项。一些实施例中计算模块310将s
2k-1
和s
2k
存储于第三方面的计算机可读存储介质的列表s中,以便作为相应的在一个时刻输出若干数据片段的压缩概要序列s。本步骤中还清空容器ch
+
(pi,pj)和ch-(pi,pj),并更新k=k+1,i=j,以便作为原始信号序列的时间序列数据p未处理完时,可以开始重新转入步骤s3001处理以获得该序列的下一个最优分割。
[0100]
容易理解,在adadisalg新获得一个信号项并进行的每一次循环处理中,时间消耗主要包含两部分:解决更新凸壳问题的第一算法和在凸壳上寻找最大的y轴距离的第二算法。当获得一原始信号项即数据点p
m-1
并更新为凸壳ch(p1,...,p
m-1
)时,其容器中上凸壳部分至多进行了2m次的三角检验,而其下凸壳部分同样至多进行了2m次。显然,如果对3个数据点的三角检验操作时间消耗为c1,那么实现凸壳更新的第一算法的时间复杂度为4c1m。当更新凸壳后,通过第二算法计算ch(p1,...,pm)的最大y轴距离时,至多完成一次由点到线段的y轴距离计算,设其时间消耗为c2,那么总的时间消耗为c2m。因此,实施adadisalg算法时,总的时间消耗为4c1m+c2m+c3,其中c3表示其余的时间消耗,为常数。显然,adadisalg的时间复杂度为o(n)。
[0101]
参考图10,本文第二方面的一些压缩设备实施例中,压缩设备300本身不必获得或者预设最大误差准则δ,而由其他的判断模块320控制其压缩过程或者分割过程,压缩设备通过提供需要判断的当前存储状态的最大数值轴距离d或最小最大误差η,由判断模块320根据动态或者静态的最大误差准则δ给出判断信号以控制压缩设备300的压缩或者分割过程。一些优选的示范中,判断模块320可以根据最后给出的最小最大误差η以及最大误差准则δ1,容易给出新的最大误差准则δ2的合法性,并以此支持动态最大误差准则的压缩过程。一些优选的示范中,无论最大误差准则δ是否被在压缩设备执行adadisalg或其他类似的压缩过程中被改变,都不必变更缓存单元311的存储状态。
[0102]
结合图10、11的一个具体示范中,压缩设备300被配置为执行步骤s3101至s3105的adadisalg,但其中使用凸壳最大数值轴距离d判断分割位置的步骤由判断模块320,压缩设备300不直接获取任何最小最大误差η有关的信息。显然,第一算法可以部署于步骤s3101或者步骤s3102,第二算法至少部署于步骤s3102。
[0103]
本文还提供一个对比示例,以说明使用上述或者其他类似adadisalg的方法或者设备实施例的技术优势。其中选用图2(a)一类方法中一个具体的disconnalg方案,vldb杂志2014年发表的“maximum error-bounded piecewise linear representation for online stream approximation”,与图9提供的adadisalg作为对比。
[0104]
参考图12,容易理解,adadisalg和disconnalg的整体算法、采用的数据结构以及计算策略上,具有显著区别。对于图中第一行具有5个原始数据的原始信号序列p={p1,p2,
…
,p5},adadisalg和disconnalg均从p1开始依次处理。第二至五行展示了两者处理p2至p5项的计算过程。其中,第二行左侧展示容器中执行步骤s3001初始化中用于判断的上下凸壳,第二至四行左侧展示多次执行步骤s3002、s3003时容器中上下凸壳的状态,第五行左侧展示获取p5并执行s3002、s3003由内部或者外部步骤判断当前凸壳的最大最小误差已经超过了最大误差准则,因此,将f(p1,p4)作为最优分割并根据其唯一的最小最大误差表示线r计算其压缩概要项。容易理解,adadisalg通过是在原始数据的凸壳ch
+
(pi,pj)和ch-(p
p
,ij)上进行构造的,通过每一点更新η,从而判断和δ的大小关系完成分割构造的;而第二至五行
右侧的disconnalg每次均使用最大误差准则建立各个数据点的上界点和下界点的u(pi,pj)和l(pi,pj),对于新获取数据点,更新两条边界线u和l,当新数据点不在边界线之内时,判断分割位置,并使用边界线u和l之间的任意表示线获得压缩概要。容易理解,以disconnalg为代表的现有技术的特点在于,需要构建可行直线簇的上下边界或者边界条件,该构建中必须逐点多次使用最大误差准则,进行分段判断时必须有包括上边界判断和下边界判断的两步以上的判断,本文在确定分割位置时,最多只有一次数值比较,同时在计算表示线时具有更小的存储要求。
[0105]
容易理解,在容器中构造各个数据片段的凸壳时,该数据片段与其后续的一原始信号项即组成相对该数据片段的一个扩展数据片段,在依次获得各个原始信号项时,形成多个数据片段的扩展数据片段及其凸壳。例如,数据片段f
1,3
的凸壳ch
1,3
包括在一个容器中的上凸壳部分的上凸壳部分以及另一个容器中的同时,数据片段f
1,4
即为数据片段f
1,4
的一个扩展数据片段,而其凸壳ch
(1,4)
的上凸壳部分为{p1,p2,p4},下凸壳部分为{p1,p3,p4}。一些使用adadisalg的计算机设备或者计算模块中可以在缓存单元配置两对容器以存储一个数据片段的上、下凸壳以及其一个扩展数据片段的上、下凸壳,并配置顺序或者并行的第一算法,保证所述缓存单元中第二对容器存储的原始信号项完整携带该扩展数据片段凸壳最大数值轴距离处的位置信息,同时在满足分割条件时,可以读取第一对容器中数据片段凸壳最大数值轴距离处的位置信息以获得最小最大误差表示线,以便获得该表示线上的点或使用该表示线实施其他的计算进程。本领域技术人员容易使用现有技术在此基础上进一步优化以获得存储和计算资源更为节约的技术方案
[0106]
参考图13给出的本对比例中adadisalg和disconnalg的比较结果,基于ucr数据库选取的43个具有代表性的数据集,从压缩点个数、运行时间、内存占用和整体均方误差四个方面展示了adadisalg的优点。测试条件在具有相同软硬件条件下实现(intel core 2.4ghz cpu和12g内存的硬件平台,c++进行算法描述和编译运行),各个数据集设定的最大误差准则δ为每个数据集的最大值与最小值差的2.5%,每个数据集运行10次。可以看出,在基本相同条件下:1)在压缩率方面,由于adadisalg和disconnalg算法都能产生最优的不连续分割,所以输出的压缩数据点个数是相同的;2)在时间消耗方面,两种技术方法的性能接近,在43个数据集上,adadisalg和disconnalg处理的时间消耗平均分别约为1543.43毫秒和1614.6毫秒;3)在存储资源占用方面,算法运行时的最大内存占用,理论上,adadisalg和disconnalg的空间复杂度是基本相同的,因此均为同一量级,实际测量43个数据集的最大内存占用平均值分别为0.704kb和0.328kb,说明两者均对硬件要求极低;4)在整体的均方误差方面,在所有数据集上adadisalg的结果都小于disconnalg的结果,说明通过adadisalg生成的表示线比disconnalg的表示线在刻画原始数据上更精确。容易理解对于确定数据集和指定的最大误差准则,其最优分割唯一,因此在使用最优分割的半连续、连续或者混合线性拟合中,可以局部使用本文adadisalg中获得最优分割的步骤,以便避免构造直线簇边界或者令最大误差准则多次参与构造计算。
[0107]
容易理解,本文第二方面的多个实施例中,压缩设备并未限定需要配置adadisalg或类似方法的全部步骤,进配置其中部分计算原始信号序列中一指定数据片段的最小最大误差的步骤即可实现优化分段线性拟合的目的。同时,这些压缩设备除部署于信息系统的信号传输路径的通信链路上之外,显然也可以部署于信源侧或者信宿侧,或者任何的编码
器或者解码器中。一些在其片上系统(soc)配置这些方法步骤的智能传感器/变送器显然也可以视为本文所述的序列数据压缩设备。
[0108]
参考图14,本文第四方面的多个实施例中基于上述各个方面的技术构思,还提供了一种显示系统400,包括显示器430、一个或多个处理器420及存储器410。
[0109]
存储器410动态或者静态存储一原始信号序列中连续的若干原始信号项。动态存储指存储器410在处理器420运行的两个读取时刻,存储器410所存储的全部原始信号项并不相同,如在第一个时刻存储的原始信号项为{p1,p2,p3},在第二个时刻则为{p2,p3,p4}或者{p4,p5}。一些实施例中,这样的情况出现在对实时数字信号的连续处理中,存储器410作为临时的中间缓存,并未存储整个原始信号序列。静态存储指存储器410在处理器420运行的两个读取时刻,存储器410所存储的全部原始信号项完全相同,其长度和数值不会被改变。一些实施例中,这样的情况出现在对历史信号的整体分析处理中,如对已有携带图片、曲线等信息的序列数据的压缩或者解压缩。存储器410与处理器420通过总线等软件或者硬件通信链路耦合以便处理器420可读取的依次获得这些连续的原始信号项。
[0110]
显示系统400具有一个或多个特定的处理器420,这些处理器420通过总线、信道、存储共享等任何方式通信协作,以集总或者分布式的共同完成被配置的处理任务。这些处理均至少包含一个操作的实施:将连续的若干原始信号项基于一最大误差准则分割为一个或多个数据片段;以及在指定的显示器430上显示输出这些数据片段的最小最大误差表示线。显然,根据这些最小最大误差表示线所还原的原始信号,必然满足给定的最大误差准则,同时根据本文其他方面的实施例其整体具有更小的均方误差。一些优选的实施例中,该分割为最优分割,另一些实施例中,该分割可以不为最优分割。当处理器420采用独立封装时,可以在封装内部分或者完整包含如图7、10中的缓存单元311,其中的一些实施例中,处理器420还被另外配置有独立封装的缓存单元。
[0111]
一些具体的实施例中,存储器410内可以建立这些原始信号项的存储队列,根据处理器420提供的分割信号,在如步骤s1003、s3001、s3004、s3103等本文方法可以判断的一个分割时刻,清理队列中已处理信号项。一些具体的实施例中,分割信号由图10中独立的判断模块提供,系统中的处理器420不掌握具体的最大误差准则信息。
[0112]
参考图15的,本文一些可选的实施例中,显示系统400及处理器420被配置为适于实施一个动态显示的操作:当给出的最大误差准则由η1改变为η2时,将存储器410存储的若干原始信号项基于改变后的最大误差准则重新分为一个或多个数据片段;以及在显示器430上更新的显示输出所述数据片段的最小最大误差表示线。容易理解,一些静态存储的实施例中,可以根据全部数据片段的最小最大误差中的最小值,给出可显示精度的最小值,为给出更小的η2提出依据,如放大或者缩小包含原始信号的最小最大误差表示线的表示图形而调整最大误差准则时,均可以给出整体均方差更小的表示图形。一些动态存储的实施例中,显示系统400用于监视以此获得的原始信号的动态变化,对于固定的最大误差准则,可以根据当前时间段的多个连续信号的最小最大误差,实时评估最大误差准则的质量,切换最优压缩比并保持输出整体均方误差最小的表示线。
[0113]
参考图16的,本文一些可选的实施例中,显示系统500本身不必预存或者参与与最大误差准则的运算,由外部的判断模块520接收与数据片段最小最大误差有关的信息,并仅在判断模块520判断扩展数据片段的最小最大误差大于最大误差准则时,给出分割信号,由
显示系统500输出待分割的部分当前数据片段。
[0114]
容易理解,当这些显示系统的显示输出替换为计算机可读取存储介质时,显示系统的处理器容易在任何时刻将该计算机可读取存储介质配置为本文第三方面的任一计算机可读取存储介质。
[0115]
容易理解本文压缩设备包括对序列化信号的分段线性拟合设备,现有技术中的任何编码设备、信息处理设备等计算设备,在对数据进行序列化为原始信号序列后,直接或者改进使用本文各方面的方法获得计算或输出该原始信号序列任一数据片段的最小最大误差及其相关数据时,这些计算设备也被视为本文所述的压缩设备。
[0116]
容易理解,上述各个方法/装置的实施例中,至少还揭示了在实施任一序列数据压缩中,获得一原始信号序列的不连续分段线性拟合时,部分或者全部的、迭代或者不迭代的获得其已获取数据片段的最小最大误差可以在分段判断、最大误差准则的单向传输或者更新、表示线最优、资源最优等方面获得积极效果。这些效果应用在不同具体技术领域时,可以产生不同的具体效果,示范而非限定的例如:在工业生产领域,反应堆温度、锅炉压强、电源电压等不间断的工业监测信号会形成数据流,使用本公开技术方案将有利于工业生产中的信号数据流分析互动的推广,进而充分控制生产环境以及安全生产;在航空航天应用领域,观测分析卫星传给地面中心的数据资料,可以采用数据流的融合技术加以处理以帮助窄信道的高效利用,广泛促进国土资源调查、林业资源调查、生态环境调查和气象监测等众多具体卫星遥测遥感领域的应用推广;在金融领域,市场每天每秒都产生上万笔报价和交易,这些报价和交易信息构成数据流,分析股票数据流的相关性及其趋势有利于投资公司进行决策和用户的投资,本公开的一些实施例明显有助于对曲线类型数据流的显示处理,而对于新兴的碳交易、电力期货、智能合约等技术金融领域,其原始数据提供设备本身均容易具备计算能力,本公开包括的技术方案也将帮助这些智能化交易市场的新监管系统部署。在动态联网边缘计算的无线传感器网络领域,各个传感器节点不断采集周围的数据形成传感数据流,网络中每个传感器所携带的能量十分有限,80%的能量消耗在数据传输过程中,如何压缩采集到的数据流,减少节点发送的数据量从而减小能量开销,延长整个无线传感器网络的寿命显得尤为重要,本公开技术方案在该方面也能发挥积极效果,例如本公开一些技术方案部署在作为信源测设备的传感器上时,由于算法的时间线性特点,能够节约传感器本身的资源,以及实现压缩后的传输资源的节约,另一些技术方案还能同时或者独立的获得更好的拟合效果,恢复数据更精确。对于天气预报、海洋探测捕捞等其他技术领域的帮助,基于本公开的完整说明,相关领域技术人员也容易在实施后获得本公开载明的一个或者多个技术效果。
[0117]
以上所述,仅是本公开的较佳实施例而已,并非对本公开作任何形式上的限制,虽然本公开已以较佳实施例揭示如上,然而并非用以限定本公开,任何本领域技术人员,在不脱离本公开技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本公开技术方案内容,依据本公开的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本公开技术方案的范围内。
技术特征:
1.一种序列数据压缩方法,该方法包括:在获得一原始信号序列的不连续分段线性拟合时,计算和/或输出该原始信号序列已获取数据片段的最小最大误差,或者计算和/或输出基本落于该原始信号序列已获取数据片段的最小最大误差表示线上的数据点。2.根据权利要求1所述的方法,其特征在于,该方法包括:在所述原始信号序列已获取的部分当中,当一数据片段与后续任何包含该数据片段的其他数据片段相比,其最小最大误差满足并最接近一给定的最大误差准则时,计算该数据片段在其满足最大误差准则的一表示线上的压缩概要项。3.根据权利要求2所述的方法,其特征在于:所述表示线是该数据片段的最小最大误差表示线。4.一种序列数据压缩设备,其包含,计算模块,其被配置为用于:计算原始信号序列中一指定数据片段的最小最大误差。5.根据权利要求4所述的设备,其特征在于,所述计算模块包含:缓存单元,其被配置为用于:存储所述原始信号序列一数据片段中位于该数据片段凸壳上的若干原始信号项;所述若干原始信号项完整携带所述凸壳最大数值轴距离处的位置信息;所述计算模块根据所述缓存单元存储的原始信号项确定该数据片段的最小最大误差,和/或确定该数据片段的最小最大误差表示线。6.根据权利要求5所述的设备,其特征在于,所述计算模块包含:缓存操作单元,其被配置为用于:将所述数据片段与其后续的一原始信号项组成扩展数据片段,以及读写的操作所述缓存单元,使得所述缓存单元中存储的原始信号项完整携带该扩展数据片段凸壳最大数值轴距离处的位置信息。7.一种计算机可读存储介质,所述计算机可读存储介质包括所存储的一原始信号序列的一不连续分段线性拟合的压缩概要序列,其特征在于,所述压缩概要序列的压缩概要项均基本落于其对应原始信号序列各数据片段的最小最大误差表示线上。8.一种显示系统,包括:显示器、一个或多个处理器及存储器;所述存储器动态或者静态存储一原始信号序列中连续的若干原始信号项;所述一个或多个处理器被配置为实施以下操作:将所述连续的若干原始信号项基于一最大误差准则分为一个或多个数据片段;以及在所述显示器上显示输出所述数据片段的最小最大误差表示线。9.根据权利要求8所述的显示系统,其特征在于,所述一个或多个处理器被配置为还实施以下操作:当最大误差准则改变时,将所述存储器存储的若干原始信号项基于改变后的最大误差准则重新分为一个或多个数据片段;以及
在所述显示器上更新的显示输出所述数据片段的最小最大误差表示线。10.一种获得原始信号序列数据片段最小最大误差的方法,该方法包括:读取所述数据片段各原始信号项在其由序信息轴x与数值信息轴y描述的平面xy上的凸壳,根据所述凸壳的最大数值轴距离d计算所述数据片段的最小最大误差η,其中,η=d/2。
技术总结
本发明涉及信息处理领域,具体涉及一种序列数据压缩方法,包括在对一原始信号序列进行不连续分段线性拟合压缩时,计算或输出该原始信号序列已获取数据片段的最小最大误差。本发明一些实施例提供了对原始信号序列基于最大误差准则进行不连续压缩时新的分割依据。在涉及该方法的一些改进实施例中,可以被优化至较低的线性时间复杂度,或者,构造分割结构时不必先获得最大误差准则的精确值,或者,实现最大误差准则下不连续压缩的零冗余。大误差准则下不连续压缩的零冗余。大误差准则下不连续压缩的零冗余。
技术研发人员:赵环宇 孙国豪 方秀 黎彤亮 杨坚 庞超逸
受保护的技术使用者:河北省科学院应用数学研究所
技术研发日:2023.03.07
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/