CN107005306A - 分组化数据传输中利用减少开销的分组顺序识别 - Google Patents
分组化数据传输中利用减少开销的分组顺序识别 Download PDFInfo
- Publication number
- CN107005306A CN107005306A CN201580064879.9A CN201580064879A CN107005306A CN 107005306 A CN107005306 A CN 107005306A CN 201580064879 A CN201580064879 A CN 201580064879A CN 107005306 A CN107005306 A CN 107005306A
- Authority
- CN
- China
- Prior art keywords
- packet
- sequence
- index
- index sequence
- receiving device
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 claims description 21
- 238000005286 illumination Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012856 packing Methods 0.000 claims description 3
- 239000007787 solid Substances 0.000 claims description 2
- 238000001514 detection method Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000012795 verification Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005855 radiation Effects 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002269 spontaneous effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000002574 poison Substances 0.000 description 1
- 231100000614 poison Toxicity 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/624—Altering the ordering of packets in an individual queue
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/11—Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
- H04B10/114—Indoor or close-range type systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1881—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Computer Security & Cryptography (AREA)
- Optical Communication System (AREA)
Abstract
一种发射设备包括:发射器,用于发射数据至接收设备;以及控制器,用于通过在多个分组之间划分数据来格式化将从发射器发射的数据。控制器被配置成将这些分组之中的每一个相应分组只与索引序列中的相应部分一起打包作为用于区分序列内的分组的识别符字段,其中这些部分之中的至少一个部分单独不足以识别其相应分组。控制器进一步被配置成控制发射器来有序发射包括索引序列的相应部分的分组,以致索引序列在这些分组的传输上循环重复,从而使得接收设备能够通过一起参考多个部分来确定这些分组之中的每一个分组在索引序列中的相应位置,并从而识别这些分组。
Description
技术领域
本公开涉及发射设备诸如照明设备(luminaire),其被配备成将数据调制到它发出的光中。特别地,本公开涉及消息的打包(package)以便从这样的设备传输。
背景技术
现代照明设备不仅并入驱动发光元件(例如LED串(string))所必需的组件,而且也能够集成重要的附加功能,例如包括各种类型的网络连接性和/或传感器。
编码光指的是凭此通过根据合适的信令方法改变光源的输出而将数据嵌入利用光源诸如日常的照明设备发出的光中的技术。光典型地包括用于照亮目标环境诸如房间的可见光照贡献(illumination contribution)(典型地,光的主要用途)和在环境中嵌入的用于提供信息的信号二者。为此,光被调制在某个或某些调制频率、优选地足够高的频率上,以便超越人类感知并因此不影响主要光照功能。数据随后能够通过改变调制的属性例如调制的频率、调制的振幅或调制的相位而被编码到光中。因而,编码光提供能够作为针对现有照明设备设计的扩展而添加的自由空间光通信技术。
编码光能够使用时常被集成到移动设备如同移动电话或平板电脑中的日常“卷帘式快门(rolling shutter)”类型照相机来检测。在卷帘式快门照相机中,照相机的图像捕获元件被划分为按线(line-by-line)顺序曝光的多条线(典型地,水平线,即行)。即,为了捕获给定帧,首先一条线被暴露于目标环境中的光,随后序列中的下一条线在稍晚的时间被曝露,依此类推。典型地,该序列例如一行行自上而下按顺序“滚动”越过帧,因此名为“卷帘式快门”。在被用于捕获编码光时,这意味着:帧内的不同线在不同的时间捕获光,并因此如果线速率相对于调制频率而言是足够高的话,则在调制波形的不同相位上捕获光。因而,光中的调制能够被检测到。编码光也能够在帧速率相对于调制频率而言是足够高的时候通过使用全局快门照相机或者使用具有合适采样率的专用光电管来检测。
支持编码光信号的传输的照明设备能够启用许多感兴趣的应用,其包括调试、个人控制和室内定位。
例如,在利用照明设备发出的光照中嵌入的数据可以包括那个照明设备的识别符。这个识别符随后能够在调试阶段中用于识别来自每个照明设备的贡献或者在操作期间能够用于识别照明设备以便(例如,经由RF反向信道)远程控制它。在另一示例中,通过提供在照明设备的识别符与已知位置之间的映射和/或与位置相关联的其他信息,识别能够用于导航或其他的基于位置的功能。在这种情况下,(例如,通过内置照相机)接收光的设备诸如移动电话或平板电脑能够检测嵌入的识别符并使用它(例如在通过网络诸如因特网访问的位置数据库中)查找映射到该识别符的对应位置和/或其他信息。在还进一步应用中,其他信息能够被直接编码到光中(与基于在光中嵌入的ID进行查找相反)。
发明内容
然而,在资源受限的通信***诸如编码光***中,传送太长的分组并不总是可能的或者至少并不总是所希望的。例如,当使用卷帘式快门照相机检测编码光时,图像捕获元件只具有有限数量的用于捕获光中的调制的线。即,数据在一系列线上被捕获,其中每一条线在略微不同的时间并因此在调制的略微不同的阶段捕获编码光(例如,参见稍后结合图3和4的讨论)。这意味着:一个完整序列(一个帧)只持续有限的时间量,并因此其本身将只能“看到”某有限长度的消息(假设:每个比特持续某比特周期,比特的数量对应于某长度的时间)。为了有效的捕获,可能希望:仅在单个帧或者可能少量帧上捕获整个分组(有可能一起缝合(stitch)在多个帧上捕获的分组的部分,但是这牵涉消耗处理资源并招致额外的处理时间的更复杂的重组(也被称为缝合)算法)。此外,时常编码光源可以只出现在帧的有限区域(有限“足迹”)中,因此仅覆盖少量的线,从而甚至进一步减少能够在单个帧(或某预定少量的帧)中看到的分组大小。
另一方面,可能希望发送大于这个分组大小的消息。例如,在编码光照明设备发出其本身的ID(例如,作为室内定位***的一部分)的情况下,则在该ID遍及整个世界将是全球(globally)唯一的(并且未来证明为如此(future-proofed as such))时,可能需要128比特数量级的净荷。将领会到:这只是一个示例,并且具有可能希望在许多其他类型的***中发送的许多其他类型的消息。
考虑到上面的考虑,因此可能希望在多个小分组之间划分将发射的数据。例如,为了发送128比特净荷,这可以在16个分组之间进行划分,其中每个分组具有8比特(八位组,时常被称为字节)。然而,这个本身招致额外的比特,原因在于:每个分组需要被给予识别符字段,以便识别它是多个分组中的哪一个分组。例如,在上面的示例中,如果使用常规技术,对于16个分组中的每个分组而言,将招致4比特识别符字段。但是,甚至单个备用比特可能难以找到,并且四个比特甚至更是如此。
在其他资源受限的通信***中也可能遇到类似的考虑,而不只是限于卷帘式快门照相机乃至编码光,这取决于协议、传输介质、发射器和/或接收器的约束条件。
以下提供用于在给定分组中利用减少开销来识别分组的技术。它基于针对确定分组序列中一(one)的位置所耗费的时间来权衡(trade off)比特容量的原理。
根据在本文公开的一个方面,提供一种发射设备,其包括:发射器,用于发射数据至接收设备;以及控制器,用于通过在多个分组之间划分数据来格式化将从发射器中发射的数据。例如,发射设备可以包括光源诸如照明设备,并且接收设备可以包括光传感器诸如卷帘式快门照相机。控制器被配置成将这些分组之中的每个相应分组只与索引(index)序列的相应部分一起打包为用于区分序列内的分组的识别符字段,其中这些部分中的至少一个部分单独不足以识别其相应分组。在实施例中,这些部分之中的每个部分具有固定大小并且甚至可以只是单个比特。优选地,用于确定索引序列中的相应位置的多个部分是多个部分中的连续部分。控制器进一步被配置成控制发射器来有序(ordered)发射包括索引序列的相应部分的分组,以致索引序列在分组的传输上循环重复,从而使得接收设备能够通过一起参考多个部分来为每个分组确定在索引序列中的相应位置,并从而识别这些分组。
根据在本文公开的另一方面,提供一种接收设备,其包括:接收器,用于从发射设备接收数据,该数据在多个分组之间进行划分来接收;以及解码器,用于从这些分组中提取数据。这些分组之中的每个相应分组只与索引序列的相应部分(例如,只有单个比特或单个符号)一起打包作为用于区分序列内的分组的识别符字段来接收,其中这些部分之中的至少一个部分单独不足以识别其相应分组。解码器被配置成通过一起参考多个部分来确定每个分组在索引序列中的相应位置,并从而识别这些分组,以便提取数据。
在实施例中,在索引序列的每次重复上,每个相应分组的数据可以由整体净荷的不同的相应部分组成。例如,净荷可以包括发射设备的ID(诸如128比特ID,其可以是全球唯一的)。在实施例中,整体净荷可以与索引序列的每次重复一起重复。
在实施例中,解码器被配置成通过以下来确定序列中的位置:对于所述分组之中的每个分组(即,其位置将被确定的每个目标分组),通过组合(在实施例中,级联)索引序列的相应部分(例如,相应索引比特)与相对于这些分组之中的所述一个分组在索引序列中的预定点上在接收分组的多个其他分组中接收的相应索引部分(例如,相应索引比特)来确定相应索引值,其中索引值给出在索引序列内的明确位置(即,只出现在序列中的一个位置上)。例如,其他分组的索引部分可以是一定数量的相对于目标分组的索引部分而言在序列中的预定点上的在前索引部分,诸如紧接N个在前索引部分(即,相邻在前分组的索引部分,以及在那个分组之前的相邻在前分组等等)。
为了给出这样的方案如何工作的示例,考虑128比特净荷在16个分组之间进行划分的情况。虽然使用单个比特不可能从单个传输中确定一(one)在序列中的位置,但是有可能从四个相继传输中这样做。这是因为单个比特被安排成遵循预定序列,其具有(在这个示例中)在16的循环内的任何四个相继比特展示不同的4比特图案(pattern)的属性。因而,从四次传输中浮现的图案足以给出索引。
在实施例中,索引序列可以是Maximum Length Sequence(最大长度序列)或其衍生物。在实施例中,索引序列可以是线性反馈移位寄存器的结果。
在实施例中,解码器可以被配置成:基于检测到相应索引值在序列内是非法的或者一个或多个较晚分组的相应索引值在所述索引序列的上下文中相对于一个或多个较早分组的相应索引值是不一致的,检测到位置的较早确定是不正确的。即,解码器能够“回溯(backtrack)”和告知在序列的跟踪中以前已有错误(例如,由于丢失分组,这意味着这些索引部分之一被丢失)。
根据在本文公开的另一方面,提供一种包括发射器和接收器的***。
根据在本文公开的另一方面,提供一种计算机程序产品,其包括收录在一个或多个计算机可读存储媒体上和/或从中可下载的代码,并被配置以便当运行在发射设备上时执行以下操作:通过在多个分组之间划分数据,格式化将从发射设备发射到接收设备的数据;将这些分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分序列内的分组的识别符字段,其中这些部分之中的至少一个部分单独不足以识别其相应分组;以及有序发射包括索引序列的相应部分的分组,以致索引序列在这些分组的传输上循环重复,从而使得接收设备能够通过一起参考多个部分来确定这些分组之中的每个分组在索引序列中的相应位置,并从而识别这些分组。
根据在本文公开的另一方面,提供一种计算机程序产品,其包括收录在一个或多个计算机可读存储媒体上和/或从中可下载的代码,并被配置以便当运行接收设备时执行以下操作:从发射设备接收数据,该数据在多个分组之间进行划分来接收,其中这些分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分序列内的分组的识别符字段来接收,以致这些部分之中的至少一个部分单独不足以识别其相应分组;以及通过一起参考多个部分来确定这些分组之中的每个分组在索引序列中的相应位置,以便从而识别这些分组并基于所述识别来提取数据。
根据在本文公开的另一方面,提供一种发射数据至接收设备的方法,该方法包括:通过在多个分组之间划分数据,格式化将被发射到接收设备的数据;将这些分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分序列内的分组的识别符字段,其中这些部分之中的至少一个部分单独不足以识别其相应分组;以及有序发射包括索引序列的相应部分的分组,以致索引序列在这些分组的传输上循环重复,从而使得接收设备能够通过一起参考多个部分来确定这些分组之中的每个分组在索引序列中的相应位置,并从而识别这些分组。
根据在本文公开的另一方面,提供一种从发射设备接收数据的方法,该方法包括:从发射设备接收数据,该数据在多个分组之间进行划分来接收,其中这些分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分序列内的分组的识别符字段来接收,以致这些部分之中的至少一个部分单独不足以识别其相应分组;以及通过一起参考多个部分来为这些分组之中的每个分组确定在索引序列中的相应位置,以便从而识别这些分组并基于所述识别来提取数据。
在实施例中,根据在本文公开的任何特性可以进一步配置这些发射和接收设备、程序和/或方法之中的任何一个。
附图说明
为了帮助理解本公开和显示如何可以将实施例付诸实施,将通过示例来参考附图,其中:
图1是包括照明***的环境的示意图,
图2是发射设备和接收设备的示意框图,
图3示意性地举例说明卷帘式快门照相机的图像捕获元件,
图4示意性地举例说明利用卷帘式快门的调制光的捕获,
图5是线性反馈移位寄存器(LFSR)的示意图,
图6是一些不同的分组协议的示意图,以及
图7是分组协议的另一示意图。
具体实施方式
如所讨论的,现代照明设备不仅并入驱动发光元件(例如LED串)所必需的组件,而且还能够集成重要的附加功能,其包括各种类型的网络连接性和传感器。一种这样的功能是通过利用发光元件发出的光的调制的信息的传输。这可以通过以某种方式改变光强度来实现,但是其他的方法是已知的,诸如改变调制的频率或相位。针对这样的传输功能具有许多使用,诸如允许接收器识别光的源的识别符信号的传输。这启用这样的应用作为室内定位、照明控制和***调试。
图1举例说明利用编码光通过照明***实现的定位网络的示例。照明***包括安装或以其他方式部署在环境2内不同的相应位置上的多个照明设备4。例如,环境2可以包括:室内空间,诸如一个或多个房间、走廊和/或大厅;或室外空间,诸如花园、停车场、运动场和/或校园;或部分覆盖的空间,诸如体育场;或这样的空间或其他空间的任何组合。每个照明设备4包括至少一个灯具(即,发光元件)以及任何相关联的插座、外壳和/或支架;其中灯具采用任何合适的形式,诸如LED的串或阵列或者白炽灯泡。例如,每个照明设备4可以采用吊顶或壁挂式灯具或独立单元的形式。照明设备4具有提供用于照亮环境2的光照的主要功能,以致人类居住者能够在环境2内看见。
此外,一些或所有照明设备4之中的每个照明设备被配置成(例如通过振幅调制、频率调制或相位调制)将信号嵌入它发出的光照中。特别地,在定位网络的示例中,这些照明设备4之中的每个照明设备被分配在所谈论的***内是唯一的识别符(ID),并且每个这样的照明设备4被配置成将编码到它发出的相应光照中的其ID连续地广播到环境中。
如果移动设备8存在于环境2中并且被配备合适的编码光接收器诸如卷帘式快门照相机加上相关联的编码光解码器应用,则移动设备8能够检测范围中的任何照明设备4的ID。使用(多个)相应ID,移动设备8随后在查找表或(例如,依据地图坐标或楼层平面图上的位置)映射ID到环境2内的相应位置的其他数据库中查找所检测的照明设备4之中的一个或多个照明设备的位置。例如,该表或数据库可以本地存储在移动设备8上,或者移动设备可以从远程位置诸如服务器(包括在一个或多个地点上的一个或多个服务器单元)访问该表或数据库。例如,通过经由部署在环境2内的无线接入点或路由器6形成至通信网络诸如因特网的无线连接,移动设备8可以经由那个网络来访问该表或数据库。这可以使用任何合适的无线接入技术例如无线电接入技术诸如Wi-Fi、802.15.4、ZigBee或Bluetooth来实现。
从有关(多个)照明设备4之中的一个或多个照明设备的位置的这个信息中,移动设备8也能够估计它自己的位置。例如,这可以通过假设移动设备8的位置大约是最近的或只有可见的照明设备4的位置来实现(例如,最近的照明设备能够基于接收信号的信号强度或飞行时间测量来确定)。或者,为了得到更精细的估计,移动设备8可以通过使用技术诸如三角测量、三边测量、多边定位或指纹技术(fingerprint)组合从多个可见的照明设备4接收的信号的测量(诸如信号强度或飞行时间)来确定其位置。作为这个的变体,移动设备8可以将测量提交给位置服务器,用于将在此执行的定位确定(例如,经由环境2中的无线接入点或路由器6通过因特网或另一网络来提交这些测量)。
在这样的技术的许多应用中,移动设备8是部署在用户的个人周围的用户10的移动用户设备8,并且移动用户设备8的位置的估计被用作用户10的位置的估计。例如,移动用户设备8可以是用户10所携带的智能电话、平板电脑或膝上型计算机或者可能是用户10所佩戴的跟踪标签。
将领会到:这只是编码光的应用的一个示例,并且在本文公开的技术也可应用于任何其他的其中希望数据在短分组之间的划分的应用。例如,在另一应用中,由这些照明设备4之中的一个或多个照明设备发出的ID可以被移动设备8使用来查找其他的位置相关信息,诸如有关在博物馆的特别房间中的展览的信息或位置相关的价格信息;或者这样的信息甚至可以直接被嵌入来自照明设备4的光照中而不要求基于ID的查找。在另一示例应用中,由照明设备4发出的ID可以利用合适的设备8和应用被调试技术人员使用来隔离由于每个不同的照明设备4而引起的环境2中的相应光照足迹,以及使用这个信息来通知调试过程。在还进一步的可供选择或附加的实施例中,所发射的数据可以包括除ID之外的数据。
图2给出通信***的框图,其中通信***包括:发射设备,例如光源诸如图1的照明设备4之一;和接收设备,例如诸如图1所示的移动用户终端8。发射设备4包括:发射器14,例如光源诸如照明设备的灯具;以及控制器12,用于控制发射器14例如借助于编码光将数据发射至接收设备8。接收设备8包括:从发射设备4接收数据的接收器16,例如光检测器诸如卷帘式快门照相机;以及解码器18,用于处理经由接收器16接收的数据。解码器18至少具有识别接收数据属于一系列分组之中的哪一个分组的作用,如不久将更详细举例证明的,并且在实施例中解码器18也可以具有其他的作用,诸如编码光解调。
在实施例中,控制器12和解码器18之中的每一个可以采取分别存储在发射设备4和接收设备8的一个或多个存储设备中、分别被安排成运行在发射设备4和接收设备8的一个或多个处理器上的软件的形式(存储器和处理器未显示)。然而,并不排除这些组件之中的一个或二者反而能够全部或部分被实现在专用硬件电路或硬件可配置的或可重新配置的电路诸如PGA或FPGA或者硬件与软件的组合中。
以下将讨论本公开的分组化方案的特别有利的应用,其中发射器14是编码光源,而接收器16是诸如时常在智能电话和平板电脑中找到的卷帘式快门照相机。
图3表示照相机16的图像捕获元件20。图像捕获元件20包括用于捕获代表在每个像素上入射的光的信号的像素阵列,例如,典型地,方形或矩形像素的方形或矩形阵列。在卷帘式快门照相机中,这些像素被安排在多条线例如水平行22中。为了捕获帧,每条线22按顺序被曝露,每一条线被暴露照相机的曝光时间Texp的相继实例(instance)。在这种情况下,曝光时间是个别线的曝光的持续时间。当然注意:在数字照相机的上下文中,术语“暴露(expose)”或“曝光(exposure)”并不涉及机械快门或类似的快门(术语从中历史起源),而指的是该线正被活动地用于从环境捕获或采样光的时间。也注意:本公开中的序列意味着时间序列,即,因此每一条线的曝光在略微不同的时间上开始(并且任选地,这些线的曝光在时间上可以重叠)。例如,首先顶行221开始被暴露持续时间Texp,随后在略微稍晚的时间上向下第二行222开始被曝露Texp,然后在略微稍晚的时间上再次向下第三行223开始被曝露Texp,依此类推,直至底行已被曝露。这个过程随后被重复来曝露帧序列。
例如,在WO2012/127439中,已描述如何能够使用这种类型的常规摄像机来检测编码光。信号检测利用卷帘式快门图像捕获,其引起时间光调制转换至相继图像行上的空间强度变化。
这在图4中示意性进行举例说明。在每一条相继线22被曝露时,它在略微不同的时间上并因此(如果线速率与调制频率相比而言足够高的话)在调制的略微不同的相位上被曝露。因而,每条线22被暴露于调制光的相应瞬时水平。这导致随着在给定帧上的调制而波动或循环的条纹图案(注意:图4是示意性的,并且在此为了举例说明目的而夸大缩放比例,典型地将具有较大数量的更细的线,并且调制将是更密集的)。基于这个原理,图像分析模块14能够检测被调制到利用照相机10接收的光中的编码光分量。
然而,在图像捕获元件20只具有有限数量的线22时,则不诉诸于复杂的重组/缝合算法来一起缝合来自多个帧的数据,这对于能够在单个帧中接收的消息的长度设置限制。事实上,典型地,编码光源4将不如图4所示填充整个帧,而是将仅出现在该帧的小的子区域中,从而仅覆盖这些线22的小子组,因而甚至进一步限制消息的长度。
如所讨论的,编码光能够用于许多应用,诸如使得编码光发射器发送能够用于识别放射(emission)的源的信号。例如,每个照明设备4可以发出它本身的ID以便被移动用户终端8检测。
每个照明设备4的ID能够作为特定的相应色调(tone)来发送,但是这在能够发送的离散身份(identity)的数量中受到限制。一般而言,所希望的是能够发送具有与字节的数量等效的分辨率的身份(identity),这超越简单的基于色调的***的能力。
当前的编码光***具有非常有限的传输容量。虽然短ID信号的传输对于一些应用而言可能是足够的,但是最近的应用已遇到对于随着时间的推移发射显著更长ID的需要。在以下方案中,为了保持***响应性,长ID被作为许多较短的分组来发送,并且在实施例中,这些分组之中的每个分组也可以充当短的本地ID。然而,这个方案带来发送索引信息以澄清任何给定分组正携带较长ID之中的哪个部分的需要。以下显示如何能够通过每分组单个比特来提供这样的索引。
能够实现发送多字节ID的若干方法,但是一个这样的示例是称为AssignedIdentifier(分配的识别符)的身份信号的传输。这是具有高达16个八位组的可变长度的字段。编码光协议也可以是分层协议,因此发射的分组可以包含与那些层有关的报头(header)和其他开销。这些方面之中的两个方面与针对短分组来利用照相机启用快速检测的需要相冲突。
针对照相机检测而优化的协议的一个示例具有这样的操作模式,其中只包含Assigned Identifier且不包含其他的源净荷的非常短的分组能够被压缩,以致所有的层开销被剥离(strip)并且只有原始Assigned Identifier被发射。这在图6(d)中进行举例说明,其中形成将要发射的数据32的较高层分组30被打包到物理层分组50的净荷52中。有关这个的变体添加(append)短的CRC 54作为错误保护的手段。这种操作模式允许AssignedIdentifier(一秒左右的数量级)的相对快速检测。稍后将更详细讨论图6的这个和其他示例。
为了在接收侧8上的明确检测,能够压缩的分组的长度是非常短的:例如,如果也携带CRC的话,高达四个八位组,而如果不携带CRC的话,高达五个八位组。这足以携带能够是本地唯一的身份:即,另一本地发射器发送相同身份的概率是微乎其微的。这取决于“本地”的定义以及用于分配身份的处理,但是在以下实施例中假设:本地唯一性的条件成立。
无论如何,四到五个八位组分组长度不足以携带全球唯一的身份,即世界上没有其他发射器发送相同的身份。为此,要求至少64个比特,并且值得注意的是:IPv6使用长度为128比特的地址。在保留针对快速检测而优化的短传输格式的同时发送如此长的Assigned Identifier的唯一方式是在碎片(piece)中发送它们:例如,长度64比特的长ID能够在长度32比特的两个部分中进行发送。
这个方法具有的问题是识别长识别符的哪个部分正利用任何给定传输来携带。在刚才引述的示例中,单个比特将使得接收设备8上的解码器18能够确定长ID的哪一半正被携带。另一方面,如果在单个八位组中发射128比特ID,则在使用常规技术的情况下,这将要求四个比特来识别哪一个八位组正利用任何给定传输来携带。
在资源受限的***诸如压缩的编码光中,单个备用比特难以找到,四个比特甚至更是如此。尽管如此,如果能够找到单个备用比特,则在本文公开的实施例使得这个能够用于确定长ID中的位置。
该技术基于针对确定在序列中一的位置所耗费的时间来权衡比特容量的原理。在上面的第二示例中,虽然使用单个比特不可能从单个传输中确定一的位置,但是有可能从四个相继传输中这样做。这是因为单个比特被安排成遵循特殊序列,其具有在16的循环内的任何四个相继比特展示不同的4比特图案的属性。因而,从四次传输中浮现的图案足以给出索引。
在实施例中,发射设备4根据规则循环来发送信息的分组。分组可以采用利用以下表来举例证明的形式,该表包括四个元素:同步字段,以允许接收设备8上的解码器18检测分组的开始并且将它自己的时钟与发射器的时钟对准;报头字段,其可以指示分组的类型,并且供应寻址信息和帮助接收器决定是否处理分组以及在这样的情况下如何处理分组的其他信息;根据报头规定的格式的数据字段;以及校验和字段,其允许接收器检查分组的正确接收。
注意:这只是一个示例,并且其他***可以因为协议需求、信道需求等等而大大偏离此。例如,信道可以是有线或无线、无线电或光学的。它可以操作作为点到点链路或者作为共享资源。传输可以是单向(例如广播)或双向。
出于以下讨论的目的,值得注意的字段是报头的I-比特字段以及数据字段。可以假设:数据字段的至少一部分是可以由终端用户或由发射设备4例如利用在发射设备4上运行的应用来生成的信息的重复循环的部分。
在实施本公开的示例***中,数据字段用于在包括16帧的轮播(carousel)中发送不同类型的循环***信息,并且I-比特是用于提供轮播的当前位置的指示的单个比特。简单方案是在循环的开始将I-比特设置成“1”并在所有其他的时间将其设置成“0”。这提供循环何时开始的指示,但是没有在循环的剩余部分期间的进一步信息。因此,反而在实施例中,更优选的序列采用在下表中描述的形式。
I-比特的思想是:四个相继I-比特组合以形成16种可能组合之一,如在表中以二进制所示的,并且为了方便起见,以十六进制来显示。因而,通过读取在本文可以被称为索引值的四个相继I-比特,有可能识别序列中一的位置。每个索引值用于索引在重复的循环中发射的16个分组之中不同的相应分组。出于在下面将详述的原因,在实施例中采用四比特索引值在第一I-比特上识别序列位置的惯例。因而,‘0000’的索引值标记数据序列位置0,而‘1011’标记数据序列位置A。注意:这只是一个示例惯例。在另一示例中,在四比特窗口的末尾上的位置可以被索引。在这种情况下,‘0000’识别位置3等等。
在优选实施例中,Maximum Length Sequence(MSL)可以被用作索引序列的基础。Maximum Length Sequence(MLS)具有直接从一种生成方法中导出的有趣的属性。在这种方法中,线性反馈移位寄存器(LFSR)与反馈加权寄存器值的模2(modulo-2)和的抽头(tap)的安排一起使用,以致当寄存器被移位并且一比特输出时,在另一侧上输入为模2和的新比特。
LSFR的实现方式显示在图5中。LFSR包括串联连接的m个1比特寄存器24m-1……240的序列,其中每个1比特寄存器24m-1……240的输出被连接至下一寄存器的输入,并且最后1比特寄存器240的输出提供LFSR的输出28。以及此,寄存器24m-1……240之中的每一个(除了最后240)的输出经由相应加权gm-1……g1被反馈。在最后1比特寄存器240的输出上也具有加权g0,并且在至第一1比特寄存器24m-1的输入上具有加权gm,这两者等于1。这些加权gm-1……g1的输出经由相应的模2相加级(summing stage)26m-1……261一起相加。即,g0和g1的输出通过模2相加级261相加,然后这个的输出与g2的输出利用模2相加级262相加,随后这个的输出与g3的输出相加,依此类推,直至模2相加级26m-1的输出被反馈至第一1比特寄存器24m-1的输入,其中加权g0被设置成1。这种安排被称为Fibonacci LFSR。
这些加权简单地是1或0,因此能够等价地说:抽头存在或不存在。对于n比特LFSR来说,某些抽头组合导致生成的长度2^n-1的输出比特的非重复序列。这样的序列被称为Maximum Length Sequence或m序列。
不同的有效抽头组合导致不同的m序列,但是所有这样的m序列共同具有若干属性。对于本公开而言非常相关的属性可以被概述为以下:针对2^m-1个位置通过(passalong)m序列的长度m的滑动窗口将一次且只有一次跨越(span)除了全零之外的每个可能的m比特数。即,除了全零之外,将遇到m比特状态寄存器的每个状态。
全零状态表示空的寄存器。这个状态不能作为MLS的一部分发生,因为没有新的1能够由反馈网络生成,并因而LFSR将永远不离开这个状态。
在上表中,因而能够看到:当前加上接下来很少的后继I-比特的组合实现长度m的滑动窗口,其中在这种情况中m=4。16比特序列通过增加额外0而从(从多项式x^4+X+1中生成的)15比特最大长度序列{000100110101111}中导出,以致现在也包括全零状态。
能够使用其他长度的M序列,但是因为不是每个信息轮播将具有2^m-1的长度,所以使用其他长度的序列的能力是优选的。
考虑m序列{011}(m=2)。如果使用长度2的滑动窗口,获得{01,11,10}的三个索引值。现在注意:在值{01}的情况下,读取第一0就足够了,因为没有索引值{00},所以平均而言需要读取大约1.7比特。这能够被扩展至索引序列{0011},因而给予我们{00}的额外索引值(并且要求我们总是读取2比特)。也能够将其缩短至2比特序列{0,1}(对其而言,读取1比特就足够了)。
类似地,具有长度3的滑动窗口的序列{0011101}(m=3)给出{001,011,111,110,101,010,100}的7个索引值。再次,在{001}的情况下,读取前两个零给出明确的读数,因为值{000}不存在。因而,平均需要读取2.9比特。如前,这能够被扩展以允许{000},或者它能够通过移除一个1而被缩短至{001101}或{000111}。在前一种情况中,获得{00,011,11,101,010,100}的索引值以及2.7比特的平均值。在后一种情况中,对于类似的平均但是不同集合的索引值而言,获得{000,001,01,111,110,10}的索引值。
一般而言,那么,索引序列对于给定长度而言并不是唯一的,并且能够构造一个以上的索引序列。也没有从m序列中导出索引序列的特别要求,例如,也能够从更通用的deBruijn序列中导出它们。
进一步注意:索引序列的开始是任意的。按照惯例,能够建议:索引序列被视为开始于其内部零的最长序列的开头,但是其他的惯例也是可能的。
下表列出用于高达16的长度的示例索引序列和对应索引值。更长序列是已知的(并且事实上可以简单地从较长m序列中导出),但是为了简洁起见,在此没有列出。
虽然上面描述聚焦于单比特索引,但是在更多比特是可用的时候有可能将这个扩展到多比特索引。例如,如果有可能每分组发送两个比特,则在两个分组中能够接收四比特索引值。为了这个工作,第二比特被放置成距离第一比特两步远,以致在两个分组中,索引值的所有四个比特被发送而不复制。可供选择地,能够使用由三个或四个符号构成的字母表,例如集合{A,B,C,D},利用每个分组发送一个这样的符号。作为例证,16符号de Bruijn序列[AABBCCACDDADBDCB]包括所有16种可能的2符号组合。多比特索引与索引序列长度的其他组合也是可能的。
注意:在据说只有单个比特或只有索引序列的一部分被用作识别符字段的情况下,这意味着:所谈论的分组协议的识别符字段用于在相同的索引序列内发送的其他分组之间识别它。不一定排除能够存在其他类型的识别符用于其他目的。例如,在不同的协议层上能够具有其他类型的识别符用于其他目的。如果分组在其净荷中包裹(wrap up)较低级协议,则较低协议层的任何报头信息现在只是被视为所谈论的分组协议的净荷数据并且不形成其识别符字段的一部分。例如,在上面的实施例中,净荷是发射设备4(例如照明设备)的ID。类似地,如果这些分组被包裹在较高层协议中,这也将牵涉较高级协议的识别符。例如,如果净荷没有每个索引序列重复,而是索引序列的每次重复伴随不同的净荷,则该协议能够附加地包括用于区分序列的不同重复的帧识别符。或者,作为另一示例,索引序列的每次重复能够任选地伴随着序列的整体识别符作为一个整体,以便恢复信号的一些随机访问字符。例如,可以在传输中在每个循环(利用索引序列的给定实例索引的分组的每个组)之前具有识别在那个循环中携带的该组分组的识别符。这样,可以给接收设备8上的解码器18提供通过在序列的开头检测整体循环识别符和/或通过在其开始接收中途通过该序列的分组的情况下跟踪索引序列来同步至分组序列的选项。
在图6中举例说明一些示例分组格式。图6(a)表示较高层协议的较高层分组30。从所谈论的较低层分组协议的角度来看,这简直等同于将要发射的数据32。这个较高层分组30可以仅仅包括期望内容的部分(例如发射器4的ID)或者可以包括这个内容数据加上较高层的协议数据(较高层协议的报头和/或尾部信息)。无论哪种方式,较低层协议并不区分较高层协议数据(如果有的话)和内容数据。
图6(b)举例说明MAC层协议,其中数据32(较高层分组30)变成MAC层分组34的净荷36。MAC层分组34进一步包括MAC报头38以及基于MAC报头和净荷36生成的校验和40(例如CRC码)。如图6(c)所示,为了实际发射MAC分组34,整个MAC分组34变成物理层分组42的净荷44。物理层分组42也采用同步字段46和物理层报头48的形式包括报头信息。
可供选择地,如图6(d)所示,在非常资源受限的情景中,MAC层报头38与校验和40可以保持不被使用或者被剥离,并且反而,只有较高层分组30形成物理层分组50的净荷。任选地,物理层校验和54可以被包括在这个可供选择的物理层分组50中,其仅基于较高层分组30而非MAC报头38来生成(与基于较高层分组32和MAC报头38二者生成的校验和40不同)。例如,这个可供选择的物理分组对于卷帘式快门照相机检测可以是有用的。
至于用于根据本公开索引分组的索引比特或索引序列的部分,这在图6(c)或6(d)的示例可以被包括在数据字段32中或者可以被包括作为新的字段或在图6(c)的示例中被包括在物理层报头48的空闲字段中,或者可以作为附加字段(未显示)被加至图6(d)的可供选择的分组结构(如果能够找到备用比特等等)。无论哪一种方式,空间能够非常受限,因此具有单比特索引或者至少仅基于索引序列的小部分来索引的动机,如在本文所教导的。
注意:在诸如图6(d)的实施例中,任选地,专用同步字段46不需要像这样被包括,而相反,同步可以基于物理层分组或一组这样的分组的结构的其他预定知识来实现(注意:同步在此涉及接收器同步至物理层上接收的信号,而不是如在这个公开的剩余部分中一样将分组位置同步至索引序列)。例如,图7显示这样的示例,其中物理层分组50被划分为个别的八位组(其可以被称为物理层服务数据单元(Physical-layer Service Data Unit),PSDU)并被发送作为具有报头比特56(其可以被称为消息指示符(Message Indicator),MI)的单独子分组56。消息指示符比特56用于同步目的。因而,数据分组50被发送作为9比特字的流,其中进一步任选的9比特字具有携带8比特CRC校验和54的PDSU。进一步,每一个子分组后面跟随着空闲周期60。这个完整结构随后被重复多次或者针对定义周期被重复,其中在重复之间具有额外的空闲周期62。PSDU之间的空闲周期60以及在整体结构的重复之间的空闲周期60的长度被设计成促进利用卷帘式快门照相机的容易复原。
然而,可供选择地,图6(d)的分组50能够与图6(c)的分组46类似地被加上专用同步字段的前缀。
无论使用什么分组格式,在实施例中可能考虑的一个问题是:错误可能导致索引序列被破坏(disrupt)。错误的容忍在很大程度上取决于所谈论的应用,但是如果错误是一个问题的话,则具有可以采取来检测它们并且在索引序列中重新找到一的位置的措施。
需要注意的一点是:索引序列重复,并且事实上,也在诸如使用MLS的实施例中,索引序列允许从比序列的长度(例如,在15比特MLS中,4)更少的比特中确定序列中一的位置。因此,在影响索引序列的错误发生之后,在接收设备8上的解码器18能够重新同步至索引序列的后续重复或者甚至索引序列的较晚部分(例如,在15比特MLS的情况中,解码器8只需要看到索引序列的4个连续比特即知道其在序列中的位置)。进一步,在实施例中,索引序列伴随对应的固定长度轮播,其将与索引序列的每次重复一起重复发射相同的净荷(例如,长ID)。因而,在数据本身中具有固有的冗余。但是,甚至在通过索引序列的不同重复发射不同净荷的任意的可变长度特设轮播的情况下,如果对于所谈论的应用的设计人员来说一些数据的丢失是可容忍的话,则该索引序列仍允许解码器18重新同步至该序列,以便在错误发生之后继续正确地接收后续传输。
例如,考虑长度15的轮播,其使用长度15的MLS作为索引序列:000100110101111。这些索引位置可以从0到14进行编号。来自那个序列的单个比特与每个分组一起发射。一般而言,在接收侧8上的解码器18需要四个相继分组才能够识别其在序列中的位置(例外是三个相继‘0’的情况,因为那只能发生在一个位置中,因此只需要三个相继比特)。在没有错误的情况下,接收设备8应该接收序列‘0,0,0,1,0,0,1,1,0,……’,其转换成[x,x,2,3,4,5,6,7,8,……]的索引位置(其中‘x’指示还没有足够的信息来确定序列中的位置)。但是可能出错的是:
- 擦除的索引比特被接收(即,分组被接收但是没有成功被解码--“不知道”指示被生成),
- 索引比特被丢失(即,分组没有被接收),或者
- 索引比特被翻转(flip)(即,未检测到的分组错误发生)。
在实施例中,校验和40或54诸如CRC码在发射设备4的控制器12上被生成并分别地被包括在分组42或50中。在这种情况下,在接收设备8上的解码器18包括对应的校验和检查功能,诸如CRC检查。检查功能检测是否接收的校验和与基于接收的分组生成的对应校验和相匹配。如果否的话,这指示错误已发生在传输中。
如果分组校验和检查失败并且生成这个事件的通知,擦除的索引比特(erasedindex bit)发生。在这种情况中,解码器18能够知道索引比特是坏的,并且将不假设它知道其在序列中的位置,直至它已接收到足够的后续比特(例如,在上面给出的15比特索引序列的示例中的3或4,或在16比特索引序列的情况中的4)。
另一方面,如果校验和失败(其是“分组未被接收”的一个定义)但是没有通知被生成,或者如果接收器根本听不到分组(例如,同步未被检测),丢失的索引比特发生。
如果在尽管分组内具有错误的情况下检验和也通过校验和检查的话,翻转的索引比特能够发生。假定索引比特被分组校验和覆盖,翻转的索引比特应该是可以忽略不计罕见的,但是在技术上是可能的。并且,如果没有校验和被使用,翻转的比特当然也将不被检测到。
丢失的和翻转的索引比特与擦除的比特相比是更有问题的,因为解码器18不能告知:索引比特可能是错的还是丢失。例如,如果分组没有被接收到的话,则解码器在那之后与序列中的后续索引比特一起接收后续分组,但是不知道具有在其之间未被接收的丢失索引比特。例如,参考15比特MLS的上面示例,不读取‘0,0,0,1’以到达索引3,解码器18可能丢失‘1’并反而读取‘0,0,0,0’,因此,它丢失与序列的同步以及丢失其本身索引信息。
然而,在实施例中,索引序列本身有利地也提供用于甚至在其中没有使用校验和或者校验和没有帮助的情况下检测错误的机制。即,如果解码器18继续跟踪索引值,则它能够检测到错误以前曾发生,或因为在索引值中具有跳变(jump)或因为它读取无效索引。基于这个检测,解码器18随后能够重新启动索引过程。此外,这个检测允许解码器18不仅从序列中的目前点开始重新同步,而且还潜在地确定索引序列的过去解释因为错误而是不正确的,并且在响应中丢弃对应的过去数据。在实施例中,解码器18可以在做出这个决定之前等待以检测多个相继有效的索引值,从而减少基于当前错误而实际上丢弃正确的过去解释的机会。
因而,索引序列甚至在存在错误的情况下也能够重新同步至该序列。这可能耗费额外的时间,但是只要该序列继续,解码器18最终总是能够重新同步。
在上面,也公开用于发送一个以上的比特作为每个分组的索引部分的可能性。例如,在上面的15比特MLS方案中,如果每个分组具有两个比特可用于索引信息,发射设备4的控制器12能够在分组Pn中发送索引序列的比特[n]和比特[n-2]。然后,在下一Pn+1中,它随后能够发送索引序列的比特[n+1]和比特[n-1]。因而,在两个消息中,在接收设备8上的解码器18得到它计算索引位置而需要的四个比特。错误检测和复原在这样的实施例中也能够是更快的,尽管错误检测仍基于发现索引序列中的不一致性和/或非法索引。尽管如此,这样的两(或多)个比特索引位置也确实提供一种额外机制,其中因为每个索引比特有效地被发送两次(或多次),所以解码器18也能够使用这样的接收比特中的不一致性来检测丢弃的分组。
突发错误可以导致数据的丢失以及索引的丢失。恰当的错误检测方法如同较早提及的分组校验和的使用将避免利用坏的索引值来污染井(poison the well),但是索引复原处理需要重新开始。
转向另一问题,在本文公开的方案能够用于或广播传输或端到端传输。前者在发射器与接收器之间不需要任何特别附加协议,但是在实施例中,后者可能需要。特别地,在两个特定的发射与接收端点之间的许多端到端传输***可以牵涉到确认和重发的机制,从而接收设备确认每个成功接收的分组的接收,而如果发射设备没有接收到给定分组的确认,它重发那个分组。重发的分组具有破坏本公开的索引序列的潜力。例如,可能接收设备发送确认但是该确认丢失,以致发射设备重新发射将包含相同索引序列的分组。该问题能够简单地被容忍,因为最终解码器将在进一步分组被接收时重新同步到正确的索引序列。然而,如果希望避免这个问题,在接收设备上的解码器需要检测重新发射的分组是以前接收的分组的重新传输而不是新的分组的方式。
一种解决方案利用可以出于其他原因而存在于分组结构中诸如在图6(b)和(c)所示的分组结构中的计数器或序列号字段。这样的字段可以被较高层协议或应用用于其他目的并因此可能不适于使用来识别分组,但是仍可以给出是否分组是已发射的分组的重发的指示。
参考图6(b)的分组格式,其随后变成图6(c)所示的物理层分组的净荷,一种可能性是使用MAC报头48中的序列号字段,其随着每一次新传输而递增1模256(即,对于重复,它保持不变,从而允许接收器检测重发)。然而,这也与使用这个发射器的所有业务量(traffic)一起共享,这意味着:一般而言,使用这个作为单个服务的索引不是安全的。因此,仍要求附加机制来为了所谈论的特别应用的目的而索引分组,并因此使用本公开的索引序列的单比特索引(或减少比特索引)仍是可应用的。
另一考虑是:在实施例中,可以具有多个发射设备4在同一环境2中发出,其中多个发射设备可以落入接收器的范围内。例如,在诸如编码光之类的一些应用中,在同一环境2中能够具有若干发射设备,其中每个发射设备辐射其自己的个别身份。在编码光的情况下,接收设备8可以使用照相机16区分这样的发射设备(在这种情况下,照明设备4)的能力来获得每个相应信号的位置和轨迹的精确指示。即,如果照明设备4在捕获的图像中作为分立元件显现,在接收设备8上的解码器18能够在此基础上区分不同的信号源4。在使用光、RF或其他传输媒体的示例中,诸如通过安排来自不同的发射设备4的信号在不同的调制频率上或在不同的时隙中被发射或者甚至使用码分多址技术,能够使用其他的多址技术。
在一些实施例中,利用多个发射设备4辐射信号,可以安排这些信号彼此同步,以致它们将全部并行地一步一步通过同一索引序列。在这种情况下,一种可能性是:接收设备8能够通过从利用多个发射设备4发射的分组中读取索引比特或部分来复原索引。这能够增加健壮性,因为如果索引比特或部分在来自发射设备4之中的一个或多个发射设备的一个或多个分组中被丢失或被损坏,解码器18可能仍然能够使用来自发射设备4之中的一个或多个其他发射设备的分组来跟踪索引序列。
在多个发射设备4的情况中的另一可能性是:长ID的子部分可以在轮播中被发送,其中轮播被安排,以致子部分能够足以提供本地唯一性并且能够比完整身份快得多地被发送。这个具有的一个可能问题是:任何给定的子身份(sub-identity)的本地唯一性不利地受到完整身份被分解成的子身份的数量的影响。例如,16比特身份独自(on its own)能够允许在给定区域中高达65536个灯具或照明设备被唯一识别。如果这些身份被随机分配,则“生日悖论(birthday paradox)”意味着:如果身份不允许抵触(clash),有效数量少得多。如果具有50个灯具,碰撞的概率已是2%左右,这可能是一些应用的极限。如果128比特身份被分解成8个16比特身份,则问题更糟,因为每个灯具生成8个子身份,这意味着:在仅具有六个或七个灯具的情况下,碰撞的概率是2%左右(我们应该注意:具有自碰撞的概率,即,至少一个灯具具有两个或更多相同的子身份的概率,其能够从一个灯具的身份与另一灯具的身份相抵触的概率中被扣除(discount))。
如果子身份被索引,则可以复原这个丢失的容量。随后能够说:身份只能在其发生在轮播中的相同位置上时才碰撞。
利用长度8的索引序列的单比特索引在此能够提供一种解决方案。然而,为了避免不得不从一个发射器读取三个相继分组,考虑周到的操作者将安排所有的灯具以彼此广泛同步的方式发射。这将允许用户一个接一个从三个灯具读取分组,从而复原三个本地唯一的子身份和轮播的阶段。
利用本公开的实施例启用的还一种可能性是盲检测。可能期望接收设备需要知道:a)操作中的索引序列的长度;b)序列本身;以及c)开始点。事实上,在知道I-比特在使用中(或者更一般而言,来自索引序列的减少的索引部分)的情况下,在接收设备8上的解码器18可以通过直接观察(通过观察序列多久重复以及那个重复序列是什么)获得前两个参数。进一步,为了识别开始点,任何合适的惯例可以用于序列中的第一索引值,诸如利用0的最长子序列来启动索引序列。
值得注意的进一步可能性是:对于任何给定的序列长度,具有能够使用的若干可能的索引序列。在实施例中,有关(从具有相同长度的不同索引序列的集合中)选择哪个索引序列的挑选可以被发射设备4上的控制器12用于在传输中传递附加信息。这个选择随后能够利用接收设备8上的解码器18来检测和解释,例如,其中解码器被预先配置将意义映射至不同的可能序列之中的每一个的查找表。或者至少,即使索引序列没有在发射设备4上明确地被选择为了传递信息的目的,在接收设备8上的解码器18可能也能够检测哪一个序列正被使用并且从此推断与发射设备4或传输有关的信息(例如,再次被预先配置查找表)。无论哪一种方式,通过检查发射设备4正在使用哪个特别序列,接收设备8因而可能能够收集额外的信息,例如正在轮播内发送的信息的性质和/或发射设备的操作条件的某方面和/或有关传输或发射设备4的其他信息。
作为又一点,注意:如果没有备用比特可用,则有可能在数据字段中(“带内”)携带I-比特。这可能需要从数据中“窃取”比特,例如发送15比特子身份而不是16比特子身份。然而,在一些应用中,这可以是可容忍的。
将领会到:上面实施例已仅仅通过示例来描述。
在实施例中,每个部分不足以(太少比特)识别相应的分组。然而,在一些其他实施例中,这对于序列中的所有分组来说不一定是真的。例如,考虑这样的示例,其中3比特MLS被用于索引七个分组的集合,但是每个分组只发送2个索引比特。这给出四种可能的2比特索引组合,其中的三种组合出现两次,第四种组合只出现一次。如果接收器看到第四种组合,它能够确切地知道它在序列中的哪里而不参考任何别的。因此,更一般而言,可以说:序列的至少一个部分不足以识别相应的分组,并且在实施例中,一些或所有部分中的每个部分不足以识别相应的分组。
单比特索引(或者更一般而言,减少比特索引)假设在发射器和接收器上共享上下文。在实施例中,这可以将发射设备4和接收设备8预先配置成采取相同的协议来实现,因而不一定要求在发射设备与接收设备4、8之间的任何握手或双向通信(例如在广播安排中)。可供选择地,如果双向服务是可用的,则对于发射设备4和接收设备8来说变得有可能协商一个或多个参数,诸如什么序列正被使用、它是多长以及可能在每个时隙中携带什么。错误重发也变得有可能,尽管可能借助于检测CRC失败而不是索引序列中的异常。
此外,在一些可供选择的应用中,编码光放射器4可能根本没有光照功能。在这种情况下,可见光或不可见的红外光能够被用作用于发射消息的介质。进一步,在本文公开的技术也可以在编码光的领域之外被应用于使用其他传输媒体诸如但不限于无线电的通信***。例如,所公开的方案能够用于在来自活动的超声或红外存在传感器(或多个这样的传感器中的每个传感器)的放射中发射ID或其他信号。
在编码光的领域之外的广播轮播的示例是如在EN 300 175中规定的DECT(Digital enhanced Cordless Telecommunication)(数字增强无绳电信)。在DECT FixedPart(固定部分)与DECT Portable Part(便携部分)之间的通信根据利用Fixed Part建立的TDMA帧结构来完成。帧结构提供24个时隙,其典型地被配对来包括双工信道。DECT分组在所述时隙中进行交换,每个分组特别包括通常用于携带DECT***信息的A字段以及通常用于携带用户信息的B字段。Fixed Part使用A字段在包括共同组成DECT多帧的16帧的轮播中发送不同类型的循环***信息。A字段内的子字段能够用于携带本公开的索引比特或部分。注意:在此应用单个比特索引等等可以牵涉针对DECT标准的更新。
一般来说,在本文公开的技术可以在使用光或其他传输媒体的任何通信***中并且尤其在任何资源受限的通信***中被使用,这取决于协议、传输介质、发射器和/或接收器的约束条件(不仅受到由于卷帘式快门检测而在编码光上设置的约束条件的限制)。例如,资源约束条件的另一示例是在具有预定格式的分组协议中的报头比特的可用性。典型地,报头比特是较大分组内的稀缺资源。例如,在DECT协议的情况下,这对于分组大小设置约束条件,使之成为用于根据本公开基于减少数量的索引比特进行索引的候选者。
本领域技术人员在实践所请求保护的发明中根据附图、公开内容和所附的权利要求书的研究能够明白和实现针对所公开的实施例的其他变化。在权利要求书中,词“包括”并不排除其他的元件或步骤,并且不定冠词“一”或“一个”并不排除多个。单个处理器或其他单元可以执行在权利要求书中叙述的若干项的功能。在互不相同的从属权利要求中叙述某些措施的纯粹事实并不指示不能有利使用这些措施的组合。计算机程序可以被存储和/或被分布在合适介质诸如与其他硬件一起或者作为其他硬件的一部分供应的光存储介质或固态介质上,但是也可以采用其他形式诸如经由因特网或者其他的有线或无线电信***来分发。权利要求书中的任何参考符号不应被解释为限制该范畴。
Claims (18)
1.一种发射设备(4),包括:
发射器(14),用于发射数据至接收设备(8);以及
控制器(12),用于通过在多个分组之间划分数据来格式化将从所述发射器发射的数据;
其中所述控制器被配置成将所述分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分所述序列内的分组的识别符字段,以致所述部分之中的一个部分单独不足以识别其相应分组在所述索引序列中的相应位置;以及
其中所述控制器进一步被配置成控制所述发射器来有序发射包括所述索引序列的相应部分的分组,以致所述索引序列在所述分组的传输上循环重复,从而使得所述接收设备能够通过一起参考多个所述部分来确定所述分组之中的每个分组在所述索引序列中的相应位置,并从而识别所述分组的顺序。
2.根据权利要求1所述的发射设备,其中所述发射器(14)包括用于发出光的光源,以及所述控制器(12)包括被配置成通过将所述分组调制到利用所述光源发出的光中来执行所述传输的所述光源的控制器。
3.根据权利要求2所述的发射设备,其中所述发射设备包括照明设备(4),所述光源包括用于发出光照来照亮环境(2)的灯具(14),以及所述控制器(12)包括被配置成通过将所述消息调制到利用所述灯具发出的光照中来执行所述传输的所述照明设备的控制器。
4.一种接收设备(8),包括:
接收器(16),用于从发射设备(4)接收数据,所述数据在多个分组之间进行划分来接收;以及
解码器(18),用于从所述分组中提取所述数据;
其中所述分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分所述序列内的分组的识别符字段来接收,以致所述部分之中的一个部分单独不足以识别其相应分组在所述索引序列中的相应位置;以及
其中所述解码器被配置成通过一起参考多个所述部分来确定所述分组之中的每个分组在所述索引序列中的相应位置,并且从而识别分组的顺序以便提取所述数据。
5.根据权利要求4所述的接收设备,其中所述分组被调制到来自光源的光中,以及所述接收器(16)包括用于通过感测所述光来接收所述分组的光传感单元。
6.根据权利要求5所述的接收设备,其中所述光传感单元包括卷帘式快门照相机(16)。
7.根据权利要求4-6之中任一权利要求所述的接收设备,其中所述解码器被配置成通过以下来确定所述序列中的位置:
对于所述分组之中的每个分组,通过相对于所述一个分组来组合所述索引序列的相应部分和在所述索引序列中的预定点上所述接收分组之中的多个其他接收分组中接收的相应部分来确定相应索引值,其中所述索引值给出在所述索引序列内的明确位置。
8.根据权利要求7所述的接收设备,其中所述解码器被配置成:基于检测到所述相应索引值在所述序列内是非法的或者一个或多个较晚分组的相应索引值在所述索引序列的上下文中相对于一个或多个较早分组的相应索引值而言是不一致的,检测到所述位置的较早确定是不正确的。
9.根据任一前述权利要求所述的发射或接收设备,其中所述部分之中的每个部分是固定大小。
10.根据任一前述权利要求所述的发射或接收设备,其中所述部分之中的每个部分是单个比特。
11.根据任一前述权利要求所述的发射或接收设备,其中在所述索引序列的每次重复上,每个相应分组的数据由整体净荷中不同的相应部分构成。
12.根据权利要求11所述的发射或接收设备,其中所述整体净荷利用所述索引序列的每次重复来重复。
13.根据任一前述权利要求所述的发射或接收设备,其中所述索引序列是最大长度序列或其衍生物。
14.一种***,包括:
根据权利要求1-3或9-13之中任一权利要求所述的发射设备(4);以及
根据权利要求4-13之中任一权利要求所述的接收设备(8)。
15.一种计算机程序产品,其包括收录在一个或多个计算机可读存储媒体上和/或从中可下载的代码,并且被配置以便当运行在发射设备(4)上时执行以下操作:
通过在多个分组之间划分数据,格式化将从所述发射设备发射至接收设备(8)的数据;
将所述分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分所述序列内的分组的识别符字段,其中所述部分之中的一个部分单独不足以识别其相应分组在所述索引序列中的相应位置;以及
有序发射包括所述索引序列的相应部分的分组,以致所述索引序列在所述分组的传输上循环重复,从而使得所述接收设备能够通过一起参考多个所述部分来确定所述分组之中的每个分组在所述索引序列中的相应位置,并且从而识别所述分组的顺序。
16.一种计算机程序产品,其包括收录在一个或多个计算机可读存储媒体上和/或从中可下载的代码,并且被配置以便在运行接收设备(8)时执行以下操作:
从发射设备(4)接收数据,所述数据在多个分组之间进行划分来接收,其中所述分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分所述序列内的分组的识别符字段来接收,以致所述部分之中的一个部分单独不足以识别其相应分组在所述索引序列中的相应位置;以及
通过一起参考多个所述部分来确定所述分组之中的每个分组在所述索引序列中的相应位置,以便从而识别所述分组的顺序并且基于所述识别来提取所述数据。
17.一种发射数据至接收设备(8)的方法,所述方法包括:
通过在多个分组之间划分数据,格式化将被发射至所述接收设备的数据;
将所述分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分所述序列内的分组的识别符字段,其中所述部分之中的一个部分单独不足以识别其相应分组在所述索引序列中的相应位置;以及
有序发射包括所述索引序列的相应部分的分组,以致所述索引序列在所述分组的传输上循环重复,从而使得所述接收设备能够通过一起参考多个所述部分来确定所述分组之中的每个分组在所述索引序列中的相应位置,并且从而识别所述分组的顺序。
18.一种从发射设备(4)接收数据的方法,所述方法包括:
从发射设备接收数据,所述数据在多个分组之间进行划分来接收,其中所述分组之中的每个相应分组只与索引序列的相应部分一起打包作为用于区分所述序列内的分组的识别符字段来接收,以致所述部分之中的一个部分单独不足以识别其相应分组在所述索引序列中的相应位置;以及
通过一起参考多个所述部分来确定所述分组之中的每个分组在所述索引序列中的相应位置,以便从而识别所述分组的顺序并且基于所述识别来提取所述数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14195073 | 2014-11-27 | ||
EP14195073.3 | 2014-11-27 | ||
PCT/EP2015/076494 WO2016083146A1 (en) | 2014-11-27 | 2015-11-13 | Packet order identification with reduced overhead in packetized data transmission |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107005306A true CN107005306A (zh) | 2017-08-01 |
Family
ID=52011023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580064879.9A Pending CN107005306A (zh) | 2014-11-27 | 2015-11-13 | 分组化数据传输中利用减少开销的分组顺序识别 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170272376A1 (zh) |
EP (1) | EP3224967A1 (zh) |
CN (1) | CN107005306A (zh) |
WO (1) | WO2016083146A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10285248B2 (en) * | 2014-11-04 | 2019-05-07 | Signify Holding B.V. | Transmitter comprising a transmission queue and corresponding source device |
US9954614B2 (en) * | 2016-04-08 | 2018-04-24 | Industrial Technology Research Institute | Luminaire positioning system and method thereof |
JP2019012329A (ja) * | 2017-06-29 | 2019-01-24 | パナソニックIpマネジメント株式会社 | 光id送信装置、及び、光id通信システム |
US10069572B1 (en) * | 2017-09-07 | 2018-09-04 | Osram Sylvania Inc. | Decoding light-based communication signals captured with a rolling shutter image capture device |
US11409688B1 (en) * | 2019-11-01 | 2022-08-09 | Yellowbrick Data, Inc. | System and method for checking data to be processed or stored |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5226041A (en) * | 1991-02-21 | 1993-07-06 | International Business Machines Corporation | Method for efficiently simulating the dynamic behavior of a data communications network |
US20020161884A1 (en) * | 1998-10-30 | 2002-10-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US20060198426A1 (en) * | 2000-05-01 | 2006-09-07 | Andrzej Partyka | Overhead reduction in frequency hopping system for intermittent transmission |
CN101563853A (zh) * | 2006-10-24 | 2009-10-21 | 高通股份有限公司 | 用于无线通信***的捕获导频 |
CN102625248A (zh) * | 2011-03-31 | 2012-08-01 | 北京新岸线无线技术有限公司 | 用于数据传输的方法及装置 |
WO2013067377A2 (en) * | 2011-11-03 | 2013-05-10 | Qualcomm Incorporated | Multiple delivery route packet ordering |
CN103636176A (zh) * | 2011-05-27 | 2014-03-12 | 国际商业机器公司 | 节省分组修改的存储器 |
US20140093238A1 (en) * | 2012-09-28 | 2014-04-03 | Richard D. Roberts | Multiphase sampling of modulated light with phase synchronization field |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5610595A (en) * | 1991-12-09 | 1997-03-11 | Intermec Corporation | Packet radio communication system protocol |
US8189591B2 (en) * | 2001-10-30 | 2012-05-29 | Exar Corporation | Methods, systems and computer program products for packet ordering for parallel packet transform processing |
-
2015
- 2015-11-13 WO PCT/EP2015/076494 patent/WO2016083146A1/en active Application Filing
- 2015-11-13 CN CN201580064879.9A patent/CN107005306A/zh active Pending
- 2015-11-13 US US15/529,853 patent/US20170272376A1/en not_active Abandoned
- 2015-11-13 EP EP15794555.1A patent/EP3224967A1/en not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5226041A (en) * | 1991-02-21 | 1993-07-06 | International Business Machines Corporation | Method for efficiently simulating the dynamic behavior of a data communications network |
US20020161884A1 (en) * | 1998-10-30 | 2002-10-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US20060198426A1 (en) * | 2000-05-01 | 2006-09-07 | Andrzej Partyka | Overhead reduction in frequency hopping system for intermittent transmission |
CN101563853A (zh) * | 2006-10-24 | 2009-10-21 | 高通股份有限公司 | 用于无线通信***的捕获导频 |
CN102625248A (zh) * | 2011-03-31 | 2012-08-01 | 北京新岸线无线技术有限公司 | 用于数据传输的方法及装置 |
CN103636176A (zh) * | 2011-05-27 | 2014-03-12 | 国际商业机器公司 | 节省分组修改的存储器 |
WO2013067377A2 (en) * | 2011-11-03 | 2013-05-10 | Qualcomm Incorporated | Multiple delivery route packet ordering |
US20140093238A1 (en) * | 2012-09-28 | 2014-04-03 | Richard D. Roberts | Multiphase sampling of modulated light with phase synchronization field |
Also Published As
Publication number | Publication date |
---|---|
US20170272376A1 (en) | 2017-09-21 |
EP3224967A1 (en) | 2017-10-04 |
WO2016083146A1 (en) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107005306A (zh) | 分组化数据传输中利用减少开销的分组顺序识别 | |
US20140003817A1 (en) | Transmit and receive mimo protocols for light array communications | |
CN111684866A (zh) | 用于编码光的发射和接收的设备和方法 | |
RU2557802C2 (ru) | Детектирование данных для передачи данных в видимом свете, используя датчик обычной камеры | |
US9287976B2 (en) | Independent beacon based light position system | |
US8994814B2 (en) | Light positioning system using digital pulse recognition | |
US9014564B2 (en) | Light receiver position determination | |
US8405323B2 (en) | Method and apparatus for signal presentation | |
Aoyama et al. | Visible light communication using a conventional image sensor | |
US9218532B2 (en) | Light ID error detection and correction for light receiver position determination | |
KR102056064B1 (ko) | 광학 카메라 통신 장치 및 방법 | |
CN106716888A (zh) | 无线通信中的定向同步信号 | |
US9913344B2 (en) | Method of configuring lighting effect patterns for interactive lighting effect devices | |
CA2982946A1 (en) | Mesh over-the-air (ota) driver update using site profile based multiple platform image | |
US20180026729A1 (en) | Capsule endoscope transmitter and capsule endoscope receiver configured to perform human body communication and human body communication method using the same | |
US20200084860A1 (en) | Command execution synchronization in a nodal network using controlled delay techniques | |
Schmid et al. | Using smartphones as continuous receivers in a visible light communication system | |
WO2014027934A1 (en) | Sensor stimulation and response approach for mapping sensor network addresses to identification information | |
CN101485233B (zh) | 信号表示方法和装置 | |
CN109073739A (zh) | 用于降低碰撞危险的设备和方法 | |
CN105939174A (zh) | 照明装置以及照明*** | |
JP2015045961A (ja) | 情報処理装置、監視カメラ装置、及び映像再生装置 | |
CN111213366B (zh) | 刚体识别方法、装置、***及终端设备 | |
TWI544757B (zh) | 可見光通訊系統與方法 | |
CN108347803B (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20201127 |