用于提供上下文感知和融合的方法和装置的制作方法

文档序号:7550284阅读:251来源:国知局
专利名称:用于提供上下文感知和融合的方法和装置的制作方法
技术领域
一般地,各种实现方式涉及电子通信设备技术,并且更具体地,涉及用于提供上下文感知(context sensing)和融合(fusion)的方法和装置。
背景技术
现代通信时代带来了有关有线和无线网络巨大扩张。计算机网络、电视网络、和电话网络正在经历由客户需求所激起的空前技术扩张。无线和移动网络技术已经解 决了相关的客户需求,且提供了信息传递的更多灵活性和及时性。通过扩展移动电子设备的能力,当前和未来的网络技术持续促进信息传递的便利和用户的舒适性。其中的一个领域是对于增加涉及向移动终端用户的递送服务的信息传递的便利性的需求。服务可以按照用户所期望的特定媒体或移动应用的形式,例如音乐播放器、游戏玩家、电子书、短消息、电子邮件、内容共享、网页浏览等。服务还可以按照交互式应用的形式,其中用户可对网络设备进行响应从而执行任务或实现目标。可选择地,网络设备可对用户发出的命令或请求(例如,内容搜索、映射或路由服务等)进行响应。可从网络服务器或其他网络设备提供服务,或甚至由移动终端提供服务,所述移动终端例如,移动电话、移动导航系统、移动计算机、移动电视、移动游戏系统等。通常可通过调整服务以适应移动终端的特定状况或位置来增强向移动终端用户提供各种服务的能力。因此,各种传感器被集成到在移动终端中。典型地,每个传感器收集与移动终端上下文的特定方面相关的信息,例如位置、速度、方向、等。然后,可使用来自多个传感器的信息以确定设备上下文,这些上下文可以影响提供给用户的服务。尽管具有向移动终端添加传感器的效用,但仍然可能存在一些缺陷。例如,融合来自所有传感器的数据会耗尽移动终端的资源。因此,需要改进传感器的集成方式。

发明内容
因此,提供一种方法,装置和计算机程序产品,以允许对上下文感知和融合的供应。因此,例如,可以按照更有效的方式将传感器数据融合在一起。在一些实施例中,传感器集成可进一步包括物理和虚拟传感器数据的融合。此外,在一些实施方式中,可在操作系统级别完成融合。在示例实施方式中,可经由协处理器来完成融合,所述协处理器专用于对物理传感器数据的融合进行预处理,使得于是可以更为有效地将预处理的物理传感器数据和虚拟传感器数据融合。在一个示例实施方式中,提供一种提供上下文感知和融合的方法。该方法包括接收从一个或多个物理传感器提取的物理传感器数据,接收从一个或多个虚拟传感器提取的虚拟传感器数据,以及在操作系统级别执行物理传感器数据和虚拟传感器数据的上下文融
口 ο在另一示例实施方式中,提供一种用于提供上下文感知和融合的计算机程序产品。该计算机程序产品包括至少一个计算机可读存储介质,所述计算机可读存储介质具有在其上存储的计算机可执行程序代码指令。该计算机可执行程序代码指令可包括用于以下内容的程序代码指令接收从一个或多个物理传感器提取的物理传感器数据,接收从一个或多个虚拟传感器提取的虚拟传感器数据,以及在操作系统级别执行物理传感器数据和虚拟传感器数据的上下文融合。在另一个示例实施方式中,提供一种用于提供上下文感知和融合的装置。所述装置可以包括至少一个处理器和至少一个包括计算机程序代码的存储器。所述至少一个存储器和计算机程序代码可以被配置为,利用所述至少一个处理器促使所述装置至少执行接收从一个或多个物理传感器提取的物理传感器数据,接收从一个或多个虚拟传感器提取的虚拟传感器数据,以及在操作系统级别执行物理传感器数据和虚拟传感器数据的上下文融
口 ο


因此按上述的概括性用语描述了各种实施方式,现在将参照附图,其中附图的绘制无需按比例进行,并且其中图I是可以使用示例实施方式的移动终端的示意性框图;图2是根据示例实施方式的无线通信系统的示意性框图;图3示出了根据示例实施方式的用于提供上下文感知和融合的装置的框图;图4示出了由示例实施方式提供的分布式感知过程的概念性框图;图5示出了根据示例实施方式的用于提供上下文感知和融合的实施架构;图6示出了根据示例实施方式的用于提供上下文感知和融合的替代实施架构;图7示出了根据示例实施方式的基于音频和加速度计信息的设备环境和用户活动感知的实例;图8示出了根据示例实施方式的用于传感器处理器的示例微控制器架构;以及图9是根据示例实施方式的用于提供上下文感知和融合的依据另一示例方法的流程图。
具体实施例方式现在,将参照附图在后面更加全面地描述一些实施方式,其中示出了一些但非全部实施方式。实际上,各种实施方式可以在多种不同的形式中实现,并且不应被解释成限于在此陈述的实施方式;而是提供这些实施方式使得本公开内容将满足适用的法律要求。通篇中,相同的参考数字指代相同的元件。根据实施方式,可以互换地使用此处使用的术语“数据”、“内容”、“信息”和类似术语,以指代能够被传送、接收和/或存储的数据。因此,所使用的任何此类术语并非用于限定各种实施方式的精神和范围。此外,如这里所使用的,术语‘电路’指代(a)仅硬件的电路实现方式(例如在模拟电路和/或数字电路中的实现方式);(b)电路和计算机程序产品的组合,该计算机程序产品包括存储于一个或者多个计算机可读存储器上的软件和/或固件指令,这些指令一起工作以使装置执行这里描述的一个或者多个功能;以及(C)电路(例如微处理器或者微处理器的一部分),即使软件或者固件在物理上不存在,这些电路仍然需要用于操作的软件或者固件。将‘电路’的这种定义应用于这里对这一术语的所有使用(包括在任何权利要求中)。如进一步实例,如这里所用的,术语‘电路’也包括一种实现方式,所述实现方式包括一个或者多个处理器和/或处理器的一部分以及附带软件和/或固件。如另一实例,如这里所用的,术语‘电路’也例如包括用于移动电话的基带集成电路或者应用处理器集成电路或者在服务器、蜂窝网络设备、其他网络设备和/或其他计算设备中的类似集成电路。如这里定义的“计算机可读存储介质”,指代非暂时性物理存储介质(例如,易失性或非易失性存储器设备),其可以区别于“计算机可读传输介质”,其指的是电磁信号。一些实施方式可用于更为有效地执行传感器集成(integration)。由于常规的手持设备(例如,移动终端)的板载传感器通常经由I2C/SPI (内部集成电路/串行外设接口)接口与设备的主处理器相连接,典型地,在软件驱动器层中执行来自传感器的事件的检测和原始数据的预处理。因此举例来说,使用主处理器在操作系统基础层中的低级别驱动器处通常发生用于物理传感器的数据融合。因此,典型地以主处理器为代价来执行预处理和事件检测。然而,实施方式可提供改进传感器融合的机制。例如,实施方式可以允许在操作系统级别使用物理和虚拟传感器数据这两者来进行上下文融合。此外,在一些情况中,传感器协处理器可以用于对物理传感器数据进行融合。一些实施方式还提供用于按分布式方式 执行上下文感知的机制。就这一点来说,例如,基于来自物理和虚拟传感器的输入,可确定(或感知)上下文信息。在从物理和/或虚拟传感器提取了传感器数据(其可以定义或表明上下文信息)之后,可以在同质(例如,从物理传感器和操作系统虚拟传感器导出融合上下文并且输出是经融合的上下文)或异质(例如,输入是来自低层和虚拟传感器数据的上下文信息的组合)上完成融合。因此,根据示例实施方式的在任何特定操作系统层进行融合的数据可以是与其他传感器数据进行融合的传感器数据(物理的和/或虚拟的),或者是与来自低层的上下文信息(其本身包括与其他传感器数据进行融合的传感器数据和/或来自低层的上下文信息)进行融合的传感器数据。图I是一个示例性实施方式,示出可从各种实施方式获益的移动终端10的框图。然而,应当理解的是,这里所示和下文中所述的移动终端10仅是可以从各种实施方式获益的一种设备类型的示例,并且因此不应用来限制实施方式的范围。这样的话,多种类型的移动终端(例如便携式数字助理(PDA)、移动电话、寻呼机、移动电视、游戏设备、膝上型计算机、照相机、摄像机、音频/视频播放器、收音机、定位设备(例如,全球定位系统(GPS)设备)、或上述的任意组合、和其他类型的语音和文本通信系统可容易地采用各种实施方式。移动终端10可以包括与发射器14和接收器16可操作地通信的天线12 (或多天线)。移动终端10可以进一步包括分别提供信号给发射器14和接收器16以及从发射器14和接收器16接收信号的装置,例如控制器20或其他处理设备。信号包括符合适用的蜂窝系统空中接口标准的信令信息,以及还包括用户语音、接收的数据和/或用户生成的数据。关于这一点,移动终端10能够按照一个或多个空中接口标准、通信协议、调制类型和接入类型进行操作。通过说明的方式,移动终端10能够按照多个第一、第二、第三和/或第四代通信协议等中的任何协议进行操作。例如,移动终端10可以能够根据第二代(2G)无线通信协议IS-136 (时分多址(TDMA))、GSM (全球移动通信系统)、和IS-95 (码分多址(CDMA)),或根据第三代(3G)无线通信协议,如通用移动电信系统(UMTS)、CDMA2000、宽带CDMA (WCDMA)和时分-同步CDMA (TD-SCDMA)JP 3. 9G无线通信协议,例如E-UTRAN,以及第四代(4G)无线通信协议等进行操作。可替换的(或附加的),移动终端10可以能够按照非蜂窝通信机制进行操作。例如,移动终端10可以能够在无线局域网(WLAN)或下面结合图2介绍的其他通信网络中进行通信。在一些实施方式中,控制器20可包括期望用于实现移动终端10的音频和逻辑功能的电路。例如,控制器20可以包括数字信号处理器设备、微处理器设备、以及各种模数转换器、数模转换器、和其他支撑电路。可以在这些设备之间根据它们各自的能力来分配移动终端10的控制和信号处理功能。控制器20因此还可以包括在调制和传输之前对消息和数据卷积编码和交织的功能。控制器20可以附加的包括内部声音编码器,以及可以包括内部数据调制解调器。此外,控制器20可以包括操作可存储在存储器中一个或多个软件程序的功能。例如,控制器20可以能够操作诸如常规Web浏览器连通性(connectivity)程序。连通性程序然后可以允许移动终端10根据例如无线应用协议(WAP)、超文本传输协议(HTTP)和/或类似物来传送和接收Web内容,例如基于位置的内容和/或其它Web页面内容。移动终端10还可以包括用户接口,用户接口包括诸如常规耳机或扬声器24、振铃器(ringer)22、麦克风26、显示器28的输出设备,以及用户输入接口,它们所有都可耦合到控制器20。允许移动终端10接收数据的用户输入接口可以包括允许移动终端10接收数据 的多种设备中的任何一个,诸如键盘30、触摸显不器(未不出)或其它输入设备。在包括键盘30的实施方式中,键盘30可以包括常规数字(0-9)和相关键(#,*),以及用于操作移动终端10的其它硬键和软键。可选地,键盘30可以包括常规的QWERTY键盘布置。键盘30还可以包括具有相关联的功能的各种软键。此外或者可选地,移动终端10可以包括接口设备,诸如操纵杆或者其它用户输入接口。移动终端10进一步包括电池34 (诸如振动电池组),以便向用于操作移动终端10所需要的各种电路供电,以及可选地提供机械振动作为可检测的输出。此外,移动终端10可包括一个或多个物理传感器36。物理传感器36可以是能够感知或确定特定物理参数的设备,所述特定物理参数描述移动终端10的当前上下文。例如,在一些情况中,物理传感器36可包括各自不同的发送设备,以用于确定移动终端的环境相关参数,例如速度、加速度、航向、方向、相对于起点的惯性位置、与其他设备或物体的接近程度、光线条件和/或其他类似的参数。在示例实施方式中,移动终端10可进一步包括协处理器37。协处理器37可被配置为与控制器20 —起工作以处理移动终端10的特定处理任务。在示例实施方式中,协处理器37可以被具体地赋予处理(或辅助)用于移动终端10的上下文提取和融合能力的工作,从而例如与物理传感器36向连接或控制物理传感器36和/或管理上下文信息的提取和融合。移动终端10可进一步包括用户身份模块(UH038。典型地,UM 38是具有内建处理器的存储器设备。UIM 38可以包括,例如,用户身份模块(SM)、通用集成电路卡(UICC)、通用用户身份模块(USM)、可移动用户身份模块(R-UM)等。UM 38典型地存储了涉及移动订户的信息元素。除了 ΠΜ 38,移动终端10还可装备存储器。例如,移动终端10可包括易失性存储器40,例如易失性随机存取存储器(RAM),其包括用于数据的临时存储的缓冲区域。移动终端10还可包括其他非易失性存储器42,其可以是嵌入式的和/或可拆卸的。存储器可以存储由移动终端10使用的以便实现移动终端10的功能的多条信息和数据中的任何信息和数据。例如,存储器可包括标识符,例如国际移动设备识别(IMEI)码,其能够唯一地识别移动终端10。图2是根据示例实施方式的无线通信系统的示意性框图。现在参考图2,提供对可以受益于各种实施方式的一种类型的系统的说明。如图2所示,根据示例实施方式的系统包括通信设备(例如,移动终端10),并且在一些情况中,还包括附加的通信设备,所述附加的通信设备的每一个都能够与网络50进行通信。系统的通信设备能够经由网络50与网络设备进行通信或者经由网络50彼此进行通信。在示例实施方式中,网络50包括各种不同节点、设备或功能的集合,所述节点、设备或功能能够经由相应的有线和/或无线接口彼此进行通信。因此,图2的说明应当被理解为系统的特定元件的开阔视图的实例,并且不是系统或网络50的无所不包的视图或详细视图。尽管这并非必要,在一些实施方式中,网络50能够支持符合多个第一代(1G)、第二代(2G)、2. 5G、第三代(3G)、3. 5G、3. 9G、第四代(4G)移动通信协议、长期演进(LTE)和/或其他类似通信协议中的任意一个或多个的通信。诸如移动终端10和其他通信设备的一个或多个通信终端能够经由网络50来进行 彼此通信,并且每个都可包括用于发射信号和从基础站点接收信号的天线或多个天线,该基础站点可以是例如作为一个或多个蜂窝或移动网络的一部分的基站或者是可能与数据网络相耦合的接入点,该数据网络例如是局域网(LAN),城域网(MAN),和/或广域网(WAN),例如因特网。相应地,诸如处理设备或元件(例如,个人计算机、服务器计算机等)的其他设备可以经由网络50耦接于移动终端10。通过直接或间接地将移动终端10和其他设备连接到网络50,移动终端10和其他设备能够例如根据议包括超文本传输协议(HTTP)等的多种通信协议与网络进行通信和/或彼此进行通信,从而分别执行移动终端10和其他通信设备的各种通信或其他功能。此外,尽管在图2中未示出,移动终端10可以根据例如射频(RF)、蓝牙(BT)、红外线(IR)或多个不同的有线或无线通信技术中的任一个进行通信,这些通信技术包括LAN、无线LAN (WLAN)、全球微波互联接入(1丨獻乂)、1丨?丨、超宽带(而8)、1让代6技术和/或其他类似的技术。因此,移动终端10能够通过多种不同的接入机制中的任一中与网络50和其他通信设备进行通信。例如,可以支持诸如宽带码分多址(W-CDMA)、CDMA2000、全球移动通信系统(GSM)、通用分组无线业务(GPRS)等移动接入机制,以及诸如WLAN、WiMAX等无线接入机制,以及诸如数字用户线(DSL)、线缆调制解调器、以太网等的固定接入机制。图3示出了可在移动终端10处使用以容纳或者促进示例实施方式的操作的装置的框图。现在将通过参考图3来介绍示例实施方式,其中呈现用于提供上下文感知和融合的装置的特定元件。例如,可以在移动终端10上使用图3的装置。然而,该装置可替代地在各种类型的其他设备上实现,移动的和固定的(例如,上面列出的设备中的任意一个)。此夕卜,应当注意的是,下面介绍设备或元件并非强制性的,并且因此在某些实施方式可以省略一些设备或元件。现在参照图3,提供了用于提供上下文感知和融合的装置。该装置可包括处理器70、用户接口 72、通信接口 74和存储器设备76,或者可以与处理器70、用户接口 72、通信接口 74和存储器设备76进行通信。该存储器设备76包括,例如,一个或多个易失性和/或非易失性存储器。换句话说,例如,存储设备76可以是包括门的电子存储设备(例如计算机可读存储介质),其中门被配置为存储可由机器(例如计算设备)获取的数据(例如比特)。存储设备76可被配置为存储信息,数据,应用,指令或类似物,使得装置能够根据示例实施方式执行多种功能。例如,存储设备76可以被配置为缓存处理器70所要处理的输入数据。附加的或可替换的,存储设备76可以被配置为存储处理器70执行的指令。处理器70可以按多种不同的方式体现。例如,处理器70可以体现为各种处理器件中的一个或多个,例如微处理器,控制器,数字信号处理器(DSP),具有或者没有辅助DSP的处理设备,或包括集成电路的各种其他处理设备,所述集成电路例如是ASIC(特定应用集成电路),FPGA (现场可编程门阵列),微控制单元(MCU),硬件加速器,特定用途计算机芯片,处理电路等。在示例实施方式中,处理器70可以被配置为执行存储在存储设备76中的指令或处理器70可访问的其他指令。可替换的或附加的,处理器70可以被配置为执行硬代码功能。同样的,无论是由硬件或软件方法,或其组合来配置,处理器70可以代表当被相应地配置时就能实现根据实施方式的操作的实体(例如在电路中物理地体现的)。因此,例如,当处理器70体现为ASIC,FPGA等时,处理器70可以被具体地配置为执行这里介绍的操作的硬件。可替换地,在其他实例中,当处理器70体现为软件指令的执行器时,该指令可具体 地配置所述处理器70,使得处理器70在指令执行时能够执行这里所述的算法和/或操作。然而,在一些情况下,处理器70可以是特定设备的处理器(例如移动终端10或其它通信设备),适于通过执行此处介绍的算法和/或操作的指令的处理器70的进一步配置来使用各种实施方式。处理器70可以包括尤其是被配置为支持处理器70的操作的时钟,算术逻辑单元(ALU)和逻辑门。同时,通信接口 74可以是任何器件,例如体现为硬件,软件或硬件和软件的组合的电路或设备,电路或设备被配置为网络和/或任何其他与装置通信的设备或模块接收数据,和/或将数据传输到网络和/或任何其他与装置通信的设备或模块。这样,通信接口 74可以包括,例如,天线(或多天线)并支持用于实现与无线通信网络通信的硬件和/或软件。在一些情况下,通信接口 74还可以支持或替换地支持有线通信。同样的,通信接口 74例如可以包括通信调制解调器和/或用于通过线缆,数字订户线缆(DSL),通用串行总线(USB)或其他机制支持通信的其他硬件/软件。用户接口 72可以与处理器70通信来接收用户在用户接口 72输入的指示和/或提供听觉的,视觉的,机械的或其他输出给用户。同样的,用户接口 72可以包括,例如,键盘,鼠标,游戏手柄,显示器,触摸屏,软键盘,麦克风,扬声器或其他输入/输出结构。在装置体现为服务器或一些其他网络设备的示例实施方式中,用户接口 72可以被限制或省去。然而,在装置体现为通信设备(例如,移动终端10)的实施方式中,除了其他设备或元件之夕卜,用户接口 72可以包括扬声器、麦克风、显示器和键盘等中的任何一种或全部。这样,处理器70可以例如包括被配置为控制用户接口的一个或多个元件的至少一些功能的用户接口电路,用户接口例如是,扬声器,振铃器,麦克风,显示器和/或类似物。处理器70和/或包括处理器70的用户接口电路可以被配置为通过存储在处理器70可访问的存储器(例如存储设备76和/或类似物)上的计算机程序指令(例如软件和/或固件)来控制用户接口的一个或多个元件的一个或多个功能。在示例实施方式中,装置可进一步包括传感器处理器78。传感器处理器78可以具有与处理器70的结构相似的结构(尽管也许语义和规模上有差异)并且此外可以具有类似的能力。然而,根据示例性实施方式,传感器处理器78可被配置为与一个或多个物理传感器(例如物理传感器I、物理传感器2、物理传感器3、…、物理传感器n,其中η是等于物理传感器的数量的整数)连接,所述物理传感器例如加速度计、磁力仪、接近传感器(proximitysensor)、环境光线传感器、和/或多个其他可能传感器中的任一个。在一些实施方式中,传感器处理器78可以访问存储器设备76的一部分或者访问一些其他存储器,以执行存储在其上的指令。因此,例如,传感器存储器78可被配置为经由传感器专用的固件与物理传感器连接,所述传感器专用的固件被配置为使传感器处理器78能够与每个相应的物理传感器进行通信。在一些实施方式中,传感器处理器78可被配置为从物理传感器(在一些情况中,也许将这种信息存储缓存中)提取信息,执行用于物理传感器的管理功能和传感器控制,以及执行传感器数据的预处理。在示例实施方式中,传感器处理器78还可以被配置为执行与所提取的物理传感器数据相关的传感器数据融合。然后,将经融合的物理传感器数据传送到处理器70以用于进一步处理(例如,以融合管理器80的形式,将在下面对其进行更为详细地描述)。在一些实施方式中,传感器处理器78可包括主机接口功能,用于管理处理器70和传感器处理器78之间的位于传感器处理器78末端的接口。因此,传感器处理器78能够向处理器70提供来自物理传感器的数据、与物理传感器有关的状态信息、控制信息、查询和上下文信息。在示例实施方式中,处理器70可以体现为包括或控制融合管理器80。这样的话,·在一些实施方式中,处理器70可以说促使、指示或控制归因于此处介绍的融合管理器80的各种功能的执行或出现。融合管理器80可以是根据软件、或体现为硬件或软件和硬件的组合(例如在软件控制下操作的处理器70,或体现为ASIC或FPGA的被配置为执行这里所述的操作的处理器70,或其组合)进行操作的诸如设备或电路的任意部件,由此配置所述设备或电路以执行下面所述的地缘融合管理器80的相应功能。因此,在使用软件的实施例中,执行软件的设备或电路(例如,在一个实施例中为处理器70)形成了与该部件相关联的结构。融合管理器80可被配置为与传感器处理器78 (在使用传感器处理器78的实施方式中)进行通信,以接收预处理的物理传感器数据和/或经融合的物理传感器数据。在不使用传感器处理器78的实施方式中,融合管理器80可进一步被配置为对物理传感器数据进行预处理和/或融合。在示例实施方式中,融合管理器80可被配置为连接一个或多个虚拟传感器(例如,虚拟传感器I、虚拟传感器2、…、虚拟传感器m,其中m是等于虚拟传感器的数量的整数),从而将物理传感器数据与虚拟传感器数据进行融合。虚拟传感器可包括不测量物理参数的传感器。因此,例如,虚拟传感器可监测这种虚拟参数,例如RF活动、时间、日历事件、设备状态信息、活动的简档(active profile)、闹钟、电池状态、应用数据、来自网络服务的数据、基于定时(例如,GPS定位)或其他非物理参数(例如,小区ID)测量的特定位置信息,和/或其他类似参数。虚拟传感器可实现为硬件或硬件和软件的组合,其被配置为确定与每个相应的虚拟传感器相关联相应的非物理参数数据。在一些实施方式中,可以将虚拟传感器数据与物理传感器数据的融合分类到不同的级别。例如,上下文融合可发生在特征级别,其可以在基础层、在决定层完成,这些层可对应于中间件,或者在独立应用中,其可对应于应用层。融合管理器80可以被配置为在上述层中的多个层和组合中,对上下文融合进行管理(例如,与上下文信息相关的虚拟和物理的传感器数据的融合)。因此,根据一些示例实施方式,上下文数据提取和对提取的上下文数据的融合可通过不同的实体、处理器或按分布式方式或以分层/线性方式的处理器来执行。因此,一组物理传感器可与传感器处理器78通过接口连接,该传感器处理器78被配置为管理物理传感器、预处理物理传感器数据和提取上下文数据的第一级别。在一些实施方式中,传感器处理器78可以在物理传感器数据上执行数据级别的上下文融合。传感器处理器78可以被配置为使用来自其他子系统的上下文和预处理数据并执行上下文融合,所述其他子系统可以具有一些类型的物理数据源(例如,调制解调器、RF模块、AV模块、GPS子系统等)。在一些实施方式中,可以执行上下文融合的第二级别,并且也许还有随后的级别,从而利用处理器70 (例如,经由融合管理器80)将物理传感器数据与虚拟传感器数据相融合。这样的话,融合管理器80可在装置的操作系统层中将虚拟传感器数据和物理传感器数据进行融合。由于处理器70本身是运行操作系统的处理器,在处理器70 (例如,按照融合管理器80的形式)中运行的虚拟上下文融合过程可以访问来自传感器处理器78的上下文和物理传感器数据。处理器70还可以访问具有物理数据源和虚拟传感器的其他子系统。因此,可提供分层或分布式的上下文感知过程。
图4示出了示例实施方式所提供的分布式感知过程的概念性框图。如图4所示,在处理器70的操作系统的不同层中运行的每个上下文融合过程可以为上下文添加更多的信息并且增加上下文信任指数(confidence index)。因此,通过增加上下文信任指数,可以最终生成更加可靠的上下文信息以结合向用户提供服务来使用。就这一点而言,例如,传感器处理器78可以关于物理传感器数据执行上下文感知和融合,在硬件层上下文融合的第一级别中接收所述物理传感器数据。然后,通过在对应于基础层的特征级别将物理传感器数据与一些虚拟传感器数据相融合,可以在处理器70 (例如,经由融合管理器80)发生上下文融合的第二级别。然后,通过将特征级别处融合的上下文数据与附加的虚拟传感器数据相融合,可在处理器处发生上下文融合的第三级别。上下文融合的第三级别可发生在决策层并被添加到上下文信任指数。因此,当在应用层向独立应用提供上下文信息时,可以在独立应用所使用的上下文数据中放置更高的信任。应当理解到,图4的实施例可以被扩展到任意数量的操作系统层。因此,在一些示例实施方式中,上下文融合过程可以运行在任何操作系统层中,使得多个上下文融合过程不限于图4中所示的三种。还应当了解的是,独立应用还可以执行其他的(例如第四级别)的上下文感知和融合。此外,如图4中所示的,独立应用可以访问第2级别和第3级别上下文信息。因此,独立应用能够执行涉及来自多个在前级别的上下文信息的上下文融合,或者甚至在一些实施方式中,选择性地合并来自在前级别的特定需求级别的上下文信息。图5和6示例了根据各种不同且非限制实例的不同的实施架构。因此,应当理解的是,在各个不同的示例实施方式中,所使用的实施架构可以是不同的。例如,不将音频数据与传感器处理器78相连接(在图4中凭借被提供作为传感器处理器78的输入的麦克风来示出),音频数据可替代地直接与处理器70连接,如图5所示。就这一点来说,在图5中,麦克风都和所有的物理传感器与传感器处理器78连接。然后,可在传感器处理器78中执行第I级别或数据级别的上下文提取和融合,并且作为结果的上下文数据可以被传送给处理器70 (例如,当被请求时或当发生事件改变时)。对应于Context1 (上下文J的数据因此可被定义为一组经融合的上下文数据,其中从一组由物理传感器感知的上下文数据来导出所述一组经融合的上下文数据。随后,在基础层中可能发生第2级别的上下文融合(例如,特征级别融合),其包括在第I级别上下文融合期间生成的基础上下文和来自一个或多个虚拟传感器的虚拟传感器数据,以创建具有时间戳的更为可靠的上下文信息。因此,可从Context1和虚拟传感器数据或与来自基于音频的上下文感知的上下文信息相融合的上下文的融合来形成Context2 (上下文2)。然后,中间件能够利用与虚拟传感器数据可能不同的附加虚拟传感器数据执行第3级别上下文融合,该虚拟传感器数据包含在用于第2级别上下文融合的基础层所使用的上下文融合中。这样一来,可从Context2与虚拟传感器数据或上下文信息的融合来形成Context3 (上下文3)。因此,图4与图5的不同在于,图5的示例实施方式通过处理器70执行基于音频的上下文提取,且图4示例实施方式通过传感器处理器78执行基于音频的上下文提取。这样一来,音频上下文数据的融合可能发生在基础层而不是发生在硬件层(如图4中的情况)。图6示例了不包括传感器处理器78的另一示例实施方式。在图6的实施方式中,所有的传感器(虚拟的和物理的)都连接到处理器70,并且且处理器70可在数据级别上执行第I级别融合,并且可以包括与音频上下文数据的融合。因此,对应于Context1的数据由此可被定义为一组经融合的上下文数据,其中从物理传感器所感知的一组上下文数据导出所述一组经融合的上下文数据,并且所述一组经融合的上下文数据还与音频上下文数据进行融合。可以在操作系统基础层中执行第2级别上下文提取和融合以对第I级别上下文 数据(例如,Context1)和虚拟传感器数据进行融合,从而提供第2级别上下文数据(例如,Context2X第三级别上下文处理运行于中间件之上以基于第二级别上下文数据与附加虚拟传感器数据的融合来产生第三级别上下文数据(例如,Context2X基于第2级别上下文数据与附加虚拟传感器数据的融合,可以在中间件中运行第3级别上下文过程以产生第3级别上下文数据(例如,Context3X如上所述,在一些情况中,独立应用可以执行第四级别的上下文融合,这是因为独立应用可以访问第2和第3级别上下文信息。此外,独立应用还可以与网络50 (或web服务或一起其他网络设备)进行通信,以执行应用级别上下文融合。可以理解的是,图4的实施方式可以导致处理器70的更低的负载,这是因为由传感器处理器78来提取所有物理传感器数据,由传感器处理器78完成对这种数据的预处理和融合,以及由传感器处理器78。因此,举例来说,传感器预处理、上下文提取、传感器管理、手势/事件检测、传感器振动/补偿以及第I级别上下文融合都在专用的低功率设备中执行,所述专用的低功率设备即传感器处理器78,其可实现持续的且自适应的上下文感知。现在将参照图7,出于解释且不是限制的目的来介绍具体的实施例。图7示例了根据示例实施方式的基于音频和加速度计信息的设备环境和用户活动感知的实施例。然而,可替代地使用许多其他的设备环境。如图7中所示的,可利用各种方法中的任意方法来实现音频上下文提取。在下面介绍的一个实施例中,示例了传感器处理器78可使用的一系列可能的处理操作,利用模数转换器可以对麦克风所捕获的声学信号进行数字化。可以代表数字音频信号(例如,8kHz的采样速率和16位的分辨率)。然后,可从音频信号中提取特征(例如,通过利用30ms的帧尺寸对音频信号帧进行提取和开窗(windowing),对应于8kHZ采样速率下的240个采样)。在一些情况中,相邻帧可能重叠,或者在其他情况中,可能完全没有重叠并且相邻帧之间反而还有间隙。在一个实施例中,移码(frame shift)可以是50ms。可以使用汉明窗(hammingwindow)对帧进行开窗,并且一些实施例中,可以是零填充。在零填充之后,帧长度可为256。可对信号帧进行快速傅里叶变换(FFT),并且可以计算其幅度的平方。在本实施例中,作为结果的特征向量表示了信号中各种频率分量的功率。可以完成对该向量的进一步处理,以使得表示更为简洁且更适合音频环境识别。在一个实施例中,计算Mel频率倒谱系数(MFCC, Mel Frequency Cepstrum Coefficient)。MFCC 分析包括将光谱功率值(spectralpower value)放入为均匀分布在Mel频率范围上的多个频率带宽中。在一个实施例中,可使用40个带宽。可获得带宽能量的对数,并且可以将对数的带宽能量进行离散余弦变换(DCT)计算,从而获得不相关的特征向量表示。该特征向量的维度例如可以是13。此外,一阶和二阶时间导数可能与倒谱系数轨迹相近似,并且被附加到特征向量。作为结果的特征向量的维度可以是39。同时,传感器处理器78还可执行加速度计信号的特征提取。可以对原始加速度计信号进过采样(例如,IOOHz的采样速率),并且加速度计信号可表示三个正交方向x、y、z中的加速度。在一个实施方式中,通过采用三维加速度的幅度来开始特征提取,从而得到一维信号。在另一个示例实施方式中,对加速度计信号采取在向量上投影从而获取一维信号。在其他实施方式中,受特征提取影响的加速度计信号的维度可能大于I。举例来说,可以对三维加速度计信号进行这样的处理,或者可以使用包括原始三维加速度计信号的两个不同投影的二维加速度计信号。·特征提取可以,例如,包括对加速度计信号进行开窗、对开窗的信号进行离散傅里叶变换(DFT)、以及从DFT提取特征。在一个实例中,从DFT提取的特征包括例如,一个或多个光谱功率值、功率光谱质心、或频域的熵。除了基于DFT的特征,传感器处理器78可被配置为从时域加速度计信号提取特征。这些时域特征可以包括例如,平均值、标准差、过零率、75%的百分位范围、四分位距、和/或其他类似特征。还可以对加速度计数据执行各种其他处理操作。一个实施例包括运行步进计数器以估计人的步数和步速。另一个实施例包括运行用于步长预测的算法,以用于行人航位推算。再一个实施例包括运行手势引擎,其检测一组手势,例如按特定方式移动手。还可以提取并处理与这些处理操作中的每一个相关的输入,以用于下面在一些情况中更为详细介绍的上下文融合。在传感器处理器78对音频和加速度计特征数据进行提取之后,传感器处理器78可将相应的音频特征M和加速度计特征A传递给处理器,以用于涉及虚拟传感器数据的上下文融合。根据一个示例实施方式的基础层音频处理可包括将上面从传感器处理器78提取的MFCC特征向量传送给处理器70的基础层,从而产生一组用于音频上下文识别的概率值。在一些情况中,为了减少向处理器70传送的数据速率,处理器70可以读取原始音频数据,例如,使用运行于8000kHz采样速率和16比特分辨率音频采样的单信道音频输入,以对应于8000 * 2=16000字节/秒的数据速率。当使用50毫秒的跳帧仅传送音频特征时,数据速率将变为大约1000/50 * 39 * 2=1560字节/秒(假设按16比特分辨率表示的特征)。例如,可以通过在离线训练阶段中训练用于每个音频环境的一组模型、在基础层中存储所训练的模型的参数、以及然后在在线测试阶段,利用在基础层中运行的软件,估计每个模型生成输入特征序列的似然,来实现音频上下文识别。如一个实施例,可使用高斯混合模型(GMM)。可以使用一组标记的音频数据和最大期望(EM)算法在离线训练阶段对包括分量权重、平均值和协方差矩阵的GMM参数进行训练。基础层中的音频上下文识别过程可以接收作为输入的MFCC特征向量序列,并评估具有生成的特征的每个上下文GMM的似然。可将用于环境组Ei, i=2,…,N,的似然P(MlEi)进一步传送给中间件,其中M是MFCC特征向量的序列,并且N是在系统中训练的环境的数目。在一些可选的实例中,可以在基础层中使用特征级别融合的形式。举例来说,可将由另外的传感器产生特征(例如,加速度计或照度传感器)附加到MFCC特征,并且用于生成环境Ei的概率。在一些实施方式中,传感器处理器78还可被配置为执行音频上下文识别或活动识别。例如,在音频上下文识别的实例中,可以使用具有量化参数的GMM,其能够利用查找操作按照计算效率方式来实施分类。这样做的示例好处是可以进一步减少要被传送给基础层的数据量。例如,传感器处理器可以按照固定间隔(例如,每3秒钟)来传送如环境的似然P(MlEi)0在一个示例实施方式中,在基础层对加速度计数据的处理包括以固定时间间隔(例如,每I秒钟)从传感器处理器78接收特征向量。在接收到特征向量时,基础层可对加 速度计特征向量执行分类。在一个实施方式中,可使用加速度计特征向量来执行活动分类。在一些实施例中,这可通过训练用于一组标记的加速度计数据的分类器(例如,k个最近的邻居)或任意其他分类器来实现,其中从所述标记的加速度计数据来提取特征。在一个实施方式中,分类器被训练为用于在跑步、步行、空闲/静止、公交/汽车、自行车、以及滑板等活动之间进行分类。活动分类器可以为活动组Yj产生概率Ρ(Α|Υ」),j=l,…,M。A可包括至少一个基于加速度计信号的特征向量。在k个最近邻居分类器的实例中,例如,可以将活动Yj的概率计算为来自最近邻居组(例如,5个最近邻居)之间的分类I的采样比例。在其他的实施方式中,可以应用各种其他的分类器,诸如朴素贝叶斯i Nalvebayes)、高斯混合模型、支持向量机、神经网络等。在中间件上执行的软件可从基础层接收各种假设,并可以执行决策级别融合以给出上下文的最终估计。在一个实施方式中,中间件接收基于音频特征的环境似然P(MlEi),基于加速度计数据的活动的概率Ρ(Α|Υρ,并且形成最为相似的环境和活动配对的最终假设,该配对给出了感知的假设和一个或多个虚拟传感器。在一些实施方式中,示例的虚拟传感器输入可以是时钟输入,使得在于可能的环境相关的确定中可以包括时间先验(timeprior).时间先验可表示用于环境、活动、和/或两者结合的先验似然。对时间先验进行合并的方法可以是,例如,在诺基亚公司的2010年3月9日提交的发明名称为“用于自动上下文识别的自适应基于时间的先验”专利申请PCT/IB2010/051008中介绍的方法,上述申请的内容合并在此处以作为参考。作为另一个实施例,可以讲先验信息合并到虚拟传感器形式的决策中。先验信息可以表示,例如不同活动和环境的常见的先验知识。更具体地,先验信息可以为环境Ei和活动Yj的每个组合输出概率P (TyEi)15可通过一组标记的数据来离线地估计所述概率,其中一组用户工收集包括环境和活动配对的所述标记的数据。作为另一个实施例,可以在应用层从用户收集关于常见环境和活动的信息,并将其传送给中间件。作为另一个实施例,Pji=P (Yj, Ei)的值可以进行如下选择
权利要求
1.一种方法,包括 接收从一个或多个物理传感器提取的物理传感器数据; 接收从一个或多个虚拟传感器提取的虚拟传感器数据;以及 在操作系统级别执行所述物理传感器数据和所述虚拟传感器数据的上下文融合。
2.根据权利要求I所述的方法,进一步包括,基于所述上下文融合的结果,允许对与设备相关联的上下文进行确定,所述设备与提供所述物理传感器数据和所述虚拟传感器数据的传感器进行通信。
3.根据权利要求I所述的方法,其中接收物理传感器数据包括在与一个或多个物理传感器进行通信的处理器处接收物理传感器数据,该处理器还与一个或多个虚拟传感器进行通信,以接收所述虚拟传感器数据并执行所接收的物理传感器数据与所接收的虚拟传感器数据的上下文融合。
4.根据权利要求I所述的方法,其中接收物理传感器数据包括从与一个或多个物理传感器进行通信的传感器处理器接收物理传感器数据,所述传感器处理器与处理器进行通信,所述处理器被配置为接收所述虚拟传感器数据并执行所接收的物理传感器数据与所接收的虚拟传感器数据的上下文融合。
5.根据权利要求4所述的方法,其中所述传感器处理器被配置为执行上下文融合的第一层,其中接收物理传感器数据包括接收上下文融合的第一层的结果,并且其中执行上下文融合包括执行所接收的物理传感器数据与虚拟传感器数据的上下文融合。
6.根据权利要求I所述的方法,其中在操作系统级别执行所述物理传感器数据与所述虚拟传感器数据的上下文融合包括在操作系统的第一层执行所接收的物理传感器数据与第一组虚拟传感器数据的第一级别上下文融合,并且在操作系统的第二层处执行将第一级别上下文融合的结果与第二组虚拟传感器数据的第二级别上下文融合。
7.根据权利要求I所述的方法,其中在操作系统级别执行所述物理传感器数据与所述虚拟传感器数据的上下文融合包括在硬件级别执行上下文融合、在特征级别执行上下文融合、以及在中间件中执行上下文融合。
8.根据权利要求I所述的方法,其中在操作系统级别执行所述物理传感器数据与所述虚拟传感器数据的上下文融合包括以下内容中的一个或多个在硬件级别执行上下文融合、在特征级别执行上下文融合、在中间件中执行上下文融合、以及在应用层执行上下文融口 ο
9.一种装置,包括 至少一个处理器;以及 至少一个包括计算机程序代码的存储器,所述至少一个存储器和计算机程序代码被配置为利用所述至少一个处理器促使该装置至少执行 接收从一个或多个物理传感器提取的物理传感器数据; 接收从一个或多个虚拟传感器提取的虚拟传感器数据;以及 在操作系统级别执行所述物理传感器数据与所述虚拟传感器数据的上下文融合。
10.根据权利要求9所述的装置,其中所述至少一个存储器和计算机程序代码进一步被配置为利用所述至少一个处理器促使该装置,基于所述上下文融合的结果,执行对与设备相关联的上下文进行确定,所述设备与提供所述物理传感器数据和所述虚拟传感器数据的传感器进行通信。
11.根据权利要求9所述的装置,其中所述至少一个存储器和计算机程序代码被配置为利用所述至少一个处理器促使使该装置,通过在与一个或多个物理传感器进行通信的处理器处接收物理传感器数据来接收物理传感器数据,该处理器还与一个或多个虚拟传感器进行通信,以接收所述虚拟传感器数据并执行所接收的物理传感器数据与所接收的虚拟传感器数据的上下文融合。
12.根据权利要求9所述的装置,其中所述至少一个存储器和计算机程序代码进一步被配置为利用所述至少一个处理器促使该装置,通过从与一个或多个物理传感器进行通信的传感器处理器接收物理传感器数据来接收物理传感器数据,传感器处理器与处理器进行通信,所述处理器被配置为接收所述虚拟传感器数据并执行所接收的物理传感器数据与所接收的虚拟传感器数据的上下文融合。
13.根据权利要求12所述的装置,其中,所述传感器处理器被配置为执行上下文融合的第一层,其中所述至少一个存储器和计算机程序代码进一步被配置为利用所述至少一个处理器促使该装置,接收上下文融合的第一层的结果,并且其中执行上下文融合包括执行所接收的物理传感器数据与虚拟传感器数据的上下文融合。
14.根据权利要求9所述的装置,其中所述至少一个存储器和计算机程序代码进一步被配置为利用所述至少一个处理器促使该装置通过以下内容来执行上下文融合在操作系统第一层执行所接收的物理传感器数据与第一组虚拟传感器数据的第一级别上下文融合,以及在操作系统的第二层执行将第一级别上下文融合的结果与第二组虚拟传感器数据的第二级别上下文融合。
15.根据权利要求9所述的装置,其中所述至少一个存储器和计算机程序代码进一步被配置为利用所述至少一个处理器促使该装置通过以下内容来执行上下文融合在硬件级别执行上下文融合、在特征级别执行上下文融合、以及在中间件中执行上下文融合。
16.根据权利要求9所述的装置,其中所述至少一个存储器和计算机程序代码进一步被配置为利用所述至少一个处理器促使该装置执行上下文融合,所述执行上下文融合包括以下内容中的一个或多个在硬件级别执行上下文融合、在特征级别执行上下文融合、在中间件中执行上下文融合、以及在应用层执行上下文融合。
17.根据权利要求9所述的装置,其中所述装置是移动终端,并且进一步包括用户接口电路,其被配置为促进对所述移动终端的至少一些功能的用户控制。
18.—种包括至少一个计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有在其中存储的计算机可执行程序代码部分,所述计算机可执行程序代码部分包括程序代码指令以用于 接收从一个或多个物理传感器提取的物理传感器数据; 接收从一个或多个虚拟传感器提取的虚拟传感器数据;以及 在操作系统级别执行所述物理传感器数据与所述虚拟传感器数据的上下文融合。
19.根据权利要求18所述的计算机程序产品,进一步包括程序代码指令以用于基于所述上下文融合的结果,允许对与设备相关联的上下文进行确定,所述设备与提供所述物理传感器数据和所述虚拟传感器数据的传感器进行通信。
20.根据权利要求18所述的计算机程序产品,其中用于在操作系统级别执行所述物理传感器数据与所述虚拟传感器数据的上下文融合的程序代码指令包括用于在操作系统的第一层执行所接收的物理传感器数据与第一组虚拟传感器数据的第一级别上下文融合,以及在操作系统的第二层执行将第一级别上下文融合的结果与第二组虚拟传感器数据的第二级别上下文融合的指令。
21.一种包括程序代码指令的计算机程序,所述程序代码指令用于 接收从一个或多个物理传感器提取的物理传感器数据; 接收从一个或多个虚拟传感器提取的虚拟传感器数据;以及 在操作系统级别执行所述物理传感器数据与所述虚拟传感器数据的上下文融合。
22.—种装置,包括 用于接收从一个或多个物理传感器提取的物理传感器数据的部件; 用于接收从一个或多个虚拟传感器提取的虚拟传感器数据的部件;以及用于在操作系统级别执行所述物理传感器数据与所述虚拟传感器数据的上下文融合的部件。
全文摘要
一种用于提供上下文感知与融合的方法,可包括接收从一个或多个物理传感器提取的物理传感器数据,接收从一个或多个虚拟传感器提取的虚拟传感器数据,以及在操作系统级别执行物理传感器数据和虚拟传感器数据的上下文融合。还提供了相应的计算机程序产品和装置。
文档编号H04M1/725GK102893589SQ201080066754
公开日2013年1月23日 申请日期2010年5月13日 优先权日2010年5月13日
发明者R·安迪亚潘, A·埃罗宁, J·A·莱佩宁 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1