掌桥专利:专业的专利平台
掌桥专利
首页

用于小型数据处理设备的心电数据处理方法、电子设备和存储介质

文献发布时间:2023-06-19 13:48:08


用于小型数据处理设备的心电数据处理方法、电子设备和存储介质

技术领域

本发明实施例涉及心电数据处理技术,尤其涉及一种用于小型数据处理设备的心电数据处理方法、装置、电子设备和存储介质。

背景技术

近年来,人们借助具有各种功能的便携式设备进行信息处理、通信、社交和专用功能,例如用于进行脉搏、体温、血压、运动、睡眠等监测的智能手表。在心电监测领域,也逐渐引入利用小型设备进行心电数据的采集和处理的技术。

然而,小型设备受限于其有限的电源、计算资源和存储资源,在长时间的心电数据处理上存在处理效率低、存储量低的问题。

发明内容

本发明实施例提供了一种用于小型数据处理设备的心电数据处理方案,以利于小型数据处理设备有效地对心电数据进行压缩和存储。

根据本发明的第一方面,提供一种用于小型数据处理设备的心电数据处理方法,包括:持续接收并缓存来自心电采集设备的心电数据,并检测心电采集异常事件;如果检测到所述心电采集异常事件,则将与所述心电采集异常事件相应的异常事件标记插入缓存的所述心电数据中与所述心电采集异常事件的接收时间对应的位置,所述异常事件标记的长度与单个所述心电数据的长度相同;对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得预定长度的整包压缩数据;在所述整包压缩数据的起始位置或结束位置添加数据包号,所述数据包号与上一次压缩获得的整包压缩数据的数据包号保持连续;将添加有数据包号的整包压缩数据存储在所述小型数据处理设备的存储装置中,其中,添加有数据包号的整包压缩数据的长度为所述存储装置的存储单位的预定整数倍数。

可选地,所述心电数据为单导联心电数据,每个所述单导联心电数据和所述异常事件标记的长度均为双字节并且均包含非有效数据位,所述异常事件标记的非有效数据位与所述单导联心电数据的非有效数据位对应。其中,所述对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得预定长度的整包压缩数据,包括:以缓存的一定时长的单导联心电数据的起始位置作为第一当前位置,迭代地进行以下处理,直到获得预定长度的整包压缩数据为止:从第一当前位置获取第一预定个数的所述单导联心电数据;对所述第一预定个数的所述单导联心电数据分别进行位平移,获得所述单导联心电数据中的有效位数的数据;根据预定的第一组合规则将各个所述单导联心电数据中的有效位数的数据进行字节组合,获得第一预定字节数的压缩数据;将所述第一预定字节数的压缩数据拼接到已有压缩数据;如果拼接获得的已有压缩数据的长度小于所述预定长度,则将所述第一当前位置前移所述第一预定个数的长度作为新的第一当前位置,以进行下次迭代处理;将经过迭代处理获得的已有压缩数据作为所述整包压缩数据。

可选地,所述非有效数据位为所述单导联心电数据中连续的4个高位,所述第一预定个数为2,所述第一预定字节数为3。

可选地,所述心电数据为多导联心电数据,每个所述多导联心电数据和所述异常事件标记的长度均为3个字节。

可选地,所述对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得预定长度的整包压缩数据,包括:以缓存的一定时长的多导联心电数据的起始位置作为第二当前位置,迭代地进行以下处理,直到获得预定长度的整包压缩数据为止:从第二当前位置获取2个所述多导联心电数据;对获取的每个所述多导联心电数据,分别获取位于中间的连续20数据;根据预定的第二组合规则将2个所述连续20位数据进行字节组合,获得5个字节的压缩数据;将所述压缩数据拼接到已有压缩数据;如果拼接获得的已有压缩数据的长度小于所述预定长度,则将所述第二当前位置前移2个所述多导联心电数据的长度作为新的第二当前位置,以进行下次迭代处理;将经过迭代处理获得的已有压缩数据作为所述整包压缩数据。

可选地,所述对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得预定长度的整包压缩数据,包括:以缓存的一定时长的多导联心电数据的首个多导联心电数据作为当前多导联心电数据,迭代地进行以下处理,直到获得预定长度的整包压缩数据为止:取位于所述当前多导联心电数据中间的连续20位数据作为当前的中间数据;如果所述当前多导联心电数据是首个多导联心电数据,则将所述当前的中间数据作为当前差值数据;如果所述当前多导联心电数据不是首个多导联心电数据,则对所述当前的中间数据与前一个多导联数据的中间数据进行差值计算,获得当前差值数据;取位于所述当前差值数据中间的连续16位数据作为当前多导联心电数据的压缩数据;将所述压缩数据拼接到累积压缩数据;如果拼接获得的累积压缩数据的长度小于所述预定长度,则获取下一个多导联心电数据,以进行下次迭代处理;将经过迭代处理获得的累积压缩数据作为所述整包压缩数据。

可选地,所述持续接收并缓存来自心电采集设备的心电数据,并检测心电采集异常事件,还包括:检测用户事件;其中,所述对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得预定长度的整包压缩数据,包括:如果检测到用户事件,则对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得长度为预定长度减去2个字节的整包压缩数据,并且在所述整包压缩数据尾端的2个字节写入与所述用户事件对应的用户事件标记,所述用户事件标记的长度为单个字节或双字节。

根据本发明的第二方面,提供一种用于小型数据处理设备的心电数据处理方法,包括:获取添加有数据包号的整包心电压缩数据,所述整包心电压缩数据的长度为存储装置的存储单位的预定整数倍数;从所述整包心电压缩数据获取所述数据包号,并且对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据;将还原的心电数据拼接到所述数据包号的前一个数据包号对应的心电数据的末端。

可选地,所述整包心电压缩数据中还含有与心电采集异常事件相应的异常事件标记,所述异常事件标记的长度与单个所述心电数据的长度相同。

可选地,所述还原的心电数据为单导联心电数据,每个所述单导联心电数据和所述异常事件标记的长度均为双字节并且均包含非有效数据位,所述异常事件标记的非有效数据位与所述单导联心电数据的非有效数据位对应。所述对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据,包括:以所述除所述数据包号的心电压缩数据的起始位置作为第三当前位置,迭代地进行以下处理,直到完成所述心电压缩数据的处理为止:从第三当前位置获取第三预定字节数的所述心电压缩数据;根据预定的第一拆分组合规则将所述第三预定字节数的所述心电压缩数据拆分组合为第三预定个数的中间数据,每个所述中间数据含有连续的多个有效位数据;对每个所述中间数据添加值为0的非有效数据位,形成第三预定个数的长度为双字节的心电解压缩数据;将所述第三预定个数的心电解压缩数据依次拼接到已有的心电解压缩数据上;将所述第三当前位置前移第三预定字节数的长度作为新的第三当前位置,以进行下次迭代处理;将经过迭代处理获得的心电解压缩数据作为还原的心电数据。

可选地,所述非有效数据位为所述单导联心电数据中连续的4个高位,所述第三预定字节数为3,所述第三预定个数为2。

可选地,所述还原的心电数据为多导联心电数据,每个所述多导联心电数据和所述异常事件标记的长度均为3个字节。

可选地,所述对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据,包括:以所述除所述数据包号的心电压缩数据的起始位置作为第四当前位置,迭代地进行以下处理,直到完成所述心电压缩数据的处理为止:从第四当前位置获取5个字节的所述心电压缩数据;将所述5个字节的所述心电压缩数据当中的指定字节的数据拆分为2个20位中间数据;分别在2个20位中间数据的两端添加2位值为0的填充数据,形成2个长度为3字节长的心电解压缩数据;将所述2个心电解压缩数据依次拼接到已有的心电解压缩数据上;将所述第四当前位置前移5个字节的长度作为新的第四当前位置,以进行下次迭代处理;将经过迭代处理获得的心电解压缩数据作为还原的心电数据。

可选地,所述对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据,包括:以所述除所述数据包号的心电压缩数据的起始位置作为第五当前位置,迭代地进行以下处理,直到完成所述心电压缩数据的处理为止:从所述第五当前位置获取2个字节的心电压缩数据作为当前中间数据;在所述当前中间数据的两端分别扩充4位,并将扩充4位的值置为0,获得3个字节的当前差值数据;如果所述第五当前位置是所述起始位置,则将所述当前差值数据作为当前的心电解压缩数据;如果第五当前位置不是所述起始位置,则将所述当前差值数据与前一个心电解压缩数据相加,获得当前的心电解压缩数据;将当前的心电解压缩数据依次拼接到已有的心电解压缩数据上;将所述第五当前位置前移2个字节的长度作为新的第五当前位置,以进行下次迭代处理;将经过迭代处理获得的心电解压缩数据作为还原的心电数据。

可选地,在获取添加有数据包号的整包心电压缩数据后,所述方法还包括:在所述整包压缩数据的尾端检测用户事件标记,如果检测到所述用户事件标记,则获取所述用户事件标记,其中,所述对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据,包括:如果检测到用户事件标记,则对除所述数据包号和所述用户事件标记以外的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据。

根据本发明的第三方面,提供一种电子设备,包括:处理器和存储器;所述存储器用于存放至少一个可执行指令,所述可执行指令使所述处理器执行任一前述用于小型数据处理设备的心电数据处理方法的步骤。

根据本发明的第四方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有可执行指令,所述可执行指令使所述处理器执行任一前述用于小型数据处理设备的心电数据处理方法的步骤。

通过本发明实施例提出的用于小型数据处理设备的心电数据处理方案,对持续采集的来自心电采集设备的心电数据进行包括位运算的压缩处理,并且为压缩获得的整包压缩数据添加数据包号,再将添加有数据包号的整包压缩数据存储在该存储装置中。由此,对心电数据进行的包括位运算的压缩处理充分利用了心电数据的特性,运算简单、快捷,并且对经过压缩的心电数据的存储与存储装置的存储单位适配,更为有效地对心电数据进行了存储,提高了存储效率,该心电数据处理方法非常适用于资源和计算处理能力有限的小型数据处理设备。

附图说明

图1示出心电波形数据的示例;

图2是示出根据本发明一些实施例的用于小型数据处理设备的心电数据处理方法的流程图;

图3是示出图2中的步骤S230的一种示例性处理的流程图;

图4是示出图2中的步骤S230的另一种示例性处理的流程图;

图5是示出图2中的步骤S230的又一种示例性处理的流程图;

图6是示出根据本发明另一些实施例的用于小型数据处理设备的心电数据处理方法的流程图;

图7是示出图6中的步骤S620的一种示例性处理的流程图;

图8是示出图6中的步骤S620的另一种示例性处理的流程图;

图9是示出图6中的步骤S620的又一种示例性处理的流程图;

图10是示出根据本发明一些实施例的电子设备的结构示意图。

具体实施方式

下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施例的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。

本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

图1示出心电波形数据的示例。如图1所示,心电数据具有周期性、连续性和非突变性的特点。本发明的总体构思提出的心电数据处理方法正是利用心电数据的这些特性并且考虑到小型数据处理设备(便携式设备)资源有限、计算处理能力有限的局限性,对心电电极采集的心电数据进行压缩处理并进行存储,以获得适于小型数据处理设备进行处理和存储的心电数据。

以下将参照图2~图5详细描述根据本发明实施例的用于小型数据处理设备的心电数据处理方法的处理。

图2是示出根据本发明一些实施例的用于小型数据处理设备的心电数据处理方法的流程图。在与心电电极连接的小型数据处理设备中执行该心电数据处理方法,该小型数据处理设备可以是移动通信设备(如手机、智能手表等)、平板电脑或便携式专用设备。

参照图2,在步骤S210,持续接收并缓存来自心电采集设备的心电数据,并检测心电采集异常事件。

在持续接收来自心电采集设备(如心电电极或含有心电电极的心电采集设备)的心电数据时,可在处理器的内存中缓存这些心电数据。这些心电数据可以是例如心电电压数据、心电波形数据等。这些心电数据可以是单导联心电数据,也可以是多导联心电数据,每个心电数据具有确定的长度。

此外,心电采集设备在进行心电数据采集时,可能会发生例如电极脱落的异常事件。相应地,在步骤S210,还检测该心电采集异常事件。

如果检测到所述心电采集异常事件,则执行步骤S220的处理。在步骤S220,将与所述心电采集异常事件相应的异常事件标记插入缓存的所述心电数据中与所述心电采集异常事件的接收时间对应的位置,所述异常事件标记的长度与单个所述心电数据的长度相同。

例如,假设单个心电数据的长度为两个字节,在接收到数值为0x2158的心电数据后,检测到心电电极脱落的异常事件,则在心电数据0x2158后,插入值为0x7777的双字节的异常事件标记。

在执行步骤S220后或者没有检测到心电采集异常事件的情况下,执行步骤S230。

在步骤S230,对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得预定长度的整包压缩数据。

由于采集的心电数据具有连续性和非突变性的特点并且具有一定的数据精度,而用于执行该心电数据处理方法的小型数据处理设备具有有限的计算资源和运算处理能力,因此可对缓存的一定时长的心电数据进行基于相对简单的位运算的压缩处理,以获得数据量降低的压缩数据。

例如,可减少每个心电数据的位数,以牺牲心电数据的精度为代价,来压缩心电数据;再例如,对于存在非有效数据位的心电数据,可通过位平移操作滤除非有效数据位,并且对获得的有效数据进行字节组合,来压缩心电数据。这些通过位运算进行的压缩处理简单、快捷,适于在小型数据处理设备中执行。稍后将介绍步骤S230的一些示例性处理。

其中,对缓存的一定时长的心电数据进行压缩处理获得的整包压缩数据具有预定长度,该预定长度以该小型数据处理设备的存储装置的存储单位为基础,以便于有效地存储和读取经过压缩的心电数据。

此后,在步骤S240,在所述整包压缩数据的起始位置或结束位置添加数据包号,所述数据包号与上一次压缩获得的整包压缩数据的数据包号保持连续。

通过步骤S240的处理,可以在对持续采集的心电数据进行本发明实施例的心电数据处理方法的过程中,按照数据包号识别各个整包压缩数据的顺序,并且在后续读取各个整包压缩数据时,检测丢包(数据丢失)现象。

在步骤S250,将添加有数据包号的整包压缩数据存储在所述小型数据处理设备的存储装置中,其中,添加有数据包号的整包压缩数据的长度为所述存储装置的存储单位的预定整数倍数。

也就是说,步骤S230获得的整包压缩数据和步骤S240添加的数据包号的总长度为小型数据处理设备的存储装置的存储单位的预定整数倍数,由此可有效地利用该存储装置的存储空间。

该小型数据处理设备的存储装置可以是例如Flash存储器、SD存储卡、硬盘、U盘等。例如,Flash存储芯片的存储单位是512字节。可将添加有数据包号的整包压缩数据的长度设置为512字节(单倍数)、1024字节(2倍数)或2048字节(4倍数)等,甚至4096字节(8倍数),但不限于此。

通过前述步骤S210~S250的处理,本发明实施例的心电数据处理方法对持续采集的来自心电采集设备的心电数据进行包括位运算的压缩处理,并且为压缩获得的整包压缩数据添加数据包号,使得添加有数据包号的整包压缩数据的长度与小型数据处理设备的存储装置的存储单位适配,再将添加有数据包号的整包压缩数据存储在该存储装置中。由此,对心电数据进行的包括位运算的压缩处理充分利用了心电数据的特性,运算简单、快捷,并且对经过压缩的心电数据的存储与存储装置的存储单位适配,更为有效地对心电数据进行了存储,提高了存储效率,该心电数据处理方法非常适用于资源和计算处理能力有限的小型数据处理设备。

存储的心电压缩数据后续可被读取进行解压处理,还可被传输给服务器进行存档、分析等。

如前所述,采集的心电数据可以是单导联心电数据,也可以是多导联心电数据,而单导联心电数据和多导联心电数据的长度和内容信息通常不同。以下参照图3详细介绍在步骤S230中对单导联心电数据的示例性压缩处理,并参照图4~图5详细介绍在步骤S230中对多导联心电数据的示例性压缩处理。

根据本发明的一种示例性实施例,前述心电数据为单导联心电数据,每个所述单导联心电数据和所述异常事件标记的长度均为双字节并且均包含非有效数据位,所述异常事件标记的非有效数据位与所述单导联心电数据的非有效数据位对应。例如,单导联心电数据和所述异常事件标记的非有效数据位可均为连续的2个或4个高位。

参照图3,在步骤S230,以缓存的一定时长的单导联心电数据的起始位置作为第一当前位置,迭代地进行压缩处理,直到获得预定长度的整包压缩数据为止。具体地,步骤S230包括以下步骤S310~S370的处理。

在步骤S310,将第一当前位置设置为单导联心电数据的起始位置。

在步骤S320,从第一当前位置获取第一预定个数的所述单导联心电数据。

可根据单导联心电数据中非有效数据位的长度来确定该第一预定个数。例如,假设非有效数据位的长度为4位,则该第一预定个数可为2个;再例如,假设非有效数据位的长度为2位,则该第一预定个数可为4个,以使该第一预定个数的心电数据中的有效数据能够组合成整数个字节。

在步骤S330,对该第一预定个数的所述单导联心电数据分别进行位平移,获得所述单导联心电数据中的有效位数的数据。

例如,假设非有效数据位的长度为4位,则将每个单导联心电数据分别向左(向高位)平移4位,滤除掉非有效数据,获得有效位数的数据。

在步骤S340,根据预定的第一组合规则将各个所述单导联心电数据中的有效位数的数据进行字节组合,获得第一预定字节数的压缩数据。

假设获取两个单导联心电数据x0158和0x0263,在滤除掉非有效数据位和字节组合后,可得到3个字节的压缩数据:0x58,0x12,0x63。

假设获取两个单导联心电数据x0158和0x0777(异常事件标记),在滤除掉非有效数据位和字节组合后,可得到3个字节的压缩数据:0x58,0x17,0x77。

在步骤S350,将所述第一预定字节数的压缩数据拼接到已有压缩数据。

具体地,如果第一当前位置是缓存的单导联心电数据的起始位置,则将获得的第一预定字节数的压缩数据作为已有压缩数据;如果第一当前位置不是缓存的单导联心电数据的起始位置,则将所述第一预定字节数的压缩数据拼接到之前已获得的已有压缩数据。

在步骤S360,确定拼接获得的已有压缩数据的长度是否达到所述预定长度。

如果在步骤S360,确定拼接获得的已有压缩数据的长度小于所述预定长度,则执行步骤S370:将所述第一当前位置前移所述第一预定个数的长度作为新的第一当前位置,并返回执行步骤S320,以进行下次迭代处理。

如果在步骤S360,确定拼接获得的已有压缩数据的长度达到所述预定长度,则结束前述迭代处理,并执行步骤S380。

在步骤S380,将经过迭代处理获得的已有压缩数据作为所述整包压缩数据。

通过前述处理,可通过滤除单导联心电数据中的非有效数据位并对剩余的有效数据进行字节组合,获得数据量降低的整包压缩数据。

可选地,前述单导联心电数据的非有效数据位为所述单导联心电数据中连续的4个高位,所述第一预定个数为2,所述第一预定字节数为3。在此情况下,经过压缩的心电数据为原始心电数据的75%。

可选地,单导联心电数据的非有效数据位可以是所述单导联心电数据中连续的2个高位,所述第一预定个数为4,所述第一预定字节数为7,但不限于此。在此情况下,经过压缩的心电数据为原始心电数据的87.5%。

根据本发明的一种示例性实施例,前述接收和缓存的心电数据为多导联心电数据,每个所述多导联心电数据和所述异常事件标记的长度均为3个字节。

参照图4,在步骤S230,以缓存的一定时长的多导联心电数据的起始位置作为第二当前位置,迭代地进行以下压缩处理,直到获得预定长度的整包压缩数据为止。具体地,步骤S230包括以下步骤S410~S470的处理。

在步骤S410,将第二当前位置设置为单导联心电数据的起始位置。

在步骤S420,从第二当前位置获取2个所述多导联心电数据。

在步骤S430,对获取的每个所述多导联心电数据,分别获取位于中间的连续20数据。

也就是说,对于每个24位的多导联心电数据,除去2个高位和2个低位的数据,获取中间的连续20数据。多导联心电数据中最高的2个高位通常为0,因此除去这2位通常不会影响数据精度;多导联心电数据中最低的2个低位为心电数据中最低精度位,除去这2个低位数据牺牲了多导联心电数据的少许精度信息。除去这4位数据对数据精度的影响较低,但是缩短了多导联心电数据的长度,即将多导联心电数据的长度由24位缩短为20位。

此后,在步骤S440,根据预定的第二组合规则将2个所述连续20位数据进行字节组合,获得5个字节的压缩数据。

可将2个连续20位数据进行拼接并进行字节组合,获得5个字节的压缩数据;也可将2个连续20位数据中的前16位数据分别组合为2个字节,再将将2个连续20位数据中余下的4位组合为1个字节,由此获得5个字节的压缩数据。

在步骤S450,将所述压缩数据拼接到已有压缩数据。

具体地,如果第二当前位置是缓存的多导联心电数据的起始位置,则将当前获得的5个字节的压缩数据作为已有压缩数据;如果第二当前位置不是缓存的多导联心电数据的起始位置,则将当前获得的5个字节的压缩数据拼接到之前已获得的已有压缩数据。

在步骤S460,确定拼接获得的已有压缩数据的长度是否已达到所述预定长度。

如果在步骤S460,确定拼接获得的已有压缩数据的长度小于所述预定长度,则执行步骤S470的处理:将所述第二当前位置前移2个所述多导联心电数据的长度作为新的第二当前位置,以进行下次迭代处理。

如果在步骤S460,确定拼接获得的已有压缩数据的长度已达到所述预定长度,则结束前述迭代处理,并执行步骤S480。

在步骤S480,将经过迭代处理获得的已有压缩数据作为所述整包压缩数据。

通过前述处理,可通过去除多导联心电数据两端的高数据位和低数据位并对剩余的有效数据进行字节组合,获得数据量降低的整包压缩数据。

根据本发明的另一示例性实施例,如前所述,接收和缓存的心电数据为多导联心电数据,每个所述多导联心电数据和所述异常事件标记的长度均为3个字节。

参照图5,在步骤S230,以缓存的一定时长的多导联心电数据的首个多导联心电数据作为当前多导联心电数据,迭代地进行以下压缩处理,直到获得预定长度的整包压缩数据为止。具体地,步骤S230包括以下步骤S510~S590的处理。

在步骤S510,将当前多导联心电数据设置为首个多导联心电数据。

在步骤S520,取位于所述当前多导联心电数据中间的连续20位数据作为当前的中间数据。

该步骤的处理与前述步骤S430对每个多导联心电数据的处理相同,在此不再赘述。

此后,根据当前多导联心电数据是否为首个多导联心电数据,进行步骤S530或S540的处理。

如果所述当前多导联心电数据是首个多导联心电数据,则在步骤S530,将所述当前的中间数据作为当前差值数据。

如果所述当前多导联心电数据不是首个多导联心电数据,则在步骤S540,对所述当前的中间数据与前一个多导联数据的中间数据进行差值计算,获得当前差值数据。

由于在时序上相邻的两个心电数据存在连续性和非突变性,因此进行前述差值计算获得的当前差值数据相对较小,利于存储和处理。

在步骤S550,取位于所述当前差值数据中间的连续16位数据作为当前多导联心电数据的压缩数据。

在对前述当前多导联心电数据计算得到当前差值数据后,对该当前差值数据进一步进行位数缩减处理。同样地,从计算获得的当前差值数据(20位)去除最高的2位和最低的2位,获得中间的16位数据,作为当前多导联心电数据的压缩数据。由此,以两次减少数据位数,稍许降低数据精度为代价,缩短了压缩获得的压缩数据的长度。

在步骤S560,将所述压缩数据拼接到累积压缩数据。

在步骤S570,确定拼接获得的累积压缩数据的长度是否达到所述预定长度。

如果在步骤S570,确定拼接获得的累积压缩数据的长度小于所述预定长度,则执行步骤S580:获取下一个多导联心电数据,以进行下次迭代处理。

如果在步骤S570,确定拼接获得的累积压缩数据的长度已达到所述预定长度,则结束前述迭代处理,并执行步骤S590。

在步骤S590,将经过迭代处理获得的累积压缩数据作为所述整包压缩数据。

通过前述步骤S510~S580的处理,可通过去除多导联心电数据两端的高数据位和低数据位并对剩余的有效数据进行差值计算,获得数据量降低的整包压缩数据。

此外,在多导联心电数据的连续采集过程中,可能发生用户的一些操作,例如用户点按某个按键。在此情况下,还需对这些用户的操作进行记录。相应地,根据本发明可选实施例,在步骤S210,除了持续接收并缓存来自心电采集设备的心电数据,并检测心电采集异常事件以外,还检测用户事件,例如用户的按键点击事件。如果检测到用户事件,则在步骤S230,对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得长度为预定长度减去2个字节的整包压缩数据,并且在所述整包压缩数据尾端的2个字节写入与所述用户事件对应的用户事件标记,所述用户事件标记的长度为单个字节或双字节。

以上描述了针对心电数据的压缩和存储处理。以下参照图6~图8描述根据本发明另一些实施例的用于小型数据处理设备的心电数据处理方法的处理,以对存储的压缩心电数据进行解压缩。在此,针对解压缩处理中与压缩处理相对应的操作,本领域普通技术人员可容易地理解,不再详细描述。

图6是示出根据本发明另一些实施例的用于小型数据处理设备的心电数据处理方法的流程图。

参照图6,在步骤S610,获取添加有数据包号的整包心电压缩数据,所述整包心电压缩数据的长度为存储装置的存储单位的预定整数倍数。

例如,对于小型数据处理设备,可从其存储装置读取长度为存储装置的存储单位的预定整数倍数的整包心电压缩数据。对于其他设备,可例如从小型数据处理设备接收含有该整包心电压缩数据的数据包,并从数据包获取该添加有数据包号的整包心电压缩数据。

可选地,如前所述,所述整包心电压缩数据中还含有与心电采集异常事件相应的异常事件标记,所述异常事件标记的长度与单个所述心电数据的长度相同。

在步骤S620,从所述整包心电压缩数据获取所述数据包号,并且对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据。

与前述步骤S230的压缩处理相应,为了在具有有限的计算资源和运算处理能力的小型数据处理设备中执行该心电数据处理方法,对整包心电压缩数据进行基于相对简单的位运算的解压缩处理,以还原心电数据。

在步骤S630,将还原的心电数据拼接到所述数据包号的前一个数据包号对应的心电数据的末端。

通过前述步骤S610~S630的处理,获取长度为存储装置的存储单位的预定倍数的添加有数据包号的整包心电压缩数据,对经过包括位运算的压缩处理获得的整包压缩数据进行包括位运算的解压缩处理,运算简单、快捷,非常适用于资源和计算处理能力有限的小型数据处理设备。

如前所述,还原的心电数据可以是单导联心电数据,也可以是多导联心电数据。以下参照图7详细介绍在步骤S230中对单导联心电数据的示例性解压缩处理,并参照图8~图9详细介绍在步骤S620中对多导联心电数据的示例性解压缩处理。

根据本发明的一种示例性实施例,该还原的心电数据为单导联心电数据,每个所述单导联心电数据和所述异常事件标记的长度均为双字节并且均包含非有效数据位,所述异常事件标记的非有效数据位与所述单导联心电数据的非有效数据位对应。

参照图7,在步骤S620,对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据的处理中,以所述除所述数据包号的心电压缩数据的起始位置作为第三当前位置,迭代地进行解压缩处理,直到完成所述心电压缩数据的处理为止,具体地包括以下步骤S710~S780的处理。

在步骤S710,将第三当前位置设置为除所述数据包号的心电压缩数据的起始位置。

在步骤S720,从第三当前位置获取第三预定字节数的所述心电压缩数据。

可根据还原的单导联心电数据中非有效数据位的长度来确定该第三预定字节数。例如,假设非有效数据位的长度为4位,则该第三预定字节数可为3个;再例如,假设非有效数据位的长度为2位,则该第三预定字节数可为7个,以使还原的心电数据中的有效数据能够组合成整数个字节。

在步骤S730,根据预定的第一拆分组合规则将所述第三预定字节数的所述心电压缩数据拆分组合为第三预定个数的中间数据,每个所述中间数据含有连续的多个有效位数据。

例如,假设非有效数据位的长度为4位,第三预定字节数为3个,则将3个字节的心电压缩数据中的预定一个(如中间字节)拆分为2个4位的中间数据,这4位中间数据分别为还原的心电数据中的部分有效数据。

在步骤S740,对每个所述中间数据添加值为0的非有效数据位,形成第三预定个数的长度为双字节的心电解压缩数据。

继续前述示例,假设非有效数据位的长度为4位,第三预定字节数为3,将3个字节数的心电压缩数据中的一个拆分2个4位的中间数据,在步骤S740,将这2个4位的中间数据在高位添加值为0的非有效数据位,由此形成2个字节的数据;再将这2个字节的数据分别与其他两个相应字节的心电压缩数据进行字节组合,形成2个长度为双字节的心电解压缩数据。

在步骤S750,将所述第三预定个数的心电解压缩数据依次拼接到已有的心电解压缩数据上。

具体地,如果第三当前位置为除所述数据包号的心电压缩数据的起始位置,则将当前获得的第三预定个数的心电解压缩数据作为已有的心电解压缩数据;否则,将当前获得的第三预定个数的心电解压缩数据依次拼接到已有的心电解压缩数据上。

在步骤S760,将所述第三当前位置前移第三预定字节数的长度作为新的第三当前位置,以进行下次迭代处理。

在步骤S770,确定新的第三当前位置是否已达到所述整包心电压缩数据的末尾。

如果在步骤S770,确定新的第三当前位置已达到所述整包心电压缩数据的末尾,则结束前述迭代处理,并执行步骤S780;否则回到步骤S720,继续执行下次迭代处理。

在步骤S780,将经过迭代处理获得的心电解压缩数据作为还原的心电数据。

通过前述处理,可通过位运算和字节组合处理进行解压缩,获得含有非有效数据位的还原的心电数据。

如前所述,可选地,所述非有效数据位为所述单导联心电数据中连续的4个高位,所述第三预定字节数为3,所述第三预定个数为2。

根据本发明的一种示例性实施例,所述还原的心电数据为多导联心电数据,每个所述多导联心电数据和所述异常事件标记的长度均为3个字节。

参照图8,在步骤S620,对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据的处理中,以所述除所述数据包号的心电压缩数据的起始位置作为第四当前位置,迭代地进行解压缩处理,直到完成所述心电压缩数据的处理为止,具体地包括以下步骤S810~S880的处理。

在步骤S810,将第四当前位置设置为所述除所述数据包号的心电压缩数据的起始位置。

在步骤S820,从第四当前位置获取5个字节的所述心电压缩数据。

在步骤S830,将所述5个字节的所述心电压缩数据当中的指定字节的数据拆分为2个20位中间数据。

在步骤S840,分别在2个20位中间数据的两端添加2位值为0的填充数据,形成2个长度为3字节长的心电解压缩数据。

在步骤S850,将所述2个心电解压缩数据依次拼接到已有的心电解压缩数据上。

在步骤S860,将所述第四当前位置前移5个字节的长度作为新的第四当前位置,以进行下次迭代处理。

在步骤S870,确定新的第四当前位置是否已达到除所述数据包号的心电压缩数据的末尾。

如果步骤S870,确定新的第四当前位置已达到除所述数据包号的心电压缩数据的末尾,则结束对心电压缩数据的迭代处理,执行步骤S880;如果步骤S870,确定新的第四当前位置未达到除所述数据包号的心电压缩数据的末尾,则返回步骤S820,继续执行下次迭代处理。

在步骤S880,将经过迭代处理获得的心电解压缩数据作为还原的心电数据。

前述步骤S810~S880的处理与图4中步骤S230的处理对应,在此不予赘述。

根据本发明的另一种示例性实施例,所述还原的心电数据为多导联心电数据,每个所述多导联心电数据和所述异常事件标记的长度均为3个字节。

参照图9,在步骤S620,以所述除所述数据包号的心电压缩数据的起始位置作为第五当前位置,迭代地进行解压缩处理,直到完成所述心电压缩数据的处理为止,具体地包括以下步骤S910~S990的处理。

在步骤S910,将第五当前位置设置为所述除所述数据包号的心电压缩数据的起始位置。

在步骤S920,从所述第五当前位置获取2个字节的心电压缩数据作为当前中间数据。

在步骤S930,在所述当前中间数据的两端分别扩充4位,并将扩充4位的值置为0,获得3个字节的当前差值数据。

在步骤S940,如果所述第五当前位置是所述起始位置,则将所述当前差值数据作为当前的心电解压缩数据。

在步骤S950,如果第五当前位置不是所述起始位置,则将所述当前差值数据与前一个心电解压缩数据相加,获得当前的心电解压缩数据。

在步骤S960,将当前的心电解压缩数据依次拼接到已有的心电解压缩数据上。

在步骤S970,将所述第五当前位置前移2个字节的长度作为新的第五当前位置,以进行下次迭代处理。

在步骤S980,确定新的第五当前位置是否已达到除所述数据包号的心电压缩数据的末尾。

如果步骤S980,确定新的第五当前位置已达到除所述数据包号的心电压缩数据的末尾,则结束对心电压缩数据的迭代处理,执行步骤S990;如果步骤S980,确定新的第五当前位置未达到除所述数据包号的心电压缩数据的末尾,则返回步骤S920,继续执行下次迭代处理。

在步骤S990,将经过迭代处理获得的心电解压缩数据作为还原的心电数据。

前述步骤S910~S990的处理与图5中步骤S230的处理对应,在此不予赘述。

此外,根据本发明可选实施例,在步骤S610,获取添加有数据包号的整包心电压缩数据后,该心电数据处理方法还包括:在所述整包压缩数据的尾端检测用户事件标记,如果检测到所述用户事件标记,则获取所述用户事件标记,以根据该用户事件标记进行后续的相应处理。

在此情况下,在步骤S620,所述对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据,包括:如果检测到用户事件标记,则对除所述数据包号和所述用户事件标记以外的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据。

本发明还提供一种用于存储任一前述用于小型数据处理设备的心电数据处理方法的计算机程序指令的计算机可读存储介质。

本发明实施例还提供了一种电子设备。图10是示出根据就本发明实施例的电子设备1000的结构示意图。该电子设备1000可以是例如移动终端、个人计算机(PC)、平板电脑、服务器等。

如图10所示,电子设备1000可以包括存储器和处理器。具体地,电子设备1000包括一个或多个处理器、通信元件等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)1001,和/或一个或多个用于小型数据处理设备的心电数据处理器(GPU)1013等,处理器可以根据存储在只读存储器(ROM)1002中的可执行指令或者从存储部分1008加载到随机访问存储器(RAM)1003中的可执行指令而执行各种适当的动作和处理。通信元件包括通信组件1012和/或通信接口1009。其中,通信组件1012可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,通信接口1009包括诸如LAN卡、调制解调器等的网络接口卡的通信接口,通信接口1009经由诸如因特网的网络执行通信处理。

处理器可与只读存储器1002和/或随机访问存储器1003中通信以执行可执行指令,通过通信总线1004与通信组件1012相连、并经通信组件1012与其他目标设备通信,从而完成本发明实施例提供的任一项用于小型数据处理设备的心电数据处理方法对应的操作。例如,持续接收并缓存来自心电采集设备的心电数据,并检测心电采集异常事件;如果检测到所述心电采集异常事件,则将与所述心电采集异常事件相应的异常事件标记插入缓存的所述心电数据中与所述心电采集异常事件的接收时间对应的位置,所述异常事件标记的长度与单个所述心电数据的长度相同;对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得预定长度的整包压缩数据;在所述整包压缩数据的起始位置或结束位置添加数据包号,所述数据包号与上一次压缩获得的整包压缩数据的数据包号保持连续;将添加有数据包号的整包压缩数据存储在所述小型数据处理设备的存储装置中,其中,添加有数据包号的整包压缩数据的长度为所述存储装置的存储单位的预定整数倍数。或者,再例如,获取添加有数据包号的整包心电压缩数据,所述整包心电压缩数据的长度为存储装置的存储单位的预定整数倍数;从所述整包心电压缩数据获取所述数据包号,并且对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据;将还原的心电数据拼接到所述数据包号的前一个数据包号对应的心电数据的末端。

此外,在RAM 1003中,还可存储有装置操作所需的各种程序和数据。CPU 1001或GPU 1013、ROM 1002以及RAM 1003通过通信总线1004彼此相连。在有RAM 1003的情况下,ROM 1002为可选模块。RAM 1003存储可执行指令,或在运行时向ROM 1002中写入可执行指令,可执行指令使处理器执行上述通信方法对应的操作。输入/输出(I/O)接口1005也连接至通信总线1004。通信组件1012可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在通信总线链接上。

以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信接口1009。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。

需要说明的,如图10所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图10的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信元件可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明的保护范围。

本发明实施例的电子设备可以用于实现上述实施例中相应的用于小型数据处理设备的心电数据处理方法,该电子设备中的各个器件可以用于执行上述方法实施例中的各个步骤,例如,上文中描述的用于小型数据处理设备的心电数据处理方法可以通过电子设备的处理器调用存储器存储的相关指令来实现,为了简洁,在此不再赘述。

根据本发明实施例,上文参考流程图描述的过程可以被实现为一种计算机程序产品。例如,本发明实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令。例如,用于持续接收并缓存来自心电采集设备的心电数据,并检测心电采集异常事件的指令;用于如果检测到所述心电采集异常事件,则将与所述心电采集异常事件相应的异常事件标记插入缓存的所述心电数据中与所述心电采集异常事件的接收时间对应的位置的指令,所述异常事件标记的长度与单个所述心电数据的长度相同;用于对缓存的一定时长的心电数据进行包括位运算的压缩处理,获得预定长度的整包压缩数据的指令;用于在所述整包压缩数据的起始位置或结束位置添加数据包号的指令,所述数据包号与上一次压缩获得的整包压缩数据的数据包号保持连续;用于将添加有数据包号的整包压缩数据存储在所述小型数据处理设备的存储装置中的指令,其中,添加有数据包号的整包压缩数据的长度为所述存储装置的存储单位的预定整数倍数。或者,再例如,用于获取添加有数据包号的整包心电压缩数据的指令,所述整包心电压缩数据的长度为存储装置的存储单位的预定整数倍数;用于从所述整包心电压缩数据获取所述数据包号,并且对除所述数据包号的心电压缩数据进行包括位运算的解压缩处理,获得还原的心电数据的指令;用于将还原的心电数据拼接到所述数据包号的前一个数据包号对应的心电数据的末端的指令。在这样的实施例中,该计算机程序可以通过通信元件从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器执行时,执行本发明实施例的方法中公开的功能。

可能以许多方式来实现本发明的方法和装置、电子设备和存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明实施例的方法和装置、电子设备和存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本发明实施例的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明实施例的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明实施例的方法的程序的记录介质。

本发明实施例的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式,很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

技术分类

06120113816480