本发明一般涉及数据处理和分析领域,更具体地,涉及在观看设备屏幕时检测不正确的姿势并通知该不正确姿势的用户,以持续保护该用户的视力。
移动电子设备正变得越来越普遍。移动电子设备可以例如是智能手机、平板电脑、PSP和任何其中包含显著的电子屏幕的设备。由于这些移动电子设备是不固定的,用户可以将该设备放置在他们选择的任何观看位置。这些移动电子设备的用户可以包括成人,学生,青少年和儿童。所有年龄的用户在移动电子设备上观看内容所花费的时间正在增加。
虽然移动电子设备对于搜索和/或观看内容是有益且方便的,然而花费过多的时间观看电子屏幕可能会对用户的视力有害,特别是儿童(即,18岁以下),因为与成人比起来他们的视力可能还发育未完善,并且他们可能不会像成年人一样有意识地应用正确的观看姿势。有些姿势,如躺着(即观看设备的不合适的角度)或设备的屏幕与用户的脸过于接近,可能会对使用者的视力危害更大,导致例如,眼疲劳和/或近视。
在观看电子设备时随时管理用户的姿势常常是不可行的,尤其对一个成年人监管孩子的观看姿势。存在自动管理设备用户的观看姿势的需求,其中包括监测从设备屏幕的距离,以及用户观看设备屏幕的观看角度。
技术实现要素:
根据本发明的一个实施例,提供了一种管理观看姿势的方法。该方法包括,由前置摄像头基于眼睛的属性集合识别设备用户的眼睛,并且计算设备用户的眼睛和设备屏幕之间的距离。方法进一步包括确定设备用户的眼睛和设备屏幕之间的距离是否低于阈值,其中阈值是基于使用的设备类型预先定义的距离。方法进一步包括响应于确定设备用户的眼睛和设备屏幕之间的距离低于阈值,向设备用户发送警告。
根据本发明的另一个实施例,提供了一种管理观看姿势的方法。该方法包括,从设备的嵌入式传感器接收用于细述设备相对于一个有利地点的角度的信息。方法进一步包括确定是否设备相对于一个有利地点的角度大于0度小于90度,并且响应于确定设备相对于有利地点的角度大于或者等于0度小于90度,向设备用户发送指示。
本发明的另一个实施例提供了一种基于以上描述的方法的管理观看姿势的计算机程序产品。
本发明的另一个实施例提供了一种基于以上描述的方法的管理观看姿势的计算机系统。
本发明可能具有的优点是当用户观看设备时,不需要不断地意识到其观看姿势。由于设备不断地监测从用户的眼睛到设备的距离,以及设备相对于地平线的角度,当用户使用了可能有害的观看姿势时,其可以被实时通知。本发明的多个实施例可能还有额外的优点包括因为本发明的实施例使用计算设备的嵌入式部件来监视和计算用户的观看姿势,因此不需要其他额外的部件来管理用户的观看姿势。由于本发明的多个实施例提供了对设备用户的姿势的反馈,以及对如何调整不正确的观看姿势的指示,因此本发明的多个实施例可以进一步具有的优点是更好地保护使用该设备的可能视力发育未完善的儿童,可以减小父母对孩子的监督工作。
附图说明
图1示出了根据本发明的一个实施例的用于说明计算设备的框图;
图2A示出了根据本发明的一个实施例的用于解释用于检测用户正在过近地观看显示器的操作步骤的流程图;
图2B示出了根据本发明的一个实施例的用于解释用于检测用户躺着的时候观看显示器的操作步骤的流程图;
图3示出了根据本发明的一个实施例的用于解释用于提供反馈以调整用户的观看姿势的操作步骤的流程图;
图4A示出了根据本发明的一个实施例的用户正在观看用于计算用户的眼睛和设备的摄像头之间的距离的设备的例子;
图4B示出了根据本发明的一个实施例的用于确定用户的观看视角的传感器坐标的例子;
图5A和5B示出了根据本发明的一个实施例的不同的用户观看视角的例子;
图6A和6B示出了根据本发明的一个实施例的当使用不正确的观看姿势观看设备时,显示给用户的提示的例子;以及
图7示出了根据本发明的一个实施例的计算设备的组件的框图。
具体实施方式
本发明的多个实施例提供了一种实时监视用户观看姿势相关的数据的系统和方法。本发明的多个实施例提供了一种检测用户观看姿势的系统和方法,包括观看移动电子设备屏幕的距离和角度,以及当用户正处于可能有害的观看姿势时,提示用户如何调整其观看姿势到一个少害的姿势。由于移动电子设备不是固定的,用户可以将设备放置在任何的观看位置,而且对用户来说可能很难时刻注意其是否正使用一个正确的姿势观看设备。
本发明的多个实施例可能具有的优点是用户不需要监视他们自己的观看姿势,因为用户的观看姿势会被不断地监视。当用户采用了不正确的观看姿势时,会被自动地通知,因此帮助避免可能伤害成人(例如视疲劳或者近视)以及未成年人(即低于18岁的用户,其视力可能仍在发育中)的视力的观看姿势。本发明的多个实施例利用现有的、嵌入式电子设备技术,如嵌入式前置摄像头和嵌入式传感器,此外,还利用本发明操作的移动电子设备的计算能力。可以使用发射红外线并测量设备摄像头和用户的眼睛之间距离的嵌入式前置摄像头得到观看距离的更精确地计算(即误差值小于5毫米),而不是设备摄像头和瞳孔间的距离(即,与两眼的瞳孔的中心之间的距离),设备摄像头和瞳孔间的距离不同的用户在距离值上不同,会导致较小的误差。
本发明的多个实施例还具有节省父母在管理其孩子姿势方面的监督工作的优点。当孩子正在使用和观看设备屏幕时,由于系统能够自动监测孩子的不正确观看姿势,并且发送关于如何调整其观看姿势到一个少害的姿势的通知(例如,将设备的屏幕离用户的眼睛远点或者调整用户观看设备的角度)。孩子不可能像成人一样自觉地使用正确的观看姿势,因此,本发明的多个实施例在管理观看设备屏幕的孩子的姿势方面帮助成人的监督工作。
现在将参考附图,详细描述本发明。图1示出了根据本发明的一个实施例的用于说明计算设备的框图,通常表示为100。在不偏离本发明的如权利要求所述的宗旨的情况下,本领域技术人员可以对计算设备100做任何修改。在示例性的实施例中,计算设备100包括用户接口(UI)102、反馈模块104、姿势检测程序106、摄像头108、以及传感器110。
在本发明的多个实施例中,计算设备100可以是便携式计算机、平板计算机、上网本、个人计算机(PC)、桌面计算机、数字个人助理(PDA)、智能电话、瘦客户端、可穿戴设备或者任何能够执行计算机可读程序指令的可编程移动电子设备。如参考图7进一步详细说明或者描述的那样,计算设备100可以包括内部或者外部的硬件组件。
例如,UI102可以是图形用户接口(GUI)或者Web用户接口(WUI),并且可以显示文本、文档、Web浏览器窗口、用户选项、通知、应用程序接口、操作指令;并且包括程序展示给用户的信息(如图形、文本和声音)以及用户使用的控制程序的控制序列。UI102能够接收数据、用户命令以及来自用户的数据输入修改。UI102还能够与姿势检测程序106、反馈模块104、摄像头108、和/或传感器110通信,并且基于从姿势检测程序106、反馈模块104、摄像头108、和/或传感器110得到的数据显示通知。在某些实施例中,UI102可以与反馈模块104和/或姿势检测程序106集成在一起。
反馈模块104是一个响应于用于检测用户的不正确的观看姿势的姿势检测程序106收集到数据,对用户生成反馈的部件。在这个示例性实施例中,反馈模块104将反馈以写消息的形式发送到UI102。在另一个实施例中,反馈模块104可以响应于检测到用户的不正确的观看姿势生成任何类型的反馈,包括触觉反馈、视觉反馈以及听觉反馈。在某些实施例中,反馈模块104与UI102集成在一起。
在这个示例性实施例中,姿势检测程序106与摄像头108和传感器110通信,来接收关于角度、距离和/或计算设备100运动的数据。姿势检测程序106能够基于收集到的数据,确定是否用户处于一个正确的观看姿势(即,预定的安全距离以及观看角度),并且如果用户没有处于正确的观看姿势,姿势检测程序106能够通过反馈模块给用户发送通知。
摄像头108可以是现有技术已知的任何计算设备的摄像头。在这个示例性实施例中,摄像头108是嵌入在计算设备100中并且能够发出红外线。在其它实施例中,摄像头108可以是与计算设备100分离的单独部件,并且可以通过有线或者无线连接与计算设备100通信。摄像头108能够基于预定义的眼睛特征识别用户的眼睛,并且能够将用户的眼睛和摄像头之间的距离通信给姿势检测程序106。
在这个示例性实施例中,传感器110可以是任何传感器或者传感器的组合,例如,包括重力传感器、方向传感器、加速度计以及磁场传感器。传感器110能够收集数据,例如计算设备的方向和/或位置信息,并且将收集到的数据发送给姿势检测程序106。
图2A示出了根据本发明的一个实施例的用于解释用于检测用户正在过近地观看设备屏幕的姿势检测程序106的操作步骤的流程图200。
在步骤202,姿势检测程序106接收观看距离阈值。在这个示例性实施例中,计算设备100的生产商发送对特定计算设备的、从科学研究结果中确定的观看距离阈值。在其它实施例中,观看距离阈值可以包括在计算设备100中。在某些实施例中,观看距离阈值可以是不同的,取决于计算设备(即,对特定的智能电话有一个距离阈值,并且对特定的平板设备有不同的距离阈值)。
在步骤204,摄像头,如计算设备100的摄像头108,识别用户眼睛。在这个示例性实施例中,当计算设备100打开时,嵌入式前置摄像头108基于预定义的眼睛属性的集合识别用户的眼睛。例如,定义用户眼睛的属性可以是:对单个眼睛,轮廓是橄榄形的,中间有一个圆状物,其占该区域的30%-50%。双眼总是轴对称的,因为当用户观看设备时,他们的脸通常是与屏幕平行。每个眼睛的中心部分是有颜色的,如黑色、棕色、绿色、蓝色或者琥珀色,而眼睛的其它部分是白色的。在其它实施例中,用户的眼睛可以使用任何属性集合定义,包括特定的眼睛颜色和眼睛尺寸(即儿童的眼睛可以比成人的眼睛尺寸小)。
在步骤206,姿势检测程序106计算识别的用户的眼睛和设备的屏幕之间的观看距离。在这个示例性实施例中,摄像头108能够发射用于测量用户的眼睛和设备的屏幕之间的距离的红外线(即观看距离)。通过将观看距离的终点算为为用户的眼睛,误差值小于5毫米。为了计算观看距离,获得从摄像头108到中心水平线的距离(设备生产商能够设置为常数值)以及用户的眼睛和摄像头108之间的距离。使用上述两个获得的值就能够计算用户的眼睛和屏幕之间的距离(即观看距离)(以下参考图4A详细描述)。
在步骤208,姿势检测程序106确定是否观看距离在接收的观看距离阈值之下。姿势检测程序106持续接收和监视用户的观看距离。在这个示例性实施例中,当姿势检测程序106确定用户的眼睛和设备屏幕之间的测量距离小于从生产商接收的观看距离阈值时(即用户距离设备屏幕太近),观看距离在接收的观看距离阈值之下。
如果,在步骤208,姿势检测程序106确定观看距离在接收的观看距离阈值之下,指示用户距离设备屏幕太近,则在步骤210,姿势检测程序106激活反馈模块104(在图3中描述)。
如果,在步骤208,姿势检测程序106确定观看距离不在接收的观看距离阈值之下,则姿势检测程序106继续计算和监视从用户的眼睛到设备的距离(即步骤206)。
图2B示出了根据本发明的一个实施例的用于解释用于检测用户在躺着的时候观看显示器的姿势检测程序106的操作步骤的流程图220。
在步骤222,姿势检测程序106从传感器110接收角度数据。在这个示例性实施例中,当屏幕开启时,嵌入式传感器110持续地测量计算设备110相对于水平线的角度。在某些实施例中,应用程序开发人员可以使用操作系统供应商提供的应用程序接口检测该设备的运动,使得应用程序处于可控的运动中,例如,应用程序开发人员能够为不同的品牌和产品设计运动控制的应用程序。
在步骤224,姿势检测程序106确定是否计算设备相对于水平线的角度为锐角。如果角度小于90度(即小于直角),相对于水平线的角度为锐角。在这个示例性实施例中,小于90度的角指示用户观看计算设备100时正在躺着。在另一个实施例中,可以使用可预定为不安全的观看角度的任何角度作为计算设备100相对于水平线的角度阈值。
如果在步骤224,姿势检测程序106确定计算设备100相对于水平线的角度为锐角,那么在步骤226,姿势检测程序106激活反馈模块104(在图3中描述)。
如果在步骤224,姿势检测程序确定计算设备100相对于水平线的角度不为锐角(即角度大于90度),那么姿势检测程序106通过分析从传感器110接收到的角度数据,持续监视角度。在这个示例性实施例中,不是锐角的角度指示用户正在以安全的观看角度观看计算设备100。
图3示出了根据本发明的一个实施例的用于解释用于提供反馈以调整用户的观看姿势的操作步骤的流程图300。
在步骤302,姿势检测程序106检测到反馈模块104被激活的指示(即从图2A的步骤210或图2B的步骤226)。
在步骤304,反馈模块104在屏幕内容之上显示提示。在这个示例性实施例中,计算设备100的操作系统(OS)暂停运行在设备上的应用程序和内容,并且当在设备屏幕上显示提示时,设备屏幕上的内容变模糊。可以在屏幕上显示指示不正确的姿势的提示以及如何改正不正确的姿势,如“你离屏幕太近了;请将屏幕离你远点”或者“检测到你正在躺着观看,请做起来保护你的眼睛”。在其它的实施例中,有“超时”时段,即操作系统可以将设备内容暂停一个预定义的时间,直到用户改变其观看位置。
在步骤306,姿势检测程序106检测到用户对计算设备100的调整。在这个示例性实施例中,接收到显示在屏幕上的提示后,用户可以调整其姿势。例如,如果姿势检测程序106指示锐角,用户可以坐起来了而不再躺着;如果姿势检测程序106指示用户离设备太近用户可以增加了观看距离。检测到用户调整后,计算设备100的操作系统恢复先前的操作(例如,如果提示显示前正在显示视频,视频恢复显示)。在另一个实施例中,响应于用户的姿势,操作系统恢复先前操作。例如,响应于用户解除提示的姿势,如在触摸设备的屏幕轻拍,操作系统可以恢复操作。
图4A示出了根据本发明的一个实施例的用户正在观看用于计算用户的眼睛和嵌入式设备的摄像头之间的距离的设备的例子。
为了计算观看距离408,需要长度410(即从嵌入式前端摄像头108到中心水平线的距离,该中心水平线是设备的中心)。长度410是常数值,可以由特定的计算设备的生产商得到或设置。还需要用户的眼睛402和计算设备404的摄像头108之间的距离406。这个值可以由聚焦到识别的用户的眼睛的嵌入式前端摄像头108来获得。在这个示例性实施例中,嵌入式前端摄像头108能发射用于测量用户观看距离408的红外线。红外线用于测量在“自动聚焦”模式下从聚焦的物体(即,用户的眼睛)到摄像头之间距离。这可以从公式1列举的高斯(Gaussian)公式的光学原理推导出来。
在这个公式1中,f是焦距,u从镜头到目标的距离,并且v镜头到像的距离。应用公式1得到f和u的值后,为了产生高质量的像,摄像头108可以确定从镜头到像的距离应该是多少(v),并且能够相应作调整。
用户的眼睛402和计算设备404的屏幕之间的观看距离408可以使用公式2列举的勾股定理得到:
在这个公式2中,Ds表示观看距离408,Dc表示用户的眼睛402和摄像头108之间的距离406,以及L表示长度410。通过使用已经集成到计算设备404的部件(例如,嵌入式前端摄像头)和已知的光学原理(即如上描述的公式1和公式2),这个理论可以被用于获得观看距离408(即,摄像头和用户的眼睛402之间的距离)。
图4B示出了根据本发明的一个实施例的用于确定用户的观看视角的传感器坐标的例子。
为了确定用户的观看位置(即如果用户正在躺着),使用由嵌入式前端摄像头提供的应用程序编程接口。在描述的例子中,设备452包含基于软件的方位传感器(未示出),从加速度计和地磁场传感器得到数据。方向传感器可以用于监视设备相对于地球的参照系(即北磁极)的位置。进一步地,某些命令(例如Android平台上的getOrientation()命令)能够基于旋转矩阵计算设备452的方向。当其返回时,例如,阵列的值可以被填充为下列结果:值[0]:方位,绕Z轴旋转度;值[1]:俯仰,绕X轴的旋转度;值[2]:旋转,绕Y轴旋转度,其中参考坐标系为如下:Xd(即X轴456)被定义为y.z的矢量积(其在设备的当前位置与地面相切,并且大致指向西向);Yd(即,Y轴454)在设备的当前位置与地面相切,并且指向磁北极;和Zd(即,Z轴458)指向地球的中心并垂直于地面。
在这个例子中,因为x-y平面平行于地面(即,地平线),绕X轴456或Y轴454的旋转是相关的。绕Z轴458的旋转在这一计算中是不相关的,因为在这个平面的运动不会改变设备对地面的角度。例如,如果设备452屏幕朝上躺在平坦的表面上,X轴456等于–X,Y轴454等于Y,Z轴458等于–Z。在这个例子,设备452对X轴和Y轴的角度都是零。当设备452开始在Y方向454绕X轴456与Z轴458旋转时,旋转角度是正的。当设备452开始在–Y方向绕X轴456和Z轴458旋转时,旋转角度为负。如果发现旋转角度在(-180°~90°)及(90°~180°)范围内,则该屏幕在向下的方向上,这意味着相对地面的角度是锐角(小于90°)。对绕Y轴454旋转可得到相同的角度范围,在这种情况下,屏幕也是向下的,并且与地面的角度是锐角(进一步在图5A和5B解释)。
在其它实施例中,设备可以使用iOS,在这种情况下,提供核心运动框架,根据该核心运动框架,CMDeviceMotion的实例概括了设备属性的测量。CMAttitude类的实例表示在一个时间点的设备属性的测量。设备属性指主体相对于指定的参照系的方向(即设备相对于如水平线或者地面的参考点的方向)。可以使用如上所述的类似的算法来获得设备相对于地面的角度。
图5A和5B示出了根据本发明的一个实施例的不同的用户观看视角的例子。
图5A描述了以相对于地面506成锐角508的角度观看设备504的用户502。在这个例子中,使用图2B和4B描述的方法,姿势检测程序506能够检测到用户502正在以小于90度的角度(即,显示屏幕向下)观看设备,因此,正在躺着观看,其被认为是不正确/不安全的观看姿势。
图5B描述了以相对于地面506成钝角510的角度(即大于90度)观看设备504的用户502。在这个例子中,使用图2B和4B描述的方法,姿势检测程序506能够检测到用户502正在以大于90度的角度的角度观看设备,因此,正在以正确的观看姿势观看。
图6A和6B示出了根据本发明的一个实施例的当使用不正确的观看姿势观看设备时,显示给用户的提示的例子。
图6A描述了由用户正常使用的设备602显示应用604的例子。图6B描述了姿势检测程序506检测到用户的不正确的观看姿势后(例如,离设备太近观看或者躺着观看),设备602的例子。在这个示例性实施例中,设备的操作系统使得应用程序604暂停(即,变得暂时禁用)并且在设备602的屏幕上显示提示606。提示606可以包含更具体的信息,例如“你离屏幕太近了;请将屏幕离你远点”或者“检测到你正在躺着观看,请做起来保护你的眼睛”,取决于检测到的用户的不正确地观看姿势。设备602向正在使用不正确的观看姿势的用户显示这两个提示,以及用户如何才能调整期观看姿势到安全的姿势的提示(例如,将设备移动得力眼睛远点,或者做起来不再躺着观看设备)。在这个示例性实施例中,姿势检测程序106检测到用户已经调整其姿势后,用户能够继续观看设备上的内容。在其它实施例中,用户可以轻敲提示,或者执行另外一个指示其已经看见提示的姿势,或者调整其姿势。在又一个实施例中,提示可以显示某个时间段(例如,10秒),然后消失并允许操作系统恢复应用程序。
图7是根据本发明的一个实施例的一个计算设备的内部和外部组件的框图,一般指定为700,其为图1的计算设备的代表。应该知道的是,图7只提供了一种实现的说明,并且对于可以实现不同的实施例的环境没有隐含任何限制。可以对所描述的环境进行许多修改。
计算设备700包括通信结构708,其提供了计算机处理器702,内存704,高速缓存器706,持久存储器710,通信单元714,和输入/输出(I/O)接口712之间的通信。通信结构708可以使用设计用于在处理器(如微处理器,通信和网络处理器等)、系统存储器、外围设备、和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构708可以使用一个或多个总线实现。
存储器704和永久性存储器710是计算机可读存储介质。在这个实施例中,存储器704包括随机存取存储器(RAM)。通常,存储器704可以包括任何合适的易失性或非易失性的计算机可读存储介质。高速缓存器706是一个通过持有内存704最近访问的数据,和靠近最近访问的数据的数据,提高了处理器702的性能的快速存储器。
用于实现本发明的实施例的程序指令和数据可存储在永久存储器710和内存704中,用于通过高速缓存706由一个或多个相应的处理器702执行。在一个实施例中,永久存储器710包括磁盘驱动器。可替换地,或除了磁盘驱动器,永久存储器710可以包括固态硬盘,半导体存储器,只读存储器(ROM)、可擦除可编程只读存储器(EPROM),闪存,或任何其他的能够存储程序指令或数字信息的计算机可读存储介质。
由永久存储器710所使用的介质也可能是可移动的。例如,可移动硬盘驱动器可用于永久存储器710。其它的例子包括光盘和磁盘,拇指驱动器和插入到驱动器内的智能卡,用于转移到也是持久性存储710的一部分的另一个计算机可读的存储介质。
在这些例子中,通信单元714提供用于与其他数据处理系统或设备的通信,包括网络的资源。在这些示例中,通信单元714包括一个或多个网络接口卡。通信单元714通过使用物理和无线通信链路的任一或两者可以提供通信,用于将本发明的实施例的程序指令和数据通过通信单元714下载到持久存储710。
I/O接口712允许使用连接到计算设备700的其它设备输入和输出数据。例如,I/O接口712可以提供到外部设备716,如键盘、小键盘,触摸屏,和/或其他一些合适的输入设备的连接。外部设备716可以包括便携式计算机可读存储介质如,例如,拇指驱动器,便携式光盘或磁盘,存储卡。用于实现本发明的实施例的软件和数据(例如,软件和数据)可以存储在便携式计算机可读的存储介质,并且可以通过I/O接口712加载到永久性存储器710上。I/O接口712还连接到显示器718。
显示器718提供了一种向用户显示数据的机制,可以是例如,计算机监视器或电视屏幕。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。