具体实施方式
下面连接附图详细说明本发明的各种具体例子。为便于读者理解,此说明书分为以下几个段落,如下:术语、使用电子笔参数检测按下并保持动作的总体说明、对本发明有用的硬件示例、本发明的具体例子,及结论。
A.术语
下面的术语在本说明书中使用,且除非明确指出或由上下文确定其含义,这些术语有下面所提供的含义。
“墨水”或“电子墨水”或“数字墨水”-在基于笔的计算***上的一个或多个手写笔触的序列或集合。笔触的序列可以包括排序形式的笔触。序列可以按获取笔触的时间或笔触在页面中出现的地方来排序。也可以使用其他顺序。笔触集合可以包括笔触的序列或无序的笔触或其任意组合。
“笔触”-获取的点的序列或集合。例如,当呈现在计算机屏幕上或以其他方式呈现时,可以用线来连接点的序列。另外,可以将笔触表示为点和在下一个点的方向上的向量。进一步来说,笔触可以作为点的简单列表(或数组或表)来引用。简言之,笔触用于包括和墨水相关的点或线段的任何表示,而不管点和/或点的连接的底层表示。
“点”-定义空间中的位置的信息。例如,可以相对于获取空间(例如,数字转换器上的点)和/或显示空间(显示设备的点或象素)来定义点。可以使用各种已知的技术包括二维笛卡儿坐标(X,Y)、极坐标(r,θ)、三维坐标((X,Y,Z),(r,θ,ρ),(X,Y,t(其中t为时间)))、四维坐标((X,Y,Z,t)和(r,θ,ρ,t))和技术中其他已知的方法来表示点。
“笔”-用于输入墨水到电子文档中的任何类型的用户输入设备。
“按下笔事件”-在笔靠近、接触和/或与数字转换器交互时触发的事件。通常,按下笔事件将在笔离开数字转换器避免、离开该表面一定距离和/或停止与数字转换器交互(如,数字转换器不再感知笔的出现(在本说明书中亦称为“提起笔事件”))时结束。由于一些笔是“激活的”,按下笔事件可以在笔接触数字转换器表面之前开始(即,数字转换器可以在笔接近数字转换器表面且保持靠近数字转换器表面时感知笔的出现)。另外,按下笔事件可以在笔实际上离开数字转换器表面之后继续(即,数字转换器可以在笔离开数字转换器表面之后而还保持靠近数字转换器表面时感知笔的出现)。在一些实例或一些***中,按下笔事件需要笔和数字转换器表面之间实际的物理接触。
“按下并保持”-持续足够的时间且笔的位置改变足够小以激活计算***的预定处理的按下笔事件。
“呈现”或“已呈现”或“正在呈现”-确定如何显示信息(包括文本、图形和/或电子墨水),是在屏幕上、打印,还是以某种其他方式输出的的处理。
“计算机可读媒体”-可以由用户在计算机***上访问的任何可用媒体。作为例子,而非限制,“计算机可读媒体”包括计算机存储媒体和通讯媒体。“计算机存储媒体”包括以存储如计算机可读指令、数据结构或其他数据这样的信息的任何方法或技术实现的易失的和非易失的、可移动的和不可移动的媒体。“计算机存储媒体”包括,但不仅限于:RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多用途盘(DVD)或其他光学存储设备、盒式磁带、磁带、磁盘存储或其他磁存储设备,或可以用于存储所需信息并可以由计算机访问的任何其他媒体。“通讯媒体”通常包含如载波或其他传输机制这样的调制的数据信号中的计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息发送媒体。术语“调制的数据信号”指它的一个或多个特性以这样的方式设置或改变从而在信号中编码信息的信号。作为例子,而非限制,通讯媒体包括有线媒体,如有线网络或直接有线连接,和无线媒体,如声音、无线电、红外线及其他无线媒体。上述的任何组合也应包括在“计算机可读媒体”的范围之内。
B.使用电子笔参数检测按下并保持动作的总体说明
总的来说,本发明涉及用于确定电子笔相对于基于笔的计算***的数字转换器屏幕的特定动作是否应作为“按下并保持”动作处理的***、方法和计算机可读媒体。本发明的各方面涉及这样的方法,所述方法包括:(a)在按下笔事件中测量与笔相对于数字转换器的交互或方向关联的第一个参数;(b)在按下笔事件中测量与笔相对于数字转换器的交互或方向关联的第二个不同的参数;及(c)至少部分基于第一个和第二个参数确定按下笔事件是否包含按下并保持动作。在本发明的一些例子中,如果所述***和方法不能立即确定是否按下并保持动作出现,参数测量可以再次进行(根据需要进行任意多次或直到发生超时),以使得附加执行确定步骤一次或多次,以考虑先前的参数测量之后收集的附加的参数测量数据。
在执行本发明的方法期间,可以考虑很多种不同的参数并对其求值。例如,至少一个所测量的参数包括从下面组中选择的至少一个成员:笔在X方向上的移动、笔在Y方向上的移动、笔在Z方向上的移动、笔在数字转换器法向上的压力、笔在数字转换器切向上的压力、笔按钮压力、笔在X方向上的倾斜方向、笔在Y方向上的倾斜方向、笔方位方向、笔高度方向、笔扭曲方向、笔俯仰旋转、笔滚动旋转、笔偏航旋转、笔在X方向上移动的速度或加速度、笔在Y方向上移动的速度或加速度、笔在Z方向上移动的速度或加速度、笔在数字转换器法向上的压力的变化、笔在数字转换器切向上的压力的变化、笔按钮压力的变化、笔在X方向上的倾斜方向的变化、笔在Y方向上的倾斜方向的变化、笔方位方向的变化、笔高度方向的变化、笔扭曲方向的变化、笔俯仰旋转的变化、笔滚动旋转的变化、笔偏航旋转的变化。作为更具体的例子,在本发明的至少部分例子中,所测量的参数可以包括:笔稳定性参数、有关笔触尺寸的信息(如,笔触宽度、笔触高度、笔触宽高比、笔触高宽比等等)、笔压力参数、笔相对于数字转换器的角度及笔的移动方向、速度或加速度。例如,在本发明的一些例子中,当笔触宽高比超过预定值或以预定比率改变时,按下笔事件确定为不包含按下并保持动作。又如,当笔触宽高比超过预定值或以预定比率改变时,按下笔事件可以在至少一些情况下确定为包含选择动作。
本发明的附加方面涉及初始设置和/或调整确定停留动作是否包含按下并保持动作的标准。例如,可以随着时间推移设置和/或调整这些标准,以考虑特定用户对基于笔的计算***的输入和对该***的使用的特性。作为更具体的例子,在本发明的至少部分例子***和方法中,至少部分基于模式用户按下并保持动作输入来设置和/调整至少一个确定按下笔事件是否包含按下并保持动作的标准。换句话说,在适当的时间(如,当用户初始设置基于笔的计算***的操作***时),要求他或她提供一个或多个样本“按下并保持”操作,且***可以设置和/或调整稳定性标准和/或用于基于这些样本操作确定按下并保持动作的其他标准。作为另一个具体的例子,可以随着时间推移基于先前确定先前的按下笔事件是否包含按下并保持动作来调整至少一个确定按下笔事件是否包含按下并保持动作的标准。换句话说,如果所述***和方法根据本发明的一些例子感知到用户已做出一个或多个激活按下并保持处理的失败尝试和/或如果它们感知用户已错误地激活按下并保持处理,它们可以基于这些信息调整激活按下并保持处理的标准。通过这样的方法,所述***和方法根据本发明的一些例子可以对特定用户的典型输入特性进行定制。
本发明的附加方面还涉及执行各种方法,如上面所述的方法的***。这样的***可以包扩:(a)接收输入的数字转换器;(b)测量各种笔方向或交互参数,如上述的参数并确定是否应将特定的按下笔事件作为按下并保持动作处理的处理器。又如,这样的***可以包括:任何适合用于测量第一个参数的方法、任何适合用于测量第二个参数的方法,和任何适合用于至少部分基于第一个和第二个参数确定按下笔事件是否包含按下并保持动作的方法。
本发明的附加方面涉及包括存储于其上、用于执行上述各种方法的计算机可执行指令的计算机可读媒体。
在此使用的术语“第一个参数”和“第二个参数”只是为了方便,简单地表明两个参数互不相同。使用术语“第一个”和“第二个”不应视为要求测量以任何特定的时间顺序发生。相反,在本发明的***、方法和计算机可读媒体中,第一个和第二个参数可以按任何适合的顺序、同时、重叠的方式、在不同的时间区间或时间长度和/或以改变的顺序来测量而不偏离本发明。另外,可以在确定过程中测量和考虑任何所需数量的参数而不偏离本发明。
将在下面连接附图对本发明的各方面及例子进行详细说明。说明和附图应被视为本发明的例子而非对本发明的限制。
C.对本发明有用的硬件示例
图3为示意图,展示可以用于实现本发明各方面的通用数字计算环境的说明性例子。在图3中,计算机100包括处理单元110、***存储器120和连接包括***存储器120的各种***组件到处理单元110的***总线130。***总线130可以为几种总线结构中的任意一种,几种总线结构包括存储器总线或存储器控制器、周边元件总线和使用各种总线结构中的一种的本地总线。***存储器120包括只读存储器(ROM)140和随机访问存储器(RAM)150。
基本输入/输出***160(BIOS)存储在ROM140中,它包含帮助在计算机100内的元件之间传输信息(如在启动期间)的基本例程。计算机100还包括读写硬盘(未示出)的硬盘驱动器170、读写可移动磁盘190的磁盘驱动器180和读写可移动光盘192(如CD-ROM或其他光媒体)的光盘驱动器191。硬盘驱动器170、磁盘驱动器180和光盘驱动器191各自通过硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194连接到***总线130。驱动器及其关联的计算机可读媒体对个人计算机100提供计算机可读指令、数据结构、程序模块和其他数据的非易失存储。熟悉技术的人应理解,可以存储能够由计算机访问数据的其他类型的计算机可读媒体,如盒式磁带、闪存卡、穿孔卡、数字视频盘、伯努利磁带、随机访问存储器(RAM)、只读存储器(ROM)等等,也可以用在例子操作环境中而不偏离本发明。
可以在硬盘驱动器170、磁盘190、光盘192、ROM 142或RAM 150中存储多个程序模块,包括操作***195、一个或多个应用程序196、其他程序模块197和程序数据198。用户可以通过输入设备,如键盘101和定点设备102输入命令和信息到计算机100中。其他输入设备(未示出)包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其他输入设备通常通过连接到***总线的串行口接口106连接到处理单元110,但是也可以通过其他接口连接,如并行口、游戏口、通用串行总线(USB)等等。进一步来说,这些设备可以通过适当的接口直接连接到***总线130(未示出)。显示器107或其他类型的显示设备也通过接口连接到显示器107,如视频适配器108。除了显示器107,个人计算机通常包括其他周边输出设备(未示出),如扬声器和打印机。在一个例子中,提供笔数字转换器165和附带的笔或触针166以电子地获取手写电子墨水输入。虽然展示了笔数字转换器165和串行口接口106之间的直接连接,在应用中,笔数字转换器165可以直接连接到处理单元110、连接到并行口、连接到另一接口和***总线130,如技术中所知的那样。进一步来说,虽然展示的数字转换器165与显示器107分离,数字转换器165的可用输入区域可以和显示器107的显示区域重叠。进一步来说,数字转换器165可以集成在显示器107中,或作为重叠或附加到显示器107的独立设备存在。
计算机100可以使用到一个或多个远程计算机,如远程计算机109的逻辑连接工作在联网环境中。远程计算机109可以为服务器、路由器、网络PC、对等设备或其他普通网络节点,且通常包括很多或所有相对于计算机100说明的元件,虽然在图3中仅展示了存储器存储设备111。图3中说明的例子逻辑连接包括局域网(LAN)112和广域网(WAN)113。这样的联网环境在使用有线和无线连接两者的办公室、企业范围计算机网络、企业内部互联网和因特网中是常见的。
当用在LAN联网环境中时,计算机100可以通过网络接口或适配器114连接到局域网112。当用在WAN联网环境中时,个人计算机100通常包括调制解调器115或在广域网113,如因特网上建立通讯的其他方法。调制解调器115对计算机100可以是内置或外置的,可以通过串行口接口106连接到***总线130。在联网的环境中,相对于个人计算机100或其部分说明的程序模块可以被存储在远程存储器存储设备111中。
应理解所示的网络连接是说明性的且可以使用在计算机之间建立通讯连接的其他技术。假设存在任何各种众所周知的协议,如TCP/IP、UDP、以太网、FTP、HTTP等等,且***可以工作在客户机/服务器配置下以允许用户检索来自基于Web的服务器的网页。可以使用各种常规的Web浏览器来显示和处理网页上的数据。
图4展示说明性的基于笔或触针的计算***201(如,平板PC、PDA等等),此***可以根据本发明的各方面进行使用。图3的***的任何或所有的特性、子***和功能可以包含在图4的计算***中。基于笔或触针的计算***201包括大的显示表面202,如数字化平板显示,如液晶显示(LCD)屏,在上面显示了多个窗口203。使用触针204,用户可以在数字化显示表面202上选择、加亮和/或书写。适合的数字化显示表面202的例子包括电磁笔数字转换器,如由Mutoh公司或Wacom Technology公司提供的笔数字转换器。也可以使用其他类型的笔数字转换器,如光学数字转换器。基于笔或触针的计算***201解释使用触针204做出的动作来处理数据、输入文本、创建图形和/或执行常规计算机应用任务,如电子表格、字处理程序等等。
触针204可以配备一个或多个按钮或其他特性来增强其功能。在一个例子中,触针204可以作为“铅笔”或“钢笔”实现,在其中一端包含书写部分而另一端包含“橡皮擦”端,当橡皮擦端沿着显示屏移动时,指示擦除显示的那些部分。也可以使用其他类型的输入设备,如鼠标、轨迹球等等。另外,用户自己的手指可以作为触针204并用于选择或指示在触摸敏感或靠近敏感的显示屏上显示的图像的部分。因此,术语“用户输入设备”,如在此所用,有广义的定义并包含很多众所周知的输入设备,如触针204的变体。区域205展示允许用户确定触针204在何处接触显示表面202的反馈区域或接触区域。
在各个例子中,***将墨水平台作为应用程序可以用它来获取、处理和存储墨水的一组COM(组件对象模型)服务来提供。墨水平台也包括标记语言,包括象可扩展标记语言(XLM)那样的语言。进一步来说,***可以使用DCOM作为另一种实现。又一种实现可以使用来自Microsoft公司的Win32编程模型和.Net编程模型。这些平台都是商业上可获得的并且在技术中为人所知。
现在连接余下的附图对本发明进行说明,它们展示本发明的各种例子及有助于解释本发明的信息。包含在此详细说明中的特定图形和信息不应视为是对本发明的限制。
D.本发明的具体例子
如上所述,在至少部分基于笔的计算***中,使用电子笔输入至少部分用于控制用户接口的输入到计算***中,如,通过在屏幕上轻点笔尖和/或通过用笔进行“按下并保持”动作来激活功能。本发明的例子包括有助于区分按下并保持动作和由笔执行的其他动作,如做出小的笔触(如,着重点、擦除等等)或窄的选择或小的笔触和/或文本的***、方法和计算机可读媒体。
图5a和5b展示对于上述问题可能会混淆和错误解释笔输入的例子。具体地,如图5a所示,按下笔事件发生在点300,紧接着单词“large”中的字母“l”左边。提起笔事件发生在点302,紧接着同一字母“l”右边。在此例子中,对基于笔的计算***和方法来说难于确定用户是想:(a)激活按下并保持处理(如,激活鼠标右键点击),(b)选择单词“large”中的字母“l”,还是(c)进行其他动作(如,画一个笔触,擦除等等)。在图5b中,为了在墨水单词“large”后面写出逗号,按下笔事件发生在点310且提起笔事件发生在点312。在此例中,对基于笔的计算***和方法来说难于确定用户是想:(a)增加对应于逗号的电子墨水,(b)激活按下并保持处理,还是(c)进行其他动作。当需要时错误地激活按下并保持处理和/或错误地未能激活按下并保持处理会引起用户混淆,且这可能会输入错误到文档中。另一方面,基于笔的计算***和方法确定是否请求了按下并保持处理时的长时间等待期也会使用户感到困惑。
本发明的例子,至少在一些情况下,会提高确定停留动作(或短的或窄的笔触)是否包含按下并保持动作或其他动作的准确度。另外,在至少部分情况下,本发明的例子使得能够更快速地确定特定动作是否包含按下并保持动作或其他动作。
总的来说,本发明至少部分例子的方法包括:(a)在按下笔事件中测量与笔相对于数字转换器的交互或方向关联的第一个参数;(b)在按下笔事件中测量与笔相对于数字转换器的交互或方向关联的第二个不同的参数;及(c)至少部分基于第一个和第二个参数确定按下笔事件是否包含按下并保持动作(和/或其他动作)。
虽然,如上所述,在本发明的***和方法中可以测量各种参数,两个有用参数的例子包括在按下笔时间期间测量笔稳定性的参数和在按下笔事件期间提供有关笔触尺寸的信息的参数。笔稳定性因子可以为任何指示在按下笔事件期间笔停留在特殊点和/或预定区域内相对于数字转换器屏幕的角度的适当测量值。如果笔停留在给定区域内和/或移动非常缓慢,它应被视为更加“稳定”。笔在按下笔事件期间越稳定,越可能是用户试图激活按下并保持处理。如果笔在按下笔事件期间不稳定,这表明需要进行按下并保持处理的可能性较低。
可以使用任何适合的方法测量各种参数而不偏离本发明。例如,为了测量笔稳定性,本发明的***和方法可以测量笔相对于数字转换器屏幕的位置(如,X和/或Y坐标)和/或笔相对于数字转换器屏幕的位置随着时间的改变(如,X和/或Y坐标随着时间的改变(笔运动的速度或加速度))。
下面提供可以用于本发明实施例的稳定性参数测量的更加完整的例子。市场上提供的基于笔的计算***包括能够定期发送指示笔尖相对于数字转换器屏幕的位置(如,笔尖在数字转换器屏幕上的位置的X和Y坐标)的数据到计算机处理器的数字转换器。在一些这样的***中,按预定的时间间隔发送笔尖坐标,如每7.5毫秒一次。相应地,当用户开始可能包含按下并保持动作的某一动作(如按下笔事件),数字转换器每隔7.5毫秒(或其他适当的时间间隔)就通知处理器笔尖的位置。虽然由于一些用户可能不能在较长的时间内保持笔完全不动,使得笔尖位置会发生一些偏移,如果出现按下并保持动作,笔尖在用户试图激活按下并保持处理时通常不会移动很多。因此,在试图激活按下并保持期间,处理器会接收到在试图按下并保持的时候收集的笔尖位置点的列表。当试图激活按下并保持动作时随着时间产生的可能的数字转换器点的列表如下:
“稳定性因子”,或例子中的“S”,仅包含连续的在其中笔尖位置的X和Y坐标未变得和先前的测量不同的测量的数量。因此,可以用任何适合的方式从数据中确定“动作的稳定性参数”。例如,可以使用平均数和/或中位数稳定性因子作为稳定性参数。对上述列表中提供的数据,在60毫秒测量时期上对应于平均稳定性因子的稳定性参数是2.25。在此例中,稳定性因子越高,笔在该时间区间上越稳定,且按下笔事件更可能包含按下并保持动作。
当然,如果需要的话,按下并保持动作可以有预定的时间下限。在本发明的一些例子中,动作在它能够被视为按下并保持动作之前必须持续至少300毫秒或甚至400毫秒。这样的时间下限在本发明包括下限的那些例子中为收集数据以继续确定按下并保持处理分配时间。
显然,可以用多种不同方式及任何适合的方式测量稳定性而不偏离本发明。例如,本发明的一些例子的***和方法可以对在测量期间笔位于同一位置的次数总数计数且使用平均数或中位数作为稳定性参数,而不是对连续的其中笔未移动的时期的测量计数。又如,本发明的***和方法可以简单地确定X和Y坐标改变的次数并使用该值作为稳定性参数(如,在预定数量的测量上高百分比的改变表明不稳定的笔位置而低百分比的改变表明稳定的笔位置)。在又一例子中,本发明的***和方法可以在读取之间测量笔尖移动距离并使用此值(如,笔尖移动的平均或中位数)作为稳定性参数。也可以使用其他测量而不偏离本发明。
另一个在按下笔事件期间与笔相对于数字转换器的交互或方向关联的测量参数的有用例子涉及在按下笔事件期间有关“笔触尺寸”的信息。可以对此测量使用各种笔触尺寸参数而不偏离本发明,笔触尺寸参数包括但不仅限于:整体笔触长度、整体笔触宽度、整体笔触高度、笔触长宽和/或高的变化、、笔触宽高比等等。
象笔触稳定性一样,可以在按下笔事件发生时收集有关笔触尺寸的信息(如,从按下笔到每个测量时间的整体笔触宽度、从按下笔到每个测量时间的整体笔触高度、从按下笔到每个测量时间的整体笔触长度等等)。整体笔触宽度对笔触高度的比是方便用于确定给定笔触是否包含按下并保持动作的参数。有较低宽高比的笔触和相比,有较高的宽高比的笔触包含按下并保持动作的可能性更小。
图6a到图6c帮助展示笔触尺寸参数及其确定。例如,图6a展示通过按下笔事件在点400处到测量时间在点402构成的笔触406。在此期间,笔尖按所示移动,如404所示的“边界框”包含在此期间产生的整个笔触406。通过用它的整体高度H来除整个边界框宽度W,可以得到该笔触从按下笔事件到测量时间的笔触宽高比。此宽高比可以用作确定特定停留动作是否包含按下并保持动作的参数。
图6a展示在其中笔触宽高比稍微比1小的例子。宽高比越小,给定笔触越可能包含按下并保持动作。另一方面,图6b和6c展示当用户试图进行“选择”动作时可能出现的典型笔触。如图6b所示,笔触416的按下笔事件发生在图形左边点410处,当笔尖位于点412时进行测量。在此例中,如典型的那样,当进行很多选择动作时,整体笔触宽度W远大于整体笔触高度H,导致相对高的笔触宽到笔参数(在所示的例子中W/H约为5)。如图6c所示,在此情况,用户做出的笔触416将被作为选择单词“large”的“选择”动作处理。
从上述说明中明显可以看到,可以按各种不同的方法来使用笔触尺寸信息以提供确定给定的按下笔事件是否包含按下并保持动作的参数。例如,可以确定笔触高宽比、整体笔触宽度、笔触宽度的变化、笔触宽高比的变化、笔触高宽比的变化、整体笔触长度、笔触长度的变化,或其他参数并将它们用作笔触尺寸参数,而不是确定笔触宽高比,却不偏离本发明。
另外,很多种不同的参数可以用来确定特定动作是否包含按下并保持动作。这些参数的例子包括下面的组中的至少一个成员:笔在X方向上的移动、笔在Y方向上的移动、笔在Z方向上的移动、笔在数字转换器法向上的压力、笔在数字转换器切向上的压力、笔按钮压力、笔在X方向上的倾斜方向、笔在Y方向上的倾斜方向、笔方位方向、笔高度方向、笔扭曲方向、笔俯仰旋转、笔滚动旋转、笔偏航旋转、笔在X方向上移动的速度或加速度、笔在Y方向上移动的速度或加速度、笔在Z方向上移动的速度或加速度、笔在数字转换器法向上的压力的变化、笔在数字转换器切向上的压力的变化、笔按钮压力的变化、笔在X方向上的倾斜方向的变化、笔在Y方向上的倾斜方向的变化、笔方位方向的变化、笔高度方向的变化、笔扭曲方向的变化、笔俯仰旋转的变化、笔滚动旋转的变化和笔偏航旋转的变化。虽然下面主要使用稳定性和笔触尺寸作为确定是否出现按下并保持动作的两个参数来进行说明,熟悉技术的人应理解,可以使用任何适合的参数,包括上述的那些参数,而不偏离本发明。另外,虽然在下面的具体例子中使用两个参数进行说明,熟悉技术的人应理解,可以在确定处理中使用任何适合数量的参数和/或上述参数的组合而不偏离本发明。
图7包括流程图,展示本发明实施例中用于确定特定动作是否包含按下并保持动作的例子处理。当此处理开始时(S500),本发明此例子的***和方法在S502确定是否发生了“按下笔”事件(如,笔是否已接触或靠近数字转换器屏幕表面)。如果没有(回答否),本发明此例子的***和方法在需要时执行另一个处理S504并结束本处理S506(包括例如转到其他处理和/或等待附加的用户输入)。
如果在S502发生了按下笔事件(回答是),本发明此例子的***和方法将进行稳定性测量S508(如,通过确定笔尖的X和Y坐标,如上所述)和笔触尺寸测量S510(如,通过确定整体笔触宽度和高度,如上所述)。
如上所述,基于笔的计算***,包括那些能够用于本发明的***,通常能够经常地提供进行稳定性测量和笔触尺寸测量所使用的下层数据(如,每7.5毫秒)。虽然可以重新进行按下并保持确定,每次都会测量和稳定性测量和/或笔触尺寸测量相关的数据,这样做会不必要地占用***资源,尤其是在当只有很少的数据可用的测量早期阶段和确定用户进行按下并保持动作的可能性较低时。因此,在本发明的这个例子中,确定用户是否进行按下并保持操作的处理每十个测量周期进行一次(如,在一些***和方法中,在对应于75毫秒、150毫秒、225毫秒等等的第10、第20、第30等等个测量周期,)。显然,按下并保持确定可以在任何时候进行,在任何数量的测量周期之后(甚至在每次测量之后,如果需要的话)和/或进行按下并保持确定的频率可以在按下笔事件期间改变,而不偏离本发明。
通过在每十个测量周期或其他所需的间隔之后进行按下并保持确定处理,本发明此例子的***和方法,至少在一些时候,能够进行动作包含还是不包含按下并保持动作的早期确定。例如,笔相对于数字转换器表面的连续和/或快速移动(如,很低的稳定性和/或很高的宽高比和/或很大的笔触尺寸)可以较早得出动作不包含按下并保持的结论。又如,很稳定的笔位置可以较早确定动作包含按下并保持尝试。如果需要,确定按下并保持需要预定最小数量的测量周期,如测量300毫秒、400毫秒、450毫秒等等。因此,频繁进行按下并保持处理使得能够更加迅速地处理这些可以马上识别的情况,这有助于减少用户感受到的处理延时(即,用户不需要在每次激活按下并保持处理时都等待整整750毫秒到1000毫秒)。
回到图7,根据本发明的这个例子,在取得用于稳定性和笔触尺寸测量的底层数据之后(S508和S510),***接下来确定这是否是第10、第20、第30等等个测量周期(S512)。若不是(回答否),则处理返回到步骤S502并相应地重复步骤S502、S504、S506、S508和/或S510。如果S512处的回答为是,则执行确定用户是否进行按下并保持动作的处理。在此例子处理的第一个步骤,处理自按下笔事件开始后的测量值(如果需要的话)来提供确定所需的各种参数(S514)。这可以包括,例如,计算笔触的平均稳定性因子S和/或W/H比,如上所述。一旦有了这些参数,本发明此例子的***和方法接下来使用这些参数确定此动作是否包含按下并保持动作(S516)。可以用任何适合的方式实现此确定处理而不偏离本发明,且将在下面连接图8a到8d更加详细地说明一个例子方法。最小的按下并保持期间,如上所述,可以为在S516中确定动作是否为按下并保持时考虑的因子。
如果,在S516,确定动作包含按下并保持动作(回答是),则激活按下并保持处理(S518),这会导致显示下拉菜单或开始其他处理,且此处理结束(S520),如,等待后面的用户输入。
然而,如果在S516不能确定此动作是否为按下并保持动作(回答否,如,因为数据不足以或不能决定或因为没有过去足够的时间),***接下来确定动作是否仍然包含按下并保持动作(S522)。例如,对窄的笔触(较低宽高比)或比较稳定的笔触,附加数据测量(如,时间)和处理允许本发明此例子的***和方法确定出现了按下并保持动作。因此,对仍然可能包含按下并保持动作但不能在当前的测量水平进行确定的动作(在S522回答是),处理返回S502,在其中做出另一组的十个测量(S508和S510,假设按下笔事件在此附加的时间段期间继续-如果按下笔事件在能够确定按下并保持动作之前终止(在S502回答否),***确定按下并保持动作未出现,并执行另一处理(如果需要的话,S504))。
如果,在S522,确定了动作不可能包含按下并保持动作(回答否),如果需要的话,进行其他处理(S524),且此处理结束(S520)(如,等待其他用户输入和/或执行其他处理)。其他处理可以包括,例如,将按下笔事件作为新的墨水输入笔触处理,将按下笔事件作为选择动作处理等等。
有各种原因会导致动作不可能包含按下并保持动作的确定(在S522回答否)。例如,笔相对于数字转换器表面进行连续和/或快速的移动(很低的稳定性和/或很高的宽高比)会较早确定动作不包含按下并保持。又如,如果发生按下并保持确定超时(如,如果在预定的时期,如1秒内不能确认按下并保持),则不会开始按下并保持处理。在确定是否仍然可能出现按下并保持动作时也可以考虑各种其他因子和/或参数。
同样,连接图7所说明的处理也只是适用于本发明的一些实施例的处理的例子。本发明不仅限于图7中所述的特定步骤和/或只能执行那些特定步骤的***。熟悉技术的人应承认,可以测量各种不同的参数和/或将它们用在各种确定中,可以执行附加的步骤,各步骤的顺序可以改变,可以删除特定步骤,至少在部分实施例中,及其类似,而不偏离本发明。
任何适合的算法或方法都可以用于通过包括在确定中的参数确定按下并保持动作是否出现。例如,基于所测量的参数,可以设计“查询表”或函数来确定参数值的特定集合或组合是否包含按下并保持动作,参数值的特定集合或组合是否包含其他动作(如墨水笔触、选择动作等等)和/或基于计算出或已确定的参数值是不是还不能确定动作的特征。
图8a到图8d展示各种图表或“查询表”的例子,可以准备这些图表或“查询表”并将其用于使得能够确定特定动作(根据它们所测量的参数)是否包含按下并保持动作或其他动作。具体地,在图8a到图8d所示的例子中,沿着纵轴画出稳定性参数(向下移动时增加稳定性)并沿着横轴画出笔触宽高比(或另一笔触尺寸参数)(当向右移动时增加比值)。如所述,图8a展示用于图7的处理10个测量周期之后的查询表的例子,图8b展示用于20个测量周期之后的查询表的例子,而图8c展示用于100个测量周期之后的查询表的例子。因为在按下笔事件早期(如,在10个测量周期之后)可用数据相对较少,用于10个测量周期之后的查询表(图8a)会比较保守,仅将非常稳定和窄的笔触(区域E)确定为按下并保持并仅将移动非常快和/或宽的笔触(区域B)确定为选择动作。在此测量水平,有使它们位于区域A、C、D和F内的参数的笔触不能被确定(如上所述,如果需要,确定按下并保持动作可能需要一些预定的最小数量测量周期,如30-50个周期)。然而,在20个测量周期之后,查询表(图8b)会变得更加积极一些,因为在测量中已使用了更多的数据。因此,如图8b所示,区域B和E占用其他区域(A、C、D和F)的空间而变得更大一些。可以在每个处理水平提供不同的“查询”表或函数。在100个测量之后,区域B和E变得更大,仍然是占用其他区域的空间(见图8c)。
可以用任何适合的方式确定查询表中各区域的分界线的位置而不偏离本发明。例如,可以使用从很多使用基于笔的计算***的用户获取的经验数据来确定各分界线的位置。再者,各分界线不需要为直线。相反,如图8d所示,曲线、不规则的线,或不直的线可能更好地定义重要区域,如区域B和E。
然而,应理解,图8a到图8d仅是帮助展示如何使用参数来确定特定动作包含是否按下并保持动作的说明性例子。本发明的***和方法不需要实际上在图上画出参数并产生或使用两维(或更多维)的如这些图中所示的此类查询表。例如,如果适当,本发明的一些例子的***和方法可以使用数值表来提供对参数的各种组合获取的结果的指示。又如,本发明的一些例子的***和方法可以使用数值函数(如,从实际的用户输入数据得到)来确定输入参数的特定组合是否包含按下并保持动作。此例函数的一个例子如下:
F(x,y)=K1x+K2y+K3
其中:x表示第一个参数(如,确定的或计算的稳定性参数);y表示第二个参数(如,确定的或计算的宽高比);K1、K2和K3为常数(如,通过经验数据得到和/或获得);而F(x,y)表示函数计算出的值。在此例中:(a)对F(x,y)>预定的标准值A,动作被确定为按下并保持动作(稳定性因子占优);(b)对F(x,y)<预定的标准值B,动作被确定为非按下并保持动作(可能为选择或笔触或其他适当的动作,宽高比占优);及(c)对B<F(x,y)<A,结果是不能确定,且***将或者继续附加的测量和/或超时而不激活按下并保持处理。A和B表示预定的标准值(如,通过经验数据得到和/或获得)。取决于各种因素,A、B、K1、K2和K3可以改变,如所做出的测量次数、独立的用户输入等。
再者,不需要在所有情况下都使用至少两个参数来做出特定动作是否包含按下并保持动作的的最后确定。例如,仅基于稳定性参数、宽/高比参数、笔尖速度参数等等,快速移动的笔触就可以被确定为包含按下并保持之外的其他动作。在此例中,非按下并保持的确定也可以在很少的几个测量周期之后快速做出。
本发明的一些实施例的附加特性允许***和方法基于特定用户的特征定制按下并保持的确定。以此方式,本发明的至少部分实施例的***和方法可以使按下并保持动作在某些情况和/或对某些用户(如,对不能很稳定地握笔的用户)激活更简单并在其他情况下和/或对其他用户(如,对通常非常稳定的用户快速激活按下并保持处理并防止意外激活按下并保持)激活更困难。在本发明的***和方法的这些例子的一部分中,可以基于用户输入设置和/或调整至少一个确定特定动作是否包含按下并保持动作的标准。例如,当设置操作***或初始登录到该***时,可以要求用户提供一个或多个“样本”按下并保持操作,且此样本数据可以被用于设置/或调整确定动作是否包含按下并保持的标准。
另外,或作为其他选择,当用户变得熟悉该基于笔的计算***并使用此***还执行大量的按下并保持操作时,***可以“学习”特定用户的按下并保持倾向。例如,本发明的***和方法可以(a)记录用户执行成功的按下并保持动作的特征;(b)记录当用户快速关闭按下并保持操作而不采取行动的情况的特征(表明发生了错误的按下并保持激活);及/或(c)记录当用户紧接着一个或多个当按下并保持未***被激活的情况成功地执行按下并保持动作的情况的特征(表明尝试了按下并保持但并未成功激活)。又如,***可以包括在按下并保持激活之后出现这样的菜单项,它允许用户关闭按下并保持菜单并通知***该菜单被错误地激活了(如,当按下并保持菜单被激活时,可以用各种方式来关闭,如用笔点击屏幕上别的地方、点击菜单上的“关闭”按钮或点击菜单上的“关闭-错误激活按下并保持”按钮)。这些特征和信息可被用于在***中设置和/或调整确定按下笔事件是否包含按下并保持动作的标准。又如,当用户获得对***的经验时,可以偶尔请求样本用户按下并保持输入。
可以用任何适合的方式设置和/或调整各种标准而不偏离本发明。例如,在两维查询表图8a到图8d所示的中,样本用户按下并保持输入数据和/或过去的按下并保持使用特征可以用于设置和/或调整表中的一条或多条线的位置(或用于调整存储在***中的数值表中的值)的。又如,样本用户按下并保持输入数据和/或过去的按下并保持使用特征可以被用于设置和/或调整上述函数F(x,y)中的常数K1、K2和K3和/或预定的标准值A和/或B。可以使用适合的使用样本用户按下并保持输入数据和/或过去的按下并保持使用特征的任何其他方法来设置和/或调整确定按下笔事件是否包含按下并保持动作的标准而不偏离本发明。
图9展示在本发明进行图7所述的处理的一些实施例中计算机显示屏的外观的例子。在一些情况下,确定按下并保持是否已发生需要一些时间,且用户至少在某些情况下可能会注意到这个处理延时。为了在正在进行某些处理和处理完成时通知用户,用户的显示屏600会以适合的方式改变,如以图9所示的方式。特别地,在图9中,“X”602标记按下笔事件发生的点(虽然不是必须的,当进行此处理时,“X”或另一适当的标记或光标可以出现在实际的显示屏上)。一旦按下笔事件开始,处理也开始确定此事件是否包含按下并保持动作,例如,如连接图7所说明的那样。相应地,在本发明的至少部分实施例中,符号604的序列将出现在笔尖附近,且序列中的符号604的数量将随着处理时间继续而增加。此动作(a)正在进行按下并保持处理和(b)在按下并保持处理完成时通知用户。如果,在处理过程中的任何时间,确定出现了按下并保持尝试或确定非按下并保持动作,此处理可以立即终止,符号604消失且/或可以继续或开始其他适合的处理。
当然,可以使用任何适合类型的可视和/或声音处理指示器而不偏离本发明。例如,可以出现钟、沙漏和/或任何适合的图标,替换地或可选地和声音指示器一起,来指示已做出按下并保持确定。
最后,本发明也涉及包含存储于其上、用于执行各种方法和/或用在上述的各种***中计算机可读指令的计算机可读媒体。计算机可读媒体可以包含存储在上述各种具体例子上的计算机可读指令。
E.结论
上面已对本发明的各种实施例进行了说明,且熟悉技术的人应理解,这些实施例所有的组合及子组合都包括在本发明的范围之内。另外,熟悉技术的人应承认,上述实施例仅作为本发明各方面的例子。可以做出各种改变和修改而不偏离本发明的精神和范围,如在后附的权利要求中定义的那样。