CN110794972A - 流送照明效果的带宽优化方法和系统及外围输入装置 - Google Patents
流送照明效果的带宽优化方法和系统及外围输入装置 Download PDFInfo
- Publication number
- CN110794972A CN110794972A CN201910402508.7A CN201910402508A CN110794972A CN 110794972 A CN110794972 A CN 110794972A CN 201910402508 A CN201910402508 A CN 201910402508A CN 110794972 A CN110794972 A CN 110794972A
- Authority
- CN
- China
- Prior art keywords
- array
- light emitter
- input device
- lighting effect
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01H—ELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
- H01H13/00—Switches having rectilinearly-movable operating part or parts adapted for pushing or pulling in one direction only, e.g. push-button switch
- H01H13/70—Switches having rectilinearly-movable operating part or parts adapted for pushing or pulling in one direction only, e.g. push-button switch having a plurality of operating members associated with different sets of contacts, e.g. keyboard
- H01H13/83—Switches having rectilinearly-movable operating part or parts adapted for pushing or pulling in one direction only, e.g. push-button switch having a plurality of operating members associated with different sets of contacts, e.g. keyboard characterised by legends, e.g. Braille, liquid crystal displays, light emitting or optical elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B45/00—Circuit arrangements for operating light-emitting diodes [LED]
- H05B45/20—Controlling the colour of the light
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/155—Coordinated control of two or more light sources
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/175—Controlling the light source by remote control
- H05B47/19—Controlling the light source by remote control via wireless transmission
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01H—ELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
- H01H2219/00—Legends
- H01H2219/002—Legends replaceable; adaptable
- H01H2219/014—LED
- H01H2219/016—LED programmable
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01H—ELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
- H01H2219/00—Legends
- H01H2219/036—Light emitting elements
- H01H2219/039—Selective or different modes of illumination
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Circuit Arrangement For Electric Light Sources In General (AREA)
Abstract
本公开涉及流送照明效果的带宽优化方法和系统及外围输入装置。在实施方式中,提供了用于以照明效果阵列向外围输入装置无线流送照明效果数据的方法和系统。将当前照明效果阵列与先前照明效果阵列进行比较,并且对照明效果阵列中的一个或更多个光发射器区域应用压缩。
Description
技术领域
本发明涉及向外围装置(例如,键盘)流送效果(例如,照明)。
背景技术
在诸如键盘的有线外围装置中,可以实现全双工通信,从而允许将配置数据从主机发送至外围装置,同时将来自装置的报告数据发送回主机。这样的通信布置在诸如游戏的高性能应用中更可取,因为配置数据的传输不能干扰或先占(pre-empt)从外围装置返回的数据的报告。如果不是这种情况,则在装置的配置(例如,设置背光照明)期间,来自装置的数据(例如,键激活)可能会延迟或者甚至丢失,从而导致用户体验下降。
一些罗技有线游戏键盘为用户提供了管理和定制动画照明效果或者从16种预设照明效果中进行选择的能力。该效果可以通过指定每个键在一段时间内的颜色的照明效果阵列来应用。
对于无线装置,问题更加复杂。在一些情况下,与外围装置的双向通信在单个无线信道上进行。在这样的情况下,发送至装置的配置数据必须与从装置发送的报告数据进行时间复用。如果配置数据太大,则其会占用信道的大量带宽,进而导致可用于数据报告的时隙减少。对于现有的照明方案,在键盘键被点亮的情况下,通常需要为每个光发射器发送命令。此外,其他的无线装置可能对信道造成干扰,还进一步增加了来自装置的丢失和/或损坏的报告数据的风险。因此,需要能够在主机与可配置外围装置之间提供改进的无线通信的系统。
发明内容
在实施方式中,提供了用于以照明效果阵列消息将照明效果数据无线流送至外围输入装置的方法和系统。将当前照明效果阵列与先前照明效果阵列进行比较,并且将单个照明效果阵列命令应用于照明效果阵列中的多个光发射器。
在实施方式中,提供了用于以照明效果阵列消息将照明效果数据无线流送至外围输入装置的方法和系统。将当前照明效果阵列与先前照明效果阵列进行比较,并且针对两个照明效果阵列之间的增量确定一个或更多个压缩方案,并且将其应用于照明效果阵列中的一个或更多个光发射器区域。因此,为每个照明效果阵列转变选择压缩方案的最佳组合。
在实施方式中,以发送至外设的照明效果数据阵列的流向光发射器阵列(例如,键盘键或壳体中的LED)提供照明数据(例如,颜色和亮度/光亮度)。该流送使用应用于光发射器的定制分组的压缩方案,其中光发射器的定制分组可以随照明效果阵列变换而变化。另外,可以在照明效果阵列中使用不同的区域。例如,不是为每个位置指示特定的颜色,而是结合将具有特定颜色的光发射器的定制列表来指定该特定颜色一次。区域可以是单个光发射器、一组地理上接近的光发射器、光发射器标识符的范围、光发射器标识符的列表或光发射器的一些其他组合。
在实施方式中,提供了用于以照明效果阵列来流送照明效果数据的方法和系统,其中,每个照明效果阵列具有多个不同区域大小的光发射器数据的区域。为至少两个区域使用不同压缩方案。例如,一个区域可能不使用压缩,而另一区域可能使用4位增量或从先前颜色值的变化,其中,变化较小。
在实施方式中,提供了用于以照明效果阵列流送照明效果数据的方法和系统,其中,相继照明效果阵列使用不同的压缩方案。对于每个向下一颜色的转变,编码器检查先前照明效果阵列颜色和当前照明效果阵列颜色,并且确定光发射器标识符的优化分组和优化的压缩方案。
在实施方式中,压缩方案之一提供了先前照明值与新照明值之间的差异。在一个实施方式中,压缩方案包括无变化、完整值、从上一值的N位增量和从上一值的M位增量。
附图说明
图1是根据某些实施方式的照明效果计算机系统的图。
图2是根据实施方式的照明效果模块的框图。
图3是示出根据实施方式的发射器阵列的不同区域的示意图。
图4是根据实施方式的用于流送以及存储和回放照明效果的输入装置与主机软件之间的传输优化的软件模块和电子电路的框图。
图5是根据实施方式的确定要使用的压缩方案的流程图。
图6和图7是根据实施方式的示出范围编码(range encoding)与单个编码(singleencoding)的选择的流程图。
图8是根据实施方式的示出时隙空间节省的图。
具体实施方式
用于某些实施方式的典型系统环境
图1示出根据某些实施方式利用向输入装置140流送照明效果的系统100。系统100可以包括计算机110、显示器120、输入装置130(例如“计算机鼠标130”)和输入装置140(例如“键盘140”)。键盘140可以包括键阵列,键阵列包括被使用照明效果点亮的第一组键150。对于系统100,如本领域普通技术人员将理解的,输入装置130和键盘140可以被配置成控制计算机110以及显示器120的各个方面。计算机110可以被称为“主机计算机”或“主机计算装置”。
计算机110可以包括被配置成存储非暂态计算机可读计算机代码(例如,键盘驱动软件等)的机器可读介质(未示出),其中,计算机代码存储在存储器154中并且可由计算机110的处理器(例如,处理器152)执行以影响输入装置130和/或140对计算机110的控制。本文描述的各种实施方式通常将输入装置140称为键盘或类似的输入装置,然而应该理解,输入装置140可以是任何输入/输出(I/O)装置、用户接口装置、控制装置、输入单元等,例如,计算机鼠标、远程控制装置、可穿戴装置(例如,智能手表、腕带、眼镜)、游戏手柄、轨迹球、方向盘、家庭控制中心、操纵杆等。
主机计算装置通常被描述为桌上型计算装置或膝上型计算机装置。然而,应该理解,主机计算装置可以是还包括平板计算机、智能电话、虚拟现实接口或增强现实接口(例如,具有2D或3D显示器)、全息接口等的任何合适的计算装置。本领域普通技术人员将理解主机计算装置的许多变型、修改和替选实施方式。
图2是根据实施方式的照明效果模块的框图。主机装置202具有向编码器208提供效果的效果生成器206。编码器208执行专门的数据压缩和/或数据分组,从而向无线发射器210提供压缩和/或分组效果数据。输入装置204在收发器212处接收发送的压缩效果数据,并且将数据提供给解码器214。可选地,压缩数据可以存储在存储器/播放器216中用于以后回放。解码器214解码和/或解压缩以及再现来自效果生成器206的原始效果数据,并且将效果提供给发射器驱动器218。发射器驱动器218向发射器阵列220中的各个发射器(例如,LED)提供信号。发射器可以在键下面、在壳体中、或者在输入装置204上的任何其他位置。可以将发射器阵列220中的发射器分组成独立区域,这些区域可以随照明效果阵列不同而不同,或者可以保持不变。
图3是示出根据实施方式的发射器阵列的不同区域的图。示出了来自图2的发射器阵列220,其中,键显示为矩形,LED的阵列显示为在键下方的圆圈。示出了各种可能区域的示例。顶部行示出了功能键区域302。右边示出了数字小键盘区域304。底部附近示出了箭头键区域306。示出了附加区域308和310。在该示例中,用于键312的其余发射器未分配给区域。示出了壳体发射器区域314,其中,3个发射器在壳体中而不是在键下方。单独的键可以是单键区域,或者可以对物理上分开的键(例如键316、318、320和322)分组以形成区域。
在一个实施方式中,可以在照明效果阵列中使用不同的区域。例如,区域304可以使用提供每个发射器的当前颜色与来自上一照明效果阵列的颜色之间的增量的压缩方案。注意,在该示例和以下示例中,虽然只描述了颜色,但是也可以指定亮度(luminance)或光亮度(brightness)。如果差异小,则可以使用4位增量。区域302也可以使用增量压缩方案,但是具有5位增量,因为区域302中至少一个发射器的差异大于可以使用4位表示的差异。同时,区域308的颜色可能发生了很大的变化,使得增量方案不是最有效的。因此,可以在不压缩的情况下使用每个发射器颜色的完全实际值来呈现区域308。区域310中的所有发射器都可以是同一颜色,这可能是显著不同的并且因此使用完全实际值。然而,代替为每个发射器指定完全实际值,而是使用用于区域310中的每个发射器的完全实际值来标识区域310。区域314可以使用与区域304相同的压缩方案。其余键可以被认为是独立区域312,并且可以在存在很多颜色变化的情况下没有压缩,或者可以具有4位数据压缩方案。也可以使用其他压缩或分组方案。例如,区域403可以替代地针对每个发射器使用发射器位置和颜色的传统指示,其中在该区域的组合上使用游程编码(run-length encoding)。替选地,可以使用增量压缩来指示区域中每个发射器的增量,然后可以对该区域的结果数据使用游程编码。
在一个实施方式中,使用无损压缩方案。阵列的有限大小允许使用这样的更精确的压缩方案。
在另一实施方式中,除了在照明效果阵列中按区域改变压缩外,或者在不按区域改变的情况下,对首先指定像素并且然后是颜色值或增量的正常压缩处理进行翻转。替代地,先指定特定的颜色或增量,然后是发射器阵列中具有该颜色或增量的发射器的位置。这对用于键盘输入装置的相对小尺寸的阵列是特别有利的。例如,键盘可能具有为6x 22阵列的光发射器阵列。因此,翻转节省了空间。在使用增量的情况下,可以列出颜色不同但是恰好从上一照明效果阵列的先前颜色变化了相同量的不同发射器。例如,可以将具有增量值为-0110的4位增量压缩方案分配给发射器316、318、320、322和324中的每一个。这可以表示如下:[-0110;316,318,320,322,324]。注意,指标数字可以由阵列中每个发射器的x、y位置或发射器ID、或指示发射器位置的其他方式(例如,分配序列号)替换。序列号可以由图2的解码器214解释以向发射器驱动器218提供x、y位置以及实际颜色值(不仅仅是增量)。替选地,从序列位置到x、y位置的转换可以在发射器驱动器218中执行,或者可以使用解码和解释的另一组合。
在另一实施方式中,或结合以上实施方式,相继照明效果阵列可以对整个照明效果阵列或一个或更多个区域利用不同的压缩方案。例如,区域304可以在第一照明效果阵列中使用4位增量压缩方案,然后在第二照明效果阵列中使用5位增量压缩方案,然后在第三照明效果阵列中完全不使用压缩。同时,其他区域也可以随照明效果阵列不同而改变使用的压缩类型。
图4是根据实施方式的用于主机软件与输入装置之间的传输优化的软件模块和电子电路的框图。主机软件(SW)401将用于先前照明效果阵列的照明信息存储在阵列存储器402中,以及将用于当前照明效果阵列的期望照明信息存储在阵列存储器404中。在将当前照明效果阵列数据发送至输入装置403后,阵列404的内容重写阵列402的内容。当前帧的照明将通常包括用于每个发射器和/或区域的颜色值。编码器406将阵列402和阵列404进行比较,并且确定要将阵列划分为哪些区域,以及用于每个区域的最佳压缩算法。
效果生成器206产生用于特定型号的输入装置403的效果。提供具有发射器布局(针对该型号的发射器数目和位置)的模板,并且为该模板中的每个发射器生成效果。在一个实施方式中,每个发射器都是自己的区域,并且对每个区域进行传输优化分析,从而将颜色或增量变化类似的区域组合。可以在用于特定照明效果的模板上覆盖区域层,从而将发射器分组成区域,例如如图3所示。模板可以用独立的标识符或ID标识光发射器,其中标识符或ID可以是标识符字母数字、x与y位置、区域或任何其他标识符。
在一个实施方式中,效果生成器206提供用于光发射器阵列的照明效果指示。照明效果指示可以仅是指示阵列中每个光发射器的照明效果特性的数据。替选地,照明效果指示可以是用于生成期望照明效果特性的指令。照明效果特性可以是颜色值、亮度或强度值、或者任何其他值。每个光发射器可以具有可能会发生变化的一个或更多个特性。
在一个实施方式中,效果生成器206是视频游戏程序,该视频游戏程序产生用于阵列中的每个光发射器的颜色值,并且将其传给编码器406以对来自效果生成器206的照明效果指示进行分析并且生成适合输入装置403的具有用于多个光发射器特性的至少一个命令的消息。例如,编码器406确定是否转换为压缩值。编码器406也可以根据具有类似颜色或变化的光发射器的分组来配置区域。替选地,效果生成器206可以指定区域。
将配置的区域、压缩方法以及颜色数据或增量组合成照明效果阵列408,将该照明效果阵列被发送至用户输入装置403。照明效果阵列包括应用于多个光发射器的至少一个照明效果阵列命令。接收照明效果阵列并且将其存储在当前帧存储器阵列410中。解码器214将照明效果阵列中的信息应用于存储在先前帧存储器411中的先前照明效果阵列。例如,解码器214将从存储器411读取特定区域或光发射器的颜色值,并且应用来自存储器410的变化。这些变化可以是向红、绿和蓝(RGB)值中的每一个添加增量,或者用新值替换一个或更多个。更新后的LED值被提供给校准帧阵列412,并且由LED驱动器IC 414使用直接存储器访问(DMA)进行读取并且被应用于发射器阵列。在替选实施方式中,存储器410是解码器214的缓冲器或工作存储器,并且在将相应改变应用于存储器阵列411中的颜色值时,用于临时存储接收到的照明效果阵列中的部分。在再一实施方式中,阵列410、411和412是同一物理存储器芯片的不同部分。
因此,与主机软件401中的编码器406相比,解码器214可以非常简单。解码器只需要读取压缩和/或分组方案,并且将相应的数据应用于存储器411的阵列中的指示位置。在一个版本中,解码器214只需要确定是替换颜色值,还是添加增量。在一个实施方式中,将恒定的光亮度或亮度值用于发射器阵列。本发明的实施方式消除了主机从输入装置读取上一颜色值的需要,从而消除了将从输入装置到主机的信道带宽用于照明效果。照明效果传输是单向的。
在另一实施方式中,类似于如何添加颜色来修改光亮度或亮度值、提供新值或提供增量。在一个实施方式中,可以针对每个照明效果阵列、分别针对红、绿和蓝以及亮度中的每一个来确定压缩。例如,可能不改变R值,然而可能通过小于4位的增量来改变G值,同时可能通过5位增量来改变亮度值。可以为R、G、B和亮度中每一个提供独立的区域和分组。
在一个实施方式中,RGB区域是可以被配置的最简单的RGB照明项。其可以是普通的键盘键、照明按钮、LED、或者任何光源或被一起电驱动的光源组。阵列中每个RGB区域的索引是RGB区域ID。RGB区域可以以三种方式被配置:
1.单独指定每个RGB区域ID和RGB值;
2.按组指定第一区域的区域ID和一组相关RGB值;
3.按范围指定开始RGB区域ID、结束RGB区域ID和要传给范围内所有区域的单个RGB值。
图4也示出了根据实施方式的修改以用于存储和回放照明效果的装置403的电路。添加闪存502以用于存储照明效果的多个照明效果阵列。在回放时,存储的数据通过独立的解码器508被提供给当前帧阵列504,并且类似于以上针对图4流送效果所描述的处理,也在使用先前帧阵列505的情况下被应用于校准帧506。在一个实施方式中,为阵列410、411和412使用相同的物理存储器。闪存502存储第一照明效果阵列的绝对值,然后存储每个后续键帧(key frame)的增量、新值、压缩方案和区域组合。因此,实现了所需的储存空间的显著节约。在回放时,将原始照明效果阵列值提供给存储器506,存储器506可以是与阵列412相同的物理存储器。之后,解码器508检索这些值,并且根据指定的压缩方案应用来自下一照明效果阵列数据的任何增量或新值。在一个实施方式中,解码器214和解码器508是相同的解码器。
每个照明效果阵列包括时间戳。对于流送模式,如果在特定照明效果阵列时间段内颜色值没有变化,那么主机就可以简单地不发送新的照明效果阵列,从而节省传输空间。替选地,可以发送具有指示无改变的命令的传输,使得输入装置知道传输没有丢失。在一个实施方式中,该命令是指示0改变的所有区域的范围。在记录和回放模式下,可以针对每个时间段记录相同的无改变命令。替选地,解码器可以检查下一存储的照明效果阵列的时间戳,并且确定在一段时间内不需要改变。
在一个实施方式中,使用流送效果和存储效果的组合。具有流送的数据的一系列时隙可以以对外围输入装置上的要播放的存储的效果模式的触发来结束。在播放存储的效果模式时,需要很少或者不需要传输。例如,使用存储的效果的定时可以与游戏程序期间所需的密集输入时间同步。可以由游戏程序设置定时,或者编码器406可以基于从外围输入装置接收的输入来确定发送较少数据的时隙。例如,当正从外围输入装置发送触发输入信号时,可能重放存储的效果。
图5是根据实施方式的确定要使用的压缩方案的流程图。首先,从效果生成器接收配置数据(步骤602)。从存储器检索先前配置阵列数据(604)。对于所有输入装置区域,确定当前配置阵列与先前配置阵列之间的配置改变(Δ(增量)=当前的-先前的)(606)。如果增量为0(608),则不需要针对这些区域生成配置请求(610)。如果增量的绝对值小于8(612),则可以使用4位编码来指示,并且选择具有4位增量压缩的配置请求(614)。如果增量的绝对值为8或者更多,但是小于16(616),则可以使用5位增量编码(618)。如果增量为16或更多,则传输新颜色的绝对值。这可以根据是否Δ!=0(增量不为零)来以两种方式完成(622,624)。如果增量=0,则RGB区域不需要被寻址,但是如果其处于要配置的连续RGB区域序列的中间,那么增量的0值是有效的。在此处理结束时,每个区域将具有配置值,而该配置值为0、4位增量、5位增量或颜色的新绝对值。替选地,可以使用其他方式来编码增量,例如,对其使用更多或更少的位。另外,例如,可以使用其他方法对RGB区域进行分组,例如,不是连续的而是任意的组,这些组可以在配置状态下被定义并且被使用新命令通过单个组索引进行访问。对于阵列中的每个发射器的R、G和B的每一个进行处理。替选地,可以使用RGB以外的其他颜色方案,例如YUV,这依赖于所使用的发射器的类型。
图6和图7是示出根据实施方式的范围编码与单个编码的选择的流程图。在如图5中确定配置值之后,确定具有相同配置值的区域的集合(702)。例如,多个连续区域可能具有为0的配置值或者为0110的增量等。对于这些连续区域,针对配置请求设置区域范围(set_zone_range)(704)。如图7所示,然后确定具有相同配置值的非连续区域(802)。编码是通过指定配置值(例如,4位增量1001)并且然后是具有该值的区域列表来完成的(set_single_value_zones)(804)。
图8是根据实施方式的示出时隙空间节约的示例图。在一个实施方式中,使用主机与输入装置之间的无线信道,例如,特定的RF频率或范围(例如,2.4GHz)。照明效果被时间复用,并且被限制到每个时间段的一部分,以允许传输来自输入装置的输入数据(例如,键输入、鼠标移动等)。在实施方式中,每个照明效果阵列通过多个时隙被发送,其中每个时隙的至少50%被保留以用于输入装置向计算机的传输。在一个实施方式中,RGB配置消息在从PC到鼠标输入数据消息的确认消息中从PC传送到装置。因此,每个鼠标输入数据消息的RGB配置消息的最大数量为1。
图8图形化地显示没有压缩的请求1(902)到请求23(904)。图8示例假定最大请求有效负载为16字节。在没有压缩的情况下每个RGB区域是三个字节。这使得在不使用压缩的情况下每个请求最多5个区域。典型的键盘有114个RGB区域,并且因此这需要114/5或23个请求消息来提供效果数据的一个照明效果阵列。在每个请求1ms的情况下,这需要23ms来发送一个照明效果阵列。
在根据本发明的实施方式使用4位增量压缩的情况下,空间被减半,并且只需要12个请求(906,908)。利用4位增量压缩(对于所有RGB区域,增量<8),这允许每个请求10个RGB区域。在使用相同的假设的情况下,这需要每帧114/10或12个请求消息。在每个请求1ms的情况下,这只需要12ms来发送一个照明效果阵列,减少50%。存在额外的开销来指示所使用的不同压缩方案以及不同的区域组。然而,这可以通过将指定特定值的需要减少为仅一次、然后列出受影响的发射器而不是必须为每个发射器分别列出值而被抵消。
本发明的实施方式使用于传输照明效果(流送或存储)的带宽最小化,从而使对RF链路性能和功耗(电池寿命)的影响降到最低。存储在输入装置上的照明效果的大小被最小化,从而使得利用相同存储器大小实现了更长的效果。存储在输入装置上的效果几乎可以与流送的效果相同。因此,装置中的播放器和解码器由完全相同的固件模块组成。另外,该设计降低了开发工作量,优化了应用闪存大小,并且降低了出现错误的风险。
本发明的实施方式在软件级别上提供压缩以优化传输和存储。输入装置逻辑被简化,因为不需要进一步在输入装置上针对压缩进行编码/解码。通过使用较少的带宽,降低了射频与来自其他2.4GHz装置的传输的冲突的概率。通过在每个时隙中发送很少的数据,通常可以避免冲突。如果存在冲突,则可以检测到冲突(例如,利用奇偶校验位和字节),并且可以重新发送数据。
节电方式
在一个实施方式中,提供了用于照明效果的节电模式。可以通过不要求收发器接收和确认照明效果来节约电力。替代地,可以播放存储的效果。可以通过减少颜色转变的次数或频率、减少光发射器的亮度或光亮度、或选择需要较少亮度并且因此需要较少的到光发射器的电力的颜色来节约用于存储的效果的电力。此外,可以仅点亮光发射器的子集,例如重要区域、每隔一个的光发射器等。
实施方式的修改
一些实施方式包括诸如微处理器、存储装置和存储器的电子部件,该电子部件将计算机程序指令存储在计算机可读存储介质中。在本说明书中描述的许多特征可以被实现为被指定为在计算机可读存储介质上编码的一组程序指令的处理。当这些程序指令由一个或更多个处理单元执行时,它们使处理单元执行在程序指令中指示的各种操作。程序指令或计算机代码的示例包括诸如由编译器产生的机器代码和包括由计算机、电子部件或微处理器使用解释器执行的高级代码的文件。
应当理解,计算机110、主机装置202、键盘140和输入装置204是说明性的,并且变型和修改是可能的。结合本发明的实施方式使用的计算机系统可以具有此处未具体描述的其他能力。此外,尽管参照特定的块描述了主机装置202和输入装置204,但是要理解的是,这些块是为了描述的方便而定义的,并且不旨在暗示部件部分的特定物理布置。例如,不同的块可以但不需要位于同一设施中、同一服务器机架中或同一母板上。此外,这些块不需要对应于物理上不同的部件。块可以被配置成例如通过对处理器进行编程或提供适当的控制电路来执行各种操作,并且依赖于如何获得初始配置,各种块可能是或可能不是可重新配置的。本发明的实施方式可以在包括使用电路和软件的任何组合实现的电子装置的各种装置中实现。
虽然已经关于具体的实施方式描述了本发明,但是本领域的技术人员将认识到可以进行许多修改。本发明的实施方式可以使用各种计算机系统和通信技术来实现,包括但不限于本文描述的具体示例。
本发明的实施方式可以使用专用部件和/或可编程处理器和/或其他可编程装置的任何组合来实现。本文描述的各种处理可以在同一处理器或任意组合的不同处理器上实现。在部件被描述为被配置成执行某些操作的情况下,这样的配置可以例如通过以下操作来完成:通过设计电子电路以执行操作;通过对可编程电子电路(例如,微处理器)进行编程来执行操作;或通过其任何组合。此外,虽然以上描述的实施方式可能参考具体的硬件和软件部件,但是本领域的技术人员将理解也可以使用硬件和/或软件部件的不同组合,并且描述为以硬件实现的特定操作也可以以软件来实现,或者描述为以软件实现的特定操作也可以以硬件来实现。
结合本发明的各种特征的计算机程序可以编码和存储在各种计算机可读存储介质上;合适的介质包括磁盘或磁带、诸如光盘(CD)或DVD(数字通用盘)光存储介质、闪存和其他非暂态介质。用程序代码编码的计算机可读介质可以与兼容的电子装置封装,或者可以与电子装置分开(例如,经由因特网下载或作为单独封装的计算机可读存储介质)来提供程序代码。
如上所述,本发明的方法可以涉及实现一个或更多个功能、处理、操作或方法步骤。在一些实施方式中,功能、处理、操作或方法步骤可以通过适当编程的计算装置、微处理器、数据处理器等执行一组指令或软件代码的结果来实现。该组指令或软件代码可以存储在由计算装置、微处理器等访问的存储器或其它形式的数据存储元件中。在其他实施方式中,功能、处理、操作或方法步骤可以通过固件或专用处理器、集成电路等来实现。
应当理解,可以使用计算机软件以模块化或集成的方式以控制逻辑的形式来实现如上所述的本发明。基于本文所提供的公开内容和教导,本领域的普通技术人员将知道并且理解使用硬件以及硬件和软件的组合来实现本发明的其它方式和/或方法。
例如,本申请中描述的任何软件部件或功能可以使用任何合适的计算机语言(例如,使用诸如常规的或面向对象的技术的Java、C++或Perl)实现为要由处理器执行的软件代码。软件代码可以作为一系列指令或命令存储在计算机可读介质上,例如随机存取存储器(RAM)、只读存储器(ROM)、诸如硬盘驱动器或软盘的磁介质,或者诸如CD-ROM的光学介质。任何这样的计算机可读介质可以驻留在单个计算装置上或者在单个计算装置内,并且可以存在于系统或网络内的不同计算装置上或者在系统或网络内的不同计算装置内。
尽管已经详细描述并且在附图中示出了某些示例性实施方式,但是应当理解,这样的实施方式仅仅是示例性的并且不旨在限制广泛的发明,并且本发明不限于所示和所述的具体布置和构造,因为本领域的普通技术人员可以想到各种其他修改。例如,存储器阵列302和404可以是同一存储器或分开的存储器的不同部分。解码块214可以是用于流送和记录以及回放模式的单个解码器或者分开的解码器。效果可以是触觉的或除照明外的其他效果。
因此,尽管已经关于具体实施方式描述了本发明,但是应当理解,本发明旨在覆盖在所附权利要求书的范围内的所有修改和等同物。
Claims (20)
1.一种方法,包括:
在主机处:
存储用于外围输入装置的光发射器模板,所述光发射器模板具有用于所述外围输入装置中的光发射器阵列中的每个光发射器的标识符;
分析用于所述光发射器阵列的照明效果指示;
根据所述照明效果指示确定所述阵列中的每个光发射器在转变时间内的任何特性变化;
将所述特性变化与所述光发射器阵列中的每个光发射器的相应标识符相关联;
对于所述照明效果中的每个转变时间,生成用于无线传输到所述外围装置的照明效果阵列消息,所述照明效果阵列消息产生用于多个光发射器的单个照明效果阵列命令;
在具有所述光发射器阵列的所述外围输入装置处:
在存储器中存储光发射器特性阵列,所述光发射器特性阵列针对所述光发射器阵列中的每个光发射器具有至少一个光发射器特性;
解码所述照明效果阵列命令以确定所述光发射器阵列中的每个光发射器的光发射器特性变化;
将所述光发射器特性变化应用于所述存储器中的所述光发射器特性阵列中的所述光发射器特性;
使用所述存储器中的所述光发射器特性控制所述光发射器的所述光发射器特性;以及
响应于通过所述照明效果阵列命令改变的所述存储器中的所述光发射器的所述光发射器特性来改变所述多个光发射器。
2.根据权利要求1所述的方法,其中,所述照明效果阵列消息提供多个独立压缩方案,并且其中,所述独立压缩方案之一结合具有特定颜色的所有光发射器的所述光发射器标识符来指示该特定颜色一次。
3.根据权利要求1所述的方法,还包括针对至少一个转变将独立压缩方案用于所述照明效果阵列中的不同区域。
4.根据权利要求1所述的方法,其中,相继照明效果阵列利用不同压缩方案。
5.根据权利要求1所述的方法,其中,所述照明效果阵列消息包括多个压缩方案,所述多个压缩方案包括用于第一组光发射器标识符的n位增量、用于第二组光发射器标识符的m位增量以及用于第三组光发射器标识符的无压缩。
6.根据权利要求1所述的方法,还包括:
从主机的存储器中的与先前照明效果阵列对应的第一阵列中获得针对每个光发射器标识符的颜色值;
从所述主机的所述存储器中的与当前照明效果阵列对应的第二阵列中获得针对每个光发射器标识符的颜色值;
在所述主机中的传输模块中将来自所述先前照明效果阵列和所述当前照明效果阵列的针对每个光发射器标识符的颜色值进行比较;以及
使用多个压缩方案生成用于无线传输到所述外围的照明效果阵列。
7.根据权利要求6所述的方法,其中,所述颜色值为红(R)、绿(G)和蓝(B),其中,针对每个光发射器标识符,针对R、G和B中的每一个指定所述颜色值或颜色值增量之一。
8.根据权利要求7所述的方法,其中,RGB区域通过以下中的至少两者的组合来指定:
单独指定每个RGB区域ID和RGB值;
按组指定第一区域的区域ID和一组相关RGB值;以及
按范围指定开始RGB区域ID、结束RGB区域ID和要传给所述范围内的所有区域的单个RGB值。
9.根据权利要求1所述的方法,其中,所述外围输入装置是具有至少一个键的输入装置,其中,所述光发射器阵列中的至少一个光发射器与所述至少一个键相关联。
10.根据权利要求1所述的方法,其中,用于无线传输到所述外围装置的至少一个照明效果阵列消息包括:
单独光发射器标识符和相应单独光发射器颜色值的指示;
连续光发射器标识符和相应颜色值增量的指示;以及
光发射器标识符的区域和相应颜色值增量的指示。
11.一种系统,包括:
外围输入装置,其具有光发射器阵列;
非暂态计算机可读介质,其包含要在主机上实现以用于以下操作的指令:
提供用于外围输入装置的光发射器模板,所述光发射器模板具有用于所述外围输入装置中的光发射器阵列中的每个光发射器的标识符;
分析用于所述光发射器阵列的照明效果指标;
根据所述照明效果指标确定所述阵列中的每个光发射器在转变时间内的一系列颜色转变;
将所述一系列颜色转变与所述光发射器阵列中的每个光发射器的相应标识符相关联;以及
对于所述照明效果中的每个转变时间,生成用于无线传输到所述外围装置的照明效果阵列消息,所述照明效果阵列消息产生用于多个光发射器的单个照明效果阵列命令;
所述外围输入装置包括:
所述光发射器阵列;
无线接收器;
外围输入装置存储器,其存储用于所述光发射器阵列中的每个光发射器的颜色值;
照明效果解码器,其操作连接至所述外围存储器和所述无线接收器,所述照明效果解码器被配置成解码所述照明效果阵列消息并且将颜色值变化应用于所述外围输入装置存储器中的所述光发射器阵列中的所述颜色值;以及
光发射器驱动器,其连接在所述外围存储器与所述光发射器阵列之间以使用所述外围输入装置存储器中的所述颜色值来控制所述光发射器的颜色。
12.根据权利要求11所述的系统,其中,所述外围输入装置还包括:
第二存储器阵列,其用于存储接收的照明效果阵列。
13.根据权利要求11所述的系统,其中,所述外围输入装置是具有至少一个键的输入装置,其中,所述光发射器阵列中的至少一个光发射器与所述至少一个键相关联。
14.根据权利要求13所述的系统,其中,所述外围输入装置是键盘、计算机鼠标、轨迹球、游戏手柄、操纵杆、方向盘和遥控器中之一。
15.根据权利要求11所述的系统,其中,所述照明效果阵列消息包括多个压缩方案,并且其中,所述独立压缩方案之一结合具有特定颜色的所有光发射器的所述光发射器标识符指示该特定颜色一次。
16.根据权利要求11所述的系统,其中,至少两个区域中的所述光发射器的组成在至少一个转变后变化。
17.根据权利要求11所述的系统,其中,使用在照明效果阵列中的至少两个区域之间变化的压缩方案。
18.根据权利要求11所述的系统,其中,相继照明效果阵列利用不同压缩方案。
19.一种外围输入装置,包括:
壳体;
安装在所述壳体中的光发射器阵列;
无线接收器;
第一输入装置存储器,其存储用于所述光发射器阵列的当前光发射器特性;
第二输入装置存储器,其用于存储用于多个光发射器的接收的照明效果阵列命令;
照明效果解码器,其操作连接至所述第一输入装置存储器和所述第二输入装置存储器,所述照明效果解码器被配置将所述接收的命令应用于所述第一输入装置存储器中的所述光发射器特性;以及
光发射器驱动器,其连接在所述第一输入装置存储器与所述光发射器阵列之间。
20.根据权利要求19所述的输入装置,其中,所述第一输入装置存储器和所述第二输入装置存储器两者都是单个物理存储器的一部分,并且所述输入装置是键盘、计算机鼠标、轨迹球、游戏手柄、操纵杆、方向盘和遥控器之一,其中,用于所述外围输入装置的特定照明区域包括至少一个光发射器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/036,753 | 2018-07-16 | ||
US16/036,753 US10212793B1 (en) | 2018-07-16 | 2018-07-16 | Bandwidth optimization for streaming lighting effects |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110794972A true CN110794972A (zh) | 2020-02-14 |
CN110794972B CN110794972B (zh) | 2023-04-18 |
Family
ID=65322903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910402508.7A Active CN110794972B (zh) | 2018-07-16 | 2019-05-15 | 流送照明效果的带宽优化方法和系统及外围输入装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10212793B1 (zh) |
CN (1) | CN110794972B (zh) |
DE (1) | DE102019110886A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI682687B (zh) * | 2018-12-04 | 2020-01-11 | 聯陽半導體股份有限公司 | 鍵盤中發光二極體的驅動方法與驅動裝置 |
USD970502S1 (en) * | 2019-03-22 | 2022-11-22 | Logitech Europe S.A. | Keyboard |
USD948508S1 (en) * | 2019-05-07 | 2022-04-12 | Logitech Europe S.A. | Keyboard |
US11086503B2 (en) * | 2019-08-26 | 2021-08-10 | Dell Products L.P. | Reflecting on-screen visuals to hardware lighting |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5164819A (en) * | 1991-04-03 | 1992-11-17 | Music John D | Method and system for coding and compressing color video signals |
CN1949949A (zh) * | 2006-08-23 | 2007-04-18 | 中国科学院计算技术研究所 | 一种led灯光无线控制系统 |
CN101193140A (zh) * | 2006-11-22 | 2008-06-04 | 乐金电子(昆山)电脑有限公司 | 移动通信终端机的背景灯亮度调节方法 |
CN101292574A (zh) * | 2005-08-17 | 2008-10-22 | Tir技术有限公司 | 数字控制的照明器系统 |
US20090206773A1 (en) * | 2008-02-18 | 2009-08-20 | Chris Chang | Interactive led lighting system for entertainment and network thereof |
CN103677287A (zh) * | 2013-10-17 | 2014-03-26 | 恒宇科技(香港)有限公司 | 一种电子设备及其控制方法 |
TW201624251A (zh) * | 2014-10-02 | 2016-07-01 | 半導體能源研究所股份有限公司 | 輸入裝置及輸入/輸出裝置 |
CN106020507A (zh) * | 2016-06-29 | 2016-10-12 | 左莉 | 计算机输入设备组合件 |
CN107168543A (zh) * | 2017-05-25 | 2017-09-15 | 北京小米移动软件有限公司 | 键盘控制方法及装置 |
CN207008557U (zh) * | 2017-01-13 | 2018-02-13 | 深圳市中易腾达科技股份有限公司 | 一种基于手机app控制的有线/蓝牙ble的键盘和鼠标 |
US20180124895A1 (en) * | 2016-11-02 | 2018-05-03 | LIFI Labs, Inc. | Lighting system and method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3089558A3 (en) * | 2008-11-26 | 2017-01-18 | Wireless Environment, LLC | Wireless lighting devices and applications |
EP2586269B1 (en) * | 2010-04-22 | 2019-05-15 | Zipit Wireless, Inc. | System and method for administration and operation of one or more mobile electronic communications devices |
US20160100465A1 (en) | 2014-10-07 | 2016-04-07 | Logitech Europe S.A. | System and method for software and peripheral integration |
US10114769B2 (en) | 2015-08-19 | 2018-10-30 | Logitech Europe S.A. | Synchronization of computer peripheral effects |
-
2018
- 2018-07-16 US US16/036,753 patent/US10212793B1/en active Active
-
2019
- 2019-01-28 US US16/259,735 patent/US10499479B1/en active Active
- 2019-04-26 DE DE102019110886.1A patent/DE102019110886A1/de not_active Ceased
- 2019-05-15 CN CN201910402508.7A patent/CN110794972B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5164819A (en) * | 1991-04-03 | 1992-11-17 | Music John D | Method and system for coding and compressing color video signals |
CN101292574A (zh) * | 2005-08-17 | 2008-10-22 | Tir技术有限公司 | 数字控制的照明器系统 |
CN1949949A (zh) * | 2006-08-23 | 2007-04-18 | 中国科学院计算技术研究所 | 一种led灯光无线控制系统 |
CN101193140A (zh) * | 2006-11-22 | 2008-06-04 | 乐金电子(昆山)电脑有限公司 | 移动通信终端机的背景灯亮度调节方法 |
US20090206773A1 (en) * | 2008-02-18 | 2009-08-20 | Chris Chang | Interactive led lighting system for entertainment and network thereof |
CN103677287A (zh) * | 2013-10-17 | 2014-03-26 | 恒宇科技(香港)有限公司 | 一种电子设备及其控制方法 |
TW201624251A (zh) * | 2014-10-02 | 2016-07-01 | 半導體能源研究所股份有限公司 | 輸入裝置及輸入/輸出裝置 |
CN106020507A (zh) * | 2016-06-29 | 2016-10-12 | 左莉 | 计算机输入设备组合件 |
US20180124895A1 (en) * | 2016-11-02 | 2018-05-03 | LIFI Labs, Inc. | Lighting system and method |
CN207008557U (zh) * | 2017-01-13 | 2018-02-13 | 深圳市中易腾达科技股份有限公司 | 一种基于手机app控制的有线/蓝牙ble的键盘和鼠标 |
CN107168543A (zh) * | 2017-05-25 | 2017-09-15 | 北京小米移动软件有限公司 | 键盘控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10212793B1 (en) | 2019-02-19 |
CN110794972B (zh) | 2023-04-18 |
US10499479B1 (en) | 2019-12-03 |
DE102019110886A1 (de) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110794972B (zh) | 流送照明效果的带宽优化方法和系统及外围输入装置 | |
US10176761B2 (en) | Compressed data transmission in panel display system | |
US11817887B2 (en) | Methods and apparatus to compress data | |
US20060120460A1 (en) | Digital video compression command priority | |
JP2019175485A (ja) | ハプティック信号の多重化および逆多重化 | |
CN101330621A (zh) | 统一的视频解码和显示 | |
KR20060135544A (ko) | 직렬 링크를 통해 n-비트 비디오 데이터를 전송하는 방법및 시스템 | |
CN101854456A (zh) | 配置为与图像显示设备通信的图像源 | |
US11961391B2 (en) | Codeset communication format and related methods and structures | |
CN1675842B (zh) | 算术编码的方法、设备以及相应解码方法 | |
US20190303339A1 (en) | Relaxed 433 encoding to reduce coupling and power noise on pam-4 data buses | |
US20220270474A1 (en) | Star cluster codeset database for universal remote control devices | |
US20200007364A1 (en) | Semiconductor device and communication | |
KR20180030053A (ko) | 비디오들을 인코딩/디코딩하는 방법들 및 디바이스들 | |
US20230083748A1 (en) | Display driver circuit supporting operation in a low power mode of a display device | |
KR20220152513A (ko) | 부호기 및 복호기 | |
CN107957786B (zh) | 输入系统、周边装置及设定方法 | |
US11335227B2 (en) | Display system with variable resolution | |
KR20220031636A (ko) | 범위 비대칭 숫자 시스템 인코딩 및 디코딩의 피쳐 | |
US6895542B2 (en) | Data recovery circuit and method and data receiving system using the same | |
CN114003546B (zh) | 一种多通道开关量复合编码设计方法和装置 | |
KR0152035B1 (ko) | 가변장복호화방법 및 그 장치 | |
CN115357206A (zh) | 一种单线接口协议驱动控制器及设备 | |
CN112748846A (zh) | 一种电子白板的遥控方法及电子白板 | |
TWI615716B (zh) | 輸入系統、週邊裝置及設定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |