首页> 中国专利> 针对较长周期发射备选灯光命令

针对较长周期发射备选灯光命令

摘要

电子设备被配置成:确定用于第一周期的灯光效果的部分(161),并且确定用于在第一周期之后的第二周期的灯光效果的后续部分(186)。该电子设备进一步被配置成:确定指定用于第二周期的灯光效果的部分(162)的第二原始灯光命令不会到达其目的地的可能性,并且发射原始第一灯光命令,或者取决于该可能性和/或所确定的灯光效果的后续部分,确定和发射备选第一灯光命令。原始第一灯光命令指定灯光效果的该部分,而备选第一灯光命令基于灯光效果的该部分和后续部分来确定并且指定用于第一周期和第二周期二者的灯光效果的一部分。

著录项

  • 公开/公告号CN112534967A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 昕诺飞控股有限公司;

    申请/专利号CN201980053623.6

  • 申请日2019-07-30

  • 分类号H05B47/165(20200101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人刘红;周学斌

  • 地址 荷兰埃因霍温

  • 入库时间 2023-06-19 10:18:07

说明书

技术领域

本发明涉及用于发射灯光命令的电子设备。

本发明进一步涉及发射灯光命令的方法。

本发明也涉及使得计算机系统能够执行这样的方法的计算机程序产品。

背景技术

Philips Hue(飞利浦色调)是消费者连接照明解决方案。利用“HueEntertainment(色调娱乐)”,Philips Hue照明系统通过在低带宽无线Zigbee网络上流式传送(stream)灯光命令来提供播放快速同步灯光效果的方式。例如,这用于将家庭环境中的灯光与如同视频游戏、视频和音乐之类的沉浸式内容同步。灯光效果被分成多个部分,并且针对每个部分,在Zigbee消息中发射灯光命令。灯光命令典型地具有预先约定的持续时间,例如40毫秒,并且在这个上下文中也可以被称为灯光帧(light frame)。

通过如同ZigBee之类的网络技术支持这个“娱乐”用例(use case)的原因是在庞大的现有智能家居照明产品的现有安装基础(base)上启用它。然而,ZigBee最初被设计用于非常不同的低带宽家庭自动化用例,并且不是所有的灯光命令都到达灯光设备的几率是相对高的。这同样适用于其他的网络技术。灯光命令可能在无线发射机与无线接收机之间丢失,即,未到达无线发射机或受损坏到达无线接收机,但是某些灯光命令在带宽受到限制时也可能被丢弃,并且需要发射其他的控制信息,如在WO2016/015998中所披露的。在两种情况下,在这些灯光命令中指定的灯光效果通常不会平滑地被渲染。

发明内容

本发明的第一目的是提供一种电子设备,其甚至在通过具有有限带宽的有点不可靠的网络发射灯光命令时也能够引起平滑的灯光效果被渲染。

本发明的第二目的是提供一种确定灯光脚本(script)的方法,其甚至在通过具有有限带宽的有点不可靠的网络发射灯光命令时也能够引起平滑的灯光效果被渲染。

在本发明的第一方面,该电子设备包括至少一个处理器,其被配置成:确定用于第一周期的灯光效果的第一部分;确定用于在所述第一周期之后的第二周期的所述灯光效果的第二部分;确定指定用于所述第二周期的灯光效果的第二部分的第二原始灯光命令不会到达所述第二原始灯光命令的目的地的可能性;以及发射原始第一灯光命令;或者取决于所述可能性和/或所述确定的所述灯光效果的后续部分,确定和发射备选(alternative)第一灯光命令,所述原始第一灯光命令指定用于所述第一周期的所述灯光效果的所述第一部分,而所述备选第一灯光命令基于所述灯光效果的所述第一部分和所述第二部分来确定并且指定用于所述第一周期和所述第二周期二者的所述灯光效果的一部分。

发明人已认识到:通常没有足够的时间和网络带宽来重发丢失的灯光命令,这是因为灯光命令与其他内容进行同步并因而是时间敏感的。发明人因此设计了一种解决方案,其中可以发射备选灯光命令来替代原始灯光命令,其中备选灯光命令指定比原始灯光命令更长的灯光效果的部分。这允许电子设备引起平滑的灯光效果被渲染,即使通过其发射灯光命令的网络有点不可靠和/或具有有限的带宽。

所述至少一个处理器可以被配置成:通过从所述灯光效果的所述第一部分中预测所述第二部分,确定所述灯光效果的所述第二部分。在一些情况下,例如,当灯光脚本是可用的并且电子设备拥有这个灯光脚本或其(多个)相关部分时,并不需要预测灯光效果的第二部分。然而,在许多情况下,例如,在实时基于内容(分析)确定灯光命令时,灯光脚本不是可用的。

所述至少一个处理器可以被配置成:通过基于外推(extrapolate)所述灯光效果的所述第一部分确定所述灯光效果的轨迹(的部分),预测所述灯光效果的所述第二部分。这针对若干类型的灯光效果给出好的结果。

所述至少一个处理器可以被配置成:进一步基于所渲染的灯光效果的历史轨迹,执行所述外推。由于灯光效果通常沿着(follow)有限的一组轨迹之一,所以这有助于预测(当前)灯光效果的轨迹。

所述至少一个处理器可以被配置成:通过选择具有与历史轨迹的集合中的所述轨迹相类似的部分的历史轨迹,选择所述历史轨迹。这有助于选择可能用于(当前)灯光效果的历史轨迹。

所述至少一个处理器可以被配置成:基于创建了所述灯光效果的应用的应用类型,从历史轨迹的集合中选择所述历史轨迹。这有助于选择可能用于(当前)灯光效果的历史轨迹。

所述至少一个处理器可以被配置成:确定哪个形状最佳匹配所述轨迹(的所述部分);以及发射所述原始第一灯光命令;或者取决于所述确定的形状,确定和发射所述备选第一灯光命令。通过匹配形状,确定第二部分的轨迹的可预测性可能是有可能的。如果不能准确地预测这个轨迹,则发射备选第一灯光命令可能不是有益的。所述至少一个处理器可以被配置成:如果所述形状被确定为线性的,发射所述备选第一灯光命令。所述至少一个处理器可以被配置成:如果所述形状被确定为不规则的,发射所述原始第一命令。

所述至少一个处理器可以被配置成:在所述备选第一灯光命令中包括所述灯光效果的所述一部分的持续时间的指示。在某些情况下,在灯光命令中包括持续时间本身可能是有可能的。然而,这占据更多的有时不是可用的空间。通过使用固定的预先约定的用于灯光命令的最短持续时间并且指示是否这个最短持续时间需要被加倍(或增至三倍或增至四倍),单个比特(或一些比特)可能足以指定灯光效果的当前一部分的持续时间。

所述至少一个处理器可以被配置成:确定指定用于在所述第二周期之后的第三周期的灯光效果的第三部分的第三原始灯光命令不会到达所述目的地的可能性,并且确定用于所述第二周期和所述第三周期二者的所述灯光效果的所述第二部分,所述备选第一灯光命令指定用于所述第一周期、所述第二周期和所述第三周期的所述灯光效果的一部分。如果灯光命令未到达其目的地的几率是足够高的以致多个相继的灯光命令可能未到达其目的地,则这是有益的。

所述至少一个处理器可以被配置成:基于来自一个或多个灯光设备的反馈、网络调度程序所拥有的知识和/或从将通过其发射所述第二原始灯光命令的MAC层接收的统计信息,确定所述第二原始灯光命令不会到达所述第二原始灯光命令的所述目的地的所述可能性。

在本发明的第二方面,该方法包括:确定用于第一周期的灯光效果的部分;确定用于在所述第一周期之后的第二周期的所述灯光效果的第二部分;确定指定用于所述第二周期的所述灯光效果的第二部分的第二原始灯光命令不会到达所述第二原始灯光命令的目的地的可能性;以及发射原始第一灯光命令;或者取决于所述可能性和/或所述灯光效果的所述确定的后续部分,确定和发射备选第一灯光命令,所述原始第一灯光命令指定用于所述第一周期的所述灯光效果的所述部分,而所述备选第一灯光命令基于所述灯光效果的所述第一部分和所述第二部分来确定并且指定用于所述第一周期和所述第二周期二者的所述灯光效果的一部分。所述方法可以利用在可编程设备上运行的软件来执行。这个软件可以作为计算机程序产品来提供。

在本发明的第三方面,该电子设备包括至少一个处理器,其被配置成:接收指定用于第一周期的灯光效果的部分的第一灯光命令;从所述灯光效果的所述部分中预测用于在所述第一周期之后的第二周期的所述灯光效果的第二部分;以及在确定没有在一定时间内接收到指定用于所述第二周期的灯光效果的第二灯光命令时,在一个或多个光源上渲染所述灯光效果的所述第二部分。

在本发明的第四方面,该方法包括:接收指定用于第一周期的灯光效果的部分的第一灯光命令;从所述灯光效果的所述部分中预测用于在所述第一周期之后的第二周期的所述灯光效果的第二部分;以及在确定没有在一定时间内接收到指定用于所述第二周期的灯光效果的第二灯光命令时,在一个或多个光源上渲染所述灯光效果的所述第二部分。所述方法可以利用在可编程设备上运行的软件来执行。这个软件可以作为计算机程序产品来提供。

此外,提供用于实行在本文描述的方法的计算机程序以及存储计算机程序的非暂时性计算机可读存储介质。例如,计算机程序可以利用现有设备来下载或被上传至现有设备或者在制造这些系统时进行存储。

非暂时性计算机可读存储介质存储至少一个软件代码部分,该软件代码部分当由计算机执行或处理时被配置成执行包括以下的可执行操作:确定用于第一周期的灯光效果的第一部分;确定用于在所述第一周期之后的第二周期的所述灯光效果的第二部分;确定指定用于所述第二周期的所述灯光效果的所述第二部分的第二原始灯光命令不会到达所述第二原始灯光命令的目的地的可能性;以及发射原始第一灯光命令;或者取决于所述可能性和/或所述灯光效果的所述确定的第二部分,确定和发射备选第一灯光命令,所述原始第一灯光命令指定用于所述第一周期的所述灯光效果的所述第一部分,而所述备选第一灯光命令基于所述灯光效果的所述第一部分和所述第二部分来确定并且指定用于所述第一周期和所述第二周期二者的所述灯光效果的一部分。

如本领域技术人员将领会到的,本发明的各方面可以被体现为设备、方法或计算机程序产品。相应地,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微码等)或组合软件与硬件方面的实施例的形式,其中这些软件与硬件方面在本文可以被统称为“电路”、“模块”或“系统”。在这个公开中描述的功能可以被实现为由计算机的处理器/微处理器执行的算法。此外,本发明的各方面可以采取被收录在其上面收录例如存储计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。

可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。例如,计算机可读存储介质可以是但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备或者前述内容的任何合适组合。计算机可读存储介质的更具体示例可以包括但不限于以下:具有一条或多条电线的电气连接;便携式计算机磁盘;硬盘;随机存取存储器(RAM);只读存储器(ROM);可擦除可编程只读存储器(EPROM或闪存);光纤;便携式光盘只读存储器(CD-ROM);光存储设备;磁存储设备;或前述内容的任何合适组合。在本发明的上下文中,计算机可读存储介质可以是任何有形介质,其能够包含或存储程序,以便由指令执行系统、装置或设备使用或者与指令执行系统、装置或设备结合使用。

计算机可读信号介质可以例如在基带中或作为载波的部分包括传播的数据信号,其中计算机可读程序代码被收录在传播的数据信号中。这样的传播信号可以采取各种各样形式之中的任何形式,其包括但不限于电磁、光学或其任何合适组合。计算机可读信号介质可以是任何计算机可读介质,其不是计算机可读存储介质并且能够传送、传播或运送程序,以便由指令执行系统、装置或设备使用或者与指令执行系统、装置或设备结合使用。

在计算机可读介质上收录的程序代码可以使用任何适当的介质来发射,其中介质包括但不限于无线、金属线(wireline)、光纤、电缆、RF等或前述内容的任何合适组合。用于实行本发明的各方面的操作的计算机程序代码可以采用包括面向对象的编程语言诸如Java(TM)、Smalltalk、C++等等和常规过程编程语言诸如“C”编程语言或类似编程语言的一种或多种编程语言的任何组合来编写。程序代码可以全部在用户的计算机上、部分在用户的计算机上、作为独立软件包、部分在用户的计算机上和部分在远程计算机上或者全部在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的包括局域网(LAN)或广域网(WAN)的网络被连接至用户的计算机,或者连接可以至外部计算机(例如,通过Internet(因特网)使用Internet Service Provider(因特网服务提供商))。

下面参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图说明和/或方块图来描述本发明的各方面。将明白:流程图说明和/或方块图之中的每个方块以及流程图说明和/或方块图中的方块的组合能够利用计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器尤其微处理器或中央处理单元(CPU)来制造机器,以便经由计算机、其他可编程数据处理装置或其他设备的处理器执行的指令创建用于实现在流程图和/或方块图(多个)方块中指定的功能/行动的手段。

这些计算机程序指令也可以被存储在计算机可读介质中,其能够指导计算机、其他可编程数据处理装置或其他设备以特定方式起作用,以致在计算机可读介质中存储的指令生产制造品,其包括实现在流程图和/或方块图(多个)方块中指定的功能/行动的指令。

计算机程序指令也可以被加载到计算机、其他可编程数据处理装置或其他设备上,以引起一系列操作步骤在计算机、其他可编程装置或其他设备上执行来产生计算机实现的过程,以致在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或方块图(多个)方块中指定的功能/行动的过程。

这些图中的流程图和方块图举例说明根据本发明的各种实施例的设备、方法和计算机程序产品的可能实现方式的体系结构、功能和操作。在这方面,流程图或方块图中的每个方块可以表示模块、分段或代码的一部分,其包括用于实现所指定的(多个)逻辑功能的一个或多个可执行指令。也应注意:在一些备选实现方式中,在这些方块中注释的功能可以采用不同于这些图中所注释的顺序发生。例如,连续显示的两个方块事实上可以实质上同时被执行,或这些方块有时可以采用相反的顺序来执行,这取决于所牵涉的功能。也将注意:方块图和/或流程图说明中的每个方块以及方块图和/或流程图说明中的方块的组合能够利用执行所指定的功能或行动的基于专用硬件的系统或者专用硬件与计算机指令的组合来实现。

附图说明

本发明的这些和其他方面从附图中将是显然的并将通过示例参考这些附图来进一步阐明,其中:

图1显示本发明的第一电子设备的第一实施例;

图2显示本发明的第一电子设备的第二实施例;

图3显示本发明的第二电子设备的实施例;

图4是本发明的第一方法的第一实施例的流程图;

图5是本发明的第一方法的第二实施例的流程图;

图6是本发明的第二方法的实施例的流程图;

图7描绘备选第一灯光命令的使用的第一示例;

图8描绘备选第一灯光命令的使用的第二示例;

图9描绘备选第一灯光命令的使用的第三示例;和

图10是用于执行本发明的方法的示例性数据处理系统的方块图。

附图中的对应元素利用相同的参考数字来注释。

具体实施方式

图1显示本发明的电子设备的第一实施例:移动设备1。该移动设备被连接至无线LAN访问点13。网桥15例如Philips Hue网桥例如经由Ethernet(以太网)也被连接至无线LAN访问点13。网桥15例如使用Zigbee技术与灯光设备17通信。例如,灯光设备17可以是Philips Hue灯光(设备)。

移动设备1正在运行生成灯光效果的应用。不同类型的生成灯光效果的应用可以进行区分。从技术需求的角度来看,各类型的应用之间一个重要的区别是:是否(a)必须实时基于内容生成灯光效果,或者(b)灯光效果已经是事先已知的并且只需要与内容进行同步。一些示例:

(a)当正在与已知歌曲同步播放灯光秀时,这能够是:已经预先生成用于那首歌曲的完整灯光脚本;

(b)应用,其在屏幕上连续捕获颜色并且即时(on the fly)将那些颜色翻译为灯光效果;

(a+b)视频游戏,其中某些个别效果被预先编写脚本,但是那些效果必须立即对游戏中(不可预测的)玩家的互动作出反应。

在图1的实施例中,移动设备1能够运行所有这些类型的应用。移动设备1包括收发机3、处理器5、存储器7和显示器9。处理器5被配置成:确定用于第一周期的灯光效果的(第一)部分;确定用于在第一周期之后的第二周期的灯光效果的第二(或采用另一种措辞,后续)部分;以及确定指定用于第二周期的灯光效果的部分的第二原始灯光命令不会到达第二原始灯光命令的目的地的可能性。

处理器5进一步被配置成:(使用收发机3)发射原始第一灯光命令;或者取决于可能性和/或所确定的灯光效果的后续部分,确定和(使用收发机3)发射备选第一灯光命令。原始第一灯光命令指定用于第一周期的灯光效果的该部分,而备选第一灯光命令基于灯光效果的该部分和后续部分来确定并且指定用于第一周期和第二周期二者的灯光效果的一部分。例如,灯光命令可以指定目标值(例如,色度/或亮度设置),其中在该灯光命令与之有关的周期期满之后,过渡(transition)应该结束于该目标值。

如果应用具有类型a),则移动设备1不需要预测后续部分,因为它能够从灯光脚本中确定后续部分。如果应用具有类型b)或a+b),则移动设备1预测后续部分。

在图1所示的移动设备1的实施例中,移动设备1包括一个处理器5。在备选实施例中,移动设备1包括多个处理器。移动设备1的处理器5可以是例如来自ARM或Qualcomm的通用处理器或者应用特定的处理器。例如,移动设备1的处理器5可以运行Android或iOS操作系统。在图1所示的实施例中,接收机和发射机已被组合到收发机3中。在备选实施例中,使用一个或多个单独的接收机组件和一个或多个单独的发射机组件。在备选实施例中,使用多个收发机而非单个收发机。

收发机3可以使用一种或多种无线通信技术与网桥13通信,例如,Wi-Fi。例如,显示器9可以包括LCD或OLED显示面板。例如,显示器9可以是触摸屏。例如,处理器5可以使用这个触摸屏来提供用户界面。移动设备1可以包括对于移动设备而言典型的其他组件,诸如电池和电源连接器。存储器7可以包括一个或多个存储单元。例如,存储器7可以包括固态存储器。本发明可以使用在一个或多个处理器上运行的计算机程序来实现。

图2显示本发明的电子设备的第二实施例:网桥21,例如,Philips Hue网桥。如果没有在能够生成灯光效果的所有应用/设备中实现本发明,则这个实施例可能是有益的。在图2的示例中,移动电话11能够运行类型(a)、(b)和(a+b)的应用,但是没有实现本发明。网桥21包括收发机23、处理器25和存储器27。处理器25被配置成:确定用于第一周期的灯光效果的部分;确定用于在第一周期之后的第二周期的灯光效果的后续部分;以及确定指定用于第二周期的灯光效果的部分的第二原始灯光命令不会到达第二原始灯光命令的目的地的可能性。

处理器25进一步被配置成:(使用收发机23)发射原始第一灯光命令;或者取决于可能性和/或所确定的灯光效果的后续部分,确定和(使用收发机23)发射备选第一灯光命令。原始第一灯光命令指定用于第一周期的灯光效果的该部分,而备选第一灯光命令基于灯光效果的该部分和后续部分来确定并指定用于第一周期和第二周期二者的灯光效果的一部分。

在图2的实施例中,网桥21从移动设备11接收原始第一灯光命令并且从所接收的原始第一灯光命令中确定用于第一周期的灯光效果的该部分。如果应用具有类型a),则网桥21可以从移动设备11接收灯光脚本或灯光脚本的相关部分。在这种情况下,网桥21不需要预测后续部分,因为它能够从灯光脚本(部分)中确定后续部分。如果应用具有类型b)或a+b),则网桥21预测后续部分。

在图2所示的网桥21的实施例中,网桥21包括一个处理器25。在备选实施例中,网桥21包括多个处理器。网桥21的处理器25可以是例如基于ARM的通用处理器或应用特定的处理器。例如,网桥21的处理器25可以运行基于Unix的操作系统。存储器27可以包括一个或多个存储单元。例如,存储器27可以包括一个或多个硬盘和/或固态存储器。例如,存储器27可以用于存储连接灯光的表格。

收发机23可以使用一种或多种通信技术与无线LAN访问点13通信,例如,Ethernet。在备选实施例中,使用多个收发机而非单个收发机。在图2所示的实施例中,接收机和发射机已被组合到收发机23中。在备选实施例中,使用一个或多个单独的接收机组件和一个或多个单独的发射机组件。网桥21可以包括对于网络设备而言典型的其他组件,诸如电源连接器。本发明可以使用在一个或多处理器上运行的计算机程序来实现。

图3显示本发明的电子设备的第三实施例:照明设备31,例如,Philips Hue灯光(设备)。灯光(设备)31包括收发机33、处理器35、存储器27和光源39。处理器35被配置成:接收指定用于第一周期的灯光效果的部分的第一灯光命令;从灯光效果的该部分中预测用于在第一周期之后的第二周期的灯光效果的后续部分;以及在确定没有在一定时间内接收到指定用于第二周期的灯光效果的第二灯光命令时,在光源39上渲染灯光效果的后续部分。这个实施例具有的优点是:预测仅在原始灯光命令真的丢失时才是必要的,但是在灯光设备中要求更复杂的硬件和软件。

在图3所示的照明设备31的实施例中,照明设备31包括一个处理器35。在备选实施例中,照明设备31包括多个处理器。照明设备31的处理器35可以是通用处理器或应用特定的处理器。例如,照明设备31的处理器35可以运行基于Unix的操作系统。例如,光源39可以包括一个或多个LED二极管。存储器37可以包括一个或多个存储单元。例如,存储器37可以包括一个或多个硬盘和/或固态存储器。

在图3所示的实施例中,接收机和发射机已被组合到收发机33中。在备选实施例中,使用一个或多个单独的接收机组件和一个或多个单独的发射机组件。在备选实施例中,使用多个收发机而非单个收发机。收发机33可以使用一种或多种无线通信技术与网桥15通信,例如,ZigBee。照明设备31可以包括对于照明设备而言典型的其他组件,诸如电源连接器。

在图4中显示本发明的方法的第一实施例。步骤101包括:确定用于第一周期的灯光效果的部分。步骤103包括:确定用于在第一周期之后的第二周期的灯光效果的后续部分。步骤105包括:确定指定用于第二周期的灯光效果的部分的第二原始灯光命令不会到达第二原始灯光命令的目的地的可能性。

在图4的实施例中,在步骤105之后做出是执行步骤107还是步骤109的决定。步骤107包括:发射原始第一灯光命令。步骤109包括:确定和发射备选第一灯光命令。原始第一灯光命令指定用于第一周期的灯光效果的该部分。备选第一灯光命令基于灯光效果的该部分和后续部分来确定并且指定用于第一周期和第二周期二者的灯光效果的一部分。是执行步骤107还是步骤109的决定取决于该可能性和/或所确定的灯光效果的后续部分。

例如,通常,设备发送出具有等于预先约定周期的过渡时间(如果该设备接收到原始第一灯光命令,这是原始第一灯光命令的过渡时间)的灯光值。如果该设备估计丢失灯光命令的可能性是相对高的(或甚至“肯定的”,例如,在另一网络消息必须被优先化时)并且它预测当前效果相对线性地继续,它将发送具有较长过渡时间的预测未来值。如果下一个灯光命令确实丢失,则灯光将继续其较长过渡而非停滞(stalling),这导致更平滑的效果。如果下一个灯光命令碰巧没有丢失,则较长过渡(其不会偏离实际过渡太远)将被取消,并且将使用最新的灯光命令。

在图4的实施例中,仅在不执行步骤107时才确定备选第一灯光命令。在备选实施例中,步骤109不包括确定备选第一灯光命令,但是在做出是执行步骤107还是步骤109的决定之前确定备选第一灯光命令。

在图5中显示本发明的方法的第二实施例。在图5的实施例中,与图4相比而言,以相反的顺序来执行步骤103和105。在备选实施例中,并行执行步骤103和105。步骤101包括:例如,从接收的原始第一灯光命令中确定用于第一周期的灯光效果的部分。在图5的实施例中,灯光命令指定目标值,其中过渡应该结束于该目标值。灯光设备能够使用插值(interpolation)来确定从当前值到目标值的过渡。在图5的实施例中,灯光设备仅使用线性插值。过渡具有一定的过渡时间,其可以是预先约定的过渡时间或可以在灯光命令中进行指定。

接下来,步骤105包括:确定第二原始灯光命令不会到达其目的地的可能性。具有多种方式来这样做,并且可以使用这些方法的组合:

•固定的。在相对基本的实现方式中,优选地,在不同的环境中,基于根据以前传输(例如,测试传输)的平均可靠性,假定固定的网络可靠性;

•基于来自灯光设备的反馈。网络中的灯光设备(灯光命令的目的地)能够确定在周期内正在丢失多少灯光命令。当这个平均数字显著改变时,它们能够发送通知至发射灯光命令的设备。基于这个信息,这个设备能够更好地估计网络的当前可靠性。这能够检测到如同持续干扰之类的情形,因为具有某大文件下载正在同一频带上进行,或者这能够检测到其中(数据)流需要经过ZigBee网状网络中相对弱的链路的情况;

•基于来自网络调度程序的知识。典型地,通过Zigbee网状网络发射多种类型的消息。网络调度程序管理一个或多个队列并且选择将从该(多个)队列中发射的消息。这个调度程序将知道:流中的下一个灯光命令因为其他业务(流、常规灯光控制、软件更新、轮询、MTO路由选择等)而必须被丢弃。利用这个知识,能够肯定地确定:某灯光命令将被丢弃;

•基于来自MAC层的统计信息。MAC层可能能够提供关于其传输的统计信息,诸如失败的媒体访问和噪声水平。

接下来,步骤103包括:通过色度/亮度空间预测灯光效果的最可能路径。具有多种方式来这样做,并且可以使用这些方法的组合:

1)简单地,取例如在最新(多个)灯光命令中指定的最近(多个)过渡的轨迹,并且线性地、利用多项式(polynomially)或以其他方式外推它。优选地,在CIELAB或CIELUV颜色空间中进行外推,因为这些颜色空间将明度与色度分开并且在感知上(几乎)是一致的。除非具有(明确的或从历史轨迹中推断的)应用本身使用另一颜色空间来渲染过渡的知识,否则与该应用相同的颜色空间被优选来获得最佳对齐;

2)存储某些历史轨迹(例如,针对当前流媒体对话)并且试图辨认出:当前效果一开始非常像以前已发生过的效果,因此假定:它将采用与匹配历史轨迹相类似的方式继续;

3)在某些应用类型例如(a)或(a+b)中,当前效果的(可能)轨迹或甚至整个灯光脚本已经是事先已知的,因此能够使用这个数据。

在1)和2)中,从灯光效果的(已知)部分中预测灯光效果的后续部分。在1)和2)中,通过基于灯光效果的该部分确定灯光效果的轨迹的部分并且从轨迹的该部分中外推轨迹的后续部分,预测灯光效果的后续部分。在2)中,外推进一步基于所渲染的灯光效果的历史轨迹。可以基于创建了灯光效果的应用的应用类型、从历史轨迹的集合中选择这些历史轨迹。

步骤117包括:基于步骤103和105的结果,决定是否需要调整原始第一灯光命令,以及如果是这样的话,如何进行调整。在具有较高的灯光命令丢失的可能性的情况下,灯光命令的内容可以被调整,以补偿其他灯光命令的潜在丢失。经常发生的灯光效果是通过亮度和/或色度空间的平滑(几乎)线性过渡。此外,如果所有的灯光正在同时执行这样的平滑过渡,则这也是其中打嗝(hiccup)对用户而言尤其明显并因而最有损于体验的效果类型。这个观察导致直截了当但有效的方式来调整某些灯光效果,以使之对潜在的灯光命令丢弃/丢失更有弹性:

•如果过渡被预测为线性的,则灯光命令被调整,以致它指定未来预测值为目标值以及使用较长过渡时间的指示;

•如果过渡被预测为非常非线性的或非常急剧改变方向,即,不规则的,则发射原始灯光命令;

•如果过渡被预测为介于两者之间,则基于它有多接近线性(根据步骤103)以及下一个(多个)灯光命令丢失的可能性有多大(根据步骤105),做出调整灯光命令或发射原始灯光命令的决定。

轨迹可以与一个或多个已知形状(例如,这个实施例中的线性与另一实施例中的线性、正弦和方块)进行比较,以便预测过渡是线性的还是不规则的。轨迹的若干点可以与一个或多个已知形状的对应点进行比较,以便确定相似性度量。

在图7-9中显示这些调整的示例。在图7中,描绘沿着线性路径的原始效果151。如果这样的效果被预测,则以这样的方式来调整灯光命令以致提前已利用较长过渡时间发送用于预测灯光命令的值是非常有效的。如能够看出的,当没有丢失的灯光命令时,最后的效果在具有这个调整(效果157)或没有这个调整(效果155)的情况下将同样地看起来一样。然而,如果灯光命令丢失,没有调整的情况将导致非常抖动(jittery)/非平滑效果156。在调整的情况下,效果158将看起来与原始预测路径151完全一样。因此,在这种情况下,发射调整的灯光命令,而与网络可靠性无关。

没有调整并且没有丢失的灯光命令的灯光效果155包括接收部分161、接收部分162和接收部分163。具有调整但是没有丢失的灯光命令的灯光效果157包括接收部分161、接收部分162和接收部分163并且进一步包括未使用的预测部分186-187以及尚未使用的预测部分188。其中第二灯光命令(第二帧)丢失的没有调整的灯光效果156包括接收部分161、使用过的预测部分176和接收部分173。其中第二灯光命令丢失的具有调整的灯光效果158包括接收部分161、使用过的预测部分186、接收部分193以及尚未使用的预测部分196。

在图8中,描绘沿着更二次(more quadratic)路径的原始效果201。如果这样的效果被预测并且没有丢失的灯光命令,则没有调整的效果205与具有调整的效果207相比而言将看起来更像原始灯光效果201。然而,如果灯光命令丢失,则调整的版本208与没有调整的版本206相比而言将看起来好多了/平滑多了。因此,在这种情况下,是使用原始灯光命令还是调整灯光命令的决定取决于步骤105的结果(即,取决于灯光命令未到达其目的地的风险)。

没有调整并且没有丢失的灯光命令的灯光效果205包括接收部分211、接收部分212和接收部分213。具有调整但是没有丢失的灯光命令的灯光效果207包括接收部分231、接收部分232和接收部分233并且进一步包括未使用的预测部分236-237以及尚未使用的预测部分238。其中第二灯光命令(第二帧)丢失的没有调整的灯光效果206包括接收部分211、使用过的预测部分226和接收部分223。其中第二灯光命令丢失的具有调整的灯光效果208包括接收部分231、使用过的预测部分236、接收部分243以及尚未使用的预测部分246。虽然部分/过渡213和223对应于同一灯光命令并且这些过渡结束于同一点,但是这些过渡开始于不同的点。

在图9中,描绘沿着方向急剧改变的路径的原始效果251。在此,调整效果总是给出强失真,而与是否灯光命令丢失无关:在两种情况下,闪烁效果将被变为迟滞(sluggish)效果,参见具有调整的版本257(没有丢失的灯光命令)和258(第二灯光命令丢失)。相反,流式传送内容而没有调整给出不太明显的区别,参见没有调整的版本255(没有丢失的灯光命令)和256(第二灯光命令丢失)。因此,在这种情况下,选择将是照原样发射灯光命令,而与网络可靠性无关。

没有调整并且没有丢失的灯光命令的灯光效果255包括接收部分261、接收部分262和接收部分263。具有调整但是没有丢失的灯光命令的灯光效果257包括接收部分281、接收部分282和接收部分283并且进一步包括未使用的预测部分286-287以及尚未使用的预测部分288。其中第二灯光命令丢失的没有调整的灯光效果256包括接收部分261、使用过的预测部分276和接收部分273。其中第二灯光命令丢失的具有调整的灯光效果258包括接收部分281、使用过的预测部分286、接收部分293以及尚未使用的预测部分296。

执行步骤107,以发射原始灯光命令(即,没有调整)。执行步骤109,以发射调整的灯光命令。备选灯光命令可以包括灯光效果的一部分的持续时间的指示,例如“0”用于正常的过渡时间,而“1”用于双倍的过渡时间。如果下一个灯光命令被丢弃并且调整的版本被发射,打嗝被阻止了并且体验从而得到改善了。如果调整的版本被发射并且下一个灯光命令没有被丢弃,则只是正在进行的过渡被取消,并且使用最新灯光命令的轨迹。

在图6中显示本发明的方法的第三实施例。步骤131包括:接收指定用于第一周期的灯光效果的部分的第一灯光命令。步骤133包括:从灯光效果的该部分中预测用于在第一周期之后的第二周期的灯光效果的后续部分。步骤135包括:在确定没有在一定时间内接收到指定用于第二周期的灯光效果的第二灯光命令时,在一个或多个光源上渲染灯光效果的后续部分。

在图5的实施例中,备选灯光效果只能指定针对正常过渡时间两倍的过渡。在备选实施例中,指定用于在第二周期之后的第三周期的灯光效果的第三原始灯光命令不会到达目的地的可能性被确定,并且用于第二周期和第三周期二者的灯光效果的后续部分被确定。在这种情况下,备选第一灯光命令指定用于第一周期、第二周期和第三周期的灯光效果的一部分。因而,在这种情况下,备选灯光命令也能够指定针对正常过渡时间三倍的过渡。在不同的实施例中,备选灯光命令甚至能够指定更长的过渡时间。然而,更长的预测可能不如更短的预测好。

通过每个灯光命令而非每个灯光设备指示过渡时间,几乎不需要增加用于多个灯光设备的灯光命令的大小。这在实践中很有效,因为打嗝仅在所有的灯光设备都在执行平滑过渡时才是明显的。如果某些灯光正在闪烁,则平滑掉其他灯光没有多大用处,因为小的打嗝被大的闪烁掩盖(outweigh)。然而,也将有可能以增加消息大小为代价来为不同的灯光设备指定不同的过渡和过渡时间。

在图5的实施例中,灯光设备仅使用线性插值。也能够支持其他类型的插值,而非仅支持线性插值。例如,如果另一类型的轨迹(正弦,方块)将经常出现/被预测,这能够被指示在灯光命令中并且在灯光设备中被支持。这将仅要求稍微更多的数据被运送,如果每个消息进行的话(典型地,将只需要支持如同线性、左/右曲率立方、指数之类的几条路径)。然而,这将在灯光设备中导致更复杂的实现方式。

图10描绘方块图,其举例说明可以执行如参考图4-6所述的方法的示例性数据处理系统。

如图10所示,数据处理系统300可以包括至少一个处理器302,其通过系统总线306被耦合至存储元件304。这样,数据处理系统可以在存储元件304内存储程序代码。进一步,处理器302可以执行经由系统总线306从存储元件304中存取的程序代码。在一个方面,数据处理系统可以被实现为适合于存储和/或执行程序代码的计算机。然而,应该领会到:数据处理系统300可以采用能够执行在这个说明书内描述的功能的包括处理器和存储器的任何系统的形式来实现。

存储元件304可以包括一个或多个物理存储设备,诸如例如本地存储器308和一个或多个大容量存储设备310。本地存储器可以指一般在程序代码的实际执行期间使用的随机存取存储器或其他的(多个)非持久存储设备。大容量存储设备可以被实现为硬盘驱动器或其他的持久数据存储设备。处理系统300也可以包括一个或多个高速缓冲存储器(未显示),其提供至少一些程序代码的临时储存,以便减少在执行期间必须从大容量存储设备310中检索程序代码的次数。例如,如果处理系统300是云计算平台的部分,则处理系统300也可能能够使用另一处理系统的存储元件。

被描绘为输入设备312和输出设备314的输入/输出(I/O)设备可选地能够被耦合到数据处理系统。输入设备的示例可以包括但不限于键盘、指针设备诸如鼠标、麦克风(例如,用于话音和/或语音识别)等等。输出设备的示例可以包括但不限于监视器或显示器、扬声器等等。输入和/或输出设备可以或直接或通过中间I/O控制器被耦合到数据处理系统。

在实施例中,输入和输出设备可以被实现为组合输入/输出设备(在图10中利用围绕输入设备312和输出设备314的虚线来举例说明)。这样的组合设备的示例是触敏显示器,其有时也被称为“触摸屏显示器”或简称为“触摸屏”。在这样的实施例中,至设备的输入可以利用物理对象诸如例如手写笔或用户的手指在触摸屏显示器上或靠近触摸屏显示器的移动来提供。

网络适配器316也可以被耦合至数据处理系统,以使之能够变成通过中间专用网络或公用网络被耦合至其他系统、计算机系统、远程网络设备和/或远程存储设备。网络适配器可以包括用于接收由所述系统、设备和/或网络发射至数据处理系统300的数据的数据接收机和用于从数据处理系统300发射数据至所述系统、设备和/或网络的数据发射机。调制解调器、电缆调制解调器和Ethernet卡是可以与数据处理系统300一起使用的不同类型的网络适配器的示例。

如图10所示,存储元件304可以存储应用318。在各种实施例中,应用318可以被存储在本地存储器308、一个或多个大容量存储设备310中或与本地存储器和大容量存储设备分开。应该领会到:数据处理系统300可以进一步执行能够有助于应用318的执行的操作系统(未显示在图10中)。采用可执行程序代码的形式实现的应用318能够由数据处理系统300执行,例如,由处理器302执行。响应于执行该应用,数据处理系统300可以被配置成执行在本文描述的一个或多个操作或方法步骤。

本发明的各种施例可以被实现为用于与计算机系统一起使用的程序产品,其中程序产品的(多个)程序定义这些实施例的功能(包括在本文描述的方法)。在一个实施例中,(多个)程序能够被包含在各种各样的非暂时性计算机可读存储媒体上,其中如在本文所使用的,表述“非暂时性计算机可读存储媒体”包括所有的计算机可读媒体,其中唯一的例外是暂时性传播信号。在另一实施例中,(多个)程序能够被包含在各种各样的暂时性计算机可读存储媒体上。说明性的计算机可读存储媒体包括但不限于:(i)非可写存储媒体(例如,计算机内的只读存储设备,诸如利用CD-ROM驱动器可读的CD-ROM盘、ROM芯片或任何类型的固态非易失性半导体存储器),在其上面永久存储信息;和(ii)可写存储媒体,(例如,闪存、磁盘驱动器或硬盘驱动器内的软盘或者任何类型的固态随机存取半导体存储器),在其上面存储可变信息。可以在本文所述的处理器302上运行计算机程序。

在本文使用的术语仅用于描述特定实施例的目的并且非旨在限制本发明。如在本文所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。将进一步明白:术语“包括”和/或“正包括”当在这个说明书中使用时指定所述特性、整数、步骤、操作、元件和/或组件的存在,但是并不排除一个或多个其他的特性、整数、步骤、操作、元件、组件和/或其组合的存在或添加。

在下面的权利要求书中所有的手段或步骤加功能元素的对应结构、材料、行动和等价物旨在包括用于与具体请求保护的其他的请求保护元素相组合来执行功能的任何结构、材料或行动。本发明的实施例的描述为了举例说明的目的而被呈现了,但是并非旨在详尽无遗的或限于采用所披露形式的实现方式。许多修改和变化对于本领域的技术人员来说将是显然的而不偏离本发明的范畴和精神。这些实施例被挑选并被描述,以便最佳解释本发明的原理和一些实际应用,并且使得本领域的其他技术人员能够针对具有适合于所深思的特定用途的各种修改的各种实施例来理解本发明。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号