用限定的交叉控制行为降低控件响应等待时间的制作方法_3

文档序号:9620833阅读:来源:国知局
针",目标是将高性能响应集成到控件本身(即,屏幕上 内容被"触摸"、"操控"等)中,提供更加统一的可视化。依然在实施例中,系统和方法通过 低等待时间子系统允许前后无关的响应的渲染,该前后无关的响应随后与来自高等待时间 子系统的响应融合。在实施例中,不需要在与剩余的系统的响应相同的渲染管道中表示视 件。相反,除了由传统系统所产生的较高等待时间响应之外,利用如本文中所讨论的混合反 馈的系统或方法可对用户输入表现较低的等待时间响应。
[0054]因此,在实施例中,设计加速的输入交互从而使得传统的直接触摸软件如同它一 般具有高等待时间响应那样运行,同时以较低的等待时间提供针对UI元件定制的一组附 加的反馈;具有用户感知不到的等待时间的目标。在实施例中,通过叠加两个或多个图像来 组合这两层。在实施例中,两个组合的图像可包括来自低等待时间触摸设备的一个投射图 像,和来自与桌面计算机连接的传统投影仪的第二图像,该桌面计算机运行定制的触摸软 件并从低等待时间子系统接收输入。
[0055] 以上所述的两个投影仪解决方案仅仅表示用作将低等待时间响应与传统响应组 合的更通用思想的一个特定实施例。在实施例中,来自低等待时间与高等待时间子系统的 视觉输出在被发送到显示器之前在系统中的显示器缓冲器或其他地方中逻辑地组合。在实 施例中,透明的重叠的显示向用户呈现低等待时间与高等待时间输出。在实施例中,使显示 器的像素交错(interlace)从而使得一些像素由低等待时间子系统来控制,一些像素由高 等待时间子系统来控制;由于交错,这些显示可对用户表现为重叠。在实施例中,使显示器 上呈现的帧交错从而使得一些帧由低等待时间子系统来控制,一些帧由高等待时间子系统 来控制;由于帧交错,显示可对用户表现为含有组合的图像。在实施例中,可在硬件中主要 地或完全地产生低等待时间响应。在实施例中,可从输入传感器直接接收的输入传感器数 据来产生低等待时间响应。在实施例中,由至显示器硬件的高带宽链路来显示低等待时间 响应。
[0056] 在为低等待时间子系统设计用户界面中,可考虑以下约束中的一个或多个: 鲁信息:高等待时间子系统用来形成系统对输入的响应所需要的任何信息或处理将必 然具有高等待时间,除非例如预先渲染或预先供给了这种信息或处理。 鲁性能:以低等待时间形成响应所允许的时间必然受限。即使利用硬件加速,也必须谨 慎地性能驱动响应的设计以保证响应满足期望的低等待时间。 鲁保真度:所渲染的低等待时间图像的保真度可与较高等待时间渲染(实际上,它被 高等待时间系统预渲染)难以区分;附加的约束可被设置在保真度上以改善性能,诸如例 如,视件仅仅是单色的,和/或对视觉基元进行限制,和/或限制音频或触觉响应的持续时 间或特性。可由系统的不同元件来引入此类型的约束,包括加速硬件或由输出硬件(诸如 显不器、触摸输出设备、或扬声器)。 鲁无干扰:在响应是混杂组合的实施例中,可在低等待时间层中产生应用的响应中的 一些,在高等待时间层中产生一些,考量可以是怎样混合这两者,例如,为了向用户的输入 提供无缝响应。在实施例中,低等待时间响应不干扰任何可能的应用响应,这必然将在随后 发生。在实施例中,在低等待时间响应与传统响应之间可发生干扰,但此干扰可通过设计或 通过响应的混合来处理。
[0057] 在实施例中,进行设计过程以创建一组视觉UI控件,具有对触摸有区别的低等待 时间与高等待时间视觉响应。寻求将实现两层响应之间的无缝转变的隐喻。这些可视化包 括诸如对象位置和状态之类的信息。使用上述约束基于可行性来精选设计。类似于在军用 飞行器中使用的可视化,这种实施例的最终设计基于抬头(heads-up)显示器(HUD)隐喻。 HUD是合适的,因为传统的HUD在几何学上是简单的,并且它相对容易地以真实保真度实现 几何上简单的显示器。HUD表示组合的两个视觉层的仅一个示例,然而在很多HUD中,计算 机化的显示被叠加在视频或"真实世界"本身上。因此,HUD通常被设计成无干扰的。
[0058] 基于HUD隐喻,为在很多直接触摸系统中发现的一组UI元件开发了一组示例性的 触摸事件和UI元件特定的低等待时间层可视化。这些示例性元件是既普通又有代表性的; 他们的交互(轻触、拖动、两手指收聚(pinching))覆盖在电流直接触摸设备中使用的大多 数交互空间。在这样的实施例中开发的低等待时间响应在表1中描述,并且它们在图6-8 中示出。
表1 :针对每个元件和触摸事件的加速视件,补偿对触摸输入的标准高等待时间响应。
[0059] 这三个元件表示针对触摸输入的标准UI工具箱的广泛使用范围。最高阶UI元件 由这些较简单的元件组成(例如单选按钮(radio button)和复选框(checkbox)都是"按 钮",滚动条是具有受限平移和旋转的"滚动/可变尺寸件")。本文中所述的加速的输入系 统和方法依赖于以两个明显不同的等待时间等级工作的视件的结合;此等待时间差异已被 纳入低等待时间可视化的设计中。在实施例中,可通知用户两个系统的状态,当各视觉层取 得对齐时具有相关的同步性。在实施例中,用户能够在系统反馈的高与低等待时间部分之 间作出区分。在实施例中,以在低等待时间响应与传统响应之间提供不明显差别的方式来 混合视觉元件。
[0060] 在实施例中,应用开发者利用工具箱经由组建GUI控件的一般过程来建立他们的 应用。在执行后,UI元件将它们的可视化分为在单个显示器上渲染且重叠的高与低等待时 间可视化两部分。如在图9中示出通过这种系统的信息流的实施例。信息从输入设备910 流到系统中且由输入处理单元(IPU) 920首先处理,经由IPU软件工具箱930来编程。然后 由两个子系统(低等待时间低保真度子系统940和高等待时间子系统950 (诸如例如在常 规软件栈中运行的常规软件))平行地处理UI事件。在实施例中,可在硬件(诸如图4的 FPGA 440)中实现低等待时间低保真度子系统940。
[0061] 在此实施例中描述的分为两部分创建了基本的通信问题,其中必须在用户开始给 予输入之前限定由应用逻辑所需的低等待时间子系统940所提供的初始响应的参数化。需 要在由应用进行表示的时刻处理的任何响应将引入低等待时间系统940对高等待时间系 统950的依赖性,因此可将滞后引入回到系统中。在实施例中,低等待时间系统940对输入 的响应的随后阶段可依赖于高等待时间子系统950。在实施例中,管理低等待时间系统940 对输入的响应的随后阶段对于高等待时间子系统950的依赖性从而使得该依赖性不引入 附加的等待时间。在实施例中,将完全避免该依赖性。
[0062] 在实施例中,UI元件逻辑可被建立到低等待时间子系统中。在用户输入之间,在高 等待时间子系统950中执行的应用有机会为UI元件的低等待时间子系统940的模型提供 参数。因此,在实施例中,可通过提供为低等待时间反馈负责的单独控制器来扩展UI软件 设计的MVC模型。在实施例中,在软件设计中,可针对每种控件指定以下中的一个或多个: ?元件类型(例如,按钮、可拖动对象、滚动列表等)。 ?边界尺寸(例如,X位置、y位置、宽度、高度等)。 鲁有条件的:附加的基元信息(例如,滚动列表的情况中的列表项的尺寸等)。
[0063] 在实施例中,给定元件类型对触摸输入的响应的逻辑被储存在低等待时间子系统 940中。可用同样的方式来传递低等待时间子系统对用户输入的响应的进一步参数化,允许 更大程度的定制。在实施例中,处理传感器数据以产生事件(或输入流的其他处理形式), 该事件然后被单独分配到低等待时间子系统和高等待时间子系统950。可对低等待时间子 系统940和高等待时间子系统950以不同速率产生事件,因为低等待时间子系统能够比高 等待时间子系统更快地处理事件,且以高速率向高等待时间子系统发送事件可压垮该子系 统。低等待时间与高等待时间子系统对用户输入的响应因此是独立的但协调的。在实施例 中,一个子系统担当"主控器",在用户输入之间设置另一个子系统的状态。在实施例中,低 等待时间与高等待时间子系统之间的关系包括两个子系统之间的同步性。在实施例中,低 等待时间与尚等待时间子系统之间的关系包括尚等待时间子系统为低等待时间子系统卸 载处理的能力。在实施例中,低等待时间与高等待时间子系统之间的关系包括低等待时间 子系统940降低减少其处理负载和/或利用高等待时间子系统950来预处理或预渲染的能 力。在实施例中,第二图形处理和输出系统的响应依赖于第一图形处理和输出系统,并且状 态信息从第一图形处理和输出系统传递到第二图形处理和输出系统在这种实施例中,从第 一图形处理和输出系统传递到第二图形处理和输出系统的信息由一片或多片数据组成,该 一片或多片数据描述了用户界面中的一个或多个图形元件。例如,此数据可以是用户界面 中的图形元件的尺寸、位置、外观、可选的外观、对用户输入的响应、以及类型。从第一图形 处理和输出系统传递到第二图形处理和输出系统的数据可被储存在第二图形处理和输出 系统可用的高速存储器中。传递的数据可描述按钮、滑动件、可拖动和/或可变尺寸GUI元 件、滚动列表、旋转件、下拉列表、菜单、工具条、组合框、可移动图标、固定图标、树状图、网 格视图、滚动条、滚动窗或用户界面元件的外观和/或行为。
[0064] 在实施例中,在用户输入信号被第一或第二图形处理和输出系统中的一个或两者 接收之前,输入处理系统在用户输入信号上执行抽取(decimation)。基于从第一图形处理 和输出系统发送的关于用户界面的信息从全部输入信号组中选择抽取的输入信号或未抽 取的信号。可通过将输入信号组在逻辑上组合成较小的输入信号组来执行输入信号的抽 取。可通过窗口求平均值来执行输入信号的逻辑组合。当减小输入信号组的尺寸时,该抽 取考虑用户输入信号的时间。可通过加权求平均值来执行输入信号的逻辑组合。在实施例 中,已经有区别地处理了由第一和第二图形处理和输出系统接收的用户输入信号。
[0065] 在实施例中,高等待时间和低等待时间层之间的通信可以是重要的。以下说明在 确定高与低等待时间子系统怎样保持同步化中要考虑的一些重点: 鲁等待时间差异:低等待时间响应可使用关于高与低等待时间层之间的等待时间差异 的信息以使响应同步。在实施例中,这些等待时间值是静态的,且因此被预编程到FPGA中。 在等待时间等级可在任一子系统中变化的实施例中,可有利地将等待时间等级固定在始终 可达到的常数,而不是具有可变得不同步的动态值,或者有利地提供明确的同步化机制。在 等待时间等级可在任一子系统中变化的实施例中,可使用动态值,然而应该当心避免变得 不同步。在等待等级可在任一子系统中变化的实施例中,可在子系统940、950之间提供明 确的同步化机制。 鲁点击测试:点击测试决定通常以关于可见UI元件的视觉层次和属性的数据为条件。 在实施例中,可通过不允许边界矩形重叠、要求UI的平面"点击测试友好的"映射来解决此 考虑。在实施例中,单独的点击测试可为低等待时间子系统提供必要的信息(对象状态、Z 顺序、和收听站)。在实施例中,低等待时间与高等待时间子系统可并列地进行点击测试。 在实施例中,低等待时间子系统进行点击测试,并且向高等待时间子系统提供结果。 鲁条件响应:很多界面可视化不仅以立即用户输入为条件,而且以应用逻辑中所限定 的进一步作出决定逻辑为条件。
[0066] 条件响应逻辑的两个说明性示例如下:考虑信用卡购买提交按钮,其被编程为当 按压时禁用(为了防止双重记账),而且仅基于输入表单的数据的有效性。在这种情况中, 按钮的行为不仅依赖于立即用户交互,而是进一步以附加的信息和处理为条件。还考虑关 联的可视化,诸如图10中示出的一个。在此情况中,不仅由用户操控的UI元件1010,而且 还由第二UI元件1020来为用户提供反馈。这些示例可被直接编程到低等待时间子系统中。
[0067] 在实施例中,高与低等待时间子系统之间的划分可与任意用户界面元素无关。实 际上,子系统之间责任的划分可基于任意数量的因素来定制,且仍有可能存在于缺乏用户 界面工具箱的系统中,或者包括使用和不使用可能获得的UI工具箱两者来开发应用的机 制的系统中。在实施例中,可在子系统运行时动态地改变两个子系统之间的责任的划分。 在实施例中,UI工具箱自身可被包括在低等待时间子系统内。可用数个方式来向应用开发 者提供定制响应的能力而不脱离本文所述的系统和方法。在实施例中,响应可被定制为要 在UI控件中调节的参数。在实施例中,可在低等待子系统中本身执行的代码中,或者在另 一个高或低等待时间组件中,通过允许向低等待时间子系统直接提供指令的能力来定制响 应。在实施例中,例如在运行时间,可使用由应用代码所产生的数据来设置低等待时间子系 统的状态。
[0068] 尽管以上所述的示例是在触摸输入的情况下提供的,但预期其他的实施例,包括 但不限于,笔输入、鼠标输入、间接触摸输入(例如,触控板)、空中手势输入、口头输入和/ 或其他输入模态。所述的架构同等地可应用到任何种类的用户输入事件,包括但不限于混 合的输入事件(即支持来自超过一个模态的输入)。在实施例中,混合输入设备可导致产生 相同数量的事件以便被低和高等待时间子系统中的每一个处理。在实施例中,将以所产生 的事件的数量来区别混合输入设备,如此例如,触摸输入可比笔输入具有较少的事件。在实 施例中,每个输入模态包含其自己的低等待时间子系统。在实施例中,在包含针对多个输入 模态的多个低等待时间子系统的系统中,各子系统可通信以协调他们的响应。在实施例中, 在包含针对多个输入模态的多个低等待时间子系统的系统中,多个子系统可共享公共存储 器区域以实现协调。 输入处理
[0069] 在本发明的实施例中,来自输入硬件的低等待时间输入数据被最小程度地处理为 快速的输入事件流。此事件流被直接发送到低等待时间子系统以便进一步处理。然后在事 件流被发送到高等待时间子系统之前,可删除来自这同一流的事件,或者可缩减或过滤该 流。可对低等待时间子系统940和高等待时间子系统950以不同速率产生事件,因为低等 待时间子系统能够比高等待时间子系统更快地处理事件,且以高速率向高等待时间子系统 发送事件可压垮该子系统。低等待时间与高等待时间子系统对用户输入的响应因此可以是 独立的且协调的。
[0070] 可优化事件的缩减。在实施例中,可基于与应用、UI元件、输入设备等中的一个或 多个相关联的标准在候选事件之中选择代表性事件。对于当用户绘制数字墨水笔划的笔输 入的这个示例可包括选择最适于用户所绘笔划的事件。对于语言输入的另一个示例是偏向 于输出流中的随后事件将具有类似音量的事件,由此"校平"来自麦克风的声音。对于触摸 输入的另一个示例是偏向于将产生具有一致速度的输出事件流的事件,提供更加"光滑的" 输出。这种形式的智能缩减担当智能过滤器,而不会降低高等待时间子系统的性能。在实 施例中,可产生新的事件(例如,合并的事件或虚事件),代表输入流中其他事件的聚集。在 实施例中,可产生新的事件(例如,校正的事件
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1