换人检测方法及装置、用户身份验证方法及装置与流程

文档序号:17049430发布日期:2019-03-05 19:53阅读:479来源:国知局
换人检测方法及装置、用户身份验证方法及装置与流程

本申请涉及身份验证领域,尤其涉及一种换人检测方法及装置、用户身份验证方法及装置。



背景技术:

为了保证网络操作的安全性,用户在互联网中进行某些特定操作前,需要对用户进行身份验证,比如,用户利用互联网进行购买支付操作前,需要对用户进行身份验证。

为了提高身份验证的准确性,可以对用户进行活体检测,比如要求用户执行一些验证动作,从而确定待验证的对象为活体,而非视频、图片等非生命体。在活体检测过程中,若由不同的用户交替完成服务器端指定的验证动作,比如由不同的用户交替完成服务器端指定的摆手动作,则会对用户身份验证造成攻击,降低身份验证的准确度。

因此,有必要提供一种方法,以检测验证动作是否由同一执行者执行完成,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。



技术实现要素:

本申请实施例的目的是提供一种换人检测方法及装置、用户身份验证方法及装置,能够根据特定动作的执行参数,确定特定动作是否由同一执行者执行完成,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

为解决上述技术问题,本申请实施例是这样实现的:

本申请实施例提供了一种换人检测方法,包括:

获取动作执行者执行特定动作的第一执行参数;

根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人。

本申请实施例提供了一种用户身份验证方法,包括:

获取待验证用户执行特定动作的视频数据;

根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数;

根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证。

本申请实施例提供了一种换人检测装置,包括:

参数获取模块,用于获取动作执行者执行特定动作的第一执行参数;

换人检测模块,用于根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人。

本申请实施例提供了一种用户身份验证装置,包括:

数据获取模块,用于获取待验证用户执行特定动作的视频数据;

参数确定模块,用于根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数;

身份验证模块,用于根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证。

本申请实施例提供了一种换人检测设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器:

获取动作执行者执行特定动作的第一执行参数;

根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人。

本申请实施例提供了一种用户身份验证设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器:

获取待验证用户执行特定动作的视频数据;

根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数;

根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证。

本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现以下流程:

获取动作执行者执行特定动作的第一执行参数;

根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人。

本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现以下流程:

获取待验证用户执行特定动作的视频数据;

根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数;

根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证。

通过本申请实施例中的换人检测方法及装置、用户身份验证方法及装置,可以根据执行特定动作的第一执行参数,确定特定动作是否由同一执行者执行完成,还能够根据待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证,从而基于执行特定动作的执行参数难以模仿的特性,提高用户身份验证的抗攻击性,提高身份验证的准确度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的换人检测及用户身份验证的场景示意图;

图2为本申请实施例提供的换人检测方法的第一种流程示意图;

图3a为本申请实施例提供的视频数据的示意图;

图3b为本申请实施例提供识别出来的每次执行特定动作对应的视频数据的示意图;

图4为本实施例提供的识别模型的训练流程示意图;

图5为计算特定动作的第一执行参数的示意图;

图6为本申请实施例提供的换人检测方法的第二种流程示意图;

图7为本申请实施例提供的换人检测方法的第三种流程示意图;

图8为本申请实施例提供的用户身份验证方法的第一种流程示意图;

图9为本申请实施例提供的用户身份验证方法的第二种流程示意图;

图10为本申请实施例提供的换人检测装置的第一种模块组成示意图;

图11为本申请实施例提供的换人检测装置的第二种模块组成示意图;

图12为本申请实施例提供的用户身份验证装置的模块组成示意图;

图13为本申请实施例提供的换人检测设备的结构示意图;

图14为本申请实施例提供的用户身份验证设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本申请实施例提供了一种换人检测方法及装置、用户身份验证方法及装置,能够根据特定动作的执行参数,确定特定动作是否由同一执行者执行完成,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

图1为本申请实施例提供的换人检测及用户身份验证的场景示意图,本申请实施例提供的换人检测方法及装置、用户身份验证方法及装置,可以应用于图1所示的场景中。如图1所示,该场景包括至少一个客户端100和服务器200,客户端100由用户操作,并通过网络300与服务器200通信连接。

客户端100可以为手机、平板电脑、台式计算机、便携笔记本式计算机、车载计算机等。客户端100可以运行程序模块,并向服务器200发送数据,如客户端100运行摄像模块,并将拍摄得到的图像或视频发送至服务器200,如将拍摄得到的用户执行特定动作的动作视频发送至服务器200。

服务器200可以为包含独立主机的物理服务器,或者为主机集群承载的虚拟服务器,或者为云服务器。服务器200可以对客户端100上传的数据进行处理,如服务器200接收客户端100上传的用户执行特定动作的动作视频,并对该动作视频进行处理,确定特定动作是否由同一用户执行完成,服务器200还可以对用户进行身份验证。

网络300可以包括多种类型的有线或无线网络。如,网络300可以包括公共交换电话网络(publicswitchedtelephonenetwork,pstn)和因特网。

图2为本申请实施例提供的换人检测方法的第一种流程示意图,该方法可以由服务器执行,如图2所示,该方法至少包括以下步骤:

步骤s202,获取动作执行者执行特定动作的第一执行参数。

特定动作可以为指示动作执行者执行的动作,还可以为动作执行者自发执行的动作。比如,在身份验证场景下,特定动作为指示动作执行者执行的动作。特定动作包括眨眼、摇头、摆手中的任意一种。执行特定动作的第一执行参数可以包括频率参数、速度参数、幅度参数中的一项或多项。如特定动作为眨眼,则执行特定动作的第一执行参数可以包括眨眼时的频率参数、速度参数、幅度参数中的一项或多项。

根据不同的应用场景,上述特定动作的第一执行参数可以是当前时间执行特定动作的执行参数,也可以是当前时间以前执行特定动作的执行参数。以对用户进行身份验证的应用场景为例,可能包括现场身份验证以及根据之前采集的视频进行身份验证等情况。如果是对用户进行现场身份验证,则需要获取用户当前执行特定动作的执行参数。如果是根据之前采集的视频进行身份验证,则是根据之前用户执行特定动作的视频提取执行参数。

步骤s204,根据特定动作的第一执行参数,确定执行特定动作的动作执行者是否为同一人。

服务器确定每次执行特定动作的第一执行参数的方差,第一执行参数与特定动作的一次执行过程为一一对应关系,执行一次特定动作对应一个第一执行参数,若多个第一执行参数的方差小于其对应的设定阈值,则确定执行特定动作的动作执行者为同一人。

由于第一执行参数可以包括频率参数、速度参数、幅度参数中的一项或多项,因此服务器确定多个第一执行参数中各个对应项的方差,如第一执行参数可以包括频率参数和幅度参数,服务器确定多个第一执行参数中频率参数的方差和幅度参数的方差,并判断频率参数的方差是否小于其对应的设定阈值,以及幅度参数的方差是否小于其对应的设定阈值,若均小于,则确定第一执行参数的方差小于其对应的设定阈值,确定执行特定动作的动作执行者为同一人,若任一个对应项(如频率参数项)的方差等于或大于其对应的设定阈值,则确定执行特定动作的动作执行者不为同一人。

比如,服务器获取每次执行特定动作的第一执行参数,共3个第一执行参数,每个第一执行参数均对应执行一次特定动作,每个第一执行参数均包括速度参数v、频率参数f和幅度参数d,如第一执行参数1包括速度参数v1、频率参数f1和幅度参数d1,第一执行参数2包括速度参数v2、频率参数f2和幅度参数d2,第一执行参数3包括速度参数v3、频率参数f3和幅度参数d3,服务器分别提取第一执行参数1、第一执行参数2、第一执行参数3中的速度参数项、频率参数项和幅度参数项,组成速度参数项序列(v1、v2、v3),频率参数项序列(f1、f2、f3),幅度参数项序列(d1、d2、d3)。服务器判断速度参数项序列(v1、v2、v3)的方差,是否小于其对应的设定阈值,以及判断频率参数项序列(f1、f2、f3)的方差,是否小于其对应的设定阈值,以及判断幅度参数项序列(d1、d2、d3)的方差,是否小于其对应的设定阈值,若均小于,则确定执行特定动作的动作执行者为同一人。如存在某个参数项序列的方差不小于其对应的设定阈值,则确定执行特定动作的动作执行者不为同一人。

本实施例中,频率参数对应的设定阈值、速度参数对应的设定阈值以及幅度参数对应的设定阈值,彼此大小可以相同也可以不同。由于方差可以反映一组数据的波动情况,因此通过计算每次执行特定动作的第一执行参数的方差,能够确定多次执行特定动作的过程中执行状态是否稳定,从而确定执行特定动作的动作执行者是否为同一人。

一种情况下,若获取两次执行特定动作时每次执行特定动作的第一执行参数,则也可以计算这两个第一执行参数之间的对应项的差值,若每个对应项的差值均小于各自对应的预定差值,则确定执行特定动作的动作执行者为同一人,否则,确定执行特定动作的动作执行者不为同一人。

本申请实施例中的换人检测方法,获取动作执行者执行特定动作的第一执行参数,根据特定动作的第一执行参数,确定执行特定动作的动作执行者是否为同一人。可见,通过本申请实施例中的换人检测方法,由于可以确定特定动作是否由同一执行者执行完成,因此应用在用户身份验证场景中,能够识别进行活体检测的用户是否为同一用户,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

上述步骤s202中,获取动作执行者执行特定动作的第一执行参数,可以为:获取动作执行者执行特定动作的视频数据;利用对应于特定动作的识别模型,对该视频数据进行识别,以确定动作执行者每次执行特定动作的时间和幅度;根据动作执行者每次执行特定动作的时间和幅度,确定动作执行者每次执行特定动作的第一执行参数。由于特定动作是人工执行的动作,因此特定动作的每次执行过程均略有差异,因此动作执行者每次执行特定动作的第一执行参数具有唯一性。

具体地,客户端提示动作执行者执行特定动作,并拍摄动作执行者执行特定动作的动作视频,如拍摄动作执行者眨眼时的眨眼视频,客户端将动作执行者执行特定动作的动作视频发送至服务器,服务器根据动作执行者执行特定动作的动作视频,获取动作执行者执行特定动作的视频数据。

具体地,动作视频由多帧连续的视频帧组成,每帧视频帧都具有各自的标识,且每帧视频帧中都携带有动作执行者执行特定动作的幅度,如用户的眨眼幅度或者摆手幅度。服务器在获取动作视频后,可以确定动作视频中每帧视频帧与特定动作的幅度之间的第一对应关系,或者确定动作视频中关键视频帧与特定动作的幅度之间的第二对应关系,服务器根据该第一对应关系或第二对应关系确定视频数据,视频数据可以指示执行特定动作的时间和执行特定动作的幅度,一种情况下,视频数据包括各帧视频帧的标识及各帧视频帧对应的特定动作的幅度,通过各帧视频帧的标识指示各帧视频帧对应的时间,从而指示执行特定动作的时间,另一种情况下,视频数据包括各帧视频帧的时间戳及各帧视频帧对应的特定动作的幅度,通过各帧视频帧的时间戳指示执行特定动作的时间。需要说明的是,确定关键视频帧为视频处理领域内常用的方式,本实施例中不限制从动作视频中确定关键视频帧的方式,各种确定关键视频帧的算法均在本实施例的记载范围内。

图3a为本申请实施例提供的视频数据的示意图,图3a中,横轴表示各帧视频帧的标识,可以为各帧视频帧的序号,各视频帧的序号的排列顺序与各个视频帧的时间戳顺序一致,纵轴表示各帧视频帧中特定动作的幅度,该幅度可以为浮点型数据,取值范围为(0,1),通过图3a可以反映动作视频中多帧视频帧与特定动作的幅度之间的对应关系。

服务器获取动作执行者执行特定动作的视频数据后,利用对应于特定动作的识别模型,对该视频数据进行识别,以确定动作执行者每次执行特定动作的时间和幅度,具体为,服务器利用对应于特定动作的识别模型,在视频数据中识别每次执行特定动作对应的视频数据,根据每次执行特定动作对应的视频数据,确定每次执行特定动作的时间和幅度。

本实施例中训练有识别模型,该识别模型与特定动作一一对应,能够识别输入的视频数据是否对应一个完整的特定动作的执行周期,也即识别输入的视频数据是否为执行一次特定动作的完整的视频数据。基于前述关于视频数据的描述可知,视频数据可以表示各帧视频帧对应的执行特定动作的幅度,因此本实施例中,从执行特定动作的起始视频帧开始,在视频数据中提取预定数量视频帧的视频数据输入至识别模型,若识别模型确定输入的视频数据对应一个完整的执行周期,则对输入的视频数据进行标记,并从输入的视频数据对应的最后一帧视频帧开始,按照视频数据的时间顺序,提取之后预定数量视频帧的视频数据输入至识别模型继续识别,反之,若识别模型确定输入的视频数据不对应一个完整的执行周期,则服务器从输入的视频数据对应的最后一帧视频帧开始,按照视频数据的时间顺序,提取之后一定数量视频帧的视频数据,与前述输入的视频数据一起组成新的输入视频数据并输入至识别模型,以使识别模型继续判断该新的输入视频数据是否对应一个完整的执行周期,如此往复,利用识别模型在视频数据中识别得到每次执行特定动作对应的视频数据。

比如,服务器从视频数据中提取第一帧和第二帧视频帧对应的视频数据,输入至识别模型,若识别模型确定第一帧和第二帧视频帧对应的视频数据为执行一次特定动作的完整的视频数据,则服务器继续从视频数据中提取第三帧和第四帧视频帧对应的视频数据,输入至识别模型继续识别,反之,若识别模型确定第一帧和第二帧视频帧对应的视频数据不为执行一次特定动作的完整的视频数据,则服务器再提取第三帧和第四帧视频帧对应的视频数据,并将第一帧至第四帧对应的视频数据均输入识别模型进行识别。

图4为本实施例提供的识别模型的训练流程示意图,如图4所示,该流程包括:

步骤s402,收集正样本和负样本。

选取按照特定动作的执行周期分段完成的多段视频数据作为正样本,每段视频数据均表示特定动作的一个执行周期内多帧视频帧与执行特定动作的幅度之间的对应关系,选取没有按照特定动作的执行周期分段的多段视频数据或者无规律的视频数据作为负样本。

步骤s404,利用正负样本训练模型。

将数量足够的正负样本输入机器学习模型中进行模型训练,以得到训练后的模型。

步骤s406,检测训练后的模型是否满足测试要求,若满足,则执行步骤s408,否则,返回步骤s404。

检测训练后的模型是否满足测试要求,如对训练后的模型进行识别测试,判断识别结果的误识率和拒识率是否满足预设要求,若满足,则确定模型训练完成,否则,返回步骤s404再次训练。

步骤s408,模型训练完成。

一种具体的实施方式中,可以采用adaboost通用机器训练方法进行模型训练,得到识别模型。

图3b为本申请实施例提供识别出来的每次执行特定动作对应的视频数据的示意图,图3b的横纵轴含义与图3a相同,如图3b所示,利用识别模型对图3a中的视频数据进行识别后,得到多段视频数据,每段视频数据均对应执行一次特定动作,均表示特定动作的一个执行周期内多帧视频帧与执行特定动作的幅度之间的对应关系。

识别每次执行特定动作对应的视频数据之后,由于视频数据可以指示执行特定动作的时间和执行特定动作的幅度,如通过视频帧的标识或者时间戳指示执行特定动作的时间,因此服务器将每次执行特定动作对应的视频数据所指示的执行特定动作的时间和执行特定动作的幅度,确定为每次执行特定动作的时间和幅度,能够理解,每次执行特定动作的时间和幅度为对应的每帧视频帧的时间和每帧视频帧携带的执行特定动作的幅度。

服务器根据每次执行特定动作的时间和幅度,确定每次执行特定动作的第一执行参数,具体为以下三种方式中的一种或多种:

(1)根据每次执行特定动作的起始时间和结束时间,确定每次执行特定动作的频率参数;和,

(2)根据每次执行特定动作的最大幅度与最小幅度,确定每次执行特定动作的幅度参数;和,

(3)根据每次执行特定动作的起始时间和结束时间,确定每次执行特定动作的速度参数。

其中,频率参数为结束时间减去起始时间的差值的倒数,速度参数为结束时间减去起始时间的差值,幅度参数为每次执行特定动作的最大幅度与最小幅度的差值。

本实施例中,确定第一执行参数包括频率参数、速度参数、幅度参数中的一项或多项,具有参数获取方便,易于实现,且参数准确性高的优点。

当特定动作为眨眼时,执行周期包括闭眼过程和睁眼过程。视频数据中执行特定动作的幅度,即眨眼幅度,可以为动作视频中眼睛相对于人脸轮廓的比例,如眼睛的高度相对于人脸高度的比例,特定动作的幅度参数可以为一个执行周期内最大眨眼幅度与最小眨眼幅度的差值。

当特定动作为摇头时,执行周期包括头从当前位置开始摇动,并摇动回当前位置的过程。视频数据中执行特定动作的幅度,即摇头幅度,可以为动作视频中面部中垂线的移动距离相对于人脸轮廓的比例,如面部中垂线的移动距离相对于人脸宽度的比例,特定动作的幅度参数可以为一个执行周期内最大摇头幅度与最小摇头幅度的差值。

当特定动作为摆手时,执行周期包括手从当前位置开始摆动,并摆动回当前位置的过程。视频数据中执行特定动作的幅度,即摆手幅度,可以为动作视频中手的移动距离相对于人脸轮廓的比例,如手的移动距离相对于人脸宽度的比例,特定动作的幅度参数可以为一个执行周期内最大摆手幅度与最小摆手幅度的差值。

图5为计算特定动作的第一执行参数的示意图,图5以眨眼动作为例,示出了根据特定动作的一个执行周期内多帧视频帧与特定动作的幅度之间的对应关系,计算该执行周期内特定动作的第一执行参数的过程,图5中横轴表示一个执行周期中各视频帧的序号,各视频帧的序号的排列顺序与各个视频帧的时间戳顺序一致,纵轴表示各视频帧对应的眨眼幅度。图5中,某个执行周期内最大眨眼幅度为m,最小眨眼幅度为n,因此确定特定动作在该执行周期内的幅度参数为m-n,该执行周期内第一帧视频帧的时间戳为p,最后一帧视频帧的时间戳为q,因此确定特定动作在该执行周期内的速度参数为q-p,特定动作在该执行周期内的频率参数为1/(q-p)。

图6为本申请实施例提供的换人检测方法的第二种流程示意图,该流程可以由服务器执行,如图6所示,该流程包括:

步骤s602,获取动作执行者执行特定动作的动作视频。

步骤s604,根据动作视频确定动作执行者执行特定动作的视频数据。

步骤s606,利用对应于该特定动作的识别模型,在视频数据中识别每次执行特定动作对应的视频数据。

步骤s608,根据每次执行特定动作对应的视频数据所指示的执行特定动作的时间和幅度,确定每次执行特定动作的时间和幅度。

步骤s610,根据每次执行特定动作的时间和幅度,确定每次执行特定动作的幅度参数和频率参数。

步骤s612,判断多个幅度参数的方差是否小于其对应的设定阈值,若小于,执行步骤s614,否则,执行步骤s618。

步骤s614,判断多个频率参数的方差是否小于其对应的设定阈值,若小于,执行步骤s616,否则,执行步骤s618。

步骤s616,确定执行特定动作的动作执行者为同一人。

步骤s618,确定执行特定动作的动作执行者不为同一人。

通过该流程中的方法,能够计算多个第一执行参数之间的方差,从而确定执行特定动作的动作执行者是否为同一人,具有确定方式简单,易于实现的效果。基于多个第一执行参数之间的方差,能够反映特定动作执行过程的平稳程度,从而准确确定执行特定动作的动作执行者是否为同一人。

考虑到动作执行者为需要进行身份验证的待验证用户的情况,本实施例中还提供了一种换人检测方法,图7为本申请实施例提供的换人检测方法的第三种流程示意图,该流程可以由服务器执行,如图7所示,该流程在步骤s202,获取动作执行者(也即待验证用户)执行特定动作的第一执行参数后,还包括:

步骤s702,获取待验证用户执行特定动作的历史执行参数。

本实施例中,历史执行参数可以通过以上获取特定动作的视频数据的方式获取,并在获取后存储起来,以在之后的用户身份验证中使用。以某用户a为例,可以预先存储用户a执行特定动作的历史执行参数,包括频率、幅度等能够体现用户a执行该特定动作的习惯和特点的相关参数,之后就可以根据用户a的这些历史执行参数,确定执行特定动作的动作执行者是否是用户a本人。

本步骤中通过调取预先存储的特定动作的历史执行参数的方式,获取待验证用户每次执行特定动作的历史执行参数。与前述类似,历史执行参数可以包括速度参数、频率参数和幅度参数中的一项或多项。

步骤s704,若第一执行参数与历史执行参数相匹配,则确定待验证用户通过验证。

若第一执行参数与历史执行参数之间的方差小于其对应的设定阈值,则确定待验证用户通过验证。

第一执行参数与历史执行参数之间的方差指的是第一执行参数与历史执行参数中的对应项的方差,若每个对应项的方差均小于其对应的设定阈值,则确定待验证用户通过验证,若存在一个对应项的方差不小于其对应的设定阈值,则确定待验证用户验证不通过。其中,各个对应项的方差对应的设定阈值大小可以相同可以不同。

比如,服务器获取3个第一执行参数,还获取3个历史执行参数,其中每个历史执行参数和每个第一执行参数均对应一次特定动作的执行过程,服务器分别提取第一执行参数1、第一执行参数2、第一执行参数3、历史执行参数1、历史执行参数2、历史执行参数3中的速度参数项、频率参数项和幅度参数项,组成速度参数项序列,频率参数项序列和幅度参数项序列。服务器判断速度参数项序列的方差,是否小于其对应的设定阈值,以及判断频率参数项序列的方差,是否小于其对应的设定阈值,以及判断幅度参数项序列的方差,是否小于其对应的设定阈值,若均小于,则确定待验证用户通过验证。如存在某个参数项序列(如频率参数项)的方差不小于其对应的设定阈值,则确定待验证用户不通过验证。

由于方差可以反映一组数据的波动情况,因此通过计算第一执行参数与历史执行参数之间的方差,能够反映执行特定动作的状态是否稳定,若第一执行参数与历史执行参数之间的方差小于其对应的设定阈值,可以认为第一执行参数对应的动作执行者与历史执行参数对应的动作执行者为同一人,并确定待验证用户验证通过。

若获取执行一次特定动作的第一执行参数和执行一次特定动作的历史执行参数,则可以分别计算第一执行参数和历史执行参数中的对应项的差值,若每个对应项的差值都小于各自对应的差值阈值,则确定第一执行参数对应的动作执行者与历史执行参数对应的动作执行者为同一人,并确定待验证用户验证通过,若存在某个对应项的差值都等于或大于对应的差值阈值,则确定待验证用户不通过验证。

通过本实施例中的方法,在获取动作执行者每次执行特定动作的第一执行参数后,可以确定执行特定动作的动作执行者是否为同一人,在获取动作执行者执行特定动作的第一执行参数以及动作执行者执行特定动作的历史执行参数后,还可以对动作执行者进行身份验证,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

考虑到本实施例中的换人检测方法可以应用在用户身份验证领域,因此本实施例还提供了一种用户身份验证方法,图8为本申请实施例提供的用户身份验证方法的第一种流程示意图,该流程可以由服务器执行,如图8所示,该流程包括以下步骤:

步骤s802,获取待验证用户执行特定动作的动作视频。

具体地,客户端提示待验证用户执行特定动作,并拍摄待验证用户执行特定动作的动作视频,如拍摄待验证用户眨眼时的眨眼视频,客户端将拍摄的动作视频发送至服务器,从而使服务器获取待验证用户执行特定动作的动作视频。

步骤s804,根据获取的视频数据,确定待验证用户执行特定动作的第一执行参数。

具体地,利用对应于特定动作的识别模型,对视频数据进行识别,以确定待验证用户每次执行特定动作的时间和幅度;根据待验证用户每次执行特定动作的时间和幅度,确定待验证用户每次执行特定动作的第一执行参数。该步骤的具体过程可以参照步骤s202的描述,这里不做赘述。

步骤s806,根据待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证。其中,历史执行参数可以预先存储并在需要时进行调取。

具体地,服务器计算待验证用户每次执行特定动作的第一执行参数的方差,判断待验证用户每次执行特定动作的第一执行参数的方差是否小于其对应的设定阈值,以及判断待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数是否相匹配,若待验证用户每次执行特定动作的第一执行参数的方差小于其对应的设定阈值,且,待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数相匹配,则确定待验证用户通过验证,反之,确定待验证用户验证不通过。

服务器判断待验证用户每次执行特定动作的第一执行参数的方差是否小于其对应的设定阈值的过程,以及,服务器判断待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数是否相匹配的过程,可以参考前述换人检测方法的描述,这里不再赘述。

由于待验证用户每次执行特定动作的第一执行参数的方差小于其对应的设定阈值,说明每次执行特定动作的动作执行者均为同一人,且,待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数相匹配,说明待验证用户即为历史执行参数对应的历史用户,因此本实施例既能够保证执行特定动作的过程中没有换人,又能够保证执行特定动作的人即为待验证用户,从而对用户进行双重身份认证,保证用户身份认证的可靠性。

本申请实施例中,服务器还可以将身份验证结果发送至客户端,以使待验证用户获知身份验证结果。

考虑到验证用户身份的方式有多种,因此步骤s806得到的待验证用户的身份验证结果,可以作为确定待验证用户身份的决策信息之一,与确定待验证用户身份的其他决策信息进行配合,共同确定待验证用户的身份。

本申请实施例中的用户身份验证方法,获取待验证用户执行特定动作的视频数据,根据获取的视频数据,确定待验证用户执行特定动作的第一执行参数,根据待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证。通过本申请实施例中的用户身份验证方法,可以根据特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证,从而基于执行特定动作的执行参数难以模仿的特性,提高用户身份验证的抗攻击性,提高身份验证的准确度。

图9为本申请实施例提供的用户身份验证方法的第二种流程示意图,如图9所示,该流程可以由服务器执行,该流程包括:

步骤s902,获取动作执行者执行特定动作的动作视频;

步骤s904,根据动作视频确定待验证用户执行特定动作的视频数据;

步骤s906,根据确定的视频数据,确定待验证用户执行特定动作的第一执行参数;

步骤s908,判断待验证用户每次执行特定动作的第一执行参数的方差是否小于其对应的设定阈值;

若是,执行步骤s910,否则,执行步骤s914。

步骤s910,判断待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数是否相匹配;

若是,执行步骤s912,否则,执行步骤s914。

步骤s912,用户身份验证通过。

步骤s914,用户身份验证不通过。

不限制步骤s908和步骤s910的执行顺序,可以先判断第一执行参数的方差是否小于其对应的设定阈值,也可以先判断第一执行参数和历史执行参数是否相匹配。

通过本实施例,既能够保证执行特定动作的过程中没有换人,又能够保证执行特定动作的人即为待验证用户,从而对用户进行双重身份认证,保证用户身份认证的可靠性。

对应上述的换人检测方法,本申请实施例还提供了一种换人检测装置,图10为本申请实施例提供的换人检测装置的第一种模块组成示意图,如图10所示,该装置包括:

参数获取模块1001,用于获取动作执行者执行特定动作的第一执行参数;

换人检测模块1002,用于根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人。

可选地,参数获取模块1001具体用于,

获取所述动作执行者执行所述特定动作的视频数据;

利用对应于所述特定动作的识别模型,对所述视频数据进行识别,以确定每次执行所述特定动作的时间和幅度;

根据每次执行所述特定动作的时间和幅度,确定每次执行所述特定动作的第一执行参数。

可选地,参数获取模块1001还具体用于,

利用对应于所述特定动作的识别模型,在所述视频数据中识别每次执行所述特定动作对应的视频数据,所述视频数据用于指示执行所述特定动作的时间和幅度;

根据每次执行所述特定动作对应的视频数据,确定每次执行所述特定动作的时间和幅度。

可选地,参数获取模块1001还具体用于以下方式中的一种或多种,

根据每次执行所述特定动作的起始时间和结束时间,确定每次执行所述特定动作的频率参数;和,

根据每次执行所述特定动作的起始时间和结束时间,确定每次执行所述特定动作的速度参数;和,

根据每次执行所述特定动作的最大幅度与最小幅度,确定每次执行所述特定动作的幅度参数。

可选地,换人检测模块1002具体用于,

确定每次执行所述特定动作的第一执行参数的方差;

若所述第一执行参数的方差小于其对应的设定阈值,则确定执行所述特定动作的动作执行者为同一人。

本申请实施例中的换人检测装置,获取动作执行者执行特定动作的第一执行参数,根据特定动作的第一执行参数,确定执行特定动作的动作执行者是否为同一人。可见,通过本申请实施例中的换人检测装置,由于可以确定特定动作是否由同一执行者执行完成,因此应用在用户身份验证场景中,能够识别进行活体检测的用户是否为同一用户,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

图11为本申请实施例提供的换人检测装置的第二种模块组成示意图,如图11所示,所述动作执行者为需要进行身份验证的待验证用户;该装置还包括:

历史参数获取模块1101,用于获取所述待验证用户执行所述特定动作的历史执行参数;

用户身份验证模块1102,用于若所述第一执行参数与所述历史执行参数相匹配,则确定所述待验证用户通过验证。

可选地,用户身份验证模块1102具体用于,若所述第一执行参数与所述历史执行参数之间的方差小于其对应的设定阈值,则确定所述待验证用户通过验证。

可选地,所述特定动作为指示所述动作执行者执行的动作。

可选地,所述特定动作包括眨眼、摇头、摆手中的任意一种。

通过本实施例中的装置,在获取动作执行者每次执行特定动作的第一执行参数后,可以确定执行特定动作的动作执行者是否为同一人,在获取动作执行者执行特定动作的第一执行参数以及动作执行者执行特定动作的历史执行参数后,还可以对动作执行者进行身份验证,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

对应上述的用户身份验证方法,本申请实施例还提供了一种用户身份验证装置,图12为本申请实施例提供的用户身份验证装置的模块组成示意图,如图12所示,该装置包括:

数据获取模块1201,用于获取待验证用户执行特定动作的视频数据;

参数确定模块1202,用于根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数;

身份验证模块1203,用于根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证。

可选地,参数确定模块1202具体用于,利用对应于所述特定动作的识别模型,对所述视频数据进行识别,以确定所述待验证用户每次执行所述特定动作的时间和幅度;

根据所述待验证用户每次执行所述特定动作的时间和幅度,确定所述待验证用户每次执行所述特定动作的第一执行参数。

可选地,身份验证模块1203具体用于,若所述待验证用户每次执行所述特定动作的第一执行参数的方差小于其对应的设定阈值,且,所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数相匹配,则确定所述待验证用户通过验证。

本申请实施例中的用户身份验证装置,获取待验证用户执行特定动作的视频数据,根据获取的视频数据,确定待验证用户执行特定动作的第一执行参数,根据待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证。通过本申请实施例中的用户身份验证装置,可以根据特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证,从而基于执行特定动作的执行参数难以模仿的特性,提高用户身份验证的抗攻击性,提高身份验证的准确度。

对应上述的换人检测方法,本申请实施例还提供了一种换人检测设备,图13为本申请实施例提供的换人检测设备的结构示意图。

如图13所示,换人检测设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1301和存储器1302,存储器1302中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1302可以是短暂存储或持久存储。存储在存储器1302的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对换人检测设备中的一系列计算机可执行指令。更进一步地,处理器1301可以设置为与存储器1302通信,在换人检测设备上执行存储器1302中的一系列计算机可执行指令。换人检测设备还可以包括一个或一个以上电源1303,一个或一个以上有线或无线网络接口1304,一个或一个以上输入输出接口1305,一个或一个以上键盘1306等。

在一个具体的实施例中,换人检测设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对换人检测设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

获取动作执行者执行特定动作的第一执行参数;

根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人。

可选地,计算机可执行指令在被执行时,获取动作执行者执行特定动作的第一执行参数,包括:

获取所述动作执行者执行所述特定动作的视频数据;

利用对应于所述特定动作的识别模型,对所述视频数据进行识别,以确定每次执行所述特定动作的时间和幅度;

根据每次执行所述特定动作的时间和幅度,确定每次执行所述特定动作的第一执行参数。

可选地,计算机可执行指令在被执行时,利用对应于所述特定动作的识别模型,对所述视频数据进行识别,以确定每次执行所述特定动作的时间和幅度,包括:

利用对应于所述特定动作的识别模型,在所述视频数据中识别每次执行所述特定动作对应的视频数据,所述视频数据用于指示执行所述特定动作的时间和幅度;

根据每次执行所述特定动作对应的视频数据,确定每次执行所述特定动作的时间和幅度。

可选地,计算机可执行指令在被执行时,根据每次执行所述特定动作的时间和幅度,确定每次执行所述特定动作的第一执行参数,包括以下方式中的一种或多种:

根据每次执行所述特定动作的起始时间和结束时间,确定每次执行所述特定动作的频率参数;和,

根据每次执行所述特定动作的起始时间和结束时间,确定每次执行所述特定动作的速度参数;和,

根据每次执行所述特定动作的最大幅度与最小幅度,确定每次执行所述特定动作的幅度参数。

可选地,计算机可执行指令在被执行时,根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人,包括:

确定每次执行所述特定动作的第一执行参数的方差;

若所述第一执行参数的方差小于其对应的设定阈值,则确定执行所述特定动作的动作执行者为同一人。

可选地,计算机可执行指令在被执行时,所述动作执行者为需要进行身份验证的待验证用户;所述方法还包括:

获取所述待验证用户执行所述特定动作的历史执行参数;

若所述第一执行参数与所述历史执行参数相匹配,则确定所述待验证用户通过验证。

可选地,计算机可执行指令在被执行时,若所述第一执行参数与所述历史执行参数相匹配,则确定所述待验证用户通过验证,包括:

若所述第一执行参数与所述历史执行参数之间的方差小于其对应的设定阈值,则确定所述待验证用户通过验证。

可选地,所述特定动作为指示所述动作执行者执行的动作。

可选地,所述特定动作包括眨眼、摇头、摆手中的任意一种。

本申请实施例中的换人检测设备,获取动作执行者执行特定动作的第一执行参数,根据特定动作的第一执行参数,确定执行特定动作的动作执行者是否为同一人。可见,通过本申请实施例中的换人检测设备,由于可以确定特定动作是否由同一执行者执行完成,因此应用在用户身份验证场景中,能够识别进行活体检测的用户是否为同一用户,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

通过本实施例中的设备,在获取动作执行者每次执行特定动作的第一执行参数后,可以确定执行特定动作的动作执行者是否为同一人,在获取动作执行者执行特定动作的第一执行参数以及动作执行者执行特定动作的历史执行参数后,还可以对动作执行者进行身份验证,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

对应上述的用户身份验证方法,本申请实施例还提供了一种用户身份验证设备,图14为本申请实施例提供的用户身份验证设备的结构示意图。

如图14所示,用户身份验证设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1401和存储器1402,存储器1402中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1402可以是短暂存储或持久存储。存储在存储器1402的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对用户身份验证设备中的一系列计算机可执行指令。更进一步地,处理器1401可以设置为与存储器1402通信,在用户身份验证设备上执行存储器1402中的一系列计算机可执行指令。用户身份验证设备还可以包括一个或一个以上电源1403,一个或一个以上有线或无线网络接口1404,一个或一个以上输入输出接口1405,一个或一个以上键盘1406等。

在一个具体的实施例中,用户身份验证设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对用户身份验证设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

获取待验证用户执行特定动作的视频数据;

根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数;

根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证。

可选地,计算机可执行指令在被执行时,根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数,包括:

利用对应于所述特定动作的识别模型,对所述视频数据进行识别,以确定所述待验证用户每次执行所述特定动作的时间和幅度;

根据所述待验证用户每次执行所述特定动作的时间和幅度,确定所述待验证用户每次执行所述特定动作的第一执行参数。

可选地,计算机可执行指令在被执行时,根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证,包括:

若所述待验证用户每次执行所述特定动作的第一执行参数的方差小于其对应的设定阈值,且,所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数相匹配,则确定所述待验证用户通过验证。

本申请实施例中的用户身份验证设备,获取待验证用户执行特定动作的视频数据,根据获取的视频数据,确定待验证用户执行特定动作的第一执行参数,根据待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证。通过本申请实施例中的用户身份验证设备,可以根据特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证,从而基于执行特定动作的执行参数难以模仿的特性,提高用户身份验证的抗攻击性,提高身份验证的准确度。

基于上述换人检测方法,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为u盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:

获取动作执行者执行特定动作的第一执行参数;

根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人。

可选地,计算机可执行指令在被执行时,获取动作执行者执行特定动作的第一执行参数,包括:

获取所述动作执行者执行所述特定动作的视频数据;

利用对应于所述特定动作的识别模型,对所述视频数据进行识别,以确定每次执行所述特定动作的时间和幅度;

根据每次执行所述特定动作的时间和幅度,确定每次执行所述特定动作的第一执行参数。

可选地,计算机可执行指令在被执行时,利用对应于所述特定动作的识别模型,对所述视频数据进行识别,以确定每次执行所述特定动作的时间和幅度,包括:

利用对应于所述特定动作的识别模型,在所述视频数据中识别每次执行所述特定动作对应的视频数据,所述视频数据用于指示执行所述特定动作的时间和幅度;

根据每次执行所述特定动作对应的视频数据,确定每次执行所述特定动作的时间和幅度。

可选地,计算机可执行指令在被执行时,根据每次执行所述特定动作的时间和幅度,确定每次执行所述特定动作的第一执行参数,包括以下方式中的一种或多种:

根据每次执行所述特定动作的起始时间和结束时间,确定每次执行所述特定动作的频率参数;和,

根据每次执行所述特定动作的起始时间和结束时间,确定每次执行所述特定动作的速度参数;和,

根据每次执行所述特定动作的最大幅度与最小幅度,确定每次执行所述特定动作的幅度参数。

可选地,计算机可执行指令在被执行时,根据所述特定动作的第一执行参数,确定执行所述特定动作的动作执行者是否为同一人,包括:

确定每次执行所述特定动作的第一执行参数的方差;

若所述第一执行参数的方差小于其对应的设定阈值,则确定执行所述特定动作的动作执行者为同一人。

可选地,计算机可执行指令在被执行时,所述动作执行者为需要进行身份验证的待验证用户;所述方法还包括:

获取所述待验证用户执行所述特定动作的历史执行参数;

若所述第一执行参数与所述历史执行参数相匹配,则确定所述待验证用户通过验证。

可选地,计算机可执行指令在被执行时,若所述第一执行参数与所述历史执行参数相匹配,则确定所述待验证用户通过验证,包括:

若所述第一执行参数与所述历史执行参数之间的方差小于其对应的设定阈值,则确定所述待验证用户通过验证。

可选地,所述特定动作为指示所述动作执行者执行的动作。

可选地,所述特定动作包括眨眼、摇头、摆手中的任意一种。

本申请实施例中的存储介质,获取动作执行者执行特定动作的第一执行参数,根据特定动作的第一执行参数,确定执行特定动作的动作执行者是否为同一人。可见,通过本申请实施例中的存储介质,由于可以确定特定动作是否由同一执行者执行完成,因此应用在用户身份验证场景中,能够识别进行活体检测的用户是否为同一用户,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

通过本实施例中的存储介质,在获取动作执行者每次执行特定动作的第一执行参数后,可以确定执行特定动作的动作执行者是否为同一人,在获取动作执行者执行特定动作的第一执行参数以及动作执行者执行特定动作的历史执行参数后,还可以对动作执行者进行身份验证,从而提高用户身份验证的抗攻击性,提高身份验证的准确度。

基于上述用户身份验证方法,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为u盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:

获取待验证用户执行特定动作的视频数据;

根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数;

根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证。

可选地,计算机可执行指令在被执行时,根据获取的所述视频数据,确定所述待验证用户执行所述特定动作的第一执行参数,包括:

利用对应于所述特定动作的识别模型,对所述视频数据进行识别,以确定所述待验证用户每次执行所述特定动作的时间和幅度;

根据所述待验证用户每次执行所述特定动作的时间和幅度,确定所述待验证用户每次执行所述特定动作的第一执行参数。

可选地,计算机可执行指令在被执行时,根据所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数,对所述待验证用户进行身份验证,包括:

若所述待验证用户每次执行所述特定动作的第一执行参数的方差小于其对应的设定阈值,且,所述待验证用户执行所述特定动作的第一执行参数和所述待验证用户执行所述特定动作的历史执行参数相匹配,则确定所述待验证用户通过验证。

本申请实施例中的存储介质,获取待验证用户执行特定动作的视频数据,根据获取的视频数据,确定待验证用户执行特定动作的第一执行参数,根据待验证用户执行特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证。通过本申请实施例中的存储介质,可以根据特定动作的第一执行参数和待验证用户执行特定动作的历史执行参数,对待验证用户进行身份验证,从而基于执行特定动作的执行参数难以模仿的特性,提高用户身份验证的抗攻击性,提高身份验证的准确度。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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