用于捕捉远程控制设备命令信号的系统和方法

文档序号:6701794阅读:176来源:国知局
专利名称:用于捕捉远程控制设备命令信号的系统和方法
技术领域
本发明涉及媒体处理设备,并涉及用于通过媒体处理设备来从多个远程控制设备捕捉远程控制设备命令信号(例如导航和回放命令)的系统和方法。
背景技术
媒体处理设备可被配置为对包含音频、图像和/或视频内容的媒体内容进行处理和回放。对媒体内容的回放可通过输入诸如暂停、倒转和停止之类的命令来控制。另外,可响应于一个或多个输入命令,在用户界面中游历(traverse)与该媒体内容相关联的一个或多个菜单,例如章节或特征菜单。媒体处理设备可以包含用户界面,该用户界面包括诸如按钮、开关和拨号盘之类的一个或多个控件。这些控件可被致动来输入用于指引回放和导航的命令。此外,一些媒体处理设备可以包括远程控制设备,该远程控制设备被配置为发送诸如红外(IR)或射频信号之类的、代表使用远程控制设备输入的命令的命令信号。例如,远程控制设备可以包括诸如按钮和开关之类的多个控件。简单命令可由诸如按钮下压之类的单个控件来指示。此外,复杂命令可由控件的组合(例如,同时或者依次致动多个按钮)来指示。此外,可对诸如按钮下压之类的简短致动与诸如按钮保持之类的持续致动进行区分,并且对相应的命令信号作出不同解释。例如,只要在预定时间窗内接收到命令信号事件就可以认为控件被致动,并且如果该控件处于被持续致动的状态中达预定时间量,则可以认为该控件被保持。远程控制设备所发送的每一个命令信号可以对应于媒体处理设备要执行的一个动作。媒体处理设备可被配置为辨识预定的一组命令信号,并且可以执行与相关联的远程控制设备所发送的命令信号相对应的动作。此外,已经开发出通用远程控制设备,其能够发送与多个不同命令格式或协议相关联的命令信号。这样,通用远程控制设备可被编程为发送与多个远程控制设备相对应的命令,并从而能够控制多个媒体处理设备。但是,每一个媒体处理设备仅对其被配置为辨识出的一组命令信号作出响应。

发明内容
媒体处理设备(例如,由位于CA的Cupertino的Apple Inc.发布的AppleTV)可被配置为辨识由与媒体处理设备相对应的主远程控制设备以及多个次远程控制设备发送的命令信号。这些次远程控制设备可以是与来自同一制造商的其他设备相关联的的远程控制设备以及第三方远程控制设备。此外,可以使用多个不同协议和/或格式来发送这些命令信号。另外,媒体处理设备可被配置为使得多个次远程控制设备可以同时有效(active)。 为了允许结合媒体处理设备使用次远程控制设备,本发明的发明人认识到允许媒体处理设备将由次远程控制设备发送的命令信号映射到可由媒体处理设备执行的功能将是有益的。本发明的发明人还认识到使得媒体处理设备将与次远程控制设备相关联的命令信号映射到可使用主远程控制设备执行的基本控制功能的至少每一者的需要。此外,还认识到了将媒体处理设备功能映射到次远程控制设备上包括的任意控件的需要。另外,本发明的发明人认识到了在媒体处理设备辨识出由远程控制设备发送的命令信号时提供指示器(例如将发光二极管(LED)关断)的需要。相应地,这里描述的技术和装置实现了用于由媒体处理设备辨识次远程控制设备所发送的一个或多个命令信号并将这一个或多个命令信号映射到可由媒体处理设备执行的功能的算法。在一些实现方式中,一种方法包括将从远程控件接收的无线信号的特性与关联于一组协议的特性相比较。该方法还包括基于该比较,向这多个协议中包括的每一个协议指派分数。该方法还包括基于所指派的分数从这一组协议中识别协议。所识别的协议基本类似于与所述无线信号相关联的协议。在其他实现方式中,一种媒体处理设备包括接收器,用于从远程控件接收无线信号。该媒体处理设备还包括远程控件驱动器,用于将无线信号的特性与关联于一组协议的特性相比较。远程控件驱动器被配置为基于该比较来向这一组协议中包括的每一个协议指派分数。远程控件驱动器还被配置为基于所指派的分数来从这一组协议中识别协议。所识别的协议基本上类似于与所述无线信号相关联的协议。在其他实现方式中,一个或多个计算机可读介质存储着指令,所述指令可由处理设备执行,并且在这种执行时,使处理设备执行包括如下的操作将从远程控件接收的无线信号的特性与关联于一组协议的特性相比较。所述操作还包括基于该比较,向这一组协议中包括的每一个协议指派分数。所述操作还包括基于所指派的分数从这一组协议中识别协议。所识别的协议基本类似于与所述无线信号相关联的协议。本说明书中描述的技术可被实施来实现如下优点中的一个或多个。例如,这些技术可被实现为使得媒体处理设备可被编程为从多个远程控制设备(包括次远程控制设备) 接收并辨识命令。这些技术还可被实现来允许将与次远程控制设备的任意控件相关联的控制信号映射到媒体处理设备的具体功能。此外,与次远程控制设备相对应的映射可被存储在设备简档中。另外,这些技术可被实现来允许对存储在媒体处理设备上的远程控制设备简档(profile)进行重命名,删除远程控制设备简档,或者重新映射远程控制设备简档的至少一部分。这些技术还可被实现为使得一个或多个远程控制设备简档被预先加载在媒体处理设备上,例如用于广泛使用的次远程控制设备。这些技术还可被实现为允许呈现一界面,该界面用于引导用户通过远程控制设备配置的创建。在附图和如下描述中阐述了一个或多个实现方式的细节。其他特征和优点将从说明书和附图以及从权利要求书中明了。


图1示出了包括媒体处理设备的示例性媒体系统。
图2-图5示出了由媒体处理设备呈现的示例性界面。图6示出了描述用于检测和学习命令信号的示例性处理的流程图。图7示出了可由媒体处理设备执行的示例性远程控件驱动器。图8示出了表示脉冲距离编码协议的示例性脉冲系列,在该协议中,每一个脉冲-分隔配对(pulse-space pair)表示单个数据比特。图9示出了可在脉冲系列中实现的相位编码的示例。图10是示出各种不同协议的表。图11是示出可用来与顶签名相比较的头部脉冲宽度范围和头部分割宽度范围的表。图12是示出用于相位编码协议的预期脉冲和分隔宽度的表。图13图示出了示例性相位编码协议的属性。图14示出了表示一系列脉冲的时间系列,其中,跟随前四个数据比特之后的时间段提供了触发信息。图15示出了既不是脉冲距离编码也不是相位编码的示例性协议。图16-图18示出了描述由远程控件驱动器执行的示例性操作的流程图。图19示出了描述用于识别与无线信号相关联的协议的示例性处理的流程图。说明书和附图全文中由相同的标号表示相似的元素。
具体实施例方式图1示出了包括媒体处理设备105的示例性媒体系统100。媒体处理设备105可被配置为处理媒体内容,并基于媒体内容来生成图像、音频和/或视频输出。例如,媒体处理设备105可通过媒体连接(media connection) 110来耦合到显示器120,媒体连接110可以是有线的或无线的。此外,媒体内容可在本地被存储到媒体处理设备105,例如存储在内部存储设备、附接的存储设备、或者可移除介质上,可移除介质包括数字多功能盘(DVD)、致密盘(CD)或存储棒。可替代地,媒体内容可经由网络连接(未示出)从远程源下载或流式传输。媒体处理设备105还可被配置为生成用户界面125,该用户界面可被呈现在显示器120上。用户界面125可包括被配置为接收来自用户的输入的一个或多个画面。例如, 可将用户界面125组织在菜单结构中,该菜单结构包括主菜单画面和一个或多个子菜单画面。此外,可使用多个级别来组织子菜单画面,以使得一个子菜单画面可包括到另外的子菜单画面的链接。在一些实现方式中,可联合或者取代用户界面125而使用音频输出。用户界面125的主菜单130可以包括与媒体处理设备105相关的多个选项,包括与媒体内容类别、设备设定和媒体内容源相对应的选项。主菜单130的其它实现方式可以包括附加的、更少的或者不同的选项。用户界面125还可以包括可用于高亮显示菜单选项的可移动光标135。例如,响应于媒体处理设备105所接收的输入(例如,选择命令),主菜单130中的选项“电影”可被光标135高亮显示,并在随后被接受。此外,可以响应于媒体处理设备105所接收的导航输入(例如,方向命令),而在用户界面125内改变光标135的位置。在一些实现方式中,可通过一个或多个所包含的控件(未示出)来向媒体处理设备105提供输入。此外,媒体处理设备105可以包括被配置为检测远程控制设备(包括红外传感器)所发送的信号的一个或多个传感器和/或天线。主控制器140可以与媒体处理设备105相关联。主控制器140可以包括用于接收来自用户的简单和复杂命令的多个控件 142,例如按钮和开关。此外,主控制器140可被配置为例如经由红外或射频传输来向媒体处理设备105发送与所接收的命令相对应的命令信号。媒体处理设备105可以检测所发送的命令信号,并解释所使用的传输协议。此外,媒体处理设备105可以将从主控制器140接收的命令信号转换为标识出要执行的一个或多个功能的消息。此外,媒体处理设备105可被配置为检测由多个次控制器(例如次控制器145)发送的命令信号。次控制器可以是与由同一制造商提供的另一设备相关联的控制器或者第三方控制器。媒体处理设备105可被配置为识别次控制器145用来发送命令信号的协议。例如,媒体处理设备105可被配置为生成表示所接收的命令信号的签名。签名格式可被构造为适应多个不同的传输协议。此外,可以使用匹配启发(matching heuristics)来分析签名以识别用于发送命令信号的协议。一旦已经识别出传输协议,就可以根据识别出的协议来解释命令信号以提取要传送的消息。所提取的消息可用数字形式来编码,并被媒体处理设备105处理。另外,可在媒体处理设备105的可视部分(例如,正面)上包括发光二极管 (LED)115。在媒体处理设备105通电时,LED 115的默认状态可被点亮。当从控制器接收到命令信号时,媒体处理设备105可对命令信号进行分析以判断该命令信号是否可被辨识。 如果命令信号被辨识为媒体处理设备105被编程为要对其作出响应的命令,则LED 115可被关断。在一些实现方式中,LED 115可以在该命令信号的持续时段内保持关断。这样,LED 115可以提供表明正在接收被辨识的命令的视觉指示。可替代地,如果命令信号不被辨识, 例如来自尚未被学习的源的红外传输,则LED 115可以保持点亮。媒体处理设备105可以在命令解释模式中操作,在该模式中,媒体处理设备105所接收的命令信号被评估以判断它们是否被辨识。例如,可以相对于一个或多个已知的(或者已学习的)命令信号来评估由媒体处理设备105的传感器检测到的红外信号,以判断是否有合格身份。如果接收的命令信号被辨识出,则可由媒体处理设备105执行该命令信号。 可替代地,如果接收的命令信号未被辨识,则可以忽略该命令信号。媒体处理设备105还可在学习模式中操作,在该学习模式中,远程控制设备所发送的命令信号被捕捉并被映射到对应功能。例如,在学习模式中,媒体处理设备105可以指示用户致动远程控制设备上、被学习为与特定功能相对应的控件。媒体处理设备105可以捕捉传感器所接收的命令信号并将其缓冲预定时间段(例如,2秒)。随后可对所缓冲的命令信号进行分析以识别一个或多个特性。例如,媒体处理设备105可以判断所缓冲的命令信号是否曾经在整个时间段内前后一致,以及该信号是否包括初始信号和一个或多个重复消息。此外,还可以对所缓冲的命令信号的一个或多个定时特性进行分析,例如事件之间的最大时间。媒体处理设备105随后可存储所识别的特性,以供用于在命令解释模式中识别命令信号。图2示出了由媒体处理设备105呈现的示例性远程控制界面200。远程控制界面 200可以包括与主控制器140相关联的一个或多个选项,例如用于将主控制器140与媒体处理设备105配对的配对远程选项205。一旦配对,媒体处理设备105就仅对从所配对的控制
7器接收的命令信号作出响应。在一些实现方式中,远程控制界面200可以包括在主控制器 140已经配对之后用于解除其配对的选项。远程控制界面200还可以包括与一个或多个次远程控制器相关联的选项。可以使用光标135来访问远程控制界面200中包括的任意选项。例如,远程控制界面200可以包括学习远程选项210,其可被访问来允许媒体处理设备105学习与另外的控制器(例如,次控制器14 相关联的命令信号。此外,远程控制界面200可以包括用于访问所存储的与次远程控制器相对应的简档的选项,例如TV远程215和定制远程220。可以访问所存储的简档以执行针对该简档的一个或多个管理任务。例如,可以访问所存储的简档来执行诸如下述各项的功能重命名简档,删除简档,或者通过重新映射一个或多个命令来修改简档。图3A示出了由媒体处理设备105呈现的示例性学习远程界面300。学习远程界面 300可以响应于对远程控制界面200中的学习远程选项210的选择而被呈现。学习远程界面300可以包括可以使用光标135来高亮显示的一览选项,例如开始选项305和取消选项 310。在其它实现方式中,学习远程界面300可以包括附加的、更少的或者不同的选项。访问开始选项305可以使媒体处理设备105从命令解释模式切换到学习模式。可替代地,访问取消选项310可以使媒体处理设备105退出学习远程界面300。图;3B示出了由媒体处理设备105呈现的示例性所存储简档界面315。所存储简档界面315可以响应于对例如远程控制界面200中的用于访问所存储简档的选项的选择而被呈现。所存储简档界面315对应于命名为TV远程的简档,并且表示被配置为结合媒体处理设备105操作的次控制器。可通过所存储简档界面315来访问针对TV远程简档的多个管理选项。例如,可以访问重命名远程选项320来改变TV远程简档的名称。也可以访问删除远程选项325来删除所存储的TV远程简档。此外,可例如通过设立基本按钮选项330和设立回放按钮选项335来配置或修改被识别为TV远程的次控制器的一个或多个控件与媒体处理设备105的一个或多个功能之间的映射。例如,未经映射的功能可被映射到某一控件, 或者经预先映射的功能可被重新映射到不同的控件。图4示出了由媒体处理设备105呈现的基本按钮界面400。基本按钮界面400可以响应于访问学习远程界面300的开始选项305的输入而被呈现。基本按钮界面400包括指示出要在正学习的次控制器(例如,次控制器145)上致动哪个控件的指令405。例如, 如果UP(向上)导航按钮正被映射到对应命令信号,则消息“按压并保持另一远程控制器上的UP按钮。继续保持UP按钮,直到进度条满格为止”可被显示。但是,任何控件都可被指定为UP按钮。例如,如果次控制器145不包括UP按钮,则可以指定将不被映射到任意其它媒体处理设备105功能的不同控件。在一些实现方式中,可以联合或者取代画面上的指令 405来呈现音频指令。基本按钮界面400还可以显示多个控制按钮符号410。在一些实现方式中,控制按钮符号410可以是要致动的控件的图形表示。控制按钮符号410中的每一者表示由媒体处理设备105执行的、要被映射到正学习的次控制器的某一控件的功能。例如,控制按钮符号410可以包括UP、D0WN(向下)、LEFT (向左)和RIGHT (向右)导航箭头。控制按钮符号 410还可包括与SELECT(选择)和MENU(菜单)功能相对应的标识符。其它实现方式可以包括附加的、更少的或者不同的控制按钮符号410。可在基本按钮界面400上呈现光标415以指示出控制按钮符号410中的哪一者目前正被映射到次控制器的控件。当执行映射处理时,光标415可被自动改变位置到下一控制按钮符号410。或者,光标415可被手动定位以选择与要映射的控件相对应的控制按钮符号410。在一些实现方式中,可在视觉上对控制按钮符号410进行区分,以区别已被映射的控制按钮与尚未被映射的控制按钮。例如,已被映射的每一个控制按钮符号410可被加上阴影、使得成为灰色、使得透明化、或者以其它方式进行区分。另外,基本按钮界面400可以显示进度条420以指示出应当在次控制器上下压正被映射的控制按钮的持续时段。进度指示器425可以填充进度条420,以既指示出完全度又表明何时可以释放控制按钮。例如,进度指示器425可以在预定时间段(例如,2秒)内填满进度条420。或者,进度指示器425填满进度条420的时间段可以基于媒体处理设备 105所接收的命令信号而变化。例如,填充进度条420的任意部分可被延迟,直到媒体处理设备105检测到一命令信号之后为止。一旦进度指示器425已经完全填满进度条420,则光标415可被推进到下一控制按钮符号410,并且进度条420可被重置。一旦次控制器145 的基本按钮已被映射,次控制器145就可被用来控制媒体处理设备105。在一些实现方式中,包括次控制器的命令信号的一个或多个预学习简档可被存储在媒体处理设备上。例如,表示ACME DVD播放器远程控制的命令信号的数据可在制造时或者作为软件更新的一部分被存储在媒体处理设备上。当媒体处理设备处于学习模式时,可以将一个或多个所接收的命令信号(例如,第一和第二命令信号)与预学习简档相比较来判断是否有合格身份。如果一个或多个所接收命令信号充分地与存储在预学习简档中的数据匹配,则媒体处理设备可以呈现一消息,该消息提供次控制器的自动配置。例如,媒体处理设备可以输出消息“您似乎正在使用ACME DVD远程。您需要我自动设置您的按钮吗?” 如果用户作出选择,则预学习简档可被用来自动生成与次控制器相对应的远程简档。图5示出了由媒体处理设备105呈现的回放按钮界面500。在一些实现方式中,可在基本按钮界面400中的配置已经完成之后,自动呈现回放按钮界面500。回放按钮界面 500包括指示出要在正被学习的次控制器(例如次控制器14 上致动哪个回放控件的指令 505。例如,如果STOP (停止)回放功能正被映射到对应控件和命令信号,则消息“按压并保持另一远程控制器上的Mop按钮。继续保持Mop按钮,直到进度条满格为止”可被显示。 但是,任意控件都可被指定为Mop按钮。例如,如果次控制器145不包括Mop按钮,则可以指定将不被映射到任意其它媒体处理设备105功能的不同控件。在一些实现方式中,可以联合或者取代画面上指令405来呈现音频指令。回放按钮界面500还可以显示多个回放按钮符号510。每一个回放按钮符号510表示由媒体处理设备105执行的、要被映射到正学习的次控制器的某一控件的功能。例如,回放按钮符号510可以包括PLAY (播放)、PAUSE (暂停)、ST0P (停止)、REWIND (倒转)、FAST FORWARD (快进)、CHAPTER SKIP BACKWARD (按章节向后跳跃)、CHAPTER SKIP FORWARD (按章节向前跳跃)、REPLAY (重新播放)和SKIP FORWARD (向前跳跃)。REPLAY和SKIP FORWARD 功能可被配置来将回放倒转或者推进预定时间量,例如10秒。其它实现方式可以包括附加的、更少的或者不同的回放按钮符号510。也可以在回放按钮界面500中呈现光标515以指示出哪一个回放按钮符号510目前正被映射到次控制器的控件。当执行映射处理时,光标515可被自动改变位置到下一回放按钮符号510。或者,光标515可被手动定位以选择与要映射的回放符号相对应的回放按钮符号510。在一些实现方式中,可在视觉上对回放按钮符号510进行区分,以区别已被映射的控制按钮与尚未被映射的控制按钮。例如,已被映射的每一个回放按钮符号510可被加上阴影、使得成为灰色、使得透明化、或者以其它方式进行区分。另外,回放按钮界面500可以显示进度条520以指示出应当在次控制器上下压正被映射的控制按钮的持续时段。进度指示器525可以填充进度条520,以既指示出完全度又表明何时可以释放控制按钮。例如,进度指示器525可以在预定时间段(例如,2秒)内填满进度条520。或者,进度指示器525填满进度条520的时间段可以基于媒体处理设备 105所接收的命令信号而变化。例如,填充进度条520的任意部分可被延迟,直到媒体处理设备105检测到一命令信号之后为止。一旦进度指示器525已经完全填满进度条520,则光标515可被推进到下一回放按钮符号510,并且进度条520可被重置。图6示出了描述用于检测和学习命令信号的示例性处理的流程图。媒体处理设备可被配置为检测无线发送的命令信号,例如红外信号或者射频信号。命令信号可以指示出简单命令或者复杂命令。此外,命令信号可以指示出单次控件致动对比持续控件致动,例如,被保持的控件。此外,媒体处理设备可被配置为对使用多个不同传输协议发送的命令信号进行解释。媒体处理设备可以在命令解释模式中接收并处理命令信号(600)。 例如,与媒体处理设备相关联的传感器可以接收命令信号,并将所接收命令信号的表示 (representation)传递到命令辨识模块,该命令辨识模块可用软件、硬件或者其组合来实现。命令辨识模块可以确定使用了什么协议来发送命令信号以及媒体处理设备是否支持该协议。如果协议得到支持,则命令信号可被解释并执行。否则,该命令信号可被忽略。此外,媒体处理设备可以判断是否已经选择了远程控制学习模式(605)。例如,可在用户界面中选择一个或多个选项以调用远程控制学习模式。可从任意受支持的输入设备 (包括已经完成基本按钮配置的次控制器)调用远程控制学习模式。可以使用远程控制学习模式来学习与次控制器的特定控件相关联的命令信号。如果命令信号不是指示媒体处理设备进入学习模式,则媒体处理设备继续在命令解释模式中接收并处理命令信号(600)。如果命令信号指示媒体处理设备进入学习模式,则媒体处理设备可以呈现要学习的基本按钮以及一个或多个指令(610)。例如,媒体处理设备可以呈现如图4所示的基本按钮界面,以指示出要映射的次控制器的基本按钮并指示用户执行一个或多个动作,例如将某一具体控件致动一时间段。媒体处理设备可以捕捉由次控制器发送的命令信号,并将所捕捉的命令信号映射到由媒体处理设备执行的基本功能(615)。例如,在用户已经收到用于致动与次控制器相关联的具体控件的指令之后,媒体处理设备可以对所接收的命令信号进行缓冲。命令信号可被缓冲预定时间段,例如2秒。或者,例如可以基于所接收命令信号的一个或多个特性而将命令信号缓冲可变时间段。此外,可以呈现诸如进度条之类的视觉指示器以向用户通知何时致动以及何时释放次控制器的控件。一旦命令信号已被缓冲,媒体处理设备就对所缓冲的信号进行分析。例如,媒体处理设备可以判断所缓冲的命令信号是否在时间上前后一致。媒体处理设备还可以判断所缓冲的命令信号是否包括初始消息以及一个或多个重复消息。此外,还可以对与所缓冲的命令信号相关联的定时信息进行分析。例如,所缓冲命令信号中的事件之间的最大时间可被确定,例如供用于识别不同命令之间的最小时间段。在一些实现方式中,如果在预定捕捉时间段到期之前信号被中断,则所接收的命令信号数据将被丢弃。在已经分析了次控制器所发送的命令信号之后,可以使用数个参数来存储命令信号的表示。例如,这些参数可以指示出与命令信号相关联的初始消息或者模式、与命令信号相关联的任何重复的分组 (packet)、以及构成命令信号的事件之间的时间间隔。在一些实现方式中,如果所缓冲的命令信号无法被处理或者是有缺陷的,则媒体处理设备可以重复针对关联控件的捕捉操作。在一些实现方式中,媒体处理设备可被配置来存储一个或多个预学习简档,预学习简档包括次控制器的命令信号。如果所接收命令信号与预学习简档中的数据充分匹配, 则媒体处理设备可以自动生成次控制器的远程简档。如果远程简档的自动生成被选择,则学习模式可被取消,并且媒体处理设备可以返回到命令解释模式。在已经捕捉了与基本按钮相关联的命令信号之后,媒体处理设备可以判断是否所有基本按钮都已被处理(620)。如果与一个或多个基本按钮相对应的命令信号尚未被捕捉, 则媒体处理设备可以呈现要被学习的下一基本按钮以及一个或多个关联指令(610)。否则, 媒体处理设备可以判断是否将要学习一个或多个导航控件(622)。例如,媒体处理设备可以呈现一界面,该界面请求来自用户的、用于退出次控制器的配置或者用于学习一个或多个导航控件的输入。在基本按钮已被配置之后,次控制器可用来控制媒体处理设备。因此,一个或多个导航控件的配置可以是可选的。如果要配置一个或多个导航控件,则媒体处理设备可以呈现要学习的导航按钮以及一个或多个关联指令(625)。例如,媒体处理设备可以呈现如图5所示的导航按钮界面,以指示出要映射的次控制器的导航按钮并且指示用户执行一个或多个动作。否则,媒体处理设备可以生成用于次控制器的远程简档(640)。例如,远程简档可以包括用于辨识和解释由次控制器发送的、与所配置的基本控件相对应的一个或多个命令信号的数据。如果要配置一个或多个导航控件,则媒体处理设备可以捕捉次控制器所发送的命令信号,并将所捕捉的命令信号映射到由媒体处理设备执行的导航功能(630)。媒体处理设备可以以与针对基本按钮的命令信号相同的方式来捕捉并处理与导航按钮相对应的命令信号。在与导航按钮相关联的命令信号已被捕捉之后,媒体处理设备可以判断是否所有的导航按钮都已被处理(635)。如果与一个或多个导航按钮相对应的命令信号尚未被捕捉到, 则媒体处理设备可以呈现要学习的下一个导航按钮以及一个或多个关联指令(625)。否则, 媒体处理设备可以生成用于次控制器的远程简档(640)。远程简档可被命名以使得关联的次控制器可被识别。此外,远程简档可以包括用于辨识和解释次控制器所发送的一个或多个命令信号的数据。在一些实现方式中,数据可被构造为使得其至少99%可被相同次控制器的相同控件重复。图7示出了可由媒体处理设备105执行的示例性远程控件驱动器700。一般而言, 由媒体处理设备105接收的顶签名702被提供给驱动器700以供来源识别(例如,远程控制类型)。如果来源是不可识别的,则远程控件驱动器700尝试提取用于分类签名来源的该签名的特性。这样,所学习得到的特性可被存储,并在随后用于辨识类似顶签名的重现。对于顶签名702正携带着可辨识协议的情形,在此配置中,远程控件驱动器700 产生包含从顶签名702解码得到的信息的一个或多个数据分组(例如,图示出具有示例性数据分组704)。例如,在数据分组704中可以包括表示定时信息的数据、所识别的协议以及内置在顶签名中的数据(例如,命令)。
通过对来自顶签名702的信息与已知协议的信息进行比较,可以提供一种启发技术用于确定可由顶签名702使用的各种可能协议。随同与一个或多个顶传输标准相关联的协议一起,可以识别与特定公司或产品相关联的标准。例如,可以检测到与NEC、Sharp, Sony (例如,Sony SIRC)、Philips (例如,Philips RC-5、Philips RC-6)、JVC、Samsung、 Hitachi.Mitsubishi,DirecTV以及其它类似实体相关联的协议。此外,可以识别与特定国家(例如,日本、美国)和/或全球地区(例如,欧洲)相关联的协议。在一些情况中,实现特定协议(例如,NEC、DirecTV、JVC协议)的顶签名可以动态改变。例如,签名属性可以基于对远程控制器上的按钮的后续按压而改变。这样,与对远程按钮的第一次下压相关联的顶签名可以具有随着对另一远程按钮的后续按压(或者下压)而改变的属性。在一些配置中,远程控件驱动器700可以独立地处置每一个所接收签名,并尝试识别对应协议。在接收到顶签名702时,远程控件驱动器700向每一个已知协议指派一个分数 (或者多个分数)。通过对预先已知协议的存储数据(例如,存储在媒体处理设备105中) 与从所接收顶签名得到的信息进行比较,每一个协议分数提供表明该协议的属性与所接收签名的属性的类似程度的测量。可以由远程控件驱动器700实现各种评分技术和方法。 例如,可以向每一个协议指派一组子分数(例如,三个子分数),这一组子分数中的每一者与协议属性相关联。基于这些子分数,所接收顶签名的协议可以被识别(或者引发对预先未知协议的学习)。在一种配置中,三个子分数可以与签名中的脉冲的数目(称为脉冲计数分数)、 头部信息(称为头部分数)以及与签名中内置的数据相关联的信息(称为数据分数)相关联。在得到每一个分数时,可以执行附加处理(例如,对三个子分数求和)以计算出针对协议的整体比较度量。在一些配置中,可以针对比较对这些子分数区分优先次序,例如, 可以向脉冲计数分数和头部分数给予更重的权重以用于识别顶签名702的协议。所接收签名702的脉冲计数与已知协议可能需要等同,以指示出协议匹配(例如,确保准确转译 (translation)) 0另外,协议头部可以(例如,在长度上和内容上)相当不同,而数据分数对于识别协议(而非仅仅是对识别进行确认)而言可能较不可靠。因此,与数据分数相比, 可以更重地加权脉冲计数分数和头部分数。在一些配置中,子分数可以具有负值或者零值。 从而,总分数可以具有负值。因此,顶签名中某些特征的存在可能导致一些协议中止一起运行。例如,NEC格式要求特定尺寸的头部。如果没有找到该特定头部尺寸,则NEC格式可能根本就不被考虑。远程控件驱动器还可以使用预定义阈值来进行协议识别。例如,可以实现表示最小可接受子分数的阈值。在一个配置中,最小脉冲计数和头部分数可被视为标准。因此,可能需要为这些分数中的每一者获得恒定的最小阈值。经过处理的分数(例如,脉冲计数分数、头部分数和数据分数的和)也可以被保持到特定的最小阈值。一旦已经计算出这些分数以提供对所接收顶签名702的比较,最高评分协议(其还满足最小阈值)被认为是该签名的匹配。基于检测到的匹配,数据分组704(或者多个数据分组)被产生以向媒体处理设备105提供编码数据(例如,一个或多个命令)。关于脉冲计数评分,所接收的顶签名702被分段到多个时间间隔中(例如,将字节转换为时间间隔),以允许对签名的脉冲进行计数。一般而言,第一时间间隔被视为脉冲并且可被计数为一个脉冲。基于脉冲计数,向每一个协议指派分数。一些协议可以使用脉冲距离编码(PDE),其中,脉冲以及脉冲之间的分隔(space) 可以具有可变长度。参考图8,脉冲系列800表示一种PDF协议,在该协议中,每一个脉冲分隔配对表示单个数据比特(即,逻辑0或1)。利用这种类型的协议,脉冲的数目直接对应于编码命令中的数据比特的数目。因此,为了接收匹配的脉冲计数分数,该PDE协议的预期脉冲数目需要与所接收顶签名中包括的脉冲数目相匹配。协议也可以实现其它类型的编码。参考图9,例如,可以在脉冲系列900中实现相位编码(PE),但是,这样的编码方案可能不能提供准确的脉冲计数(例如,与PDE协议相比而言)。在PE中,脉冲被移位到数据比特的前半部分或者后半部分以表示逻辑1或0。对于该特定编码方案,IR签名通常具有最大脉冲数目,但是,通常需要小于最大脉冲数目来表示编码命令。例如,在某种程度上的极端情况中,需要大约最大脉冲数目的一半来表示命令。 因此,为了接收PE协议的匹配分数,IR签名脉冲的数目需要落在脉冲计数的范围内。参考图10,表1000包括针对各种不同协议的一系列条目。对于每一种协议,在一列中提供脉冲计数,以及表明相位编码是否被实现的指示(在第二列中)。如表1000所表示的,这些协议中的一些具有可接受的多个脉冲计数,以指示出不同长度的命令。当对PDE 协议评分时,如果顶签名的脉冲计数与可接受的多个脉冲计数中的任一者匹配,则向该协议给予匹配分数。对于头部评分,远程控件驱动器700检查所接收顶签名的初始时间间隔(例如, 前两个间隔)。正如对于许多协议而言很典型的,可以在此初始间隔内识别头部。例如,可以从初始间隔内的一个或多个脉冲(例如,第一脉冲分隔配对)的脉冲宽度识别头部。表示头部的脉冲宽度比包含在顶签名的其它部分中的脉冲长很多。一般而言,脉冲和分隔宽度与容差(例如,30%)相关联。因此JR签名的间隔被与宽度范围相比较。如果顶签名的第一脉冲落在协议头部脉冲宽度范围内,则协议接收匹配的头部分数。相应地,如果顶签名的第一分隔落在协议头部分隔宽度范围内,则协议接收匹配的头部分隔分数。参考图 11,表1100提供了头部脉冲宽度范围和头部分隔宽度范围,它们可由远程控件驱动器700 利用来与顶签名相比较并对所列出的对应协议评分。在一些情形中,可能遇到不存在经定义头部的协议。但是,例如基于顶签名第一脉冲和第一分隔的长度来仍然为这些协议确定头部分数。但是,不是将这些长度与预期的头部宽度相比较,而是,第一脉冲和第一分隔长度被与协议所关联的预期数据脉冲和分隔长度相比较。为了为每一种协议提供数据分数,远程控件驱动器700针对每一种协议,将所接收顶签名的数据部分与对应数据参数相比较。对于这样的评分,可以一次一个脉冲分隔配对地对时间间隔数据进行评分。顶签名的最小可接受数据分数基于签名中包括的脉冲数目。由于签名中包含的每一个脉冲都不是数据比特(例如,头部脉冲、停止脉冲等),所以在确定最小可接受分数之前扣除这样的潜在非数据脉冲。例如,可将最小可接受分数计算为分数=IOX (IR签名脉冲计数一可能的非数据脉冲)并且,可以基于数据比特的数目来指派匹配分数(例如,每一数据比特,值为10)。其它参数也可以被结合到数据分数中。例如,用于将脉冲-分隔配对转译成逻辑 1或0的能力可以向特定协议添加递增的正子分数。因此,如果驱动器700检测到可被转
13译成NEC格式的脉冲-分隔配对的重复序列,则针对该格式的分数将被增大。通常,数据评分(包括数据转译)起始于签名的第二脉冲(如果头部已被识别出的话)。在这样的情形中,第一脉冲在时间上被极大地延伸(例如,长于1600 μ S)。如果头部不存在,则数据评分 (包括转译)起始于第一脉冲。如上所述,通常大多数协议使用PDE。对于这样的协议,可以通过将脉冲宽度和分隔宽度与逻辑0数据比特和逻辑1数据比特的预期宽度相比较,来为每一个脉冲-分隔配对测量数据转译。类似于头部脉冲和分隔宽度,用于这样的协议的数据脉冲和分隔宽度具有估计容差(例如,30%)。因此,顶签名的时间间隔被与针对各种协议的预定义范围相比较。参考图12,表1200提供了针对各种PDE协议以及对应的用于逻辑0和逻辑1的脉冲和分隔宽度估计的条目。某些协议(例如,NEC重复协议(NEC Repeat protocol)和Hitachi重复协议 (Hitachi Repeat protocol))不具有数据部分,并且可能仅包括头部和单个脉冲(称为停止脉冲)。对于这样的协议,停止脉冲具有预定义长度(例如,560ys)。因此,如果顶签名的第二脉冲和最后脉冲落在预定义长度(例如,560ys)的容差范围内,则也可以为这些协议增大数据分数。另外,对于要与这样的“重复”协议匹配的顶签名,需要已经将预先接收的顶签名识别为类似类型的协议。例如,仅在在前分组与NEC协议匹配时,NEC重复协议才被认为是匹配的。如果这样的情形已经发生,则所接收的第二顶输入签名被识别为重复分组,并且由在前分组提供的数值命令被提供给媒体处理设备105供执行。对于向实现PE的协议(例如,Philips RC-5和RC-6)指派数据评分,仍然为每一个脉冲-分隔配对检查顶签名,但是,考虑的是与在先脉冲-间隔配对相关联的数据比特。 类似于PDE协议,当逻辑0或1被识别时,用于PE协议的数据分数被增大。但是,数据比特转译可以跨脉冲-分隔配对而发生。参考图12中的表1202,类似于PDE协议,PE协议具有定义的预期脉冲和分隔宽度。同样类似的,向这些宽度应用了容差(例如,30%),从而提供用于与顶签名的时间间隔相比较的范围。参考图13,图示出了一个特定PE协议(S卩,Philips RC-5协议)的属性。例如, 遵循该协议的脉冲可以具有某一长度(例如,889 μ s),并且可以指示出逻辑0数据比特的前端(时间系列1300)或者逻辑1数据比特的后端(时间系列1302)。脉冲还可以具有更长的长度,例如,如果脉冲(表示在时间系列1304中)是该长度的两倍(例如,889 μ s的两倍),则该脉冲可以表示逻辑1数据比特的后端以及逻辑0数据比特的前端。至于分隔,特定长度(例如,889ys)的分隔可以指示出逻辑1数据比特的前端(表示在时间系列1306 中)或者逻辑0数据比特的后端(表示在时间系列1308中)。如果分隔的长度被延长(例如,889 μ s的两倍),则该分隔可以指示出逻辑0数据比特的后端和逻辑1数据比特的前端 (表示在时间序列1310中)两者。另外,对于Wiilips RC-5协议,开始脉冲可以是逻辑1 数据比特的后半部分,并且采取典型头部脉冲的位置。其它PE协议还具有在审查顶签名时要考虑的假像(artifact)。例如,诸如 Philips RC-6协议之类的某些协议包括触发(toggle)信息。参考图14,时间系列1400表示一系列脉冲,其中,在前四个数据比特之后的预定义时间段(例如,3556ys)提供了触发信息。一般而言,触发信息随着远程控制按钮被下压的每一场合而改变。但是,在远程控制器上的按钮被按压(向下保持住)的时段期间,触发信息保持恒定。因此,对于该时间段的大约一半时间,逻辑1(高电平)被提供。按压远程按钮的其它场合在前半部分和后半部分之间触发逻辑1电平,如时间系列1402所示。参考图15,某些协议既不是PDE也不是PE。例如,这样的协议是DirecTV协议, 其中,每一个个体脉冲和分隔取决于脉冲和分隔的宽度而对应于某一数据比特(如时间系列1500所示)。另外,可向该协议应用容差(例如,30%)(如表1502所提供的)。类似于DirecTV协议,远程控件驱动器700可以辨识DirecTV重复协议(DirecTV Repeat protocol)。数据评分和数据转译可以在两个协议之间类似,其中一个差异在于头部脉冲和分隔的宽度。参考图16,流程图1600表示远程控件驱动器700的操作的特定配置。通常,例如由远程控件驱动器所驻留的媒体处理设备105中存在的处理器执行这些操作。但是,这些操作也可以由存在于该设备中的多个处理器执行。虽然通常由单个媒体处理设备执行,但是在一些配置中,操作执行可分布在两个或更多个类似媒体处理设备之间。操作包括接收顶签名1602。例如,可冲媒体处理设备105接收签名(例如,顶签名702)。操作还包括判断所接收顶签名的协议对于远程控件驱动器700而言是否已知 1604。如果该签名是不被辨识的,则操作包括学习所接收签名的协议1606,以及存储与该签名的协议相关联的信息1608。例如,与特定协议参数(例如,脉冲计数、头部格式、数据内容)相关联的信息可被存储在媒体处理设备中以供以后取回和处理(例如,协议辨识、转译等)。可选地,在一些配置中,如果顶签名不被辨识,则可以忽视该顶签名。如果所接收 IR签名的协议被辨识出,则远程控件驱动器700的操作包括取回与所辨识的协议相关联的信息1610。在正在取回或者新近学习协议信息时,远程控件驱动器700的操作包括产生一个或多个数据分组1612,这些分组包含与所接收顶签名相关联的信息。例如,在这(一个或多个)分组中可以包含标识协议的信息以及包括在顶签名中的命令。参考图17,流程图1700表示远程控件驱动器700的另一组操作。类似于流程图 1600的操作,这些操作通常由存在于媒体处理设备105中的处理器执行,但是在其它配置中,可以实现分布式处理技术。流程图1700包括与从所接收的顶签名学习协议(如流程图1600中的步骤1606所示)相关联的操作。操作包括确定所接收顶签名的脉冲计数1702。可以实现用于确定脉冲计数的一种或多种技术和方法。例如,可对一系列顶签名中包括的脉冲进行求和以及求平均以识别平均脉冲计数。操作还包括识别与顶签名相关联的头部信息1704。例如,可以随同其它参数一起确定头部脉冲宽度和分隔宽度。操作还可以包括确定与顶签名相关联的数据信息 1706。例如,可以随同与非数据脉冲(例如,头部脉冲、停止脉冲等)相关联的脉冲一起识别与数据比特相关联的脉冲。还可以识别与顶签名相关联的其它参数。操作还包括将所收集的签名信息存储在协议简档(或其它类似表示)中1708,以供以后取回用于其它操作 (例如,辨识类似的顶签名)。参考图18,流程图1800表示远程控件驱动器700的另一组操作。类似于流程图 1600和1700的操作,这些操作通常由存在于媒体处理设备105中的处理器执行,但是在其它配置中,可以实现分布式处理技术。流程图1800包括与判断是否从所接收顶签名辨识出某一协议(如流程图1600中的步骤1604所示)相关联的操作。
操作包括接收与诸如PDE、PE或其它类似协议(例如,DirecTV协议)之类的特定协议相关联的信息1802。在接收信息时,操作可以包括通过将协议的脉冲计数与所接收顶签名(例如,如图16中的步骤1602所示)的脉冲计数相比较,来确定该协议的脉冲计数分数1804。随同脉冲计数分数一起,操作包括确定头部分数1806。例如,可将协议的头部脉冲宽度和分隔宽度与所接收顶签名的对应脉冲和分隔宽度相比较。另外,操作可以包括确定数据分数,其可以包括随同将数据转译考虑在内而识别数据脉冲。在识别出该协议的分数之后,其它操作可被执行来确定总体分数度量。例如,操作可以包括对识别出的分数进行求和1810,但是,其它数学和处理操作(例如,求平均等)也可被包括。操作还可包括判断这些分数中的一个或多个是否已实现最小阈值1812。例如, 可对这些个体分数(例如,脉冲计数分数、头部分数、数据分数)中的一个或多个进行检查, 以获得对应的最小阈值(例如,最小脉冲计数分数)。还可以检查经过处理的分数来获得最小分数,例如,可将这些分数的和与最小的求和分数阈值相比较。如果最小阈值不被满足,则操作可以包括忽视将此特定协议与所接收顶签名相比较1814。如果一个或多个最小阈值得到满足,则操作可以包括判断是否存在另一预先已知的协议以供与所接收顶签名相比较。如果另一协议仍然有待比较,则操作包括返回到接收与下一协议相关联的信息1802并且重复后续操作以对该协议评分。如果没有协议带检查,则操作包括判断从经过评分的协议中确定具有最大分数的协议1818。在此特定配置中, 最大分数指示出哪个协议与所接收顶签名所使用的协议最类似。但是,在其他配置中,可以实现其他评分技术。例如,具有最小分数的协议可以指示出与所接收的顶签名所使用的协议最类似的协议。图19示出了描述用于识别与无线信号相关联的协议的示例性处理的流程图。起初,可以将从远程控件接收的无线信号的特性与关联于多个协议的特性相比较(190 。基于该比较,可以向这多个协议中包括的每一个协议指派分数(1910)。随后可以基于指派的分数从这多个协议中识别一个协议,其中,所识别的协议基本上类似于无线信号所关联的协议(1915)。已经在本文中公开了多个实现方式。但是,将会了解,在不脱离权利要求的精神和范围的情况下可以做出各种修改。因此,其他实现方式也在所附权利要求的范围内。
权利要求
1.一种方法,包括将从远程控件接收的无线信号的特性与关联于多个协议的特性相比较; 基于该比较,向所述多个协议中包括的每一个协议指派分数;以及基于所指派的分数,从所述多个协议中识别协议,其中,所识别的协议基本类似于与所述无线信号相关联的协议。
2.根据权利要求1所述的方法,还包括产生数据分组,该数据分组表示所识别的协议和所述无线信号的内容。
3.根据权利要求1所述的方法,其中,对特性进行比较包括对脉冲计数进行比较。
4.根据权利要求3所述的方法,其中,所指派的分数表示脉冲计数的比较。
5.根据权利要求1所述的方法,其中,对特性进行比较包括对脉冲宽度进行比较。
6.根据权利要求5所述的方法,其中,所指派的分数表示脉冲宽度的比较。
7.根据权利要求1所述的方法,其中,对特性进行比较包括对表示数据的脉冲的量进行比较。
8.根据权利要求7所述的方法,其中,所指派的分数表示数据脉冲量的比较。
9.根据权利要求8所述的方法,其中,所指派的分数基于数据脉冲的转译而被调整。
10.根据权利要求1所述的方法,其中,指派分数包括对子分数求和。
11.根据权利要求1所述的方法,其中,识别协议包括判断是否已经达到阈值。
12.—种媒体处理设备,包括接收器,用于从远程控件接收无线信号;以及远程控件驱动器,用于将所述无线信号的特性与关联于多个协议的特性相比较,所述远程控件驱动器被配置为基于该比较来向所述多个协议中包括的每一个协议指派分数,所述远程控件驱动器还被配置为基于所指派的分数来从所述多个协议中识别协议,其中,所识别的协议基本上类似于与所述无线信号相关联的协议。
13.根据权利要求12所述的媒体处理设备,其中,所述远程控件驱动器还被配置为产生数据分组,该数据分组表示所识别的协议和所述无线信号的内容。
14.根据权利要求12所述的媒体处理设备,其中,对特性进行比较包括对脉冲计数进行比较。
15.根据权利要求14所述的媒体处理设备,其中,所指派的分数表示脉冲计数的比较。
16.根据权利要求12所述的媒体处理设备,其中,对特性进行比较包括对脉冲宽度进行比较。
17.根据权利要求16所述的媒体处理设备,其中,所指派的分数表示脉冲宽度的比较。
18.根据权利要求12所述的媒体处理设备,其中,对特性进行比较包括对表示数据的脉冲的量进行比较。
19.根据权利要求18所述的媒体处理设备,其中,所指派的分数表示数据脉冲量的比较。
20.根据权利要求19所述的媒体处理设备,其中,所指派的分数基于数据脉冲的转译而被调整。
21.根据权利要求12所述的媒体处理设备,其中,指派分数包括对子分数求和。
22.根据权利要求12所述的媒体处理设备,其中,识别协议包括判断是否已经达到阈值。
23.—个或多个存储着指令的计算机可读介质,所述指令可由处理设备执行,并在这种执行时使所述处理设备执行包括如下步骤的操作将从远程控件接收的无线信号的特性与关联于多个协议的特性相比较; 基于该比较,向所述多个协议中包括的每一个协议指派分数;以及基于所指派的分数,从所述多个协议中识别协议,其中,所识别的协议基本类似于与所述无线信号相关联的协议。
24.根据权利要求23所述的计算机可读介质,还包括用于使所述处理设备执行包括如下操作的指令产生数据分组,该数据分组表示所识别的协议和所述无线信号的内容。
25.根据权利要求23所述的计算机可读介质,其中,对特性进行比较包括对脉冲计数进行比较。
26.根据权利要求25所述的计算机可读介质,其中,所指派的分数表示脉冲计数的比较。
27.根据权利要求23所述的计算机可读介质,其中,对特性进行比较包括对脉冲宽度进行比较。
28.根据权利要求27所述的计算机可读介质,其中,所指派的分数表示脉冲宽度的比较。
29.根据权利要求23所述的计算机可读介质,其中,对特性进行比较包括对表示数据的脉冲的量进行比较。
30.根据权利要求四所述的计算机可读介质,其中,所指派的分数表示数据脉冲量的比较。
31.根据权利要求30所述的计算机可读介质,其中,所指派的分数基于数据脉冲的转译而被调整。
32.根据权利要求23所述的计算机可读介质,其中,指派分数包括对子分数求和。
33.根据权利要求23所述的计算机可读介质,其中,识别协议包括判断是否已经达到阈值。
全文摘要
本申请涉及用于捕捉远程控制设备命令信号的系统和方法,用于识别协议的方法、系统和装置。在一个方面,一种方法包括将从远程控件接收的无线信号的特性与关联于一组协议的特性相比较。该方法还包括基于该比较,向这多个协议中包括的每一个协议指派分数。该方法还包括基于所指派的分数从这一组协议中识别协议。所识别的协议基本类似于与无线信号相关联的协议。
文档编号G08C19/28GK102282597SQ200980154620
公开日2011年12月14日 申请日期2009年11月13日 优先权日2008年11月14日
发明者斯蒂芬尼·芬内尔斯基, 杰克·I-杰·付, 瑞纳尔·布勒德森 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1