首页> 中国专利> 使用移动设备注释共享显示器的系统和方法

使用移动设备注释共享显示器的系统和方法

摘要

使用移动设备定位与主机设备联接的共享显示器上的显示内容的注释的系统和方法。来自移动设备的诸如陀螺仪数据和加速度计数据的传感器数据可以发送到主机设备,并用来生成注释。可以在共享显示器上进行显示之前或之后,对传感器数据进行预处理,以使数据平滑并将其拟合为参数化曲线或形状。移动设备的用户可以与移动设备交互以进一步开始和停止注释,以及表示动画化注释。

著录项

说明书

相关申请的交叉引用

本申请要求于2018年6月2日提交的第15/996,455号美国专利申请的优先权,该美国专利申请的全部内容通过引用并入本文。

背景技术

传统的注释和白板系统已经被设计为用于单用户演示情况,在这种情况下展示用户站在房间的前面并且直接与显示器进行交互以在显示器本身上进行标记和绘制。其它注释系统允许用户在触摸显示器上使用数字笔或者甚至是用户的手指来在现有内容的顶部上触摸数字显示表面或在数字显示表面绘制。用户的触摸点直接表示显示器上应该发生相应的绘制事件的点。例如,当用户触摸点(x,y)

已经通过允许用户在他们自己的设备上与模拟显示器交互引入了这种模型的替代方案。于是,用户可以保持在适当的位置以在本地显示器上进行绘制,然后这些注释被平移到房间中的显示器以便进行群组观看。

发明内容

以下发明内容旨在提供本文所公开的实施例的一些方面。如本领域的普通技术人员将理解的,可以以任何期望的方式来组合发明内容的各方面以及其它方面的实施例内的特征,以及发明内容的给定方面中所公开但未列出的特征。因此,以下发明内容在范围上不是限制性的,而是出于示例目的而列出的。

在第一方面中,用于注释共享显示器的系统包括具有处理器、位置传感器和客户端注释指令的移动设备,该客户端注释指令在由处理器运行时进行操作以:将移动设备注册到与共享显示器连接的主机设备,响应于经由用户与移动设备的交互而生成的开始指示,使用从移动设备的位置传感器捕获的传感器数据来定位对共享显示器上的显示内容的注释。

在第一方面的实施例中,位置传感器包括移动设备的陀螺仪和加速度计。

在第一方面的实施例中,客户端注释软件还配置为将共享内容从移动设备发送到主机设备,并且注释是在共享内容上的注释。

在第一方面的实施例中,将移动设备注册到主机设备包括:经由移动设备的输入设备与用户进行交互,以接收注册输入;将注册输入发送到主机设备;以及,如果注册输入与主机ID匹配,则在主机设备和移动设备之间建立连接。

在第一方面的实施例中,主机ID显示在共享显示器上。

在第一方面的实施例中,定位显示内容的注释包括:在多个时间测量处监测传感器数据;以及生成限定共享显示器上的注释的预期动作的一系列(x,y)屏幕坐标。

在第一方面的实施例中,定位显示内容的注释包括:在多个时间测量处监测传感器数据;基于传感器数据生成倾斜、偏航和转动信息;以及,将倾斜、偏航和转动信息作为客户端注释输出发送到主机设备。

在第一方面的实施例中,监测传感器数据还包括在多个时间测量中的至少两个之间生成平移信息,并且还输出平移信息作为客户端注释输出。

在第一方面的实施例中,客户端注释指令还进行操作以接收客户端输入数据并基于客户端输入数据输出客户端注释输出。

在第一方面的实施例中,客户端输入数据包括待在与主机设备联接的共享显示器上显示的注释的颜色、大小、形状和文本中的一个或多个。

在第一方面的实施例中,客户端输入数据包括在移动设备处接收的指示在共享显示器上动画化注释的动画指示。

在第一方面的实施例中,开始指示包括用户在输入设备上按下按钮。

在第一方面的实施例中,开始指示包括经由加速度计数据检测到的由用户进行的移动设备拾取动作的检测。

在第一方面的实施例中,客户端注释指令还进行操作以接收停止指示,并响应于开始指示而结束定位注释。

在第一方面的实施例中,停止指示包括用户在输入设备上按下按钮。

在第一方面的实施例中,停止指示包括经由加速度计数据检测由用户进行的电话放下动作。

在第一方面的实施例中,定位注释包括:在多个时间测量处监测传感器数据;基于传感器数据识别预期注释的多个控制节点;对多个控制节点拟合参数化函数以确定参数化曲线;以及将参数化曲线作为客户端注释输出发送给主机设备。

在第一方面的实施例中,参数化曲线是多项式曲线或样条曲线。

在第一方面的实施例中,定位注释还包括:在拟合参数化函数期间,将形状拟合到多个控制节点或参数化曲线,以及当形状在预定的拟合阈值内拟合时,将形状而不是参数化曲线发送到主机设备。

在第一方面的实施例中,客户端注释指令生成客户端注释输出,客户端注释输出指示当传感器数据超过传感器阈值时在共享显示器上重置注释。

在第二方面,用于注释共享显示器的系统,包括:与共享显示器联接的主机设备,并且主机设备包括处理器和存储器,存储器存储有主机注释指令,主机注释指令在由处理器运行时进行操作以:将主机ID发送到共享显示器以便在其上进行显示,将显示内容发送到共享显示器以便用以在其上进行显示,响应于确定从客户端设备接收到的注册输入与主机ID匹配,将主机设备与移动设备无线连接,响应于接收到经由用户与移动设备的交互而生成的开始指示,基于从移动设备接收到的客户端注释输出来定位所显示的内容注释,客户端注释输出是基于来自移动设备的位置传感器的传感器数据。

在第二方面的实施例中,位置传感器包括移动设备的陀螺仪和加速度计。

在第二方面的实施例中,主机注释软件还配置为从移动设备接收共享内容,该注释是在共享内容上的注释。

在第二方面的实施例中,定位所显示的内容注释包括在预设的注释初始开始点处初始化共享显示器上的注释。

在第二方面的实施例中,定位注释包括当客户端注释输出反映传感器数据已经超过传感器阈值时将注释复位到初始开始点。

在第二方面的实施例中,注释初始开始点是共享显示器的中心。

在第二方面的实施例中,所显示的内容注释包括要叠加在显示内容上的注释内容,以及限定移动设备的用户的客户端ID。

在第二方面的实施例中,定位所显示的内容注释包括:当客户端注释输出指示将所显示的内容注释移动到屏幕外时,在共享显示器的边缘上呈现注释。

在第二方面的实施例中,定位所显示的内容注释包括当客户端注释输出包括动画指示时,动画化所显示的内容注释。

在第二方面的实施例中,定位所显示的内容注释包括基于预定修改量来修改客户端注释数据。

在第二方面的实施例中,预定修改量是基于客户端注释输出拟合到多个控制节点的参数化曲线。

在第二方面的实施例中,参数化曲线是多项式曲线或样条曲线。

在第二方面的实施例中,预定修改量是当控制节点在预定的拟合阈值内拟合形状时,基于客户端注释输出拟合到多个控制节点的形状,或者是当控制节点在预定的拟合阈值内不拟合形状时基于客户端注释输出拟合到多个控制接头的参数化曲线或样条。

在第二方面的实施例中,定位所显示的内容注释包括基于预设的注释定时器从共享显示器去除所显示的注释。

在第二方面的实施例中,预设的注释定时器是基于时钟的定时器。

在第二方面的实施例中,预设的注释定时器限定所显示的内容注释在共享显示器上的最大长度。

在第二方面的实施例中,预设的注释定时器是基于由包括在客户端注释数据中的平移而限定的所显示的内容注释的速度。

在第二方面的实施例中,主机注释指令还进行操作以存储限定显示内容上的先前注释的注释历史。

在第二方面的实施例中,主机注释指令还进行操作以将注释历史发送到外部设备。

在第三方面,用于注释与主机设备联接的共享显示器的方法,包括:将移动设备注册主机设备;以及响应于经由用户与移动设备的交互而生成的开始指示,基于在移动设备和主机设备之间发送并包括经由移动设备处的位置传感器捕获并发送到主机设备的传感器数据的客户端注释输出,在共享显示器上定位显示内容的注释。

在第三方面的实施例中,位置传感器是陀螺仪和加速度计。

在第三方面的实施例中,该方法还包括在移动设备和主机设备之间发送共享内容;定位注释包括在共享内容上定位注释。

在第三方面的实施例中,注册移动设备与主机设备包括:在移动设备处接收注册输入;向主机设备发送注册输入;将注册输入与存储在主机设备处的主机ID进行比较;以及,当注册输入与主机ID匹配时,无线连接主机设备和移动设备。

在第三方面的实施例中,客户端注释输出包括基于位置传感器生成的倾斜数据、偏航数据和转动数据。

在第三方面的实施例中,客户端注释输出包括由传感器数据的时间序列测量中的每个限定的两个或更多个控制节点之间的平移数据。

在第三方面的实施例中,客户端注释输出包括客户端输入数据。

在第三方面的实施例中,客户端输入数据包括待在与主机设备联接的共享显示器上显示的注释的颜色、大小、形状和文本。

在第三方面的实施例中,客户端输入数据包括在移动设备处接收的指示在共享显示器上动画化注释的动画指示。

在第三方面的实施例中,定位注释还包括根据预定修改量来修改客户端注释输出。

在第三方面的实施例中,预定修改量是当控制节点在预定的拟合阈值内拟合形状时基于客户端注释输出拟合到多个控制节点的形状,或者是当控制接头在预定的拟合阈值内不拟合形状时基于客户端注释输出拟合到多个控制节点的参数化曲线或样条。

在第三方面的实施例中,预定修改量是基于客户端注释输出的拟合到多个控制节点的参数化曲线或样条。

在第三方面的实施例中,预定修改量被应用于移动设备。

在第三方面的实施例中,预定修改量被应用于主机设备。

在第三方面的实施例中,定位响应于在移动设备处接收到的停止指示而结束。

在第三方面的实施例中,定位包括如果数据捕获-停止延迟还没有经过,则在停止指示之后继续捕获传感器数据。

在第三方面的实施例中,定位包括如果客户端注释输出指示将注释移动到共享显示器之外,则将注释定位在共享显示器的边缘。

在第三方面的实施例中,定位所显示的内容注释包括基于预设的注释定时器从共享显示器去除所显示的注释。

在第三方面的实施例中,预设的注释定时器是基于时钟的定时器。

在第三方面的实施例中,预设的注释定时器限定注释在共享显示器上的最大长度。

在第三方面的实施例中,预设的注释定时器是基于如由包括在客户端注释输出中的平移限定的注释的速度。

在第三方面的实施例中,该方法还包括存储限定共享显示器上的先前注释的注释历史。

在第三方面的实施例中,该方法还包括将注释历史发送到主机设备外部的设备。

附图说明

根据如附图中所示的实施例的更具体的描述,本公开的前述和其它特征和优点将是显而易见的,在附图中,相同的附图标记在所有不同的附图中表示相同的部件。附图不一定是按比例绘制的,而是将重点放在示出本公开的原理上。

图1描绘了实施例中的用于共享显示器的注释的示例性系统。

图2更详细地描绘了图1的移动设备。

图3更详细地描绘了图1的主机设备。

图4描绘了实施例中的十二次测量中的每一次测量的多个控制节点。

图5描绘了在实施例中在应用预定的修改量之后的示例性客户端注释输出。

图6描绘了拟合到多个控制节点的形状(椭圆)形式的示例性客户端注释输出。

图7A和图7B示出了在屏幕上指示开始指示的“上滑”虚拟按钮。

图8是实施例中的用于使用移动设备注释共享显示器的方法的流程图。

图9描绘了实施例中的用于向主机设备注册移动设备的示例性方法。

图10描绘了实施例中的用于在共享显示器上定位所显示内容的注释的示例性方法。

具体实施方式

传统注释方法的显著缺点是用户必须在显示器的范围内,以便在内容之上进行注释、创建新的标记或进行绘制。当展示用户通常已经位于房间的头部时,这种限制对于定向演示的环境可能似乎是微不足道的。然而,在可能需要进行频繁的、特别的和根据需要交互的协作场景中,这种限制显著阻碍了有效协作。已经不在显示器范围内的用户由于额外的中断、接近显示器所花费的时间和能量而对进行交互感到泄气。此外,当特定用户需要“登上舞台”以便与显示器进行交互时,这种类型的交互可以改变群组的协作本能。

此外,允许用户在他们自己的设备上与模拟显示器交互的方法也具有显著的缺点。首先,用户设备通常比房间显示器小得多,从而不能以与直接交互模式相同的保真度来编辑可标记的对应的区域。例如,考虑其像素分辨率是用户设备的像素分辨率的5倍的显示器。如果用户希望在显示器上(以大小S)圈出小特征,则可能难以通过在他的设备上绘制必须小5倍的对应圈来实现这一点。此外,当用户被迫在他们自己的设备上的虚拟表面上进行注释以及然后发送到显示器时,会丢失上述自然和直观的直接交互模式的一些优点。例如,如果每个用户可以简单地增加他们自己的设备工作区域以使得注释出现,则协作者很难知道谁正在进行注释。

本文描述的系统和方法通过引入支持一个或多个用户使用移动设备与显示器交互的数字注释的新方法来解决上述缺点。在至少一些实施例中,这些系统和方法支持用户利用共享显示器一起工作并需要对显示器进行实时标记和注释的环境。

例如,一组用户可以一起从笔记本电脑观看共享显示器上的演示。在演示的过程中,一个或多个用户可能想要将演示的一部分圈出以向观众进行强调。同时,观众的成员可能想要指向和突出幻灯片的区域,以突出可能混淆她/他的演示的区域。本文描述的实施例公开了一种新的方法,该方法不要求观众的成员直接与笔记本电脑交互,并且不在观众成员(也称为“用户”)的设备上引入第二虚拟显示表面。相反,用户将他们的设备指向共享显示器,并且通过手势或其它启动动作能够注释显示器。因为用户可以根据需要从房间中的任何地方进行交互,扩展到大量的用户,并且因为那些用户在群组前做手势而允许参与者看到谁正在进行注释,所以这种方法是更加协作性的。

此外,当前的系统不需要专门的硬件,例如,配备有相对于放置在房间显示器周围的红外传感器而被跟踪的红外发射器的设备。相反,本文的系统和方法利用了移动设备在社会中普遍存在的特性的优点。本文的系统和方法利用已经由特定用户(他们的移动设备)拥有并且必须首先利用共享显示器连接和识别它自己的设备。以这种方式,任何数量的设备可以同时进行注释,并且注释标记可以容易地与各种用户相关联。这也意味着不需要额外的硬件。

图1描绘了实施例中的用于注释共享显示器102的示例性系统100。图2更详细地描绘了图1的移动设备104。图3更详细地描绘了图1的主机设备106。图1至图3最好与以下描述一起进行观看。

共享显示器102与主机设备106进行有线或无线通信。共享显示器102显示内容108。内容108可以由主机设备106提供,或者由与共享显示器联接的另一设备(诸如连接的计算机(笔记本电脑、台式机等))提供。经由移动设备104,用户110可以经由下面讨论的过程向主机设备106注册他们的移动设备104,并且随后可以基于移动设备104的自由形式的移动来定位注释112。在实施例中,注释112是虚拟点,使得移动设备104充当关于共享显示器102的激光指针。在不脱离本发明的范围的情况下,可以使用其它注释。

在图1中所示的实施例中,第一用户110(1)使用他/她的移动设备104(1)来在共享显示器102上定位注释112(1),而第二用户110(2)使用他/她的移动设备104(2)在共享显示器102上定位注释112(2)。注释112(1)和112(2)可以具有由其移动设备104的各自用户110的移动所限定的任何形状。可以将任意数量的移动设备104联接到主机设备106。

如图2中所示,移动设备104包括处理器202、通信接口204、输入设备206、显示器208、传感器组210和存储器212。移动设备104可以是智能电话、平板电脑、笔记本电脑等中的任何一个或多个。在实施例中,移动设备104可以是在其全部内容通过引用并入本文的标题为“System and Method for Multi-User Control and Media Streaming to a SharedDisplay(用于共享显示器的多用户控制和流媒体传输的系统和方法)”的第2014/0240445A1号美国专利申请公开中描述的一个或多个客户端设备。

处理器202可以是微处理器或能够运行计算机可读指令的任何其它设备。例如,许多智能电话使用ARM处理器作为中央处理设备。

通信接口204可以是实现无线通信协议(例如,蜂窝(2G、3G、4G、5G、LTE、蓝牙、蓝牙低能量、Wi-Fi等))的硬件(例如,无线数据芯片组)和相关联的固件。

输入设备206是配置为或者能够与用户110进行交互以接收进入移动设备104的输入的任何设备。在实施例中,输入设备206是显示器208的一部分(例如,显示器208是触摸屏的情况)。

传感器组210可以包括配置为确定移动设备104的方位和其它位置信息的位置传感器。例如,传感器组210可以包括加速度计214、陀螺仪216和磁力计218中的一个或多个。加速度计214测量移动设备104的方向变化。陀螺仪216测量移动设备相对于自身的旋转。磁力计218测量移动设备104周围的磁场(例如,地球的磁场),并且可以用于校准来自加速度计214和陀螺仪216的数据,以在用户110移动移动设备104时确定真实的方位和平移信息。

存储器212可以包括易失性存储器和非易失性存储器中的一个或两个。存储器212可以将客户端注释软件220存储为暂时的计算机可读指令和/或非暂时的计算机可读指令,该指令在由处理器202运行时进行操作以实现本文所描述的移动设备104的功能。客户端注释软件220例如可以是显示在显示器208上的在移动设备上运行的应用,使得用户110可以在共享显示器102上发起注释。例如,客户端注释软件220可以是Mersive Technologies,Inc.的Solstice Client应用。因此,客户端注释软件220可以包括将用户110标识为移动设备104的所有者和/或运营商的用户ID 222。

现在参考图3,主机设备106可以集成到共享显示器102中,或者可以与共享显示器102分离,并且有线或无线地连接到共享显示器102。例如,主机设备106可以是MersiveTechnologies,Inc.的Solstice Pod。主机设备106可以包括处理器302、通信接口304和存储器306。处理器302可以是微处理器或能够运行计算机可读指令的任何其它设备。

通信接口204可以是实现无线通信协议(例如,蜂窝(2G、3G、4G、5G、LTE、蓝牙、蓝牙低能量、Wi-Fi等))的硬件(例如,无线数据芯片组)和相关联的固件。通信接口204还可以包括用于将主机设备106联接到共享显示器102的有线组件(例如USB、HDMI电缆、照明电缆等)。

存储器306可包括易失性存储器和非易失性存储器中的一者或两者。存储器306可以将主机注释软件308存储为暂时的计算机可读指令和/或非暂时的计算机可读指令,该指令当由处理器302运行时进行操作以实现本文所描述的主机设备106的功能。在实施例中,主机注释软件308可以包括显示在共享显示器102上的显示内容108。在实施例中,显示内容108可以是来自客户端设备的一个或多个媒体流,该客户端是诸如在其全部内容通过引用并入本文的标题为“System and Method for Multi-User Control and Media Streamingto a Shared Display(用于共享显示器的多用户控制和流媒体传输的系统和方法)”的第2014/0240445A1号美国专利申请公开中所描述的。因此,移动设备104可以共享作为移动设备104和主机设备106之间的媒体流存储的其自己的设备的内容258,以及然后在共享显示器102上虚拟地注释该内容,而不在移动设备104本身上注释内容。此外,在实施例中,多个移动设备104可以共享内容,并且因此无论注释移动设备是否共享内容,任何移动设备104可以在来自任何其他移动设备104的共享内容上进行注释。

主机注释软件308可以包括主机ID 310。主机ID 310可以是IP地址,或用于识别主机设备106的一些其它唯一代码。主机ID 310可以显示在共享显示器102上,或者可以以其他方式通知给用户110。经由与移动设备104的输入设备206的交互,用户110可以输入注册输入224。于是,注册输入224可以经由移动设备104的通信接口204和主机设备106的通信接口304发送到主机设备106。于是,主机注释软件308可以将主机ID 310与接收到的注册输入224进行比较,并且如果主机ID 310与接收到的注册输入224相匹配,则移动设备104被注册到主机设备106。在这样的注册下,移动设备104可以经由与主机设备106的交互在共享显示器102上定位或以其他方式控制其各自的注释(例如,注释112)。应当理解的是,可以在不脱离本发明的范围的情况下实现将移动设备104注册到主机设备106的其它方法,例如,如果确定移动设备104处于与主机设备106相同的房间中,则自动进行注册。

在一些实施例中,移动设备104的注册可以由存储在主机设备106上的一个或多个管理设置312来阻止或以其他方式进行控制。管理设置312可以例如阻止所有或某些移动设备104注册到主机设备106。附加地或替代地,管理设置312可以允许移动设备104注册到主机设备106,但是阻止移动设备104在共享显示器102上进行注释。管理设置312可以限定允许注册到主机设备106的移动设备104的最大数目。管理设置312可以经由管理员设备(未示出)而发送到主机设备106。在实施例中,管理员设备可以是移动设备104中的一个。

应当理解的是,可以对注册到主机设备106的每个移动设备104重复或以其他方式实现上述注册。

一旦注册到主机设备106,移动设备104就能够在共享显示器102上定位注释112。可以分别基于开始指示226和停止指示228来开始和停止注释。开始指示226可以表示“起笔”事件,停止指示228可以表示“停笔”事件,在这种情况下用户112在共享显示器102上使用移动设备104作为虚拟笔。

在实施例中,开始指示226可以是按下输入设备206上的实际按钮或虚拟按钮或者其它动作。例如,图7A和图7B示出了在屏幕上指示开始指示226的虚拟按钮702的“上滑”。虚拟按钮702可以显示在包括与共享显示器的其它交互704的应用(例如,Solstice客户端应用)中,该其它交互704例如但不限于:镜像移动设备104屏幕、共享来自移动设备104的媒体以及拍摄图像。在实施例中,开始指示226可以是“按下并保持”指示,在这种情况下,只有当用户110按下移动设备102上的虚拟或实际按钮时才捕获传感器数据230。在实施例中,开始指示226可以是由用户110利用移动设备104执行的特定手势的确定,特定手势诸如是将移动设备104从屏幕侧向下翻转到屏幕侧向上动作(例如,移动设备拾取动作)。可以基于存储在存储器212中并由加速度计214、陀螺仪216和磁力计218中的一个或多个生成的传感器数据230来检测手势。可以在不脱离本发明的范围的情况下实现其它手势。

在实施例中,停止指示228可以是按下输入设备206上的实际按钮或虚拟按钮,或释放实际按钮或虚拟按钮(例如,此处开始指示226是上面讨论的按下并保持指示)。与图7A至图7B所示的动作相反的动作可以指示停止指示228。在实施例中,停止指示228可以是确定由用户110利用移动设备104执行的特定手势,诸如将移动设备104从屏幕侧向上翻转到屏幕侧向下动作。可以基于存储在存储器212中并由加速度计214、陀螺仪216和磁力计218中的一个或多个生成的传感器数据230来检测手势。可以在不脱离本发明的范围的情况下实现其它手势。

在实施例中,客户端注释软件220还可以包括数据捕获-停止延迟227。数据捕获-停止延迟227可以是防止在停止指示228之前接收的多个开始指示226相互干扰的定时器。例如,如果用户110在短时间段内提交两个开始指示226,则在共享显示器102上的初始开始点(例如,下面讨论的初始开始点322)处,共享显示器102上的注释112位置不会被重新映射或重新开始。数据捕获-停止延迟227还可以要求客户端注释软件220在接收到停止指示228之后继续捕获传感器数据230。例如,如果用户110在发起开始指示226之后将移动设备104移动到左边,发起停止指示228但继续将移动设备104向左移动,则在数据捕获-停止延迟227时间段期满之前发起另一开始指示226,则注释112将到停止指示228的左边开始,而不是复位到初始开始点(例如,下面讨论的初始开始点322)。然而,如果数据捕获-停止延迟227时间段已经过去,则注释将在初始开始点重新开始。应当理解的是,在一些实施例中,数据捕获-停止延迟227可以在下面讨论的主机注释软件308中实现。

在接收到开始指示226后,客户端注释软件220进行操作以从传感器组210内的传感器捕获数据,并将该数据存储为传感器数据230。可以重复该数据收集以形成传感器数据230的多个时间测量。在该组时间测量内的每个给定时间,计算移动设备104的倾斜232(γ,t)、偏航234(α,t)和转动236(β,t)中的一个或多个。在一些实施例中,平移238也可以基于数据加速度计214以及在两个或更多个时间测量之间的倾斜232、偏航234和转动236的计算来计算。然后,将倾斜232、偏航234,转动236和平移238数据中的一个或多个打包并作为客户端注释输出240发送到主机设备106。在实施例中,客户端注释输出240除了倾斜232、偏航234、转动236和平移238数据之外或代替倾斜232、偏航234、转动236和平移238数据,还包括表示注释112在共享显示器102上基于传感器数据230的预期动作的一系列(x,y)屏幕坐标。在不包括磁力计218和/或从中收集的传感器数据的实施例中,传感器数据230不需要基于磁场数据来校准,因为在多个时间测量中的每个处跟踪移动设备104的移动,并且当生成开始指示226时,该跟踪开始。因此,不需要来自磁力计208的磁场数据,因为传感器数据230是基于第一时间测量来计算的。

在实施例中,传感器数据230可以由传感器阈值239限制。传感器阈值239进行操作以设置所允许的传感器数据中的最大变化。例如,如果移动设备106偏航、转动或倾斜超过最大值(如由传感器阈值239限定的),则客户端注释软件240可以生成指示将注释复位到初始开始点(例如,下文讨论的初始开始点322)的客户端注释输出240。

在实施例中,客户端注释输出240在发送到主机设备106之前由客户端注释软件220进行预处理,以确定多个控制节点242。控制节点242是表示在时间测量组内的每个给定时间处的预期注释的一系列点。例如,控制节点242可以表示从测量的时间中的一个时间到测量的时间中的下一个时间的平移238。图4描绘了实施例中的在十二次测量中的每一次测量处的多个控制节点402。在图4中,每个控制节点402之间的线404的长度由每个边界控制节点402之间的平移限定。此外,线404的矢量方向由从一个控制节点402到下一个控制节点402的倾斜、偏航和转动中的一个或多个来限定。

在实施例中,客户端注释输出240在发送到主机设备106之前由客户端注释软件220进行预处理,以将预定的修改量244应用到多个控制节点242。预定的修改量244例如可以包括将参数化曲线拟合到多个控制节点242以平滑或以其它方式消除由控制节点242限定的线内的噪声和抖动。参数化曲线可以是多项式曲线或样条曲线。图5描绘了在应用预定的修改量244之后的示例性客户端注释输出240。

在实施例中,客户端注释输出240在发送到主机设备106之前由客户端注释软件220进行预处理,以将形状拟合到多个控制节点242或者参数化曲线或样条。例如,使用诸如但不限于最小二乘拟合的集合技术将控制节点242拟合到一组参数函数,以对不同参数函数中的每个导出残差拟合误差。如果拟合充分,则将最好的拟合曲线作为客户端注释输出240(单独或者与控制节点242一起)发送,否则可以将样条拟合到控制节点242。考虑用户110使用移动设备104将椭圆“绘制”到显示器的示例-当然,原始控制点242是抖动的,并且用户110可以仅绘制椭圆的近似值。控制节点242迭代地拟合到线(包括其任何参数函数)、圆、椭圆、矩形等中的每一个,椭圆可以具有低拟合误差,并且现在理解,用户的意图是实际绘制椭圆,使得将所得到的呈现为控制输出240。图6描绘了拟合到多个控制节点402的形状602(椭圆)形式的示例性客户端注释输出240。应当理解的是,可以从形状拟合过程中排除一个或多个离群的控制节点(例如,控制节点402(12))。

在实施例中,在发送到主机设备106之前,客户端注释输出240被预处理以包括一个或多个客户端输入数据246或被修改一个或多个客户端输入数据246。客户端输入数据246包括用户110经由输入设备206的输入。客户端输入数据246可以包括颜色248、大小250、形状252、文本254和动画指示256中的一个或多个。如果包括客户端输入数据246,例如如果用户110选择形状252,则上述预定的修改量244可能不是必需的。例如,用户110可以选择圆形状,并且该圆形将作为注释显示在共享显示设备102上。

动画指示256可以是按下实际按钮或虚拟按钮(例如,双击相同的按钮作为开始指示226),或者可以是手势(例如,在空间上向前推动移动设备104)。动画指示256使得共享显示器102上的注释112动画化(例如,经由水滴或诸如摇动运动、圆周运动等的其它注释)。这种动画吸引了观众对注释的当前位置和底层内容的关注。

在实施例中,客户端注释输出240仅包括原始传感器数据230(和其它客户端输入数据246),并且主机设备106则可以执行预定的修改量。此外,应当理解的是,可以在给定时间将任何数量的控制节点242发送到主机设备106。这样,移动设备104将周期性地发送包括当前注释输出240和任何附加控制节点242(以及修改的数据或原始数据230)的注释更新。

主机设备106可以向移动设备104发送验证客户端注释输出240的接收的注释确认314。移动设备104可以经由显示器208向用户104显示注释确认314,使得用户知道注释正被显示在共享显示器102上。

移动设备可以连续地或周期性地生成客户端注释输出240,直到识别停止指示228为止。因此,基于来自移动设备104的数据实时地生成共享显示器102上的注释112。

因此,客户端注释软件220可以以连续注释模式进行操作,在连续注释模式中,开始指示226控制注释总是活动的(例如,“打开”),直到接收到肯定停止指示228(例如,按下虚拟或活动按钮,或执行肯定手势)。客户端注释软件220还可以以间歇性注释模式执行,在间歇性注释模式中,停止指示228仅仅是释放移动设备104上的发起开始指示226的相同按钮。例如,可以按下(或者以其他方式在移动设备104的显示器上向上移动)按钮702,并且显示与该移动设备104相关联的注释112,直到释放(或者在显示器上向下移动)按钮702。

在接收到客户端注释输出240后,主机注释软件308可以控制共享显示器102在其上显示注释316。注释316可以包括注释内容318和标识移动设备104或其用户110的相关联的用户ID 222。相关联的用户ID 222可以是文本标识(例如,用户110姓名)、颜色代码或风格(例如,虚线的特定图案等)。

在实施例中,可以根据一个或多个注释设置320来显示注释318。注释设置320可以包括限定注释的起始点的注释初始开始点322。例如,开始点322可以是共享显示器102的中心。开始点322也可以是共享显示器102的角,或与其相关的任何其它点(包括共享显示器102的屏幕上或屏幕外的点)。

此外,可以在移动设备104或在主机设备106处执行传感器数据230的上述处理中的任何一个。例如,在客户端注释输出240包括原始传感器数据230、未修改的控制节点242和/或客户端输入数据246的实施例中,注释设置320可以包括预定的修改量244,使得客户端注释输出240在作为注释316显示在共享显示器102上之前根据预定的修改量244以与上述类似的方式进行预处理。

在实施例中,注释316本质上可以是瞬态的。因此,注释设置320包括限定注释316将在共享显示器102上呈现多长时间的注释定时器324。在实施例中,注释定时器324是基于时钟的定时器,其将注释316在共享显示器102上保持预定时间段,只要共享显示器102正在显示共享内容108,则该预定时间段可以是无限的。在实施例中,注释定时器324基于共享显示器上的注释316的长度。例如,注释316可以仅在共享显示器102上淡化或“拖延”预定长度。在实施例中,注释316的长度可以基于如上所述的由平移信息238限定的注释316的速度。

此外,在实施例中,注释316可以包括从原始注释数据(例如,控制节点242的直接显示)到修改的注释数据(例如,在应用预定的修改量244之后显示修改的注释数据)的转换。例如,共享显示器102上的注释316可以从控制节点242淡化到修改的注释。这允许观众在视觉上理解注释正在被平滑和/或拟合为曲线/形状。

在实施例中,主机设备106还可以操作以基于共享显示器102的约束来改变预期注释。例如,如果注释112到达共享显示器102的边缘,则可以仅在共享显示器102的边缘呈现注释,而不是不显示。一旦随后客户端注释输出240指示将注释112从边缘移回,则注释被呈现为离开边缘。在实施例中,随后注释输出240必须与接收到的所有其它客户端注释输出240成比例。例如,如果注释112到达共享显示器112的边缘,并且注释输出240移动比边缘远10%,则在注释112在共享显示器102上移动之前,随后客户端注释输出240必须与10%成比例地向边缘移回。可替代地,随后注释输出240仅需要在与呈现注释112的边缘相反的方向上移动,以返回“屏幕上”。例如,如果注释112呈现在顶部边缘处,因为客户端注释输出240控制注释112直到它在顶部边缘处离开屏幕,则一旦随后注释240指示用户110正在向下移动移动设备104,则注释112就远离顶部边缘来定位。

主机注释软件308还可以保存注释历史326。注释历史326可以全部包含,使得其包括来自所有用户110的所有注释316。注释历史326可以由用户110划分,使得给定用户110可以在呈现共享内容108之后的稍后日期访问其(或其他用户110的)注释316。注释历史326可以由显示的内容108中的自然中断(例如,通过word文档中的页面、PowerPoint中的页面、演示中的分钟等)来划分。然后可以将注释历史326从主机设备106(例如,云服务器)发送到远程设备,使得用户110可以经由客户端注释软件220在稍后的日期访问注释316。

图8是实施例中的用于使用移动设备注释共享显示器的方法800的流程图。例如,使用上面关于图1至图7B讨论的系统100来执行方法800。

在框802中,方法800将移动设备注册到主机设备。在框802的一个示例中,移动设备104被注册到主机设备106并因此无线地连接在一起。

在框804中,方法800至少使用移动设备的陀螺仪和加速度计数据来将显示内容的注释定位在共享显示器上。在框804的一个示例中,基于由移动设备104生成的传感器数据230,注释316定位在共享显示器102上。

在框806中,方法800从共享显示器中去除注释。在方法800的一个示例中,主机设备106根据注释定时器324去除客户端注释316。因此,在框806的一个示例中,基于注释定时器324是基于时钟的注释定时器,在预定时间段之后去除客户端注释316。因此,在框806的一个示例中,在如共享显示器102上显示的注释316的预定长度之后,去除客户端注释316。因此,在框806的一个示例中,基于如由平移信息238确定的共享显示器102上的注释316的速度来淡化客户端注释316。

在框808中,方法800存储注释。在框808的一个示例中,主机设备106将注释316作为注释历史326存储在存储器306中。在框808的示例中,注释历史326可以由用户110划分,使得给定用户110可以在演示共享内容108之后的稍后日期访问其(或其他用户110)注释316。在框808的示例中,注释历史326可以由显示内容108中的自然中断(诸如由word文档中的页面、PowerPoint中的页面、演示中的分钟等)划分。

在框810中,方法800将所存储的注释发送到外部设备。在框810的一个示例中,注释历史326被直接发送到移动设备104。在框810的示例中,注释历史326被发送到诸如云存储的外部设备,并且外部设备使得注释历史可用于移动设备104的访问。

图9描绘了实施例中的用于向主机设备注册移动设备的示例性方法900。方法900是方法800的块802的示例。

在框902中,方法900在移动设备处接收注册输入。在框902的一个示例中,用户110使用输入设备206输入注册输入224。在框902的一个示例中,基于移动设备104与主机设备106的接近度自动生成注册输入224。

在框904中,方法900将注册输入发送到主机设备。在框904的一个示例中,注册输入224从移动设备104被发送到主机设备106。

在框906中,将注册输入与主机ID进行比较。在框906的一个示例中,由主机注释软件308将注册输入226与主机ID 310进行比较。

在框908中,当在框906中注册输入与主机ID匹配时,将移动设备和主机设备无线连接。在框908的一个示例中,移动设备104无线地连接到主机设备106。

图10描绘了实施例中的用于在共享显示器上定位所显示内容的注释的示例性方法1000。方法1000是方法800的框804的示例。

在框1002中,方法1000在移动设备处接收开始指示。在框1002的一个示例中,移动设备104接收开始指示226。开始指示226可以是按下输入设备206上的实际按钮或虚拟按钮,或其它动作(例如,图7A至图7B所示的“上滑”动作)。开始指示226可以是由用户110利用移动设备104执行的特定手势的确定,诸如将电话从屏幕向下翻转到屏幕向上。

在框1004中,方法1000在多个时间测量处从移动设备捕获传感器数据。在框1004的一个示例中,在多个时间测量中的每个处从传感器组210中的各个传感器捕获传感器数据230。

在框1006中,基于传感器数据将客户端注释输出从移动设备发送到主机设备。在框1006的一个示例中,将客户端注释输出240从移动设备104发送到主机设备106。框1006可以包括一个或多个子框。在子框1026中,方法1000生成倾斜数据。在子框1026的一个示例中,生成倾斜数据232并将其包括在客户端注释输出240中。在子框1028中,方法1000生成偏航数据。在子框1028的一个示例中,生成偏航数据324并将其包括在客户端注释输出240中。在子框1030中,方法1000生成转动数据。在子框1030的一个示例中,生成转动数据236并将其包括在客户端注释输出240中。在子框1032中,方法1000在每个时间测量的两个之间生成转换数据。在子框1032的一个示例中,生成平移数据238并将其包括在客户端注释输出240中。在子框1034中,方法1000包括客户端输入数据。在子框1034的一个示例中,客户端输入数据246被包括在客户端注释输出240中。

在框1008中,基于预定修改量来修改客户端注释输出。在框1008的一个示例中,在框1006中将客户端注释输出240发送到主机设备106之前,客户端注释软件220应用预定的修改量244。在框1008的一个示例中,在框1006中从移动设备104接收到客户端注释输出240之后,主机注释软件308应用预定的修改量244。在框1008的示例中,客户端注释软件220或主机注释软件308识别多个控制节点242并将其应用到预定的修改量244。预定的修改量244例如可以包括将参数化曲线拟合到多个控制节点242以平滑或以其它方式消除由控制节点242限定的线内的噪声和抖动。参数化曲线可以是多项式曲线或样条曲线。

在框1010中,基于上述步骤1002至1008在共享显示器上显示的共享内容上显示所显示的内容注释。在框1010的一个示例中,主机设备106发送注释316用以覆盖在共享内容108上来显示在共享显示器102上。

方法1000然后启动一个或多个判定步骤以确定注释的继续显示。例如,框1012是判定。在框1012,方法1000确定在共享显示器上显示的注释是否由移动设备定位在屏幕外。如果是,则方法1000进行到框1014,否则,方法进行到框1020。在框1014中,该方法将移动设备将注释定位在共享显示器之外的注释呈现在共享显示器的边缘处。在操作的一个示例中,主机设备106生成指示将注释112定位在共享显示器102上的边缘处的注释316。注释112可以保持在边缘处,直到方法1000接收到指示将注释远离边缘定位的进一步的客户端注释输出(例如,在框1006处)。

框1016是可以与框1012和框1020中的任一个同时发生、之前发生或之后发生的另一个判定。在框1016中,该方法确定是否从移动设备接收到动画指示。如果是,则方法1000进行到框1018,否则方法1000进行到框1020。在框1016的操作的一个示例中,客户端注释输出240包括动画指示256。在框1018,方法1000在共享显示器上动画化注释。在框1018的一个示例中,注释112被动画化以在共享显示器102上闪烁、抖动、循环、显示水印或其它动画。

框1020是判定。在框1020中,方法1000确定是否已经接收到停止指示。如果否,则方法1000重复步骤1004,否则,方法1000前进到框1022。在框1020的一个示例中,移动设备104接收停止指示228。开始指示228可以是按下输入设备206上的实际按钮或虚拟按钮,或诸如“下滑”动作的其它动作。停止指示228可以是由用户110利用移动设备104执行的对特定手势(例如,将电话从屏幕向上翻转到屏幕向下)的确定。

框1022是判定。在框1022中,方法1000确定捕获-停止延迟定时器是否已经过。如果是,则方法在框1024处结束,框1024可重复框1002。否则,方法1000重复框1004,并且如果在捕获-停止延迟定时器经过之前接收到另一开始指示,则开始显示注释。在框1022的一个示例中,确定捕获-停止延迟227时间是否已经经过。

在不脱离本发明的范围的情况下,可以在上述方法和系统中进行改变。因此,应当注意的是,包含在上述描述中或附图中所示的内容应当被解释为说明性的,而不是限制性的。所附权利要求旨在覆盖本文描述的所有一般的和特定的特征,以及本方法和系统的范围的所有陈述,就语言而言,可以说它们落在所附权利要求之间。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号