具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述参考在附图中示出并在以下描述中详述的非限制性示例实施例,更加全面地说明本发明的示例实施例和它们的多种特征及有利细节。应注意的是,图中示出的特征不是必须按照比例绘制。本发明省略了已知材料、组件和工艺技术的描述,从而不使本发明的示例实施例模糊。所给出的示例仅旨在有利于理解本发明示例实施例的实施,以及进一步使本领域技术人员能够实施示例实施例。因而,这些示例不应被理解为对本发明的实施例的范围的限制。
除非另外特别定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。此外,在本发明各个实施例中,相同或类似的参考标号表示相同或类似的构件。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。图1为本发明实施例提供的一种睡眠微觉醒的识别系统的结构示意图,请参见图1,所述睡眠微觉醒的识别系统包括:
信号前处理模块100,用于对原始脑电信号进行前处理,得到多帧信号。
信号变换模块200,用于对每帧信号以预设的短时窗口为单位进行变换,得到多帧变换域信号。
在本发明的一种实施方式中,信号变换模块通过建立短时检测窗口,对已获得的多帧信号进行遍历。对该窗中的信号进行变换,得到变换域信号,此处的变换包括但不限于离散傅里叶变换、快速傅里叶变换、离散余弦变换、离散小波变换。
对每帧脑电信号以预设的短时窗口为单位(在本发明的一个实施例中,短时窗口诸如为1s)进行快速傅里叶变换,具体的,对信号进行划窗,做快速傅里叶变换。构建1s的视窗,以1s为步长对每帧的脑电信号进行快速傅里叶变换,并取频谱的前半部分进行分析。进行快速傅里叶变换后的频谱如图20所示。快速傅里叶变换(FFT)较离散傅里叶变换(DFT)相比,可大大减少复数运算量,从而降低运行时间。对于N点长度序列,FFT计算过程如下:
由于旋转因子WN的特性,有:
继续进行上述过程,可将X0[k]、X1[k]分别继续表示成两个N/4点DFT的加权和。直至最终将N点DFT转化为多个两点DFT的组合进行计算。
在上述过程中,总复数乘法计算量为N(log2N)/2,总复数加法计算量为N(log2N)。相比较而言,DFT中,总复数乘法计算量为N2,总复数加法计算量为N(N-1)。对于序列较长的脑电信号而言,利用快速傅里叶变换(FFT)可节省大量计算时间。
初步判读模块300,用于根据所述变换域信号进行睡眠微觉醒的初步判读;
信号识别模块400,用于对所述初步判读的微觉醒信号进行识别,确定出微觉醒信号。
也即,本发明提供了一种利用数字信号处理方法识别睡眠微觉醒的系统,该系统可以从原始脑电信号中判读出发生微觉醒的时刻及持续时间。
图2为本发明实施例中信号前处理模块的结构示意图,请参阅图2,信号前处理模块100包括:
信号分割模块110,用于对所述原始脑电信号以预设的第一固定时长为单位进行分割,得到多帧信号。
该模块首先将原始脑电信号以预设的第一固定时长为单位进行分割,得到多帧信号。分割为多帧,有助于对每帧进行睡眠分期判定,而其作为睡眠微觉醒检测的重要条件之一。
在本发明的一个实施例中,第一固定时长诸如为30s,这与《AASM判读手册》中以每帧30s判断睡眠期的规则相符,有利于进行睡眠分期,分割后的某一帧脑电信号如图19所示。
干扰剔除模块120,用于将存在伪迹干扰的帧信号进行剔除,得到剔除后的多帧信号。
利用伪迹出现时,EEG(即脑电)信号幅值将达到仪器测量量程这一特点提前检验某一帧信号中是否存在大量伪迹,若有采样点的信号幅值达到仪器量程,则证明这一帧信号中存在伪迹干扰,当伪迹干扰超过一定程度时,则认定这一帧信号无效,无需进行后续判断。
漂移去除模块130,用于对剔除后的多帧信号去除基线漂移。
在本发明的一种实施方式中,对信号去除基线漂移,可通过如下公式实现:
其中,EEG和EEG_ori分别表示去除基线漂移后的脑电信号和原始信号,N表示每帧中采样点的总个数。
图3为本发明实施例提供中初步判读模块的结构示意图,请参阅图3,初步判读模块300包括:
标签向量确定模块310,用于对所述变换域信号进行赋值,得到标签向量。图4为标签向量确定模块310的结构示意图,请参阅图4,标签向量确定模块310包括:
预设值获取模块311,用于获取预设的频率强度阈值以及预设频率;
频率强度确定模块312,用于根据所述变换域信号确定出超过所述预设频率的频率强度总和;
第一赋值模块313,用于当所述频率强度总和超过所述频率强度阈值时,将所述变换域信号的标签赋值为第一赋值;
第二赋值模块314,用于当所述频率强度总和未超过所述频率强度阈值时,将所述变换域信号的标签赋值为第二赋值,所述变换域信号的标签组成标签向量。
也即,标签向量确定模块310针对得到的每个1s时历信号的频谱,判断其中超过预设频率(诸如20Hz)的频率强度总和是否超过频率强度阈值,若是,即将该短时窗口信号的标签赋值为第一赋值(诸如为1),否则赋值为第二赋值(诸如为0),最终得到一定长度(诸如为30)的标签向量。
请参阅图3,初步判读模块还包括:
膨胀腐蚀操作模块320,用于对所述标签向量进行膨胀和腐蚀操作。为避免测量误差及其他因素对检测结果的影响,对上述得到的标签向量进行膨胀和腐蚀操作。当label[i]≠label[i-1]且label[i]≠label[i+1]时,将label[i]重新赋值为label[i-1](或label[i+1]),腐蚀膨胀操作前后对微觉醒判定的对比图如图21、图22所示。
定长信号获取模块330,用于获取预设的定长信号,在本发明的一个实施例中,定长信号诸如为3。
信号判读模块340,用于根据膨胀和腐蚀操作后的标签向量以及所述定长信号初步判读出微觉醒信号。
图5为信号判读模块340的结构示意图,请参阅图5,信号判读模块340包括:
第一判断模块341,用于判断所述膨胀和腐蚀操作后的标签向量中是否存在连续且数量不少于所述定长信号的第一赋值;
信号标记模块342,用于当所述第一判断模块判断为是时,将所述变换域信号标记为初步判读出的微觉醒信号;
始末时间记录模块343,用于记录所述初步判读出的微觉醒信号出现的始末时间。
也即,判断经过上述操作后的标签向量中是否存在连续的数量不少于定长信号的第一赋值(诸如数量不少于3个的“1”)。若有,则将这一帧信号标记为可能发生了微觉醒的信号,并记录下连续的“1”出现的始末时间。
图6为本发明实施例提供的一种睡眠微觉醒的识别系统中信号识别模块400的结构示意图,请参阅图6,信号识别模块400包括:
微觉醒信号剔除模块410,用于根据所述始末时间对所述初步判读的微觉醒信号进行剔除;
睡眠状态获取模块420,用于获取剔除后的所述初步判读的微觉醒信号所处的睡眠状态;
微觉醒识别模块430,用于根据所述睡眠状态对所述初步判读的微觉醒信号进行识别。
图7为本发明的一种实施方式中微觉醒信号剔除模块610的结构示意图,请参阅图7,微觉醒信号剔除模块410包括:
固定时长获取模块411,用于获取预设的第二固定时长;
间隔确定模块412,用于根据所述始末时间计算所述初步判读的微觉醒信号的间隔;
第一识别模块413,用于当所述间隔小于所述第二固定时长时,将所述初步判读的微觉醒信号识别为误判;
第一信号剔除模块414,用于剔除所述初步判读的微觉醒信号。
也即,根据始末时间记录模块343中得到的可能发生微觉醒的始末时间,进行间隔是否大于第二固定时长(诸如10s)的判定。具体的,计算第i+1次微觉醒的初始时间和第i次微觉醒的结束时间之间的间隔,若间隔小于10s,则认定第i+1次微觉醒为误判,删除该条记录。
图8为本发明的一种实施方式中微觉醒识别模块430的结构示意图,请参阅图8,微觉醒识别模块430包括:
第二信号剔除模块431,用于当所述睡眠状态为W期(即清醒)时,判定所述初步判读的微觉醒信号为误判,删除所述初步判读的微觉醒信号。
电图信号确定模块432,用于当所述睡眠状态为REM期时,根据时间索引得到所述初步判读的微觉醒信号对应的颏肌电图信号;
初步判读信号识别模块433,用于根据所述颏肌电图信号对所述初步判读的微觉醒信号进行识别。图9为初步判读信号识别模块433的结构示意图,请参阅图9,初步判读信号识别模块433包括:
固定值获取模块4331,用于获取预设的幅度阈值以及固定值;
第一标记模块4332,用于将所述颏肌电图信号中超过所述幅度阈值的样本点标记为第一数值;
第二标记模块4333,用于将所述颏肌电图信号中低于所述幅度阈值的样本点标记为第二数值;
个数统计模块4334,用于统计所述颏肌电图信号中标记为第一数值的样本点的个数;
第二识别模块4335,用于当所述第一数值的样本点的个数不大于所述固定值时,判定所述初步判读的微觉醒信号为误判,删除所述初步判读的微觉醒信号。
也即,若睡眠状态为REM期,判断这段时间内颏肌电图(EMG)信号是否有至少(短时)1s的升高。具体的,首先根据时间索引得到这段时间内的颏EMG信号,将其中超过阈值的样本点标记为第一数值(诸如为1),数出标签为“1”的样本点个数,若不大于固定值,(诸如100,采样频率为100Hz),则认定为误判,删除该条记录。
由于在最终检测阶段,信号识别模块400的输出结果是展示发生了微觉醒所在帧的EEG图像,因此可标注出了微觉醒发生的具体时间,即在最终判定为发生微觉醒的帧中标注出微觉醒发生的起止区间。
如上即为本发明实施例提供的一种睡眠微觉醒的识别系统,在具体的实施例中,首先对信号进行分割,在《AASM判读手册》中仍沿用每帧30s判读睡眠期,在一帧中哪期所占比例大就判读为哪期,因此将信号分割成30s一帧有利于睡眠分期的认定,可为后续判读微觉醒提供便利。其次是对信号的可靠性进行判断。在睡眠监测记录中,出现60Hz伪迹是一个常见问题。60Hz伪迹是来自电源线的60Hz电波干扰记录信号所致。若某一帧信号中出现了大量由于电极导电不良产生的伪迹,则说明这一帧的信号已经不具有可靠性,不应再对其进行后续检测。故在进行快速傅里叶变换之前先利用伪迹出现时EEG信号幅值将达到仪器测量量程这一特点提前检验某一帧信号中是否存在大量伪迹,若有采样点的信号幅值达到仪器量程,则证明这一帧信号存在伪迹干扰,当伪迹干扰超过一定程度时,则可认定这一帧的信号无效,无需参与后续判断,从而提高检测效率,最后去除信号的基线漂移。
快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法,它充分利用了离散傅里叶变换的对称性,将N点离散傅里叶变换最终转化为多个两点离散傅里叶变换的组合进行计算,大大减少了复数运算量从而降低了计算机运行时间。这一优势在越长的序列上体现的越为明显。
在初步判读阶段,对待检测的每帧信号。建立1s的检测窗,以1s的步长遍历信号。对窗中的信号使用快速傅里叶变换(FFT)得到频域信号。对频谱的前半部分进行分析。当某一窗内超过20Hz的频率强度总和超过阈值时将该窗内信号的标签赋值为“1”否则赋值为“0”,最终得到长度为30的标签向量;对标签向量进行膨胀与腐蚀操作后判断标签向量中是否存在连续的、数量不少于3个“1”。若有,则将这一帧信号标记为可能发生了微觉醒的信号,并记录下连续的“1”出现的始末时间。
初步判定后,得到可能发生了微觉醒的时刻。对上述时间段内的信号做进一步检测。剔除掉所处睡眠状态为清醒(W期)、所处睡眠状态为REM期但不具有至少1s颏EMG升高、发生前没有大于10s的稳定睡眠的误判。
在最终检测阶段,输出结果是展示发生了微觉醒所在帧的EEG图像,并标注出了微觉醒发生的具体时间。
此外,尽管在上文详细描述中提及了系统的若干单元模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。以上所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在介绍了本发明示例性实施方式的睡眠微觉醒的识别系统之后,接下来,参考附图对本发明示例性实施方式的方法进行介绍。该方法的实施可以参见上述整体的实施,重复之处不再赘述。
本发明的主要目的在于提出一种执行效率较高并且较为精确的利用数字信号处理方法识别睡眠微觉醒的检测算法。该方法基于快速傅里叶变换实现,在检测过程中可以大大降低运行时间;该检测算法充分考虑了由于各种原因导致的可能发生的误判,并且可标注出准确的微觉醒始末时间。
图10为本发明实施例提供的一种睡眠微觉醒的识别方法的流程示意图,请参见图10,所述睡眠微觉醒的识别方法包括:
S101:对原始脑电信号进行前处理,得到多帧信号。
S102:对每帧信号以预设的短时窗口为单位进行变换,得到多帧变换域信号。
在本发明的一种实施方式中,信号变换模块通过建立短时检测窗口,对已获得的多帧信号进行遍历。对该窗中的信号进行变换,得到变换域信号,此处的变换包括但不限于离散傅里叶变换、快速傅里叶变换、离散余弦变换、离散小波变换。
对每帧脑电信号以预设的短时窗口为单位(在本发明的一个实施例中,短时窗口诸如为1s)进行快速傅里叶变换,具体的,对信号进行划窗,做快速傅里叶变换。构建1s的视窗,以1s为步长对每帧的脑电信号进行快速傅里叶变换,并取频谱的前半部分进行分析。进行快速傅里叶变换后的频谱如图20所示。快速傅里叶变换(FFT)较离散傅里叶变换(DFT)相比,可大大减少复数运算量,从而降低运行时间。
S103:根据所述变换域信号进行睡眠微觉醒的初步判读;
S104:对所述初步判读的微觉醒信号进行识别,确定出微觉醒信号。
也即,本发明提供了一种利用数字信号处理方法识别睡眠微觉醒的方法,该方法可以从原始脑电信号中判读出发生微觉醒的时刻及持续时间。
图11为图10中的步骤S101的具体流程示意图,请参阅图11,步骤S101包括:
S201:对所述原始脑电信号以预设的第一固定时长为单位进行分割,得到多帧信号。
该步骤首先将原始脑电信号以预设的第一固定时长为单位进行分割,得到多帧信号。分割为多帧,有助于对每帧进行睡眠分期判定,而其作为睡眠微觉醒检测的重要条件之一。
在本发明的一个实施例中,第一固定时长诸如为30s,这与《AASM判读手册》中以每帧30s判断睡眠期的规则相符,有利于进行睡眠分期,分割后的某一帧脑电信号如图19所示。
S202:将存在伪迹干扰的帧信号进行剔除,得到剔除后的多帧信号。
利用伪迹出现时,EEG(即脑电)信号幅值将达到仪器测量量程这一特点提前检验某一帧信号中是否存在大量伪迹,若有采样点的信号幅值达到仪器量程,则证明这一帧信号中存在伪迹干扰,当伪迹干扰超过一定程度时,则认定这一帧信号无效,无需进行后续判断。
S203:对剔除后的多帧信号去除基线漂移。
图12为图10中的步骤S103的具体流程示意图,请参阅图12,步骤S103包括:
S301:对所述变换域信号进行赋值,得到标签向量。图13为图12中的步骤S301的具体流程示意图,请参阅图13,步骤S301包括:
S401:获取预设的频率强度阈值以及预设频率;
S402:根据所述变换域信号确定出超过所述预设频率的频率强度总和;
S403:当所述频率强度总和超过所述频率强度阈值时,将所述变换域信号的标签赋值为第一赋值;
S404:当所述频率强度总和未超过所述频率强度阈值时,将所述变换域信号的标签赋值为第二赋值;
S405:所述变换域信号的标签组成标签向量。
也即,步骤S301针对得到的每个1s时历信号的频谱,判断其中超过预设频率(诸如20Hz)的频率强度总和是否超过频率强度阈值,若是,即将该短时窗口信号的标签赋值为第一赋值(诸如为1),否则赋值为第二赋值(诸如为0),最终得到一定长度(诸如为30)的标签向量。
请参阅图12,步骤S103还包括:
S302:对所述标签向量进行膨胀和腐蚀操作。为避免测量误差及其他因素对检测结果的影响,对上述得到的标签向量进行膨胀和腐蚀操作。当label[i]≠label[i-1]且label[i]≠label[i+1]时,将label[i]重新赋值为label[i-1](或label[i+1]),腐蚀膨胀操作前后对微觉醒判定的对比图如图21、图22所示。
S303:获取预设的定长信号,在本发明的一个实施例中,定长信号诸如为3。
S304:根据膨胀和腐蚀操作后的标签向量以及所述定长信号初步判读出微觉醒信号。
图14为图12中的步骤S304的具体流程示意图,请参阅图14,步骤S304包括:
S501:判断所述膨胀和腐蚀操作后的标签向量中是否存在连续且数量不少于所述定长信号的第一赋值;
S502:当所述第一判断模块判断为是时,将所述变换域信号标记为初步判读出的微觉醒信号;
S503:记录所述初步判读出的微觉醒信号出现的始末时间。
也即,判断经过上述操作后的标签向量中是否存在连续的数量不少于定长信号的第一赋值(诸如数量不少于3个的“1”)。若有,则将这一帧信号标记为可能发生了微觉醒的信号,并记录下连续的“1”出现的始末时间。
图15为图10中的步骤S104的具体流程示意图,请参阅图15,步骤S104包括:
S601:根据所述始末时间对所述初步判读的微觉醒信号进行剔除;
S602:获取剔除后的所述初步判读的微觉醒信号所处的睡眠状态;
S603:根据所述睡眠状态对所述初步判读的微觉醒信号进行识别。
图16为图15中的步骤S601的具体流程示意图,请参阅图16,步骤S601包括:
S701:获取预设的第二固定时长;
S702:根据所述始末时间计算所述初步判读的微觉醒信号的间隔;
S703:当所述间隔小于所述第二固定时长时,将所述初步判读的微觉醒信号识别为误判,剔除所述初步判读的微觉醒信号。
也即,得到可能发生微觉醒的始末时间,进行间隔是否大于第二固定时长(诸如10s)的判定。具体的,计算第i+1次微觉醒的初始时间和第i次微觉醒的结束时间之间的间隔,若间隔小于10s,则认定第i+1次微觉醒为误判,删除该条记录。
图17为图15中的步骤S603的具体流程示意图,请参阅图17,步骤S603包括:
S801:当所述睡眠状态为W期(即清醒)时,判定所述初步判读的微觉醒信号为误判,删除所述初步判读的微觉醒信号。
S802:当所述睡眠状态为REM期时,根据时间索引得到所述初步判读的微觉醒信号对应的颏肌电图信号;
S803:根据所述颏肌电图信号对所述初步判读的微觉醒信号进行识别。图18为图17中的步骤S803的具体流程示意图,请参阅图18,步骤S803包括:
S901:获取预设的幅度阈值以及固定值;
S902:将所述颏肌电图信号中超过所述幅度阈值的样本点标记为第一数值;
S903:将所述颏肌电图信号中低于所述幅度阈值的样本点标记为第二数值;
S904:统计所述颏肌电图信号中标记为第一数值的样本点的个数;
S905:当所述第一数值的样本点的个数不大于所述固定值时,判定所述初步判读的微觉醒信号为误判,删除所述初步判读的微觉醒信号。
也即,若睡眠状态为REM期,判断这段时间内颏肌电图(EMG)信号是否有至少(短时)1s的升高。具体的,首先根据时间索引得到这段时间内的颏EMG信号,将其中超过阈值的样本点标记为第一数值(诸如为1),数出标签为“1”的样本点个数,若不大于固定值,(诸如100,采样频率为100Hz),则认定为误判,删除该条记录。
由于在最终检测阶段,:输出结果是展示发生了微觉醒所在帧的EEG图像,因此可标注出了微觉醒发生的具体时间,即在最终判定为发生微觉醒的帧中标注出微觉醒发生的起止区间,如图23为本发明提供的具体实施例中对睡眠微觉醒判读的示意图,请参阅图23,方框中圈出的第3次微觉醒发生在第837帧。
本发明还提供一种计算机设备,包括:适于实现各指令的处理器以及存储设备,所述存储设备存储有多条指令,所述指令适于由处理器加载并执行一种睡眠微觉醒的识别方法。
本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序用于执行一种睡眠微觉醒的识别方法。
综上所述,本发明实施例提供了一种睡眠微觉醒的识别方法、睡眠微觉醒的识别系统、计算机设备以及计算机可读存储介质,通过对原始脑电信号进行前处理,以预设的短时窗口为单位进行变换,获取频域信息,在检测阶段经过初步判读和最终的识别,确定出微觉醒信号,由于在识别的过程中充分考虑了各种原因导致的可能发生的误判,因此实现了对微觉醒始末时间的准确检测,且在检测过程中可以大大降低运行时间。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端和服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端和服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端和服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对客户端和服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。