用于面部识别和视频分析以识别上下文视频流中的个人的装置和方法与流程

文档序号:15739659发布日期:2018-10-23 22:04阅读:195来源:国知局
用于面部识别和视频分析以识别上下文视频流中的个人的装置和方法与流程

本申请要求于2015年7月15日提交的标题为“Apparatus and Methods for Facial Recognition and Video Analytics to Identify Individuals in Contextual Video Streams”的美国临时专利申请序列No.62/192,854的优先权和权益,其公开内容通过引用整体上并入本文。

背景

本文描述的实施例一般而言涉及面部识别和视频分析,并且更具体地涉及用于基于面部识别数据来注册个人、分析上下文视频流数据以识别个人以及提供个人的上下文视频流的装置和方法。

电子设备(诸如相机、平板电脑、智能电话等等)的可用性和能力的增加已经允许一些人拍摄他们的经历的图片和/或捕获他们的经历的视频。例如,在智能电话、平板电脑和/或其它相似设备中相机的包括和改进导致那些设备被用于拍摄图片(例如,照片数据、图像数据等)和视频(例如,视频流数据)的增加。虽然对一些人来说拍摄他们的经验的照片和/或视频变得更加容易,但是在一些情况下,将期望的各方(包括以其它方式拍摄图片或视频的人)包括在内仍然存在挑战。而且,一般来说人必须记住和/或有机会拍摄图片和/或视频,否则会导致失去机会。

在一些情况下,场地和/或事件(诸如体育赛事、音乐会、集会、毕业典礼等)具有可以拍摄出席者的图片和/或视频的相机。但是,在一些情况下,分析、解析和/或以其它方式使图片和/或视频流可用会使用相对大量的资源、会不准确和/或会无法提供相关联的上下文数据等。

因此,需要改进的用于基于面部识别数据来注册个人、分析上下文图片数据和/或上下文视频流数据以识别个人以及基于面部识别数据和/或视频分析提供例如在公共事件中的个人的(一个或多个)上下文图片和/或(一个或多个)上下文视频流的装置和方法。



技术实现要素:

在一些实施例中,一种装置包括存储器、与存储器通信并被配置为经由网络进行通信的通信接口以及与存储器和通信接口进行通信的处理器。处理器被配置为经由网络和通信接口接收与客户端设备的用户相关联的面部图像数据。响应于接收到面部图像数据,处理器(1)基于二维面部识别分析、三维面部识别分析或卷积神经网络(CNN)中的至少一个来注册与用户相关联的面部图像数据,以及(2)将与用户相关联的面部图像数据和上下文数据存储在可操作地耦合到处理器的数据库中。处理器还被配置为经由网络和通信接口从与网络通信的至少一个图像捕获设备接收视频流数据。响应于接收到视频流数据,处理器(1)基于二维面部识别分析、三维面部识别分析或CNN中的至少一个分析视频流数据,以定义分析后的视频数据,(2)分析与视频流数据相关联的上下文数据,以定义分析后的上下文数据,以及(3)基于将分析后的视频数据与存储在数据库中的面部图像数据进行比较并将分析后的上下文数据与和用户相关联并存储在数据库中的上下文数据进行比较来定义置信度。处理器被配置为当置信度满足标准时定义表示特定于用户的上下文视频流的数据。

附图说明

图1A是根据实施例的识别系统的示意图。

图1B是根据另一个实施例的识别系统的示意图。

图2是包括在图1A和/或1B的识别系统中的主机设备的示意图。

图3-6是展示图1A和/或1B的识别系统的各方面的电子设备的显示器的示例屏幕截图。

图7是展示根据另一个实施例的识别系统的各方面的电子设备的显示器的示例屏幕截图。

图8是展示根据另一个实施例的识别系统的各方面的电子设备的显示器的示例屏幕截图。

图9是图示使用根据实施例的视频识别系统的方法的流程图。

图10是图示使用根据另一个实施例的视频识别系统的方法的流程图。

具体实施方式

本文描述的实施例涉及基于面部识别数据来注册用户、分析上下文视频流数据以识别个人,以及基于面部识别数据和/或视频的视频分析来提供用户的上下文视频流。在一些实施例中,一种装置包括存储器、与存储器通信并被配置为经由网络进行通信的通信接口以及与存储器和通信接口进行通信的处理器。处理器被配置为经由网络和通信接口接收与客户端设备的用户相关联的面部图像数据。响应于接收到面部图像数据,处理器(1)基于二维面部识别分析、三维面部识别分析或卷积神经网络(CNN)中的至少一个来注册与用户相关联的面部图像数据,以及(2)将与用户相关的面部图像数据和上下文数据存储在可操作地耦合到处理器的数据库中。处理器还被配置为经由网络和通信接口从与网络通信的至少一个图像捕获设备接收视频流数据。响应于接收到视频流数据,处理器(1)基于二维面部识别分析、三维面部识别分析或CNN中的至少一个分析视频流数据,以定义分析后的视频数据,(2)分析与视频流数据相关联的上下文数据,以定义分析后的上下文数据,以及(3)基于将分析后的视频数据与存储在数据库中的面部图像数据进行比较并将分析后的上下文数据与和用户相关联并存储在数据库中的上下文数据进行比较来定义置信度。处理器被配置为当置信度满足标准时定义表示特定于用户的上下文视频流的数据。

在一些实施例中,图像分析的方法包括在主机设备处和经由网络从客户端设备接收指示注册与用户相关联的面部图像数据的请求的信号。经由面部识别和图像分析来注册与用户相关联的面部图像数据,并将其存储在与主机设备通信的数据库中。在主机设备处接收与事件相关联的上下文视频流数据。经由视频分析来分析上下文视频流数据,以确定上下文视频流数据是否满足与上下文视频流数据中的面部图像数据的面部识别相关联的标准。当满足与上下文视频流数据中的面部图像数据的面部识别相关联的标准时,定义用户的上下文视频流。主机设备发送指示在客户端设备的显示器上呈现用户的上下文视频流的指令的信号。

在一些实施例中,一种系统包括与网络通信的图像捕获组件以及具有至少一个处理器和存储器并且与网络和数据库通信的主机设备。图像捕获组件包括至少一个图像捕获设备,该图像捕获设备被配置为捕获与预定上下文相关联的视频流数据。主机设备被配置为(1)经由网络从客户端设备接收用户的面部图像数据,(2)经由面部识别和图像分析注册面部图像数据,以及(3)将面部图像数据存储在数据库中。主机设备被配置为接收来自图像捕获组件的视频流数据以及与预定上下文相关联的数据。主机设备被配置为基于将视频流数据与面部图像数据进行比较并将与预定上下文相关联的数据与和用户相关联的上下文数据进行比较来定义置信度。主机设备还被配置为定义特定于用户的上下文图像数据并且当置信度满足标准时经由网络将特定于用户的上下文图像数据发送到客户端设备。

如在本说明书中所使用的,单数形式“一”和“该”包括复数指示物,除非上下文另有明确指示。因此,例如,术语“模块”旨在意味着单个模块或模块的组合,“网络”旨在意味着一个或多个网络或其组合。

如本文中所使用的,术语“模块”是指可以包括例如存储器、处理器、电迹线、光学连接器、软件(在硬件中执行)等可操作地耦合的电部件的任何组件和/或集合。例如,在处理器中执行的模块可以是能够执行与模块相关联的一个或多个具体功能的基于硬件的模块(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP))和/或基于软件的模块(例如,存储在存储器中和/或在处理器上执行的计算机代码的模块)的任意组合。

如本文所使用的,术语“上下文视频流”是指包括上下文数据和/或与上下文数据相关联的视频流。上下文数据可以是例如时间和/或日期数据、地点数据、事件和/或场地数据、状态数据、个人标识数据、组和/或网络数据、接收者数据、面部识别数据、简档数据等等。当实施例在本文被描述为发送和/或接收“视频流”(例如,向主机设备或在主机设备处)时,视频流可以独立于与视频流相关联的上下文数据被发送和/或接收。例如,客户端设备可以向主机设备发送视频流并且,作为响应,主机设备可以从任何数量的源检索和/或请求与视频流相关联的上下文数据(例如,独立于接收视频流和/或在接收视频流之后)。一旦主机设备接收到视频流数据和与视频流数据相关联的上下文数据,主机设备就可以定义例如上下文视频流和/或任何其它合适的上下文图像数据。在还有其它实施例中,可以在没有上下文数据的情况下发送和/或接收视频流和/或图像数据。而且,在其它情况下,虽然被称为“视频流”,但是设备可以发送和/或接收单个和/或静止图像(例如,图片)。在其它情况下,设备可以发送和/或接收可以共同形成视频流的任何数量的单独帧等。

本文描述的实施例和方法可以使用面部识别数据来(1)在视频流中搜索注册用户(例如,其面部识别数据被预先确定的人)的一个或多个图像,以及(2)向与用户相关联的客户端设备(例如,智能电话、平板电脑、计算机、可穿戴电子设备等等)提供包括上下文数据的视频流。面部识别一般涉及分析人脸的一个或多个图像,以确定例如他或她的面部结构(例如,颧骨、下巴、耳朵、眼睛、下颌、鼻子、发际线等等)的显著特征,然后定义与这些显著特征相关联和/或以其它方式表示这些显著特征的定性和/或定量数据集。例如,一种做法包括提取与人脸的显著特征相关联的数据并且定义包括基于几何形状和/或坐标的信息(例如,面部识别数据的三维(3-D)分析)的数据集。例如,另一种做法包括将图像数据提取成定性值并将那些值与模板等进行比较(例如,面部识别数据的二维(2-D)分析)。在一些情况下,另一种做法可以包括3-D分析和2-D分析的任何适当组合。

一些面部识别方法和/或算法包括使用Eigenfaces(例如,与面部识别相关联的特征向量)的主成分分析、线性辨别分析、使用Fisherface算法的弹性束图匹配、隐马尔可夫模型、使用张量表示的多线性子空间学习、神经元动机动态链接匹配、卷积神经网络(CNN)等或其组合。本文描述的任何实施例和/或方法可以使用和/或实现任何合适的面部识别方法和/或算法或其组合,诸如上面描述的那些。此外,本文描述的实施例和/或方法中的一些可以用于注册用户的初始面部识别数据,然后将包括在视频流中的图像数据与用户的初始面部识别数据进行比较。因此,期望具有准确和/或完整的初始面部识别数据。因此,本文描述的实施例和/或方法可以包括与将用户的面部与模板、框架、边界、标记、指示符等对准相关联的方法、步骤和/或处理。

图1A是根据实施例的视频识别系统100的示意图。在一些情况下,视频识别系统100(在本文中也被称为“系统”)可以用于至少部分地基于面部识别数据呈现用户的上下文视频流(例如,也被称为“特定于用户的上下文视频流”或“特定于用户的视频流”)。系统100的至少一部分可以例如由存储在存储器中并且在电子设备的处理器(例如,主机设备、服务器或一组服务器、个人计算机(PC)、网络设备等等)中执行的指令集或代码等来表示和/或描述。例如,在一些实施例中,主机设备可以接收与注册与用户相关联的面部识别数据的请求相关联的信号并且,作为响应,可以将面部识别数据存储在数据库中。类似地,主机设备可以接收与视频流数据相关联的信号。在一些情况下,然后主机设备的一个或多个处理器可以执行存储在主机设备的存储器中的、与至少部分地基于面部识别数据分析视频流数据以确定用户的一个或多个图像是否存在于视频流中相关联的指令集或代码。如果在视频流数据中找到图像,那么一个或多个处理器可以隔离视频流数据的相关联部分。而且,一个或多个处理器可以执行指令集或代码,以(1)将上下文数据(诸如时间、地点、事件等)与视频流数据相关联,以及(2)定义用户的上下文视频流(例如,特定于用户的上下文视频流)。然后一个或多个处理器可以向与用户相关联的客户端设备发送指示在客户端设备的显示器上呈现用户的上下文视频流的指令的信号。

系统100包括与数据库140、客户端设备150和图像捕获系统160通信的主机设备110。主机设备110可以是任何合适的主机设备,诸如与数据库140、客户端设备150和图像捕获系统160进行电子通信的服务器或服务器组、网络管理设备、个人计算机(PC)、处理单元等。例如,在这个实施例中,主机设备110可以是经由网络105与数据库140、客户端设备150和图像捕获系统160进行电子通信的服务器或服务器组(部署在基本相同的地点和/或设施中或者分布在多于一个地点),如本文进一步详细描述的。

客户端设备150可以是任何合适的设备,诸如PC、膝上型电脑、可转换笔记本电脑、平板电脑、个人数字助理(PDA)、智能电话、可穿戴电子设备(例如,智能手表等等)等。虽然在图1A中未示出,在一些实施例中,客户端设备150可以是包括至少存储器、处理器、通信接口、显示器以及一个或多个输入端的电子设备。存储器、处理器、通信接口、显示器和(一个或多个)输入端可以彼此连接和/或电耦合,以允许信号在其间发送。例如,在一些实施例中,存储器可以是随机存取存储器(RAM)、存储器缓冲器、硬盘驱动器、只读存储器(ROM)、可擦可编程只读存储器(EPROM)等。处理器可以是被配置为运行或执行(例如,存储在存储器中的)指令集或代码的任何合适的处理设备,诸如通用处理器(GPP)、中央处理单元(CPU)、加速处理单元(APU)、图形处理器单元(GPU)、专用集成电路(ASIC)等。这种处理器可以运行或执行存储在存储器中的、与使用PC应用、移动应用、互联网web浏览器、蜂窝和/或无线通信(经由网络)等相关联的指令集或代码。更具体而言,处理器可以执行存储在存储器中的、与向主机设备110发送面部识别数据和/或从主机设备110接收面部识别数据和/或上下文视频流数据相关联的指令或代码,如本文中进一步详细描述的。

客户端设备150的通信接口可以是可以将资源置为与主机设备110进行通信的任何合适的模块和/或设备,诸如一个或多个网络接口卡等。这种网络接口卡可以包括例如可以将客户端设备150置为经由网络(例如,网络105)等与主机设备110进行通信的以太网端口、通用串行总线(USB)端口、无线电、无线电、近场通信(NFC)无线电和/或蜂窝无线电。因此,通信接口可以经由网络105向与主机设备110电子通信相关联的处理器发送信号和/或从该处理器接收信号。

客户端设备150的显示器可以是例如可以以图形方式表示系统100的任何合适部分(例如,与网页、PC应用、移动应用等相关联的图形用户界面(GUI))的阴极射线管(CRT)监视器、液晶显示器(LCD)监视器、发光二极管(LED)监视器等。在一些实施例中,这种显示器可以是和/或可以包括被配置为接收触觉用户输入的触摸屏。在一些情况下,显示器可以被配置为以图形方式表示与面部识别处理相关联的数据和/或与视频流相关联的数据,如本文中进一步详细描述的。

客户端设备150的(一个或多个)输入端可以是可以接收一个或多个输入(例如,用户输入)并且可以向与一个或多个输入端相关联的处理器发送信号和/或从与一个或多个输入端相关联的处理器接收信号的任何合适的模块和/或设备。在一些实施例中,(一个或多个)输入端可以是和/或可以包括被配置为置为与设备进行电子通信的端口、插头和/或其它接口。例如,这种输入端可以是通用串行总线(USB)端口、电气和电子工程师协会(IEEE)1394(火线)端口、Thunderbolt端口、Lightning端口等。在一些实施例中,显示器可以被包括在被配置为接收触觉用户输入的触摸屏等当中。

在一些实施例中,输入端可以是相机和/或其它成像设备。例如,在一些实施例中,这种相机可以被集成到客户端设备150中(例如,如在便携式电话、平板电脑、膝上型电脑等等当中)和/或可以经由端口等(例如,如上面所述的那些)与客户端设备150通信。相机可以是任何合适的成像设备,诸如像包括在智能电话或平板电脑中的网络摄像头或前向相机(例如,与显示器基本上指向相同方向的相机)。以这种方式,用户可以操纵客户端设备150,以使相机捕获图像(例如,照片)或视频。而且,在一些情况下,显示器可以被配置为以图形方式表示与由相机捕获的图像相关联的数据。举例来说,在一些实施例中,客户端设备150可以是包括前向相机的智能电话、平板电脑或可穿戴电子设备。在一些情况下,用户可以操纵客户端设备150,以经由相机拍摄他或她自己的图片或视频(例如,也被称为“自拍”)。

在一些情况下,客户端设备150中包括的相机(例如,输入端)可以用于捕获用户面部的图像,该用户面部的图像进而可以用于注册与用户相关联的面部识别数据。具体而言,用户可以操纵客户端设备150,使得相机捕获用户面部的图像。在一些情况下,显示器可以被配置为以图形方式表示数据的指示、框架、边界、指导和/或任何其它合适的图形表示,其可以向用户提供与用户面部的图像的期望对准相关联的指示。一旦相机捕获到期望的图像,处理器就可以接收和/或检索与用户面部的图像相关联的数据,并且进而可以执行(例如,存储在存储器中的)与至少面部识别处理的一部分相关联的指令集或代码。例如,在一些情况下,处理器可以执行与验证显示器上用图形方式表示的指示、框架、边界等与捕获的用户面部的图像之间的对准相关联的指令集或代码。在一些情况下,客户端设备150可以被配置为在对准通过验证时经由网络105向主机设备110发送与表示用户的图像的数据相关联的信号,并且作为响应,主机设备110可以对数据执行任何合适的一个或多个面部识别处理,以注册用户的面部图像数据,如本文中进一步详细描述的。

图像捕获系统160(在本文中也被称为“图像捕获组件”)可以是和/或可以包括被配置为捕获图像数据的任何合适的一个或多个设备。例如,图像捕获系统160可以是和/或可以包括被配置为捕获图像(例如,照片)和/或记录视频流的一个或多个相机和/或图像记录设备。在一些实施例中,图像捕获系统160可以包括与中央计算设备(诸如服务器、个人计算机、数据存储设备(例如,NAS、数据库等等)等)通信的多个相机。在这种实施例中,相机可以各自将图像数据发送到中央计算设备(例如,经由有线或无线连接、端口、串行总线、网络等),中央计算设备进而可以将图像数据存储在存储器和/或其它数据存储设备中。而且,中央计算设备可以与主机设备110通信(例如,经由网络105)并且可以被配置为将图像数据的至少一部分发送到主机设备110。虽然在图1A中被示为经由网络105与主机设备110通信,但是在其它实施例中,这种中央计算设备可以被包括在主机设备110中、作为其一部分和/或以其它方式耦合到主机设备110。在还有其它实施例中,相机可以与主机设备110通信(例如,经由网络105)而无需这种中央计算设备。

在一些实施例中,图像捕获系统160可以与场地等(诸如像体育竞技场、主题公园、剧院和/或任何其它合适的场地)相关联和/或由其拥有。在其它实施例中,图像捕获系统160可以在场地中或场地处使用,但由不同实体(例如,被许可和/或以其它方式被授权在场地内或场地处使用图像捕获系统160的实体,诸如像体育赛事中的电视摄像机)拥有。在还有其它实施例中,图像捕获系统160可以包括任何数量的客户端设备等,诸如智能电话、平板电脑等,其可以被用作相机或记录器。在这种实施例中,客户端设备中的至少一些可以与主机设备110和/或与场地相关联的中央计算设备进行通信(例如,如上所述)。

例如,在一些实施例中,集成到客户端设备150中的相机可以形成和/或包括图像捕获系统160的至少一部分,如图1B中所示。以这种方式,用户可以操纵客户端设备150,以捕获图片和/或视频记录,并且作为响应,客户端设备150可以向主机设备110上传和/或以其它方式发送图片(例如,图像数据、照片数据等等)和/或视频记录数据。在一些情况下,图片和/或视频记录数据可以存储在客户端设备150上任何合适的时间,并且在随后的时间被上传和/或发送到主机设备110。而且,在将图片和/或视频记录数据发送到主机设备110之后,可以将图片和/或视频记录数据存储在客户端设备150上。也就是说,发送图片和/或视频记录数据不从客户端设备150删除和/或移除图片和/或视频记录数据(例如,将数据的副本发送到主机设备110)。因此,如图1B中所示,图像捕获系统160不需要与特定的事件和/或场地相关联。在这种情况下,用户可以操纵客户端设备150(例如,客户端设备150的应用),以经由集成到客户端设备150中的相机和/或记录设备(例如,图像捕获系统160)捕获用户生成的内容(例如,图片、图像数据、照片数据、视频流数据等等)。

在一些情况下,图像捕获系统160被配置为捕获与场所和/或事件相关联的图像数据。换句话说,图像捕获系统160被配置为在预定的、已知的和/或给定的上下文内捕获图像数据。例如,在一些情况下,图像捕获系统160可以包括安装在竞技场等处并且被配置为捕获与在竞技场的顾客、客人、表演者等等相关联的图像数据的一个或多个图像捕获设备(例如,相机和/或视频记录器)。以这种方式,图像捕获系统160被配置为在竞技场和/或在竞技场发生的事件的上下文内捕获图像数据。因此,捕获的图像数据可以是例如“上下文图像数据”。也就是说,图像数据与上下文数据相关联。如本文中进一步详细描述的,主机设备110可以从图像捕获系统160接收图像数据和/或视频流数据以及从任何合适的数据源等接收与上下文相关联的数据(例如,与竞技场和/或在竞技场发生的事件相关联的“上下文数据”,和/或任何其它合适的上下文和/或元数据);可以将上下文数据与例如图像数据相关联;可以定义与例如客户端设备150的用户相关联的特定于用户的上下文图像和/或特定于用户的上下文视频流;并且可以将与用户相关联的特定于用户的上下文图像和/或特定于用户的上下文视频流发送到客户端设备150。

如上所述,客户端设备150和图像捕获系统160可以经由一个或多个网络与主机设备110进行通信。例如,如图1A中所示,客户端设备150和图像捕获系统160可以经由其通信接口和网络105与主机设备110进行通信。网络105可以是任何类型的网络,诸如像局域网(LAN)、诸如虚拟局域网(VLAN)的虚拟网络、音乐局域网(MLAN)、广域网(WAN)、城域网(MAN)、全球微波接入网络的互操作性(WiMAX)、蜂窝网络、互联网和/或被实现为有线和/或无线网络的任何其它合适的网络。作为示例,网络105可以被实现为基于电气和电子工程师协会(IEEE)802.11标准的无线局域网(WLAN)(也被称为)。而且,网络105可以包括任何类型的网络(诸如像LAN或WLAN和互联网)的组合。在一些实施例中,客户端设备150可以经由可以与网络105相似或不同的中间网络和/或替代网络(未示出)与主机设备110和网络105进行通信。因此,客户端设备150可以使用多种通信模式(例如,与上述的任何网络相关联)将数据发送到主机设备110和/或从主机设备110接收数据,所述数据可以或可以不使用共同的网络发送到主机设备110。例如,客户端设备150可以是经由蜂窝网络和互联网(例如,网络105)连接到主机设备110的移动电话(例如,智能电话)。

在一些情况下,网络可以促进例如对等联网会话等。在这种情况下,对等联网会话可以包括例如客户端设备和/或任何其它合适的电子设备,其中的每一个共享共同的特点。例如,在一些情况下,对等联网会话可以包括处于场地、事件、地点等等的预定邻近范围内的任何合适的客户端设备(例如,在数据库140等中注册的电子设备)。例如,在一些情况下,这种对等联网会话可以包括存在于场地(例如,体育赛事)的任何数量的注册的客户端设备。在一些情况下,可以基于与用户和/或客户端设备相关联的上下文数据来自动建立对等联网会话。在其它情况下,对等联网会话可以基于一个或多个用户“登入”和/或以其它方式在场地等处公布他或她的存在(例如,“尖叫”用户的存在)而自动建立。在一些情况下,用户可以在用户抵达事件等时(例如,体育赛事、音乐会、婚礼、生日聚会、集会等等)、在注册时、在捕获图像或视频流时等“登入”。而且,“登入”可以包括识别信息,诸如像地理定位数据、日期和时间数据、个人或用户标识数据等等。

在其它情况下,用户可以手动建立包括例如预定的用户集合或组的对等联网会话。在一些情况下,这种对等联网会话可以是公共网络、专用网络和/或其它受限接入网络。例如,在一些情况下,用户可以请求加入联网会话和/或可以接收邀请以加入联网会话等。在一些情况下,建立对等联网会话可以例如促进包括在对等联网会话中的用户之间的通信(例如,群聊会话等)和/或图像和/或视频数据的共享。

主机设备110可以是被配置为向数据库140、客户端设备150和/或图像捕获系统160发送数据和/或从其接收数据的任何合适的设备。在一些实施例中,主机设备110可以用作例如服务器设备(例如,web服务器设备)、网络管理设备、管理员设备等。在一些实施例中,主机设备110可以是一起容纳在同一片(blade)、机架和/或设施中或其上或者分布在多个片、机架和/或设施中或其上的一组服务器或设备。主机设备110包括至少存储器115、处理器120和通信接口125(例如参见图2)。在一些实施例中,存储器115、处理器120和通信接口125被连接和/或电耦合,使得可以在存储器115、处理器120和通信接口125之间发送信号。主机设备110还可以包括和/或可以以其它方式可操作地耦合到数据库140,数据库140被配置为存储用户数据、面部识别数据、上下文数据(例如,与时间、地点、场地、事件等等相关联)、视频流等。

存储器115可以是例如RAM、存储器缓冲器、硬盘驱动器、数据库、ROM、EPROM、EEPROM等。在一些情况下,主机设备110的存储器115包括用于执行一个或多个面部识别动作和/或用于使用一种或多种合适的通信模式与至少一个设备(例如,客户端设备150)通信(例如,发送和/或接收)数据的指令集或代码。处理器120可以是任何合适的处理器,诸如像GPP、CPU、APU、GPU、网络处理器、前端处理器、ASIC、FPGA等。因此,处理器120可以被配置为执行存储在存储器115中的指令集、模块和/或代码。例如,处理器120可以被配置为执行与尤其(例如,从客户端设备150)接收面部识别数据、分析面部识别数据、注册和/或存储面部识别数据、接收视频流数据(例如,从图像捕获系统160)、分析视频流数据并将视频流数据与面部识别数据进行比较、发送视频流数据(例如,向客户端设备150)和/或任何其它合适的处理相关联的指令集和/或模块,如本文中进一步描述的。通信接口125可以是可以将主机设备110置为与数据库140、客户端设备150、图像捕获设备160和/或与网络105通信的任何其它合适的设备和/或服务通信的任何合适的设备(例如,被配置为搜集和/或至少暂时存储数据(诸如面部识别数据、视频流等)的任何设备)。在一些实施例中,通信接口125可以包括一个或多个有线和/或无线接口,诸如像网络接口卡(NIC)、以太网接口、光载波(OC)接口、异步传输模式(ATM)接口和/或无线接口(例如,无线电、无线电、NFC无线电等)。

返回到图1A,与主机设备110相关联的数据库140可以是任何合适的数据库,诸如像关系数据库、对象数据库、对象-关系数据库、分层数据库、网络数据库、实体-关系数据库、结构化查询语言(SQL)数据库、可扩展标记语言(XML)数据库、数字储存库、媒体库、云服务器或存储装置等。在一些实施例中,主机设备110可以经由通信接口125通过任何合适的网络(例如,网络105)与数据库140进行通信。在这种实施例中,数据库140可以被包括在可以通过网络105和/或任何其它(一个或多个)网络与主机设备110通信的网络附连存储(NAS)设备中或由其存储。在其它实施例中,数据库可以被存储在主机设备110的存储器115中。在还有其它实施例中,数据库140可以经由电缆、总线、服务器机架等可操作地耦合到主机设备110。

数据库140可以存储和/或至少暂时保留与视频识别系统100相关联的数据。例如,在一些情况下,数据库140可以存储与用户简档、资源列表、面部识别数据、模式和/或方法、上下文数据(例如,与时间、地点、场地、事件等等相关联)、视频流或其部分等相关联和/或以其它方式表示其的数据。换句话说,数据库140可以存储与系统100已经注册了其面部图像数据的用户(例如,“注册用户”)相关联的数据。在一些实施例中,数据库140可以是和/或可以包括关系数据库,其中可以根据关系模型将数据存储在例如表、矩阵、向量等中。举例来说,在一些情况下,主机设备110可以被配置为在数据库140中存储从视频或图像源(例如,图像捕获系统160)接收的视频流数据以及与视频流数据相关联的上下文数据。在一些情况下,如本文中进一步详细描述的,视频流数据和与其相关联的上下文数据可以共同定义上下文视频流等。在其它情况下,视频流数据可以被存储在数据库140中,而没有上下文数据等。

虽然主机设备110参考图1A被示出并描述为包括和/或以其它方式可操作地耦合到数据库140(例如,单个数据库),但是在一些实施例中,主机设备110可以可操作地耦合到任何数量的数据库。这种数据库可以被配置为存储与系统100相关联的数据集的至少一部分。例如,在一些实施例中,主机设备110可以可操作地耦合到第一数据库和/或以其它方式与第一数据库通信,以及可操作地耦合到第二数据库和/或以其它方式与第二数据库通信,其中第一数据库被配置为接收并至少暂时存储用户数据、用户简档等,其中第二数据库被配置为接收并至少暂时存储视频流数据和与视频流数据相关联的上下文数据。在一些实施例中,主机设备110可以可操作地耦合到存储在客户端设备150和/或图像捕获系统160中或其上的数据库和/或以其它方式与其通信。换句话说,数据库的至少一部分可以在客户端设备150和/或图像捕获系统160中实现和/或由其存储。以这种方式,主机设备110以及,在一些情况下,数据库140可以与在与主机设备110通信(例如,经由网络105)的同时可以与物理地部署在与主机设备110不同的位置的任何数量的数据库通信。在一些情况下,数据库140的第一部分可以被包括在主机设备110的存储器中和/或以其它方式由其存储,并且数据库140的第二部分可以被包括在客户端设备150的存储器中和/或以其它方式由其存储。

在一些实施例中,数据库140可以是可搜索的数据库和/或储存库。例如,在一些情况下,数据库140可以存储与用户相关联的视频流数据(例如,上下文视频流数据)。在一些情况下,用户可以搜索数据库140,以检索和/或查看存储在数据库140中的与用户相关联的一个或多个上下文视频流。在一些情况下,用户可以具有有限的访问和/或特权,以更新、编辑、删除和/或添加与他或她的用户简档相关联的视频流(例如,特定于用户的上下文视频流等)。在一些情况下,用户可以例如更新和/或修改与和那个用户相关联的特定于用户视频流相关联的许可和/或访问。例如,在一些实施例中,用户可以重新分发、共享和/或保存与用户相关联的数据。在其它情况下,用户可以阻止对特定于用户的数据等的访问。在一些情况下,用户可以重新分发和/或共享以其它方式与用户共享的内容、数据和/或视频流(例如,可以或者可以不与用户相关联)。

返回图2,如上所述,主机设备110的处理器120可以被配置为执行具体的模块。这些模块可以是例如硬件模块、存储在存储器115中和/或在处理器120中执行的软件模块,和/或其任意组合。例如,如图2中所示,处理器120包括和/或执行分析模块121、数据库模块122和呈现模块123。如图2中所示,分析模块121、数据库模块122和呈现模块123可以连接和/或电耦合。因此,可以在分析模块121、数据库模块122和呈现模块123之间发送信号。

分析模块121包括可以由处理器120(或其部分)执行的、与接收和/或收集与用户的面部识别和/或视频流相关联的数据相关联的指令集。更特别地,分析模块121可以可操作地耦合到通信接口125和/或以其它方式与通信接口125通信并且可以从其接收数据。这种数据可以例如与用户(例如,面部识别信息、简档信息、偏好、活动日志、地点信息、联系信息、日历信息、社交媒体活动信息等等)、场点(例如,地点数据、资源数据、事件时间表)、事件等相关联。如本文中进一步详细描述的,分析模块121可以从通信接口125接收与请求和/或指令相关联的信号,以执行与面部识别相关联的任意数量的处理。

在一些情况下,分析模块121可以基本上实时地从通信接口125接收数据。也就是说,在一些情况下,包括在系统100中的电子设备(例如,客户端设备150)可以由用户操纵,以定义和/或更新与用户的面部识别相关联的数据,并且一旦被定义和/或更新,就可以经由网络105将数据发送到主机设备110。因此,通信接口125可以在接收到数据时向分析模块121发送信号,该分析模块121在由电子设备定义和/或更新之后在非常短的时间段内接收数据。在其它实施例中,分析模块121可以基于例如聚合处理、当前和/或预测的处理器、存储器和/或网络负载等以预定的速率等从通信接口125接收数据。

如上所述,分析模块121可以被配置为接收、聚合、分析、分类、解析、更改和/或更新与面部识别处理等相关联的数据。更特别地,在一些情况下,用户可以操纵客户端设备150,以捕获他或她面部的一个或多个图像或视频流(如本文中进一步详细描述的),并且进而可以例如经由网络105向主机设备110发送与图像数据相关联和/或表示图像数据的信号。在一些情况下,通信接口125可以接收图像数据并且可以将相关联的信号发送到分析模块121。在接收到后,分析模块121可以执行与聚合、分析、排序、更新、解析和/或以其它方式处理图像数据相关联的指令集或代码(例如,存储在分析模块121和/或在存储器115中)。更具体而言,分析模块121可以执行任何合适的面部识别处理和/或算法,诸如像上面描述的那些。在一些情况下,面部识别处理和/或算法可以是与用户相关联的图像数据的初始注册。例如,分析模块121可以定义与用户面部的模板、轮廓、简档、形状、特征、布置、特点等相关联和/或以其它方式表示其的数据集(在本文中也被称为“初始数据集”、“初始面部图像”和/或“面部图像”)。换句话说,在一些情况下,用户可以操纵客户端设备150以捕获“自拍”(例如,用户并且特别是用户面部的图片和/或视频),并且作为响应,客户端设备150可以向主机设备110发送包括例如自拍数据的初始数据集。在一些情况下,在捕获自拍之前和/或在将数据发送到主机设备110之前,可以提示客户端设备150的用户(例如在客户端设备150的显示器上)接受服务条款,包括个人和/或地点数据的共享等等。

在定义初始数据集之后,分析模块121可以向例如数据库模块122发送指示在数据库140存储初始数据集的指令的信号。在一些情况下,分析模块121可以定义用户简档等,其包括初始数据集和与用户相关联的任何其它合适的信息或数据,诸如像图片、视频记录和/或音频记录、个人和/或识别信息(例如,姓名、年龄、性别、生日、嗜好等等)、日历信息、联系信息(例如,与用户和/或用户的朋友、家人、同事等等相关联的)、设备信息(例如,介质访问控制(MAC)地址、互联网协议(IP)地址等等)、地点信息(例如,当前地点数据和/或历史地点数据)、社交媒体信息(例如,简档信息、用户名、密码、朋友或联系人列表等等),和/或任何其它合适的信息或数据。因此,如本文中进一步详细描述的,分析模块121可以向数据库模块122发送指示将用户简档数据存储在数据库140中的指令的信号。在一些情况下,在初始数据被存储在数据库140中之后,主机设备110可以向客户端设备150发送确认。此外,任何用户简档数据和/或初始数据集的任何部分都可以存储在客户端设备150上。

虽然上面将分析模块121描述为执行面部识别处理等,以定义初始数据集,但是在一些情况下,分析模块121可以接收视频流数据(或图像数据,例如来自照片)并且可以被配置为分析和/或处理视频流数据,以确定视频流数据的一部分是否匹配初始数据集的任何合适部分。也就是说,分析模块121可以使用初始数据集作为对照其比较包括在视频流中的数据的模板。换言之,分析模块121至少部分地基于初始数据集对视频流数据执行面部识别处理和/或分析。在一些实施例中,主机设备110并且更特别地是通信接口125或者直接地(例如,经由网络105从一个或多个相机)或者间接地(例如,经由网络105从计算机设备,网络105进而与一个或多个相机通信)从图像捕获系统160接收视频流数据设备。在一些实施例中,分析模块121可以被配置为至少部分地基于分离、解析、排序和/或以其它方式将视频流数据解构为其各个帧(例如,在视频流期间的预定时间的静态图像)来分析和/或处理视频流数据。因此,分析模块121可以相对于初始数据集比较和/或分析包括在视频流帧中的数据。

在一些情况下,分析模块121还可以分析视频流数据,以确定与视频流相关联的上下文信息,诸如像地点、场地、时间、一致的(coinciding)事件(例如,球队射门得分例如在“亲吻镜头”时被捕获等等),和/或任何其它合适的上下文信息。在一些情况下,分析模块121可以被配置为匹配、聚合和/或以其它方式将视频流的至少一部分与上下文数据相关联。例如,在一些情况下,视频流数据可以表示例如用户在体育赛事中。在这种情况下,上下文数据可以是例如体育赛事或比赛的视频流,并且可以包括与时间、地点、场地、团队等等相关联的数据。因此,分析模块121可以被配置为聚合视频流数据和上下文数据,使得视频流数据和上下文数据基本一致(例如,发生和/或捕获与基本上同时相关联的数据)。在其它情况下,上下文数据可以包括与任何其它合适的上下文相关联的数据。

如果分析模块121确定视频流中的数据的至少一部分满足标准(例如,将初始数据集匹配到预定的和/或可接受的概率),那么分析模块121可以向数据库模块122发送一个或多个指示将图像和/或视频流数据的至少一部分存储在数据库140中并且将那个数据与初始数据集相关联和/或以其它方式存储那个数据的指令的信号。在一些情况下,分析模块121可以向数据库模块122发送信号,使得各个帧被存储在数据库140中,数据库140随后进而可以被检索和处理,以定义视频流。在其它情况下,分析模块121可以向数据库模块122发送一个或多个信号,使得视频流数据的该部分被存储在数据库140中。也就是说,分析模块121可以至少部分地从(如上所述被分离或解构的)各个帧重新定义和/或重建视频流。

在一些情况下,主机设备110可以接收视频流数据(例如,从图像捕获系统160并且经由网络105和通信接口125)并且分析模块121和/或任何其它合适的未在图2中示出的模块可以在执行面部识别处理(刚刚描述的)之前执行一个或多个预处理和/或预排序处理。例如,在一些实施例中,分析模块121(或其它模块)可以分析视频流数据,以确定和/或定义数据集,该数据集包括例如识别信息和/或上下文信息(诸如地点、时间、事件等等)。一旦被定义,分析模块121就可以分析存储在数据库140中的用户数据(例如,经由向数据库模块122发送指示查询数据库140等的指令的信号),以确定与用户相关联的数据的一部分满足(一个或多个)标准,诸如匹配包括与视频流相关联的上下文信息的数据集。

在一些情况下,(一个或多个)标准可以与以任何适当方式表示的置信度和/或匹配阈值(例如,诸如小数、百分比等的值)相关联。例如,在一些情况下,(一个或多个)标准可以是阈值等,诸如视频流数据与存储在数据库中的数据的至少一部分的70%匹配、视频流数据与存储在数据库中的数据的至少一部分的75%匹配、视频流数据与存储在数据库中的数据的至少一部分的80%匹配、视频流数据与存储在数据库中的数据的至少一部分的85%匹配、视频流数据与存储在数据库中的数据的至少一部分的90%匹配、视频流数据与存储在数据库中的数据的至少一部分的95%匹配、视频流数据与存储在数据库中的数据的至少一部分的97.5%匹配、视频流数据与存储在数据库中的数据的至少一部分的99%匹配,或者其间的任何百分比。

在一些情况下,与用户相关联的数据可以包括例如日历数据、地点数据、偏好数据等。例如,如果数据不满足标准,那么分析模块121可以定义关于与该用户相关联的数据可以从例如面部识别处理中排除的指示。以这种方式,预处理和/或预排序可以减少面部识别处理期间的处理负荷量等。虽然以上被描述为查询数据库140以获取用户数据,但是在一些实施例中,主机设备110可以向与用户相关联的设备(例如,客户端设备150)发送指示对与那个设备相关联的地点数据等的请求的信号。如上所述,在接收到地点数据(例如,设备的全球定位(GPS)数据)等后,分析模块121可以确定地点数据是否匹配与视频流相关联的地点数据。

举例来说,在一些情况下,分析模块121可以接收来自体育赛事的视频流数据,其还包括与例如竞技场相关联的地点数据。作为响应,分析模块121可以从与用户相关联的客户端设备(例如,客户端设备150)发送对地点数据的请求。例如,如果与视频流相关联的地点数据和与客户端设备相关联的地点数据基本相似和/或与客户端设备相关联的地点数据在地点数据值等的预定范围内等,那么分析模块121可以增加置信度得分和/或以其它方式将结果视为有助于满足阈值和/或以其它方式满足(一个或多个)标准。在一些情况下,地点数据可以是例如基于GPS、网络地点和/或数据的地理定位数据(例如,经由NFC验证、蓝牙验证、蜂窝三角测量、认知网络交换和/或协议等等)、社交网络数据(诸如“登入”)等。以这种方式,主机设备110(例如,分析模块121)可以例如确定客户端设备与视频流数据被捕获的地点的接近度。

虽然被描述为分析地点数据,但是在其它情况下,分析模块121可以分析与任何合适的源、活动、地点、模式、购买等等相关联的数据。例如,在一些情况下,分析模块121可以分析与场地相关联的售票。在其它情况下,分析模块121可以分析社交媒体帖子、评论、喜欢等等。在一些情况下,分析模块121可以收集和/或分析与用户相关联的数据(如上所述)并且可以定义例如可以包括用户标识数据、面部识别数据、客户端设备数据、购买数据、互联网web浏览数据、地点数据、社交媒体数据、偏好数据等等的用户简档。因此,用户的简档数据可以被分析,以确定可以相对于阈值得分、值和/或指标(indicator)进行评估的置信度得分、值和/或指标,以确定用户数据和/或视频流数据是否满足(一个或多个)标准。因而,在这种实施例中,可以使用非面部识别数据(例如,售票数据、社交媒体帖子、视频或图像中个人的衣橱等等)来证实面部识别数据和/或增加/减少置信度得分。

虽然上面将分析模块121描述为分析视频流数据以定义与视频流相关联的面部识别数据和上下文数据,但是在其它实施例中,面部识别处理和上下文数据处理可以分开和/或独立执行。例如,在一些实施例中,分析模块121可以被配置为执行面部识别处理,而不同的模块、处理器、设备、服务器等等可以被配置为执行上下文数据处理。因此,当与由相同模块执行的面部识别处理和上下文数据处理相比时,可以减少分析视频流数据的时间和/或可以分布处理负荷。

如上所述,数据库模块122包括由处理器120(或其部分)执行的、与监视数据库140和/或更新其中存储的数据相关联的指令集。例如,数据库模块122可以包括使处理器120利用从分析模块121接收到的面部识别数据的至少一部分来更新存储在数据库140中的数据的指令。更具体而言,数据库模块122可以从分析模块121接收例如与用户相关联的初始数据集,并且作为响应,可以将初始数据集存储在数据库140中。在一些情况下,如上所述,数据库模块122可以从分析模块121接收指示查询数据库140以确定存储在数据库140中并与用户的初始数据集相关联的数据是否与视频流数据的任何合适部分相匹配的请求的信号。例如,如果视频流数据的至少一部分满足(一个或多个)标准(为了简化,下文中称为“标准”,但是不排除多个“标准”),那么数据库模块122可以被配置为更新存储在与那个用户相关联的数据库140中的数据。也就是说,如果视频流数据的至少一部分在预定概率等内与初始数据集匹配。但是,如果视频流数据不与存储在数据库140中的初始数据集匹配,那么数据库模块122可以例如向数据库140查询下一个条目(例如,与下一个用户相关联的数据)和/或者可以以其它方式不更新数据库140。而且,数据库模块122可以被配置为以基于关系的方式和/或以任何其它合适的方式将数据存储在数据库140中(例如,数据库140可以是关系数据库等)。

呈现模块123包括由处理器120(或其一部分)执行的指令集,该指令集与在面部识别期间定义表示满足标准的视频流数据的至少一部分的上下文视频流和/或呈现相关联,如上所述。更具体而言,呈现模块123可以被配置为定义表示在事件、场地、地点等处识别出的用户(例如,经由面部识别)的上下文视频流和/或呈现。一旦定义了上下文视频流(例如,特定于用户的上下文视频流),呈现模块123就可以向通信接口125发送与特定于用户的上下文视频流相关联的信号,通信接口125进而可以向客户端设备150发送指示在其显示器上以图形方式表示上下文视频流的指令的信号(例如,经由网络105)。

在一些情况下,呈现模块123可以定义特定于用户的上下文视频流和/或呈现,其是例如交互式的并且可以包括任何数量的数据层。例如,在一些情况下,呈现模块123可以定义包括数据的任何数量的层、级别、页面等等的交互式和上下文视频流,其中的每一个可以包括与视频流相关联的上下文数据的任何合适部分。在这种情况下,上下文视频流可以例如在客户端设备150的显示器上以图形方式表示,并且用户可以操纵客户端设备150以选择(例如,经由键盘、鼠标、触摸屏、语音命令等等)例如图标、上下文视频流的一部分等。在一些情况下,图标等的选择可以使得在客户端设备150的显示器上以图形方式表示与那个视频流相关联和/或与那个视频流相关的数据(例如,上下文数据)。例如,在一些情况下,特定于用户的上下文视频流可以表示在体育赛事中的用户,并且上下文数据可以包括例如与在上下文视频流期间的时间的一部分一致的射门(goal)或其它事件相关联的数据。作为具体的示例,视频流(例如,上下文视频流)可以表示用户在体育赛事中加油,并且上下文数据可以包括和/或可以以其它方式与在基本上一致的时间例如体育赛事的视频流相关联。在其它情况下,上下文数据可以包括对一致事件的文本描述。在一些情况下,上下文视频流和上下文数据可基本上同时呈现在客户端设备150的显示器上。例如,用户可以同时查看射门及其对射门的反应。

由呈现模块123定义的特定于用户的上下文视频流可以是例如从图像捕获系统160接收的完整视频流或视频流的一部分。例如,在一些情况下,特定于用户的上下文视频流可以是用户存在于其中的视频流的一部分。因此,如果用户基本上存在于整个视频流中,那么特定于用户的上下文视频流可以基本上是整个视频流。在其它情况下,如果用户仅存在于视频流的一部分中,那么特定于用户的上下文视频流的定义可包括从视频流中提取用户存在于其中的部分(例如,帧)。举例来说,如果15秒的视频流被捕获并被发送到主机设备110但用户仅存在于视频流的3秒内,那么呈现模块123可以被配置为定义特定于用户的上下文视频流,其是例如用户存在于其中的3秒部分。

虽然在上面将呈现模块123和/或主机设备110的其它部分描述为向客户端设备150发送指示在客户端设备的显示器上呈现特定于用户的上下文视频流的指令的信号,但是在其它情况下,呈现模块123可以定义特定于用户的上下文视频流并且可以向数据库模块122发送指示将特定于用户的上下文视频流存储在数据库140中的指令的信号。在这种情况下,与特定于用户的上下文视频流相关联的数据可以被存储和/或以其它方式与存储在数据库140中的用户数据相关联。在一些情况下,主机设备110可以响应于来自客户端设备150(和/或任何其它合适的设备)的请求而从数据库140检索特定于用户的上下文视频流。更具体而言,在一些实施例中,用户可以操纵客户端设备150,以访问互联网上的网页。在通过认证(例如,输入凭证等)之后,用户可以与网页交互,使得访问特定于用户的上下文视频流的请求从客户端设备150被发送到主机设备110。因此,主机设备110(例如,数据库模块122)可以从数据库140检索特定于用户的上下文视频流,并且可以向客户端设备150发送可操作以在显示器上呈现特定于用户的上下文视频流的信号(例如,经由互联网和网页)。换句话说,特定于用户的上下文视频流可以存储在“云”上并经由web浏览器和互联网访问。

虽然上面将分析模块121、数据库模块122和呈现模块123描述为在主机设备110中存储和/或执行,但是在其它实施例中,模块中的任何一个可以在例如客户端设备150和/或图像捕获系统160中存储和/或执行。例如,在一些实施例中,客户端设备150可以包括、定义和/或存储呈现模块(例如,作为本机应用)。该呈现模块可以与主机设备110的呈现模块123基本上相似或相同。在这种实施例中,客户端设备150的呈现模块可以取代否则将在主机设备110中包括和/或执行的呈现模块123的功能。因此,客户端设备150的呈现模块可以接收例如与上下文视频流相关联的数据集并且在接收后可以定义要呈现在客户端设备150的显示器上的呈现。

虽然呈现模块123在上面被描述为定义客户端设备150的用户的上下文视频流和/或用于客户端设备150的用户的上下文视频流(例如,特定于用户的上下文视频流),但是在一些情况下,呈现模块123可以被配置为定义与具有存储在数据库140中的用户简档的任何用户相关联的、特定于用户的上下文视频流。例如,在从图像捕获系统160接收到视频流数据后,分析模块121可以执行面部识别和/或视频分析处理(如上所述),以确定视频流中的面部数据是否与注册用户(例如,其用户简档数据等存储在数据库140中的用户)相关联的面部数据匹配。以这种方式,如果由分析模块121执行的面部识别分析识别出视频流数据中的用户的面部图像(例如,识别出匹配和/或以其它方式满足标准,如上面详细描述的),那么呈现模块123可以被配置为为任何合适的用户或用户组定义特定于用户的上下文视频流。在一些情况下,主机设备110可以向与每个识别出的用户相关联的客户端设备自动发送特定于用户的上下文视频流和/或可以自动地将特定于用户的(一个或多个)上下文视频流上传和/或存储在“云”(例如,在数据库140等当中)。在一些情况下,特定于用户的视频流可以经由电子邮件、短消息服务(SMS)、多媒体消息服务(MMS)、NFC和/或蓝牙通信发送到社交媒体平台(例如,发布到Facebook、Twitter、YouTube、Instagram等等)等。在一些情况下,用于发送特定于用户的视频流的模态可以基于用户偏好(诸如用于接收用户和/或发送用户的用户偏好)。

如上所述,在一些情况下,分析模块121等可以在执行面部识别处理之前执行一个或多个预处理和/或预排序过程。例如,分析模块121可以分析与任何数量的注册用户相关联的数据(例如,经由向数据库模块122发送指示查询数据库140等的指令的信号),以确定与任何用户相关联的数据的一部分是否满足(一个或多个)标准,诸如像与用户相关联的上下文数据和与视频流相关联的上下文数据的匹配(例如,与用户的客户端设备相关联的地点数据匹配与视频流相关联的地点数据)。在预处理存储在数据库140中的数据之后,分析模块121可以被配置为执行面部识别分析,以确定视频流中的面部图像数据是否匹配经由预处理等识别出的用户的面部图像数据等。

在一些情况下,上下文视频流的共享可以基于例如捕获视频流数据的用户与请求上下文视频流数据的用户之间的关系。例如,在一些情况下,如上面详细描述的,客户端设备(例如,客户端设备150)的用户可以捕获可以由主机设备110分析和/或处理的上下文视频流。在定义上下文视频流之后,新用户可以注册面部图像数据和用户简档数据,这些数据进而存储在数据库中。在一些情况下,新用户可以例如在上下文视频流中被捕获。因此,在一些情况下,新用户可以建立、请求、定义等等与捕获上下文视频流的用户的关系、连接、链接、关联等。如果捕获视频流的用户接受新用户的请求,那么可以将特定于用户的上下文视频流自动发送到新用户的客户端设备和/或可以以其它方式与新用户相关联。在一些情况下,可以使特定于用户的视频流自动让新用户可用(例如,经由账户、网页、PC或移动应用等等)。

在其它情况下,主机设备110可以被配置为建议与由给定用户捕获的上下文视频流中识别(例如,经由面部识别)出的一个或多个其他用户的关系。换句话说,主机设备110可以基于识别上下文视频流中的一个或多个用户来建议关联。在一些情况下,基于经由面部识别来识别个人(例如,注册用户或非注册用户),主机设备110可以确定个人的接近度、地点和/或任何其它合适的上下文数据。如果个人是注册用户,那么主机设备110可以例如建议个人与捕获视频的用户之间的关系。如果个人不是注册用户,那么在一些情况下,主机设备110可以利用邀请等向与个人相关联的设备发送信号以向系统注册。

在一些情况下,例如,第一注册用户可以捕获第二注册用户的视频。如本文所述,主机设备110可以被配置为分析视频流并且定义特定于第二注册用户的特定于用户的视频流。此外,主机设备110可以将与第一注册用户相关联的数据发送给第二注册用户,反之亦然。在一些情况下,数据可以是个人识别数据(诸如姓名)。在其它情况下,数据可以是被发送的用户简档图片,而不识别任一用户的姓名。在一些情况下,主机设备110还可以发送指示建立第一注册用户和第二注册用户之间的关联的建议的数据(例如,建议第一注册用户和第二注册用户变成关联、链接或以其它方式连接)。例如,第二注册用户可以向第一注册用户发送关联请求等,并且在请求被接受后,可以建立第一注册用户和第二注册用户之间的关联。在其它情况下,第一注册用户可以发送请求,并且第二注册用户可以接受该请求。而且,指示关联的数据可以被存储在数据库140中。

在还有其它情况下,用户可以选择(例如,经由客户端设备150处或其上的用户输入)限制或防止共享用户捕获的图像和/或视频。例如,在一些情况下,客户端设备150的用户可以捕获上传和/或发送到主机设备110并且例如存储在数据库140中的上下文视频流。在一些情况下,存储在数据库140中的用户简档和/或用户数据可以包括用户的视频和/或图像是私密的指示。以这种方式,主机设备110可以识别视频流中的一个或多个用户(例如,面部图像),但不将特定于用户的上下文视频发送到根据用户简档数据识别出的那些用户。虽然被描述为是私密的,但是在其它情况下,用户可以选择将他或她的视频流和/或图像与仅在视频流和/或图像中识别出的预定用户组共享。

在一些情况下,与上下文视频流相关联的上下文数据可以包括一个或多个数字标签等。例如,在一些情况下,数字标签可以是标题、水印、主题标签(hashtag)、日期和/或时间戳、事件或场地数据等等。类似地,如果上下文视频流是用户生成的视频,那么用户可以定义和/或以其它方式输入一个或多个数字标签。在一些情况下,当呈现模块123定义特定于用户的上下文视频流时,主机设备110可以被配置为包括表示一个或多个数字标签的数据。例如,在一些情况下,主机设备110和/或呈现模块123可以在特定于用户的上下文视频流中包括和/或插入标题等。在其它情况下,主设备110和/或呈现模块123可以包括和/或可以插入被配置为在回放特定于用户的上下文视频流期间以图形方式表示的水印等。在一些情况下,这种水印可以是例如标题、地点、字幕、反应等等。在其它情况下,这种水印可以是例如广告等。例如,在一些情况下,用户和/或主机设备110可以选择特定于用户的上下文视频流的赞助商等。举例来说,用户可以在体育赛事时捕获上下文视频流,并且可以选择和/或可以以其它方式在上下文视频流中包括数据,使得体育用品公司的徽标(例如,或)的水印显示在特定于用户的上下文视频流上或其中。在一些情况下,用户可以因为选择让赞助者在他们的特定于用户的上下文视频流上和/或其中加水印而获得奖励。这种奖励可以基于例如多个观点(view)、喜欢等等。

图3-6是根据实施例的、从电子设备取得的、展示面部识别系统(例如,系统100)的使用的至少一部分的各种屏幕截图的示例说明。这种系统可以用于至少部分地基于面部识别数据呈现用户的上下文视频流。系统100的至少一部分可以例如由存储在存储器中并在电子设备(例如,主机设备、服务器或服务器组、个人计算机(PC)、网络设备等等)等的处理器中执行的指令集或代码来表示和/或描述。例如,在一些实施例中,主机设备可以接收与注册与用户相关联的面部识别数据的请求相关联的信号,并且,作为响应,可以将面部识别数据存储在数据库中。类似地,主机设备可以接收与视频流数据相关联的信号。在一些情况下,主机设备的一个或多个处理器然后可以执行存储在主机设备的存储器中的、与分析视频流数据以至少部分地基于面部识别数据来确定用户的一个或多个图像是否存在于视频流中相关联的指令集或代码。如果在视频流数据中找到图像,那么一个或多个处理器可以隔离视频流数据的相关联部分。而且,一个或多个处理器可以执行指令集或代码,以(1)将上下文数据(诸如时间、地点、事件等等)与视频流数据相关联,以及(2)定义用户的上下文视频流(例如,特定于用户的上下文视频流)。然后一个或多个处理器可以向与用户相关联的客户端设备发送指示在客户端设备的显示器上呈现特定于用户的上下文视频流的指令的信号。

如上所述,系统100的至少一部分可以在例如客户端设备150中或其上实现。客户端设备150包括被配置为以图形方式表示系统100的至少一部分的显示器155(参见例如图3)。客户端设备150的显示器155可以是例如阴极射线管(CRT)监视器、液晶显示器(LCD)监视器、发光二极管(LED)监视器等,其可以以图形方式表示系统100的任何合适部分(例如,与网页、PC应用、移动设备应用等相关联的GUI)。在一些实施例中,显示器155可以是和/或可以包括被配置为接收触觉用户输入的触摸屏。在一些情况下,显示器155可以被配置为以图形方式表示与面部识别处理相关联的数据和/或与视频流相关联的数据,如本文中更详细描述的。

虽然在图3-6中未示出,但是如上所述,客户端设备150可以包括相机和/或其它成像设备。例如,在一些实施例中,这种相机可以集成到客户端设备150中(例如,如在智能电话、平板电脑、膝上型电脑等等当中)和/或可以经由端口等与客户端设备150通信。更具体而言,在这个实施例中,客户端设备150可以是包括前向相机(例如,相机基本上在与显示器155相同的方向上指向)的智能电话或平板电脑。以这种方式,用户可以操纵客户端设备150,以使相机捕获图像(例如,照片)或视频。而且,在一些情况下,显示器155可以被配置为以图形方式表示与由相机捕获的图像相关联的数据。因此,用户可以操纵客户端设备150,以经由相机拍摄他或她自己的图片或视频,同时在显示器155上呈现与相机相关联的视场。换句话说,用户可以操纵客户端设备150进行自拍。

如上所述,客户端设备150的相机可以捕获用户面部的图像,用户面部的图像进而可以用于注册与用户相关联的面部识别数据。具体而言,用户可以通过例如选择被配置为控制相机的移动应用来操纵客户端设备150。因此,相机可以接收图像数据,图像数据进而可以呈现在显示器155上,如图3-6中所示。此外,显示器155可以被配置为以图形方式表示数据的指示、框架、边界、引导和/或任何其它合适的图形表示,其可以提供与用户面部的图像的期望对准相关联的指示。具体而言,如图3-6中所示,显示器155可以被配置为呈现眼镜160等,用户然后可以使用其对准他或她的面部。此外,显示器155可以呈现被配置为在注册处理期间的任何合适的点处指示用户的提示165。例如,如图3中所示,提示165包括说明“请戴上眼镜”的文字。换句话说,提示165可以指示用户将面部图像170与图形表示的眼镜160对准,使得面部图像170中用户的眼睛以正常、自然、预期和/或常见的方式在眼镜160内定位(例如,好像用户实际地戴着眼镜一样)。

一旦用户将他或她的面部图像170与眼镜160对准,相机就可以捕获用户面部的期望图像。更具体而言,在一些实施例中,图形表示的眼镜160可以具有可以导致肯定对准和/或识别的可能性增加的期望尺寸和/或形状。例如,在一些情况下,眼镜160的图形表示可以使得用户眼睛之间的距离在与图形表示的眼镜160对准时大于65像素。在其它情况下,用户眼睛之间的距离在与图形表示的眼镜对准时在大约40像素和大约65像素之间。换句话说,用户面部图像170的对准和/或验证可以至少部分地基于用户眼睛的图形表示并且,在一些情况下,预定的最小距离可以与肯定对准和/或识别的更大可能性相关联。在其它实施例中,用户的面部图像170的对准和/或验证可以至少部分地基于任何合适的面部特征,例如相对于图形表示的眼镜160和/或任何其它图形表示的对准指示符。而且,一旦用户的面部图像170被对准和/或以其它方式验证,相机就可以捕获用户面部的期望图像。在一些情况下,一旦用户的面部图像170被对准,相机就可以自动捕获用户面部的期望图像。在其它情况下,可以在显示器上以图形方式表示对准的指示,其被配置为提示用户拍摄照片(例如,经由用户输入)。

在一些情况下,一旦面部图像170被对准和/或验证,相机就可以自动捕获期望的图像。更具体而言,响应于移动应用识别出用户的眼睛与眼镜160的图形表示对准,移动应用可以控制相机捕获图像而无需用户的其它参与。因此,用户可以拍摄图像(例如,“自拍”)而不必按下移动设备上的按钮和/或以其它方式向移动设备提供图像获取指示。

此外,一旦用户将他或她的面部图像170与眼镜160对准,提示165就可以被更新。例如,如图4中所示,提示165可以包括说明“很好,现在我们将拍一张私人照片,保持不动。”的文字。虽然在图3-6中未示出,但是在一些实施例中,提示165可以包括倒数计时器等。例如,提示165可以以图形方式表示与用于拍摄和/或验证图片的时间长度相关联的倒数(例如,诸如“3”-“2”-“1”的倒数)。因而,相机可以捕获用户的面部图像170并且可以将与面部图像170相关联的信号发送到客户端设备150(以上描述)的处理器。处理器可以接收和/或检索与面部图像170相关联的数据,并且进而可以执行与面部识别处理的至少一部分相关联的指令集或代码(例如,存储在存储器中)。例如,在一些情况下,处理器可以执行与验证面部图像170和眼镜160之间的对准以确定是否存在面部图像相关联的指令集或代码。在一些情况下,处理器可以基于捕获的图片中面部图像170的成功验证或者捕获的图片中面部图像170的不成功验证来更新提示165。例如,如果处理器肯定地验证了面部图像170,那么可以更新提示165以呈现文字“恭喜!你现在已注册”,如图5中所示。可替代地,如果处理器没有肯定地验证面部图像170,那么可以更新提示165以呈现文字“我们没有找到面部,让我们再试一次”。也就是说,基于对准,处理器无法验证面部数据。因此,用户可以调节面部图像170相对于眼镜160的位置。一旦客户端设备150验证了面部图像170相对于眼镜160的对准、捕获了面部图像170并且验证了面部图像170在捕获的图片中被成功表示,客户端设备150就可以将与面部图像数据相关联的信号发送到主机设备110,主机设备110进而可以执行任何合适的面部识别处理(例如,初始注册处理等),如上面详细描述的。

虽然面部注册处理在上面参考图3-6特别示出并进行了描述,但是在其它实施例中,客户端设备150可以以任何合适的方式验证和捕获用户的初始面部数据。例如,虽然提示165在上面被特别示出并描述为包括具体的语言,但是在其它实施例中,提示165可以是具有或不具有文字的任何合适的指示符。类似地,提示165可以包括任何合适的图标或符号,诸如像秒表(图4)、复选标记(图5)或“X”(图6)。在其它实施例中,提示165可以仅包括文字、仅包括图标或符号、仅包括颜色等等。

类似地,虽然显示器155在上面参考图3-6被特别示出并描述为包括用于对准面部图像170的眼镜160,但是在其它实施例中,客户端设备150可以被配置为在显示器155上呈现任何合适的指示、框架、边界、面部特征等等。例如,在一些实施例中,显示器155可以以图形方式表示面部的部分(诸如像眼睛、耳朵、鼻子、嘴巴(例如,微笑)、轮廓(silhouette)等等。在其它实施例中,显示器155可以以图形方式表示一个或多个形状(诸如像圆形、椭圆形、正方形、矩形和/或任何其它多边形或圆形。在其它实施例中,显示器155可以以图形方式表示一个或多个线、箭头、省略号和/或任何其它合适的符号或形状。在还有其它实施例中,显示器155可以呈现被配置为促进用户的面部图像170与相机对准的任何其它合适的图形表示。而且,面部图像170的验证可以基于任何合适的面部特征(诸如像眼睛之间的距离(例如,如上所述的至少65像素),眼睛的形状和/或尺寸,眼睛的颜色,鼻子的尺寸和/或形状,鼻孔的尺寸和/或形状,耳朵的尺寸和/或形状,耳朵之间的距离,颧骨、下巴或下颌的位置和/或布置,微笑的尺寸和/或形状,发际线的轮廓、形状或路径,头发的颜色、样式、厚度或丰满度等等)。

虽然上面客户端设备150被描述为执行特定的对准处理以捕获用于面部图像170的初始注册的期望图像,但是在其它实施例中,客户端设备可以被配置为执行被配置为捕获初始面部图像数据的任何合适的处理。例如,图7是根据另一个实施例的、从电子设备取得的展示面部识别系统(例如,系统100)的至少一部分的使用的屏幕截图的示例说明。如上面详细描述的,这种系统可以用于至少部分地基于面部识别数据呈现用户的上下文视频流。

如上所述,系统100的至少一部分可以在例如客户端设备中或其上实现。客户端设备可以与上述的客户端设备150基本上相似或相同。因此,在本文不进一步详细描述客户端设备的部分。如图7中所示,客户端设备包括被配置为以图形方式表示系统100的至少一部分的显示器255。显示器255可以是任何合适的显示器(诸如本文描述的那些)。因而,显示器255可以被配置为以图形方式表示与面部识别处理相关联的数据和/或与视频流相关联的数据,如本文中进一步详细描述的。而且,在这个实施例中,如上面详细描述的,客户端设备可以是具有前向相机的智能电话或平板电脑。

如上所述,客户端设备的相机可以捕获用户面部的图像,该用户的面部的图像又可以用于注册与用户相关联的面部识别数据。具体而言,用户可以通过选择例如被配置为控制相机的移动应用来操纵客户端设备。因此,相机可以接收图像数据,图像数据进而可以呈现在显示器255上,如图7中所示。此外,显示器255可以被配置为以图形方式表示数据的一个或多个指示、框架、边界、指导和/或任何其它合适的图形表示,其可以提供与用户面部图像的期望对准相关联的指示。具体而言,在这个实施例中,显示器255可以被配置为以图形方式表示动态指示符275和区段指示符280的集合,其可以用于相对于相机和/或显示器255对准用户的面部图像270。

例如,在一些情况下,用户可以操纵客户端设备和/或可以相对于客户端设备移动他或她的头部,使得动态指示符275基本上与用户的面部图像270的中心对准。虽然动态指示符275在图7中被示为阴影圆圈,但是在其它情况下,动态指示符275可以是任何合适的形状和/或尺寸,并且可以带阴影或不带阴影。类似地,虽然区段指示符280被示为矩形,但在其它实施例中,区段指示符280可以是任何合适的形状、尺寸或配置。在一些情况下,一旦用户的面部图像270在期望的位置和/或朝向上对准,客户端设备就可以自动捕获面部图像270。例如,当动态指示符275基本上部署在显示器255的中心时,相机可以捕获例如面部图像270的前视图(例如,基本直接向前等)。

利用捕获到的面部图像270的前视图,用户然后可以相对于显示器255移动他或她的头部,显示器进而以基本类似的方式移动动态指示符275。例如,在一些情况下,用户可以将他的头部向后倾斜,就好像向上看。因此,客户端设备可以确定用户的面部图像270的移动并且可以以相关联的方式移动动态指示符275。在一些情况下,用户的面部图像270的移动可以将动态指示符275放在例如由相关联的区段指示符280(诸如像对于“北”,区段指示符280被标记为“N”)所定义的边界中。而且,一旦动态指示符275被放在区段指示符280的边界内的期望位置,相机就可以自动捕获与例如向上看或向上倾斜相关联的面部图像270。在一些情况下,显示器255可以被配置为一旦为相关联的区段指示符280捕获了成功的面部图像270就改变和/或更新区段指示符280的任何部分的颜色和/或以其它方式更新相关联的区段指示符280,以向用户提供用于那个区段的面部图像270被成功捕获的指示。

一旦为区段指示符280成功捕获到面部图像270,用户就可以相对于相机和/或显示器255移动他或她的头部,以将动态指示符275以基本上与如上所述相同的方式放在每个区段指示符280内的期望位置。换句话说,用户可以移动他或她的头部和/或面部图像270,使得动态指示符275被移动通过标记为代表“东北”的“NE”的区段指示符280、标记为代表“东”的“E”的区段指示符280、标记为代表“东南”的“SE”的区段指示符280、标记为代表“南”的“S”的区段指示符280、标记为代表“西南”的“SW”的区段指示符280、标记为代表“西”的“W”的区段指示符280以及标记为代表“西北”的“NW”的区段指示符280内的期望位置。因此,客户端设备可以被配置为捕获用户的九个面部图像270(前视图、左视图、右视图、顶视图、底视图、左上视图、右上视图、左下视图和右下视图),其进而可以用于定义初始数据集和/或注册面部识别数据,如上面详细描述的那样。换句话说,客户端设备可以捕获用户的多个视图(例如,前面、侧面、顶部、底部等等)并且不限于例如前视图。在一些情况下,例如当视频流中的面部图像不是面部图像的前视图时,捕获与区段指示符280相关联的多个面部图像270可以促进面部识别处理。在一些情况下,当与使用单个视图(例如,面部图像270的前视图)相比时,捕获面部图像270的多个视图可以提高面部识别处理的效率和/或准确度。因而,如果事件的视频流仅捕获用户面部的侧视图,那么可以基于用于注册用户的多个面部图像更容易地识别用户。

虽然显示器255被示出并描述为以图形方式在特定布置中表示区段指示符280的集合,但是在其它实施例中,显示器255可以以任何合适的布置以图形方式表示任何合适的指示符或指示符集合。作为示例,虽然区段指示符280被示出并描述为具有与坐标相关联的标签(例如,代表“北”的“N”等等),但是在其它实施例中,第二指示符280可以具有任何合适的标签。在一些实施例中,例如,这种标签可以是数字、字母、符号、形状和/或任何其它合适的标签。而且,虽然上面被描述为响应于面部图像270的移动而移动动态指示符275以具体的方式通过区段指示符280,但是动态指示符275可以以任何合适的方式和/或者不以特定的次序移动通过区段指示符280。虽然显示器255被示为以图形方式表示八个区段指示符280,但是在其它实施例中,显示器255可以以图形方式表示任何合适数量的区段指示符,诸如像两个区段指示符、三个区段指示符、四个区段指示符、五个区段指示符、六个区段指示符、七个区段指示符、九个区段指示符、十个区段指示符、十一个区段指示符、十二个区段指示符、十三个区段指示符、十四个区段指示符、十五个区段指示符、二十个区段指示符、三十个区段指示符或其间的任何数字。在还有其它实施例中,显示器255可以以图形方式表示多于三十个区段指示符。

图8是根据另一个实施例的、从电子设备取得的展示面部识别系统(例如,图1A和/或图1B的系统100)的使用的至少一部分的屏幕截图的示例说明。如上面详细描述的,这种系统可以用于至少部分地基于面部识别数据呈现用户的上下文视频流。如上所述,系统100的至少一部分可以在例如客户端设备中或其上实现。客户端设备可以与以上关于图1A和/或1B描述的客户端设备150基本上相似或相同。因此,在本文中不进一步详细描述客户端设备的部分。

如图8中所示,客户端设备包括被配置为以图形方式表示系统100的至少一部分的显示器355。显示器355可以是任何合适的显示器,诸如本文描述的显示器(例如,与上面参考图7描述的显示器255相似或相同)。因而,显示器355可以被配置为以图形方式表示与面部识别处理相关联的数据和/或与视频流相关联的数据,如本文中进一步详细描述的。

如上所述,客户端设备包括可以捕获用户面部的图像的相机,该图像进而可以用于注册与用户相关联的面部识别数据。具体而言,用户可以通过选择例如被配置为控制相机的移动应用来操纵客户端设备。因此,相机可以接收图像数据,图像数据进而可以呈现在显示器355上,如图8中所示。此外,显示器355可以被配置为以图形方式表示数据的一个或多个指示、框架、边界、指导和/或任何其它合适的图形表示,其可以提供与用户面部图像的期望对准相关联的指示。具体而言,在图8中所示的实施例中,显示器355可以被配置为以图形方式表示区段指示符380A、380B、380C和380D的集合(统称为“区段指示符380”),其可以用于将用户的面部图像370相对于相机和/或显示器355对准。如图8中所示,在这个实施例中,区段指示符380在显示器355上以图形方式被表示为布置成椭圆形或圆形的八个灯泡。在其它实施例中,显示器可以以图形方式表示可以以任何合适的方式布置的任何合适的区段指示符。例如,在一些实施例中,区段指示器380可以在显示器355上以图形方式被表示为八个灯泡(如图8中所示),这些灯泡以正方形或矩形方式布置(例如,类似于图7中所示的区段指示符280)。在其它实施例中,区段指示符380可以基本上随机布置。虽然区段指示符380被示为彼此基本上相似,但是在其它实施例中,显示器355可以以图形方式表示任何数量的区段指示符380,其中至少一个状态指示符的尺寸、形状、朝向和/或配置不同于至少一个其它状态指示器符的尺寸、形状、朝向和/或配置。

在一些情况下,用户可以操纵客户端设备和/或可以相对于客户端设备移动他或她的头部,使得用户的面部图像370基本上与显示器的中心对准。虽然在图8中未示出,但是在一些实施例中,显示器355可以被配置为以图形方式表示动态指示符(诸如上面参考图7描述的动态指示符275)。在其它实施例中,显示器355不需要以图形方式表示动态指示符。在一些情况下,一旦用户的面部图像370相对于显示器355(和/或捕获用户的面部图像370的图像的相机)在期望的位置和/或朝向上对准,客户端设备就可以捕获面部图像370。例如,当用户的面部图像370基本上部署在显示器355的中心时,相机可以捕获例如面部图像370的前视图(例如,基本上直接向前等)。换句话说,在一些情况下,当面部图像370处于与前面位置具有相对小的偏差量或没有偏差的位置时,相机可以被配置为捕获用户的面部图像370。在一些实施例中,相机可以被配置为一旦用户的面部图像相对于显示器355处于期望的位置就自动捕获图像。

利用捕获的面部图像370的前视图,用户然后可以相对于显示器355移动他或她的头部,这进而相对于显示器355移动用户的面部图像370。例如,在一些情况下,用户可以将他或她的头部向后向右倾斜,就好像朝着显示器355的左上角看一样(例如,与用户头部的倾斜相反,因为显示器355面向相反的方向)。因此,客户端设备可以确定用户面部图像370的移动并且,在一些情况下,用户面部图像370的移动可以与给定的区段指示符380相关联。更具体而言,在一些情况下,用户可以相对于显示器355将他或她的头部移动到与状态指示器380A相关联的位置、朝向等等。在一些情况下,客户端设备可以确定和/或计算在显示器355上以图形方式表示的用户面部图像370的位置和/或朝向。例如,客户端设备可以确定用户的面部图像370处于与区段指示符380A相关联的位置和/或朝向。因此,客户端设备可以被配置为向显示器355发送指示对准的信号,在这个实施例中,信号可以在显示器355上以图形方式表示为点亮灯泡380A(状态指示符380A)。

一旦客户端设备确定用户的面部图像370相对于状态指示符380A处于期望的位置(以图形方式表示为完全点亮灯泡),客户端设备就可以向用户的面部图像370发送信号。在一些实施例中,客户端设备可以使相机一旦用户的面部图像370处于期望的位置和/或朝向就自动捕获其。在其它实施例中,用户可以操纵客户端设备,以使相机捕获用户的面部图像370。

在一些情况下,用户可以将他或她的头部相对于显示器移动(如上面刚刚描述的)到与每个状态指示符380相关联的位置和/或朝向。因此,客户端设备可以捕获例如用户面部图像370的前视图以及与每个状态指示符380相关联和/或以其它方式用于每个状态指示符380的用户面部图像370的有角度视图。如上面关于图7中所示的客户端设备所描述的,客户端设备可以被配置为将与捕获的图像相关联的信号发送到主机设备(诸如上面关于图1A和/或1B描述的主机设备110)。

如图8中所示,客户端设备可以被配置为在至少一个指示符状态下在显示器355上以图形方式表示状态指示符380。换句话说,客户端设备可以被配置为在显示器355上以图形方式表示与面部图像370相对于给定状态指示符380的对准相关联的定性指示。例如,如上所述,当用户的面部图像370相对于状态指示符380A处于期望的位置时,状态指示符380A以图形方式被表示为基本点亮的灯泡。但是,如图8中所示,状态指示符380中的任何一个可以被配置为指示用户的面部图像370相对于该状态指示符380的部分对准。例如,状态指示符380C在显示器355上以图形方式被表示为部分点亮的灯泡,相比状态指示符380B(在显示器355上以图形方式表示为部分点亮的灯泡)不太亮、完全和/或点亮,其进而与比状态指示符380A不太亮、完全和/或点亮(在显示器355上以图形方式表示为基本点亮的灯泡)。

以这种方式,与状态指示符380A相关联的基本点亮的灯泡可以表示用户的面部图像370相对于状态指示符380A在第一容差内的对准;与状态指示符380B相关联的部分点亮的灯泡可以表示在第一容差之外但在第二容差内的对准;并且与状态指示符380C相关联的部分点亮的灯泡可以表示在第二容差之外但在第三容差内的对准。而且,如图8中所示,与状态指示符380D相关联的基本上未点亮的灯泡可以表示第三容差之外的对准(或缺乏对准)。换句话说,状态指示符380D可以与第一指示级别(例如,“关”)相关联,状态指示符380C可以与第二指示级别(例如,“第一级开”)相关联,状态指示符380B可以与第三指示级别(例如,“第二级开”)相关联,并且状态指示符380A可以与第四指示级别(例如,“第三级开”)相关联。在一些情况下,客户端设备可以自动地向相机发送信号,以便当用户的面部图像370在与相对于状态指示符380(例如,状态指示符380A)的朝向和/或位置相关联的预定容差(例如,第一容差)内时使相机捕获用户的面部图像370。也就是说,当面部图像370相对于至少一个状态指示符380满足标准时,客户端设备可以使相机捕获用户的面部图像370。

虽然状态指示符380在上面被描述为指示用户的面部图像370具有预定对准和/或在预定容差内的对准并且呈现其定性指示,但是在其它实施例中,显示器可以包括一个或多个被配置为指示与面部图像和/或视频流相关联的任何合适的特点的状态指示符。例如,在一些实施例中,状态指示符可以基本上与图8中所示的状态指示符380相似并被配置为向用户提供指示图像或视频流的适合性的定性指示。例如,在一些实施例中,这种适合性可以是图像和/或视频流的对准(如上面关于图8所描述的)、图像和/或视频流的清晰度、图像和/或视频流的焦点、与图像和/或视频流通过预定运动范围相关联的运动、与图像和/或视频流处于相机视场中相关联的时间的测量,和/或任何其它适合性的测量。例如,状态指示符380A的明亮的“光”可以指示针对与状态指示符380A相关联的头部位置已经捕获了合适的视频和/或图像。对于另一个示例,状态指示符380B中的中等“光”可以指示针对与状态指示符380B相关联的头部位置已经捕获了不够合适的视频和/或图像。对于还有另一个示例,状态指示符380D中缺乏“光”可以指示没有为与状态指示符380D相关联的头部位置捕获图像。在这种实施例中,完全“点亮的”状态指示符380可以指示相机已经捕获了用户的各种位置的足够的视频和/或图像。这可以向用户提供视频和/或图像足够的指示。在其它实施例中,可以使用任何其它合适的指示符来指示捕获到用户的面部位置和/或对准的图像的适合性。在一些情况下,当面部图像适合和/或当面部图像处于与面部图像的对准相关联的预定容差内时,客户端设备可以自动捕获用户的面部图像的图像和/或视频流。

虽然客户端设备在上面被描述为在用户的面部图像370已经满足与每个状态指示符380相关联的标准之后将面部图像数据发送到主机设备,但是在其它情况下,当用户的面部图像370不满足与至少一个状态指示符380相关联的标准时,客户端设备可以发送面部图像数据。在这种情况下,客户端设备(例如,其中包括的处理器)可以定义与用户的面部图像370处于预定对准和/或相对于每个状态指示符380具有预定的适合性相关联的第一标准,以及与满足其相关联的第一标准的预定数量的状态指示符380相关联的第二标准。换句话说,当状态指示符380集合中预定数量的状态指示符满足其相关联的第一标准时(例如,任何合适数量的状态指示符的任何合适百分比或部分),客户端设备可以确定面部图像数据满足第二标准。

图9是示出根据实施例的、定义上下文视频流的方法10的流程图。在11处,方法10包括在主机设备处并且经由网络从客户端设备接收指示注册与用户相关联的面部图像数据的请求的信号。例如,在一些实施例中,网络可以是任何合适的网络或网络的组合(诸如像上面参考图1A和/或1B所描述的网络105)。主机设备可以与上面参考图1和2描述的主机设备110基本相似或相同。类似地,客户端设备可以与上面参考图1-6描述的客户端设备150基本相似或相同。在一些情况下,客户端设备可以被配置为捕获初始面部图像数据并且可以将初始面部图像数据发送到主机设备。具体而言,在一些实施例中,客户端设备可以被配置为以任何合适的方式(诸如像上面参考图2-6、参考7和/或参考图8所描述的那些)捕获用户的一个或多个面部图像。因而,主机设备可以从客户端设备接收面部图像数据并且可以执行与注册用户和/或用户的面部图像数据相关联的任何合适的处理等。

在12处,方法10包括注册与用户相关联的面部识别数据并将面部识别数据存储在与主机设备通信的数据库中。数据库可以是任何合适的数据库(诸如像上面参考图1A和/或1B所描述的数据库140)。面部识别数据的注册可以包括与面部识别相关联的任何合适的处理、方法和/或算法(诸如上面描述的那些)。在一些情况下,主机设备可以被配置为基于面部识别来定义初始数据集等,并且可以将初始数据集的至少一部分存储在数据库中。

在13处,主机设备接收与事件相关联的上下文视频流数据。主机设备可以从图像捕获系统(诸如上面参考图1A和/或1B描述的图像捕获系统160)接收上下文视频流数据。更具体而言,主机设备可以或者直接地(例如,经由网络从一个或多个相机)或者间接地(例如,经由网络从计算设备,网络进而与一个或多个相机通信)接收上下文视频流数据。

在14处,分析上下文视频流数据,以确定上下文视频流数据是否满足与在上下文视频流数据中面部图像数据的面部识别相关联的标准。例如,主机设备可以接收上下文视频流数据(或者例如来自照片的图像数据)并且可以分析和/或处理上下文视频流数据,以确定上下文视频流数据的一部分是否匹配面部图像数据的任何合适部分。也就是说,主机设备可以使用面部图像数据作为模板,对照该模版比较包括在上下文视频流中的数据。换句话说,主机设备至少部分地基于面部图像数据对上下文视频流数据执行面部识别处理和/或分析。在一些情况下,标准可以例如与具有预定的和/或可接受的概率的上下文视频流数据与面部图像数据的匹配相关联。在一些实施例中,主机设备可以被配置为至少部分地基于将上下文视频流数据分离、解析、排序和/或以其它方式解构为它的各个帧(例如,在视频流期间的预定时间的静态图像)来分析和/或处理上下文视频流数据。因此,主机设备可以相对于面部图像数据来比较和/或分析上下文视频流帧中包括的数据。

在一些情况下,上下文视频流数据的分析还包括分析上下文视频流数据,以确定与视频流相关联的上下文信息,诸如像地点、场地、时间、一致的事件(例如,球队射门得分、例如在“亲吻镜头”时被捕获等等),和/或任何其它合适的上下文信息。在一些情况下,主机设备可以被配置为匹配、聚合和/或以其它方式将视频流的至少一部分与上下文数据相关联。例如,在一些情况下,视频流数据可以表示例如用户在体育赛事中。在这种情况下,上下文数据可以是例如体育赛事或比赛的视频流,并且可以包括与时间、地点、场地、团队等等相关联的数据。因此,主机设备可以被配置为聚合视频流数据和上下文数据,使得视频流数据和上下文数据基本一致(例如,发生和/或捕获与基本上同时相关联的数据)。在其它情况下,上下文数据可以包括与任何其它合适的上下文相关联的数据。

在15处,当与上下文视频流数据中的面部图像数据的面部识别相关联的标准被满足时,定义特定于用户的上下文视频流。例如,当主机设备确定上下文视频流中的数据的至少一部分满足标准(例如,将面部图像数据与预定的和/或可接受的概率匹配)时,主机设备可以定义用户的上下文视频流并且可以将用户的上下文视频流存储在数据库中。在16处,利用所定义的用户的上下文视频流(即,特定于用户的上下文视频流),主机设备发送指示在客户端设备的显示器上呈现用户的上下文视频流的指令的信号。例如,在一些实施例中,主机设备可以经由网络向客户端设备发送信号,该信号可操作用于在客户端设备的显示器上呈现特定于用户的上下文视频流。在其它实施例中,主机设备可以存储特定于用户的上下文视频流(例如,存储在数据库等当中)并且可以被配置为响应于来自客户端设备(和/或任何其它合适的设备)的请求而从数据库检索特定于用户的上下文视频流。更具体而言,在一些实施例中,用户可以操纵客户端设备,以访问互联网上的网页。在通过认证(例如,输入凭证等)之后,用户可以与网页交互,使得访问上下文视频流的请求从客户端设备被发送到主机设备。因此,主机设备可以从数据库检索上下文视频流,并且可以向客户端设备发送信号,该信号可操作用于在显示器上呈现上下文视频流(例如,经由互联网和网页)。换句话说,上下文视频流可以存储在“云”上并经由web浏览器和互联网访问。

虽然上面方法10被描述为发送和/或接收视频流、图像数据、上下文数据等等并且呈现和/或与一个或多个用户共享特定于用户的视频流和/或图像数据,但是应当理解的是,系统可以被布置为使得视频流数据和/或图像数据可以以任何合适的方式被捕获、由任何合适的设备分析并且被发送到任何合适的用户或用户设备和/或与任何合适的用户或用户设备共享。举例来说,在一些情况下,用户可以操纵用户设备(例如,客户端设备,诸如客户端设备150)来捕获用户的面部图像。例如,用户可以打开移动应用(例如,当用户或客户端设备是智能电话或者其它移动或可穿戴电子设备时)并且可以经由客户端设备的相机捕获面部图像(例如,“自拍”)。换句话说,用户可以经由应用来控制客户端设备的相机,以捕获自拍。

面部图像可以经由面部识别和/或由客户端设备和/或由主机设备进行的任何其它合适的图像分析来分析。一旦被分析,与用户相关联的数据(例如,面部图像数据和/或上下文或用户简档数据)就可以被注册并存储在例如数据库(例如,数据库140)和/或任何其它合适的数据存储装置(例如,客户端设备的存储器等)中。因此,用户可以向系统“注册”(即,用户是注册用户)。

在一些情况下,注册用户可以经由应用来捕获内容(例如,图像数据和/或视频流)。如上所述,内容可以是给定上下文中的一个或多个人(诸如像体育赛事等当中的一个或多个人)的视频流。在一些情况下,捕获(例如,生成)内容的用户可以与上下文数据(诸如时间、日期、地点、场地、事件等等)相关联和/或可以以其它方式用数据和/或元数据进行标记。在其它情况下,用户生成的内容不需要与上下文数据相关联。用户生成的内容(例如,视频流数据等)可以经由客户端设备或主机设备经由面部识别和/或其它图像分析来分析,以确定任何注册用户的存在(如上所述)。如果在视频流中识别出注册用户,那么用户、客户端设备和/或主机设备可以定义与识别出的用户中的一个或多个相关联的特定于用户的视频流。然后用户、客户端设备和/或主机设备可以确定是否与每个识别出的用户共享特定于用户的视频流。在一些情况下,可以基于用户简档和/或偏好和/或基于移动应用或帐户内的设置等来自动化特定于用户的(一个或多个)视频流的共享。在其它情况下,特定于用户的(一个或多个)视频流的共享可以基于来自用户的手动或其它输入(例如,基于选择等)。在还有其它情况下,特定于用户的(一个或多个)视频流的共享可以基于对等联网会话,其中每个用户(或对等联网会话中使用的每个客户端设备)接收特定于用户的视频流。以这种方式,用户生成的内容(例如,用户捕获的视频流和/或图像数据)可以以与本文所述相似的方式被捕获、分析和/或共享。

图10是图示根据实施例的、向例如与用户相关联的移动设备呈现上下文视频流的方法的流程图。在一些情况下,可以将(一个或多个)视频文件和/或(一个或多个)照片文件上传到媒体上传器485。媒体上传器485可以是被配置为接收和/或处理视频和/或图像文件的任何合适的设备(诸如像上面参考图1和2描述的主机设备110)。然后,主视频和/或照片文件存储在主媒体存储装置486中。主媒体存储器486可以是任何合适的存储设备。例如,主媒体存储装置486可以被包括在媒体上传器485中所包括的存储器中和/或其一部分中。在其它实施例中,主媒体存储装置486可以是数据库等(诸如像上面参考图1A和1B描述的数据库140)。

在一些情况下,可以将主视频文件从主媒体存储装置486发送到视频编码器487。视频编码器487可以是被配置为将主视频文件转换为一个或多个期望格式的任何合适的设备或设备的一部分。例如,如图10中所示,视频编码器487可以将主视频文件转换为面部识别视频和移动兼容的视频文件,其中每一个都存储在主媒体存储装置486中。一个或多个面部识别视频文件和/或照片文件的列表然后被发送到工作流指挥器(conductor)488,该工作流指挥器488可以优先化、组织和/或以其它方式控制文件随后被处理的次序,并且可以向面部检测和匹配处理器491(例如,处理器、模块、设备等等,诸如像上面参考图2描述的分析模块121)发送在发起(一个或多个)面部识别视频文件和/或(一个或多个)照片文件的处理中可操作的信号,如本文进一步详细描述的。此外,与工作流相关联的指示可以从工作流指挥器488发送到数据库493,数据库493可以存储与工作流相关联的指示并且可以将与该指示相关联的数据发送到web服务处理器494(例如,互联网网站服务提供商、处理器、模块和/或设备),如本文中进一步详细描述的。

如图10中所示,移动兼容的视频文件从主媒体存储装置486发送到视频剪辑裁剪器489,视频剪辑裁剪器489也可以接收与识别事件相关联的数据,如本文中进一步详细描述的。如本文中进一步详细描述的,主视频文件或照片文件从主媒体存储装置486发送到缩略图尺寸调整器490,缩略图尺寸调整器490也可以接收与识别事件相关联的数据。(一个或多个)面部识别视频或照片文件从主媒体存储装置486发送到面部检测和匹配处理器491,面部检测和匹配处理器491进而可以执行任何合适的面部识别处理,以定义识别事件。而且,面部检测和匹配处理器491可以根据由工作流指挥器488定义的优先级和/或次序来分析和/或处理面部识别视频和/或照片文件。

如上所述,然后可以将与识别事件相关联的数据从面部检测和匹配处理器491发送到视频剪辑裁剪器489和缩略图尺寸调整器490。视频剪辑裁剪器489可以是可以接收移动兼容的视频文件并且随后可以修剪、剪切、提取、分离和/或以其它方式定义与面部识别视频和/或照片内的用户的识别事件相关联的视频剪辑的任何合适的处理器、模块和/或设备。与用户的识别事件相关联的视频剪辑然后可以从视频剪辑裁剪器489发送到移动兼容的媒体存储装置492。缩略图尺寸调整器490可以是可以接收(一个或多个)主视频和/或照片文件并且随后可以定义一个或多个缩略图(例如,具有相对小文件尺寸的小图像,其进而可以与较大的图像和/或视频相关联和/或指示较大的图像和/或视频)的任何合适的处理器、模块和/或设备。在这个实施例中,缩略图可以与识别事件相关联和/或指示识别事件,并且可以从缩略图尺寸调整器490发送到移动兼容的媒体存储装置492。

如图10中所示,可以将视频剪辑和缩略图从移动兼容的媒体存储装置492发送到例如一个或多个移动应用和/或网站495。例如,在一些情况下,可以将视频剪辑和缩略图发送到互联网服务器等,互联网服务器等进而可以在网站等上呈现视频剪辑和缩略图。在其它情况下,可以将视频剪辑和缩略图发送到与用户相关联的客户端设备,客户端设备进而可以在显示器上呈现视频剪辑和缩略图(例如,当移动应用被打开、选择、运行等等时)。而且,与工作流(如上所述)的指示相关联的元数据(例如,用户身份、事件的身份、事件的地点、客户端设备的地点等等)可以从web服务处理器494发送到移动应用和/或网站495。以这种方式,用户的视频剪辑以及与其相关联的任何上下文和/或元数据可以经由移动应用和/或网站发送到用户和/或由用户访问。

虽然上面已经描述了各种实施例,但是应当理解的是,它们仅仅是作为示例而不是限制给出的。例如,虽然本文将实施例和方法描述为在事件等处定义用户的上下文视频流并将上下文视频流发送到客户端设备和/或以其它方式允许经由例如web浏览器和互联网访问上下文视频流,但是在其它实施例中,主机设备可以在数据库中存储与用户相关联的任意数量的上下文视频流。在一些情况下,主机设备可以被配置为定义可以包括用户的任何数量的上下文视频流的用户简档等。在一些情况下,用户可以经由移动应用、计算机应用、web浏览器和互联网等访问他或她的用户简档。而且,在一些情况下,用户可以共享或以其它方式请求主机设备与不同的用户和/或经由社交媒体站点共享用户的任何数量的上下文视频流。在一些情况下,用户可以允许访问他或她的用户简档的一部分,使得其他用户可以查看其中包括的上下文视频流。

虽然以上已经具体描述了具体的示例,但是可以以任何合适的方式使用本文描述的实施例和方法。例如,虽然上面将系统100描述为定义在体育赛事中的用户的上下文视频流,但是在其它实施例中,本文描述的方法可以用于在任何合适的设置、场地、竞技场、事件等等使用例如面部识别和视频分析来识别个人。例如,在一些实施例中,上述方法可以用于在音乐会、集会、毕业典礼、聚会、购物中心、商业场所等等捕获上下文视频流。在一个示例中,主机设备可以从例如毕业典礼接收上下文视频流。在一些情况下,如上所述,主机设备可以执行任何合适的面部识别和/或视频分析,以识别毕业生(和/或任何个人和/或用户)。而且,主机设备可以被配置为分析上下文信息(诸如与毕业生相关联的用户简档、在舞台上行走的学生的次序、与毕业生的客户端设备相关联的地点数据和/或任何其它合适的数据)。因此,主机设备可以分析数据,以验证毕业生的身份(例如,当数据满足(一个或多个)标准时)并且可以定义毕业生的上下文视频流,例如当他或她穿过舞台以接收文凭等时。在其它情况下,主机设备可以识别毕业生的家庭成员或朋友,并且可以以类似的方式定义他或她的上下文视频流。

虽然已经具体示出并描述了实施例,但是将理解的是,可以进行形式和细节上的各种改变。虽然已经将各种实施例描述为具有特定的特征和/或部件的组合,但是具有来自上面讨论的任何实施例的任何特征和/或部件的组合的其它实施例是可能的。

在上述方法和/或事件指示某些事件和/或处理以特定次序发生时,所述某些事件和/或处理的次序可以被修改。此外,在可能的时候,某些事件和/或处理可以在并行处理中同时执行,以及如上所述顺序执行。

虽然上面根据具体的实施例描述了面部识别的具体方法,但是在一些情况下,面部识别的任何方法都可以被组合、扩大、增强和/或以其它方式对面部识别数据的集合共同执行。例如,在一些情况下,面部识别的方法可以包括使用特征向量、特征脸和/或其它2-D分析以及任何合适的3-D分析(诸如像多个2-D图像的3-D重建)来分析面部识别数据。在一些情况下,2-D分析方法和3-D分析方法的使用可以例如在资源(例如,处理设备)上产生比否则的话仅3-D分析或仅2-D分析导致的更少的负荷。在一些情况下,可以经由卷积神经网络(CNN)和/或经由CNN结合任何合适的2-D分析方法和/或3-D分析方法来执行面部识别。而且,可以使用多种分析方法,例如为了冗余、错误检查、负载平衡等。在一些情况下,使用多种分析方法可以允许系统至少部分地基于其中包括的具体数据选择性地分析面部识别数据集。

虽然上面已经将实施例描述为在具体设备上和/或在设备的具体部分中执行,但是在其它实施例中,可以在任何合适的设备上执行本文描述的任何实施例和/或方法。例如,虽然上下文视频流已经被描述为被发送到主机设备(例如,主机设备110)进行面部识别和/或图像分析,但是在其它实施例中,可以在客户端设备处或在客户端设备上执行任何合适的分析。例如,在一些情况下,用户可以经由客户端设备的相机捕获视频流(例如,上下文视频流)并且,作为响应,客户端设备可以分析视频,以识别视频流中任何数量的注册用户等。在一些情况下,分析可以经由发送到客户端设备和/或存储在客户端设备上(例如,存储在存储器中并与系统应用相关联)的卷积神经网络。在一些情况下,可以基于例如用户的联系人列表、朋友列表、建立的连接等等对分析进行预处理和/或预排序,如上所述。在一些情况下,客户端设备可以向任何识别出的用户发送特定于用户的视频流,如上所述。在其它实施例中,客户端设备可以将分析后的视频流和/或特定于用户的(一个或多个)视频流上传和/或发送到主机设备110和/或数据库140。

虽然上面将视频流和/或图像数据描述为“上下文”,但是应当理解的是,视频流数据和/或图像数据可以独立于“上下文数据”和/或不与“上下文数据”相关联。例如,在一些情况下,用户可以捕获视频流和/或图像,并且可以上传视频流和/或图像进行处理,而无需定义和/或发送与视频流和/或图像数据相关联的上下文数据。在一些情况下,主机设备等(例如,主机设备110)可以接收用户生成的视频流和/或图像数据并且,作为响应,可以对数据执行一个或多个面部识别处理和/或任何其它合适的分析,以定义例如独立于上下文数据的特定于用户的视频流或特定于用户的图像。

本文描述的一些实施例涉及具有非瞬态计算机可读介质(也可以被称为非瞬态处理器可读介质)的计算机存储产品,计算机可读介质上具有用于执行各种计算机实现的操作的指令或计算机代码。计算机可读介质(或处理器可读介质)就其本身不包括瞬态传播信号(例如,在传输介质(诸如空间或电缆)上传播信息的传播电磁波)的意义上是非瞬态的。媒体和计算机代码(也可以被称为代码)可以是为一个或多个具体目的而设计和构造的那些代码。非瞬态计算机可读介质的示例包括但不限于磁存储介质(诸如硬盘、软盘和磁带);光存储介质(诸如光盘/数字视频盘(CD/DVD)、光盘只读存储器(CD-ROM)和全息设备);磁-光存储介质(诸如光学盘);载波信号处理模块;以及专门被配置为存储和执行程序代码的硬件设备(诸如专用集成电路(ASIC)、可编程逻辑器件(PLD)、只读存储器(ROM)和随机存取存储器(RAM)器件)。本文描述的其它实施例涉及计算机程序产品,其可以包括例如本文讨论的指令和/或计算机代码。

本文描述的一些实施例和/或方法可以由软件(在硬件上执行)、硬件或其组合来执行。硬件模块可以包括例如通用处理器、现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)。软件模块(在硬件上执行)可以用各种软件语言(例如,计算机代码)表述,包括C、C++、Java、Ruby、Visual BasicTM和/或其它面向对象的、过程式或其它编程语言和开发工具。计算机代码的示例包括但不限于微代码或微指令、机器指令(诸如由编译器产生的)、用于产生web服务的代码,以及包含由计算机使用解释器执行的高级指令的文件。例如,可以使用命令式编程语言(例如,C、FORTRAN等等)、函数式编程语言(Haskell、Erlang等等)、逻辑编程语言(例如,Prolog)、面向对象的编程语言(例如,Java、C++等等)或其它合适的编程语言和/或开发工具。计算机代码的其它示例包括但不限于控制信号、加密的代码和压缩的代码。

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