用于低等待时间用户输入处理和反馈的混合型系统和方法_2

文档序号:8926959阅读:来源:国知局
示器包括但不仅限于基于下列技术中的一项或多 项的显示器:〇LED、AMOLED、等离子、电湿润(electrowetting)、彩色场序制IXD、光学补偿 弯曲液晶模式(0CB或Pi-Cell) IXD、电子墨水等等。 等待时间感知研宄
[0034] 进行了研宄,以确定直接触摸接口中的用户感觉到的什么等待时间为基本上瞬时 的。在图4中以框图表示的原型设备示出了原型高性能触摸系统400的的基本体系结构的 说明性实施例。在一个实施例中,高速输入设备420是具有24cm x 16cm的有源区域,以及 允许非常高速度操作的电子器件的多触摸电阻性触摸传感器。通过此传感器的等待时间稍 微小于1毫秒。在一个实施例中,触摸数据可以通过光链路串行传输。
[0035] 在说明性测试系统中,显示器460是基于德州仪器公司的数字光处理技术的DLP 发现4100工具包。说明性测试系统使用到触摸传感器中的正面投影,如此消除可能会干扰 用户的对手指的感知和图像校准的视差。所使用的DLP投影仪使用数字微镜设备(DMD),这 是有效地以非常高的速度打开或关闭像素的镜子矩阵。镜子的高速度可以被用来改变开与 关的百分比,以创建连续的彩色图像的外观。在只使用简单二进制图像的一个实施例中,可 以以甚至更高速率产生这些。在说明性测试系统中,投影仪开发系统以1024x768分辨率, 利用40 y s以下的等待时间,显示32, 000二进制帧/秒。在实现此速度的说明性测试系统 中,视频数据以25. 6Gbps被流送到DMD。
[0036] 在说明性测试系统中,为实现最小的等待时间,所有触摸处理都在专用FPGA440 上执行,在触摸输入和低等待时间输出的显示之间不使用PC或操作系统。DLP工具包的机 载XC5VLX50应用程序FPGA可以用于处理触摸数据,并渲染视频输出。到FPGA的USB串行 连接允许参数被动态地改变。在说明性测试系统中,可以将等待时间从1毫秒调整到几百 毫秒,且在1毫秒的分辨率下。可以激活不同的测试模式,端口允许触摸数据被收集,以供 分析。
[0037] 在说明性测试系统中,为接收来自传感器420的触摸数据,系统通过自定义高速 UART进行通信。为最小化等待时间,可以使用2Mbps的波特率,该波特率表示在不会由于跨 通信信道的高频噪声而损失信号完整性的情况下可以使用的高波特率。在说明性测试系统 中,然后,由在FPGA440上实现的触摸检测有限态机器处理经压缩的触摸数据的单个字节。 有限态机器(FSM)同时解码数据,并执行质心斑点检测(blob-detection)算法来标识触摸 的坐标。在说明性测试系统中,系统被流水线化,以使得FSM的每一次迭代都对最后接收到 的字节进行操作,以便没有触摸数据的缓冲会发生。
[0038] 在说明性测试系统中,然后,将触摸坐标发送到10级可变延迟块。每一延迟级都 是带有计数器的简单FSM,并获取指示延迟触摸坐标的时钟周期的数量的控制信号,从而允 许各种级别的延迟。延迟块在迭代开始时闩锁(latch)触摸样本,并在发送样本并闩锁下 一个之前,等待合适的周期数。因此,延迟块以延迟计数为因子降低采样速率。在一个实施 例中,为使采样速率保持在合理的级别,可以使用10个延迟级,以便,例如,为实现1〇〇毫秒 的等待时间,对于100Hz的采样速率,块在样本之间等待10毫秒。在说明性测试系统中,为 运行基本应用程序,使用MicroBlaze软核处理器来渲染显示。
[0039] 在一个实施例中,测试系统可以使用硬编码的控制FSM来代替MicroBlaze,以取 得改善的性能。在一个实施例中,可以使用另一种软处理器(soft processor)。在说明性 测试系统中,MicroBlaze是被优化以在Xilinx FPGA中合成的32比特Harvard体系结构 RISC处理器。MicroBlaze软处理器实例化允许只选择所需的核、外围设备,以及存储器结 构。在说明性测试系统中,除基本MicroBlaze配置之外,还可以使用中断控制器,例如,用 于触摸数据的GPI0,用于设置可变等待时间的GPI0、用于图像缓冲区的BRAM存储器控制 器,以及用于与PC进行通信的UART单元。在说明性测试系统中,MicroBlaze采用100MHz 的时钟。MicroBlaze使用中断系统来检测有效触摸坐标。当有效触摸数据从延迟块到达 GPI0时,生成触摸准备好中断事件,并向图像缓冲区写入相对应的图像。由于基于中断的系 统的不均匀的本质,因此,不能计算准确的等待时间,但是,根据设计,与由于输入设备导致 的1毫秒的等待时间相比,它是微不足道的。
[0040] 在说明性测试系统中,图像缓冲区在芯片上BRAM块中被合成。这些块可以提供双 端口高速可配置的存储器缓冲区,其带有足够的带宽以支持高帧速率显示器。在说明性测 试系统中,根据DLP所需要的,针对25. 6Gbps的总带宽,以128比特的总线宽度,在200MHz 下对图像缓冲区进行时钟控制。最后,DMD控制器从图像缓冲区中连续地读出帧,并生成带 有用于控制DMD的合适定时的信号。
[0041] 在说明性测试系统中,同时向传统的PC发送用户输入,并处理用户输入,以产生 传统的较高等待时间的响应。此较高等待时间响应由传统的数据投影仪输出,并被对准,以 与投影的较低的等待时间响应重叠。
[0042] 进行了研宄,以确定当在触摸屏接口上执行常见的任务时用户能够感知的性能 的准确的水平。为此,进行了研宄,以确定各种性能级别的最小可觉差(iust-noticeable difference :JND)。JND是可以由观察者检测到的刺激的两个水平之间的差异的度量。在 此情形中,JND被定义为参与者能够区别两个不相等的刺激一一一个始终以相同水平呈现, 被称为参考,而其值在整个实验中动态地改变的另一个(被称为探针)--的阈值水平。在 某个任意参考值时对于JND的通常接受的值是参与者能够75%的时间正确地标识参考的 探针。不能利用此水平的精度与参考区别开来的探针值被视为与参考"不显著地不同"。
[0043] 进行了研宄,以确定当与充当引用的1毫秒的等待时间的最大性能相比时探针等 待时间的JND水平。尽管这样的确定不提供最大可感知性能的绝对值,但是,它能够充当我 们的"最佳情形"下限(floor)条件,针对该下限条件,可以度量其他等待时间水平一一假 定它是我们的原型能够实现的最快速度。已经发现,参与者能够识别典型的当前生成硬件 (例如,当前平板和触摸计算机)提供的低得多的等待时间值(< 20毫秒)(~50-200毫 秒)。
[0044] 从本地社区招募十个用右手的参与者(3个女性)。年龄在24和40之间(平均 27. 80,标准偏差4. 73)。所有参与者都具有使用触摸屏设备的经验,所有参与者都拥有一个 或多个触摸设备(诸如基于i〇S或安卓的电话或平板)。重复地向参与者呈现成对的等待 时间条件:参考值(1晕秒)和探针(在1和65晕秒的等待时间之间)。参与者在触摸屏 显示器上从左到右,然后从右到左拖拽他们的手指。尽管任何拖拽任务都是合适的,但是, 在高等待时间情况下,左/右移动会缩小封闭(occlusion)。要求参与者在两个方向移动, 以确保他们不会"匆忙地做完"研宄。在用户的接触点下面,系统渲染实心白色2cm x 2cm 正方形,如图1所示。移动的速度由参与者确定。对于每一对,条件的顺序是随机化的。研 宄被设计为二择-迫选(two-alternative forced-choice)实验;指示参与者在每一试验 内选择哪一种情况是参考(1毫秒)值,且不允许作出"不知道"或"不确定"选择。在每一 对之后,参与者通知实验者两者中的哪一个"较快"。
[0045] 为了使每一试验收敛在所希望的75%的JND水平,根据自适应楼梯算法,控制增 加的等待时间的量。参考值的每一正确的标识都导致探针中的等待时间量缩小,而每一不 正确的响应都会导致探针的等待时间增大。为了达到75%的置信水平,增大和缩小遵循 由 Kaernbach 所描述的简单加权上下法(simple weighted up-down method) (Kaernbach, C. 1991. Perc印tion&Psychophysics (感知与精神物理学)49, 227-229),其中,增大具有应 用于基本步长的三倍乘数,而缩小是基本步长(最初8毫秒)。
[0046] 当参与者在正确的响应之后不正确地作出响应,或在不正确的响应之后正确地作 出响应,这被称为反转,因为它导致楼梯(staircase)的方向(增大或缩小)翻转。最初为 8毫秒的步长,在每一反转时减半到1毫秒的最小步长。这会持续直到发生总共10次反转, 从而导致收敛到75%的正确性。每一参与者都完成八个楼梯"行程(run)"。这些中的四 个在最小探针等待时间(1毫秒)下开始,且四个在最大(65毫秒)下开始。选择楼梯的较 高初始值,因为它大致与商业贡献(co_ercial offering)重合,因为先导性试验表明,此 值将以几乎以100%的准确性区别于1毫秒参考,从而避免上限效应。在交错对中一次运 行两次楼梯,以防止否则将由参与者的跟踪连续的刺激之间的进度的能力所导致的响应偏 向。随机地(而没有取而代之以概率地)选择这些对中的每一个的楼梯条件(2起始级别 x4次重复)。整个实验,包括楼梯之间的中断,由每一参与者在单个1小时会话内完成。
[0047] 研宄被设计成发现大于1毫秒的等待时间值的最小可觉差(JND)级别。此JND水 平通常被同意是参与者能够75%的时间正确地标识参考的水平。参与者JND水平范围从 2. 38晕秒到11. 36晕秒,跨所有参与者的平均JND为6. 04晕秒(标准偏差4. 33晕秒)。对 于每一个参与者,JND水平跨8个楼梯行程而不会有显著变化。在图5中示出了每一参与 者的结果。
[0048] 结果示出了参与者能够识别远低于消费者设备的典型的阈值(50-200毫秒)的等 待时间的差异。值得注意的是,参与者可能常常通过估计在屏幕上的对象以及他们的手指 (当它在触摸屏上来回移动时)之间的距离来确定等待时间;这是n中所使用的输入图元 的伪像(具体而言,拖拽)。测试不同的输入图元(例如,轻叩)将表现出不同的等待时间 感知。结果确认,将由触摸设备的用户注意到等待时间的数量级改善。 低等待时间直接触摸输入设备的体系结构
[0049] 在一个实施例中,可以设计允许应用程序开发人员持续使用基于工具箱的应用程 序设计过程,但是,允许那些工具箱以非常低的等待时间提供反馈的软件接口一一假设低 等待时间系统存在。在一个实施例中,在本发明中概述的系统和方法可以在UI开发的模 型-视图-控制器("MVC")模型上实现,许多n工具箱基于该模型。MVC准许应用程序 逻辑与应用程序的视觉表示分离。在一个实施例中,MVC可包括应用程序的事实上的第二 重叠视图。具体而言,在一个实施例中,触摸输入接收来自UI控件的立即响应,该立即响应 部分地基于在作出触摸时应用程序的状态。目标是提供上下文地链接到底层应用程序的几 乎立即的响应。
[0050] 关于针对触摸的应用程序独立视觉响应的先前工作与n的视觉元素完全分开, 增加了视觉复杂性。在一个实施例中,根据此处概述的系统和方法,一组视觉响应被更 加全面地集成到n元素本身中,以便降低视觉复杂性。如此,在所示出的特定视觉项目 (visual)为触摸提供事实上的"鼠标指针"的实施例中,目标是将高性能响应集成到控件 本身中,从而提供更加统一的视觉化。尽管如此,在一个实施例中,系统和方法允许通过低 等待时间子系统渲染上下文无关的响应,这些响应在后来与来自高等待时间子系统的响应 合并。在一个实施例中,视觉项目不必与系统的响应的其余部分呈现在相同渲染流水线中。 相反,如此处所讨论的使用混合反馈的系统或方法除由传统的系统所生成的较高等待时间 响应之外,还可以呈现对用户输入的较低等待时间的响应。
[0051] 如此,在一个实施例中,加速的输入交互被设计成使得传统的直接-触摸软件如 它通常那样,利用高等待时间响应运行,而以较低的等待时间提供额外的一组针对n元素 定制的反馈;目标为用户难以觉察的等待时间。在一个实施例中,通过重叠两个或更多图 像,组合这两层。在一个实施例中,两个组合的图像可包括来自低等待时间触摸设备的一个 投影图像,以及来自连接到运行定制触摸软件,从低等待时间子系统接收输入的台式计算 机的传统投影仪的第二个图像。
[0052] 上文所描述的两个投影仪解决方案只打算充当组合低等待时间响应和传统响应 的比较一般的概念的一个特定实施例。在一个实施例中,来自低和高等待时间子系统的视 觉输出在被发送到显示器之前在逻辑上被组合在显示缓冲器中或系统中的别处,并由此被 显示。在一个实施例中,透明的、重叠的显示向用户呈现低和高等待时间输出。在一个实施 例中,显示器的像素是隔行扫描的,以便某些由低等待时间子系统控制,而某些由高等待时 间子系统控制;通过隔行扫描,这些显示器对于用户而言可能看起来是重叠的。在一个实施 例中,在显示器上呈现的帧是隔行扫描的,以便某些帧由低等待时间子系统控制,而某些帧 由高等待时间子系统控制;通过帧隔行扫描,显示器对于用户而言可能看起来包含组合的 图像。在一个实施例中,可以主要或完全地以硬件生成低等待时间响应。在一个实施例中, 低等待时间响应可以从直接从输入传感器接收到的输入传感器数据来生成。在一个实施例 中,通过具有到显示器硬件的高带宽链路,显示低等待时间响应。
[0053] 在设计低等待时间子系统的用户接口时,可以考虑下列约束中的一项或多项: ?信息:为了形成系统的对输入的响应需要的来自高等待时间子系统的任何信息或处 理将必定具有高等待时间,除非这样的信息或处理例如被预先渲染或预先供应。 ?性能:为以低等待时间形成响应允许的时间必定是受限的。甚至对于硬件加速,响应 的设计必须被仔细性能驱动,以保证响应满足所希望的低等待时间。 ?保真度:渲染的低等待时间图像的保真度可能难与较高等待时间渲染(实际上,它可 能是通过高等待时间系统预先渲染的)区分;可以对保真度施加附加约束,以改善性能,诸 如例如视觉项目只是单色的,和/或仅限于视觉图元,和/或音频或触觉响应的持续时间或 特征是受限的。可以通过系统的各种元件来引入这一类型的约束,包括加速硬件或通过输 出硬件(诸如显示器、触觉输出设备,或扬声器)。 ?无干扰:在响应是混合化组合的各实施例中,应用程序的某些响应可以在低等待时间 层中生成,而某些在高等待时间层中生成,一个考虑可以是如何混合两者,例如以提供对用 户的输入的无缝响应。在一个实施例中,低等待时间响应不会干扰以后将一定发生的任何 可能的应用程序响应。在一个实施例中,可能会在低等待时间响应和传统响应之间发生干 扰,但是,可以通过设计,或通过响应的混合,来处理干扰。
[0054] 在一个实施例中,执行设计过程,利用对触摸的微分低和高等待时间视觉响应,以 创建一组视觉UI控件。一个比喻(metaphor)是将允许在两个响应层之间无缝转换的探寻。 这些视觉化包括诸如对象位置和状态之类的信息。使用上文所描述的约束,基于可行性,淘 汰设计。这样的实施例的最终设计基于头戴式显示器(heads-up display :HUD)比喻,类似 于军用飞行器中所使用的视觉化。HUD是合适的,因为传统的HUD在几何学上简单,相对容 易以真实的保真度实现在几何学上简单的显示器。HUD只表示正在被组合的两个视觉层的 一个示例,但是,在许多HUD中,计算机化的显示器重叠在视频或"现实世界"本身上。相应 地,HUD -般被设计为非干扰的。
[0055] 基于HUD比喻,针对在许多直接触摸系统中发现的一组n元件,开发了一组示例 性的触摸事件和UI元件特定的低等待时间层视觉化。这些示例性元素是常见的,且是代表 性的;它们的交互(轻敲、拖拽、两手指夹紧)覆盖当前直接触摸设备中所使用的大部分交 互空间。在表1中描述了在这样的实施例中开发的低等待时间,它们在图6-8中示出。
表1:每一个元素和触摸事件的加速视觉项目,其符合对触摸输入的标准高等待时间 响应。
[0056] 这三个元素表示用于触摸输入的标准n工具箱的宽泛覆盖范围。大多数高阶n 元素由这些比较简单的元素构成(例如,圆形按扭以及复选框两者都是"按钮",滚动条是 带有受约束的平移和旋转的"可拖拽/可调整大小的")。此处所描述的加速的输入系统和 方法取决于在两个显著不同的等待时间级别操作的视觉项目的结合;此等待时间差异已经 被结合到低等待时间视觉化的设计中。在一个实施例中,可向用户通知两个系统的状态,当 视觉层校准时这两个系统具有相干同步。在一个实施例中,用户可能能够区别系统反馈的 高和低等待时间部分。在一个实施例中,视觉元素以在低等待时间响应和传统响应之间没 有明显的区别的方式来混合。
[0057] 在一个实施例中,应用程序开发人员使用工具箱,来通过组装⑶I控件的正常的 过程,来构建他们的应用程序。在执行时,UI元素将它们的视觉化分为两支,其中高和低等 待时间视觉化被渲染并重叠在单个显示器上。图9示出了流过这样的系统的信息的实施 例。信息从输入设备910流入系统中,且最初由输入处理单元(IPU)920处理,通过IPU软 件工具箱930编程。然后,由两个子系统一一低等待时间的低保真度子系统940,以及高等 待时间子系统950,诸如例如在常规软件堆栈中运行的常规软件之类一一并行地处理n事 件。在一个实施例中,低等待时间的低保真度子系统940可以以诸如图4的FPGA 440之类 的硬件来实现。
[0058] 在此实施例中所描述的分叉造成基本通信问题,其中,在用户开始给出输入之前, 必须定义应用程序逻辑所需的低等待时间子系统940所提供的初始响应的任何参数化。要 求在呈现时由应用程序进行处理的任何响应将引入低等待时间系统940对高等待时间系 统950的依赖,因此,可能将迟延引回到系统中。在一个实施例中,低等待时间系统940的 对输入的响应的较晚的阶段可能取决于高等待时间子系统950。在一个实施例中,低等待时 间子系统940的对输入的响应的较晚的阶段对高等待时间子系统950的依赖被管理,以便 该依赖不会引入额外的等待时间。在一个实施例中,将完全地避免该依赖。
[0059] 在一个实施例中,可以将n元素逻辑构建到低等待时间子系统中。在用户输入之 间,在高等待时间子系统950中执行的应用程序有机会为低等待时间子系统940的UI元素 的模型提供参数。如此,在一个实施例中,可以通过提供负责低等待时间反馈的单独的控制 器,来扩展n软件设计的MVC模型。在一个实施例中,在软件设计中,可以为每一个控件指 定下列各项中的一项或多项: ?元素类型(例如,按钮、可拖拽对象、可滚动列表等等)。 ?包围尺寸(例如,x位置、y位置、宽度、高度等等)。 ?有条件的:额外的图元信息(例如,在可滚动列表的情况下,列表项的大小,等等)。
[0060] 在一个实施例中,用于对触摸输入的给定元素类型的响应的逻辑被存储在低等待 时间子系统940中。可以以同样的方式传递低等待时间子系统的对用户输入的响应的进一 步参数化,从而允许较大的自定义度。在一个实施例中,处理传感器数据,以生成事件(或 其他经过处理的输入流的形式),然后,分开地将事件分发到低等待时间子系
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1