CN112487880B - 基于最大误差准则的中值滤波器、设备和系统 - Google Patents
基于最大误差准则的中值滤波器、设备和系统 Download PDFInfo
- Publication number
- CN112487880B CN112487880B CN202011267412.3A CN202011267412A CN112487880B CN 112487880 B CN112487880 B CN 112487880B CN 202011267412 A CN202011267412 A CN 202011267412A CN 112487880 B CN112487880 B CN 112487880B
- Authority
- CN
- China
- Prior art keywords
- median
- sequence
- information
- compression
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/02—Preprocessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种可优化数字信号传输过程的中值滤波器,以及包含该中值滤波器的设备和系统,属于数字信号处理技术领域。本发明的中值滤波器用于根据一指定宽度w的序信息窗口处理由原始信号序列P经过基于最大误差准则的PLA压缩算法获得的压缩概要序列S,直接滤波获得滤波去除基线漂移后的压缩概要SF,其包括第一获取模块、第二获取模块、第三获取模块以及计算模块。本发明的中值滤波器以及设备和系统的各个实施例可以在保持较低时间复杂度前提下,直接对满足条件的压缩概要进行滤波处理,使该类数据传输过程具有便捷性、实时性、保质性的特点,从而满足了灵活部署信息系统的算力资源、带宽资源和存储资源以满足不同的滤波需求。
Description
技术领域
本发明属于新一代信息技术领域,尤其涉及可优化数字信号传输过程的数字滤波器,以及包含该数字滤波器的下一代通信网络、物联网或者云计算设备和系统。
背景技术
信息系统是一种包括某种信息从一处传送到另一处所需的全部设备所构成的系统,信息在信源侧被编码为适于信道传输的信号,在信宿侧通过信道接收信号并译码为可识别处理的信息。在IoT、传感器网络等分布式信息处理系统中,设于现场的采集端作为信源侧设备,对采集的携带现场信息的原始信号编码为序列形式的数字数据,即数据序列,以完成现场的数据采集(Data collection),然后使用5G、zigbee等数据传输链路提供的信道对数据序列进行传输,以便在存储设备、分析设备等信宿侧设备上对该数据序列进行存储、分析等数据处理。流数据(Data stream)是一组顺序、大量、快速、连续到达的数据序列,可被视为一个随时间延续而无限增长的动态数据集合。一方面的,在数据传输领域,为节约信道的带宽,会对数据序列进行压缩后再通过信道进行传输;另一方面的,在数字信号处理领域,由于信源侧可能存在干扰源,使得原始信号中携带噪声等冗余信息,需要使用数字滤波器对数据序列进行滤波。现有技术中,一方面,在信源侧对原始信号进行滤波后再压缩传输,滤波可能存在信号失真,在信宿侧进行数据处理时,不能分析原始信号在滤波过程中的失真,并且增加了信源侧的计算负荷,另一方面,在信源侧仅压缩原始信号,每次对滤波处理前必须要解压数据后再滤波,数据处理的时间复杂度过高。
当前国际上流行的(数值)数据流压缩算法可分为定质(Error-Bound)压缩和定量(Size-Bound)压缩2类,其中,无损压缩可作为定质压缩的特例:定质(Error-Bound)压缩:使压缩后的数据估计值与原始数据值的误差小于(在给定的度量空间)给定的数值。例如,最常用的压缩是在度量空间L2和L∞上。其中,均值误差准则(L2度量空间)压缩,即使压缩后的数据估计值与原始数据值的整体平均误差(平方和的均值)小于事先给定的临界值;最大误差准则(L∞度量空间)压缩,即使得每一个数据点的误差小于给定的临界值,该类算法又称为质量保证的压缩。定量(Size-Bound)压缩:把数据压缩到事先给定的量值(或给定的压缩率)并使误差最小化;大多早期压缩都属此类。无论使用哪种压缩方法,现有技术中均认为如果对压缩后的压缩概要进行中值滤波,必须先要解压缩后再进行,否则不能解决上述技术问题。
发明内容
本发明目的在于提供一种技术方案,可以在保持较低时间复杂度前提下,直接对满足条件的压缩概要进行滤波处理,使该类数据传输过程具有便捷性、实时性、保质性的特点,以便灵活部署信息系统的算力资源、带宽资源和存储资源以满足不同的滤波需求。
本发明第一方面提供的技术方案是一种基于最大误差准则的中值滤波器,用于根据一指定宽度w的序信息窗口处理由原始信号序列P经过基于最大误差准则的PLA压缩算法获得的压缩概要序列S,其包括:第一获取模块、第二获取模块、第三获取模块和计算模块。其中,
第一获取模块用于:获取当前压缩概要项si的序信息窗口W;以及,获取所述压缩概要序列S在所述序信息窗口W中形成的第一线段集。一些实施例中,序信息窗口W是序信息轴X上的一段连续区域,其宽度w,指排列在该区域内的原始信号序列P的原始信号项的个数,因为使用对应的解压缩算法所获得的解压缩序列P′中的每一解压缩项与原始信号序列中对应的原始信号项的序信息时相同,因此,排列在该区域内的原始信号项的个数与排列在该区域内的解压缩项的个数也是相同的。可知,第一线段集中,各线段是首尾依次连续的,一条线段的尾端与其相邻线段的首端重合,或者称为折线,该折线可以认为截取于压缩概要序列S所形成的折线。
第二获取模块用于:根据所述第一线段集各线段端点的数值信息设置分割线,以便分割所述第一线段集为若干第二线段集;以及,判断中值项与所述分割线的相对位置;以便,若中值项位于一所述分割线上,则输出该中值项的数值信息mdi,否则,输出所述若干第二线段集中一包含中值项的第二线段集。可知,每一第二线段集中各线段在数值信息轴Y上的投影一定是相同的,但是在序信息轴X方向可以是连续或者不连续的,且任一第二线段集中线段的总数一定小于等于第一线段集的线段总数。容易理解的是,中值项是指,对原始信号序列P各项的序信息对压缩概要序列S解压缩后所获得的解压缩序列P′中各解压缩项,根据其数值信息排序后,位于最中间位置的至少一项,该项在使用其序信息和数值信息描述位置时位于压缩概要序列S所形成的折线上;对于包含的中值项的第二线段集,是指通过任何方法可以判断出中值项的位置位于其中一条或多条线段上,即认为第二线段集包含了中值项。
第三获取模块用于:创建一位于所述包含中值项的第二线段集的数值信息范围内的基线,以及向所述中值项方向移动所述基线;以便,当所述中值项位于所述基线上或者所述基线附近时,输出所述中值项的数值信息mdi。容易理解,中值项位于基线上是指,该中值项在平面XY的位置,可以被该基线覆盖;中值项位于基线附近是指,第二线段集中每条线段上最接近该基线的解压缩项作为一个集合,当该集合包含中值项时,即认为中值项位于该基线附近。
计算模块用于:根据所述第二获取模块或者所述第三获取模块获得的中值项的数值信息mdi计算当前压缩概要项si在指定宽度w下滤波去除基线漂移后的压缩概要项sfi。一些实施例中,sfi=si-mdi,但本领域技术人员可以根据现有任何基于已知序信息窗口内解压缩的中值项的中值滤波算法进行进一步的优化实施。
本公开上述第一方面技术方案各个实施例中的中值滤波器,提供了一种直接在压缩概要序列上进行中值滤波的技术方案,在一些实施例中容易证明,当采用本公开的技术方案对给定的最大误差δ的压缩概要序列S进行中值滤波,以便获得的除基线漂移后的压缩概要序列SF时,SF解压获得的解压序列,与对S全部解压后再进行中值滤波所形成的信号序列,其最大误差为3δ,从而实现了保质滤波。
容易理解的是,该技术方案的一些实施例中,原始信号序列P中的每一原始信号项可以表示或存储为形如(序信息,数值信息)的二元组,以便其在使用序信息轴X和数值信息轴Y描述的平面XY上具有明确的位置,各原始信号项的位置以及位置之间的关系蕴含着信号源的某种信息,这些二元组中序信息和数值信息都是有序数,彼此根据序信息的大小在原始信号序列P中排序;但另一些实施例中,由于信源侧和信宿侧已预先约定了信号序列的序信息,比如序信息是有固定间隔的,因此信源侧仅按照序信息的顺序依次提供各原始信号项的数值信息,即可在信宿侧还原原始信号序列P所携带的动态信号信息。本文中的序信息既可以是时间信息也可以是空间信息等有序量,当序信息是时间信息时,一方面的,原始信号序列P为一时间序列,上述方案的实例解决了一个具体的压缩概要项si的中值滤波,可知,具体的压缩概要序列S即可以是有限时间序列也可以是无限时间序列;另一方面的,序列中一原始信号项的序信息指其数值信息的时间戳,其各原始信号项通过一通信链路从信源侧以固定时间间隔,例如2ms,依次向信宿侧发送,信宿侧获得原始信号序列后根据原先约定的固定时间间隔对接收到的原始信号序列处理。本文中,原始信号序列在通过基于最大误差准则的PLA压缩算法处理为压缩概要序列后,任一原始信号项的序信息与任一压缩概要项的序信息无一一对应关系,两者的共同点仅在于,作为各自序列的一部分,组成各自的序列,各序列蕴含了误差可控的相同信息。
基于上述技术方案,本领域技术人员可以通过逻辑电路的或者包含可编程控制器的设备予以实现,本文的实施例中指明了多种具体的实施方式中,应该理解到,所揭露的涉及第一获取模块、第二获取模块、第三获取模块和计算模块的系统,装置和方法,可以通过其它的方式实现。例如,所描述的装置实施例仅仅是示意性的,例如,所述模块、单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
一些可能的设计中,上述中值滤波器的特点还包括:
所述获取si的序信息窗口W的方法包括步骤:在使用序信息轴X和数值信息轴Y描述的平面XY上,以si的序信息为中心,对称的沿序信息轴X分别向其左右两侧各寻找一个原始信号序列P中原始信号项的序信息,使得以这两个序信息为边界的闭区间包括w个原始信号项,则所述闭区域为si的序信息窗口W。
一些可能的设计中,上述中值滤波器的特点还包括:
所述获得第一线段集的方法包括步骤:使用在序信息轴X上依次排列的有序点集Si描述所述第一线段集,其中,所述有序点集Si由所述压缩概要序列S在所述序信息窗口W内的全部压缩概要项和序信息窗口W边界处序信息对应的解压缩项组成。
一些可能的设计中,上述中值滤波器的特点还包括:
所述第二获取模块判断所述中值项位置的方法包括步骤:
沿数值信息轴Y设一固定方向;
根据一所述分割线,计算其所述固定方向一侧的全部所述第二线段集在序信息轴X上的投影所覆盖的原始信号序列P的序信息的个数和;
如果所述个数和为指定宽度w的半数,则判定所述中值项位于该分割线上;如果所述个数和大于指定宽度w的半数,则判断所述中值项在该分割线的所述固定方向相同一侧;如果所述个数和小于指定宽度w的半数,则判断所述中值项在该分割线的所述固定方向相反一侧。
上述技术方案提供了一种技术启示,即在不进行解压缩到情况下,可以根据一个方向上的解压缩点的数量分布判断中值项位于一条与该方向正交的直线的两侧中的具体一侧。本文的一些实施例中,在第三获取模块的处理中,也借鉴了此类技术手段。
一些可能的设计中,上述中值滤波器的特点还包括:
所述第二获取模块从各所述分割线中在数值信息Y轴上最中部的一分割线开始,使用二分法迭代选取分割线以判断所述中值项的位置。
一些可能的设计中,上述中值滤波器的特点还包括:
所述第三获取模块设置所述基线位置的方法包括步骤:
创建所述基线于bv=low+(up-low)×r/m,其中,up、low分别为所述包含中值项的第二线段集在所述数值信息轴Y的上限位置和下限位置,m为该第二线段集在序信息轴上投影所覆盖的原始信号序列P的序信息的个数和,r为所述中值项的数值信息mdi在该第二线段集中的序;
和/或,
移动所述基线到在其所述中值项一侧的最接近的解压缩项处。
在该类设计仅包含创建方法的实施例中,通过初始值的选择,已经可以获得最接近中值项位置的基线,由于判断中值项是否存在于基线附近需要使用原始信号序列的序信息对基线附近的项解压缩,优选的基线初始位置可以减少通过移动基线寻找中值项的时间复杂度。
在该类设计仅包含移动方法的实施例中,根据本公开提供的技术启示,仍然通过判断基线两侧的全部解压缩项的分布判断中值项相对当前基线的位置,以便移动向该方向移动,并跳跃到一个最接近的解压缩项处,这种跳跃在使用内存指针、存储地址索引等存储器中数据的定位方法时,可以通过更简洁的逻辑电路予以实现。
一些可能的设计中,上述中值滤波器的特点还包括:所述基于最大误差准则的PLA压缩算法具体为SemiOptConnAlg。总体上我们选择基于最大误差标准的PLA压缩算法作为本文中中值滤波器的前置压缩方法。特别的,中国专利CN107994906A提供了“一种基于L∞准则的半连续最优分段线性近似方法”可作为具体的压缩方法,本文记作SemiOptConnAlg,在使用SemiOptConnAlg的实施例中至少有两个方面的效果:一方面,该压缩方法可以获得的是连续直线(折线)表达形式,直观简单易懂,并且获得了最优的压缩点个数,即保质下的压缩率;另一方面,该方法的直线表示形式,可以更准确的刻画原始数据的极值分布情况,可以进一步提高本文中值滤波器的各方面效果。
本发明第二方面的技术方案是一种压缩滤波设备,其包括实现基于最大误差准则的PLA压缩算法的数据压缩设备和上述各技术方案中的中值滤波器,所述中值滤波器对所述数据压缩设备输出的第一压缩概要序列S滤波获得第二压缩概要序列SF。在一些实施例中,该压缩滤波设备的数据压缩设备与中值滤波器之间不需要另外的通信链路设备,而直接提供中值滤波后的压缩概要SF。一些实施例中滤波获得第二压缩概要序列SF可以替代第一压缩概要序列S在信道中传输、编码、解码、存储,以减少信宿侧设备的因解压滤波而承担的计算负荷,同时也可以使得直接包含中值滤波器的系统在信源侧低计算成本的产生滤波的压缩序列。
本发明第三方面的技术方案是一种数据传输链路,建立于信源侧设备向信宿侧设备方向,其包括实现基于最大误差准则的PLA压缩算法的数据压缩设备和上述各技术方案中的的中值滤波器。可知,在这些数据传输链路的实施例中,提供了一种新的压缩信号传输形式,而不必在数据传输链路中考虑解压滤波的环节,可节省大量的计算和存储资源。
本发明第四方面的技术方案是一种信息系统,其信源侧设备、数据传输链路或者信宿侧设备包括:上述技术方案中的中值滤波器;上述技术方案中的压缩滤波设备;和/或,上述技术方案中的数据传输链路。在第四方面的各个实施例中本公开的中值滤波器可以集成于其中信息的输入、存储、处理、输出和控制等各环节的信息处理设备中,以减少其所在数据传输链路的系统资源的分配。
本发明提供技术方案的效果包括但不限于,实现了对压缩概要进行直接的中值滤波,并且滤波过程的时间复杂度低、计算简便、保证中值质量。本发明提供技术方案所带来的其他有益效果,本领域技术人员也可以根据本文提供的实施例结合附图的说明和示范显易的理解并通过实施以及改进的实施而获得。
附图说明
下面将结合本发明实施例及相关附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为现有技术中一个以压缩数据传输的信息系统的结构示意图;
图2为现有技术中一个实现对压缩数据滤波的数据传输链路的结构示意图;
图3为本发明一个实施例中实现对压缩数据滤波的数据传输链路的结构示意图;
图4为本发明一个实施例中的中值滤波器的结构示意图;
图5为本发明一个中值滤波器实施例中的携带原始信号信息的原始信号序列、第一压缩概要序列和解压缩序列的对比示意图;
图6为本发明一个中值滤波器实施例中一个si的序信息窗口W的示意图;
图7为本发明一个中值滤波器实施例在一个序信息窗口W中划分线段组的示意图;
图8为本发明一个中值滤波器实施例的程序模块结构示意图;
图9为本发明一个实施例中对于相同数据集的CM_Filter和QuickSort时间消耗比较示意图;
图10为本发明一个实施例中CM_Filter与ISSM_Filter对101数据集处理结果比较;
图11为本发明一个实施例中CM_Filter与ISSM_Filter对103数据集处理结果比较;
图12为本发明一个实施例中CM_Filter与ISSM_Filter对105数据集处理结果比较;
图13为本发明一个实施例中CM_Filter与ISSM_Filter对107数据集处理结果比较;
图14为本发明一个实施例中CM_Filter与ISSM_Filter对109数据集处理结果比较;
图15为本发明一个实施例中CM_Filter与ISSM_Filter对112数据集处理结果比较;
图16为本发明一个实施例中CM_Filter与ISSM_Filter对115数据集处理结果比较;
图17为本发明一个实施例中CM_Filter与ISSM_Filter对116数据集处理结果比较;
图18为本发明一个实施例中CM_Filter与ISSM_Filter对118数据集处理结果比较;
图19为本发明一个实施例中CM_Filter与ISSM_Filter对121数据集处理结果比较;
图20为本发明信息系统实施例中一个实现对压缩数据滤波的数据传输链路的结构示意图;
图21为本发明信息系统实施例中另一个实现对压缩数据滤波的数据传输链路的结构示意图。
具体实施方式
首先应当说明的,现有技术中,信息系统在传输携带原始信号信息的数据时,信源侧获得的原始信号可能因为各种原因参杂噪声信号,因此可以使用现有的数字滤波器滤除噪声信号,如:对于ECG等序列化数据可能含有基线漂移等噪声信号,在未实施数据压缩的情况下,会优选中值滤波器针对基线漂移实施滤波。但现有中值滤波器等数字滤波器技术都只能在原始数据上进行处理,不能和压缩技术融合,这就造成了即使前期对原始数据进行了压缩,以节约计算、存储、带宽等信息系统的通信资源,待进行滤波处理时,也是只能解压后再操作,而无法直接在压缩数据上进行滤波,否则其保质性难以满足。显然现有技术对压缩数据的滤波处理也不具备便捷性、实时性,此类压缩数据的数字滤波问题,在IoT等涉及边缘计算的网络信息系统中尤为突出。
以中值滤波器形式的数字滤波器为例,上述一类技术问题的至少一个技术困难在于:中值滤波器的中值排序都要求在原始信号序列上进行计算,当前期对原始信号序列进行了使其有利于传输或者存储的压缩;可以选择的压缩算法只有无损压缩算法和无损压缩算法,一个方面的,如果采用无损压缩算法进行数据压缩,其压缩结果往往不可解释,也难以和滤波需要的中值的计算过程所关联;另一个方面的,如果采用有损压缩算法进行数据压缩,直接在压缩数据上进行中值计算的过程是可行的,但是其计算结果是没有保质性的,即滤波误差难以评估,也就是说无法合理给出该中值和直接在原始数据上计算的结果的误差上限;因此,依据现有技术任何情况下计算原始信号信息一个中值时,仍然需要利用压缩数据进行反向解压,恢复获得全部或者大部分原始数据后再进行中值滤波等数字滤波,不能实现直接基于压缩数据来的中值滤波器等数字滤波器。
如图1所示,在一个作为本发明各技术方案对比的现有技术的信息系统中,在一个典型的信源侧向信宿侧的数据传输(Data transmission)工况下,采集端(Datacollection)作为信源侧设备收集原始信号并序列化为一维的原始数据,这种原始信号的序列化可以是基于时间的(如一个音轨)或者空间的(如一个图像帧),并使用一个压缩算法(Compression algorithm)对原始数据进行压缩(Compressing)获得其压缩数据,通过数据传输(Data transmission)将压缩数据在存储器上实现数据存储(Data Storing),在分析端(Data analysis)处理时,再读取存储器上的压缩数据依据相应的压缩算法反向进行解压缩(Decompressing)并获得还原的原始数据,再对还原的原始数据进行分析。
可以理解的是,实际运行的信息系统往往包含多个不同的采集端、存储器、分析端设备以及这些设备之间复杂拓扑的数据传输链路,以其中如图2所示的一个典型的从一个采集端到一个分析端方向的数据传输链路为例,上述方法在整个数据传输中,数据压缩之后的任一环节需要对压缩数据包含的原始序列进行数字滤波时,如图中对数据存储器上的压缩数据进行数字滤波时,必须先通过解压缩模块对压缩数据进行解压,获得原始序列的完整解压缩序列,再经过数字滤波器1000处理后,再次压缩传输,交由分析端处理。整个数据传输链路为实现这种数字滤波方式,无疑会对设备算力资源、存储资源和/或带宽资源造成压力。可以理解的是,本发明提及数据传输链路为承载上述信源与信宿之间信道的全部或部分通信设备,如中继、路由、编解码、协议转换等设备。
针对上述技术问题,如图3所示的一个本公开提供的实例中,本公开提供技术方案的构思在于,利用现有一类基于最大误差准则(maximum error bound)的压缩算法,提供一种免解压的中值滤波器,以实现在上述数据传输过程中,低开销的中值滤波器。该类中值滤波器基于上述最大误差准则的PLA(Piecewise Linear Approximation)压缩方法,进一步的,当特别选择针对中国专利申请201711178360.0提供的基于L∞准则的半连续最优分段线性近似方法(SemiOptConnAlg)所获得的压缩概要,该中值滤波器在本公开主张的各个效果方面,可以达到更好的指标。
可以理解的是,本公开针对基于压缩数据的中值计算问题,在不进行解压操作的前提下,提供了一种特殊的计算方法,在较低的时间消耗下,获取中值,并且依据压缩算法特有的性质推到出基于压缩数据计算的中值具有保质的性质。区别于现有技术的,提出该方案至少要同时面对三个主要的技术问题,即选择何种压缩算法,如何在不恢复数据的前提下从压缩数据中计算中位值,以及提取的中位值是否能够保证质量。
对于选择何种压缩算法,本领域现有技术中均值误差压缩和定量压缩均不适合对可以使用序列表述的数据流压缩,其原因是这两种压缩算法是通过被压缩数据的整体特性(例如,定量压缩中给定的量值和均值误差压缩的平均误差)来度量,而整体特性与数据流持续的、无限的特性不相吻合。本公开认为最大误差(Max-ErrorBound)压缩是控制每个数据点的误差,更为适合流数据。本公开考虑最大误差蕴含着均值误差,也就是说如果每一个数据点的误差小于给定的最大误差δ,其整体误差一定小于δ。其原因是:假定使用时间序列表示的{p′1,p′2,…,p′n}是原始数据流片段{p1,p2,…,pn}(在相应时刻上的)估计值。对于给定的最大误差δ,由于:
本公开考虑到由于以上特性,保证了直接在压缩概要上进行分析处理的可行性,另外,无损压缩结果在进行后期分析时,需要进行解压操作,这一点并不适合用于直接进行计算中位值的操作,故本公开技术方案的一个启示在于对于无解压缩过程的滤波,总体上应选择基于最大误差准则的有损压缩算法作为本专利的压缩技术。
容易理解的是,本文中提及基于最大误差准则(在L∞准则下)的PLA压缩算法,在序信息选取时间时,可以被限定为:对于时间序列P={…p1,p2,…,pn…},预定误差δ,使用时间序列表示P在时间窗[si,ei](si<ei≤n))内的一序列片段;基于最大误差准则的PLA压缩算法是一类数据处理方法fi(t),其将P分割为S1,S2,…,Sk,共k个序列片段,对于任一序列片段可以被一个线性函数(i.e.,segment)fi(t)近似表示,fi(t)满足条件|fi(t)-pt|≤δ,其中时间点t的可选范围在,
对于如何在不恢复数据的前提下从压缩数据中计算中位值,本公开考虑假设待求中位值的数据为P={p1,p2,…,pn},数据点个数为n。经过压缩算法(如SemiOptConnAlg等)压缩得到压缩概要(即压缩后得到的数据流)S={s1,s2,…,sk+1},利用可以得到解压数据P′={p′1,p′2,…,p′n},一般来说k<<n。由于所选压缩算法是基于最大误差保证的,所以对任意的p′i和pi(1≤i≤n)满足|p1-p′1|≤δ。从直观上来看,S为k段连续直线的组合。故本公开技术方案的一个启示在于直接利用S来求得中位值,该中值等于解压数据P′的中位值。
为了解决上述问题,图4所示的数字滤波器1000实现了一种基于最大误差准则的中值滤波器,其存储器1002存储的程序模块包括第一获取模块、第二获取模块、第三获取模块和计算模块,处理器1001读取存储器1002的各程序模块的程序指令致使其从输入接口1003读取一由原始信号序列P经过基于最大误差准则的PLA压缩算法获得第一压缩概要序列S并通过输出接口1004输出第二压缩概要序列S。其中,
处理器1001读取第一获取模块的程序指令,以便获取当前压缩概要项si的序信息窗口W;以及,获取所述压缩概要序列S在所述序信息窗口W中形成的第一线段集。具体的,压缩概要序列S在所述序信息窗口W中形成的第一线段集表示为S={s1,s2,…,sk+1},每个数据点即为第一线段集线段端点。
处理器1001读取第二获取模块的程序指令,以便根据所述第一线段集各线段端点的数值信息设置分割线,以便分割所述第一线段集为若干第二线段集;以及,判断中值项与所述分割线的相对位置;以便,若中值项位于一所述分割线上,则输出该中值项的数值信息mdi,否则,输出所述若干第二线段集中一包含中值项的第二线段集。具体的,处理器1001将序信息窗口W内的第一线段集的数据点按照数值进行排序得到RS={rs1,rs2,…,rsk+1}。容易理解,该过程的时间复杂度为O(k·log(k))。可知,RS各项的值将P的n个点分割成了k个区域,即k组第二线段集。处理器1001执行指令利用二分法找出包含第大的点所在的区域;具体地,迭代的以的值为基准,遍历k条直线,找出小于的点的个数,重置RS直到找出包含第大的点所在的区域;该过程的时间复杂度为O(k·log(k))。
处理器1001读取第三获取模块的程序指令,以便创建一位于所述包含中值项的第二线段集的数值信息范围内的基线,以及向所述中值项方向移动所述基线;以便,当所述中值项位于所述基线上或者所述基线附近时,输出所述中值项的数值信息mdi。假设包含第大的点所在的区域为region=[low,up],即包含中值项的第二线段集的数值信息范围,该第二线段集包含直线线段个数为k′,含有点的个数为m,第大的点在区域region内是第r大的点。
以bv=low+(up-low)×r/m的值为基线,利用k′条直线判断位于值bv下方的点的个数为m′。
若m′<m,判断m′=r是否成立,如果成立,k′条直线上位于下方的最大值,记为vodd,即为第大的点的值;如果m′>r,更新up=bv,m=m′,迭代上述过程;如果m′<r,更新low=bv,m=m-m′,r=r-m′,迭代上述过程。
若m′=m,更新region中的up值为k′条直线上小于up值中最大值。
该步骤总的时间复杂度为c·O(k),c为较小的固定常数。
若n为奇数,则median′=vodd;
如n为偶数,从k′条直线上位于值vodd上方的点中,找出离vodd最近点的值,记为veven,此过程的时间复杂度为O(k),则median′=(vodd+veven)/2。median′即为最后获得的数值信息mdi。
处理器1001读取计算模块的程序指令,以便,根据所述第二获取模块或者所述第三获取模块获得的中值项的数值信息mdi计算当前压缩概要项si在指定宽度w下滤波去除基线漂移后的压缩概要项sfi。
对于提取的中位值是否保证质量,本公开技术方案提供的一个启示在于,对于一组数据流片段P={p1,p2,…,pn},经过某种基于L∞准则的压缩算法进行压缩并恢复后得到的序列为P′={p′1,p′2,…,p′n},最大误差为δ>0,记P和P′的中位值分别为median和median′,则|median′-median|≤3*δ。
容易理解,假设数据片段P和P′从小到大排序结果分别为sortP={sp1,sp2,....,spn}和sortP的下标记作indexP={1,2,...,n},sortP′的下标记作indexP′={in1,in2,...,inn},那么在indexP中存在下标i(1≤i<n)和j(1<j≤n),使得ink=k(k≤i或者k≥j),即indexP′是对indexP的局部重新排列。
那么对于sortP中在下标i和j之间的任意两个元素spc(i≤c≤j)和spd(i≤d≤j),经过压缩算法处理并恢复后对应数据为sp′c=spc+a(-δ≤a≤δ)和sp′d=spd+b(-δ≤b≤δ),如果spc和spd的序关系相对于sp′c和sp′d的序关系发生了变化,即spc≥spd,sp′c≤sp′d或者spc≤spd,sp′c≥sp′d成立,
那么,
综上,|sp′c-spd|=|spc+a-spd|≤|spc-spd|+|a|≤3*δ。
容易理解,对于中位值median和median′关系,
本实施例中容易理解,如果对于长度为n的序列(sequence)P={p1,p2,…,pn},有一基于最大误差准测δ的压缩算法F(A L∞compression algorithm with an error boundδ),F’为F的解压缩算法(the decompression algorithm of F),Median为基于序列的中值算子(the median operator on any sequence)。对于P’=F′(F(P)),使用本公开提供的中值滤波器在不完全解压获得P’的情况下进行滤波后获得原始信号信息与完全解压后再中值滤波获得的原始信号信息相比,误差小于等3δ,实现了滤波的误差可控。
综上,使用本公开技术方案对压缩概要直接滤波时更够达到|median′-median|≤3*δ的效果,即实现了突出的滤波的保质要求,现有技术中由于普遍误差在50δ以上,因此均难以有效应用于本公开的中值滤波中进而实现不需要解压的中值滤波方法。
下面通过一些具体的示范进一步说明本公开提供技术方案的实施方式,以便本领域技术人员理解或做出进一步的改进。容易理解的,本公开技术方案中中值滤波器尤其适用于对数值型时间序列的压缩数据进行处理,其中,压缩数据限定于通过基于最大误差的Piecewise linear approximation(PLA,直线拟合近似)方法对原始的时间序列进行压缩处理得到的。
具体地,在实施过程中,一些实施例选择具有代表性的PLA算法SemiOptConnAlg进行压缩处理。如图4至8所示的一个中值滤波器的实施例中,显示了原始数据、经过SemiOptConnAlg得到的压缩数据,以及经过解压后恢复的数据的过程。容易理解,本发明第一方面技术方案提供的基于最大误差准则的中值滤波器,以下简称CM_Filter,是一种数字滤波设备。本实施例中,如图4所示,数字滤波器1000中的CM_Filter包括处理器1001、存储器1002、输入接口1003和输出接口1004。其中,存储器1001中存储程序指令,处理器1001从存储器1002读取所述程序指令并执行,所述程序指令致使处理器1001完成以下方法:从输入接口1003读取携带原始信号信息的第一压缩概要序列S,根据宽度w的序列窗口对第一压缩概要序列进行中值滤波并生成携带原始信号信息的第二压缩概要序列SF,然后通过输出接口1004输出所述第二压缩概要序列SF。
本实施例以及以下实施例中,除非特别说明,涉及描述CM_Filter特征的各符号的含义如下:
δ:基于最大误差准则的压缩算法中设定的最大误差;
i,j:分别为序列中项的计数序号;
P:携带原始信号信息的数字序列,在不同实施例中表述为更具体的含义,如一个实施例中可以表述为的原始数值型时间序列数据P={p1,p2,...,pn};
S:在δ下,经过基于最大误差准则的压缩算法对P压缩后获得的第一压缩概要序列,或简称压缩概要,S={s1,s2,...,sm};在一些方法实施例中,SemiOptConnAlg作为一种基于最大误差准则的压缩算法,在一些设备实施例中,实现SemiOptConnAlg,并以P为一输入以S为一输出的设备简称为SemiOptConnAlg;
SF:使用本公开的中值滤波器对S滤波处理所获得的第二压缩概要序列,SF={sf1,sf2,...,sfm};
ST:S的时间戳ST={st1,st2,...,stm};
P′:利用从P获得S的压缩方法,在δ下从S中解压得到的数字序列,P′={p′1,p′2,...,p′n};
T′:P′的时间戳T′={t′1,t′2,...,t′n};
W:时间窗口,其宽度或者大小w指包含w个数据;
MD:获取的中值集合,MD={md1,md2,...,mdm},其中,mdi(1≤i≤m)表示在以sti为中心的时间窗口W所包含w个解压数据的数值的中值;
P′(i,j):P’在时刻段[i,j](1≤i<j≤n)内所包含的数字项或数据点的集合;
N(i,j):上述P′(i,j)中数字项或数据点个数;
line(i,j):通过点si和sj连接得到的直线表示,|i-j|=1;
Si:S中数字项si的第一有序集合,Si={p′l,...,si-1,si,si+1,...,p′r};
S′i:对Si按照其各项的大小的进行排序后获得的第二有序集合,S′i={s′1,s′2,...,s′k+1};
ST′i:S′i的时间戳ST′i={st′1,st′2,...,st′k+1};
Nc(base):在直线y=base内的解压数据点的个数,即这样的解压数据点的值等于base;
N(base):在直线y=base下的解压数据点的个数,即这样的解压数据点的值小于base。
上述符号在下文中可以通过各个实施例的具体应用和描述进一步理解其含义。
在本实施例中,信息系统信源侧的原始信号为一个随时间变化的一维连续信号,信源侧设备根据预设策略对原始信号离散的采样获得用于传输和分析原始信号的数字序列P={p1,p2,...,pn},其中序列中的数字项p1,p2,...,pn各自本身为一个有序数值,不失一般性的,本实施例为正整数。数字项p1,p2,...,pn一一对应的依次分别有时间戳t1,t2,...,tn,因此P是可以表示为时间(X轴)-数值(Y轴)平面上的点集。作为一个技术目的的示范,本实施例为节约信息系统中存储、传输等设备资源,信息系统通过SemiOptConnAlg将数据序列P压缩处理为第一压缩概要序列S={s1,s2,...,sm},m<<n,并且对于数据s1,s2,...,sm一一对应的分别有时间戳st1,st2,...,stm。CM_Filter的输入接口在一个通讯协议下接收第一压缩概要序列S及其时间戳ST={st1,st2,...,stm}.如图5所示,数字序列P各个数字项为空心圆表示的原始数据,各个原始数据在X轴的投影为其时间戳,在Y轴的投影为其数值,经过SemiOptConnAlg在其压缩算法设定的最大误差δ为准则处理后获得第一压缩概要序列S,第一压缩概要序列S的各个数字项为实心圆表示的压缩数据,根据第一压缩概要序列S,可以利用SemiOptConnAlg在δ下从S中解压得到的用三角形表示的解压数据P′={p′1,p′2,...,p′n},其中p′1,p′2,...,p′n分别与p1,p2,...,pn对应于相同的时间戳,即在X轴具有相同的投影。图5-7中直线为S相邻数字项的连线。
本实施例CM_Filter存储器1002中的程序指令至少包含以下程序模块110至150,以便其处理器1001执行这些程序模块并完成各程序模块之间的数据耦合或传输。
本实施例中获取si的序信息窗口W的方法为:在使用序信息轴X和数值信息轴Y描述的平面XY上,以si的序信息为中心,对称的沿序信息轴X分别向其左右两侧各寻找一个原始信号序列P中原始信号项的序信息,使得以这两个序信息为边界的闭区间包括w个原始信号项,则所述闭区域为si的序信息窗口W。
所述获得第一线段集的方法包括步骤:使用在序信息轴X上依次排列的有序点集Si描述所述第一线段集,其中,所述有序点集Si由所述压缩概要序列S在所述序信息窗口W内的全部压缩概要项和序信息窗口W边界处序信息对应的解压缩项组成。
具体的,程序模块110的输入参数包括第一压缩概要序列S、第一压缩概要序列S中一个数字项si的序号i,时间窗口W的宽度w。通过调用程序模块110可以获得数字项si的时间戳为中心的一个时间窗口上的第一有序集合Si={p′l,...,si-1,si,si+1,...,p′r},如图6所示,在Si中,最左项p′l和最右项p′r属于P′,其余项属于S。获得Si的步骤包括步骤101至步骤104:
步骤101,从数字项si的时间戳sti时刻向其左右两侧寻找出两个解压缩点p′l和p′r的时间戳t′l和t′r,时间戳t′l和t′r的序l和r的差为w。不失一般性的,本实施例中w为奇数,t′l和t′r使得N(t′l,sti)=(w-1)/2和N(sti,t′r)=(w-1)/2成立,其中,N(i,j)表示P中落于时刻段[i,j](1≤i<j≤n)内的数字项的个数。
步骤102,获得解压缩点p′l和p′r的数值。p′l和p′r可以通过向左侧和向右侧迭代计算sti和其最临近时刻stj所包含的解压缩点个数来得到。以从右侧寻找p′r为例,从j=i+1开始,迭代地计算N(sti,stj)直到N(sti,stj)≥(w-1)/2;此时,可得到t′r=stj-(N(sti,stj)-(w-1)/2),再通过line(j,j+1)和t′r得到p′r值。
步骤103,在S中找出一个连续的子序列,使得该子序列中任一数字项的时间戳都包含在以si的时间戳sti为中心的时间窗口W内,即,S与该子序列的差集中任一数字项的时间戳都不在该时间窗口W内。对于该子序列{...,si-1,si,si+1,...}有,其最左项时间戳时间大于t′l,其最右项时间戳时间小于t′r。
步骤104,将步骤102得到的p′l和p′r的和步骤103得到的子序列{...,si-1,si,si+1,...}中的各项,按照时间戳的大小排列,得到并输出Si={p′l,...,si-1,si,si+1,...,p′r}。可以理解的是,作为示范的,以图6中数字项si得到的Si中的数字项为6个,W中包含了5段直线。
具体的,程序模块120的输入参数包括从程序模块110获得到的Si,通过程序模块120可以获得Si根据其各项数值大小排序的新的序列S′i={s′1,s′2,...,s′k+1},其中k为当前时间窗口所包含直线表示的个数。如图7所示,利用QuickSort算法对Si={p′l,...,si-1,si,si+1,...,p′r}进行排序后,其结果记作S′i,示范的,S′i={s′1,s′2,...,s′6},即k=5。获得S′i可视为获得了5个第二线段组,其分别在数值信息轴Y的公共投影为[s′1,s′2]、[s′2,s′3]、[s′3,s′4]、[s′4,s′5]、[s′5,s′6]。
本实施例中,所述第二获取模块判断所述中值项位置的方法包括步骤:
沿数值信息轴Y设一固定方向;
根据一所述分割线,计算其所述固定方向一侧的全部所述第二线段集在序信息轴X上的投影所覆盖的原始信号序列P的序信息的个数和;
如果所述个数和为指定宽度w的半数,则判定所述中值项位于该分割线上;如果所述个数和大于指定宽度w的半数,则判断所述中值项在该分割线的所述固定方向相同一侧;如果所述个数和小于指定宽度w的半数,则判断所述中值项在该分割线的所述固定方向相反一侧。
具体的,
可以理解的示,本实施例中,第二获取模块从各所述分割线中在数值信息Y轴上最中部的一分割线开始,使用二分法迭代选取分割线以判断所述中值项的位置。本领域中可以使用其他现有方法迭代或者不迭代的选择分割线分布判断中值项的位置,本公开技术方案包括这些选用不同方法的选出包含中值项的第二线段集的实施例。
具体的,程序模块130的输入参数包括从程序模块120获得到的S′i,通过调用程序模块130可以获得以数字项si的时间戳为中心的一个时间窗口上的中值mdi,或者,该时间窗口中的一个有序集合P′(t′left,t′right),其中,P′的中值数字项在P′(t′left,t′right)中的序记为m′,P′(t′left,t′right)中点的个数记为N,P′(t′left,t′right)所包含的直线表示个数记为k′。通过调用程序模块130可以获得上述S′i中各数字项的中值数字项mdi,或者,上述的P′(t′left,t′right)。具体地,本实施例通过二分法示范,获得mdi或者P′(t′left,t′right)的步骤,其包括步骤301至步骤304:
步骤302,如果N(st′1,st′p)=(w-1)/2,设定mdi=s′p,即s′p的数值作为si在其时间窗口W内的中值mdi,并返回(return)输出;否则,
如果N(st′1,st′p)>(w-1)/2,设定子序列Temp={s′l,....,s′p};
如果N(st′1,st′p)<(w-1)/2,设定子序列Temp={s′p,....,s′r};
在设定Temp上迭代地利用二分法直到Temp只包含两个元素,分别记作s′left和s′right。此时,中值所在的点一定在时间区间[t′left,t′right]包含的点集P′(t′left,t′right)之中。可以理解的是,从S′i中找到两个数字项s′left,s′right,right-left=1,使得s′p的数值落于数值区间(s′left,s′right)内,使得在当前时间窗口W内包含点的中值在此区间内。
本实施例中,第三获取模块设置所述基线位置的方法包括步骤:
创建所述基线于bv=low+(up-low)×r/m,其中,up、low分别为所述包含中值项的第二线段集在所述数值信息轴Y的上限位置和下限位置,m为该第二线段集在序信息轴X上投影所覆盖的原始信号序列P的序信息的个数和,r为所述中值项在该第二线段集上的全部m个解压缩项中按数值信息从小到大排列时的序;
和/或,
移动所述基线到在其所述中值项一侧的最接近的解压缩项处。
具体的,程序模块140的输入参数包括从程序模块130获得到的P′(t′left,t′right),通过调用程序模块140可以获得以数字项si的时间戳为中心的一个时间窗口上的中值mdi。示范的,本实施例提供以下计算过程实现程序模块140:初始化base=s′left+(s′right-s′left)m′/N(实现了bv=low+(up-low)×r/m的形式),迭代k′条直线表示可以计算得到Nc(base)和N(base)。此时,
如果m′≤(Nc(base)+N(base))且m′≥N(base),检查是否Nc(base)>0;如果成立,设定mdi=base;否则,从y=base的下方,检查k′条直线,找出每一条直线离该直线最近的点,然后从这个点集中找出最大值,存储该值到mdi,并返回输出;
如果(Nc(base)+N(base))==m′-1,从y=base的上方,检查k′条直线,找出每一条直线离该直线最近的点,然后从这个点集中找出最小值,存储该值到mdi中,并返回输出;
如果Nc(base)+N(base)<m′-1,设定base′=base+(s′right-base)(m′-N(base))/(N-Nc(base));如果N(base′)==N(base),从y=base的下方,检查k′条直线,找出每一条直线离该直线最近的点,然后设定base′为该点集内的最大值,更新base=base′,返回程序模块140开始处继续迭代;
如果N(base)>m′,设定base′=s′left+(base-s′left)m′/(N(base)+Nc(base));如果N(base′)==N(base),从y=base的上方,检查k′条直线,找出每一条直线离该直线最近的点,然后设定base′为该点集内的最小值,更新base=base′,返回程序模块140开始处继续迭代。
本实施例中,计算模块根据每次获取的mdi获得最终的si的时间戳处的滤波结果sfi。具体的,程序模块150的输入参数包括从程序模块130或者140获得到的mdi,对于每一个si有sfi=si-mdi,调用程序模块150可以获得si在时间窗口W下的中值滤波结果sfi。可以理解的是,对于S,使用上述程序模块遍历每个数字项si,可以获得其中值滤波序列,即第二压缩概要序列SF,实现滤波过程中,输入数据为压缩概要集合S={s1,s2,...,sm},时间窗口W的大小w,输出数据为滤波后集合SF={sf1,sf2,...,sfm}。
上述处理过程的优点在于,假设采集端获得一段数据流P={p1,p2,…,pn},其包含n个数据片p1,p2,…,pn。其经过一个压缩模块,如SemiOptAlg,压缩后得到压缩概要S,即压缩后得到的数据序列,S={s1,s2,…,sk+1},即通过对应的解压缩,利用可以得到解压数据P′={p′1,p′2,…,p′n},其中p′1,p′2,…,p′n分别与p1,p2,…,pn有损或者无损的对应,一般来说k<<n。作为一个中值滤波请求的响应的,本发明的中值滤波器需要分别针对S中的每一个数据点si(1≤i≤k+1),以该点为中心求解包含N(N<n)个原始数据点的中位值,我们按照以下步骤10至50进行求解该中位值:
为说明本公开中值滤波器时间复杂度低、计算简便、保证中值质量等性能优点。下面通过对相同序列的处理过程,通过实施例与对比例予以说明。
本实施例中的中值滤波器CM_Filter在计算每一个压缩点的中位值的时间消耗只和压缩后的直线个数k′有关,不依赖于原始数据点的个数N。通常来说,k′<<N。为验证该条优点,示例的,给定使用二元组表示数据流片段的压缩数据为S={(1,1),(10,5),(15,3),(20,7),(30,4),(35,9)},其中包含5条直线作为第一线段集,保持(1,1)点不变,对其余各点的横纵坐标值扩大10倍、100倍、1000倍,为了保持奇数个原始数据点,对S1、S2、S3的末点横坐标值都加1,得到另外3组构造数据序列,分别为:
S1={(1,1),(100,50),(150,30),(200,70),(300,40),(351,90)}
S2={(1,1),(1000,500),(1500,300),(2000,700),(3000,400),(3501,900)}
S3={(1,1),(10000,5000),(15000,3000),(20000,7000),(30000,4000),(35001,900)}
为了验证压缩中值滤波器(CM_Filter)的计算效率,我们和常用的快速排序算法(QuickSort)进行比较,比较结果见表1和图9,其中TCM_Filter、TDepress和TQuickSort分别表示CM_Filter、解压数据、用QuickSort排序解压数据的时间消耗,Tall=TQuickSort+TDepress;Median表示对应数据集的中值;c为CM_Filter第三获取模块移动基线并迭代判断时其时间复杂度中的较小常数。
表1.CM_Filter和QuickSort10次的平均结果
数据集 | T<sub>CM_Filter</sub> | T<sub>Depress</sub> | T<sub>QuickSort</sub> | T<sub>all</sub> | Median | c |
S | 0.0275 | 0.0115 | 0.0041 | 0.0156 | 4.6 | 2 |
S<sub>1</sub> | 0.0343 | 0.1175 | 0.1909 | 0.3084 | 45.8824 | 2 |
S<sub>2</sub> | 0.0368 | 1.026 | 13.602 | 14.628 | 457.043 | 2 |
S<sub>3</sub> | 0.0192 | 4.763 | 623.917 | 628.68 | 4570.4 | 2 |
表1和图9的数据说明,CM_Filter的时间消耗不依赖于数据规模的大小,而和压缩后的直线个数有关;而解压时间、QuickSort的排序时间均与数据规模有关。
为了验证本文中CM_Filter运算结果的保质性,示范性的,下面结合ECG数据处理领域的多个实施例和对比例进一步说明本发明技术方案运算结果的保质性。
心电图(Electrocardiograph,ECG)是以心电图机为采集端,携带从体表获取心脏每一心动周期所产生的电活动图形信息的流数据,可用于呈现心脏机能的状态变化,从而为心脏病的诊断提供客观依据。ECG携带的心脏周期性变化信息,在一定间隔时间内具有高度的相似性,在信道传输前一般对ECG原始信号进行压缩处理,以减少冗余数据的存储和传输,有利于采集端向存储端、分析端等终端传输,便于进行远程的辅助诊断。在5G时代,随着智慧医疗普及,ECG的采集端设备将会轻便化、家庭化,这势必也会加大ECG的采集力度、采集规模以及传输规模,对采集端的数据进行有效压缩是必然需要的。
以远程医疗中ECG的数据传输为例,各种ECG设备采集的原始信号受到各种干扰,常见的为工频干扰、肌电干扰以及基线漂移干扰等。其中,基线漂移对ECG信号的影响较大、较难处理,从而给心脏病的诊断带来困难。因此,针对采集端ECG数据的基线漂移问题,需要对ECG的数据进行滤波处理,传统的数字滤波方法包括均值滤波器、IIR滤波器、FIR滤波器和中位值滤波器等等。由于中位值滤波器具有非线性的特点,能更好的保持原始信号的特性,所以在ECG基线漂移的滤波问题上具有广泛的应用。
本实施例针对ECG的基线漂移问题,设计了一种基于压缩后数据(而不恢复数据)中值滤波器,针对ECG的基线漂移,如图10至19所示,我们从MIT的数据库中挑选了10个实际的带有基线漂移的ECG片段,分别来自101(30001-35000)、103(390001:395000)、105(305001:310000)、107(225001:230000)、109(640001:645000)、112(105001:110000)、115(590001:595000)、116(370001:375000)、118(182001:187000)和121(595001:600000),其中括号内表示该数据库的数据点区间。
首先,我们采用SemiOptConnAlg算法对这10个数据片段进行压缩处理,最大误差设定为每一段数据中最大值和最小值差值的1%;然后利用CM_Filter算法对压缩后的每一个压缩数据点进行处理。此外,为了说明高效性,我们采用一种基于原始数据的中值滤波器作为比较对象,记作ISSM_Filter(V.S.Chouhan,Sarabjeet Singh Mehta,Total Removalof Baseline Drift from ECG Signal,International Conference on Computing:Theory&Applications-2007),针对10个数据片段的进行处理,滤波效果见图10-图19。
从图10-19可以看出,(1)直接在压缩数据上设计的CM_Filter滤波器在真实的ECG数据上,针对各种基线漂移干扰,均能较好的纠正,可适应个体差异性的波形;(2)与在原始数据直接进行操作的ISSM_Filter滤波器相比,CM_Filter在基线漂移的滤波效果上并无明显差异,这源于CM_Filter具有保质性;值得注意的是,CM_Filter对工频干扰滤除具有一定的作用,曲线更加平滑,这源于基于最大误差的压缩算法本身具有平滑数据的作用。
容易理解的,本公开第四方面的信息系统的实施例中,可以包括独立的一个或者多个本公开提及的中值滤波器,由于本公开中值滤波器的引入,这些信息系统能够在至少一条数据传输链路上实现更少的资源分配。图20、21分体示出了该信息系统中两条不同数据传输链路的结构示意图。在图20中,数字滤波器1000包括本公开的中值滤波器,其集成于分析端,数据传输链路的压缩模块对原始信号序列进行压缩并编码以便减少存储、中继等任何中间过程资源分配,为了最大程度的减少中间滤波对原始信号的误差影响,仅当需要对原始信号序列所承载的数据信息进行分析处理时,在分析端进行中值滤波,不同的分析端可以自主的决定不同的中值滤波窗口w以便详细分析,而不必将滤波的控制权给数据传输链路上的其他设备。在图21中,信源侧的采集端为包含多个信号源的传感器,为节约其自身缓存资源、网络带宽,其输出序列应当是进行压缩处理后的压缩概要序列,这些信号被实时压缩后以概要形式放入缓存等待发送,因此不能实现概要的解压滤波,而使用本公开提供的中值滤波器将在不明显提升传感器侧的计算负荷和缓存负荷的情况下,实现了采集端的中值滤波,使得该链路上的各个分析端信宿侧设备均不必再另外设置滤波处理模块,即避免了大量的计算资源和存储资源的分配,降低了信息系统整体的信号处理压力。
需要说明的是,在本发明各实施例(包括附图所示的各实施例)中所有的第一获取模块、第二获取模块、第三获取模块和计算模块任一模块对应的设备可以为由数字电路组成的信号处理电路,典型如FPGA,也可以是通过读取程序指令并指令的曼哈顿或者冯诺依曼结构的CPU。所有第一获取模块、第二获取模块、第三获取模块和计算模块之间数据的耦合,可以是通过集成电路的信号传输的,也可以是基于数据传输链路的,数据处理的所必须的相关参数在实施例中已经声明,本领域技术人员可以根据实际情况对相关数据缓存,以及基于请求的调取,其具体实施均以现有技术水平为准作为实施例被本文所包含。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。本文主要就时间序列的空域领域非线性滤波方面的中值滤波器进行了详细的说明,通过这些具体的说明,本领域技术人员熟知,本公开提供的中值滤波器在不必进行创造性改进的情况下,也适用于频域的或者如对图像进行平滑、去噪处理等多个数字信号处理领域。因此,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,本文不再赘述。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于最大误差准则的中值滤波器,用于根据一指定宽度w的序信息窗口处理由原始信号序列P经过基于最大误差准则的PLA压缩算法获得的压缩概要序列S,其包括:
第一获取模块,其用于:获取当前压缩概要项si的序信息窗口W;以及,获取所述压缩概要序列S被所述序信息窗口W截取出的第一线段集;
第二获取模块,其用于:根据所述第一线段集各线段端点的数值信息设置分割线,以便分割所述第一线段集为若干第二线段集;以及,判断中值项与所述分割线的相对位置;以便,若中值项位于一所述分割线上,则输出该中值项的数值信息mdi,否则,输出所述若干第二线段集中一包含中值项的第二线段集;
第三获取模块,其用于:创建一位于所述包含中值项的第二线段集的数值信息范围内的基线,以及向所述中值项方向移动所述基线;以便,当所述中值项位于所述基线上或者所述基线附近时,输出所述中值项的数值信息mdi;
以及,
计算模块,其用于:根据所述第二获取模块或者所述第三获取模块获得的中值项的数值信息mdi计算当前压缩概要项si在指定宽度w下滤波去除基线漂移后的压缩概要项sfi。
2.根据权利要求1所述的中值滤波器,其特征在于,所述获取si的序信息窗口W的方法包括步骤:在使用序信息轴X和数值信息轴Y描述的平面XY上,以si的序信息为中心,对称的沿序信息轴X分别向其左右两侧各寻找一个原始信号序列P中原始信号项的序信息,使得以这两个序信息为边界的闭区间包括w个原始信号项,则所述闭区域为si的序信息窗口W。
3.根据权利要求2所述的中值滤波器,其特征在于,所述获取压缩概要序列S被序信息窗口W截取出的第一线段集的方法包括步骤:使用在序信息轴X上依次排列的有序点集Si描述所述第一线段集,其中,所述有序点集Si由所述压缩概要序列S在所述序信息窗口W内的全部压缩概要项和序信息窗口W边界处序信息对应的解压缩项组成。
4.根据权利要求2所述的中值滤波器,其特征在于,所述第二获取模块判断所述中值项与一所述分割线的相对位置的方法包括步骤:
沿数值信息轴Y设一固定方向;
根据该分割线,计算其所述固定方向一侧的全部所述第二线段集在序信息轴X上的投影所覆盖的原始信号序列P的序信息的个数和;
如果所述个数和为指定宽度w的半数,则判定所述中值项位于该分割线上;如果所述个数和大于指定宽度w的半数,则判断所述中值项在该分割线的所述固定方向相同一侧;如果所述个数和小于指定宽度w的半数,则判断所述中值项在该分割线的所述固定方向相反一侧。
5.根据权利要求2所述的中值滤波器,其特征在于:所述第二获取模块从各所述分割线中在数值信息Y轴上最中部的一分割线开始,使用二分法迭代选取分割线以判断所述中值项的位置。
6.根据权利要求2所述的中值滤波器,其特征在于:所述第三获取模块创建一位于所述包含中值项的第二线段集的数值信息范围内的基线的方法包括步骤:
创建所述基线于bv=low+(up-low)×r/m,其中,up、low分别为所述包含中值项的第二线段集在所述数值信息轴Y的上限位置和下限位置,m为该第二线段集在序信息轴X上投影所覆盖的原始信号序列P的序信息的个数和,r为所述中值项在该第二线段集上的全部m个解压缩项中按数值信息从小到大排列时的序;
和/或,
移动所述基线到在其所述中值项一侧的最接近的解压缩项处。
7.根据权利要求1所述的中值滤波器,其特征在于:所述基于最大误差准则的PLA压缩算法为SemiOptConnAlg。
8.一种压缩滤波设备,其包括实现基于最大误差准则的PLA压缩算法的数据压缩设备和如权利要求1至7任一项所述的中值滤波器,所述中值滤波器对所述数据压缩设备输出的第一压缩概要序列S滤波获得第二压缩概要序列SF。
9.一种建立于信源侧设备向信宿侧设备方向的数据传输链路,其包括实现基于最大误差准则的PLA压缩算法的数据压缩设备和如权利要求1至7任一项所述的中值滤波器。
10.一种信息系统,其信源侧设备、数据传输链路或者信宿侧设备包括:
如权利要求1至7任一项所述的中值滤波器;
如权利要求8所述的压缩滤波设备;和/或,
如权利要求9所述的数据传输链路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011267412.3A CN112487880B (zh) | 2020-11-13 | 2020-11-13 | 基于最大误差准则的中值滤波器、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011267412.3A CN112487880B (zh) | 2020-11-13 | 2020-11-13 | 基于最大误差准则的中值滤波器、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487880A CN112487880A (zh) | 2021-03-12 |
CN112487880B true CN112487880B (zh) | 2021-09-24 |
Family
ID=74930053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011267412.3A Active CN112487880B (zh) | 2020-11-13 | 2020-11-13 | 基于最大误差准则的中值滤波器、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487880B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240057B (zh) * | 2021-07-12 | 2021-09-28 | 武汉中原电子信息有限公司 | 一种基于电力数据采集的高精度误差检测方法及系统 |
CN113872607B (zh) * | 2021-09-29 | 2022-06-28 | 河北省科学院应用数学研究所 | 一种生理监测数据的保质压缩方法、装置及终端设备 |
CN114785716B (zh) * | 2022-03-21 | 2023-06-16 | 鹏城实验室 | 一种基于自诱导拥塞和单向延迟的可用带宽测量方法 |
CN116418349B (zh) * | 2023-03-07 | 2024-01-26 | 东华大学 | 基于最大误差准则的序列数据压缩方法、设备和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164104A (zh) * | 2011-01-12 | 2011-08-24 | 深圳市蓝韵实业有限公司 | 一种信号基线快速处理方法及装置 |
CN102386889A (zh) * | 2011-09-29 | 2012-03-21 | 深圳Tcl新技术有限公司 | 基线漂移去除方法、装置及中值滤波器 |
CN104132884A (zh) * | 2013-10-16 | 2014-11-05 | 深圳市帝迈生物技术有限公司 | 一种用于信号处理系统中信号基线的快速处理方法及装置 |
CN107040269A (zh) * | 2017-04-11 | 2017-08-11 | 中国人民解放军海军工程大学 | 基于方差中值滤波的极/超低频信道大气噪声抑制方法 |
CN108763346A (zh) * | 2018-05-15 | 2018-11-06 | 中南大学 | 一种滑窗箱型图中值滤波的异常点处理方法 |
CN110971239A (zh) * | 2019-12-17 | 2020-04-07 | 河北省科学院应用数学研究所 | 基于数据压缩的均值计算方法、装置和终端设备 |
CN111091233A (zh) * | 2019-11-26 | 2020-05-01 | 江苏科技大学 | 一种基于小波分析和多模型AdaBoost深度网络的风电场短期风电预测建模方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8457206B2 (en) * | 2008-11-03 | 2013-06-04 | Broadcom Corporation | Method and system for adaptive temporal interpolation filtering for motion compensation |
CN108122189B (zh) * | 2016-11-29 | 2021-11-30 | 三星电子株式会社 | 硬件中的顶点属性压缩和解压缩 |
CN106936441B (zh) * | 2017-02-27 | 2020-08-21 | 深圳国泰安教育技术有限公司 | 一种数据压缩方法和装置 |
CN107147398B (zh) * | 2017-05-03 | 2020-11-13 | 兰州空间技术物理研究所 | 利用样条函数进行有损压缩的方法和系统 |
EP3404611A1 (en) * | 2017-05-19 | 2018-11-21 | RetinAI Medical GmbH | Reducing noise in an image |
CN107124559B (zh) * | 2017-06-19 | 2019-08-13 | 成都优孚达信息技术有限公司 | 一种通信数据压缩方法 |
CN107994906A (zh) * | 2017-08-01 | 2018-05-04 | 河北省科学院应用数学研究所 | 一种基于l∞准则的半连续最优分段线性近似方法 |
CN108335744B (zh) * | 2018-04-03 | 2019-01-11 | 江苏大学附属医院 | 一种心血管急救网络系统及其分类预警方法 |
CN109102569A (zh) * | 2018-06-13 | 2018-12-28 | 东莞时谛智能科技有限公司 | 一种重构脚部点云模型处理方法及系统 |
WO2020044362A2 (en) * | 2018-09-01 | 2020-03-05 | Indian Institute Of Technology Bombay | Real-time pitch tracking by detection of glottal excitation epochs in speech signal using hilbert envelope |
CN111669564B (zh) * | 2019-03-07 | 2022-07-26 | 阿里巴巴集团控股有限公司 | 图像重建方法、系统、设备及计算机可读存储介质 |
CN110620586B (zh) * | 2019-09-17 | 2021-07-13 | 河北省科学院应用数学研究所 | 数据压缩方法、装置和终端设备 |
CN110755069B (zh) * | 2019-10-25 | 2020-10-16 | 山东省计算中心(国家超级计算济南中心) | 一种跳跃突变噪声的动态心电信号基线漂移校正方法 |
CN110910425B (zh) * | 2019-11-20 | 2022-10-18 | 上海无线电设备研究所 | 一种针对抵近飞行过程的目标跟踪方法 |
-
2020
- 2020-11-13 CN CN202011267412.3A patent/CN112487880B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164104A (zh) * | 2011-01-12 | 2011-08-24 | 深圳市蓝韵实业有限公司 | 一种信号基线快速处理方法及装置 |
CN102386889A (zh) * | 2011-09-29 | 2012-03-21 | 深圳Tcl新技术有限公司 | 基线漂移去除方法、装置及中值滤波器 |
CN104132884A (zh) * | 2013-10-16 | 2014-11-05 | 深圳市帝迈生物技术有限公司 | 一种用于信号处理系统中信号基线的快速处理方法及装置 |
CN107040269A (zh) * | 2017-04-11 | 2017-08-11 | 中国人民解放军海军工程大学 | 基于方差中值滤波的极/超低频信道大气噪声抑制方法 |
CN108763346A (zh) * | 2018-05-15 | 2018-11-06 | 中南大学 | 一种滑窗箱型图中值滤波的异常点处理方法 |
CN111091233A (zh) * | 2019-11-26 | 2020-05-01 | 江苏科技大学 | 一种基于小波分析和多模型AdaBoost深度网络的风电场短期风电预测建模方法 |
CN110971239A (zh) * | 2019-12-17 | 2020-04-07 | 河北省科学院应用数学研究所 | 基于数据压缩的均值计算方法、装置和终端设备 |
Non-Patent Citations (6)
Title |
---|
IMAGE DENOISING USING NEW ADAPTIVE BASED MEDIAN FILTER;Suman Shrestha;《Signal & Image Processing : An International Journal (SIPIJ)》;20140831;第5卷(第4期);第1-13页 * |
Median Filtering by Threshold Decomposition: Induction Proof;Connor Bramham等;《SIAM》;20180131;第438-455页 * |
基于双窗口和极值压缩的自适应中值滤波;胡旺等;《中国图象图形学报》;20070131;第12卷(第1期);第43-50页 * |
基于均值查找的快速中值滤波算法;鲍华等;《四川大学学报(工程科学版)》;20110320;第43卷(第02期);第76-79、86页 * |
基于小波域数字滤波的心电信号BW去噪算法;殷俊鹏等;《计算机工程》;20130315;第39卷(第03期);度267-271页 * |
结合小波变换和中值滤波心电信号去噪算法研究;徐寒等;《自动化与仪表》;20121215(第12期);度46-49页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112487880A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112487880B (zh) | 基于最大误差准则的中值滤波器、设备和系统 | |
Liu et al. | Energy efficient telemonitoring of physiological signals via compressed sensing: A fast algorithm and power consumption evaluation | |
US8131792B1 (en) | Apparatus and method for correlating synchronous and asynchronous data streams | |
Soler et al. | Topologically controlled lossy compression | |
CN110522440B (zh) | 基于分组卷积神经网络的心电信号识别装置 | |
JP2008535327A (ja) | 適応型データ圧縮、多次元予測、複数符号復号の改善による改良により前処理されたロスレスデータ変換の方法および装置 | |
CN104394411B (zh) | 中值滤波装置及方法 | |
CN113328755B (zh) | 一种面向边缘计算的压缩数据传输方法 | |
Antonopoulos et al. | Resource efficient data compression algorithms for demanding, WSN based biomedical applications | |
CN115955513B (zh) | 一种物联网数据优化传输方法 | |
Alsenwi et al. | Hybrid compression technique with data segmentation for electroencephalography data | |
Zhao et al. | A fast unsupervised approach for multi-modality surgical trajectory segmentation | |
CN106656201B (zh) | 一种基于采样数据幅频特性的压缩方法 | |
Bairagi et al. | Texture-based medical image compression | |
Abdollahzadeh et al. | Multi-focus image fusion for visual sensor networks | |
CN112863653A (zh) | 一种心电数据压缩方法及装置 | |
Gnana Subha et al. | An efficient algorithm based on combined encoding techniques for compression of ECG data from multiple leads | |
Gibson et al. | Dynamic online performance optimization in streaming data compression | |
CN115983370A (zh) | 散乱数据插值模型训练方法、插值方法及装置 | |
CN104751459A (zh) | 多维特征的相似性度量优化方法及图像匹配方法 | |
CN114968933A (zh) | 数据中心的日志的分类方法和装置 | |
Abdali-Mohammadi | 12 lead electrocardiography signals compression by a new genetic programming based mathematical modeling algorithm | |
Yang et al. | Epileptic detection in single and multi-lead EEG signals using persistent homology based on bi-directional weighted visibility graphs | |
Yoshimura et al. | Edge detection of texture image using genetic algorithms | |
CN114596637B (zh) | 图像样本数据增强训练方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |