1.一个遥控装置,包括:
一个运动探测器,由单个加速计组成;
用来从运动探测器接收数据并将接收到的运动探测器数据映射成至少一个用户指令的接收和映射装置;和
用来发射至少一个用户指令的信号指示的发射装置;
至少一个用户指令包括一个或多个基于倾斜的定位、基于倾斜的命令、基于移动的命令和基于摇动的命令;遥控装置包括四个专门适用于用户的动作手势的按钮S1-S4,按钮S1对应基于倾斜的定位,按钮S2对应基于倾斜的命令,按钮S3对应基于移动的命令,以及按钮S4对应基于摇动的命令;
接收和映射装置接收来自加速计的原始数据,然后使用串联的三种类型的滤波器,对原始数据进行预处理,串联的滤波器为零延迟的均值滤波器、零和滤波器以及一个低限幅滤波器和一个高限幅滤波器,接着,预处理数据被一个或多个算法使用以产生定位命令和/或离散命令,其中基于倾斜的定位算法、基于倾斜的命令算法,基于移动的命令算法和基于摇动的命令算法同时或单独运行,其中接收和映射装置根据按钮S1-S4上接收到的用户命令确定哪一个算法运行,通过按下相应按钮接收来自加速计的原始数据,当遥控器静止时,仅有重力作用在加速计上,重力形成投影在加速计的轴上,当倾斜遥控器时,加速计在各个轴的读数将会相应地变化,基于倾斜的定位算法将投影幅度映射到屏幕上光标的位置,通过输出光标坐标(Pointing_Data_X,Pointing_Data_Y),其中X和Y是屏幕的轴,光标被投影在屏幕上。
2.根据权利要求1所述的遥控装置,其中加速计包括从以下项中选择的一个加速度计:
一个二维(2-D)加速计,和一个三维(3-D)加速计。
3.根据权利要求1所述的遥控装置,还包括:
用来分配量值到每个算法的装置,根据加速度的幅值的高低,按照由低到高的范围分别对应触发基于倾斜的命令,基于移动的命令,和基于摇动的命令。
4.根据权利要求1所述的遥控装置,其中用来发射信号的装置包括:
用来发射符合NEC协议的红外线信号的装置。
5.根据权利要求1所述的遥控装置,其中发射装置包括低带宽发射装置。
6.根据权利要求1所述的遥控装置,其中用来接收数据的装置包括:
一个零延迟的均值滤波器,用来平滑原始数据。
7.根据权利要求1所述的遥控装置,其中用来接收数据的装置包括:
一个零和滤波器,用来降低在原始数据内的噪声波动。
8.根据权利要求1所述的遥控装置,其中用来接收数据的装置包括:
一个低限幅滤波器,用来减少原始数据内的急剧变化。
9.根据权利要求1所述的遥控装置,其中用来接收数据的装置包括:
一个高限幅滤波器,用来识别原始数据内的至少一个主要变化。
10.根据权利要求1所述的遥控装置,还包括:
一个用户界面装置,与接收和映射装置进行通信连接,用户界面装置显示一个基于倾斜的定位命令。
11.根据权利要求1所述的遥控装置,其中接收和映射装置执行至少一个以下功能:
映射小于3维的倾斜;映射三维倾斜;以一个表格查找执行映射;以及在映射中包括一个缩放因子,缩放因子与主机装置的解析度有关。
12.根据权利要求1所述的遥控装置,其中接收和映射装置通过识别倾斜超出至少一个阈值来检测倾斜。
13.根据权利要求1所述的遥控装置,其中平移移动包括检测一个方向上的增加加速度,之后在此方向上的降低加速度。
14.根据权利要求1所述的遥控装置,其中在一个基于移动的命令被触发之后,将开启一个盲区期,期间基于移动的命令算法不提前执行移动状态探测。
15.根据权利要求1所述的遥控装置,其中接收和映射装置通过识别加速度的变化率超出至少一个阈值来检测摇动。
16.一种由具有运动感应单元的遥控装置执行的方法,运动感应单元是由单个加速计组成,本方法包括:
从单个加速计接收原始数据;
通过一个滤波单元滤波原始数据以产生预处理的加速计数据,所述滤波单元使用串联的三种类型的滤波器,对原始数据进行预处理,串联的滤波器为零延迟的均值滤波器、零和滤波器以及一个低限幅滤波器和一个高限幅滤波器;
使用至少一个算法以将处理的加速计数据与一个娱乐单元的用户操作指令联系在一起,其中所述预处理的加速计数据被至少一个算法使用以产生定位命令和/或离散命令,其中基于倾斜的定位算法、基于倾斜的命令算法,基于移动的命令算法和基于摇动的命令算法同时或单独运行;和
发射指令到娱乐单元;
其中,用户操作指令包括一个或多个基于倾斜的定位、基于倾斜的命令、基于移动的命令和基于摇动的命令;遥控装置包括四个专门适用于用户的动作手势的按钮S1-S4,按钮S1对应基于倾斜的定位,按钮S2对应基于倾斜的命令,按钮S3对应基于移动的命令,以及按钮S4对应基于摇动的命令;
其中根据按钮S1-S4上接收到的用户命令确定哪一个算法运行,通过按下相应按钮,接收来自加速计的原始数据,当遥控器静止时,仅有重力作用在加速计上,重力形成投影在加速计的轴上,当倾斜遥控器时,加速计在各个轴的读数将会相应地变化,基于倾斜的定位算法将投影幅度映射到屏幕上光标的位置,通过输出光标坐标(Pointing_Data_X,Pointing_Data_Y),其中X和Y是屏幕的轴,光标被投影在屏幕上。
17.根据权利要求16所述的方法,其中滤波原始数据包括:使用一个均值滤波器,其在接收原始数据的单个样本之后提供一个输出,对原始数据进行均值化。
18.根据权利要求16所述的方法,其中滤波原始数据包括:
使用一个零和滤波器,其包括一个高阈值和一个低阈值以对位于高和低阈值之间的原始数据样本归零,并降低处于高和低阈值之外的原始数据其它样本的幅值。
19.根据权利要求16所述的方法,其中滤波原始数据包括:
通过一个高限幅滤波器和一个低限幅滤波器传递原始数据。
遥控装置和方法\n交叉引用到相关申请\n[0001] 本申请是美国专利申请12/349,263(标题为“ReducedInstruction Set Television Control System and Method of Use(简化指令集合的电视控制系统及其使用方法)”,于2009年1月6日申请)的部分连续申请,在此其披露通过引用被完整结合入本发明。\n技术领域\n[0002] 本发明通常涉及遥控技术,特别涉及使用单个加速计的遥控技术。发明背景[0003] 目前在市场上有各种遥控器用来控制电视、视频游戏、机顶盒等。其中一个例子是普遍使用的红外线电视遥控器,其包括一系列的单一目的的按钮,并使用红外发光二极管(LED)与娱乐单元(entertainment unit)进行通信。一些此类遥控器有非常多数目的按钮,使得遥控器的使用过于复杂,并且体积比较大。\n[0004] 另一个例子是与NintendoTM WiiTM娱乐系统接口的遥控器。WiiTM遥控器(又名“Wiimote”)包括一个三维加速计和一个光学传感器。加速计便于遥控器探测移动,而光学传感器适合用来接收来自感应棒(sensor bar)的光,以便能够更准确地确定遥控器的空间TM\n位置。Wii 遥控器强健且昂贵,并且需要使用一个分开的感应棒。\n[0005] 另一个遥控装置,在US 7,489,298里有描述,其有一个旋转传感器和加速传感器,用来探测一个3D定位装置的运动,并将运动映射成一个期望输出。但是,除加速计之外,使用旋转传感器将使成本增加。目前,在市场上还没有使用单个加速计而又提供足够性能的遥控装置,而不需要额外的加速计、感应棒、旋转传感器等。发明概述[0006] 本发明的各种实施例涉及使用一个包括单个二维或三维加速计的运动传感器来提供遥控技术的系统、方法和计算机程序产品。各种实施例能够执行基于倾斜的定位、基于倾斜的命令、基于移动的命令和摇动命令。\n[0007] 各种实施例也包括一个或多个独特滤波器和/或算法。例如,一些实施例通过使用一个零延迟的均值滤波器、一个零和滤波器、和一个高/低限幅滤波器组合对原始加速计数据进行滤波,以将传感器数据转换成容易使用的预处理数据。预处理数据使遥控装置对抖动和错误命令触发不太敏感。在另一个例子里,一些实施例包括基于倾斜的命令算法,基于移动的命令算法、和基于摇动的命令算法。各种实施例提供一个强健、直观、且低成本的替代产品来代替先前的遥控装置,在目前看来是完全可能的。\n[0008] 前述已经相当广泛地阐述了本发明的特征和技术优势,以便能够更好地理解随后对本发明的详细描述。本发明的其它特征和优势将在其后进行描述,其构成本发明权利要求的主题。本领域技术人员应该注意到,披露的概念和具体实施例可以被容易地加以利用,作为一个基础用来修改或设计其它结构以便能够执行本发明的相同目的。本领域技术人员还应该注意到,这种等同构造并没有脱离在附加权利要求内阐述的本发明的精神和范围。\n被看作本发明特性的新颖性特征,无论是其组织还是运行方法,与其它目的和优势一起,从以下结合附图的详细描述将会被更好地理解。但是,应该深刻地认识到,被提供用来仅作描述和说明的每个特征不是意在作为限制本发明的定义。\n附图说明\n[0009] 为了更全面地理解本发明,现对结合附图的以下描述做出参考,其中:\n[0010] 图1描述本发明一个实施例的一个典型系统;\n[0011] 图2是本发明一个实施例的包含在图1典型遥控器内的典型功能单元的模块图;\n[0012] 图3是适用于本发明一个实施例的一个遥控装置的典型界面特征的模块图;\n[0013] 图4描述本发明一个实施例的一个典型数据包,其可以从遥控单元被发送到电视或其它娱乐装置;\n[0014] 图5描述本发明一个实施例的一个典型数据包,其可以从遥控制单元被发送到电视或其它娱乐装置;\n[0015] 图6描述本发明一个实施例的由图1典型遥控器所执行的一个用来处理加速度数据并发送指令的典型过程;\n[0016] 图7描述本发明一个实施例的典型零和滤波器的操作;\n[0017] 图8描述本发明一个实施例的一个典型低限幅滤波器和高限幅滤波器;\n[0018] 图9描述本发明一个实施例在一个典型的基于倾斜的命令算法期间的加速计读数;\n[0019] 图10描述本发明一个实施例的两个典型运动情景;\n[0020] 图11描述本发明一个实施例触发一个摇动命令的情景;\n[0021] 图12描述本发明一个实施例的两个典型过程;\n[0022] 图13描述本发明一个实施例由主机执行的两个典型过程;\n[0023] 图14描述本发明一个实施例由一个触发模式的遥控器执行的典型过程;和[0024] 图15描述本发明一个实施例的由一个按住不放模式的遥控器执行的两个典型过程。发明详述\n[0025] 图1描述本发明一个实施例的示例系统100。系统100包括电视101、与电视101进行通信的娱乐装置102(如数字视频录像机(DVR)、机顶盒、视频游戏控制台、个人计算机等)、和遥控器103。遥控器103通过使用用户指令来控制电视101和/或娱乐装置102以改变频道、改变设置、移动光标、选择菜单项等。遥控器103通过无线链接如红外线(IR)链TM\n接、WiFi链接、Bluetooth 链接等与电视101和/或娱乐装置102进行通信。在此例子里,遥控器103有一个适合用户手部的人体工学和直观的形状,方便用户倾斜和移动遥控器103。遥控器103的各种特征将在以下详细描述。\n[0026] 图2是本发明一个实施例的包含在示例遥控器100(图1)内的典型功能单元的模块图。遥控器100包括键盘201、处理器202、运动探测器203、存储器204、和无线发射器\n205。遥控器100通过键盘201以及通过用户的倾斜、摇动和平移运动而接收用户指令。用户运动由运动探测器203进行探测,在此例子里,其仅包括单个加速计,没有额外的加速计或旋转传感器(如陀螺仪)。加速计可以是一个二维(2-D)或三维(3-D)加速计。处理来自运动探测器201的数据的技术在以下图6-8进行详细描述。\n[0027] 存储器204能够为处理器202存储数据和指令。从键盘201和运动探测器203接收到的信息由处理器202进行处理,并映射成一个或多个命令,如以下图6和图9-11的详细描述。通过使用无线发射器205,命令被发射到电视或其它娱乐单元。处理器202可以包括一个通用处理器、一个数字信号处理器(DSP)、一个专用集成电路(ASIC)、一个微控制器单元(MCU)等。应该明白,图2仅是一个典型示例,其它实施例可以使用某些不同构造的功能单元。\n[0028] 图3是本发明一个实施例的遥控器100的典型界面特征的模块图。如图所示,遥控器100包括传统的电视遥控键,以及一些专门适合用于倾斜、摇动和平移运动的控制键。\n例如,遥控器100包括一个开启/关闭键301、音量键302和303、以及取消键304和回车键\n305。另外,遥控器100包括键S1-S4,它们专门适用于用户的动作手势。比如,用户可以按住键S1,显示运动将被解读为一个基于倾斜的定位指令。其它键S2-S4也可以与各种功能有关。应该明白,图3仅是一个典型示例,其它实施例可以使用某些不同构造的界面特征。\n[0029] 遥控器100(图1)可以根据目前已知的或将来开发的任何协议来发射指令。图4和5描述本发明实施例使用的两个示例协议。图4描述示例数据包400,其可以从遥控单元\n100被发送到电视或其它娱乐装置。数据包400的格式是依照NEC协议的,NEC协议是电视类遥控器的标准格式,并普遍在亚洲区内使用。此外,数据包400可以用于单独命令(如提高音量)和定位型命令,以按照用户的运动来移动光标或选择选项。这两种命令可以通过使用数据块401来区别分,例如,0可以表示一个单独命令,而1可以表示一个定位型命令。\n数据块402可以用来承载命令指示,或可以用来承载定位数据(如4个比特用于X轴数据,\n3个比特用于Y轴数据)。数据包400可以用于各种实施例,特别是那些使用传统、低带宽IR连接的实施例,如在电视遥控器内普遍使用的16k比特/秒IR连接。可以用于各种实施例的低带宽协议的其它例子,包括但不限于,由Sony使用的协议、由Matsushita使用的协议,以及Rivest Cipher(RC5)。\n[0030] 图5描述示例数据包500,其可以从遥控单元100被发送到电视或娱乐装置。数据包500被简单显示并能够适用于任何协议。数据块501-503可以有任意数目的比特,表示任何期望类型的数据。工程师可以选择多个比特来满足一个期望的定位数据解析度,同时也满足带宽限制。数据包500可以用于任何各种类型的实施例,特别是那些使用高带宽IRTM\n连接或无线射频(RF)连接的实施例(如Bluetooth 、WiFi等)。\n[0031] 图6描述本发明一个实施例的由典型遥控器执行的一个示例过程,用于处理加速度数据并发射指令。在模块601,原始加速度数据从诸如运动探测器203接收,数据可以是\n2D或3D数据。在模块602,使用串联的三种类型的滤波器,对数据进行预处理。滤波可以由处理器如图2的处理器202执行,或通过一个或多个基于硬件的或基于软件的滤波模块(图中未显示)执行。\n[0032] 均值滤波器602a是一个“零延迟”的均值滤波器,其对原始数据进行平滑处理。传统均值滤波器的缺点就是它们在起始时有大量的延迟。在传统N-均值的滤波器的例子里,滤波器在输出平滑数据之前,将发生N个样本的延迟。通过对比,滤波器602a将延迟最小化了,即使只接收到一个样本也提供一个输出。滤波器602a可以通过使用任何各种类型的算法进行实施,其中两个算法将在以下描述。以下用来实施滤波器602a的所述算法是关于X轴信息进行描述,但是应该明白,Y和Z轴信息能够以相同方式对待。\n[0033] 在以下的例子里,i是一个接收到的特别数据的索引,而N是用于均值计算的数据数量。X_i是第i个Raw_X数据(原始X数据),而Xavg_i是在接收X_i之后的均值滤波器输出。在第一个实施滤波器602a的示例方法里,当i是在1到N-1的范围内,Xavg_i=sum(X_1,...,X_i)/i。当i大于或等于N,Xavg_i=sum(X_i-(N+1),...,X_i)/N。因此,当i小于N,均值计算是小于N个样本进行的。\n[0034] 在另一个示例方法里,Xavg_i=(w_i1*X_1+w_i2*X_2+...+w_ii*X_i)/N。其中i小于N,w _i1=N-i+1,以及w_i2,w_i3,w_i4,...,w_ii每个都等于1。因此,当i=3且N=8时,w_31=8-3+1=6。此外,在i=3且N=8的例子里,w_32和w_33都等于1,而且Xavg_3=(6*X_1+1*X_2+1*X_3)/8。当i大于或等于N时,w_i1,w_i2,w_i3,w_i4,...,w_iN都被设置等于0,而w_i(N+1),w_i(N+2),...,w_ii都被设置等于1。换言之,在此例子里,均值是为最后第N个数据进行的。因此,至少在一些情况下,在一些实施例里,均值滤波器最小化延迟能够便于处理用户不易觉察的延迟。\n[0035] 零和滤波器(Zero-well filter)602b用来从原始数据里去除噪声干扰。在传统的低/高限幅方法里,滤波器602b缩窄数据范围(通过零和阈值)以补偿在阈值区内的值。本发明一个实施例的一个典型零和滤波器的运作如图7所示。落于由两个阈值701、\n702所定义的范围内的数据被设置成0。在阈值702下方的数据被向上调整一个等于阈值\n702量值的数值。比如,如果阈值702等于-2个单位,落于-2单位下方的数据被提高2单位数值。类似地,落于阈值701上方的数据被减小阈值701的数值。比如,如果阈值701等于2个单位,数值高于2单位的数据被减小2单位数值。\n[0036] 在一些实施例里,原始数据在诸如1到-12的范围内有较大的波动,但用户通常不希望有这些波动。因此,滤波器602a将小的波动归零。另一方面,用户通常期望能够使用精细运动,比如说向前一步或后退一步。通过阈值701、702将原始数据归零建立了这样一个情景,如用户手势的幅度足够大以至于显示有3步移动,但遥控器解读被滤波的数据是1步移动。因此,用户仍然能够作出精细运动。\n[0037] 返回到图6,滤波器602c包括一个低限幅滤波器(low-clipfilter)和一个高限幅滤波器(high-clip filter)。图8描述本发明一个实施例的典型低限幅滤波器810和高限幅滤波器820。低限幅滤波器810剪掉高于阈值811的数值,从而高位值等于阈值811的数值。低限幅滤波器810也将低于阈值812的数值剪掉,从而低位值等于阈值812的数值。高限幅滤波器820将落于阈值821、822内的数值归零。\n[0038] 低限幅滤波器810用来去除原始数据内的急剧变化,如用户突然掉落遥控器。高限幅滤波器820能识别原始数据内的主要变化,但剔除小的移动,如用户手部的颤动。在各种实施例里,滤波器602a-602c可以被很简单地实现,从而以最小成本的处理功率和延迟而获得期望的性能。\n[0039] 返回到图6,在模块603,遥控器有一个预处理数据,其包括滤波阶段602的输出。\n接着,预处理数据在模块604被一个或多个算法使用以产生定位命令和/或离散命令。其中一个算法是基于倾斜的定位算法604a,例如其被用来指向屏幕上的一个选项,类似于计算机鼠标的定位功能。当遥控器静止时,仅有重力作用在加速计上,重力形成投影在加速计的轴上。当倾斜遥控器时,加速计在各个轴(如在3D例子里的X、Y、Z轴)的读数将会相应地变化。算法604a将投影幅度映射到屏幕上光标的位置,比如通过输出(Pointing_Data_X,Pointing_Data_Y),其中X和Y是屏幕的轴,而光标被投影在屏幕上。\n[0040] 在一个典型实施里,一旦按钮S1(如图3的按钮S1)从“未按”到“按住”的状态改变,参考的加速计读数被设置为当前预处理的加速计读数(Ref_X,Ref_Y,Ref_Z),并且输出(Pointing_Data_X,Pointing_Data_Y)被设置为(0,0)。只要按了S1,执行一个被称为“OutputPointingData”的函数,使得OutputPointingData((A_X,A_Y,A_Z),(Ref_X,Ref_Y,Ref_Z))等于(Pointing_Data_X,Pointing_Data_Y)。OutputPointingData()是一个函数,其依照使用的传感器的灵敏度和期望定位数据的解析度,将预处理的加速计读数映射成屏幕上光标(或其它物体)的移动。定位数据本身是由娱乐装置接收,并依照用户指令被用来移动光标或其它物体。在一个实施例里,OutputPointingData()可以被实施作为(A_X-Ref_X,A_Y-Ref_Y)。\n[0041] 为了便于适合主机装置的不同解析度,可以使用一个缩放因子(scaling factor)。比如,OutputPointingData()可以被实施作为((A_X-Ref_X)*ScalingX,(A_Y-Ref_Y)*ScalingY)。ScalingX和ScalingY也可以依赖于OutputPointingData()的输入。在另一个实施例里,函数可以被实施作为表格查找。在另一个实施例里,关于X、Y和Z轴的角度运动可以从X、Y、Z读数进行计算,以提供一个更准确的映射从手部运动到定位数据。基于倾斜的定位算法,如算法604a,在本领域内是众所周知的。\n[0042] 算法604b是一个基于倾斜的命令算法,其接收遥控器的倾斜运动形式的用户输入,并输出一个离散命令,如上一个频道和下一个频道。如上所述,当倾斜遥控器时,沿着各个轴(如在3-D例子里的X、Y、Z轴)的加速度读数将相应地变化。在一个实施例里,当其中一个读数超出一个预设阈值时,能够触发一个倾斜命令。图9描述在一个典型的基于倾斜的命令算法期间的加速计读数。在时间901,开始倾斜,在时间902,加速计读数的量级已经超出一个阈值。在时间902,遥控处理器辨别出倾斜超出阈值,执行算法604b。基于倾斜的命令算法,如算法604b,在本领域内是众所周知的。\n[0043] 算法604c是一个基于移动的命令算法,其接收遥控器的平移移动形式的用户输入,并输出一个离散命令,如向上翻页和向下翻页。当用户自然地移动遥控器,比如沿着X轴,移动方向上的加速度将有一个急剧上升,然后急剧下降。当观察到加速度在一个急剧上升之后有一个急剧下降时,能够触发一个移动命令。各种实施例监控加速度的变化率,以便能够触发基于移动的命令。\n[0044] 图10描述本发明一个实施例的两个典型运动情景。在情景1010里,触发一个移动命令。在时间1011,加速度的变化率是正的,并且算法604c位于移动状态1,其中算法604c辨别在一个设定时间周期内加速度的变化率是否变成负的。在时间1012,处理器辨别出加速度的变化率在设定时间周期内已经变成负的,由此触发基于移动的命令。\n[0045] 在情景1020里,处理器辨别出加速度的变化率已经变成正的,算法604c提前到移动状态1。但是,在情景1020里,设定期在时间1022结束之前,加速度的变化率不会变成负的。因此,算法604c忽视移动,并不会触发一个基于移动的命令。在一个基于移动的命令被触发或者一个移动被忽视之后,将开启一个盲区期,期间算法604c不会提前到移动状态\n1。在一些实施例里,实施盲区能够有助于避免由追踪数据波动引起的错误触发移动命令。\n[0046] 返回到图6,算法604d接收遥控器移动形式的用户输入,如果移动符合一个概况特征(以下进行描述),算法604d输出一个离散命令,如待机(stand by)。图11描述本发明一个实施例的触发一个基于摇动的命令的情景。算法604d计算沿着各个轴(如在3-D情景里的X、Y、Z轴)的加速度的变化率。当至少一个变化率大于一个预设阈值时,触发一个基于摇动的命令。在图11的例子里,当其中一个轴上的加速度的变化率超出阈值1102时,在时间1101触发一个基于摇动的命令。类似于算法604c的基于移动的命令,在触发一个基于摇动的命令之后,可以实施一个盲区(dead zone),以避免由追踪数据波动引起的错误摇动命令。\n[0047] 依照一个或多个协议,各种实施例能够同时或单独运行算法604a-604d。在一个例子里,遥控器上的处理器根据按钮S1-S4(图3)上接收到的用户命令确定哪一个算法\n604a-604d运行。在一个例子里,S1对应基于倾斜的定位,S2对应基于倾斜的命令,S3对应基于移动的命令,以及S4对应基于摇动的命令。实施例的范围不限于任何特别的按钮映射,且实施例的范围不限于要求按钮在另一个类型的接口装置上。\n[0048] 另外或有选择地,算法604a-604d的量值能够调整到这样的数值,使得触发一个基于倾斜的命令,然后触发一个基于移动的命令,然后后再触发一个基于摇动的命令。比如,如果加速度的幅值在第一范围内,处理器触发一个基于倾斜的命令;如果加速度在高于第一范围的第二范围内,处理器触发一个基于移动的命令。如果加速度的幅值位于高于第二范围的第三范围内,处理器执行一个摇动命令。\n[0049] 另外或有选择地,当一些命令被同时触发时,在主机装置上运行的应用程序(如在电视机顶盒上运行的web浏览应用程序)能够根据主机装置的状态分辨出哪一个命令要处理。比如,如果主机装置正在显示一个web浏览器界面,当该动作合适时,它能够使用上下文获知以执行一个基于倾斜的定位命令,而忽略一个摇动命令(或者反过来)。目前已知的或将来开发的任何协议,其详细描述何时同时或单独运行算法,能够适用于本发明的实施例。\n[0050] 返回到图6,在模块605,遥控器使用IR和/或RF技术发射一个离散命令和/或定位数据到一个娱乐装置。尽管图6显示了一系列的离散步骤,但本发明并不受此限制。各种实施例可以增加、忽略、修改和/或重新安排方法600的动作。比如,一些实施例包括接收用户输入而不是倾斜、移动、或摇动(如来自专门动作按钮的输入,如图3的301-305),并根据这种用户输入发射指令。\n[0051] 各种实施例包括两个模式获取传感器数据。在一个模式里,当用户按下并按住按钮时,获取传感器数据,如图3的S1。在以下的例子里,这种模式被称为“按住不放”模式。\n在另一个例子里,用户按下并放开按钮(如图3的S1)以开始获取传感器数据,并再次按下放开按钮以结束获取传感器数据。在以下的例子里,这种模式被称为触发模式。此外,在以下的例子里,与传感器数据无关的离散命令,以高和低带宽的实施方式,从遥控器发送到主机(如娱乐单元或电视)。相反,在以下的例子里,传感器数据以高带宽的实施方式从遥控器发送到主机,并且主机将传感器数据映射成指令。在低带宽的实施例里,一个由传感器数据映射的指令以低带宽的实施方式从遥控器发送到主机。\n[0052] 在以下的例子里,参考特征对应以下所示的过程:A 重置MCU和MEMS传感器B 启动变量、阵列、缓冲等,例如:Key_Type=NULL(空),Toggle_Status=OFF(关闭),Key_Code,Pointing_Data,Command;缓冲,Output,Sensor_Stat=OFF,等。C 扫描传统键以查看是否有键被按下;如果被按下:设置Key_Type=CONVENTIONAL(传统),设置Key_Code,设置Output=Key_Code;扫描传感器键以查看是否有键被按下;如果被按下:设置Key_Type=SENSOR(传感器);更新Toggle_Status(如果当前Toggle_Status=ON(开启),接着设置Toggle_Status=OFF(关闭);如果当前Toggle_Status=OFF(关闭),接着设置Toggle_Status=ON(开启)D 从加速计获得传感器数据E 预处理/滤波数据F 计算光标位置并返回结果到Pointing_Data;设置Output=Pointing_DataG 计算数据特性;探测运动并返回结果到Command;设置Output=CommandH 将Output放入缓冲器(Buffer)I 使用抢先算法(Preemptive Algorithm)重新安置缓冲器(Buffer)(提供优先权到缓冲器里的具体输出,如传统键)J 将缓冲器内的Output,Key Code,Pointing Data或Command转换成准备发送出去的标准命令K 依照发射协议发出缓冲器内的命令L 开启传感器;\n设置Sensor_Stat=ON(开启)M 关闭传感器;设置Sensor_Stat=OFF(关闭)N 通过IR接收机接收数据/命令O 验证数据/命令的完整性和准确性;纠正或忽略错误的数据包P 解码并解读数据/命令Q 实施命令到用户界面上的某些应用\n[0053] 图12显示本发明一个实施例的典型过程1200和1210。过程1200和1210对以高和低带宽运作的遥控制器以及以“按住不放”模式和触发模式的遥控制器是共同的。在过程1200,启动传感器和处理器,并辨别是否有键被按住以及哪一个键被按住。传感器键的例子包括图3的S1,而传统键的例子包括图3的键301。在过程1210,传感器数据和/或表示命令的数据被缓冲和发射。在其它实施例里,缓冲器被重新安排以提供优先权给一些数据优先于其它数据。\n[0054] 图13显示本发明一个实施例的由一个主机执行的典型过程1300和1310。过程\n1300对应一个低带宽的实施例,其中离散命令和基于传感器数据的命令被发送到主机。娱乐装置接收命令数据,并验证、解读和实施命令。\n[0055] 过程1300对应一个高带宽的实施例,其中传感器数据而不是基于传感器数据的命令,被发送到主机。另外,如上所述,来自传统键的离散命令被发送到主机。过程1310类似于过程1300,但在过程1310里,娱乐装置(而不是遥控器)执行算法将传感器数据映射成指令。\n[0056] 图14显示本发明一个实施例的由一个触发模式的遥控器执行的典型过程1400和\n1410。过程1400和1410是用来获取并处理传感器数据的过程。\n[0057] 过程1400对应一个高带宽运作,其中传感器数据被发送到主机。过程1400检查触发状态,一旦有触发操作,过程1400收集和预处理传感器数据,并发送预处理的传感器数据到缓冲器。\n[0058] 过程1410对应一个低带宽运作,其中基于传感器数据的命令被映射到遥控器上。\n过程1410类似于过程1400,同样包括将传感器数据映射成指令的算法。\n[0059] 图15显示本发明一个实施例的由“按住不放”模式的遥控器执行的典型过程1500和1510。过程1500和1510是用来获取和处理传感器数据的过程。\n[0060] 过程1500对应一个高带宽运作,其中传感器数据被发送到主机。过程1500检查“按住不放”状态,一旦有按住不放的动作,过程1500收集和预处理传感器数据,并发送预处理的数据到缓冲器。\n[0061] 过程1510对应一个低带宽运作,其中基于传感器数据的命令被映射在遥控器上。\n过程1510类似于过程1500,同样包括将传感器数据映射成指令的算法。\n[0062] 各种实施例包括一个或多个优点。特别地,其中移动传感器限于单个2-D或3-D加速计的实施例可以受益于其简单性,能够有助于维持开销和成本在较低水平。此外,一些使用零延迟的均值滤波器、零和滤波器、和/或高/低限幅滤波器组合的实施例包括巧妙的原始数据滤波,有最小延迟和最小处理开销。\n[0063] 虽然已经详细说明了本发明及其优越性,但应理解,在不脱离所附权利要求定义的本发明的条件下可以做出各种改变,替换和变化。此外,本申请的范围不限定到此处说明书中描述的处理方法,机器,制造,物质构成,手段,方法和步骤等的特定实施例。从说明书可以容易理解,可以利用实质上执行了与这里说明的相应实施例相同功能或实现了相同结果的目前已有的或者将来会开发出的处理方法,机器,制造,物质构成,手段,方法和步骤。\n因此,所附的权利要求书旨在包括这些处理方法,机器,制造,物质构成,手段,方法或步骤。\n[0064] 以上内容是结合具体的优选实施方式对本发明/实用新型所作的进一步详细说明,不能认定本发明/实用新型的具体实施只局限于这些说明。对于本发明/实用新型所属技术领域的普通技术人员来说,在不脱离本发明/实用新型构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明/实用新型的保护范围。
法律信息
- 2012-07-25
- 2010-12-01
实质审查的生效
IPC(主分类): G08C 17/02
专利申请号: 201010113218.X
申请日: 2010.01.27
- 2010-10-20
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-02-13
|
2005-02-24
| | |
2
| |
2008-12-24
|
2005-03-07
| | |
3
| | 暂无 |
2007-12-18
| | |
4
| |
2009-02-18
|
2008-08-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |