首页 / 专利库 / 空中管制 / 许可 / 多指针间接输入设备的显示映射模式

指针间接输入设备的显示映射模式

阅读:407发布:2023-12-28

专利汇可以提供指针间接输入设备的显示映射模式专利检索,专利查询,专利分析的服务。并且例如但不限于触摸 传感器 的间接交互输入设备可以提供多个输入点,例如其中用户正在触摸传感器的坐标空间中的两个或更多个 位置 。这些多个点继而被映射到诸如显示器之类的输出设备上的多个位置。所述映射可以是相对映射或绝对映射。通过相对映射,针对单个和多个显示的边界条件被应用,并且如果适当的话,将矫正偏移添加到输入点以维护期望的用户交互模型。,下面是指针间接输入设备的显示映射模式专利的具体信息内容。

1.一种用于多指针间接输入设备的显示映射的计算机实施的方法,包括:
将描述来自多指针间接输入设备的输入点的信息接收到存储器中;
将所述输入点映射到显示器的显示坐标空间中的坐标;
定义包含输入点的边界框;
将所述边界框的与所述显示器的可视范围进行比较,并且确定一个或者多个映射输入点的坐标是否位于显示器的可视区域内;
响应于确定映射输入点的坐标没有位于显示器的可视区域内;
如果所述边界框的角中的至少一个依然在显示器的可视区域内,则所述映射被保持;
否则,将边界框的至少一点移到显示器的可视范围内的矫正偏移被确定;
确定距离所包含的角最近的输入的偏移并且应用于矫正偏移,将更新的矫正偏移应用到所述点以便将它们重新映射到显示器的可视区域内的新位置;和在显示器上以更新的映射输入点的坐标显示对应于输入点的输出点。
2.根据权利要求1的计算机实施的方法,其中映射还包括:
在设备坐标空间中选择输入定位器;以及
将所述输入定位器映射到显示坐标空间中的输出定位器。
3.根据权利要求2的计算机实施的方法,还包括根据所述输出定位器确定在显示坐标中表示设备坐标空间的检视区的大小和位置。
4.根据权利要求3的计算机实施的方法,其中选择输入定位器包括将第一个到达的输入点选为输入定位器。
5.根据权利要求1的计算机实施的方法,包括:
接收选择的映射选项的指示,所述选择的映射选项是从至少相对映射和绝对映射中选择的;
其中根据所述选择的映射选项执行将所述输入点映射到输出设备的显示坐标空间中的坐标。
6.根据权利要求5的计算机实施的方法,其中所述选择的映射为相对映射。

说明书全文

指针间接输入设备的显示映射模式

背景技术

[0001] 用于计算系统的导航和空间控制的人工输入设备对计算机系统性能和用户的整体体验具有重要的影响。存在多种人工输入设备。对于个人计算机最常见的人工输入设备包括诸如鼠标或触控板之类的单指针间接交互设备以及诸如触摸屏之类的直接交互设备。
[0002] 单指针间接交互设备传感器检测与传感器的用户交互并将此交互映射到显示器上的位置。一种将输入点映射到显示器的方法牵涉到传感器范围到显示器范围的一对一映射,这称为绝对映射。采用绝对映射的设备的例子是手写笔和触摸数字转化器。另一方法牵涉到将设备传感器坐标映射到显示器的活动子部分,这称为相对映射。
[0003] 采用相对映射的设备例子是鼠标和诸如触控板之类的模拟鼠标的设备。鼠标感应移动,所述移动根据感应的与设备的交互将假设的起始位置位移一段距离。触控板通常以类似于鼠标的方式使用。感应触控板上的接触的动作,所感应动作的以与鼠标输入类似的方式对待。
[0004] 直接交互设备允许与在外观上和显示器一致的设备进行交互。直接交互设备使用绝对映射在触摸感应表面上的位置和相同大小的显示器上的位置之间进行映射。例如,当用户触摸触摸屏上的一点时,输入事件将在对应于用户触摸的显示器上的点的位置处的用户界面中触发应用响应,例如命令驱动。
[0005] 从多指针输入设备的空间输入到显示器的绝对和相对映射具有选择性的优点和缺点,具体取决于输入和显示设备的物理属性、系统的性能、应用用户界面的特性和布局、用户正在执行的任务类型以及各种人体工学因素。发明内容
[0006] 本发明内容被提供来以简化的形式介绍概念的选择,这些概念在下面的具体实施方式中进一步描述。本发明内容既不打算识别所要求保护的主题的关键特征或必要特征,也不打算被使用来限制所要求保护主题的范围。
[0007] 间接交互输入设备可以具有一个或多个输入传感器,其中每个传感器可以检测和提供多个输入点。各种各样的多点输入感应技术在本领域中是公知的,包括但不限于电容、电阻和基于压的触摸传感器、光传感器和动作视频骨骼跟踪系统。在映射传感器输入点中应用到诸如显示器之类的输出的计算与传感器定义输入点(并非二维坐标空间中的离散位置)的方式以及输入点被感应方式无关。例如,触摸感应传感器可以提供指示其中用户正在触摸传感器的坐标空间中的两个或更多个位置的数据。这样的传感器的形状可以是矩形,但是也可以具有其他形状。所述传感器的外观可以类似于触控板,但是,不是跟踪单点动作,而是它检测用户触摸的多个点。这些多个点继而被映射到诸如显示器之类的输出设备上的多个位置。
[0008] 来自间接传感器的多个点到显示器上的点的相对映射和绝对映射很重要。例如,通过多点相对映射,可以牵涉更多计算来确定和管理传感器上的多个点将被映射到的显示器的适当的检视区(viewport)或子部分。要做的其他设计决策包括单个或多个显示器的边界条件。作为另一例子,将小型传感器上物理接近的多个输入点绝对映射到非常大的显示器表面可能导致显示器上的对应位置相隔非常远。
[0009] 因此,在一个方面,计算机实施的过程包括将描述多指针间接输入设备上的输入点的信息接收到存储器中。所述输入点被映射到显示器的显示坐标空间中的位置。如果一个或多个映射的输入点位于显示器的可视区域之外,则边界条件被应用来矫正映射。
[0010] 一种计算机实施的过程包括将描述来自多指针间接输入设备的输入点的信息接收到存储器中。所选择的映射选项的指示被接收,所述所选择的映射选项是从至少相对映射和绝对映射中选择的。所述输入点按照所选择的映射选项被映射到输出设备的显示坐标空间中的位置。映射模式可以针对显示坐标空间的每个轴被独立地选择。
[0011] 在下面的描述中, 参考构成本文一部分的附图,所述附图作为说明示出本技术的特定的示例性实施方案。应当理解,在不偏离本公开范围的情况下,可以使用其他实施例并且可以做出结构性改变。

附图说明

[0012] 图1是使用多指针间接输入设备的系统的框图
[0013] 图2是示出检视区布置的示例性实施方案的流程图
[0014] 图3是示出输入映射的示例性实施方案的流程图。
[0015] 图4是示出输入映射的另一示例性实施方案的流程图。
[0016] 图5是示出输入加速的示例性实施方案的流程图。
[0017] 图6是示出范围调整的示例性实施方案的流程图。
[0018] 图7是其中可以实施此类系统的示例性计算设备的框图。

具体实施方式

[0019] 下面的部分提供了其中可以使用多指针间接输入设备的示例性操作环境。
[0020] 参考图1,计算机系统100包括多指针间接输入设备102,所述设备具有连接到计算机平台104(下面描述其例子的详细信息)的传感器。这样的计算机系统可以是个人计算机、家庭娱乐系统、投影仪、kiosk应用、紧凑型个人电子设备等。所述计算机平台具有管理一个或多个应用108和计算机平台104的资源(例如其周边设备,包括多指针间接输入设备)之间的交互的操作系统
[0021] 在所述操作系统中,从多指针间接输入设备102的传感器接收描述多个感应输入点110的数据。这些输入点被处理以便将它们映射到显示器120上的点。
[0022] 该映射过程牵涉到确定设备坐标系到显示坐标系的初始映射,所述映射可以是相对映射或绝对映射,以及然后确定设备坐标系中的每个点到显示坐标系的映射。这样的初始映射在每个输入会话开始时发生。
[0023] 输入会话从传感器检测到第一个输入的时间点开始,到从传感器删除最后一个输入的时间点结束。 在输入会话期间,输入点可能移动。所述输入点从它们位于传感器坐标系的新位置映射到显示坐标系中对应的新位置。该移动映射可以考虑诸如边界和加速之类的问题。
[0024] 如图1所示,多个点110在所述输入会话开始时被输入到检视区选择模130。所述检视区选择模块提供显示坐标系中的检视区大小和位置132作为其输出。所述检视区在显示坐标空间中定义传感器坐标空间被映射到的区域。在其中多个设备传感器连接到系统的配置中,每个传感器具有自己的检视区。所述检视区可以具有与输入设备传感器的形状对应的形状。然而在某些实施方案中,所述检视区可能具有不同于传感器的高宽比或方位,甚至不同的形状。例如,椭圆体传感器可以映射到矩形检视区。检视区的形状典型地由主机系统定义,但是也可以由设备或用户定义。当传感器检测到用户输入时,计算检视区的大小和位置。当传感器未检测到用户输入时,不定义检视区的大小和位置。检视区典型地不显示给用户。 检视区的形状、大小和位置共同表示传感器坐标系到显示坐标系的映射。设置134确定该映射如何完成,例如通过相对映射或绝对映射,其例子将在下面更详细地描述。
[0025] 多个输入点110在整个输入会话期间也被输入到输入映射模块140。所述输入映射模块在显示坐标系中提供多个点142作为其输出。设置134例如通过确定设备和显示器参考位置来确定每个点如何映射,所述设备和显示器参考位置用于解释相对输入位置、应用输入动作加速、范围调整和边界条件,它们的例子将在下面更详细地描述。
[0026] 给定被映射到显示坐标系的多个点,多个点142可以在显示器上显示。操作系统106和/或应用108对待每个点的方式可以类似于对任何单个点的对待方式,例如用于选择显示项,或者可以类似于对来自直接触摸输入传感器的多个点的对待方式,例如在主机系统用户界面中实现元素缩放、旋转或移动。一旦映射到显示器,多个点的可能的使用范围便不限于本发明。
[0027] 给定本上下文,现在结合图2-4更详细地描述将多个点映射到显示器的示例性实施方案。
[0028] 在图2中,流程图描述检视区大小和位置可以如何由检视区选择模块选择,以及接下来可以如何映射点的示例性实施方案。
[0029] 应当指出,下面的实施方案基于有关期望的用户体验的某些设计决策。例如,假设每个物理输入相对于其他物理输入的相对位置在投影到显示器时保持不变。还假设所有输入之间的距离对称地缩放。
[0030] 用户体验的另一方面是输入设备和显示器之间的映射种类。 所述映射可以是相对映射或绝对映射,并且针对每个轴可以是独立的。例如,相对映射可以应用到y轴,绝对映射应用到x轴,或者恰恰相反。同样,这两个轴可以使用不同的相对映射。所述映射还可以基于输入设备和显示器的逻辑坐标或物理尺寸。如果所述映射基于设备的物理尺寸,则提高了空间精确度,从而提供更直观的和高效认知的界面。这些有关映射种类的决策可以是系统中的可选设置。
[0031] 用户体验的另一方面是边界策略。具体而言,设备输入可能受制于系统的显示器边界策略。例如,所有设备输入可以被强制保留在显示器内,或者只强制来自输入集中的一个设备输入保留在显示器内。另一实施方案并不使用任何边界策略。这些有关边界策略的决策可以是系统中的可选设置。
[0032] 检视区大小和位置在每个输入会话的开始确定。例如,当传感器在没有用户输入的一段时间之后检测到一个或多个输入点,则检测到200输入会话开始。每个轴上的检视区尺寸可以由输入设备、主机系统或用户定义。所述尺寸可以表示为目标显示设备的百分比或者以距离的物理单位表示。对于要使用的距离的物理单位,输入传感器和显示器的物理和逻辑(坐标)范围例如由设备、用户输入或其他装置提供。然后输出定位器在显示坐标空间中的位置被检索201。
[0033] 在此实施方案中,所述输出定位器位置对于用户会话(在用户登入时开始,在用户注销时结束)是全局性的。所述输出定位器位置由连接到系统的多个单指针和多指针输入设备共享并由它们更新。所述输出定位器可以是从上一输入会话保存的位置。如果没有上一输入会话,则可以使用显示设备的中心、鼠标或其他设备的最后一个位置或替换的默认显示位置作为输出定位器位置。
[0034] 接下来,给定显示设备和输入设备的已知的参数(即,坐标和边界),确定202针对每个轴的比例参数。这些参数典型地被存储在存储器中。在显示设备的情形中,所述参数可以使用系统API被检索。在输入设备的情形中,所述参数可以经由设备询问被检索。给定显示设备和输入设备的坐标和边界,确定比例参数。如果使用绝对映射,则基于物理范围的计算不是必须的,x轴和y轴缩放因子基于设备和显示坐标范围的一对一比率。如果使用相对映射,则通过设备尺寸与显示坐标中的检视区尺寸的比率来确定x轴和y轴缩放因子。所述缩放因子可以计算一次,存储在存储器中并在需要时检索。
[0035] 显示坐标空间中的检视区范围(即,其顶点的x和y坐标)通过使用确定的缩放因子被确定203。在像下面那样计算新的输出定位器之前,首先使用已保存的输出定位器确定对于输入会话的所述检视区范围。
[0036] 对于使用显示器的像素密度的缩放检视区而言,缩放因子SV是介于0至1之间的非零正值,检视区的范围 (extent) Rv=
[0037] {  LV0x - SVx/[2*extent(RDx)],
[0038] LV0x + SVx/[2*extent(RDx)],
[0039] LV0y - SVy/[2*extent(RDy)],
[0040] LV0y + SVy/[2*extent(RDy)]} ,其中LV0是初始检视区定位器,典型地是目标显示器的中心,SV是缩放因子,extent(RD)是显示器的x和y坐标范围,即,它的像素宽度和高度,下标x和y指示x和y轴上的那些值。
[0041] 对于使用物理尺寸的检视区,其中期望的大小SV是不大于目标显示器的物理范围的非零正值,显示器的像素密度D经由硬件询问获知,检视区的范围Rv=
[0042] {  [LV0x - SVx/[2*extent(RDx)]] * Dx + RDx.left,
[0043] [LV0x + [SVx/[2*extent(RDx)]] * Dx + RDx.left,
[0044] [LV0y – [SVy/[2*extent(RDy)]] * Dy + RDy.top,
[0045] [LV0y + SVy/[2*extent(RDy)]] * Dy + RDy.top} ,
[0046] 给定检视区的初始范围,然后首先在设备坐标系中确定204传感器定位器。 有许多方式选择传感器定位器,所选择的特别的方式是取决于期望的用户交互的。例如,如果传感器检测到单个输入,则传感器定位器可以是该单个输入的坐标。如果有多个输入,则传感器定位器可以是单个“主”输入的位置,或者是与其他输入具有特殊关系的点,例如所有输入的几何中心。当未检测到任何输入点时,则不定义传感器定位器,并且不被保存在输入会话之间。
[0047] 当主输入的位置被用作传感器定位器时,各种各样的方法之一可以被使用来选择主状态并将其分配给输入。通常,所述“主”输入是通过任何方法从其他输入点中选出的输入点。例如,所述主输入可以是在会话中检测到的第一个输入或最后一个输入。此方法携带的缺点是在多个输入同时到达时执行任意的选择。解决方法通过一种几何排序的形式选择主输入,例如按照几何排序公式(可能是交互相关的)的最高次序输入。例如,排序公式可以对每个输入点相对于所有输入的几何中心处的原点和参考点形成的角度进行排序。所述参考点例如可以是具有基于用户的左或右偏手性测量的角度的垂线。
[0048] 无论何种方法,传感器定位器确定都受输入的到达和离开时间的影响。为了防止其中用户打算同时到达或离开多个输入,而非在稍微不同的时间到达或离开的情况,可以使用小时间窗口(例如,10-60ms)延迟传感器定位器计算。
[0049] 接下来,传感器定位器位置从设备坐标被映射205到显示坐标。结果是对于的新的输出定位器位置。该位置可以通过 [LS / extent(RS) * extent(Rv)] + RV0来计算,其中LS是传感器定位器的x或y坐标,extent(RS)是传感器坐标空间的宽度或高度,extent(Rv)是检视区的宽度或高度,RV0是初始检视区的宽度或高度。该新的输出定位器被约束在显示器的边界内。
[0050] 给定新的输出定位器,检视区然后通过获取206检视区定位器被置于显示坐标空间内。对于会话中的第一帧,检视区位置被确定;在接下来的帧中,从存储器检索检视区位置。检视区的位置被逻辑地确定,意味着是否显示检视区是可选的。实际上,在多数实施方案中,不实际显示检视区可能是优选的。
[0051] 如上所述,检视区是输入传感器坐标空间在显示器上的投影,检视区定位器位置是检视区在显示坐标中的几何中心。另外如上所述,与输出定位器不同,当传感器未检测到任何输出时,不定义检视区。这与特定的设备实例关联(而非对于用户会话是全局性的),当用户首先将输入置于传感器上时,检视区位置被更新。在输入会话开始之后,直到输入会话结束,检视区都在帧之间保持静止。如果帧表示连续的输入会话(来自上一帧和当前帧的输入点列表均不为空),则从存储器检索检视区定位器。如果帧发起新的输入会话,则检视区定位器通过确定传感器定位器(在步骤205确定)和输出定位器位置(在步骤201确定)之间的偏移来获取,如下所示。
[0052] ∆LD = LD - LD0
[0053] LV = [LS / extent(RS) * extent(Rv)] + LV0 + ∆LD
[0054] 然后将LV约束于目标显示器的边界内,以及使用新的检视区定位器重新计算上面确定的检视区范围。
[0055] 计算传感器定位器之后,然后将检视区定位器、对于帧的输出定位器、该帧的传感器输入映射208到显示坐标,其方式将在下面更详细地描述。如果输入会话结束,如在210处确定的那样,则可以保存212有关输入会话的某信息(例如最后一个输出的定位器)。如果输入会话未结束,并且如果接收到更新的传感器输入位置(如在214处确定的那样),则该过程通过将这些新的传感器输入映射208到显示器来重复确定204对于帧的传感器定位器。然而,在帧是连续会话一部分的情况下,不在步骤206确定检视区定位器,而是从存储器中检索。
[0056] 图3描述了给定检视区大小和位置,如何将传感器输入映射到检视区中的点,包括在单个显示器上强制执行边界条件(如果相对映射被完成的话)。图3描述其中所有输入被约束在显示器内的情形。
[0057] 系统从设备接收300输入点的列表,每个输入点在设备坐标空间中具有坐标。接下来,输入点被映射302到其在显示坐标空间中的对应点。例如,设备坐标空间中的点CS在显示坐标空间中的坐标CD可以通过[CS / extent(RS) * extent(Rv)] + Rv来计算。
[0058] 包含输入点的边界框被定义304。所述边界框的角映射到显示器的可视范围并与显示器的可视范围进行比较306。如果所述边界框没有任何角位于显示器的可视区域之外,则保持输入映射310。否则,将边界框移到显示器的可视范围内的偏移被确定312。在计算最小矫正偏移时,输入边界框的每个非标准角的上一帧和当前帧之间的位移矢量或各个输入定义一条路径及其与可视显示器边界的相交点。所述矫正偏移是路径原点和相交点之间的位移。该偏移应用314到点以便将它们重新映射到显示器的可视区域内的新位置。
[0059] 在另一实施方案中,所述点被约束以便来自设备的至少一个输入点依然被显示。在图4中,系统从设备接收400输入点的列表,每个输入点在设备坐标空间中具有坐标。接下来,输入点被映射402到其在显示坐标空间中的对应的点。包含输入点的边界框被定义404。
所述边界框的角然后与显示器的可视范围进行比较406。如果所述边界框的角中的至少一个依然在显示器的可视区域内,则输入映射被保持410。否则,将边界框的至少一点移到显示器的可视范围内的矫正偏移被确定412。接下来,距离所包含的角最近的输入的偏移被确定并被应用414到矫正偏移。此更新的矫正偏移被应用416到点以便将它们重新映射到显示器的可视区域内的新位置。
[0060] 对于多个监视器显示,过程类似。存在规则的显示拓扑,其中显示器的可视区域的联合为没有内空隙的单个矩形的“虚拟”显示。对于规则的显示拓扑,多个输入到虚拟显示表面的边界的界限与对单个显示器的界限完全相同。还存在不规则的显示拓扑,其中显示器的可视区域的联合为具有凸形或凹形内空隙的直线虚拟显示。对于这些显示拓扑,可使用前面的方法计算和应用矫正偏移。
[0061] 然而,另外一种失败情形是其中点位于诸多凸形或凹形内空隙之一中,仅包含位于显示器的可视区域之外的那些点的边界框可以被计算并被使用来计算矫正偏移。在这种情形下,所述边界框被计算为包含未映射到显示器的可视区域的输入点,在此称为非标准边界框。最小矫正偏移被计算,通过此偏移确保非标准边界框的至少一个角包含在显示器的可视部分内。该矫正偏移针被应用到对所有输入的设备-显示器变换中。
[0062] 现在将描述用于多个监视器的边界条件的更具体的示例性实施方案。
[0063] 在该例子中,对于每个输入,目标边界显示器(RD,目标)以下面的方式被确定。首先,确定输入位置CD是否不包含在虚拟显示表面的可视区域内。如果不包含,则检索针对上一帧的输入的显示器RD0的坐标。对于表示新会话的帧,这些坐标由包含输出定位器位置LD的显示器的坐标替代。 接下来,确定输入CD是否在x或y轴上依然以RD0为界。如果在任何一个轴上观察到正检验(positive test),则目标边界显示器为显示器RD0。否则,输入在显示器RD0的边界外。然后针对此输入确定传感器坐标中的位移矢量∆SS:∆SS = CS - CS0。传感器的范围extent(RS)被检索。位移的主导轴被确定。如果|∆SS/ extent(RSx) | >= |∆SSy/ extent(RSy) |,则X轴主导。否则,Y轴主导。
[0064] 输入位移的主导轴然后被使用来确定目标边界显示器。如果X轴为主导轴,则目标边界显示器RD,目标为满足以下条件的显示器:1. 输入落在显示器的平范围内;2. 目标显示器沿着输入的主移动方向并且与最后一个显示器共享该边界;以及3. 最后一个输入的位置落在显示器的垂直范围内。如果Y轴为主导轴,则目标边界显示器RD,目标满足以下条件:1. 输入落在显示器的垂直范围内;2. 目标显示器沿着输入的主移动方向并且与最后一个显示器共享该边界;以及3. 最后一个输入的位置落在显示器的水平范围内。
[0065] 如果无法使用主导方向确定目标边界显示器,则在非主导方向上执行搜索。如果仍找不到目标边界显示器,则目标显示器为输入的上一显示器。
[0066] 给定对于输入的目标边界显示器,输入夹(clamp)在该显示器上,并且夹定偏移(clamping offset)被计算和存储。该夹定偏移被应用到所有输入上,以便保持它们之间的相对距离。以此方式调整输入之后,再次全部测试所有输入以确保它们位于显示器的可视部分上。
[0067] 在某些交互模式中,允许有少量时间实现用户通过传感器同时执行多个输入的打算。当观察到会话的第一个输入时,激活计时器并且将到达的输入标记为不活动,传感器定位器确定被推迟直到计时器过期,或者在到达的输入被移除时被终止。同样,用户可能打算同时离开输入。为了在不影响传感器定位器位置的情况下实现此打算,可以使用计时器。激活所述计时器,离开的输入继续被包括在传感器定位器计算中,直到计时器过期。
[0068] 在前面的描述中,在相对和绝对映射模式中,输入点被直接映射到显示坐标。然而在相对映射模式中,输入设备只能跨目标显示坐标空间的子集。因此,从一个显示器位置到另一位置的导航可能牵涉到多次敲击操作,除非在检测到输入点的移动时应用某种形式的点加速。相反,为了实现像素级的点对点定位精确度,可以应用某种形式的点减速。此类加速和减速(有时称为“指针弹道”)可以以下面的方式被应用到多输入、间接输入设备。在将来自设备坐标空间中的输入点映射到显示坐标空间中时给定输入设备上的输入点的位移以进行加速或减速,这种情况可以是显示器上的点移动。通常,对于输入点位移的测量被确定。该位移是对某个函数的输入,该函数根据位移确定如何修改输入设备点到它们对应的显示坐标的映射。
[0069] 在一个实施方案中,每个输入点的位移被确定。具有最低幅度位移矢量的输入的传感器像素中的物理位移通过加速曲线变换以产生单个加速的显示位移,并且这被应用到输出定位器和所有点的显示位移。加速函数的输入可以是矢量幅度,或者可以输入到两个不同的加速函数的、对于每个轴的值。现在结合图5描述该实施方案。
[0070] 首先,从第一和第二时间点接收500输入传感器上的输入点。应当指出,如何唯一地识别和跟踪移动的或静止的输入(在本领域中称为“输入识别和跟踪”)是设备和传感器特定的。本发明不限于任何特定的输入识别和跟踪技术。可以使用本领域中任何已被认为适当的、用于此类识别和跟踪的技术。
[0071] 某个时间间隔内每个输入的每个尺寸中的设备坐标(即,像素)中的位移然后被确定502。如果所述时间间隔已知是恒定的,则可以单独使用位移。否则可以使用所述时间间隔来计算速率。
[0072] 对于输入的每个时间间隔或“帧”,具有最小的幅度位移或速率的输入被识别504。具有最低幅度的输入被选择(例如,而非具有平均或最大幅度)以便在输入传感器上保持静止的输入在映射到显示器时保持静止。
[0073] 已识别的输入的位移可以使用传感器的像素密度从以像素为单位的位移转换为物理位移。位移值被用作加速函数的输入以便将该值变换506为加速的位移。本发明不受所用的特定加速度公式的限制。可以使用本领域中当前使用的任何合理的技术,例如用于鼠标指针加速的技术。本发明通常可应用到任何允许每个坐标轴(x、y或z)的独立加速的加速公式。可以使用将位移值映射到加速的位移值的分段线性函数实施适当的变换。所述加速的位移值如果基于物理尺寸,则可以被转换回以像素坐标。
[0074] 然后将加速的位移转换508为显示坐标空间中的加速的位移。例如,所述转换由以下公式表示:∆CD = ∆CS / extent(RS) * extent(Rv)] + Rv。映射到显示坐标的每个输入位置然后通过加速位移调整510。
[0075] 对于绝对映射尺寸,可以使用被称为范围调整的类似过程,如结合图6描述的。在图6中,在设备坐标空间中的像素中,来自传感器定位器的每个输入的位移被确定600。最小位移被选择602。该最小位移值通过使用设备的像素密度被转换604为物理尺寸。所述以物理尺寸表示的最小位移值通过使用任何适当的变换被转换606为范围调整值。一种适当的变换可以类似于加速变换,例如将位移值映射到范围调整值的分段线性函数。该范围调整值被转换608回像素值。与加速类似,所述范围调整值然后被变换610为显示器像素值,使用该值调整612每个输入点。
[0076] 应当指出,输入点的加速和范围调整修改在应用确保点保留在显示器的可视区域内的边界条件之前被完成。
[0077] 已经描述完示例性的实施方案,现在将描述这样的系统被设计为在其中运行的计算环境。下面的描述打算提供对其中该系统可以被实施的适当计算环境的简要、概括的描述。所述系统可以通过多种通用或专用计算硬件配置实施。公知的计算设备的例子包括但不限于个人计算机、服务器计算机、手持式或膝上型设备(例如,媒体播放器、笔记本计算机、蜂窝电话、个人数字助理、录音机)、多处理器系统、基于微处理器的系统、机顶盒、游戏控制台、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等。
[0078] 图7示出适当的计算系统环境的例子。所述计算系统环境只是一个适当的计算环境的例子,并不打算暗示对这样的计算环境的使用范围或功能性的任何限制,不能将所述计算环境解释为具有与示例性操作环境中所示的任一组件或组件组合相关的任何依赖关系或要求。
[0079] 现在参考图7,示例性计算环境包括诸如计算机700之类的计算机。在其最基本的配置中,计算机700典型地包括至少一个处理单元702和存储器704。所述计算设备可以包括多个处理单元和/或额外的协处理单元(例如图形处理单元720)。根据所述计算设备的精确配置和类型,存储器704可以是易失的(例如RAM)、非易失性的(例如ROM、闪存等)或二者的某种组合。该最基本的配置在图7中通过虚线706示出。另外,计算机700还具有另外的特征/功能性。例如,计算机700还可以包括另外的存储装置(可移动和/或不可移动的),其包括但不限于磁盘或光盘或磁带。这样的另外的存储装置在图7中通过可移动存储装置708和不可移动存储装置710示出。计算机存储媒体包括以任意方法或技术实施的易失性和非易失性、可移动和不可移动媒体,用于存储诸如计算机程序指令、数据结构、程序模块或其他数据之类的信息。存储器704、可移动存储装置708和不可移动存储装置710均为计算机存储媒体的例子。计算机存储媒体包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或可用来存储期望的信息并且可以被计算机700访问的任何其他介质。任何这样的计算机存储媒体可以是计算机700的一部分。
[0080] 计算机700还可以包含允许设备与其他设备通信的(多个)通信连接712。(多个)通信连接712是通信媒体的一个例子。通信媒体典型地携带计算机程序指令、数据结构、程序模块或诸如载波或其他传输机制之类的调制数据信号中的其他数据并且包括任何信息传输媒体。术语“调制数据信号”是指使它的一个或多个特征以这样的方式被设置或改变以便把信息编码到信号中的信号。作为例子但不是限制,通信媒体包括诸如有线网络或直线连接之类的有线媒体以及诸如声音、RF、红外和其他无线媒体之类的无线媒体。
[0081] 计算机700可以具有各种(多个)输入设备714,例如键盘、鼠标、手写笔、相机、触摸输入设备等。还可以包括诸如显示器、扬声器、打印机等之类的(多个)输出设备716。所有这些设备在本领域中都是公知的,无需在此详细讨论。
[0082] 所述系统可以在软件的一般上下文中实施,所述软件包括计算机可执行的指令和/或计算机解释的指令,例如由计算机处理的程序模块。通常,所述程序模块包括例程、程序、对象、组件、数据结构等,当它们被处理单元处理时,将引导所述处理单元执行特定任务或实施特定抽象数据类型。该系统可以在分布式计算环境中实现,在所述计算环境中,任务由通过通信网络链接在一起的远程处理设备执行。在分布式计算环境中,所述程序模块可以位于包括存储器存储设备的本地和远程计算机存储媒体中。
[0083] 所附权利要求的前言中的术语“制品”、“过程”、“机器”和“组分”打算将所述权利要求限制为被认为落在使用35 U. S. C § 101中的这些条款定义的可取得专利的主题的范围内的主题。
[0084] 在此描述的任何或所有上述替换的实施例可以以任意期望的组合的形式被使用来形成其他混合实施例。应当理解,所附权利要求中定义的主题不一定限于以上描述的特定的实施方案。以上描述的特定的实施方案仅作为例子被公开。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈