用于车辆登记的单通道光通信的制作方法

文档序号:21486889发布日期:2020-07-14 17:12阅读:313来源:国知局
用于车辆登记的单通道光通信的制作方法

本公开总体上涉及无线数据通信,并且更具体地,涉及应用于载人和无人运输车辆的非组网视线(los)通信的单通道光调制。



背景技术:

无人机(uav)的管制取决于uav的登记,使得可以在任何时间识别uav的操作者。例如,在没有某种形式的车上登记的情况下,uav操作者可能会违反联邦航空局(faa)的规定,并通过简单地遗弃uav来避免受到惩罚。在没有将车辆与其所有者/操作者相关联或相关的系统的情况下,无法执行uav法律。

用于识别uav登记的当前方法具有各种局限性。例如,贴在uav上的登记标签(类似于车牌或贴在或刻在汽车上的车辆识别号)可以在回收uav或拥有uav时帮助识别uav,但是当uav在空中时可能很难从远处读取。替代地,可以采用蜂窝式或无线电组网的解决方案。例如,空中uav可以向附近的基站或者蜂窝式或移动电话/数据网络的无线电应答器发送识别信号用于识别uav本身,但是当uav飞过无线电或蜂窝式暗区的区域(诸如,移动电话服务覆盖未达到的偏远地区)时,这将是不可行的。此外,基于无线电的uav登记可能会遭受电子欺骗,被用作恶意软件的载体,或者在多个uav在同一区域飞行的情况下导致错误识别。

uav登记时的重要考虑因素在于,即使在缺乏移动网络服务的区域中,当uav在人、车辆或设备的视线内时,人、车辆或设备也能够快速识别uav。具体的示例是识别在美国国家公园飞行的未经授权的uav,该公园的大部分通常缺乏网络服务。

附图说明

参考以下附图描述本公开的非限制性和非详尽性实施例,其中除非另有指定,否则相同的附图标记在各个附图中指代相同的部分。

图1是描绘其中可利用根据本公开的实施例的示例性场景的图。

图2是示出根据本公开的实施例可以利用的编码/解码表的图。

图3是描绘根据本公开的实施例的通信系统的发送端的示例性过程的流程图。

图4是描绘根据本公开的实施例的通信系统的接收端的示例性过程的流程图。

图5是描绘根据本公开的实施例的图4的示例性过程的一部分的示例性过程的流程图。

图6是示出根据本公开的实施例的图5的示例性过程的一部分的详细信息的图。

图7是示出根据本公开的实施例的图5的示例性过程的另一部分的详细信息的流程图。

图8是描绘根据本公开的实施例的图4的示例性过程的另一部分的示例性过程的流程图。

图9是描绘根据本公开的实施例的示例性运输车辆的框图。

具体实施方式

在以下描述中,参考构成其一部分的附图,并且在附图中通过说明的方式来示出可以实践本公开的具体示例性实施例。充分详细地描述这些实施例以使得本领域的技术人员能够实践本文所公开的概念,并且应理解,在不脱离本公开的范围的情况下,可以对各种所公开的实施例进行修改并可以利用其他实施例。因此,以下详细描述不应被视为具有限制意义。

尽管主要在uav的背景中提供本公开的示例,但是本公开的范围不限于此。也就是说,本文所述的各种实现方式、概念、方案、系统、方法和设备可以适用于其他类型的运输车辆、监视车辆或服务车辆,包括有人或无人的以及手动或自动的汽车、无人机、机载船只和/或水上船只。此外,本公开的范围超出了车辆之间的通信,并且可以包括车辆与非车辆对象(诸如人、机器、基础设施或建筑物)之间的通信。

本公开涉及一种使uav能够在非组网环境中将uav的登记信息传达给接收方的通信方法。本公开提出了一种与uav一起使用以生成和发送可以包括登记信息的消息的光通信系统。本公开的光通信系统可以构成具有发送端和接收端的单个通信通道。在发送端上,光通信系统可以使用诸如发光二极管(led)的发光装置,该发光设备由微控制器打开和关闭以通过直接调制对消息进行编码。消息可以包括与uav相关联的身份(例如,faa登记号)。在接收端上,视频记录装置(例如,智能电话的摄像机)可以记录或以其他方式接收调制光信号。由软件、硬件或两者的组合(例如,在智能电话上运行的应用程序)实现的算法可以分析接收到的视频并解码来自视频的消息。基于解码的消息,可以知道uav的身份(例如,uav的登记的所有者)。可以在图1描绘的示例性场景中实现光通信系统的各种实施例,如下所述。

图1描绘了其中可以实现所提出的光通信系统的实施例的示例性场景100。场景100可以包括uav010可以在其中穿越的非组网环境099。也就是说,环境099可以不具有可在uav010穿越环境099时供uav010进行通信的蜂窝式或移动电话/数据网络。uav010可以配备有光发射器017,当uav010穿越环境099时,该光发射器连续发出传达消息的光信号。在一些实施例中,光发射器017还可以用作安全灯(例如,防撞灯),在uav010在空中或在运行中时该安全灯会持续运行。光发射器017可以由嵌入在uav010中的微控制器(未示出)控制以发出光信号。

具有视频记录能力的装置(诸如,智能电话020)也可以存在于环境099中。如图1所示,在智能电话020与uav010之间可以存在虚构los123。los123可能正在追踪uav010,并因此在uav010穿越或以其他方式穿过环境099时在环境099内相应地移动。假定持有智能电话020的用户在uav010穿越环境099时也可能在环境099内移动,los123将根据uav010和用户的移动而在环境099内移动。

具体地,智能电话020可以配备有视频摄像机(图1中未明确示出)或一些其他视频记录装置,其能够沿los123记录或以其他方式生成穿越环境099的uav010的视频流021。除uav010之外,视频流021还可以捕获环境099中存在的其他对象或背景,诸如房屋091、塔楼092、树093、山丘094、道路095和/或飞机096。此外,智能电话020可以使用嵌入在智能电话020中的软件或硬件或二者的组合(例如,在智能电话上运行的应用程序)来实现算法,以分析视频流021并解码视频流021中记录的从uav010的光发射器017发出的光信号中所传达的消息。

由光发射器017发出的光信号中所传达的消息可以表示多个字母数字数位(即,字母或数字)。在一些实施例中,多个字母数字数位可以是如由faa分配的uav010的登记号。登记号可以具有固定的长度,诸如十位数的长度。在一些实施例中,登记号可以以字母‘f’或字母‘fa’开头。也就是说,对于faa登记的所有uav,faa分别为每个uav分配唯一的十位数长的登记号作为uav的标识,以字母‘f’或‘fa’开头。使用字母‘f’或字母‘fa’作为消息标识符,并且是基于光通信系统采用的通信协议预定的。faa还可以维护一个由登记号索引的数据库,该数据库的每个条目都记录了相应uav的相关信息(例如,年份、品牌、型号、所有者的姓名、所有者的地址)。在已知特定uav的登记号的情况下,还可以通过数据库来了解uav的相关信息。

当嵌入在uav010中的微控制器根据消息调制光信号时,光发射器017发出的光信号可以传达消息(例如,uav010的登记号)。即,微控制器可以通过以预定频率调制光信号来将消息编码成光信号,该预定频率也是根据光通信系统采用的通信协议来预定的。在一些实施例中,微控制器可以根据美国信息交换标准码(ascii)编码方法来调制光信号。如图2的ascii表200所示,可以将消息的每个字母数字数位转换成八位长的二进制码(即,由八位的0、1或两者的组合组成的二进制表示)。例如,图1的uav010的faa登记号可以是十位数号码“fa12345678”。登记号的十位数中的每一位都可以根据ascii表200转换成八位长的二进制表示(即,ascii码)。也就是说,数位‘f’可以转换成ascii码‘01000110’,数位‘a’可以转换成ascii码‘01000001’,数位‘1’可以转换成ascii码‘00110001’,数位‘2’可以转换成ascii码‘00110010’,数位‘3’可以转换成ascii码‘00110011’,数位‘4’可以转换成ascii码‘00110100’,数位‘5’可以转换成ascii码‘00110101’,数位‘6’可以转换成ascii码‘00110110’,数位‘7’可以转换成ascii码‘00110111’,并且数位‘8’可以转换成ascii码‘00111000’。

图3示出了描绘光通信系统的发送端上采用的示例性过程300的流程图。特别地,过程300示出了光通信系统的发送端上的处理器(例如,嵌入在图1的uav010中的处理器)可以如何调制信号发射器(例如,图1的光发射器017)以向接收方(例如,图1的智能电话020)传达消息(例如,图1的uav010的十位数faa登记号“fa12345678”)。过程300可以包括被示为框(诸如,图3的310、320、330、340和350)的一个或多个操作、动作或功能。尽管被示为离散框,但是根据所需实现方式,可以将过程300的各个框划分成附加的框,组合成更少的框或进行消除。过程300可以在框310处开始。

在310处,过程300可以涉及嵌入在uav010中的处理器提取登记号“fa12345678”的第一数位,即数位“f”。过程300可以从310前进至320。

在320处,过程300可以涉及处理器将第一数位“f”转换成二进制表示。例如,处理器可以根据图2的ascii表200将数位“f”转换成八位ascii码‘01000110’。过程300可以从320前进至330。框330可以包括子框331、332、333、334、335和336。具体地,过程300可以从框320前进至框330的子框331。

在330处,过程300可以涉及处理器根据表示uav010的登记号的第一数位“f”的八位ascii码‘01000110’来调制信号发射器,一次一位。具体地,在子框331处,过程300可以涉及处理器提取ascii码‘01000110’的第一位,即最高有效位(msb)‘0’。过程300可以从331前进至332。

在332处,过程300可以涉及处理器确定先前在子框331处提取的位是否为‘0’或‘1’。如果处理器确定所提取的位为‘0’,过程300可以从332前进至333,此处过程300可以涉及处理器使信号发射器在1个持续时间内保持关闭。如果处理器确定所提取的位为‘1’,过程300可以从332前进至334,此处过程300可以涉及处理器使信号发射器在1个持续时间内保持打开。信号发射器在子框333处关闭及在子框334处打开的持续时间由所采用的通信协议的预定调制频率确定。具体地,持续时间的时间长度等于调制频率的数学倒数。过程300可以从333或334前进至335。

在335处,过程300可以涉及处理器确定先前在子框331处提取的位是否为ascii码的最后一位,即其最低有效位(lsb)。如果先前在331处提取的位还不是表示先前提取的数位的八位ascii码的lsb,过程可以从335前进至336以提取ascii码的下一位,然后从336前进至332。如果先前在331处提取的位已经是表示先前提取的数位的八位ascii码的lsb,过程300可以从335前进至340。

在340处,过程300可以涉及处理器确定先前在子框336处提取的数位是否为十位数登记号“fa12345678”的最后一个数位。如果先前提取的数位还不是登记号的最后一个数位,过程300可以从340前进至350并且提取登记号的下一数位。如果先前提取的数位已经是登记号的最后一个数位,过程300可以从340前进至310并且再次重复信号发射器的调制。

综上所述,过程300可以提取登记号的一个数位并将该数位转换成二进制表示,并且在移至登记号的下一数位之前根据该二进制表示来调制信号发射器,一次一位。也就是说,过程300可以通过处理登记号的数位“f”开始,然后是数位“a”,然后是数位“1”,然后是数位“2”,然后是数位“3”,......,最后是数位“8”。一旦消息(即登记号)的每个数位都得到处理(即,提取、转换并相应地调制了光发射器),只要uav010在空中或在运行中,过程300就可以重复。

图4示出了描绘光通信系统的接收端上采用的示例性过程400的流程图。特别地,过程400示出了光通信系统的接收端上的处理器(例如,嵌入在图1的智能电话020中的处理器)可以如何解码从光通信系统的发送端发送的调制光信号中所传达的消息。过程400可以包括被示为框(诸如,图4的410、420、430、440和450)的一个或多个操作、动作或功能。尽管被示为离散框,但是根据所需实现方式,可以将过程400的各个框划分成附加的框,组合成更少的框或进行消除。过程400可以在框410处开始。

在410处,过程400可以涉及嵌入在智能电话020中的处理器接收视频流,诸如图1的视频流021。如以上所提及,视频流021可以由智能电话020的视频摄像机生成。视频摄像机可以在uav010穿越图1的环境099时追踪和记录图1的uav010。如图5所示,视频流021可以由视频摄像机在一段时间内记录或以其他方式捕获的多个视频帧f(1)、f(2)、......、f(n)组成。过程400可以从410前进至420。

在420处,过程400可以涉及处理器将视频流021转换成二进制串041,如图5所示。如图5所示,二进制串041可以包括多个二进制位,bit(1)、bit(2)、......、bit(n)。二进制位bit(1)至bit(n)中的每一者的值为“0”或“1”。此外,二进制位bit(1)至bit(n)中的每一者都与视频帧f(1)至f(n)中的一个视频帧具有一对一的对应关系。例如,bit(1)经由框510、520和530从f(1)导出,所以bit(2)从f(2)导出,......,并且bit(n)从f(n)导出。此外,二进制串041可以包含在二进制串041内重复的二进制模式。二进制模式可以表示在由图1的光发射器017发出的光信号中所传达的消息。在一些实施例中,所传达的消息可以是图1的uav010的faa登记号。二进制模式可以在二进制串041内重复,因为可以根据图3的过程300经由uav010的光发射器017一遍又一遍地发送faa登记号。关于框420的更多细节将在本公开稍后部分的描述图5的过程500以及图7的过程700的段落中给出。过程400可以从420前进至430。

在430处,过程400可以涉及处理器从二进制串041中提取二进制模式。二进制模式可以具有由光通信系统的通信协议预定的长度,并且可以由0位和1位的串组成。二进制模式实质上可以表示所传达的消息。在一些实施例中,二进制模式可以是用ascii码编码的消息。

为了使过程400成功地解码二进制模式并最终获得光信号中所传达的消息,可能需要二进制模式包含足够数量的位。因此,图5的视频流021可能需要具有足够数量的视频帧f(1)至f(n)。假设该消息是根据ascii表200编码的十位数faa登记号,二进制模式中的总位数将至少需要是(每个登记号10位数)x(每位数8位)=80位。此外,在光发射器017的调制频率与记录uva010的摄像机的帧速率之间可能存在过采样关系。例如,光发射器017可以以15hz的调制频率运行,而摄像机以30-fps的帧速率(即,摄像机每秒生成30帧)记录。这可能会转化成2倍的过采样率,这意味着视频流021可能需要具有至少160个视频帧才能使过程400生成80位长的二进制模式。典型的实践可能需要另外2倍的冗余度和抗噪性,因此实际上图5的数字n可能大到320才能使过程400解码uav010的faa登记号。

将在本公开稍后部分的描述图8的过程800的段落中给出关于框430的更多细节。过程400可以从430前进至440。

在440处,过程400可以涉及处理器解码二进制模式以获得消息。在一些实施例中,处理器可以使用图2的ascii表200来将二进制模式解码成消息(例如,uav010的faa登记号)。

参考图5至图7,下面给出关于图4的过程400的框420的更多细节。

图5示出了描绘可能是图4的过程400的框420的实施例的示例性过程500的流程图。过程500可以包括被示为框(诸如,图5的510、520和530)的一个或多个操作、动作或功能。尽管被示为离散框,但是根据所需实现方式,可以将过程500的各个框划分成附加的框,组合成更少的框或进行消除。过程500可以在框510处开始。

在510处,过程500可以涉及光通信系统的接收端上的处理器(例如,嵌入在图1的智能电话020中的处理器)为视频流021的视频帧f(1)至f(n)中的每一者摘录相应的关注区域(roi)。如以上所提及,由在光通信系统的接收端上的摄像机生成或记录的视频流021可以在一段时间内记录或以其他方式捕获穿越环境099的uav010。也就是说,视频帧f(1)至f(n)可以在时间上连续,在前一帧之后以一定的时间间隔拍摄每一帧。时间间隔可以是摄像机的一个特征。例如,如果摄像机以30fps的帧速率记录视频流021,则时间间隔为1/30秒。此外,视频帧f(1)至f(n)中的每一者可以除环境099中存在的一些其他对象或背景之外(诸如房屋091、塔楼092、树093、山丘094、道路095和/或飞机096)还包括uav010。

图6示出了视频帧与视频帧的roi之间的关系。视频帧621可以表示图5的视频帧f(1)至f(n)中的任一者。如图6所示,视频帧621捕获uav010及其光发射器017。另外,视频帧621中还捕获了环境099内的其他对象(诸如房屋091、塔楼092、树093和道路095)。然而,这些其他对象没有提供关于从uav010的光发射器017发出的光信号中所传达的消息的有用信息,因为该消息是在从光发射器017发出的光信号中固有的,但不是在视频帧621中捕获到的其他对象中固有的。因此,在过程500的框510处,嵌入在智能电话020中的处理器可以从视频帧621中摘录roi(例如,图6的roi651或roi657)。roi651可以主要包括uav010,而roi657可以仅简单地包括uav010的光发射器017。roi651和roi657是“关注区域”,因为消息是通过从uav010的光源017发出的光信号传达的。在框510之后的过程500的框520和530可以忽略视频帧621的roi651(甚至roi657)外部的部分,因为很少有与所传达的消息有关的信息在其中。简而言之,roi允许实时追踪光发射器017并掩蔽视频流021的不重要的部分。此外,使用roi651或roi657而不是整个视频帧621还提供了减少由视频帧621中捕获的杂散光导致的图像噪声的好处。例如,塔楼092可以发出四面八方的强防撞光,并且其中一些防撞光可以由智能电话020在视频帧621上捕获为杂散光。由于过程500的后续步骤,即框520,可应用于roi651或roi657而不是整个视频帧621,因此由杂散光引起的噪声将被最小化。

同样在510处,接收端上的处理器可以使用对象追踪器682来摘录roi651或roi657,如图6所示。也就是说,对象追踪器682可以在图5的视频帧f(1)至f(n)的每一者中获取uav010或其光发射器017的位置的知识。对象追踪器682可以使用软件、硬件或两者的组合来实现。例如,对象追踪器682可以由级联神经网络(cnn)电路或由一个或多个软件分类器来实现。当使用超过一个软件分类器时,对分类器进行级联,并且将分类器的分类结果进行汇聚以产生更强的级联分类器。要用作对象追踪器682,可能需要cnn电路或级联分类器以各种训练视频流进行预训练。训练过程可以涉及从训练视频流中的相似的局部像素集群生成低级视觉纹理。经过训练后,cnn电路或级联分类器可能能够识别视频流021的视频帧f(1)至f(n)中的光发射器017,并为视频帧f(1)至f(n)中的每一者创建或以其他方式摘录包含uav010的光发射器017的roi。过程500可以从510前进至520。

在520处,过程500可以涉及光通信系统的接收端上的处理器将在框510中摘录的视频帧f(1)至f(n)中的每一者的roi转换成相应的二进制图像,诸如图7的二进制图像630或631。例如,如图7所示,处理器可以使用一个或多个滤色器084将roi657(即,图6的视频帧621的roi)转换成二进制图像630或631。也就是说,根据在roi657中捕获到光发射器017是打开还是关闭的,滤色器084的输出可以是二进制图像630或二进制图像631。如图7所示,光发射器017可以包括以阵列的几何排列进行排列的6个led。如果在roi657中捕获到光发射器017是关闭的,滤色器084可以具有二进制图像630作为输出,该二进制图像几乎是纯黑色或深色图像。如果在roi657中捕获到光发射器017是打开的,滤色器084可以具有二进制图像631作为输出,其中在深色背景中示出了一些较亮的点。如图7所示,较亮的点的位置可以大致上对应于光发射器017相对于roi657的位置。在一些实施例中,色调饱和度值空间滤色器可以用作滤色器084。过程500可以从520前进至530。

在530处,过程500可以涉及光通信系统的接收端上的处理器基于在框520中产生的二进制图像来确定二进制位的值。如图7所示,过程500可以通过使用二进制图像分类器086来确定二进制位641的值。如果滤色器084输出二进制图像630,二进制图像分类器086可以确定二进制位641具有值‘0”。如果滤色器084输出二进制图像631,二进制图像分类器086可以确定二进制位641具有值‘1”。类似于图6的对象追踪器082,图7的二进制图像分类器086还可以通过硬件cnn或软件级联分类器或两者的组合来实现。同样,二进制图像分类器086也可能需要使用训练数据进行预训练。替代地或另外,二进制图像分类器086可以通过使用计算机视觉算法对二进制图像630或631的边缘号码进行计数来确定二进制位641的值。

利用图5的过程500,可以基于视频流021的视频帧f(1)至f(n)中的对应一个视频帧来分别确定图5的二进制串041的二进制位bit(1)至bit(n)中的每一者。也就是说,利用过程500,光通信系统的接收端上的处理器可以基于视频帧f(1)确定二进制位bit(1)的值,基于视频帧f(2)确定二进制位bit(2)的值,......,以及基于视频帧f(n)确定二进制位bit(n)的值。

参考图8,下面给出关于图4的过程400的框430的更多细节。

图8示出了描绘可能是图4的过程400的框430的实施例的示例性过程800的流程图。过程800可以包括被示为框(诸如,图8的810、820、830、832、834、840、850、860和870)的一个或多个操作、动作或功能。尽管被示为离散框,但是根据所需实现方式,可以将过程800的各个框划分成附加的框,组合成更少的框或进行消除。过程800可在框810处开始。

在810处,过程800可以涉及光通信系统的接收端上的处理器(例如,嵌入在图1的智能电话020中的处理器)将在过程400的框420中生成的二进制串(例如,图5的二进制串041)从二进制串的时域表示转换成二进制串的频域表示。示例性二进制串041可以是:

“0011110000001100110000000000110000001111000000110011000000000011000000111100000011001100000000001100”----------[t1]

表示[t1]可以是二进制串的时域表示,其可以等效地理解为“2位0,再跟4位1,再跟6位0,再跟2位1,再跟2位0,再跟2位1,再跟10位0,再跟2位1,再跟6位0,再跟4位1,再跟6位0,再跟2位1,再跟2位0,再跟2位1,再跟10位0,再跟2位1,再跟6位0,再跟4位1,再跟6位0,再跟2位1,再跟2位0,再跟2位1,再跟10位0,再跟2位1,再跟2位0”。有了这种理解,表示[t1]可以转换成频域,并变成:

“2,4,6,2,2,2,10,2,6,4,6,2,2,2,10,2,6,4,6,2,2,2,10,2,2”----------[f1]

即,表示[f1]可以是二进制串的频域表示。过程800可以从810前进至820。

在820处,过程800可以涉及处理器确定二进制串的频域表示中的峰值位置。在一些实施例中,当二进制串的频域表示中的一个位置处的值与二进制串的频域表示的平均值相距至少三个标准偏差时,可以将该位置确定为峰值位置。例如,对于表示[f1],处理器可以确定峰值位置为表示[f1]中的10的位置。过程800可以从820前进至830,以确定二进制模式的频域表示。框830可以包括子框832和834。具体地,过程800可以从820前进至832。

在子框832处,过程800可以涉及处理器基于峰值位置将二进制串的频域表示划分成多个段。例如,处理器可以将表示[f1]划分成以下四个段:

“2,4,6,2,2,2”----------[fs1]

“10,2,6,4,6,2,2,2”----------[fs2]

“10,2,6,4,6,2,2,2”----------[fs3]

“10,2,2”----------[fs4]

过程800可以从832前进至834。

在子框834处,过程800可以涉及处理器将多个段中的一个段确定为二进制模式的频域表示。处理器可以通过使用表决算法来实现这一点。例如,处理器可以将表决算法应用于段[fs1]、[fs2]、[fs3]和[fs4]并确定段[fs2](与[fs3]相同)可能是二进制模式的频域表示。也就是说,表决算法可以选择段[fs1]至[fs4]中最常见的表示作为二进制模式的频域表示。在二进制串041可能容易受到环境099中存在的各种噪声影响的实际情况下,多个段可能包括以下段,诸如:

“10,2,6,4,6,2,2,2”----------[fs1’]

“11,1,6,4,6,2,2,2”----------[fs2’]

“10,2,6,4,6,2,2,2”----------[fs3’]

“10,2,6,4,6,3,1,2”----------[fs4’]

“10,2,6,3,6,2,2,2”----------[fs5’]

“9,2,6,4,6,2,2,2”----------[fs6’]

然而,表决算法仍会确定“10,2,6,4,6,2,2,2”为段[fs1’]至[fs6’]中的二进制模式的频域表示。过程800可以从834前进至840。

在框840处,过程800可以涉及处理器通过将二进制模式的频域表示与二进制模式的频域表示的副本进行连结而生成二进制模式的自连结频域表示。在不生成自连结的频域表示的情况下,处理器可能无法在框870中定位消息标识符。为了说明这一点,请考虑二进制模式的频域表示,“10,2,6,4,6,2,2,2”,如在子框834处确定的。回想一下,二进制模式开始于框820处定位的峰值位置。峰值位置是基于二进制串的频域表示纯粹在统计上定位的,并且可能与消息的消息标识符(例如,faa登记号的字母“f”或字母“fa”)重合或不重合。自连结的频域表示将去除峰值位置恰巧与消息标识符的一部分重合的事故的机会,并因此将消息标识符分成两部分。当二进制模式的频域表示为“10,2,6,4,6,2,2,2”时,处理器可以将二进制模式的自连结频域表示生成为:

“10,2,6,4,6,2,2,2,10,2,6,4,6,2,2,2”----------[f2]

过程800可以从840前进至850。

在框850处,过程800可以涉及处理器将二进制模式的自连结频域表示转换成二进制模式的时域表示。例如,处理器可以将二进制模式的自连结频域表示[f2]转换成时域,如下所述:

“0000000000110000001111000000110011000000000011000000111100000011001100”----------[t2]

表示[t2]可以是二进制模式的时域表示。过程800可以从850前进至860。

在框860处,过程800可以涉及处理器在二进制模式的时域表示中去除由生成视频流的摄像机的过采样所导致的冗余。即,处理器可以对表示[t2]执行反锯齿动作。如以上所提及,图1的uav010的光发射器017可以具有15hz的调制频率,而智能电话020的摄像机可以具有30fps的视频帧速率。这可能会转换成2倍的过采样。如果是2倍过采样,处理器可以通过简单地去除表示[t2]中的每隔一位来去除由于2倍过采样导致的冗余,导致:

“00000100011000101000001000110001010”----------[t2’]

表示[t2’]可以是已去除由于2倍过采样导致的冗余之后二进制模式的时域表示。过程800可以从860前进至870。

在框870处,过程800可以涉及处理器通过在二进制模式的时域表示中定位预定消息标识符的实例来确定二进制模式。例如,处理器可以定位uav的faa登记号的通信协议中使用的消息标识符(字母“f”)的实例。知道字母“f”的ascii码为“01000110”,处理器可以定位消息标识符的两个实例,如下所述(消息标识符的实例以粗体示出):

“00000100011000101000001000110001010”----------[t2’]

定位了消息标识符的实例后,处理器因此可以将二进制模式确定为:

“01000110001010000”----------[tp3]

尽管主要使用uav为例说明了上面描述和将在下面公开的单通道光通信的各种实施例,但是光通信系统的应用可以扩展到uav登记之外并且包括其他有人或无人运输车辆,诸如陆基车辆、水上船只或飞行器。此外,光通信系统的发送端和接收端都可以在同一车辆上实现。例如,除了广播其自己的faa登记号之外,uav还能够解码从附近uav发出的光信号以对其进行识别。再例如,陆基车辆(例如汽车)可以配备有光通信系统的发送和接收部件,以便在陆基车辆穿越非组网区域时可以实现v2v(即,车辆对车辆)或v2x(即,车辆对环境)通信。

如上所述,光通信系统中使用的光信号的波长可以超出可见光的范围。例如,光发射器017可以包括红外光源,并且接收端上的智能电话020或其他装置可以配备有红外摄像机,并且因此能够接收从红外光源发出的调制红外信号。

图9示出了运输车辆900的示例性框图。运输车辆900可以包括计算机或主处理器910,诸如嵌入在图1的智能电话020中能够执行图4的过程400的处理器。运输车辆900还可以包括能够记录移动或静止对象(例如,图1的uav010)的视频摄像机950,该对象可以从对象的光发射器(例如,uav010的光发射器017)发出调制光信号。光信号可以沿对象与运输车辆900之间的los(例如,图1的uav010与智能电话020之间的los123)到达运输车辆900。具体地,视频摄像机950可能能够生成记录对象的视频流(例如,图5的视频流021)。视频流可以由时间上连续记录的多个视频帧(例如,图5的视频帧f(1)至f(n))组成,并且视频帧中的每一者都可以具有对象的光发射器的图像(例如,图5的具有光发射器017的图像的视频帧621)。

此外,运输车辆900可以包括用于分析和/或处理由视频摄像机950记录的视频流的计算机视觉引擎980。具体地,主处理器910可以利用计算机视觉引擎980来执行图5的过程500,并将视频流转换成二进制串(例如,图5的二进制串041)。二进制串可以由多个二进制位(例如,图5的二进制位bit(1)至bit(n))组成。二进制串可以包含重复的二进制模式,该二进制模式表示对象发送的调制光信号中所传达的消息。

在一些实施例中,计算机视觉引擎980可以包括对象追踪器982(诸如,图6的对象追踪器682),该对象追踪器可以被主处理器910用来从多个视频帧中的每一者中摘录roi(诸如,图6的roi651或roi657)。在一些实施例中,计算机视觉引擎980还可以包括一个或多个滤色器984(诸如,图7的滤色器084),该滤色器可以被主处理器910用来将每个视频帧的roi转换成二进制图像(诸如,图7的二进制图像630或631)。在一些实施例中,计算机视觉引擎980还可以包括二进制图像分类器986(诸如,图7的二进制图像分类器086),该二进制图像分类器可以被主处理器910用来基于二进制图像确定二进制位中的对应一个二进制位的值(‘0’或‘1’)。

此外,主处理器910可以执行图8的过程800以从二进制串提取二进制模式(例如,如上所示的二进制表示[tp3])。

在一些实施例中,主处理器910可以包括ascii编解码器912,以解码二进制模式并获得消息。在一些实施例中,运输车辆900还可以包括存储器920,该存储器能够在主处理器910执行过程800时存储各种二进制表示(例如,如上所示的[t1]、[f1]、[fs1]至[fs4]、[fs1’]至[fs6’]、[t2]、[t2’]和[tp3]),和/或从二进制模式中存储由ascii编解码器912解码的消息。在一些实施例中,运输车辆900还可以包括能够将解码后的消息传递给第三方的通信模块930。例如,ascii编解码器912可以对二进制模式进行解码,并得到执行未经授权的飞行的uav的faa登记号,并且主处理器910可能能够经由通信模块930将faa登记号通知给执法部门。在一些实施例中,运输车辆900还可以包括能够显示解码后的消息的显示器940。

在一些实施例中,运输车辆900可以包括光发射器微控制器960和光发射器970(诸如,图1的光发射器017),并且主处理器910可以利用光发射器微控制器960和光发射器970来执行图3的过程300。也就是说,主处理器910可以通过光发射器微控制器960调制光发射器970,使得光发射器970可以发出或以其他方式广播传达运输车辆900本身的车辆登记号的光信号。ascii编解码器912可以对车辆登记号进行编码并且相应地调制光发射器970。在一些实施例中,处理器910可以通过光发射器微控制器960来调制光发射器970,以发出传达除运输车辆900的车辆登记号以外的消息的光信号。

在一些实施例中,光发射器970可以具有由主处理器910通过光发射器微控制器960控制的多个led,诸如led970(1)、970(2)、......、970(m),如图9所示。led970(1)至970(m)可以形成几何排列,诸如阵列。在一些实施例中,可以控制led970(1)至970(m)同时打开或关闭。在一些实施例中,可以控制led970(1)至970(m),使得可以同时打开led970(1)至970(m)中的仅一部分而不是全部。也就是说,可以控制led970(1)至970(m)以各种几何图案共同发出光信号。各种几何图案可以通过在发出光信号时增加额外的自由度来帮助增加光通信的带宽或吞吐量。在一些实施例中,led970(1)至970(m)中的一些或全部可能能够发出具有不同波长的光,从而显示出不同颜色。不同颜色也可以通过在发出光信号时增加另一个额外的自由度来帮助增加光通信的带宽或吞吐量。

在以上公开内容中,参考形成其一部分的附图,并且在附图中通过说明的方式来示出可以实践本公开的具体实现方式。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施方式并且可做出结构改变。说明书中对于“一个实施例”、“一实施例”、“示例实施例”等的引用指示所述的实施例可包括特定特征、结构或特性,但每一个实施例都可不必包括所述特定特征、结构或特性。此外,此类短语不一定是指同一实施例。此外,当结合实施例描述特定特征、结构或特性时,无论是否明确地描述,结合其他实施例实现这样的特征、结构或特性都在本领域的技术人员的知识范围内。

本文公开的系统、设备、装置和方法的实现方式可以包括或利用专用或通用计算机,所述专用或通用计算机包括计算机硬件,诸如像一个或多个处理器和系统存储器,如本文所讨论。本公开的范围内的实现方式还可以包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。此类计算机可读介质可以为可以由通用或专用计算机系统存取的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(装置)。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实现方式可以包括至少两种截然不同的计算机可读介质:计算机存储介质(装置)和传输介质。

计算机存储介质(装置)包括ram、rom、eeprom、cd-rom、固态驱动器(“ssd”)(例如,基于ram)、快闪存储器、相变存储器(“pcm”)、其他类型的存储器、其他光盘存储装置、磁盘存储装置或其他磁存储装置,或者可以用于以计算机可执行指令或数据结构的形式存储期望的程序代码手段并且可以由通用或专用计算机访问的任何其他介质。

本文公开的装置、系统以及方法的实现方式可以通过计算机网络进行通信。“网络”被定义为能够在计算机系统和/或模块和/或其他电子装置之间传输电子数据的一个或多个数据链路。当通过网络或另一种通信连接(硬连线、无线或者硬连线或无线的任何组合)向计算机传送或提供信息时,计算机适当地将所述连接视作传输介质。传输介质可以包括网络和/或数据链路,所述网络和/或数据链路可以用于以计算机可执行指令或数据结构形式携带期望的程序代码手段并且可以由通用或专用计算机访问。上述的组合也应包括在计算机可读介质的范围内。

计算机可执行指令包括例如指令和数据,所述指令和数据当在处理器处执行时致使通用计算机、专用计算机或专用处理装置执行特定功能或功能组。计算机可执行指令可以是例如二进制文件、中间格式指令(诸如汇编语言)或者甚至源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应理解,在所附权利要求中定义的主题不必限于已描述的上述特征或动作。更确切地,所述特征和动作被公开作为实施权利要求的示例形式。

本领域的技术人员应理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,所述计算机系统配置包括内置式车辆计算机、个人计算机、台式计算机、膝上型计算机、消息处理器、手持式装置、多处理器系统、基于微处理器的或可编程的消费电子设备、网络pc、小型计算机、大型计算机、移动电话、pda、平板计算机、寻呼机、路由器、交换机、各种存储装置等。本公开还可以在分布式系统环境中实践,其中通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线数据链路与无线数据链路的任何组合)的本地和远程计算机系统两者都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储装置两者中。

此外,在适当的情况下,本文所述的功能可以在以下一者或多者中执行:硬件、软件、固件、数字部件或模拟部件。例如,一个或多个专用集成电路(asic)可以被编程为执行本文所述的系统和过程中的一个或多个。某些术语在整个描述和权利要求中用于指代特定的系统部件。本领域技术人员应当理解,可通过不同名称来指代部件。本文献并不意图区分名称不同但功能相同的部件。

应注意,上文所讨论的传感器实施例可以包括计算机硬件、软件、固件或它们的任何组合以执行它们的功能的至少一部分。例如,传感器可以包括被配置为在一个或多个处理器中执行的计算机代码,并且可以包括由计算机代码控制的硬件逻辑/电路。这些示例性装置在本文出于说明目的而提供,而不意图进行限制。如相关领域技术人员所知晓,本公开的实施例可在另外类型的装置中实现。

本公开的至少一些实施例涉及计算机程序产品,其包括(例如,以软件形式)存储在任何计算机可用介质上的这样的逻辑。这样的软件在一种或多种数据处理装置中执行时致使装置如本文所述的进行操作。

虽然已经在上文描述了本公开的各种实施例,但应理解,这些实施例仅通过示例而非限制的方式呈现。相关领域的技术人员将明白,在不脱离本公开的精神和范围的情况下可作出形式和细节上的各种变化。因此,本公开的广度和范围不应受任一上述示例性实施例的限制,而是应仅根据以下权利要求和其等效物定义。已经出于说明和描述目的而呈现了前述描述。前述描述无意是详尽的或将本公开限制于所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。此外,应注意,前述可选实现方式中的任一者或全部可按任何所期望的组合使用,以形成本公开的附加混合实现方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1