相关申请案的交叉参考
本申请案作为pct国际专利申请案在2018年8月23日申请,并主张2017年12月15日申请的第15/843,219号的美国专利申请案的优先权,所述申请案主张2017年10月27日申请的第62/578,097号美国临时专利申请案的优先权,所述申请案的全部揭示内容特此以引用的方式并入本文中。
背景技术:
各种信息器具可操作以接收外部信号,将外部信号转换为内容,并致使所述内容显示在一或多个显示装置上。一般来说,信息器具装置实施不能被有效地修改、升级或维护的硬件及/或软件配置。因此,此类信息器具装置通常将被简单地更换。此类更换对于信息器具装置供应商及用户来说不具成本效益,并且显著降低信息器具装置用户的用户体验。
本文揭示的方面是关于这些及其它一般考虑而做出。此外,尽管可论述相对特定问题,但应理解,实例不应限于解决在背景技术中或本发明中其它地方识别的特定问题。
技术实现要素:
提供此发明内容来以简化形式介绍下文在具体实施方式部分中进一步描述的概念的选择。此发明内容不希望识别所主张标的物的关键特征或必要特征,也不希望用于辅助确定所主张标的物的范围。
本发明的实例描述用于实施包括新的及/或卸载的处理功能性的外部模块的系统及方法。在方面中,外部模块可经配置以选择性地并且通信地耦合到信息器具装置。所述外部模块可配置有或接收硬件、软件、数据及/或指令以用于处理由所述信息器具装置接收的内容及操作。当操作由所述信息器具装置接收时,所述信息器具装置可将所述操作解析为待由所述信息器具装置执行的命令及待由所述外部模块执行的命令。所述信息器具装置可将待由所述外部模块执行的所述命令传输到所述外部模块。所述外部模块然后可处理及/或执行所接收命令,并将所得内容呈现给显示装置。
提供此发明内容来以简化形式介绍下文在具体实施方式部分中进一步描述的概念的选择。此发明内容不希望识别所主张标的物的关键特征或必要特征,也不希望用于限制所主张标的物的范围。实例的额外方面、特征及/或优点将在下文描述中部分地阐述,并且部分地将从描述中变得显而易见,或可通过本发明的实践而获知。
附图说明
参考下文图式描述非限制性及非穷尽性实例。
图1说明用于实施包括如本文所描述的新的及/或卸载的处理功能性的外部模块的示范性系统的概述。
图2说明包括如本文所描述的新的及/或卸载的处理功能性的示范性输入处理单元。
图3说明使用如本文所描述的外部模块执行新的及/或卸载的处理功能性的实例方法。
图4说明使用如本文所描述的软件狗装置来处理卸载功能性的实例方法。
图5说明将命令分段及卸载到如本文所描述的软件狗装置的实例方法。
图6说明可在其中实施本实施例中的一或多者的合适操作环境400的一个实例。
具体实施方式
下文参考附图更全面地描述本发明的各个方面,所述附图形成本发明的一部分,并且展示特定示范性方面。然而,本发明的不同方面可以许多不同的形式来实施,并且不应被解释为限于本文阐述的方面;而是,提供这些方面是为使本发明将是透彻及完整的,并将向所属领域的技术人员完整传达方面的范围。方面可被实践为方法、系统或装置。因此,方面可采取硬件实施方案、完全软件实施方案或组合软件方面及硬件方面的实施方案的形式。因此,以下具体实施方式不应被视为具有限制性意义。
本发明描述用于实施包括新的及/或卸载的处理功能性的外部模块的系统及方法。在方面中,例如软件狗或类似外围装置的外部模块可经配置以通信地耦合到一或多个信息器具装置,例如移动电话、智能装置、个人数字助理(pda)、卫星或有线电视机顶盒(stb)、桌上型计算机、膝上型计算机、平板计算机、电视机、收音机或所属领域已知的任何其它显示装置。外部模块及/或信息器具装置可经由一或多种连接来连接,例如usb连接,火线连接、雷电连接、hdmi连接或类似数字音频/视频连接等。在至少一个实例中,外部模块可包括多个输出,使得外部模块及多个信息器具装置可同时串联或并联连接。一或多种加密方式或其它数据安全技术可用于在外部模块与一或多个耦合装置之间传输通讯。外部模块可包括硬件(例如,一或多个处理器、存储器、数据存储等)、软件(例如,装置驱动器、音频/视频编解码器、功能性指令集、i/o模块等)及信息(例如,视频数据流、音频数据流、内容元数据等)以用于处理由信息器具装置产生/接收或直接由外部模块接收的内容及操作。在实例中,可结合(或代替)一或多个耦合器具装置的硬件/软件来使用此类硬件/软件。例如,信息器具装置可利用外部模块的处理及存储器资源来改进所接收内容的质量或改进信息器具装置的性能。如本文所使用的内容可指代从内容提供者、内容商店或计算装置广播或可以其它方式从其存取的一或多种数据传输。在实例中,由信息器具装置(或外部模块)接收的操作可源自外部或内部输入构件,例如遥控器、键盘、麦克风或类似者。
在方面中,外部模块可提供信息器具装置处不存在的功能性,或改进信息器具装置的功能性的功能性。举例来说,外部模块可经配置以处理(或促进处理)新的/额外视频分辨率(例如1080p、4k、8k等),实施新的/额外视频及/或音频编解码器(例如,hevc/h.265、vp9等),实施新的/额外a/v连接标准(例如hdmi2.0、hdcp2.2等),实施无线技术(例如,wi-fi、蓝牙等)及类似者。作为另一实例,外部模块可经配置以存储并提供对由外部装置接收或外部装置可以其它方式可存取的内容的存取。在一些方面中,由外部模块提供的功能性可避免信息器具装置或相关联外围装置的更换或升级。举例来说,用于处理新兴技术的外部装置可被附接到不能(有效地)经配置以并入此技术的器具装置。作为另一实例,外部模块可经配置以使用信息器具装置的现有遥控器(或其它输入装置)来控制。替代地,外部模块可经配置以使用外部模块附带的输入机制来控制。在至少一个实例中,外部模块附带的输入机制可用于控制连接到外部模块的一或多个装置。
在一些方面中,由外部模块包括的软件及/或信息可由信息器具装置根据一或多个准则传输到外部模块。作为一个实例,信息器具装置可在第一次耦合时或响应于设置/配置操作而自动将一或多个代码段、api及/或服务上载或移植(port)到外部模块。作为另一实例,信息器具装置可响应于用户请求(例如,按需)或响应于用户发起的事件来上载或移植此信息。在此类实例中,上载过程可包含在信息器具装置上移除或以其它方式停用相同或等效的上载功能性。然后,可由信息器具装置重新分配从移除/停用等效的上载功能性中释放出来的计算资源。在其它方面,可将硬件及信息预先安装在外部模块上。举例来说,外部模块可预先配置有数据(例如,代码段、api及/或服务)及/或组件(例如,ram、闪存、gpu、驱动器等)以处理由信息器具装置接收的内容及操作。在此实例中,预先配置的数据/组件可使得外部模块能够向信息器具装置提供新的及/或额外功能性。
在方面中,当由信息器具装置接收一或多个操作时,信息器具装置可将操作解析为待由信息器具装置执行的命令及待由外部模块执行的命令。信息器具装置可执行待由信息器具装置执行的命令,并且将待由外部模块执行的命令传输到外部模块。然后,外部模块可处理及/或执行所接收命令。在一些实例中,处理所接收命令可包含将数据及/或一或多个请求传输到信息器具装置。在其它实例中,作为处理所接收命令的结果,外部模块可不与信息器具装置进行任何明显的通信。在执行所接收命令(或执行与所接收命令相关联的操作)之后,外部模块可向显示装置呈现(或促使呈现)内容。在实例中,呈现内容可包含产生新内容,将新内容覆盖在基本视频流上,修改基本视频流或类似者。
因此,本发明提供多个技术益处,其包含(但不限于):使用外部模块向器具装置提供新的或额外处理功能性,将信息器具装置功能性卸载到外部模块;增强内容消费系统的技术能力;在信息器具装置上动态释放及重新分配计算资源;使用即插即用机制卸载功能性;经由远程程序调用(rpc)进行外部处理;通过启用与外部处理模块的远程控制交互来增强信息器具远程控制功能性;减少信息器具装置的计算负担;以及利用本发明的实例以及其它实例来改进应用程序/服务的效率及质量。
图1说明用于实施包括如本文所描述的新的及/或卸载的处理功能性的外部模块的实例系统的概述。如所提出的示范性系统100是相互作用以形成用于使用外部模块来实施新的及/或卸载的处理功能性的集成整体的相互依存的组件的组合。系统的组件可为在系统的硬件组件上实施及/或由系统的硬件组件执行的硬件组件或软件。在实例中,系统100可包含硬件组件(例如,用于执行/运行操作系统(os))及在硬件上运行的软件组件(例如,应用程序、应用程序编程接口(api)、模块、虚拟机、运行时库等)中的任何者。在一个实例中,示范性系统100可提供用于软件组件运行的环境,服从针对操作设置的约束以及利用系统100的资源或设施,其中组件可为在一或多个处理装置上运行的软件(例如,应用程序、程序、模块等)。例如,软件(例如,应用程序、操作指令、模块等)可在例如计算机、移动装置(例如,智能电话/电话、平板计算机、膝上型计算机、个人数字助理(pda)等)及/或任何其它电子装置的处理装置上运行。作为处理装置操作环境的实例,请参考图4中所描绘的示范性操作环境。在其它实例中,本文揭示的系统的组件可跨越多个装置散布。例如,可在客户端装置上键入输入,并且可从网络中的其它装置(例如一或多个服务器装置)处理或存取信息。
作为一个实例,系统100包括器具装置102、外部模块104、显示装置106、网络108以及包括服务器装置110a及110b的网络装置环境。所属领域的技术人员将了解,例如系统100的系统的规模可变化,并且可包含比图1中所描述的组件更多或更少的组件。在一些实例中,举例来说,系统100的组件之间的介接可本地发生,其中系统100的组件在同一装置或网络(例如,对等网络、lan等)内。在其它实例中,举例来说,系统100的组件之间的介接可远程发生,其中系统100的组件可跨越分布式网络的一或多个装置散布。
器具装置102可经配置以从一或多个内容提供者接收并处理内容。在方面中,器具装置102可包括硬件、软件、数据及/或指令以用于处理所接收内容,与外部(或内部)装置介接以及执行事件及操作请求。如本文所使用的内容可指从内容提供者或内容商店广播或以其它方式传输的一或多个数据传输流。举例来说,器具装置102可经配置以经由网络108与服务器装置110a及110b介接。服务器装置110a及110b可为经配置以向器具装置102提供内容的内容提供者。内容提供者的实例可包含有线或卫星电视头端、网络服务器、文档存储库、客户端装置、地面广播站、无线传输装置等。在至少一个方面中,处理由器具装置102接收的内容可包含解压缩内容,对内容进行解调,对经解调内容进行解扰,对经解扰内容进行解码及/或将特征或额外内容添加到所接收内容。
器具装置102可进一步经配置以将处理功能性卸载到一或多个外部模块或装置。在方面中,器具装置102可包括用于促进将信息上载(例如,卸载)到例如外部模块104的外部模块的一组指令。所述组指令可包括用于向/从外部模块传输信息的命令,以及用于建立检测所关注的事件、动作及操作的方式的命令。此类信息可包含应用程序、服务、一或多个代码段、api、事件处置器数据/对象等。在实例中,响应于用户请求或类似者,根据周期性时间表,在满足一或多个准则时,可自动调用所述组上载指令。在至少一个实例中,在将器具装置102的信息上载到外部模块之后,器具装置102可移除或以其它方式停用上载信息的本地版本。然后,器具装置102可释放及/或重新分配先前分配给经移除/停用信息的计算资源(例如,cpu、存储器等)。
外部模块104可经配置以执行各种类型的处理功能性。在方面中,外部模块104可包括用于执行各种处理任务及动作的硬件及/或软件。此类任务及动作可涉及将新的处理功能性添加到器具装置102,修改器具装置102的现有处理功能性,或处理由器具装置102卸载功能性。在实例中,外部模块104可可操作以选择性地耦合到多个装置。例如,外部模块104经由一或多个连接(例如,usb连接、hdmi连接等)耦合(个别地或同时)到器具装置102、显示装置106及/或额外装置。外部模块104可可操作以对连接到(或可存取)外部模块104的一或多个装置执行伴随操作。举例来说,当耦合到外部模块104时,器具装置102可向外部模块104的卸载或传输信息(例如,代码段、api、服务等)或一或多个处理实用程序。替代地,信息或处理实用程序的至少一部分可预先安装在外部模块104上。
在方面中,由外部模块104接收(或预先安装在外部模块104上)的信息及/或处理实用程序可使得外部模块104能够向器具装置102提供新的或额外能力及/或处理功能性。举例来说,外部模块104可包括或启用新功能性以支持硬件、软件、内容及/或内容分发技术的技术进步。例如,外部模块104可实现对新的或器具装置102当前不支持的编码/解码方案的处理,所述编码/解码方案例如hevc。替代地,外部模块104可实现器对具装置102当前不支持的a/v连接标准的处理,所述a/v连接标准例如hdmi2.0或hdcp2.2。尽管本文叙述特定解码方案及a/v连接标准,但所属领域的技术人员将了解,可使用各种替代方案。作为另一实例,外部模块104可扩展器具装置102的能力。举例来说,外部模块104可向器具装置102提供对额外计算资源、存储器资源、存储空间、wi-fi服务、输出端口、音频及/或视频编解码器等的存取。在实例中,由外部模块104提供到器具装置102的额外资源可在外部模块104上本地存取,或经由外部模块104远程存取。
在交替方面中,外部模块104上的信息及/或处理实用程序可使得外部模块104能够提供先前由器具装置102执行(全部或部分)的处理功能性。作为实例,外部模块104可包括从器具装置102卸载或在器具装置102上大体上复制的用户接口(ui)代码。ui代码可包括用于处理及/或在显示装置上呈现数据流(例如基本视频流)的框架及功能。当外部模块104连接到器具装置102时,外部模块104可实施用于检测或拦截传输到器具装置102(或由器具装置102产生)的基于ui的事件的过程。外部模块104可使用外部模块104的ui代码的至少一部分来处理基于ui的事件。举例来说,处理基于ui的事件可包含:解压缩所接收内容并将经解压缩内容输出到hdmi端口,对所接收内容加水印,对所接收内容进行加扰,对所接收内容进行转码等。在处理基于ui的事件之后,外部模块104可将经处理内容传输到一或多个附接装置。举例来说,外部模块104可将经解码内容输出到显示装置106,借此减轻器具装置102与ui处理相关联的资源负担。作为另一实例,外部模块104可将经处理内容输出到并联连接的多个装置,例如显示装置106、移动电话、虚拟现实头戴式耳机、可穿戴装置及/或类似者。
在方面中,外部模块104可被无缝地实施为一或多个连接的装置的同伴。举例来说,外部模块104可在包括家用器具装置102及显示装置106的系统中实施。外部模块104的实施可为相当简单的“即插即用”过程或类似直接连接过程。例如,可通过简单地将外部模块104的一或多个连接器连接到器具装置102及显示装置106来完整实施及配置外部模块104。实施过程的简单性可消除对外部模块供应者在实施过程期间提供技术辅助(例如,货车滚轮、服务呼叫等)的需要。在此类实例中,外部模块104可为与器具装置类型无关及/或与显示装置类型无关。因此,可在无需更换外部模块104的情况下升级或更换连接到外部模块104的装置。作为另一实例,可实施外部模块104,而无需使用或安装额外硬件或外围装置。例如,外部模块104可经配置以使用预先存在的控制系统(例如,器具装置遥控器、显示装置遥控器、通用遥控器等)进行操作或与其交互。替代地,可使用外部模块附带的控制系统来配置外部模块104或与外部模块104交互。在至少一个实例中,此控制系统可与器具装置102的控制系统互换使用(或代替器具装置102的控制系统)。额外地,外部模块104可与器具装置102及/或显示装置106上存储的先前获取的内容及事件兼容。例如,实施外部模块104可使得用户能够保持其dvr内容、事件及定时器。在方面中,外部模块104可使用外部电力供应器或由一或多个耦合装置供电。
器具装置102可进一步经配置以处理所接收操作请求。在方面中,在检测到操作事件(例如,接收遥控器输入、定时器触发、接收指定内容等)之后,器具装置102可解析所检测事件以识别一或多个事件及/或事件类型。然后,器具装置102可评估事件/事件类型以确定事件/事件类型是否将由器具装置102或外部模块104处理。在至少一个实例中,事件/事件类型的评估可包含识别一组外部函数调用,并确定是否可使用外部函数调用来处理事件/事件类型。例如,对应于由器具装置102先前执行的功能性的ui代码可由器具装置102卸载到外部模块104。替代地,可将代表新的或针对器具装置102修改的功能性的ui代码预先安装在外部模块104上。在任一场景中,用于存取外部模块104上的ui代码的一组外部功能调用可在器具装置102上存取(或使其可存取)。当由器具装置102接收及/或处理一组事件时,器具装置102可将事件解析为基于ui的事件及非基于ui的事件。器具装置102可本地处理非基于ui的事件,并将基于ui的事件传输到外部模块104。然后,外部模块104可如上文描述那样处理基于ui的事件。
图2说明用于实施如本文所描述的包括新的及/或卸载的处理功能性的外部模块的示范性输入处理单元200的概览。由输入处理单元200实施的处理功能性技术可包括图1中描述的处理功能性技术、内容及输入。在替代实例中,分布式系统(包括一或多个组件,例如处理器及/或存储器)可执行系统200中所描述的处理。此外,输入处理单元200可包括如图1的描述中所描述的显示组件。
关于图2,输入处理单元200可包括计算资源202、代码模块203、处理引擎204及连接206。计算资源202可包括用于完成各种任务的硬件、软件、数据及/或指令。举例来说,计算资源202可包括一或多个处理器(例如,cpu、gpu等)、存储器(例如,闪存、dram、sram等)、装置驱动器、无线适配器、数据存储单元等。可实施计算资源202,使得计算资源202可由所连接的装置存取及/或使用。例如,连接到输入处理单元200的例如stb的器具装置可能够利用输入处理单元200的一或多个处理器来处理所接收内容。在实例中,计算资源202可配置有(或经配置以接收)计算代码库或代码模块,例如代码模块203。
代码模块203可包括代码段、编解码器、内容、事件及/或操作以用于执行(或致使执行)与一或多个附接(或可附接的)装置有关的各种功能性。举例来说,代码模块203可配置有用户接口(ui)代码以用于处理由一或多个装置(如器具装置102或显示装置106)接收(或产生)的基于ui的命令。作为另一实例,代码模块203可配置有一或多个编码/解码编解码器。作为又一实例,代码模块203可经配置以实现使用计算资源202的无线适配器来进行数据及内容的无线传输。在一些方面中,代码模块203(或其部分)可被预先安装在输入处理单元200上。例如,代码模块203可由输入处理单元200的供应者或可附接到输入处理单元200的装置的供应者安装在输入处理单元200上。在其它方面,输入处理单元200可经由一或多个通信连接(例如连接206)从例如器具装置102的附接装置接收代码模块203(或其部分)。连接206可为用于在本文所描述的装置之间传输数据的任何合适的通信连接(例如,usb连接、迷你usb连接、hdmi连接、dvi连接等)。例如,连接206可使得输入处理单元200能够同时连接到一或多个器具装置及/或一或多个显示装置。
在方面中,可响应于满足一或多个准则来触发代码模块203到输入处理单元200的传输(卸载)。例如,响应于检测到输入处理单元200与器具装置之间的连接,代码模块203可被自动传输到输入处理单元200。替代地,可响应于手动请求或特定用户交互而将代码模块203传输到输入处理单元200。继续上文特定实例,输入处理单元200可经配置以接收并实施包括ui代码的经传输(卸载的)代码模块。在此实例中,从器具装置传输ui代码可使得器具装置能够移除或停用与ui代码相关联的ui功能性。因此,器具装置可能够回收及重新分配先前分配给ui功能性的计算资源。
处理引擎204可经配置以处理事件并执行与代码模块203有关的功能性。在方面中,处理引擎204可利用计算资源202来处理与新的处理功能性(例如,先前未由器具装置实施)及/或从器具装置卸载到输入处理单元200的功能性有关的数据(例如,内容、事件及/或操作)。在实例中,可由输入处理单元200直接接收及处理此类数据。处理所接收数据可包含识别与处理功能性有关(或可使用所述处理功能性进行服务)的事件。例如,处理引擎204可接收或存取一或多个基于ui的事件。处理引擎204可评估基于ui的事件以确定基于ui的事件是调用任何动作/任务还是与任何动作/任务有关。替代地,数据可由器具装置接收。器具装置可解析数据以识别与输入处理单元200的处理功能性有关的事件以及与处理功能性无关的事件。然后,器具装置可本地处理与输入处理单元200的处理功能性无关的事件,并将与输入处理单元200的处理功能性有关的事件传输到输入处理单元200。
处理引擎204可进一步经配置以执行与一或多个处理事件有关的一或多个动作/任务。例如,继续上文特定实例,由处理功能性引擎204接收/可存取的基于ui的事件可源自外部或内部输入模态,例如遥控器、键盘、麦克风等。响应于接收/识别基于ui的事件,处理引擎204可例如将一或多个ui元素(例如,菜单、窗口、光标等)覆盖到输入处理单元200经由附接装置可存取的基本视频流上。作为另一实例,响应于接收/识别基于ui的事件,处理引擎204可使用由代码模块203实施的解码编解码器来执行解码过程。例如,处理引擎204可使用代码模块203的hevc编解码器以对基本视频流上的4k内容进行解码。在方面中,处理引擎204可使用连接206将与使用代码模块203处理的事件有关的内容传输到显示装置或组件。在实例中,显示装置或组件可在输入处理单元200外部,例如显示装置106,或在输入处理单元200内部。
图3说明使用如本文所描述的外部模块执行新的及/或卸载的处理功能性的实例方法。在方面中,方法300到500可由例如图1的系统100的示范性系统执行。在实例中,方法300到500可在包括经配置以存储及执行操作、程序或指令的至少一个处理器的装置上执行。然而,方法300到500不限于此类实例。在其它实例中,方法300到500可由用于使用外部模块实施新的及/或卸载的处理功能性的应用程序或服务执行。在至少一个实例中,方法300到500可由例如网络服务/分布式网络服务(例如,云服务)的分布式网络的一或多个组件来执行(例如,计算机实施的操作)。
示范性方法300开始于操作302,其中处理功能性可安装在外部模块上或卸载到外部模块。在方面中,一或多个装置(例如,器具装置102)的各种处理功能性可安装在例如外部模块104的外部模块上或卸载到所述外部模块。例如,便携式软件狗装置可包括处理硬件及/或软件以用于执行一或多个机顶盒(stb)及/或一或多个显示装置的功能性及特征的至少一部分。软件狗装置可包括例如促进使用一或多种音频及/或视频编码/解码实用程序、音频/视频连接标准、无线通信及类似者的用户接口(ui)代码。在实例中,出于若干原因可利用此安装及/或卸载。作为一个实例,处理功能性的安装/卸载可用于减轻或抵消对资源受限装置的计算资源影响。例如,随着时间的流逝,stb可能会用完处理资源、存储器及/或存储装置。此类stb可利用本文描述的软件狗装置的计算硬件及资源来抵消stb上的计算负载。替代地,stb可将一组处理任务卸载到软件狗装置。作为另一实例,处理功能性的安装/卸载可用于提供器具装置不可用的或在器具装置上实施起来不切实际的(例如归因于成本、技术可行性、可部署性等)功能性。例如,stb可能够对非4k内容进行解调、解扰及/或解码。由于更换或升级stb来处理4k内容可能不具有成本效益或不切实际,因此可实施软件狗装置。软件狗装置可包括用于对4k内容(及其它类型的内容)进行解码的功能性及实用程序(例如,音频及/或视频编解码器、新的/额外连接端口等)。因此,软件狗装置可停用(或致使其被停用)stb上的某些处理(例如,解码),并且可自己执行停用的处理。在另一例子中,stb可不包括无线通信。可实施包括wi-fi及/或蓝牙功能性的软件狗装置。然后,stb可使用软件狗装置来进行无线交互。
在一些方面,可根据一或多个准则将处理功能性卸载到外部模块。举例来说,在检测到器具装置与外部模块之间的第一连接时,可调用设置/配置操作。设置/配置操作可包含确定各种细节(例如,硬件配置、软件配置、技术能力、用户偏好等)。至少部分地基于所确定细节,设置/配置操作可促进将器具装置的各种处理功能性卸载到外部模块。设置/配置操作可额外地从器具装置停用或移除卸载的处理功能性。在其它方面中,可将处理功能性预先安装在外部模块上。举例来说,外部模块可包括执行一组特定处理功能性所需的硬件及软件。在检测到器具装置及外部模块之间的连接之后,可调用设置/配置操作。设置/配置操作可停用器具装置上的一组处理功能性及/或配置器具装置以将与卸载的处理功能性有关的内容、事件及/或操作传输到外部模块。在此实例中,设置/配置操作可额外地将器具装置重新配置以利用或重新分配一组资源,例如计算资源202。
在操作304,可接收一或多个事件并对其进行分类。在方面中,可接收与预先安装在外部模块上或卸载到外部模块的功能性有关的数据(例如,内容、事件及/或操作)。在实例中,数据可由器具装置或由外部模块经由一或多个外部或内部输入模态接收。举例来说,配对到器具装置的遥控器可发出命令以流式传输超高清(4k)内容。所述命令可由器具装置接收及/或由耦合到器具装置的外部模块接收。在方面中,所接收事件可由接收装置或模块分类。对事件进行分类可包含将事件解析为一或多个群组,识别对应于事件及群组的命令及操作,及/或将所识别命令/操作与群组相关联。然后,接收装置(或与其相关联的确定组件)可确定所识别命令及操作是否与外部模块的处理功能性相关联。作为特定实例,可在包括ui处理功能性的软件狗装置中实施在stb上处理新的/新兴的视频分辨率(例如4k、8k等)的功能性。为使得能够在未经配置以处理具有此类分辨率的内容的stb上处理及呈现此内容,可将软件狗装置连接到stb。软件狗装置可配置stb以将由stb接收的基于ui的事件及/或事件类型的通知传输到软件狗装置。例如,软件狗装置可配置及/或安装一或多个事件处置器以处置基于ui的事件。随后,stb可产生或接收内容及/或一组事件。在检测到或接收一或多个事件后,stb可将事件解析为基于ui的事件及非基于ui的事件。stb可进一步将基于ui的事件解析为子类别,例如解调事件、解扰事件及解码事件。在至少一个实例中,子类别可对应于待由stb(或单独的连接装置)处理的事件及待由软件狗装置处理的事件。
在操作306,可处理所接收事件。在方面中,可将由器具装置接收的内容及事件传输到包括用于处理事件的功能性的一或多个装置/模块及/或由其处理。举例来说,继续上文特定实例,待由stb执行的非基于ui的事件或基于ui的事件的子类别可由stb处理及/或执行。stb可将内容及基于ui的事件(或仅待由软件狗装置处理的基于ui的事件)传输到软件狗装置。然后,软件狗装置可处理所接收基于ui的事件。举例来说,处理基于ui的事件可包含,将一或多个ui元素(例如,菜单、窗口、光标等)覆盖到内容(例如可由stb存取的基本视频流)上。替代地,处理基于ui的事件可包含对stb可存取的4k内容(及非4k内容)进行解码。在方面中,软件狗装置可将与所接收事件相关联的内容及/或ui元素提供到例如显示装置106的显示装置。所属领域的技术人员将了解,尽管已经对ui功能性进行特定参考,但可替代地或额外地将器具装置或另一计算装置的其它功能性预先安装在外部模块上及/或卸载到外部模块。
图4说明使用如本文描述的软件狗装置来处理卸载功能性的实例方法。示范性方法400开始于操作402,其中例如外部模块104的软件狗装置可从例如器具装置102的机顶盒(stb)接收内容。在方面中,软件狗装置可连接到stb及一或多个显示装置,例如显示装置106。stb可从一或多个内容提供者接收内容。举例来说,内容可包括一或多个广播数据传输或一或多个数据商店中的数据。stb可将所接收内容的至少一部分传递到软件狗装置。
在操作404,可接收基于ui的事件。在方面中,连接到软件狗装置的stb可接收与所接收内容有关的一组命令。所述组命令可包括用于stb的各种功能子系统(例如ui子系统、定时器子系统、内容获取子系统等)的众多事件。stb可将所接收事件解析为一或多个类别。举例来说,stb可为基于ui的事件创建类别,并且为所有其它事件类型(例如,非基于ui的事件)创建类别。stb可本地处理包括非基于ui的事件的类别中的事件,并将基于ui的事件传递到软件狗装置。
在操作406,可执行基于ui的事件。在方面中,软件狗装置可接收对应于从stb接收的内容的基于ui的事件。软件狗装置可包括用于处理及执行所接收事件的硬件及软件。举例来说,软件狗装置可包括处理单元及一或多个码组,例如代码模块203。码组可使软件狗装置能够处理用于stb的ui功能性的至少一部分。在实例中,由软件狗装置接收的基于ui的事件可对应于由软件狗装置提供的ui处理功能性。在从stb接收基于ui的事件之后,软件狗装置可处理及/或验证基于ui的事件。处理基于ui的事件可包括确定软件狗装置是否包括执行基于ui的事件所需的功能性,确定软件狗装置是否被授权以执行与基于ui的事件相关联的功能性及/或记录所接收基于ui的事件。在方面中,所接收基于ui的事件(无论是经处理还是未经处理)可由软件狗装置执行。在实例中,执行基于ui的事件可产生新的或额外内容,选择替代内容,选择/产生一或多个ui元素或类似者。然后,可将通过执行基于ui的事件产生或选择的内容及/或特征应用于从stb接收的内容以创建经修改内容。举例来说,一或多个ui元素(例如,菜单、窗口、光标等)可覆盖在从stb接收的内容上,从stb接收的内容的一部分可被移除或遮挡,从stb接收的内容可经重新定大小或重新定向等。尽管已经对基于ui的事件及功能性进行特定参考,但所属领域的技术人员将了解,本文提出的教示可应用于其它类型的事件及功能性。
在操作408,可将经修改内容输出到显示装置。在方面中,可将由装置软件狗接收及/或修改的内容输出到连接到装置软件狗的一或多个装置。举例来说,装置软件狗可配置有多个输出端口/连接,其使得装置软件狗能够(串联或并联)连接到一或多个显示装置。在至少一个方面中,装置软件狗可基于装置类型/能力或一组偏好/配置向显示装置输出不同内容。例如,装置软件狗可将以4k的内容输出到能够呈现4k内容的电视机,并且可将以1080p的内容输出到能够呈现1080p内容(但不能够呈现4k内容)的监视器。
图5说明将命令分段并卸载到如本文所描述的软件狗装置的实例方法。示范性方法500开始于操作502,其中机顶盒(stb)(例如,器具装置102)可接收内容。在方面中,stb可连接到包括stb处不存在的功能性的软件狗装置。举例来说,stb可能未配置有必要的ui功能性来对4k内容进行解码,或未配置有必要的网络功能性来启用无线通信。为解决stb的这些技术缺陷,可将软件狗装置连接到stb。软件狗装置可配置有stb的所有ui代码(或其子集),并且可包括一或多个无线组件。ui代码可使得软件狗装置能够解码4k内容。在方面中,stb可从一或多个内容提供者或内容商店接收内容,或stb可产生内容。举例来说,内容可包括本地产生的的一或多个广播的数据传输、一或多个数据商店中的数据或类似者。
在操作504,可接收一组命令。在方面中,stb可接收与所接收内容有关的一组命令。所述组命令可源自外部或内部输入模态,例如遥控装置、键盘、麦克风等。举例来说,所述组命令可包括特技模式命令(例如播放、快进、快退等)、定时器事件、内容获取请求(例如,上一频道、下一频道、查看dvr菜单等)、电子节目指南(epg)导航指令等。在实例中,可接收所述组命令,这是因为内容显示在连接到stb及/或软件狗装置的显示装置上。所述组命令可能希望与内容交互或对内容进行修改。
在操作506,可将所述组命令解析为一或多个群组。在方面中,所述组命令可包括用于stb的各种功能子系统(例如ui子系统、定时器子系统、内容获取子系统等)的众多事件。stb可将所接收事件解析为一或多个类别。举例来说,stb可为基于ui的事件创建类别,并且为所有其它事件类型(例如,非基于ui的事件)创建类别。另外,stb可为基于ui的事件创建一或多个子类别。例如,stb可将基于ui的事件划分为至少解调事件、解扰事件及解码事件。
在操作508,可执行一或多个群组的命令。在方面中,由stb创建的各种类别的命令可对应于经配置以处理与命令相关联的事件的装置。举例来说,非基于ui的事件类别可对应于stb的功能性,并且基于ui的事件类别可对应于软件狗装置的功能性。因此,stb可处理并执行非基于ui的事件。
在操作510,可将一或多个群组的命令发送到软件狗装置。在方面中,可将与stb处不存在的功能性有关的事件传输到软件狗装置进行处理。举例来说,由于stb缺乏执行至少一些基于ui的功能性的功能性,因此可将对应ui事件传输到软件狗装置。然后,软件狗装置可处理及/或执行所接收ui事件。尽管已经特定参考基于ui的事件及功能性,但所属领域的技术人员将了解,本文提出的教示可应用于其它类型的事件及功能性。
图6说明可在其中实施本实施例中的一或多者的合适操作环境600的一个实例。这仅仅是合适的操作环境的一个实例,并且不希望对使用或功能性范围提出任何限制。可适于使用的其它众所周知的计算系统、环境及/或配置包含(但不限于)个人计算机、服务器计算机、手持或膝上型装置、多处理器系统、基于微处理器的系统、可编程消费型电子器件(例如智能电话、网络pc、小型计算机、大型计算机)、包含以上系统或装置中的任何者的分布式计算环境及类似者。
在其最基本配置中,操作环境600通常包含至少一个处理单元602及存储器604。取决于计算装置的确切配置及类型,存储器604(除其它事物之外,存储信誉信息、类别信息、高速缓存的条目、执行本文揭示的方法的指令等)可为易失性的(例如ram)、非易失性的(例如rom、闪存等)或两者的某一组合。在图6中由虚线606说明此基本配置。此外,环境600还可包含存储装置(可卸除的,608,及/或不可卸除的,610),其包含(但不限于)磁盘、光盘或磁带。类似地,环境600还可具有例如键盘、鼠标、笔、语音输入等的输入装置614及/或例如显示器、扬声器、打印机等的输出装置616。还包含在环境中的可为一或多个通信连接,612,例如lan、wan、点对点等。
操作环境600通常包含至少某一形式的计算机可读媒体。计算机可读媒体可为可由处理单元602或包括操作环境的其它装置存取的任何可用媒体。通过实例的方式而非限制,计算机可读媒体可包括计算机存储媒体及通信媒体。计算机存储媒体包含以用于例如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实施的易失性及非易失性、可卸除及不可卸除媒体。计算机存储媒体包含ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字多功能磁盘(dvd)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁性存储装置,或可用于存储所需信息的任何其它有形媒体。计算机存储媒体不包含通信媒体。
通信媒体在例如载波或其它传送机制的经调制数据信号中体现计算机可读指令、数据结构、程序模块或其它数据,并且包含任何信息递送媒体。术语“经调制数据信号”意指设置或改变其特性中的一或多者以将信息编码在所述信号中的信号。通过实例的方式而非限制,通信媒体包含例如有线网络或直接有线连接的有线媒体,以及例如声学、rf、红外及其它无线媒体的无线媒体。以上任何内容的组合也应包含在计算机可读媒体的范围内。
操作环境600可为单个计算机使用到一或多个远程计算机的逻辑连接在联网环境中操作。远程计算机可为个人计算机、服务器、路由器、网络pc、对等装置或其它公共网络节点,并且通常包含上文描述的许多或所有元件以及未如此提及的其它元件。逻辑连接可包含由可用通信媒体支持的任何方法。此类联网环境在办公室、企业范围的计算机网络、内部网及因特网中很常见。
举例来说,上文参考根据本发明的方面的方法、系统及计算机程序产品的框图及/或操作说明描述本发明的方面。框中指出的功能/动作可能不按任何流程图所展示的顺序发生。举例来说,取决于所涉及的功能性/动作,实际上可大体上同时执行连续展示的两个框,或有时可以相反的顺序执行所述框。
本申请中提供的一或多个方面的描述及说明不希望以任何方式限制或限定如所主张的本发明的范围。此申请案中提供的方面、实例及细节被认为足以传达所有权并使得其它人能够制造及使用所主张揭示内容的最好模式。所主张揭示内容不应被解释为限于此申请案中提供的任何方面、实例或细节。不管是组合展示及描述还是单独展示及描述,各种特征(结构及方法上的)都希望被选择性地包含或省略,以产生具有一组特定特征的实施例。在已提供本申请案的描述及说明的情况下,所属领域的技术人员可设想出落入在本申请案中所体现的总体发明构思的更广泛方面的精神之内的各种变型、修改及替代方面,其不背离所主张揭示内容的更广范围。