用于在物理层帧和视频帧之间将帧定时同步的系统和方法

文档序号:1776846 发布日期:2019-12-03 浏览:8次 >En<

阅读说明:本技术 用于在物理层帧和视频帧之间将帧定时同步的系统和方法 (System and method for synchronizing frame timing between physical layer frame and video frame ) 是由 王晓东 于 2017-08-25 设计创作,主要内容包括:本公开涉及一种用于将视频传输与物理层同步的系统、方法和无人机(UAV)。该UAV可以包括至少一个视频记录设备、至少一个处理器和至少一个UAV收发器。至少一个视频记录设备可以被配置为记录包括多个视频帧在内的视频数据。至少一个处理器可以被配置为确定与多个视频帧中的视频帧的帧头相对应的第一时间点,并且至少部分地基于第一时间点来确定与物理层帧的帧头相对应的第二时间点。至少一个UAV收发器可以被配置为在第二时间点处开始发送视频帧。(This disclosure relates to a kind of for by the system, method and unmanned plane (UAV) of transmission of video and physical layer synchronization.The UAV may include at least one video recording apparatus, at least one processor and at least one UAV transceiver.At least one video recording apparatus can be configured as the video data recorded including multiple video frames.At least one processor, which can be configured as, determines first time point corresponding with the frame head of video frame in multiple video frames, and is based at least partially on first time point to determine the second time point corresponding with the frame head of physical layer frame.At least one UAV transceiver, which can be configured as, to be started to send video frame at the second time point.)

用于在物理层帧和视频帧之间将帧定时同步的系统和方法

技术领域

本申请涉及用于传输同步的系统和方法,更具体地,涉及用于在物理层帧和视频帧之间将帧定时同步的系统和方法。

背景技术

诸如无人机(UAV)之类的无人可移动平台(UMP)已广泛用于诸如航空摄影、监视、科学研究、地质勘测和遥感等各种领域。用户可以经由地面终端来控制UAV的操纵。UAV可以记录飞行期间的视频数据,并将视频数据发送给地面终端。地面终端可以与记录同步地显示视频数据。

为了在不引起滞后的情况下在地面终端处显示视频数据,对于UAV来说,重要的是减少从UAV向地面终端发送视频数据的时间延迟。

发明内容

根据本公开的一方面,提供了一种用于将视频传输与物理层同步的方法。所述方法可以在包括至少一个处理器和存储设备的计算设备上实现。所述方法可以包括:确定与视频帧的帧头相对应的第一时间点;至少部分地基于所述第一时间点来确定与物理层帧的帧头相对应的第二时间点;以及在所述第二时间点处开始发送所述视频帧。

在一些实施例中,所述方法还可以包括在所述第二时间点处生成所述物理层帧。

在一些实施例中,至少部分地基于所述第一时间点来确定与物理层帧的帧头相对应的第二时间点可以包括:至少部分地基于所述第一时间点来确定所述第二时间点;以及将与物理层帧的帧头相对应的第三时间点与所述第二时间点同步,所述物理层帧与所述视频帧相对应。

在一些实施例中,所述方法还可以包括:在所述第二时间点处发送所述视频帧之前压缩所述视频帧。

在一些实施例中,所述方法还可以包括:将所述视频帧分割成多个子帧;以及压缩与所述多个子帧中的每个子帧相关联的数据。

在一些实施例中,确定所述第二时间点可以包括:确定用于压缩所述多个子帧中的子帧的时间段;以及基于所述第一时间点和用于压缩所述子帧的所述时间段来确定所述第二时间点。

在一些实施例中,基于所述第一时间点来确定所述第二时间点可以包括:确定用于压缩所述视频帧的至少一部分的时间段;以及基于所述第一时间点和所述时间段来确定所述第二时间点。

在一些实施例中,所述视频帧的所述帧头可以与帧同步脉冲信号相对应。

在一些实施例中,所述视频帧可以从由视频记录设备发送的实时视频流中提取。

在一些实施例中,所述视频帧可以从在通信地连接到视频记录设备的数据接口处接收的实时视频中提取。

在一些实施例中,所述方法还可以包括:获得所述视频帧的帧速率;以及基于所述视频帧的所述帧速率来配置所述物理层帧的帧速率。

在一些实施例中,所述物理层帧的所述帧速率可以是所述视频帧的所述帧速率的整数倍。

根据本公开的另一方面,提供了一种用于将视频传输与物理层同步的系统。所述系统可以包括:存储器,存储一个或多个计算机可执行指令;以及一个或多个处理器,被配置为与所述存储器通信。当执行所述一个或多个计算机可执行指令时,所述一个或多个处理器可以旨在用于:确定与视频帧的帧头相对应的第一时间点;至少部分地基于所述第一时间点来确定与物理层帧的帧头相对应的第二时间点;以及在所述第二时间点处开始发送所述视频帧。

根据本公开的另一方面,提供了一种非暂时性计算机可读介质。所述非暂时性计算机可读介质可以包括可执行指令。当所述可执行指令由至少一个处理器执行时,所述可执行指令可以使所述至少一个处理器实现一种方法。所述方法可以包括:确定与视频帧的帧头相对应的第一时间点;至少部分地基于所述第一时间点来确定与物理层帧的帧头相对应的第二时间点;以及在所述第二时间点处开始发送所述视频帧。

根据本公开的另一方面,提供了一种无人机(UAV)。所述UAV可以包括至少一个视频记录设备、至少一个处理器和至少一个UAV收发器。所述至少一个视频记录设备可以被配置为记录包括多个视频帧在内的视频数据。所述至少一个处理器可以被配置为确定与所述多个视频帧中的视频帧的帧头相对应的第一时间点,并且至少部分地基于所述第一时间点来确定与物理层帧的帧头相对应的第二时间点。所述至少一个UAV收发器可以被配置为在所述第二时间点处开始发送所述视频帧。

附加的特征将在下面的描述中部分地阐述,并且在阅读以下内容和附图之后将部分地对本领域技术人员变得明显,或者可以通过示例的产生或操作被获悉。本公开的特征可以通过对以下讨论的详细示例中阐述的方法、手段和组合的各个方面的实践或使用来实现和获得。

附图说明

根据示例性实施例进一步描述了本公开。参考附图详细描述这些示例性实施例。这些实施例是非限制性的示例性实施例,其中贯穿附图的若干视图,相似的附图标记表示相似的结构,并且其中:

图1示出了根据本公开的一些实施例的示例性无人机(UAV)系统的示意图;

图2示出了根据本公开的一些实施例的示例性无人机(UAV)的框图;

图3示出了根据本公开的一些实施例的用于在UAV系统中进行视频传输的示例性过程的流程图;

图4示出了根据本公开的一些实施例的UAV系统中的示例性地面终端的框图;

图5示出了根据本公开的一些实施例的UAV系统中的示例性处理器的框图;

图6示出了根据本公开的一些实施例的用于在UAV系统中发送视频帧的示例性过程的流程图;

图7示出了根据本公开的一些实施例的用于在UAV系统中配置物理层帧的帧速率的示例性过程的流程图;

图8A和图8B示出了根据本公开的一些实施例的UAV系统中的视频传输的两个示意图;以及

图9示出了示例性开放系统互连(OSI)模型的示意图。

具体实施方式

在以下详细描述中,以示例的方式阐述了大量的具体细节,以提供对相关公开的透彻理解。然而,对于本领域技术人员来说应该是显而易见的是,可以在没有这些细节的情况下实践本公开。在其它情况下,为了避免不必要地模糊本公开的方面,仅在相对较高的层面上描述了公知的方法、过程、组件和/或电路,而没有详细地描述。对公开的实施例的各种修改对本领域技术人员而言将显而易见,并且在不背离本发明的范围的情况下,此处定义的一般原理可适用于其他实施例和应用。因此,本公开并非意在限于所示的实施例,而应赋予与权利要求一致的最宽范围。

将理解的是,本文中使用的术语“系统”、“单元”、“模块”和/或“引擎”是一种用于以升序来区分不同层面的不同组件、元件、零件、部分或组装件的方法。但是,如果其他表达可以实现相同的目的,则这些术语可以被其他表达替换。

将理解的是,除非上下文另有明确说明,否则当单元、模块或引擎被称为在另一单元、模块或引擎“之上”、与其“连接”或“耦接”时,该单元、模块或引擎可以直接在另一单元、模块或引擎之上、与其直接连接或耦接,或与其直接通信,或者可以存在中间单元、模块或引擎。如本文中所使用的术语“和/或”包括相关列出项目中的一个或多个的任何和所有组合。

本文中所使用的术语仅仅是为了描述具体示例和实施例,而不是意在进行限制。如在本文中所使用的,单数形式“一”、“一个”和“所述”可以旨在还包括复数形式,除非上下文明确地给出相反的指示。还将理解,术语“包括”和/或“包含”当在本公开中使用时,指定了存在整数、设备、行为、所声明的特征、步骤、元素、操作和/或组件,但是并没有排除存在或添加一个或多个整数、设备、行为、特征、步骤、元素、操作、组件和/或其组合。

本公开提供了用于UAV系统中的视频传输同步的系统和方法。本公开根据视频流传输的帧定时来调整物理层传输的帧定时。视频流可以直接从UAV上承载的视频记录设备接收,或者可以在通信地连接到UAV上承载的视频记录设备的数据接口处接收。通过将物理层帧和视频帧之间的帧定时进行同步,可以减少由于与每个视频帧相关联的等待时间而导致的从UAV到地面终端的视频流的传输延迟。此外,本公开将物理层帧的帧速率配置为视频帧的帧速率的整数倍。因此,可以减少UAV和地面终端之间的视频流传输期间的帧定时的调整次数。

图1示出了根据本公开的一些实施例的示例性无人机(UAV)系统100的示意图。UAV系统100可以包括UAV 102、地面终端104、网络106、服务器108和存储设备110。

UAV 102可以被配置为在飞行期间收集数据并且将收集到的数据发送给地面终端104和/或服务器108。数据可以包括UAV 102的飞行状态、UAV 102的电池使用情况、与周围环境相关联的信息等。数据还可以包括文本数据、视频数据、音频数据等。视频数据可以包括视频、图像、图形、动画、音频等。UAV 102可以在飞行期间将数据发送给地面终端104,以在地面终端104上同步地显示数据的内容。

UAV 102可以完全自主地操作(例如,通过诸如机载控制器之类的计算系统来操作)、半自主地操作或手动地操作(例如,通过用户操作在移动设备上实现的控制应用)。在一些实施例中,用户可以经由地面终端104来操作UAV 102。UAV 102可以从实体(例如,人类用户或自主控制系统)接收命令,并通过执行一个或多个动作来响应这些命令。例如,可以控制UAV 102从地面起飞、在空中移动、移动到目标位置或一系列目标位置、在空中悬停、在地面上着陆等等。作为另一示例,可以控制UAV 102以指定的速度和/或加速度或沿着指定的路线在空中移动。此外,所述命令可以被用于控制图2中描述的UAV 102的一个或多个组件(例如,视频记录设备206、传感器210、飞行控制器208等)。例如,某些命令可以被用于控制视频记录设备206的位置、朝向和/或操作。

地面终端104可以被配置为发送、接收、输出、显示和/或处理信息。例如,地面终端104可以从UAV 102、网络106、服务器108、存储设备110等接收信息。作为另一示例,地面终端104可以发送由用户生成的用于控制UAV 102的命令。所述命令可以包括用于控制UAV102的速度、加速度、高度和/或朝向的信息。作为又一个示例,地面终端104可以向用户显示由UAV 102拍摄的图像或播放由UAV 102拍摄的视频。作为又一个示例,地面终端104可以处理从服务器108接收到的信息以更新安装在地面终端104上的应用。

在一些实施例中,地面终端104可以包括台式计算机、移动设备、膝上型计算机、平板计算机等或其任何组合。在一些实施例中,移动设备可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电视、智能摄像机、对讲机等或其任意组合。在一些实施例中,可穿戴设备可以包括智能手镯、智能鞋袜、智能眼镜、智能手表、智能头盔、智能服装、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、游戏设备、导航设备、销售点(POS)设备等或其任何组合。

网络106可以被配置为促进信息交换。在一些实施例中,UAV系统100中的一个或多个组件(例如,UAV 102、地面终端104、服务器108和存储设备110)可以经由网络106将信息发送给UAV系统100中的其他组件。例如,地面终端104可以经由网络106从UAV 102接收视频和/或图像。在一些实施例中,网络106可以是任何类型的有线或无线网络,或其组合。仅作为示例,网络106可以包括电缆网络、有线网络、光纤网络、电信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共电话交换网(PSTN)、蓝牙TM网络、ZigBeeTM网络、近场通信(NFC)网络等或其任何组合。在一些实施例中,网络106可以包括诸如基站和/或互联网交换点(未示出)之类的有线或无线网络接入点,可以通过这些接入点将UAV系统100的一个或多个组件连接到网络106以便交换信息。在一些实施例中,基站和/或互联网交换点可以是Wi-Fi站。在一些实施例中,UAV和/或地面终端104可以通过基于竞争的随机接入方式或非基于竞争的随机接入方式来接入网络106。

服务器108可以被配置为处理数据。可以从UAV 102、地面终端104、网络106、存储设备110等接收数据。例如,服务器108可以将来自UAV 102的飞行日志信息存档在存储设备110中。作为另一个示例,服务器108可以将来自地面终端104的信息备份在存储设备110中。服务器108可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任何组合。在一些实施例中,服务器108可以被集成在地面终端104中。

存储设备110可以被配置为获取和/或存储信息。该信息可以从UAV系统100的组件(例如,UAV 102、地面终端104或服务器108等)接收。例如,存储设备110可以从地面终端104获取信息。在一些实施例中,获取和/或存储在存储设备110中的信息可以包括程序、软件、算法、功能、文件、参数、数据、文本、数字、图像等或其任何组合。例如,存储设备110可以存储由UAV 102收集的图像。作为另一个示例,存储设备110可以存储来自地面终端104的参数(例如,UAV 102的纬度、经度、高度)。在一些实施例中,存储设备110可以包括大容量存储设备、可移除存储设备、易失性读写存储器、只读存储器(ROM)等或其任何组合。在一些实施例中,可以在云平台上实现存储设备110,所述云平台包括私有云、公共云、混合云、社区云,分布式云、云间、多云等或者其任何组合。

应当注意的是,UAV系统100的以上描述仅出于说明的目的被提供,并且不意在限制本公开的范围。对于本领域的普通技术人员来说,可以在本公开的教导下进行多种变化或修改。例如,UAV 102可以是记录和发送视频数据的任何类型的远程设备,包括但不限于监视设备、无线感测网络设备、智能家居设备、机载视频设备等。然而,这些变化和修改可以不脱离本公开的范围。

图2示出了根据本公开的一些实施例的示例性无人机(UAV)102的框图。UAV 102可以包括UAV收发器202、处理器204、视频记录设备206、飞行控制器208、传感器210、惯性测量单元(IMU)212以及存储介质214。

UAV收发器202可以发送和/或接收数据。数据可以包括文本、视频、图像、音频、动画,图形等或其任何组合。在一些实施例中,UAV 102可以经由UAV收发器202与地面终端104进行通信。例如,UAV收发器202可以将由处理器204处理的视频(例如,压缩后的视频)发送给地面终端104。作为另一示例,UAV收发器202可以从地面终端104接收用于操纵UAV 102的移动的命令。UAV收发器202可以是任何类型的收发器。例如,UAV收发器202可以是能够通过无线网络发送或接收数据的射频(RF)收发器。更具体地,无线网络可以在各种频带中操作,例如433MHz、900MHz、2.4GHz、5GHz、5.8GHz等。在一些实施例中,UAV收发器202可以包括发送器和接收器。发送器和接收器可以各自实现UAV收发器202的部分或全部功能。

处理器204可以处理数据。数据可以从UAV 102的其他组件(例如,UAV收发器202、视频记录设备206或存储介质214等)接收。例如,处理器204可以处理由UAV收发器202接收的数据。作为另一示例,处理器204可以处理要经由UAV收发器202发送给地面终端104的数据。作为又一示例,处理器204可以从视频记录设备206接收视频数据。处理器204可以压缩视频数据、调整视频数据、以及经由UAV收发器202将调整后的视频数据发送给地面终端104。该调整可以包括将视频数据的传输与物理层同步。处理器204可以从传感器210、飞行控制器208和IMU 212接收数据,以便评估UAV 102的状态并确定动作过程。例如,处理器204可以与IMU 212持续地和/或周期性地通信,IMU 212可以测量UAV 102的速度和姿态数据,并自适应地调整UAV 102的位置。在一些实施例中,处理器204可以包括一个或多个处理器(例如,单核处理器或多核处理器)。在一些实施例中,处理器204可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任何组合。

视频记录设备206可以捕获视频数据。视频数据可以包括图像、视频、音频、图形、动画等。视频记录设备206可以是相机、摄像机、视频记录仪、数字相机、红外相机或紫外相机等。视频记录设备206可以将捕获到的视频数据发送给处理器204以供处理。例如,视频记录设备206可以将捕获到的视频数据发送给处理器204。处理器204可以压缩视频数据,并使压缩后的视频数据被传输给地面终端104。地面终端104可以接收和解压缩视频数据。在一些实施例中,UAV 102可以包括用于安装和/或稳定视频记录设备206的保持器/云台(pan-tilt)设备(图2中未示出),例如具有至少一个轴的万向节。处理器204可以控制保持器/云台设备的操作以调整视频记录设备206的位置。

飞行控制器208可以控制UAV 102的推进以控制UAV 102的俯仰角、侧倾角和/或偏航角。飞行控制器208可以改变UAV 102的速率、朝向和/或位置。例如,在从地面终端104接收到包括用户定义的路线计划的数据时,处理器204可以解释该数据并将对应的指令发送给飞行控制器208。飞行控制器208可以基于所述指令来改变UAV 102的速度和/或位置。

传感器210可以收集相关数据。相关数据可以包括与UAV状态、周围环境或环境内的物体有关的信息。传感器210可以包括位置传感器(例如,全球定位卫星(GPS)传感器、支持位置三角测量的移动设备发送器)、视觉传感器(例如,能够检测可见光、红外光或紫外光的成像设备,例如相机)、接近度或范围传感器(例如,超声波传感器、LIDAR(光检测和测距)、飞行时间或深度相机)、惯性传感器(例如,加速度计、陀螺仪、惯性测量单元(IMU))、高度传感器、姿态传感器(例如,罗盘、IMU),压力传感器(例如,气压计)、音频传感器(例如,麦克风),场传感器(例如,磁力计、电磁传感器)等或其任何组合。可以将传感器210收集的数据发送给处理器204。

IMU 212可以测量UAV 102的角速度(例如,姿态变化)和线性加速度(例如,速度变化)。例如,IMU 212可以包括用于测量UAV 102的姿态变化(例如,绝对或相对俯仰角、侧倾角和/或偏航角)的一个或多个陀螺仪,并且可以包括用于测量UAV 102的线性速度变化(例如,沿着x、y和/或z方向的加速度)的一个或多个加速度计。在一些实施例中,IMU 212可以被集成在传感器210中。

存储介质214可以存储数据。数据可以从UAV收发器202、处理器204、视频记录设备206、飞行控制器208、传感器210、IMU 212和/或任何其他设备获得。数据可以包括图像数据、视频数据、与图像数据和视频数据相关联的元数据、指令数据等。存储介质214可以包括硬盘驱动器、固态驱动器、可移除存储设备驱动器(例如,闪存盘驱动器、光盘驱动器等)、数字视频记录仪等或其任何组合。

应当注意的是,UAV 102的以上描述仅出于说明的目的而提供,并且不意在限制本公开的范围。对于本领域的普通技术人员来说,可以在本公开的教导下进行多种变化或修改。例如,一些其他组件可以在UAV 102中实现,例如,电池可以在UAV 102中被实现为电源。作为另一示例,UAV 102可以包括用于控制或调整安装在其中的马达的旋转速度的电子速度控制器(ESC)。然而,那些变化和修改可以不脱离本公开的范围。

图3示出了根据本公开的一些实施例的用于在UAV系统中进行视频传输的示例性过程300的流程图。在一些实施例中,示例性过程300可以由UAV 102的一个或多个处理器来实现。

在步骤302中,可以记录视频数据。在一些实施例中,步骤302可以由(图2中所示的)视频记录设备206来实现。视频数据可以包括视频、音频、图像、图形、动画等或其任何组合。在一些实施例中,视频数据可以包括多个视频帧。在一些实施例中,可以响应于从处理器204或地面终端104接收到的请求来执行步骤302。例如,地面终端104的用户可以经由用户接口(例如,图4中所示的用户接口408)来发送用于记录视频数据的请求。在接收到请求之后,视频记录设备206可以被激活以记录视频数据。作为另一示例,用于记录视频数据的命令可以由用户经由地面终端104预先编程,并被存储在UAV 102的存储介质214中。视频数据的记录可以由处理器204经由执行存储在存储介质214中的预先编程的命令来控制。

在步骤304中,可以从视频数据中提取视频帧。在一些实施例中,步骤304可以由处理器204来实现。如本文中所使用的,视频帧可以指代视频数据的帧。视频帧可以与取决于压缩算法的时间的长度相对应。在一些实施例中,视频帧可以是静止图像。视频帧可以包括帧头。帧头可以指示视频帧传输的起始点(start)。帧头可以包括视频帧的信息,例如同步信息、地址信息、错误控制信息、编码信息等。同步信息可以包括视频帧的起始时间点和/或结束时间点。在一些实施例中,帧头可以与帧同步脉冲信号相对应。帧同步脉冲信号可以指示视频帧的起始时间点。在一些实施例中,视频帧可以被分割成多个子帧。与多个子帧中的每个子帧相关联的数据可以被压缩和/或打包成数据包以便传输。多个子帧中的每个子帧可以与视频帧的一部分相对应。分段子帧的长度可以相同或不同。

在步骤306中,可以将物理层帧的传输与物理层上的视频帧的传输同步。在一些实施例中,步骤306可以由处理器204来实现。在开放系统互连(OSI)架构中,物理层定义了通过连接网络节点的物理链路来发送原始比特的方式。比特流可以被转换为物理信号,以便通过硬件传输介质来发送。物理层包括物理信令子层,该物理信令子层与数据链路层的媒体访问控制(MAC)子层接口连接(interface)并对发送和接收执行信令控制。根据本申请的物理层帧是指由OSI架构的物理层生成的帧,其经由物理层执行发送和接收的信令控制。数据包(例如,压缩后和/或打包后的视频帧或其子帧)通过物理层的传输由物理层帧控制。具体地,物理层帧的第一个比特的发送可以用信号通知允许发送数据包(例如,压缩后和/或打包后的视频帧或其子帧)的第一个比特。即,发送数据包的第一个比特的定时(也称为视频帧的帧定时)需要与发送物理层帧的第一个比特的定时(也称为物理层帧的帧定时)同步。当视频帧的帧定时与物理层帧的帧定时异步时,视频帧可能不被立即发送。当确定视频帧的帧定时与从当前的物理层帧开始的后续物理层帧之一的帧定时同步时,可以允许通过物理层发送视频帧。由于UAV 102可以以非基于竞争的随机接入机制来接入网络106,所以可以随机地生成用于传输控制的物理层帧。在一些实施例中,可以根据物理层的定时器的调度来生成物理层帧。物理层帧的帧定时和视频帧的帧定时可以是异步的。结果,物理层帧传输的起始点(也称为物理层帧的帧头)和通过物理层进行的视频帧传输的起始点(也称为可以发送压缩后和/或打包后的子帧的时间点)可能是异步的。例如,当视频帧的子帧被压缩和/或打包成数据包并准备在物理层中发送时,预期的发送起始时间可能落在物理层帧的传输中间。压缩后的子帧(即数据包)可能在被发送之前必须等待一段时间(也称为等待时间),从而导致传输延迟。由于用于传输控制的物理层帧可能是随机地生成的,或者是根据物理层的定时器的调度生成的,因此在允许数据包被发送之前的等待时间是不可预测的。为了减少在发送数据包之前的等待时间,可以调整物理层帧的帧头。例如,可以将与物理层帧的帧头相对应的时间点调整为与期望发送压缩后和/或打包后的子帧的时间点同步。同步的详细过程可以在本公开的其他地方找到(例如,在图6、图8A、图8B等的描述中)。

在步骤308中,可以发送视频帧。在一些实施例中,步骤308可以由处理器204来实现。视频帧可以被发送给UAV 102的一个或多个其他组件,例如UAV收发器202、存储介质214等。例如,视频帧可以被发送给UAV收发器202以供处理。所述处理可以包括放大、模数转换、数模转换等。UAV收发器202可以将处理后的数据发送给地面终端104。作为另一示例,视频帧可以被存储在存储介质214中。在一些实施例中,视频帧可以在物理层中发送。如步骤306中所述,可以将物理层帧与视频帧同步,使得可以发送视频帧(或其压缩后和/或打包后的子帧)的时间点与物理层帧的帧头同步。视频帧(或其压缩后和/或打包后的子帧)可以与物理层中的物理层帧一起发送。

应当注意的是,图3所示的步骤用于说明的目的,而不意在限制本公开的保护范围。在一些实施例中,过程300可以在具有一个或多个未描述的附加步骤和/或在不具有上面讨论的一个或多个步骤的情况下完成。另外,在图3中执行过程300的步骤的顺序并非旨在限制。例如,可以在图3所示的过程中的任何两个步骤之间添加一个或多个其他可选步骤。这样的步骤的示例可以包括存储或缓存视频数据等。

图4示出了根据本公开的一些实施例的UAV系统中的示例性地面终端104的框图。地面终端104可以包括地面终端收发器402、处理器404、显示器406、用户接口408和存储器410。

地面终端收发器402可以发送和/或接收数据。数据可以包括文本、视频、图像、音频、动画,图形等或其任何组合。在一些实施例中,地面终端104可以经由地面终端收发器402与UAV 102进行通信。例如,地面终端收发器402可以将来自处理器404的指令(例如,用于记录视频数据的指令)发送给UAV收发器202。当从地面终端104接收到指令时,UAV收发器202可以将所述指令发送给视频记录设备以开始记录视频数据。地面终端收发器402可以是任何类型的收发器。例如,地面终端收发器402可以是能够通过无线网络发送或接收数据的射频(RF)收发器。更具体地,无线网络可以在各种频带中操作,例如433MHz、900MHz、2.4GHz、5GHz、5.8GHz等。在一些实施例中,地面终端收发器402可以包括发送器和接收器。发送器和接收器可以各自实现地面终端接收器402的部分或全部功能。

处理器404可以处理数据。数据可以从地面终端收发器402、存储器410等接收。所述数据可以包括与UAV 102的状态有关的信息(例如,速度、加速度、高度等)、图像数据、视频数据、用户指令(例如,用于增加UAV 102的高度的指令)等。在一些实施例中,数据的处理可以包括存储、分类、选择、变换、计算、估计、编码、解码等或其任何组合。例如,处理器404可以对从UAV 102接收的压缩后的视频帧进行解压缩。作为另一示例,地面终端104可以经由地面终端收发器402从服务器108接收应用更新包。处理器404可以处理应用更新包以更新安装在地面终端104上的相关移动应用。作为又一示例,处理器404可以处理来自存储器410的数据以查看历史飞行日志。在一些实施例中,处理器404可以包括一个或多个微处理器、现场可编程门阵列(FPGA)、中央处理单元(CPU)、数字信号处理器(DSP)等。

显示器406可以显示信息。所述信息可以包括文本、音频、视频、图像等或其任何组合。显示器406可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器或曲面屏幕、电视设备、阴极射线管(CRT)等或其组合。在一些实施例中,显示器406可以包括触摸屏。在一些实施例中,显示在显示器406上的信息可以与UAV102的状态(例如,高度、速度等)有关。在一些实施例中,由视频记录设备206捕获的图像和/或视频可以被显示在显示器406上。

用户接口408可以接收与地面终端104的用户交互,并生成用于操作地面终端104的一个或多个组件或UAV系统100中的其他组件的一个或多个指令。所述一个或多个指令可以包括用于操作地面终端收发器402以与UAV收发器202进行通信的指令、用于操作处理器404以处理从地面终端收发器402接收的数据的指令、用于操作显示器406以显示接收到的图像和/或视频的指令、用于操作存储器410以存储数据的指令、用于操作UAV 102以捕获视频数据的指令等或其任何组合。在一些实施例中,用户接口408可以包括一个或多个输入设备,例如,触摸屏、键盘、鼠标、轨迹球、操纵杆、触控笔、音频识别设备或应用等。例如,键盘可以被集成在地面终端104中。可以响应于用户以某一顺序按下键盘上的多个键来生成指令。在一些实施例中,所述指令可以指导UAV 102调整飞行姿态。在一些实施例中,所述指令可以指导视频记录设备206拍摄照片或记录视频。在一些实施例中,所述指令可以指导显示器406显示照片或视频。在一些实施例中,所述指令可以指导存储器410存储数据。例如,在获得视频之后,存储器410可以接收用于存储视频的指令。

存储器410可以存储数据。所述数据可以从地面终端收发器402、处理器404、显示器406、用户接口408和/或UAV系统100中的任何其他组件获得。数据可以包括图像数据、视频数据、与图像数据和视频数据相关联的元数据、指令数据等。在一些实施例中,存储器410可以包括硬盘驱动器、固态驱动器、可移除存储设备驱动器(例如,闪存盘驱动器、光盘驱动器等)、数字视频记录仪等或其任何组合。

应当注意,地面终端104的以上描述仅出于说明的目的而提供,并且并非旨在限制本公开的范围。对于本领域的普通技术人员来说,可以在本公开的教导下进行多种变化或修改。例如,地面终端104的一个或多个组件可以分别包括独立的存储块(未示出)。然而,那些变化和修改可以不脱离本公开的范围。

图5示出了根据本公开的一些实施例的UAV系统中的示例性处理器204的框图。处理器204可以包括数据获取模块502、数据压缩和打包模块504、物理层处理模块506和存储模块508。处理器204中的模块可以以有线或无线方式来连接。

数据获取模块502可以获得数据。所述数据可以与UAV 102(例如,UAV 102的速度)、周围环境(例如,温度、大气压力等)或所述环境内的物体有关。所述数据可以包括图像数据、音频数据、视频数据等或其任何组合。所述数据可以从UAV收发器202、视频记录设备206、存储介质214或UAV系统100的其他组件获得。在一些实施例中,视频数据可以包括实时视频流。实时视频流可以由视频记录设备206发送,或者在通信地连接到视频记录设备206的数据接口处接收。视频数据可以包括多个视频帧。多个视频帧中的每个视频帧可以具有帧头。多个视频帧中的每个视频帧的帧头可以与帧同步脉冲信号相对应。帧同步脉冲信号可以指示在物理层中发送多个视频帧中的每个视频帧的起始时间点。

数据压缩和打包模块504可以压缩和/或打包数据。所述数据可以从数据获取模块502或存储模块508接收。数据压缩和打包模块504可以被配置为减少数据中的冗余。所述冗余可以包括时间冗余、空间冗余、统计冗余、感知冗余等。可以以各种压缩算法来压缩数据。压缩算法可以包括无损数据压缩和有损数据压缩。无损数据压缩可以包括游程长度编码(RLE)、Lempel-Ziv压缩、霍夫曼编码、通过部分匹配进行的预测(PPM)、bzip2压缩等或其任何组合。有损数据压缩可以包括分形压缩、矢量量化、小波压缩、线性预测编码等或其任何组合。在一些实施例中,数据可以是视频数据。视频数据可以在视频编码标准下被压缩。视频编码标准可以包括但不限于H.120、H.261、H.262、H.263、H.264、高效视频编码、MPEG-4等或其任何组合。

在一些实施例中,数据压缩和打包模块504也可以被配置为打包压缩后的数据。例如,可以以各种格式来打包压缩后的数据。示例性打包格式可以包括AVI格式、DV-AVI格式、WMV格式、MP4格式、RMVB格式、MOV格式、FLV格式等或其任何组合。在一些实施例中,可以将压缩后的数据打包成符合物理层协议的数据包。

如本公开的其他地方所描述的,视频帧可以被分割成具有相同或不同长度的多个子帧。多个子帧中的每个子帧可以与视频帧的一部分相对应。数据压缩和打包模块504可以压缩与多个子帧中的每个子帧相关联的数据。备选地或附加地,压缩和打包模块504可以进一步打包压缩后的数据。

物理层处理模块506可以被配置为处理数据。所述数据可以从数据获取模块502或数据压缩和打包模块504获得。在一些实施例中,数据的处理可以包括从视频帧提取帧头、确定时间点和/或时间段、同步两个或更多个时间点等或其任何组合。例如,数据获取模块502可以从视频记录设备206获取视频帧。视频帧的子帧然后可以由数据压缩和打包模块504压缩和/或打包。压缩后和/或打包后的子帧可以在物理层中被发送。物理层帧可以控制物理层中的数据传输(包括压缩后和/或打包后的子帧的传输)。可以确定物理层帧的与数据传输开始的时间点相对应的帧头。但是,物理层帧传输的起始点(或称为物理层帧的帧头)和视频帧传输的起始点(或称为可以发送压缩后和/或打包后的子帧的时间点)可能是异步的。因此,子帧在被发送之前可能必须等待一段时间(也称为等待时间),并且可能引起延迟。为了减少等待时间和延迟,可以调整物理层帧的帧头。例如,可以将与物理层帧的帧头相对应的时间点调整为与可以发送压缩后和/或打包后的子帧的时间点同步。同步的详细过程可以在例如图6及其描述中找到。

物理层处理模块506可以包括时间确定单元510、时间调整单元520以及数据发送和接收单元530。

时间确定单元510可以被配置为确定时间点和/或时间段。所述时间点可以与视频帧的帧头或物理层帧的帧头相对应。所述时间点还可以包括开始进行或完成视频帧的压缩和/或打包的时间点、开始进行或完成视频帧的子帧的压缩和/或打包的时间点、相机(例如,视频记录设备206)开始记录视频数据的时间点等。在一些实施例中,可以基于信号来确定所述时间点。例如,视频帧的帧头可以与帧同步脉冲信号相对应。可以基于帧同步脉冲信号来确定与视频帧的帧头相对应的时间点。作为另一示例,物理层帧的帧头可以与物理层脉冲信号相对应。可以基于物理层脉冲信号来确定与物理层帧的帧头相对应的时间点。仅作为示例,帧同步脉冲信号可以指示从视频记录设备接收视频帧的时间点。

所述时间段可以包括用于压缩和/或打包视频帧的时间段、用于压缩和/或打包视频帧的子帧的时间段、用于发送物理层帧(和/或压缩后/打包后的子帧)的时间段,或处理器204进行操作的时间段等。在一些实施例中,可以基于视频帧的长度和所使用的压缩和/或打包算法来确定压缩和/或打包视频帧(或其子帧)的时间段。在一些实施例中,时间确定单元510可以由定时器实现。定时器可以是提供内部读数的计数器。所述读数可以按每个固定的时间段(例如,微秒、毫秒、秒等)增加。在一些实施例中,当读数达到预设数字时,定时器可以生成信号并且读数可以归零。在一些其他实施例中,定时器可以周期性地生成信号而不将其读数归零。例如,当读数是100的倍数时,将生成信号。在一些实施例中,当检测到帧同步脉冲信号时(例如,在与视频帧的帧头相对应的时间点处),定时器可以记录其内部读数。在一些实施例中,定时器可以记录压缩后和/或打包后的子帧的时间段(或其内部读数的数字增加)。

时间调整单元520可以被配置为调整由时间确定单元510确定的时间点和/或时间段。例如,时间调整单元520可以调整与物理层帧的帧头相对应的时间点。更具体地,可以调整时间点,使得与物理层帧的帧头相对应的时间点可以与准备好发送压缩后和/或打包后的子帧的时间点同步。压缩后和/或打包后的子帧可以与物理层中的物理层帧一起发送。在一些实施例中,可以延长或缩短当前的物理层帧的时间段,使得后续的物理层帧的帧头与要发送的子帧同步。在一些其他实施例中,定时器的内部读数可以控制物理层帧的帧头。例如,当定时器的读数达到某个值时,将生成物理层帧。通过改变定时器的读数,可以使物理层帧的帧头偏移,使得后续的物理层帧的帧头与准备好发送子帧的时间点同步。关于调整的详细描述可以在图6、图8A和图8B中找到。

数据发送和接收单元530可以被配置为发送和接收数据。所述数据可以包括从数据压缩和打包模块504(例如,压缩后和/或打包后的视频帧、压缩后和/或打包后的子帧)、存储模块508或UAV系统100的其他组件(例如,UAV收发器202、存储介质214等)接收的数据等。例如,从数据压缩和打包模块504接收的压缩后和/或打包后的子帧可以由数据发送和接收单元530发送给UAV收发器202以供处理。压缩后和/或打包后的子帧可以在物理层中被发送。所述处理可以包括放大、模数转换、数模转换等。UAV收发器202可以将处理后的数据发送给地面终端104。作为另一示例,数据发送和接收单元530可以从存储模块508获得数据。

存储模块508可以被配置为存储数据。可以从数据获取模块502、数据压缩和打包模块504、物理层处理模块506和/或其他设备获得数据。所述数据可以包括程序、软件、算法、函数、文件、参数、文本、数字、图像、视频、音频等或其任何组合。在一些实施例中,存储模块508可以包括硬盘驱动器、固态驱动器、可移除存储设备驱动器(例如,闪存盘驱动器、光盘驱动器等)、数字视频记录仪等或其组合。

应当注意,以上关于处理器204的描述仅用于说明的目的,并且不意在限制本公开的范围。对于本领域普通技术人员来说,可以在本公开的教导下进行多种变化和修改。在一些实施例中,存储模块508可以从处理器204中省略和/或被合并到存储介质214中。然而,那些变化和修改可以不脱离本公开的范围。

图6示出了根据本公开的一些实施例的用于在UAV系统中发送视频帧的示例性过程600的流程图。在一些实施例中,过程600可以由处理器204来实现。

在步骤602中,可以记录视频数据。在一些实施例中,步骤602可以由视频记录设备206来实现。步骤602可以类似于图3的步骤302,并且这里不再赘述。

在步骤604中,可以从视频数据中提取视频帧。在一些实施例中,步骤604可以由数据获取模块502来实现。如本文中所使用的,视频帧可以指代视频数据的帧。视频帧可以与时间长度相对应。在一些实施例中,视频帧可以是静止图像。

在步骤606中,可以压缩视频帧。在一些实施例中,步骤606可以由数据压缩和打包模块504来实现。视频帧可以被分割成多个子帧。可以压缩与多个子帧中的每个子帧相关联的数据。多个子帧中的每个子帧可以与视频帧的一部分相对应。视频帧可以被分割成具有相同或不同长度的多个子帧。关于压缩的相关描述可以在数据压缩和打包模块502的描述中找到。

在步骤608中,可以确定用于压缩视频帧的时间段。在一些实施例中,步骤608可以由物理层处理模块506来实现。可以基于视频帧的长度和所使用的压缩算法来确定用于压缩视频帧的时间段。在一些实施例中,用于压缩视频帧的时间段可以指的是压缩视频帧的所有子帧的时间段的总和。在一些实施例中,本申请中的压缩视频帧的时间段还可以指压缩视频帧的子帧的时间段。

在一些实施例中,还可以在步骤606中打包压缩后的视频帧(或其子帧)。在这种情况下,在步骤608中确定的时间段可以包括用于压缩和打包视频帧(或其子帧)两者的时间段。在一些实施例中,用于压缩视频帧的时间段可以包括视频帧在发送之前的其他处理时间,例如,用于向打包后的视频帧添加冗余校验比特的时间。

在步骤610中,可以从视频帧中提取帧头。在一些实施例中,步骤610可以由数据获取模块502来实现。帧头可以包括视频帧的控制信息。控制信息可以包括同步信息、地址信息、错误控制信息、编码信息等。同步信息可以包括视频帧的起始时间点和/或结束时间点。

在步骤612中,可以确定与视频帧的帧头相对应的第一时间点。在一些实施例中,步骤612可以由物理层处理模块506来实现。如本文所使用的,第一时间点可以指视频帧的起始时间点。在一些实施例中,视频帧的帧头可以与帧同步脉冲信号相对应。在物理层上接收到帧同步脉冲信号的时间点还可以被确定为第一时间点。

在步骤614中,可以基于在步骤612中获得的第一时间点和在步骤608中获得的用于压缩(和/或打包)视频帧的时间段来确定第二时间点。在一些实施例中,步骤614可以由物理层处理模块506来实现。如本文所使用的,第二时间点可以指的是视频帧的压缩和/或打包完成时的时间点。例如,第二时间点可以指的是子帧的压缩和/或打包完成时的时间点。关于第二时间点的确定的详细描述可以在图8A和图8B中找到。

在步骤616中,可以将与物理层帧的帧头相对应的第三时间点与第二时间点同步。在一些实施例中,步骤616可以由物理层处理模块506来实现。例如,与物理层帧的帧头相对应的第三时间点可以与子帧的压缩和/或打包完成时的第二时间点同步。物理层帧可以控制数据传输,并且物理层帧的帧头可以指示数据传输的起始点。例如,物理层帧的帧头可以指示通过物理层传输压缩后和/或打包后的子帧的起始点。物理层帧的传输时间可以是固定值,因为物理层帧的长度可以被配置为固定值。在一些实施例中,可以延长或缩短当前的物理层帧的传输时间,使得后续的物理层帧的帧头与第二时间点(即,子帧的压缩和/或打包完成时的时间点)同步。在一些实施例中,可以以与当前的物理层帧的传输时间类似的方式来调整从当前的物理层帧开始的一个或多个后续物理层帧的传输时间。在一些实施例中,仅调整当前的物理层帧的传输时间,并且通过维持视频帧与物理层帧的帧速率之间的一定关系,可以不需要调整后续的物理层帧的传输时间。备选地,每当接收到视频帧以进行压缩和传输时,就可以调整当前的物理层帧的传输时间。

在一些实施例中,可以将帧同步脉冲信号发送给物理层,该信号指示从视频记录设备接收视频帧的时间点。可以在物理层的定时器上拍摄快照,以记录帧同步脉冲信号在物理层上的出现时间点。物理层处理模块506可以基于帧同步脉冲信号的出现时间点(即,来自视频记录设备的视频帧进行传输的时间点)和用于压缩和/或打包视频帧的时间来计算发送视频帧的起始时间点。物理层处理模块506还可以将计算出的发送视频帧的起始时间点与生成物理层帧的调度时间点进行比较,并确定计算出的发送视频帧的起始时间点与生成物理层帧的下一调度时间点是否是同步的。当确定计算出的发送视频帧的起始时间点与生成物理层帧的下一个调度时间点是异步时,物理层处理模块506可以调整物理层定时器的值,使得生成物理层帧的下一个调度时间点被调整为与计算出的发送视频帧的起始时间点相同。关于同步的详细描述可以在图8A和图8B中公开。

在步骤618中,可以在第三时间点处发送压缩后的视频帧。在一些实施例中,步骤618可以由物理层处理模块506来实现。例如,可以在第三时间点处与物理层中对应的物理层帧一起发送压缩后和/或打包后的子帧。在一些实施例中,可以经由UAV收发器202将压缩后和/或打包后的视频帧发送给远程设备(例如,地面终端104、服务器108、存储设备110等)。

在步骤620中,过程600可以确定视频帧(或其子帧)的传输是否完成。如果视频帧的传输未完成,则过程600可以返回到步骤616。例如,可以分别获得与多个子帧相对应的多个第三时间点。可以在对应的第三时间点处依次发送多个子帧中的每个子帧。可以通过重复进行步骤616到步骤618来发送多个子帧。如果视频帧的传输完成,则过程600可以进行到步骤622。在步骤622处,处理器204可以等待下一个视频数据。当接收或记录到下一个视频数据时,处理器204可以通过重复进行步骤604至620来对其进行处理。

应当注意的是,图6所示的步骤用于说明的目的,而不意在限制本公开的保护范围。在一些实施例中,所述过程可以在具有一个或多个未描述的附加步骤和/或在不具有上面讨论的一个或多个步骤的情况下完成。另外,在图6中执行的过程600的步骤的顺序不意在是限制性的。例如,步骤606和步骤610可以同时地或相继地执行。作为另一示例,步骤614和步骤616可以被合并为一个步骤。作为另一示例,步骤616可以被划分为两个步骤:第三时间点确定和第三时间点调整。在一些实施例中,视频数据可以包括多个视频帧。可以通过重复进行步骤604至620来处理每个视频帧。

图7示出了根据本公开的一些实施例的用于在UAV系统中配置物理层帧的帧速率的示例性过程700的流程图。在一些实施例中,示例性过程700可以由处理器204来实现。

在步骤702中,可以接收多个视频帧。可以以与在步骤602和/或步骤302中公开的方法类似的方法来从所记录的视频数据中提取视频帧。

在步骤704中,可以获得多个视频帧的帧速率。每个视频帧可以是静止图像。多个视频帧的帧速率可以指每秒获得的静止图像的数量。例如,二十个视频帧的帧速率可以通过将这二十个帧的总时间(以秒为单位)除以二十来获得。

在步骤706中,可以基于多个视频帧的帧速率来配置多个物理层帧的帧速率。多个物理层帧的帧速率可以指每单位时间(例如,秒或毫秒)的物理层帧的数量。如本公开的其他地方所述,当前的物理层帧的帧头可以与当前的视频帧同步,以减少等待时间和延迟。在步骤706中,可以配置物理层帧的帧速率,使得后续的物理层帧可以分别与后续的视频帧同步。更具体地,可以调整物理层帧的帧速率,使得物理层帧的每个帧头与视频帧的压缩完成时的时间点同步或几乎同步。在一些实施例中,多个物理层帧的帧速率可以是多个视频帧的帧速率的整数倍。仅作为示例,所述整数可以是2、4、6、8、10、20、25、30等。

应当注意的是,图7所示的步骤用于说明的目的,而不意在限制本公开的保护范围。在一些实施例中,所述过程可以在具有一个或多个未描述的附加步骤和/或在不具有上面讨论的一个或多个步骤的情况下完成。附加地,图7所示的处理的步骤的顺序不意在是限制性的。

图8A和图8B示出了根据本公开的一些实施例的UAV系统中的视频传输的两个示意图。在一些实施例中,图8A和图8B示出了从UAV 102到地面终端104的视频传输。

在一些实施例中,如图8A和图8B所示,视频传输可以包括:经由UAV 102捕获视频数据;在UAV 102处接收视频帧;在UAV 102处压缩视频帧;在UAV 102处处理视频帧;根据物理层帧的定时经由UAV 102发送视频帧;将视频帧从UAV 102无线地发送给地面终端104;在地面终端104中接收和解压缩视频帧等。可以从实时视频中提取多个视频帧。多个视频帧可以包括视频帧802-1、视频帧802-2等。在一些实施例中,可以在通信地连接到相机(例如,视频记录设备206)的数据接口(例如,通用串行总线(USB)接口、IEEE 1394接口或RS-232接口等)处接收实时视频。相机的帧定时可以包括多个信号,这些信号指示相机记录视频的起始时间点。多个信号可以包括信号800-1、信号800-2、信号800-3等。视频帧802-1和视频帧802-2可以被分割成子帧并被压缩为多个压缩包,包括压缩包804-1、压缩包804-2、...、压缩包804-7等。分割和压缩方法可以类似于对数据压缩和打包模块504的描述。可以在包括物理层帧806-1、物理层帧806-2、...、物理层帧806-8等在内的多个物理层帧的控制下,通过物理层来发送多个压缩包。与视频帧相对应的多个压缩包可以在地面终端104中接收,并且可以被解压缩为多个解压缩后的视频帧,包括解压缩后的视频帧808-1、解压缩后的视频帧808-2、…、解压缩后的视频帧808-5等。

如图8A所示,时间点T1可以与视频帧802-1的帧头相对应。时间点T4可以与压缩包804-1被接收并被解压缩(与压缩包804-1相对应的解压缩后的视频帧由808-1表示)时的时间点相对应。时间段t3可以与用于压缩和/或打包视频帧802-1的第一子帧的时间段相对应。可以基于时间点T1和时间段t3来确定时间点T2。时间点T2可以指示压缩包804-1被压缩并且准备好被发送。然而,时间点T2没有与对应于物理层帧806-2的帧头(被示为时间点T9)的时间点T3同步。因此,压缩包804-1在与物理层帧806-3的帧头相对应的时间点(被示为时间点T3)之前不能被发送。可以将等待时间段t2定义为压缩包804-1在被发送之前需要等待的时间长度。可以将时间延迟定义为从视频帧的起始时间到视频帧可用于在地面终端104处进行流式化(streaming)和/或回放的时间点的时间段。如图8A所示,时间延迟t1可以指从时间点T1到时间点T4的时间段,由于等待时间段t2,该时间段可能被不必要地延长。本公开中公开的方法可以被实现以消除或减少等待时间,从而减少时间延迟。

图8B示出了类似于图8A的视频传输的示意图,但是具有调整后的物理层帧定时。如图8B所示,时间点T5可以与视频帧802-1的帧头相对应。时间点T8可以与压缩包804-1被接收并被解压缩时的时间点(与压缩包804-1相对应的解压缩后的视频帧由808-1表示)相对应。时间段t5可以与用于压缩和/或打包视频帧802-1的第一子帧的时间段相对应。可以基于时间点T5和时间段t5来确定时间点T7。时间点T7可以指示压缩包804-1被压缩并且准备好被发送。时间点T6可以与物理层帧806-1的帧头相对应。为了同步与物理层帧806-2的帧头相对应的时间点,可以调整物理层帧806-1。例如,物理层帧806-1的长度可以被延长。作为另一示例,可以增加与物理层帧806-1的帧头相对应的定时器的内部读数。具体地,可以调整定时器的读数,使得与物理层帧806-2的帧头相对应的时间点与时间点T7同步。可以延长或缩短物理层帧806-1的传输时间,使得与物理层帧806-2的帧头相对应的时间点与时间点T7同步。时间延迟t4可以被定义为从时间点T5到时间点T8的时间段。通过物理层帧806-1的定时调整,压缩包804-1可以在压缩完成时被立即发送,即,没有如图8A所示的等待时间段t2。在一些实施例中,仅调整物理层帧806-1的传输时间,并且不调整物理层帧806-2和后续的物理层帧的传输时间,直到接收到后续的视频帧为止。

在一些实施例中,如图8B中所示,可以在对多个物理层帧进行定时调整的情况下发送多个视频帧中的每个视频帧。其定时需要被调整的物理层帧的数量可以与多个物理层帧的帧速率以及多个视频帧的帧速率相关。在一些实施例中,多个物理层帧的帧速率可以被配置为是多个视频帧的帧速率的整数倍(例如,二十),使得其定时需要被调整的物理层帧的数量可以大大减少。

图9示出了示例性OSI模型的示意图。OSI模型900表征并标准化电信或计算系统的通信功能。OSI模型900定义了联网框架以实现七层中的协议。从下至上,这七个层可以包括物理层902、数据链路层904、网络层906、传输层908、会话层910、表示层912和应用层914。

物理层902定义数据连接的电气和物理规范。物理层902定义了设备与物理传输介质(例如,铜或光纤电缆、射频等)之间的关系。该关系可以包括引脚的布局、电压、线阻抗、电缆规范、连接设备的信号定时和类似特性、无线设备的频率(5GHz或2.4GHz等)等。物理层902可以通过网络在电气和机械层面上传送比特流(例如,电脉冲、光或无线电信号等)。物理层902可以提供在载体上发送和接收数据的硬件装置,包括定义电缆、卡和物理方面。在一些实施例中,物理层处理模块506和/或用户接口408可以在物理层902中操作。

数据链路层904可以供应传输协议知识、管理、物理层902中的错误处理、流控制、帧同步等。在数据链路层904中,数据分组可以被编码和解码成比特。在一些实施例中,数据链路层904可以被划分为两个子层:媒体访问控制(MAC)层和逻辑链路控制(LLC)层。MAC子层可以控制网络上的计算机如何获得访问数据的权限和用于发送数据的许可。LLC层可以控制帧同步、流控制和错误检查。在一些实施例中,UAV系统100的处理器204、处理器404可以在数据链路层904中操作。

网络层906可以提供交换和路由技术,并且创建用于从节点到节点传输数据的逻辑路径。在一些实施例中,网络106、UAV收发器202和/或地面终端收发器402可以在网络层906中操作。在一些实施例中,可以在网络层906中操作UAV 102对网络106的接入。所述接入可以是基于竞争的随机接入或非基于竞争的随机接入。

传输层908可以在终端系统或主机之间提供透明的数据传输。传输层908可以负责端到端错误恢复和流控制。传输层908可以确保完整的数据传输。在一些实施例中,网络106、UAV收发器202和/或地面终端收发器402可以在传输层908中操作。在一些实施例中,在传输层908中操作的协议可以包括TCP、UDP、SPX等。

会话层910可以控制设备之间的连接。会话层910可以建立、管理和终止设备之间的连接。在一些实施例中,处理器204和/或处理器404可以在会话层910中操作。

表示层912可以通过从应用格式转换为网络格式来提供与数据表示(例如,加密)中的差异的独立性,反之亦然。表示层912可以用于将数据变换成应用层914可以接受的形式。在一些实施例中,数据压缩和打包模块504可以在表示层912中操作。

应用层914可以提供应用服务,例如文件传输、电子邮件或其他网络软件服务等。应用层914可以执行包括识别通信伙伴、确定资源可用性等在内的功能。在一些实施例中,在应用层912中操作的协议可以包括FTP、HTTP、DNS等。

应当注意,OSI模型900仅出于说明的目的而被提供,而不意在限制本公开的范围。对于本领域的普通技术人员来说,可以在本公开的教导下进行多种变化或修改。例如,UAV系统100的设备或模块可以同时或随后在多个层中工作。然而,那些变化和修改可以不脱离本公开的范围。

已经这样描述了基本概念,在阅读了本详细公开之后,对于本领域技术人员而言可能明显的是,上述详细公开仅意在通过示例的方式进行呈现,而不是限制性的。尽管本文没有明确说明,但是各种改变、改进和修改可能发生,并且是本领域技术人员预期的。这些改变、改进和修改意在由本公开暗示,并且落在本公开的示例性实施例的精神和范围内。

此外,使用某些术语来描述本公开的实施例。例如,术语“一个实施例”、“实施例”和/或“一些实施例”意指结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,应当强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“备选实施例”的两次或更多次引用不一定都指相同的实施例。此外,在本公开的一个或多个实施例中,可以在适当时组合特定特征、结构或特性。

此外,本领域的技术人员将认识到,可以以多种可授予专利的类别或上下文(包括任何新的且有用的过程、机器、制造或物质组成、或其任何新的且有用的改进)中的任何一种来在本文示出和描述本公开的方面。因此,本公开的各方面可以完全以硬件、完全以软件(包括固件、驻留软件、微代码等)或通过组合软件和硬件的实施方式来实现,其在本文中都统称为“块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本公开的各方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述计算机可读介质上存储有计算机可读程序代码。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信号处理装置和方法以及程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类