CN107925661A - 用于具有摄像机的远程控制飞行器的流水线化视频接口 - Google Patents
用于具有摄像机的远程控制飞行器的流水线化视频接口 Download PDFInfo
- Publication number
- CN107925661A CN107925661A CN201680048841.7A CN201680048841A CN107925661A CN 107925661 A CN107925661 A CN 107925661A CN 201680048841 A CN201680048841 A CN 201680048841A CN 107925661 A CN107925661 A CN 107925661A
- Authority
- CN
- China
- Prior art keywords
- frame
- image
- processing
- aircraft
- bit rate
- 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
- 238000000034 method Methods 0.000 claims abstract description 70
- 230000005540 biological transmission Effects 0.000 claims abstract description 63
- 238000012545 processing Methods 0.000 claims description 76
- 238000003860 storage Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000007906 compression Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 7
- 238000012805 post-processing Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 238000005096 rolling process Methods 0.000 claims description 4
- 238000003707 image sharpening Methods 0.000 claims description 3
- 230000006641 stabilisation Effects 0.000 claims description 3
- 238000011105 stabilization Methods 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 2
- 238000004513 sizing Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 48
- 230000033001 locomotion Effects 0.000 description 18
- 230000008878 coupling Effects 0.000 description 15
- 238000010168 coupling process Methods 0.000 description 15
- 238000005859 coupling reaction Methods 0.000 description 15
- 210000002414 leg Anatomy 0.000 description 15
- 230000000007 visual effect Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 11
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000007613 environmental effect Effects 0.000 description 8
- 230000005611 electricity Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012856 packing Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 239000006260 foam Substances 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000428 dust Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000000245 forearm Anatomy 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008450 motivation Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 1
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 241000208340 Araliaceae Species 0.000 description 1
- 230000005355 Hall effect Effects 0.000 description 1
- 206010022998 Irritability Diseases 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 229960001506 brilliant green Drugs 0.000 description 1
- HXCILVUBKWANLN-UHFFFAOYSA-N brilliant green cation Chemical compound C1=CC(N(CC)CC)=CC=C1C(C=1C=CC=CC=1)=C1C=CC(=[N+](CC)CC)C=C1 HXCILVUBKWANLN-UHFFFAOYSA-N 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 208000002925 dental caries Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000003365 glass fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U10/00—Type of UAV
- B64U10/10—Rotorcrafts
- B64U10/13—Flying platforms
- B64U10/14—Flying platforms with four distinct rotor axes, e.g. quadcopters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U20/00—Constructional aspects of UAVs
- B64U20/80—Arrangement of on-board electronics, e.g. avionics systems or wiring
- B64U20/87—Mounting of imaging devices, e.g. mounting of gimbals
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U30/00—Means for producing lift; Empennages; Arrangements thereof
- B64U30/20—Rotors; Rotor supports
- B64U30/29—Constructional aspects of rotors or rotor supports; Arrangements thereof
- B64U30/291—Detachable rotors or rotor supports
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U30/00—Means for producing lift; Empennages; Arrangements thereof
- B64U30/20—Rotors; Rotor supports
- B64U30/29—Constructional aspects of rotors or rotor supports; Arrangements thereof
- B64U30/293—Foldable or collapsible rotors or rotor supports
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U60/00—Undercarriages
- B64U60/40—Undercarriages foldable or retractable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
- H04N23/54—Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
- H04N7/185—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source from a mobile camera, e.g. for remote control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2101/00—UAVs specially adapted for particular uses or applications
- B64U2101/30—UAVs specially adapted for particular uses or applications for imaging, photography or videography
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/20—Remote controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U60/00—Undercarriages
- B64U60/10—Undercarriages specially adapted for use on water
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Remote Sensing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Studio Devices (AREA)
Abstract
公开了一种用于减少将图像或视频帧从安装在飞行器上的低延迟摄像机系统转移到远程控制器的显示器的总延迟的系统和方法。该方法包括通过系统的每个模块,即通过摄像机模块、编码器模块、无线接口传输、无线接口接收机模块、解码器模块和显示模块,来减少延迟。为了减少跨模块的延迟,使用各种方法,例如对图像处理器超频,流水线化帧,对处理后的帧进行形变,使用可以执行基于切片的编码的快速硬件编码器,使用队列大小调整来调谐无线介质,队列清除、比特率反馈、物理介质速率反馈、动态编码器参数调整和无线无线电参数调整,使用可以执行基于切片的解码的快速硬件解码器以及对显示模块超频。
Description
相关申请的交叉引用
本申请要求于2015年6月30日提交的美国临时申请No.62/187,200的权益,其内容通过引用整体并入本文。
技术领域
本公开总体上涉及流水线化视频接口的领域,尤其涉及用于低延迟摄像机系统的流水线化视频接口。
背景技术
远程控制设备具有安装在这些设备上的摄像机是已知的。例如,远程控制道路交通工具可以被配置为在其上安装摄像机以在交通工具被用户远程移动时捕捉图像。类似地,远程控制的无人飞行器(例如,诸如四轴飞行器的无人机)安装有摄像机,以在用户远程控制飞行器时通过摄像机捕捉空中图像。
安装在远程控制交通工具上的大多数摄像机并没有考虑涉及摄像机本身的多个与其所安装于的交通工具有关的问题。这些问题包括例如使用非专用的摄像机和最适合将摄像机安装到远程控制交通工具的对应的固定结构,以及使用允许交通工具在与摄像机耦合时保持平衡的安装配置。
另一问题是能够将由安装在远程控制交通工具上的摄像机捕捉到的视频或图像转移到控制器上的显示屏幕。通过安装在远程控制交通工具上的摄像机系统和控制器之间的无线接口进行所述转移。为了确保转移必须尽可能无缝,无线转移图像的延迟必须较低。实现低延迟是一个复杂的过程,当摄像机随着远程控制交通工具以可变速度移动时更难以减少延迟。
因此,需要解决与从摄像机系统向控制器转移图像或视频帧有关的这些和其他问题。
附图说明
所公开的实施例具有从详细描述、所附权利要求以及附图(或图)中将更容易明白的优点和特征。下面简要介绍附图。
图1示出了与远程控制器通信的远程控制飞行器的示例配置。
图2A示出了远程控制飞行器的示例。
图2B示出了处于打开位置的飞行器的示例。
图2C示出了处于关闭位置的飞行器的示例。
图2D从第一端视图示出了飞行器的示例。
图2E从第二端视图示出了飞行器的示例。
图2F和图2G示出了处于打开位置的示例性远程控制器。
图2H和图2I示出了处于关闭位置的示例性远程控制器。
图3示出了远程控制飞行器的电子件和控制系统的示例。
图4示出了具有万向节的远程控制飞行器的示例性互连架构。
图5示出了示例性摄像机架构的框图。
图6示出了远程控制器的示例性远程控制系统的框图。
图7A示出了根据示例性实施例的视频流水线的框图。
图7B示出了根据示例性实施例的通过流水线的每个模块的延迟的时间图。
图8示出了根据示例性实施例的通过视频流水线的不同级的多个帧。
图9A示出了根据示例性实施例的超频帧。
图9B示出了根据示例性实施例的转发帧。
图10示出了根据示例性实施例的用于通过低延迟摄像机系统流水线化帧的方法的流程图。
图11示出了根据示例性实施例的用于通过编码器流水线化帧的方法的流程图。
图12示出了根据示例性实施例的用于通过无线接口流水线化帧的方法的流程图。
图13示出了根据示例性实施例的用于通过远程控制器流水线化帧的方法的流程图。
图14示出了与远程控制飞行器的系统一起使用的示例性机器。
具体实施方式
附图(FIG)和以下描述仅以说明的方式涉及优选实施例。应该注意的是,从下面的讨论中,这里公开的结构和方法的替代实施例将被容易地认为是可以采用的可行替代方案,而不背离所要求保护的技术方案的原理。
现在将详细参考若干实施例,其示例在附图中示出。注意,只要可行,在附图中可以使用相似或类似的附图标记,并且可以指示相似或类似的功能。附图仅出于说明的目的描绘了所公开的系统(或方法)的实施例。本领域的技术人员将从以下描述中容易地认识到,可以采用这里示出的结构和方法的替代实施例,而不背离这里所描述的原理。
配置概述
通过示例性实施例公开的是用于空中捕捉平台的视频流水线接口。该空中捕捉平台可以包括与摄像机耦合的远程控制飞行器,并且可以包括远程控制器。远程控制飞行器也可以被称为无人飞行器(“UAV”)和/或无人机。飞行器可以通过远程控制器被远程控制。摄像机还可以与安装结构(或配置)耦合。
远程控制飞行器可以直接并且立即被控制用于飞行。例如,用户可以利用远程控制器来远程地操作飞行器(例如,经由无线连接)。远程控制飞行器可以被预编程用于飞行(例如,如本文进一步描述的,预定飞行路线(或路径)),并且在飞行期间可以经由远程控制器来执行零控制或执行有限控制。这样的配置可以被称为自动驾驶仪。有限控制的例子可以是对预编程飞行的手动超驰或飞行调整。为便于讨论,对飞行器操作的提及可以是指用户控制的自动驾驶仪和无人飞行器飞行的其他实例。
飞行器可以包括与摄像机耦合并且可以将摄像机固定的安装结构。安装结构可以从飞行器110可移除地连接。安装结构可以包括与摄像机耦合的万向节,其可以帮助稳定图像或视频(通常称为帧)捕捉。帧可以是静止图像(例如,图片),或者可以是包括视频的一系列帧内的帧。此外,摄像机可以被配置为使其可以从安装结构上可移除地附接,并且可以作为独立的摄像机进行操作。摄像机和安装结构也可以与其他安装方案兼容,例如,手持(或便携式)手柄、杆、运动板安装件等。在一些示例性实施例中,飞行器可以包括集成摄像机。集成摄像机也可以包括万向节。
还公开了用于远程控制飞行器的配置,用于将来自安装在远程控制飞行器上的摄像机的图像或视频帧无线地转移到飞行器的远程控制器上的显示器。该配置包括通过在帧或图像的无线转移中涉及的块中的流水线化操作来减少无线转移的延迟。转移的延迟被降低到尽可能低,使得帧被无缝地转移到控制器的显示器,由此呈现高质量的用户体验。
如本文所公开的,空中捕捉平台被设计和配置为从飞行器角度捕捉图像。为了便于讨论,在此将参考图像,但是应该理解的是,对图像的这种参考可以包括任何媒体,例如视频、静止图像和/或音频,而没有限制。空中捕捉平台配置允许可以与其他摄像机和摄像机相关的系统和生态系统(例如活动摄像机(例如,GOPRO HERO摄像机)及其生态系统)集成的内容创建平台。
空中捕捉平台的远程控制器可以被配置为用于操作飞行器。远程控制器可以是专用移动计算设备或另一移动计算设备,例如智能电话、平板计算机、笔记本计算机等。通过示例,专用远程控制器可以被配置为包括可视屏幕(例如,液晶显示器或等离子)。另外,远程控制器可以包括机械和/或固态控制元件,例如,操纵杆、触摸板等。远程控制器本身可以是便携式的并且可以包含于外壳(或壳体)内。例如,远程控制器可以包括两个部分,例如彼此折叠的显示部分和控制部分。天线系统可以被配置为处于远程控制器的外壳内以进一步提高便携性。远程控制器可以主要专用于与飞行器一起使用,并可以包括其自己的操作系统(例如,基于ANDROID的OS)。
示例性系统配置
这里的描述是在远程控制飞行器(例如,旋翼(或旋转刀片)或固定翼飞机)的上下文中。然而,所公开的配置可以适用于诸如船只和汽车的其他远程控制交通工具。此外,远程控制交通工具可能具有小型形状因子。如上所述,远程控制飞行器有时可以被称为无人飞行器或无人机,并且在该上下文中可以包括用于捕捉图像的摄像机单元/硬件。
现在转向图1,其示出了示例性空中捕捉平台(或系统)100。空中捕捉平台100可以包括与远程控制器120通信的远程控制飞行器110。飞行器110和远程控制器120通过无线链路125可通信地耦合。无线链路125可以是Wi-Fi链路、蜂窝(例如,长期演进(LTE)、3G、4G、5G)或其他无线通信链路。在空中捕捉平台100的该示例中,飞行器110可以是例如四旋翼飞行器或其他多旋翼飞行器。同样在该例子中,远程控制器120被示出为专用远程控制器,但是这里描述的原理可以应用于可以作为远程控制器操作的其他设备,例如智能电话、平板计算机、膝上型计算机等。
在该示例中,飞行器110包括壳体(或本体)130、万向节210、两个或更多个臂135以及两个或更多个推进器140。壳体130具有用于有效载荷的一个或多个空腔。有效载荷可以包括例如电子电路(包括例如控制件和处理部件)、电池、传感器等。有效载荷可以包括诸如降落伞之类的机构。降落伞可以在壳体的一部分中,所述部分可以打开以使得降落伞可以在某些预定情况下展开。降落伞和/或壳体130的对应部分可以与能够提供降落伞展开的逻辑的电子件耦合。壳体130可以包括通信子系统(其可以包括对应的电子件和/或固件)和控制子系统(其可以包括对应的电子件和/或固件)。通信子系统可以用于与远程控制器(例如120)或者飞行器110上的其他接口进行无线通信。控制子系统可以被配置为控制飞行器110上的各种系统的操作,例如电力系统、飞行操作系统以及其他这种系统。将关于图3进一步详细描述通信子系统和控制子系统。
万向节210可以是可移除的结构。例如,万向节210可以可移除地(或可释放地)安装在飞行器110的壳体130上的开口内。另外,例如,当从飞行器110移除时,万向节210可以被安装在另一结构上,例如杆架上。万向节210可以与可移除的摄像机框架耦合。替代地,万向节210可以与壳体130集成。万向节210还可以包括直接与其固定或通过摄像机框架固定的摄像机。摄像机框架可以被移除,并适于与其耦合的特定摄像机。替代地,摄像机框架可以与万向节集成。
飞行器110的每个臂135可以与壳体130可移除地耦合。另外,每个臂135包括推力电动机240(其可以包括转子),该推力电动机240可以机械地且可移除地与推进器140耦合以创建旋转组件。当旋转组件操作时,所有的推进器140以适当的方向和/或速度旋转以允许飞行器110升高(起飞)、倾斜、转弯、着陆、盘旋和/或以其他方式在飞行中移动(向上、向下、向前、向后(或后退)等)。
在此进一步描述包括万向节210和远程控制器120的飞行器110。还描述了每个部件的一些示例性操作配置。
远程控制飞行器
从远程控制飞行器110开始,现在参考图2A-2E。例如,在高级别处,飞行器110可以包括壳体130、臂135、推力电动机240、推进器270和起落架272。
在飞行器110的例子中,臂135与壳体130耦合。推力电动机240与臂130的每个端部耦合,并且这可以形成臂组件。此外,推进器270可以与每个推力电动机240耦合。当推力电动机240工作时,推力电动机240在与推进器140(如图2B所示)耦合时使推进器沿适当的方向旋转。
臂135被配置为使得它们能够围绕其在壳体130处的连接点枢转。例如,臂135可以为了飞行的目的而从壳体向远处延伸,并且可以向后折叠以使得臂靠近壳体130,例如用于存储或运输(例如,如图2C所示)。另外,每个臂135与壳体130可移除地耦合,从而例如在磨损、破损、结构损坏或新设计的情况下,可以对这些臂进行移除和/或更换。另外,耦合到每个臂135的端部上的电动机240的推进器270也是可移除的,例如用于存储和/或替换。另外,臂135可以包括连接电子件(例如,电气/电子电路和/或部件)和/或机械结构以自动地延伸或折叠臂。
在臂135可旋转地耦合到飞行器的壳体130的示例性实施例中,可以存在传感器和/或到传感器(或传感器系统)的连接,其可以用于确定臂135是处于关闭位置还是处于打开并锁定位置(例如,用于飞行器110的飞行)。如果飞行器110准备飞行并且任何一只臂不能正确地处于打开的锁定位置,则可以生成通知。通知的示例包括向可以是警示灯的发光二极管(LED)供电,生成可听信号(例如,嘟嘟声、警报或语音通知)或将消息传送到另一设备(例如,远程控制器)。在一些实施例中,可以切断(禁用)未被正确地打开和锁定的臂(或多个臂)的电动机的电力。在一些实施例中,可以禁用从远程控制器接收到的控制信号。
飞行器110的壳体130可以被构造成防水的,以减少和/或消除水或灰尘进入壳体130的内腔中,所述内腔容纳电气部件。例如,橡胶垫片可以被构造在例如臂135与壳体130连接的位置周围或者臂135移动以相对壳体折叠的位置周围。此外,飞行器110被配置为允许并入或耦合浮动结构,该浮动结构例如由可移除泡沫、玻璃纤维、球囊或被构造成允许飞行器110在水面着陆情况下漂浮的其他材料制成。泡沫漂浮结构的另一示例可以是致密的泡沫,其能够漂浮在水面上并且可以围绕或基本围绕飞行器110的臂和/或飞行器110的壳体缠绕。球囊漂浮结构的另一示例可以包括使球囊位于飞行器的臂内或臂周围。球囊可以与空气组件(例如,压缩空气筒)耦合。空气组件可以被配置为在来自外部源(例如,远程控制器120)的信号时对球囊进行充气,所述信号被配置为触发(或激活)开关以将空气从压缩空气筒释放到球囊中。替代地,空气组件可以被配置为对球囊充气,或者当飞行器110上的传感器检测到水并且触发(或激活)开关时将空气从压缩空气筒释放到球囊中时。
除了与壳体130可移除地耦合之外,浮动结构还被配置为在飞行期间气动地减少风阻。此外,臂135还可以包括可选的可移除漂浮结构,其在水面着陆的情况下有助于飞行器110的整体浮力,或者当它们从壳体130分离并在水上着陆时可独立地漂浮。
现在转到飞行器110的配置的进一步描述,图2B示出了处于打开位置(或状态)的飞行器110的示例。飞行器110的这个示例性实施例示出了壳体130、可移除的可折叠臂135、可移除的起落架272(下面进一步描述)和转子240。还示出了沿着壳体130的顶部的启动按钮260。启动按钮260可以用于将飞行器110置于不同的操作状态—例如,开、关或待机。还示出了将进一步描述的万向节开口28。
图2C示出了飞行器110处于关闭(折叠)位置(或状态)并且推进器270被移除的示例。在所示的关闭位置中,起落架275可以被折叠在壳体130下方和/或与壳体130解耦和,例如用于单独存放。此外,推进器270已经与电动机240解耦和,例如用于单独存放。另外,臂135被示出为相对飞行器110的壳体130而被折叠。在该示例中,臂135的结构元件通过提供紧凑的覆盖区来帮助提高处于关闭位置的飞行器110的便携性。例如,同一侧上的臂与壳体130耦合,使得当臂被折叠时,它们彼此相对于彼此而处于嵌套位置,其中后臂基本平行于前臂。继续该示例,第一组臂(例如前臂)135a可以具有比第二组臂(例如,后臂)135b更低的高度平面(例如,“z轴”平面),如进一步结合图2D和图2E所示,反之亦然。由于第二臂的至少一部分可以在嵌套位置与在其对应侧上的第一臂的一部分重叠,所以该偏移可以进一步有助于在关闭位置中创建紧凑的覆盖区。
图2D和图2E示出了飞行器110的另外的视图。图2D示出了第一端视图,例如,万向节开口280位于第一端。图2E示出了第二端视图,例如,万向节开口280(例如万向节附接机构)位于第二端的相对端。下面进一步描述万向节开口280。
在图2D和图2E中,第一组臂135a被示出为沿着臂的一部分比处于较高高度平面的第二组臂135b处于更低的高度平面(例如,“z轴”平面)。如前所述,当臂被转动到折叠位置时,该配置有助于允许臂(通常135)更靠近壳体130,如图2C进一步所示。此外,每个臂135可以是单片式结构。单片式结构可以通过限制可能的断点并同时仍然提供紧凑的覆盖区来帮助保持结构的刚性和完整性。
飞行器110还包括可移除的起落架272。起落架272可以具有两个或更多个支腿275(或臂)。支腿275是飞行器110在地面上时(例如在飞行前、着陆时等)停留在其上的位置。起落架272可以与壳体130的底部可移除地耦合。另外,起落架272的支腿275可以相对壳体130的底部齐平或大致齐平地被折叠。
图2D和图2E示出了起落架272。起落架272包括两个枢转点278,支腿275围绕枢转点278旋转以朝向壳体130的底部向内折叠。起落架272可以被配置为使得其适于壳体130的下侧或底部的凹陷腔体内。所述凹陷腔体可以允许处于折叠位置的支腿275与壳体130的底部基本齐平,以通过将支腿275挤进整个飞行器110体积覆盖区内而不是使它们保持与飞行器110的壳体130的底部分开,来进一步增强便携性。起落架272的支腿275可以从起落架272的其余部分移除。支腿275可以被移除,例如,用于存放和/或根据需要被替换,例如由于磨损、撕裂、结构损坏或更新后的结构配置。
起落架272和/或其支腿275可以包括可选的可移除漂浮结构(例如,泡沫或球囊),其在水上着陆的情况下有助于飞行器110的整体浮力,或者当它们从壳体130分离并在水面着陆时可以单独漂浮。此外,包括支腿275的起落架272可以由结构刚性但是有浮力的材料制成,该材料在地面搁置时可以支撑飞行器110的重量,并且在水面着陆时有助于漂浮。
起落架272可以包括电子件和/或机械结构,以自动地延伸和缩回起落架的支腿275。电子件可以具有电连接点,起落架272可以在电连接点处与壳体的底部耦合。例如,电子件可以控制枢轴点278以朝向壳体130的底部缩回可折叠支腿275或者远离壳体130的底部延伸。通过操作示例,当飞行器110处于距离地面的预定距离(例如,从飞行器上的接近度传感器检测到的)时,支腿可以在上升(或起飞)期间缩回。当飞行器110下降着陆时,当飞行器到达离地面预定距离时,可以延伸支腿。替代地或另外,远程控制器120可以用于将控制信号传输到飞行器110以缩回或延伸起落架272的支腿275。
可移除的万向节
返回参考图2A-图2D,示出了先前介绍的与飞行器110的示例性实施例集成的万向节开口280。万向节开口280可以被配置为容纳万向节210。万向节开口280包括腔体,该腔体可以包括可释放的锁定机构以容纳万向节210的端部并且相对于飞行器110牢固地连接(或耦合)万向节210。所述耦合使得万向节210能够在飞行期间保持固定连接。由于锁是可释放的,所以万向节210可以在需要时与飞行器110断开连接(或解耦和)。万向节开口280的抵靠壳体130的部分可以用橡胶垫圈密封以帮助产生水和/或灰尘屏障。
万向节210在与万向节开口280连接时可以被配置为允许物体围绕轴进行旋转。在一个示例中,物体可以是摄像机架220。万向节210允许摄像机架220保持特定位置,使得安装到其上的摄像机可以帮助提供图像稳定性和一致的水平视图(水平面可以预先定义或由用户定义)或者当飞行器110处于飞行中时相对于地平线的视图。摄像机架220可以是例如板或框架。除了允许摄像机(图2A中未示出)耦合(例如,附接)到摄像机架220之外,摄像机架220还可以包括用于耦合摄像机的电连接点。电连接点可以用于给摄像机供电和/或在摄像机与万向节210和/或飞行器110的部件之间传送信号。
在一些示例性实施例中,万向节210可以是电子三轴万向节,其在空间中旋转安装的物体(例如,摄像机架220,其可以是连接到摄像机上的可移除的摄像机框架)。万向节210的每个轴包括用于控制旋转的电动机(例如,210a、210b)。万向节210可以包括与飞行器110的电力子系统的电连接以向电动机(例如,210a、210b)供电,或者可以包括其自己的电池电源。万向节可以包括连接电子件,以提供摄像机和飞行器110之间的电子连接的一部分。万向节可以包括传感器单元和控制逻辑单元,两者都是万向节控制系统的一部分。万向节控制系统可以检测万向节100和摄像机的定向,确定摄像机的优选定向,并控制万向节的电动机以将摄像机重新定向到优选位置。
万向节内的传感器单元可以包括使用传感器(例如加速度计、陀螺仪和磁力计)来测量旋转、定向和加速度的惯性测量单元(IMU)。传感器单元可以包含检测万向节210的电动机的角位置的旋转编码器以及用于检测磁场(例如地球磁场)的磁力计。在一些实施例中,传感器单元的传感器被放置以便提供位置分集。例如,一组加速度计和陀螺仪可以位于摄像机附近(例如,靠近与可移除摄像机框架的连接处),并且一组加速度计和陀螺仪可以被放置在万向节的对端(例如,靠近到飞行器110的连接处)。IMU可以使用这两组传感器的输出来计算摄像机的定向和旋转加速度,然后定向和旋转加速度被输出到万向节控制逻辑。在一些实施例中,传感器单元位于飞行器110上。在一些实施例中,万向节控制逻辑接收来自飞行器110上的传感器(例如,IMU)以及来自万向节210的传感器单元的数据。
在一个实施例中,万向节210可从摄像机架220移除,并被构造成与其他设备(例如,诸如三脚架、手持式手柄或智能底座之类的安装平台)一起使用。安装平台还可以与万向节210可移除地耦合。通过示例,安装平台(例如手持式手柄)可以包括多个按钮,用户可以使用这些按钮来控制摄像机和/或万向节210。注意,一些安装平台(例如,手持式手柄)可以包含电池,安装平台可以从电池向万向节210提供电力,并且除了操作手持式手柄本身上的任何电子功能之外,还可以用于给摄像机供电和/或充电。注意,安装平台可以具有用于与其他计算设备进行无线通信的控制件和电路。
远程控制器
接下来参考远程控制器120,图2F-图2I示出了远程控制器120的一个示例性实施例。在该示例中,远程控制器120包括第一控制面板150和第二控制面板155、点火按钮160、返回按钮165和显示器170。注意,可以包括更多或更少的控制特征和按钮。在这个示例中,远程控制器120可以用于控制飞行器110的操作。除了其他功能之外,该操作可以包括用于飞行器110的俯仰、翻滚和偏航控制。
继续该示例,用户可以使用控制面板150、155来启动控制操作。控制面板可以是机械的(例如,操纵杆、滚球等)或固态的(例如触摸板)。例如,可以使用第一控制面板150来控制飞行器110的垂直方向(例如,升起和降落)。可以使用第二控制面板155来控制飞行器110的水平方向(例如,前进/拖拽)。另外,面板150、155与另一控制器机构(例如,轮子)的组合可以用于“左-右”和/或悬停运动。注意,这些仅仅是示例,控制器可以被分配其他或不同的功能。
点火按钮160可以用于远程开启和/或启动飞行器110部件(以及飞行器部件的关闭或暂停操作)。例如,点火按钮160的单次按压可以开始飞行器110上的第一组部件(例如传感器和照明)的操作,并且第二次按压可以开始飞行器110上的第二组部件(例如,旋转组件(例如,开始推进器140))的操作。归巢(RTH)(或回家)按钮165可用于超控远程控制器120的控制件并发送指令到飞行器110以返回到预先定义的位置。下面将进一步描述作为返回路径的一部分的归巢配置的示例。
点火按钮160和返回按钮165可以是机械和/或固态按压敏感按钮。另外,每个按钮160、165可以用一个或多个发光二极管(LED)照亮以提供额外的细节。例如,LED可以从一种可视状态切换到另一种,以相对于点火按钮160指示飞行器110是准备好飞行(例如,点亮绿灯)还是未准备好飞行(例如点亮红灯)。该LED还可以提供对应于飞行器110在飞行中的操作的可视指示器,例如,如果在返回路径上在超控模式中(例如,点亮黄灯)或电池电量低于预先定义的阈值(例如,当高于第一阈值时点亮绿灯,当稍低于阈值时点亮黄灯,并在低于下限阈值时点亮红灯)。还要注意的是,远程控制器120可以包括其他专用硬件按钮和/或开关,并且那些按钮和开关可以是机械和/或固态的按钮和开关。例如,可以添加另一按钮来向飞行器110发送信号/指令以展开降落伞。
远程控制器120可以包括与远程控制飞行器110上的功能对应的专用按钮,例如用于发信号(或触发)拍摄静态或视频图像、改变图像捕捉分辨率、改变帧率等的摄像机快门按钮。其他按钮可用于诸如摄像机控制件的功能,包括控制设置,例如标记图像、发送(或共享)所捕捉到的图像等。
远程控制器120可以包括屏幕(或显示器)170。屏幕170提供视觉显示。屏幕170可以是触敏屏幕。屏幕170可以是例如液晶显示器(LCD)、LED显示器、有机LED(OLED)显示器或等离子屏幕等。屏幕170允许显示与远程控制器120有关的信息,例如,用于配置控制器120和/或远程配置飞行器110和/或控制与飞行器110耦合的摄像机和/或万向节210的菜单。屏幕170可以显示从与飞行器110耦合的摄像机捕捉到的图像。
在该示例中,远程控制器120包括可以经由枢轴点291耦合的两部分外壳(或客体)。枢轴点291可以是机械铰链。例如,第一部分外壳(或第一外壳)可以包括屏幕170。另外,例如,第二部分外壳(或第二外壳)可以包括控制面板150、155,按钮160、165和扬声器293。每个外壳可以包括用于容纳用于所述部件的电子件和/或传感器的腔体。在外壳的任意部分或两个部分内可以存在内部天线。天线也可以被配置为在外壳的外部或者是内部与外部的组合。
在图2F和图2G的示例性配置中,示出了处于打开位置的远程控制器120。该示例性远程控制器120示出了电源按钮290、枢轴点291、轮子292和扬声器293。这里,外壳被示出为两个部分,一部分具有屏幕170,一部分具有诸如控制面板150、155,按钮160、165和扬声器283之类的其他部件。在这个例子中,每个都是单独封闭的。外壳的两部分通过枢轴点291耦合。枢轴点291是具有屏幕170的第一外壳围绕其旋转以覆盖第二外壳从而形成远程控制器120的“关闭”状态的点或端,如图2H和图2I所示。
在远程控制器120的这些示例性说明中,示出的电源按钮290可以以ON、OFF或STANDBY状态向远程控制器120供电。轮子292可以提供分配的功能,例如,微小运动、“左或右”和/或悬停运动。扬声器293可以通过远程控制器120用于音频重放。图2H和图2I示出了处于关闭位置的示例性远程控制器120。通过示例,图2I还特别示出了额外的开关294,其可以被分配功能,包括例如功率状态或锁定等。
图3示出了飞行器110的电子和控制(EC)系统310的示例性实施例。示例性EC系统310可以包括飞行控制器315、电子速度控制器(ESC)320、一个或多个推力电动机电子件325、万向节控制器330、传感器子系统(其可以包括遥测子系统)335、电力子系统340、图像链路控制器345、摄像机接口350和长距离通信子系统360。这些部件通过飞行器110内的数据总线彼此直接或间接进行通信。
飞行器110部件可以用硬件、软件或其组合来实现。可以包括固件的软件可以被称为程序代码、计算机程序产品或程序指令,并且可以包括一个或多个指令。软件可以包括操作系统,该操作系统提供到处理器的接口,并且在操作系统上运行(或执行)软件应用。软件可以由飞行器110内的一个或多个处理器执行。处理器还可以包括例如控制器、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。处理器可以被配置为以特定方式执行软件。图14提供了具有可被配置为执行软件的处理器的示例性机器架构。注意,并非图14的所有部件都包含于飞行器110中。图14旨在说明描述计算系统的架构,其所有或部分可以在飞行器110和EC系统310内操作。
在这个示例中,飞行器110可以被配置为包括飞行器操作系统(AVOS)。通过示例,AVOS可以建立在操作系统内核上,例如LINUX,和/或基于诸如ANDROID OS之类的操作系统。本公开中描述的飞行器的软件部件与AVOS一起操作。贯穿于本公开可以发现这些软件配置的例子。
现在转向EC系统310的示例性部件,提供了对每个部件的进一步描述。在一个示例性实施例中,EC系统310的飞行控制器315协调并处理飞行器110的软件。飞行控制器315可以集成AVOS。由飞行控制器315引导的处理的示例包括通过通信子系统360协调与远程控制器120的通信,以及处理去往和来自远程控制器120的命令。飞行控制器315还可以通过控制其他部件(例如,电子速度控制器320和传感器子系统335)来控制飞行器110的飞行相关操作。飞行控制器315还与万向节控制器330接口,以协助控制万向节210的万向节电动机。另外,飞行控制器315可以用于帮助图像链接345进行摄像机控制操作。
现在参考电子速度控制器320,其被配置为与推力电动机电子件325接口。电子速度控制器320可以被配置为经由推力电动机电子件325来控制由推力电动机240施加到推进器140的速度。电子速度控制器320可以通过推力电动机电子件325单独地或成组地或成子组地控制每个推力电动机240。注意,推力电动机电子件325可以与推力电动机240集成。
接下来,万向节控制器330可以包括控制电子件(并且可以包括固件),该控制电子件可以被配置成控制用于万向节的每个轴的电动机的操作。万向节控制器330经由飞行控制器315接收命令。这些命令可以源自远程控制器120,该控制器120经由通信子系统360将命令传递给飞行控制器315。
接下来转向图像链接控制器345,其被配置为与摄像机接口345进行通信以发送命令,所述命令可以包括从摄像机捕捉图像以便例如经由通信子系统360传输到远程控制器120(和/或具有屏幕的其他设备,例如智能电话或平板计算机)。可以用来自飞行器的其他数据(例如,来自传感器子系统335的传感器数据)对图像进行覆盖和/或增强。当图像被发送到远程控制器120和另一设备两者时,覆盖的信息可以在每个设备上相同或者在每个设备上不同。注意,图像链接控制器345可以具有允许在通信子系统360和摄像机接口350之间直接传输命令的处理配置。替代地或另外,图像链接控制器345可以与飞行控制器315通信以用于处理资源和软件配置的应用。
摄像机接口350可以被配置为从图像链接控制器345接收摄像机控制命令。摄像机命令可以包括用于设置摄像机操作的命令,例如,帧捕捉速率、静止或视频图像等。摄像机命令可以源自远程控制器120,并且经由EC系统310的通信子系统360和图像链接控制器345来接收。
接下来转向传感器子系统335,其可以包括一个或多个传感器。每组传感器可以被进一步分组为传感器模块以收集特定类型的数据。例如,一个传感器模块可以用于位置传感器,而另一传感器模块可以用于环境传感器。位置传感器可以提供飞行器110的在空间中的位置和/或相对位置以及定向信息。位置传感器可以帮助飞行器110的导航和位置相关操作。位置传感器可以包括例如陀螺仪、加速度计、指南针、全球定位系统(GPS)传感器、运动传感器和/或高度计。环境传感器可以提供特定环境的信息。例如,环境传感器可以提供关于飞行器110的壳体130外部的环境条件的信息。还例如,环境传感器可以提供关于飞行器110的壳体130内的条件的信息。环境传感器可以包括例如温度传感器、光检测器、热传感器、湿度传感器和/或气压传感器。注意,在一些示例性情况下,为了如何使用数据的目的,环境传感器可以作为位置传感器来操作,反之亦然。例如,光检测器可以用来确定飞行的一天中的时间,但是也可以用来检测阴影,以用于飞行器110在飞行期间的避免检测。类似地,例如,可以使用气压传感器来确定大气压力和飞行器110的高度。注意,除了给出的示例之外,还可以包括其他传感器配置。
来自传感器子系统335的传感器数据可以包括传感器元数据,并且可以与来自摄像机的图像和/或元数据集成。来自摄像机的图像(其也可以包括附加的元数据)可以被无线传输到其他设备和/或被存储用于以后的回放。当图像被显示(例如,实时播放或从存储设备播放)时,传感器数据可以从其中被提取并且被提供以用于显示在屏幕上,例如,远程控制器120的屏幕170或者计算设备(例如,膝上型计算机、智能电话、平板计算机、台式计算机等)的屏幕。摄像机接口350可以与摄像机接口或者可以包括集成摄像机。集成摄像机将与摄像机架220类似地被定位。替代地,摄像机可以并入摄像机架。
电力子系统340可以被配置为管理EC系统310的部件并向其供电。电力子系统340可以包括电池组和保护电路模块以及电力控制/电池管理系统。电池可以是可更换的和/或可再充电的。电力子系统340的电池可以被配置成根据需要或在飞行前对飞行中的摄像机充电。也可以使用电力子系统340的电池的能量容量来对其他设备充电,例如远程控制器120、电动手持式手柄或移动电话。取决于电池中剩余的能量,电池还可以用于在飞行后对摄像机或其他设备充电。此外,电力子系统340可以被配置为包括双电力路径。第一路径允许第一功率电平(例如,低电流),用于给飞行器110及其机载部件供电。一旦部件被供电,飞行器110就可以转换到第二功率水平,例如高电流,这足以在飞行期间一致地驱动推力电动机240和机载部件。另外,可以将再生充电配置集成到电力子系统340中。例如,电力子系统340可以包括与推力电动机240电耦合的再充电电路,使得当推力电动机240减速时,电流通过充电电路被推回以为电力子系统340的电池充电。
通信子系统360可以包括用于飞行器110的通信电子件(并且可以包括对应的固件)。例如,通信子系统360可以包括远距离Wi-Fi系统。它可以包括额外的无线通信部件。例如,它可以包括另一Wi-Fi系统,其可以允许一个Wi-Fi系统专用于引导与远程控制器120的控制通信,并且另一Wi-Fi系统可以用于其他通信,例如图像传输。它可以包括诸如基于长期演进(LTE)、3G、4G、5G或其他移动通信标准的通信系统之类的通信系统。通信子系统360可以配置有用于从远程控制器120向飞行器110传送控制的单向远程控制信道以及用于从飞行器110到远程控制器120(或者到可能需要直接图像连接的视频接收机)的图像下行链路的单独的单向信道。通信子系统360可以用于允许其他服务,例如,通过空气或硬连线链路提供更新,例如对飞行器110的固件更新。可以向一些第三方服务提供经由应用编程接口(API)对通信子系统360或部件的访问。
飞行器的示例性互连架构
转向图4,其示出了具有万向节220的远程控制飞行器110的示例性互连架构。该示例性实施例包括在前面的图(例如图3)中示出和描述的部件。另外,示出了飞行器110上的附加部件(例如LED410),其可以用于提供信息,例如交通工具状态相关信息。还示出了作为电力子系统340的一部分的电池440。电池440提供直流电力,并且可以是可再充电的。还示出了天线460,其可以是通信子系统360的一部分。
另外,该图示出了示例性实施例,其中飞行控制器315与两个电子速度控制器320耦合。在该配置中,每个电子速度控制器320例如通过推力电动机电子件325(未示出)驱动两个推力电动机240。
还示出了可以将万向节控制器330与EC系统310的部件耦合的万向节接口430。具体地,万向节接口430与图像链接控制器345、传感器子系统335(例如,GPS、指南针等)以及天线460通信地耦合。万向节接口430用于将该数据传输到万向节控制器330。万向节控制器330使用该数据来调整摄像机架220。注意,摄像机架220可以固定摄像机450。
万向节控制器330通过一个或多个摄像机接口350连接器与摄像机450通信地耦合。摄像机接口350连接器可以包括摄像机通信接口,例如通用串行总线(USB)或HDMI。由摄像机捕捉到的图像可以通过摄像机接口350连接器和万向节接口430被传送(发送)回到飞行器110。图像的传输可以是高(或全)分辨率(例如,未压缩)或较低(或部分)分辨率(例如,压缩的)。数据(例如,来自传感器子系统335的数据)也可以经由摄像机接口350连接器被发送到摄像机450,以与在摄像机450上捕捉并存储的帧相关联。
示例性摄像机架构
图5示出了示例性摄像机架构505的框图。示例性摄像机架构505对应于摄像机(例如,450)的架构。注意,摄像机450可以独立于飞行器110或与飞行器110集成。当与飞行器110集成时,摄像机450也可以与万向节(例如,210)集成。替代地,当独立时,摄像机450可以可移除地附接到飞行器110。当可移除地附接时,摄像机450可以可移除地耦合到与飞行器110耦合的万向节210。如前所述,万向节210可以与飞行器110可移除地耦合。替代地,万向节210可以与飞行器110集成。为了便于讨论,以下面所述的配置描述摄像机450:其中摄像机450经由摄像机架220与万向节210可移除地耦合,并且万向节210也与飞行器110可移除地耦合。然而,所述原理也适用于摄像机与飞行器110集成的情况。
简要地参考摄像机450本身,其可以包括摄像机主体、一个或多个摄像机镜头、摄像机主体上的各种指示器(例如LED、显示器等)、各种输入机构(例如按钮、开关和触摸屏机构)以及摄像机主体内部的电子件(例如,成像电子件、功率电子件、元数据传感器等),用于经由一个或多个镜头捕捉图像和/或执行其他功能。在一个实施例中,摄像机450能够捕捉球形或基本球形的内容。如本文所使用的,球形内容可以包括具有球形或基本球形视场的静止图像或视频。例如,在一个实施例中,摄像机450捕捉在水平面中具有360度视场和在垂直面中具有180度视场的视频帧。替代地,摄像机450可以捕捉在水平方向上具有小于360度且在垂直方向上具有小于180度(例如,与完全球形内容相关联的视场的10%内)的基本球形图像或视频帧。在其他实施例中,摄像机450可以捕捉具有非球形广角视场的帧。
如下面更详细描述的,摄像机450可以包括传感器以捕捉与帧数据相关联的元数据,例如定时数据、运动数据、速度数据、加速度数据、高度数据、GPS数据等。在一个示例性实施例中,可以将位置和/或时间中心元数据(地理位置、时间、速度等)与捕捉到的内容一起并入到图像(或媒体)文件中,以随着时间跟踪摄像机450的位置或者由摄像机450记录的对象。这种以及传感器元数据可以由摄像机450本身或者靠近摄像机450的另一设备(例如,移动电话、由对象佩戴的数据跟踪器(例如,配备有跟踪软件的智能手表或健身跟踪器或专用射频跟踪器)、经由摄像机接口350的飞行器110等)捕捉。
在一个实施例中,当内容被捕捉时,摄像机450可以将元数据与内容流合并。在另一实施例中,可以捕捉与图像文件分离的元数据文件(通过相同的捕捉设备或不同的捕捉设备),并且可以在后处理中将两个分离的文件组合或以其他方式一起处理。注意,这些传感器可以是除了传感器子系统335的传感器以外的传感器。在摄像机450与飞行器110集成的实施例中,摄像机不需要具有(或不需要操作)单独的个体传感器,而是可以依靠与飞行器110集成的传感器。由传感器捕捉到的数据可以被称为传感器元数据。传感器元数据以及来自摄像机450的摄像机元数据可以与从飞行器110上的传感器(例如,环境传感器、位置传感器等)捕捉到的飞行器元数据集成和/或与其一起使用。
现在参考摄像机450的示例性摄像机架构505,其可以包括摄像机核心510,摄像机核心510包括镜头512、图像传感器514和图像处理器516。摄像机450还可以包括系统控制器520(例如,微控制器或微处理器),其控制摄像机450和系统存储器530的操作和功能,系统存储器530被配置为存储可执行的计算机指令,当由系统控制器520和/或图像处理器516执行时,所述指令执行本文描述的摄像机功能。在一些实施例中,摄像机450可以包括多个摄像机核心510以捕捉不同方向上的视场,然后可以将这些视场拼接在一起以形成凝聚的图像。例如,在球形摄像机系统的实施例中,摄像机450可以包括两个摄像机核心510,每个摄像机核心具有半球形或超半球形镜头,其每一个捕捉半球形或超半球形视场,在后处理中将半球形或超半球形视野视场拼接在一起以形成球形图像。
镜头512可以是例如广角镜头、半球形或超半球形镜头,其将进入镜头的光聚焦到捕捉帧的图像传感器514上。图像传感器514可以捕捉具有例如720p、1080p、4k或更高的分辨率的高分辨率图像。在一个实施例中,球面图像可被捕捉为具有360度水平视场和180度垂直视场的5760像素×2880像素。对于图像,图像传感器514可以以例如每秒30帧、每秒60帧、每秒120帧或更高的帧速率捕捉图像。
图像处理器516可以执行捕捉到的帧的一个或多个图像处理功能。例如,图像处理器516可以执行拜耳变换、去马赛克、降噪、图像锐化、图像稳定化、卷帘快门伪像减少、颜色空间转换、压缩或其他摄像机内处理功能。图像处理器516还可以被配置为执行图像的实时拼接,例如,当图像从与飞行器110耦合并被配置为捕捉图像的两个或更多个摄像机捕捉时。这种示例性配置可以包括例如捕捉图像的活动摄像机(其可以包括球形图像捕捉摄像机),每个摄像机具有基本上不同的视场(FOV),但是在可以将图像拼接在一起之处可能存在一些重叠。处理后的图像可以暂时或持久地存储到系统存储器530和/或非易失性存储设备,其可以是内部存储设备或外部存储器卡的形式,如图4的示例性架构中所示和所述的。
输入/输出(I/O)接口560发送和接收来自各种外部设备的数据。例如,I/O接口560可以促进通过I/O端口接收或发送图像信息。例如来自/去往万向节控制器330的控制信息也可以经由I/O接口560传输。I/O端口或接口的示例包括USB端口、HDMI端口、以太网端口、音频端口等。此外,I/O接口560的实施例可以包括可以适应无线连接的无线端口。无线端口的示例包括蓝牙、无线USB、近场通信(NFC)等。I/O接口560还可以包括用于使摄像机450与其他摄像机或与其他外部设备(例如,远程控制器、第二摄像机、智能电话、客户端设备或视频服务器)同步的接口。例如,安装在飞行器110上的摄像机450可以与另一飞行器上或地面上的摄像机无线同步(例如,使用时间码),从而可以同步各摄像机捕捉到的帧。
控制/显示子系统570包括与摄像机450的操作相关联的各种控制部件,包括例如LED灯、显示器、按钮、麦克风、扬声器等。音频子系统550包括例如一个或多个麦克风以及一个或多个音频处理器,用以捕捉和处理与帧捕捉相关的音频数据。在一个实施例中,音频子系统550包括具有被布置成获得定向音频信号的两个或更多麦克风的麦克风阵列。
传感器540与图像捕捉同时或独立地捕捉各种元数据。例如,传感器540可以基于全球定位系统(GPS)传感器来捕捉时间标记的位置信息。其他传感器540可以用于检测和捕捉摄像机450的定向,包括例如定向传感器、加速度计、陀螺仪、高度计或磁力计。可以处理从各种传感器340捕捉到的传感器数据以生成其他类型的元数据。例如,来自加速度计的传感器数据可以用于生成运动元数据,包括代表摄像机450的运动的速度和/或加速度向量。此外,来自飞行器110和/或万向节210/万向节控制器330的传感器数据可以用于生成描述摄像机450的定向的定向元数据。来自GPS传感器的传感器数据提供标识摄像机450的位置的GPS坐标,并且高度计测量摄像机450的高度。在一个实施例中,传感器540刚性地耦合到摄像机450,使得摄像机450经历的任何运动、定向或位置变化也被传感器540经历。传感器540还可以关联一个或多个时间戳,所述时间戳表示每个传感器何时捕捉数据。在一个实施例中,当摄像机450开始记录视频时,传感器540自动开始收集传感器元数据。如前所述,来自摄像机架构的传感器数据可以与来自飞行器110的传感器数据集成和/或与其一起使用。注意,在特定类型的传感器从飞行器110丢失的示例性实施例中,摄像机450的传感器540可以为适当的处理操作提供必备传感器数据。
如上所述,摄像机450也可以例如通过远程控制器120被远程控制,或者通过与摄像机无线通信的其他设备直接或通过飞行器110被控制。因此,可以在飞行之前、期间或之后(例如在着陆时)操纵摄像机450的控制功能。例如,在飞行期间,摄像机450可以被配置为从以每秒30帧拍摄图像切换到每秒60帧(fps)拍摄图像。在该示例中,飞行器110可以跟随滑雪者滑下斜坡并开始以30fps通过摄像机450捕捉图像。当滑雪者加速(例如跳跃)时,摄像机450自动切换到以60fps捕捉图像。同样举例来说,如果滑雪者在例如20米的距离内,则摄像机450可以以30fps捕捉图像,但是当飞行器更靠近(例如在5米内)时,摄像机450可以自动地切换到以60fps捕捉图像。
此外,在飞行器110在飞行中并且摄像机450可操作的同时,操作者可以试图将摄像机450在一种模式中拍摄图像(例如,低分辨率图像(例如,较低像素数、较低帧/秒等))切换为以另一种模式拍摄图像(例如,较高分辨率图像(例如,更高的像素数、更高帧/秒等))。摄像机450的定位还可以由地面上的操作者控制,操作者从远程控制器120或移动设备发送信号以通过适当的万向节210部件的移动来移动摄像机角度。还例如,在着陆时,摄像机450可以被配置为拍摄图像,例如以帮助用于定位飞行器110的位置分析。
远程控制器的示例性系统部件
现在参考图6,其示出了远程控制器(例如120)的示例性电子系统605部件和/或子系统的框图。电子系统605可以包括处理子系统610、导航子系统620、输入/输出(I/O)子系统630、显示子系统640、音频/视频(A/V)子系统650、控制子系统660、通信子系统670、电力子系统680和传感器子系统690。这些子系统可以通过数据总线698通信地耦合,并且可以在必要时通过电力子系统680供电。
处理子系统610可以被配置为提供电子处理基础设施来执行包括指令的固件和/或软件。可以包括固件的软件可以被称为程序代码、计算机程序产品或程序指令,并且包括指令。可以包括操作系统软件的软件可以由具有远程控制器120的一个或多个处理器执行。处理器还可以包括例如控制器、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。处理器可以被配置为以特定方式执行软件。软件可以被配置为与操作系统一起操作,操作系统提供到处理器的接口。
可以包括一个或多个处理器的处理子系统610可以是机器和/或计算机系统的一部分。图14提供了具有处理器的示例性机器,该处理器可以被配置为执行作为处理子系统610的一部分的软件。注意,并不是图14的所有部件都包含于远程控制器120中。图14旨在说明描述计算系统的架构,其中所有或部分可作为远程控制器120的处理子系统610的一部分来操作。
在该示例中,处理子系统610也可以被配置为包括远程控制器操作系统(RCOS)。RCOS可以建立在操作系统内核上,例如,LINUX内核和/或现有的操作系统,例如ANDROID操作系统。另外,处理子系统610可以为被构建用于在远程控制器120内操作的应用提供执行框架。
导航子系统620可以包括用于远程控制器120的导航仪器的电子件、控制件和接口。这些可以以硬件、软件或其组合来实现。例如,导航子系统620使用用硬件和/或软件实现的全球定位系统(GPS)和指南针(参见下面的传感器子系统690)来提供远程控制器120相对于飞行器110的坐标和航向信息。在这个例子中,GPS和/或指南针可以用于跟踪远程控制器120的位置和航向,这可以有助于远程控制器120和飞行器110计算地理解每个相对于另一个的位置和定位。
I/O子系统630可以包括输入和输出接口以及电子耦合,以与允许信息转移进或转移出远程控制器120的设备进行接口。例如,I/O子系统630可以包括物理接口,例如通用串行总线(USB)或媒体卡(例如安全数字(SD))插槽。I/O子系统630还可以与通信子系统670相关联以包括无线接口,例如蓝牙或近场通信接口。此外,注意,在一个示例性实施例中,飞行器110在通信子系统670内使用长距离Wi-Fi无线电,但也可以使用第二Wi-Fi无线电或蜂窝数据无线电(作为I/O子系统630的一部分),用于连接其他支持无线数据的设备,例如智能电话、平板计算机、膝上型计算机或台式计算机,和/或无线互联网接入点。此外,I/O子系统630还可以包括其他无线接口,例如射频标签、蜂窝(移动)通信协议、短距离Wi-Fi等,用于通信地耦合类似地支持无线地用于短距离通信的设备。
显示子系统640可以被配置为提供用于远程控制器120的屏幕170的接口、电子件和显示驱动器。显示子系统640可以被配置为显示对应于远程控制器120的信息,例如,菜单、设置、控制信息等。显示子系统640还可以被配置为显示从飞行器110上的摄像机450捕捉到的图像。此外,显示子系统可以在“仪表板”类型的可视显示器中将从飞行器110上的摄像机捕捉到的图像与对应于与捕捉到的帧相关联的元数据的量表的显示重叠。
A/V子系统650可以包括用于音频输出(例如,耳机插孔或扬声器)的接口、电子件和驱动器以及可视指示器(例如,与例如按钮160、165相关联的LED照明器)。A/V子系统650可以被配置为以可听、可视或其组合的方式提供警报、指示符或其他类型的通知。通知可以是语音格式。A/V子系统650可以提供对应于飞行器110和/或远程控制器120的操作的通知。例如,如果电池功率水平下降到飞行器110上的预定阈值以下,则飞行器110可以将该信息返回到远程控制器120。远程控制器120的通信子系统670接收该信息并将其传递到A/V子系统650。A/V子系统650可以提供可视通知,例如闪光或点亮LED或红灯;和/或可听通知,例如嘟嘟警报和/或预先录制的语音通知(“低电量”)。A/V子系统650还可以向可以与远程控制器120通信地耦合的其他设备(例如通过蓝牙连接与远程控制器120耦合的智能电话)提供通知。
控制子系统660可以包括用于与控制面板150、155一起操作的电子和控制逻辑和固件。控制子系统660将通过控制面板150、155进行的移动转换为对应于飞行器110的适当的移动命令。移动命令通过下面描述的通信子系统670而被发送。控制子系统660可以被配置为使得可以在传输到飞行器110之前校准通过控制面板150、155进行的运动的粗糙度。例如,进行“轻微”触摸(例如,精确的、平滑的运动)的用户可以使通过控制面板150、155的触摸被控制子系统660转换为更大范围的精细运动。同样通过示例,进行“重重”触摸(例如,更“急躁”的控制)的用户可以使通过控制面板150、155的触摸被控制子系统660转换为具有较低范围的精细运动,以帮助确保这样的运动不会不经意地将飞行器110撞击到可能导致其停止飞行的极端操作条件。
通信子系统670可以包括用于通信的电子件、固件和接口。通信子系统670可以包括一个或多个无线通信机制,例如Wi-Fi(短距离和长距离)、蜂窝/移动通信系统(例如,长期演进(LTE)、3G/4G/5G)、蓝牙等。通信子系统670可以包括有线通信机制,例如以太网、USB和HDMI。通信子系统670可以用于允许第三方服务通过空中或硬连线链路提供更新,例如对远程控制器120的固件更新。注意,在一些示例性实施例中,通信子系统670可以包括两个(或更多个)不同的Wi-Fi无线电设备用于通信。例如,一个无线电设备可以被配置为是在远程控制器120的通信子系统670中的Wi-Fi无线电设备和飞行器110的通信子系统360中的Wi-Fi无线电设备之间的专用连接。该专用无线电链路(或通信耦合)可以用于发送和接收与飞行控制相关联的通信。专用链路可以帮助增强设备之间的通信,因为没有其他设备竞争带宽和处理周期。继续该示例,第二无线电设备可以被配置用于其他通信,例如从远程控制器120发送图像和/或数据到另一设备(例如,移动热点、膝上型计算机、平板计算机、智能电话等)。
电力子系统680可以包括用于向远程控制器120的电子系统605提供电力的电子件、固件和接口。电力子系统680可以包括直流(DC)电源(例如,电池,其可以是可再充电的),还可以配置为交流(AC)电源。电力子系统680还可以包括用于延长DC电源寿命的电力管理过程。
在一些实施例中,电力子系统680可以包括电力管理集成电路和用于电力调节的低功率微处理器。在这样的实施例中,微处理器被配置为提供非常低的功率状态以保存电池,以及根据诸如按钮按压或机载传感器(如霍尔效应传感器)触发器的事件从低功率状态唤醒的能力。注意,电力子系统680可以包括可更换和/或可再充电的电池系统。电池可以包括高能量存储容量,并且可以被配置为将其电力线与接口耦合,所述接口例如是通用串行总线接口,例如飞行器110、移动计算设备等之类的其他设备可以连接到所述接口,以使用这个电池源来对其电池充电。
传感器子系统690可以包括宽范围的传感器。例如,除了GPS之外,远程控制器120还可以包括诸如气压计、温度、高度、湿度等的传感器。来自传感器的传感器数据可以与从摄像机接收到的图像集成。传感器数据可以增加或补充从飞行器110和/或摄像机450捕捉和接收到的传感器数据。当图像被显示(实时或来自存储设备)时,可以从中提取传感器数据,其可以被提供用于显示在屏幕上,例如,远程控制器120的屏幕170或计算设备(例如,膝上型计算机、智能电话、平板计算机或台式计算机)的屏幕。来自传感器子系统690的传感器数据也可以用于辅助飞行器110的操作。
摄像机系统的流水线视频接口
现在转向准备安装在飞行器(例如110)上的摄像机以将帧发送到远程控制器上的显示器,当飞行器110处于飞行中时,所公开的配置包括用于减少帧从摄像机(例如450)到显示器(例如170)的无线转移的延迟。
图7A示出了根据示例性实施例的视频流水线和通过流水线的每个模块的延迟的框图。视频流水线系统702包括摄像机模块705、编码器模块710、Wi-Fi发送机(Wi-Fi Tx)模块715、Wi-Fi接收机(Wi-Fi Rx)模块720、解码器模块725和显示模块730。摄像机模块705、编码器模块710和Wi-Fi Tx模块715是安装在飞行器110上的摄像机系统450的一部分。摄像机模块705和编码器模块710可以是摄像机系统450的图像处理器516的一部分。Wi-Fi Tx模块715可以是摄像机系统450的I/O接口560的一部分。Wi-Fi Rx模块720、解码器模块725和显示模块730可以是位于地面上的飞行器110的远程控制器120的一部分(例如,作为电子系统605的一部分)。具体地,Wi-Fi Rx模块720可以是通信子系统670的一部分,并且解码器模块725可以是处理子系统610的一部分,并且显示模块730可以是显示子系统640的一部分。注意,这些模块可以体现为包括由处理子系统610可执行的程序代码(或软件或指令)的软件(包括固件)。
另外,图7B示出了通过流水线中的每个模块的单个帧的延迟。摄像机模块705使用摄像机镜头来捕捉帧,并将图像或帧的第一个比特到最后一个比特发送到HDMI端口。这被称为捕捉时间。捕捉到的帧可以由编码器模块710处理。该处理可以包括将帧转换为诸如JPEG、MPEG或任何其他这种格式的标准格式。处理后的帧被打包并通过Wi-Fi Tx模块进行传输。编码、打包和发送一起可以是帧延迟。Wi-Fi Rx模块720接收该帧,解码器模块725解码并旋转该帧,并且显示模块730显示该帧。接收、解码、旋转和显示时间一起是显示延迟。捕捉时间、帧延迟和显示延迟的总和可以是单个帧的总延迟。
在没有流水线化的情况下,帧的总延迟可以是例如大约224ms(摄像机模块705处的67ms+编码器模块710处的50ms+Wi-Fi Tx模块715处的34ms+Wi-Fi Rx模块720处的33ms+解码器模块725处的40ms+显示模块730处的17ms)。如图7B所示,摄像机延迟(67ms)包括摄像机镜头(玻璃)在HDMI上捕捉和传送第一比特所花费的时间(50ms)以及在HDMI上从摄像机镜头传播第一比特到最后一比特的延迟(17ms)。50ms的编码器模块延迟包括从HDMI到编码器捕捉比特(17ms)和编码延迟(33ms)。Wi-Fi Tx模块715处的34ms包括打包和传输帧比特所涉及的延迟。Wi-Fi Rx模块720接收帧的所有比特的接收机延迟是33ms。30ms的解码器延迟包括对帧的比特进行解码的延迟(24ms)和对帧的任何比特进行旋转(或后处理)的延迟(16ms)。最后,显示延迟是17ms。
图7B中显示的总延迟可以是减少后的延迟,其是通过流水线化由摄像机系统(例如450)捕捉帧、飞行器(例如110)处理帧并且远程控制器(例如,120)显示帧所涉及的处理元件而获得的。通过将每个处理元件分成可以并行计算或可以流水线化的较小任务(这有助于减少总延迟),可以减少总延迟。以下参考图8-图11描述减少总延迟的不同系统和方法。
图8示出了根据一个实施例的通过视频流水线的不同级的多个帧。视频流水线包括编码器和Wi-Fi Tx模块中的五个级,代表系统中的帧延迟。五个级是捕捉(c1,c2,c3...cn)、编码(e1,e2,e3...en)、打包(p1,p2,p3...pn)、传送(t1,t2,t3...tn)和停止(s1,s2,s3...sn),每个级对应于最后一个分组。该图示出了通过流水线的不同级的三个帧。由于图像流水线超频,所以每隔一帧就会丢失。将参照图9A详细描述图像流水线超频。
从捕捉到传送的每个级可以被流水线化并且按时间排列,从而每个帧可以在其之前的一个帧之后被立即传送。可以在流水线级之间插入停止级以符合最坏情况下的传输计算,即连续帧的每个传送级必须相互跟随,即t1跟随t2,t2不能被发送直到t1完成。如果传送发生得比帧延迟慢,则该帧被丢弃(例如,图中的第二帧)。
流水线超频使用摄像机系统中最快的可能的时钟频率和帧速率来最小化延迟。数据可能会在稍后被丢弃或抽取,以回到所需的帧速率。例如,将以每秒30帧传送帧的摄像机系统需要以1/30秒的频率运行其捕捉硬件时钟来处理一个帧,并因此具有1/(30*2)秒的平均输入延迟。如果摄像机系统能够以足够高的频率运行硬件时钟以捕捉每秒60帧,则平均输入延迟将减少到1/(60*2)秒,并且单帧处理将在1/60秒内完成,从而减少整体帧延迟。
图9A示出了根据实施例的传统和超频帧以及其对输入、输出和帧延迟的影响。对于帧速率,“f”为每秒的帧数,处理一帧的时间(Tfps)为1/f秒,输入延迟(Tc)和输出延迟(Td)为Tfps/2。超频系统的时钟频率可以是如图9A所示传统系统的两倍。处理一帧的时间(Tover)是Tfps/2秒,输入延迟(Ta)和输出延迟(Tb)是Tover/2。Tinter是处理帧之间的时间1-(Tfps/2),这个时间是空闲的并且用于在以上关于图7讨论的视频流水线中执行其他操作。随着超频速率的增加,处理器空闲时间增加,并且帧延迟可以通过理论上的最大值来提高:
T(改进理论最大值)=Tc+Td+Tfps=2*Tfps。
图9B进一步示出了根据示例性实施例的流水线转发帧。流水线转发可以包括在对延迟不敏感的操作之前执行延迟敏感的外部操作。例如,摄像机450可以在如图8所示的视频流水线的级c1中捕捉图像,在替代实施例中,图像可以在e1级中编码之前在p1级被预处理,并且在Wi-Fi接口上被发送而不需要对其进行编码或打包。捕捉到的帧可以在流水线的稍后级被编码e1,并且存储于存储系统中以供将来访问。图像的编码和打包可能是延迟不敏感的,因此可以在流水线的稍后级被执行。
该图示出了两个帧的流水线级的重新布置。对于这两个帧,在对帧进行预处理p1(可以是编码级的一部分或单独的级)之后,可以在诸如HDMI或Wi-Fi Tx之类的外部接口上传送图像(即,传送级)。稍后对帧进行编码,并将其保存在诸如磁盘的存储介质上以备将来使用。该帧可以从一个流水线级被转发到另一流水线级。注意,可以跳过对延迟不敏感的级以减少处理帧的总延迟。
图10示出了根据示例性实施例的用于通过低延迟摄像机系统流水线化帧的方法(或过程)的流程图。可以使用例如图14所描述的机器架构的部件来执行该方法。摄像机模块705捕捉帧并将其从摄像机镜头传送到HDMI或其他类似端口。未处理的帧由低延迟摄像机系统接收1005,并且可以通过视频/图像流水线702来处理。视频/图像流水线702可以被超频1010以获得帧之间的空闲处理器时间。在流水线的编码级执行1015帧的图像/视频处理功能,例如锐化、压缩、颜色转换等,其中流水线被超频以减少处理帧的总延迟。
低延迟摄像机系统上的图像处理器例如通过检测输入帧中的控制标志,来检测在发送之前不需要执行编码或其他流水线级的帧。流水线转发特征可以在这样的帧上被激活1020。替代地,可以通过在图像处理器(例如,图像处理器516)中设置控制开关,而在所有输入帧上激活流水线转发。
如果在总延迟路径中存在诸如HDMI的外部接口,则在处理后的帧上执行1025有线形变以进一步减少延迟。有线形变还包括对外部接口时钟超频、外部接口同步和数据转发。
外部接口可以以帧速率计时,并且待传送的数据在整个帧时间内扩展。为了减少总延迟,外部接口时钟尽可能快地进行计时,即超频。由于超频,在外部接口上以突发方式发送待传送的数据,导致帧之间的空闲时间。
外部接口同步方法使外部时钟、帧同步和行同步对齐以正好在来自视频流水线的数据就绪时开始。在视频流水线和外部接口之间不需要缓冲,导致总的帧延迟减少。
传统的摄像机系统在每个帧的开始和结束处具有对称的帧消隐,以及在每行的开始和结束处具有行消隐。数据转发将所有的帧数据移动到传输的开始,并且消隐信息在帧被传送之后被发送,因此减少了总的帧延迟。一旦处理后的帧被形变,则处理后的帧可以被传送1035到编码器模块。
图11示出根据示例性实施例的用于通过编码器流水线化帧的示例性方法的流程图。处理后的帧可以由硬件图像预处理器(例如,可以包含于图像处理器516中)接收1105,硬件图像预处理器在对帧进行编码之前执行1110诸如缩放、调整大小、裁剪等的图像处理操作。通过软件编码器选择诸如硬件编码器之类的快速编码器,来减少总延迟。硬件编码器执行1115基于切片的编码。一旦帧的一部分或切片可用,就对输入帧进行编码。这消除了对输入缓冲器的需要,从而消除了由输入缓冲器引起的延迟的增加。
另外,所选择的硬件编码器在输出处支持基于切片的编码,即,可以将经编码的帧的切片发送1130到无线接口(Wi-Fi Tx)。硬件编码器在传输之前不等待整个帧被编码。这可以消除对输出缓冲器的需要,从而消除了由输出缓冲器引起的延迟的增加。
图12示出了根据示例性实施例的用于通过无线接口流水线化帧的方法的流程图。无线发送接口可以接收1205帧的编码切片,其具有与无线系统接口支持的最大传输单位(MTU)相等的大小。MTU大小的编码帧通过无线接口被传送。传统系统使用发送缓冲器来存储MTU大小的帧切片,并在接收整个帧时通过无线接口进行传送。基于MTU的传输传送方法不等待接收整个帧,因此消除了对传送缓冲器的需要,并消除了由传送缓冲器引起的延迟的增加。
可以使用下面描述的一种或多种方法来调谐无线介质以减少总延迟。通过无线介质减少延迟的方法还包括队列大小调整、队列清除、比特率反馈、物理介质速率反馈、动态编码器参数调谐和无线电参数调整。无线发送机使用大小被调整的队列来保持输入数据的一个编码帧。一旦队列满了,数据可以被丢弃,以减少当无线吞吐量下降到所需吞吐量以下被传送的过时帧的数目,以在无损失的情况下传输视频。当由于缺少发送或编码器参数的传输或切换而检测到队列中的数据是旧的时,发送队列可以被清除,即清空。这可以防止传输不相关的数据,从而节省传送和重试延迟。
无线接口通过计算平均即时视频吞吐量(即,比特率)的算法来确定无线链路的当前能力。比特率可以被反馈给编码器以选择编码器Q因子。这导致了较大或较小的编码视频吞吐量,并减少了将被丢弃的帧数,这显著影响了总的视频帧延迟。
类似于比特率反馈,无线接口确定物理介质的当前调制速率并被反馈给编码器。这提供了即时吞吐率的比特率上限以及不久的将来的预测吞吐量。将调制速率馈送回编码器块允许更好地估计用于编码帧以及数据的比特率。这通过帮助减少被丢弃的帧数而进一步减少延迟。
编码器基于无线介质的当前状态(即,比特率反馈或调制率反馈或无线介质的任何其它这样的参数)动态地选择诸如分辨率、帧速率、压缩因子和比特率之类的编码器参数。这可以通过帮助减少丢弃的帧数来减少延迟。
无线无线电参数可以针对使用802.11标准的低延迟摄像机系统进行调整。可以调整突发速率参数,使得被传送的每个帧所需要的确认数目得以减少。这减少了总延迟。重试率参数可以被设置为较低的比率,从而数据被丢弃而不是被重发。当瞬时比特率较低时,这可以避免产生延迟。
图13示出了根据示例性实施例的用于通过远程控制器流水线化帧的方法的流程图。在一个实施例中,远程控制器可以包括Wi-Fi Rx模块、解码器模块和显示模块。Wi-FiRx模块通过无线接口接收1305从Wi-Fi Tx模块传送的帧。Wi-Fi Rx模块可以接收MTU大小的数据块,并在到达时解包。传统的模块包括接收器缓冲器,并等待解包,直到接收到完整的帧。Wi-Fi Rx模块消除了对接收器缓冲器的需求,并通过消除缓冲器的延迟来减少总延迟。
接收到的帧或图像可被发送到解码器。选择快速硬件解码器,其使用基于切片的解码执行1310解码操作。快速硬件解码器可以被超频。基于切片的解码方法可以包括在帧的一部分上操作快速硬件解码器,从而消除对缓冲器的需要并减少总延迟。
传统解码器在前一帧被发送到诸如显示器的下一模块之前进行等待,直到新帧的开始。与传统解码器不同,快速硬件解码器还可以包括称为解码器微调(nudging)的方法。解码器微调方法可以包括一旦当前帧的最后数据在解码器的输入处,就向快速硬件解码器发送信号1315。解码器微调信号可以像插入虚拟数据以推出一帧一样简单。一旦每个帧的解码完成,快速硬件解码器就使整个解码帧可用于下一模块。快速硬件解码器不需要在将解码的帧可用于下一模块之前等待对帧消隐进行解码。延迟可以被减少的量等于帧之间的帧消隐时间。
解码的图像可以在将图像提供给显示器之前进行后处理。帧后处理可以通过硬件图像处理模块来完成,以最大化并行处理并且避免以软件执行图像/视频流水线显示级。
后处理的图像可以被发送到显示模块。传统的显示系统将显示刷新速率与低延迟摄像机系统的帧速率进行匹配。显示模块被超频1320,以尽可能快的刷新速率运行显示器来减少显示延迟,从而减少整体延迟。帧以超频的刷新速率被发送1325到显示器。
示例性机器架构
如上所述,远程控制飞行器110可以从远程控制器120远程控制。飞行器110和远程控制器120是被配置为使用软件进行操作的机器。图14是示出能够从机器可读介质读取指令并且在一个或多个处理器(或控制器)中执行它们的示例性机器的部件的框图。在图14中描述的示例性机器的全部或部分可以与飞行器110或远程控制器120和/或与飞行器110和/或远程控制器120接口的系统的其他部分一起使用。
在图14中,存在计算机系统1400的示例形式的机器的图形表示。计算机系统1400可以用于执行指令1424(例如,程序代码或软件)以使机器执行本文描述的任何一种或多种方法(或过程)。在替代实施例中,机器作为独立设备或连接到其他机器的连接(例如,联网)设备来操作。在联网部署中,机器可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力操作,或者作为对等(或分布式)网络环境中的对等机器运行。
在本例中,机器是用于控制远程控制飞行器的手持式控制器。然而,所描述的架构可应用于在具有摄像机和安装配置的远程控制飞行器的系统中操作的其它计算机系统,例如在建立本地定位系统时。这些其他示例性计算机系统包括服务器计算机、客户端计算机、个人计算机(PC)、平板PC、智能电话、物联网(IoT)设备、网络路由器、交换机或桥接器,或能够执行指定要由该机器执行的动作的指令1424(顺序或其他方式)的任何机器。此外,虽然仅示出单个机器,但术语“机器”还应被理解为包括单独或联合执行指令1424以执行本文所讨论的任何一种或多种方法的机器的任何集合。
示例性计算机系统1400包括一个或多个处理单元(通常是处理器1402)。处理器1402例如是中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、控制器、状态机、一个或多个专用集成电路(ASIC)、一个或多个射频集成电路(RFIC)或这些的任何组合。处理器1402和存储器1404可以是飞行控制器315、图像处理器516和/或处理子系统610的一部分。计算机系统1400还包括主存储器1404。计算机系统可以包括存储单元1416。处理器102、存储器1404和存储单元1416经由总线1408进行通信。
另外,计算机系统1406可以包括静态存储器1406、显示驱动器1410(例如,驱动等离子显示面板(PDP)、液晶显示器(LCD)或投影仪)。计算机系统1400还可以包括输入/输出设备,例如字母数字输入设备1412(例如键盘)、维度(例如2D或3D)控制设备1414(例如,鼠标、轨迹球、操纵杆、运动传感器或其他定点仪器)、信号生成设备1418(例如扬声器)以及网络接口设备1420,其也被配置为经由总线1408进行通信。
存储单元1416包括机器可读介质1422,在机器可读介质1422上存储有体现本文描述的方法或功能中的任何一个或多个的指令1424(例如,软件)。在由计算机系统1400执行期间,指令1424还可以完全或至少部分地驻留在主存储器1404内或处理器1402内(例如,在处理器的高速缓存内),主存储器1404和处理器1402还构成机器可读介质。指令1424可以经由网络接口设备1420通过网络1426被发送或接收。
虽然机器可读介质1422在示例性实施例中被示出为单个介质,但是术语“机器可读介质”应被理解为包括能够存储指令1424的单个介质或多个介质(例如,集中式或分布式数据库,或者关联的高速缓存和服务器)。术语“机器可读介质”也应被理解为包括能够存储供机器执行的指令1424的任何介质,并且指令1424使机器执行这里公开的任何一种或多种方法。术语“机器可读介质”包括但不限于固态存储器、光学介质和磁性介质形式的数据存储库。
额外考虑
所公开的配置有利地减少了将帧从安装在飞行器上的低延迟摄像机系统转移到远程控制器的显示器的总延迟。减少的延迟允许远程控制器的用户与飞行器的速度近似同步地观看图像或视频。此外,所公开的配置还可以应用于其他摄像机系统以减少总的帧转移延迟。
在整个说明书中,多个示例可以实现被描述为单个实例的部件、操作或结构。虽然将一种或多种方法的个体操作被图示和描述为单独的操作,但是一个或多个个体操作可以被同时执行,并且不要求以所示次序执行操作。在示例性配置中作为独立部件呈现的结构和功能可以被实现为组合结构或部件。类似地,呈现为单个部件的结构和功能可以被实现为单独的部件。这些和其他变化、修改、添加和改进落入本文的技术方案的范围内。
本文将某些实施例描述为包括逻辑或多个部件、模块或机构,例如如图3-13所示。模块可以构成软件模块(例如,体现在机器可读介质上或者传输信号中的代码)或者硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以以某种方式被配置或布置。在示例性实施例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为操作以执行如本文所述的某些操作的硬件模块。
在各种实施例中,硬件模块可以机械地或电子地实现。例如,硬件模块可以包括被永久配置为执行某些操作的专用电路或逻辑(例如,作为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。硬件模块还可以包括由软件临时配置以执行特定操作的可编程逻辑或电路(例如,包含于通用处理器或其他可编程处理器内)。将理解的是,在专用和永久配置电路中,或者在临时配置的电路(例如,由软件配置)中,机械地实现硬件模块的决定可以由成本和时间考虑来驱动。
这里描述的示例性方法的各种操作可以至少部分地由一个或多个处理器(例如,图像处理器516和/或处理器1402)执行,所述处理器被暂时配置(例如,通过软件)或永久配置成执行相关操作。无论是暂时配置还是永久配置,这样的处理器都可以构成用于执行一个或多个操作或功能的处理器实现的模块。在一些示例性实施例中,这里所提到的模块可以包括处理器实现的模块。
一个或多个处理器还可以操作以支持在“云计算”环境中执行相关操作,或者作为“软件即服务”(SaaS)来执行。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,互联网)并且经由一个或多个适当的接口(例如应用程序接口(API))访问。
某些操作的执行可以分布在一个或多个处理器中,不是仅仅驻留在单个机器内,而是跨多个机器部署。在一些示例性实施例中,一个或多个处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器农场内)。在其他示例性实施例中,一个或多个处理器或处理器实现的模块可以分布在多个地理位置。
本说明书的一些部分是按照在机器存储器(例如,计算机存储器)内作为比特或二进制数字信号存储的数据上的操作的算法或符号表示来呈现的。这些算法或符号表示是数据处理领域的普通技术人员用来将他们的工作的实质传达给本领域其他技术人员的技术的示例。如本文所使用的,“算法”是导致期望结果的操作或类似处理的自相一致的序列。在该上下文中,算法和操作涉及物理量的物理操纵。通常但不一定,这样的量可以采取能够被机器存储、访问、转移、组合、比较或以其他方式操纵的电、磁或光信号的形式。主要由于通用的原因,使用诸如“数据”、“内容”、“比特”、“值”、“元素”、“符号”、“字符”、“术语”、“号码”、“数字”等的词语来指代这些信号有时是方便的。然而,这些词语只是方便的标签,并且要与适当的物理量相关联。
除非另有特别说明,否则本文中使用诸如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”等词语的讨论可以指机器(例如,计算机)操纵或转换被表示为一个或多个存储器(例如,易失性存储器、非易失性存储器或其组合)、寄存器或接收、存储、传送或显示信息的其他机器部件中的物理(例如,电、磁或光)量的数据的动作或过程。
如本文所使用的,对“一个实施例”或“实施例”的任何引用表示结合实施例描述的特定元件、特征、结构或特性包含于至少一个实施例中。说明书中各处出现的短语“在一个实施例中”不一定都指相同的实施例。
可以使用表达“耦合”和“连接”以及它们的派生词来描述一些实施例。例如,可以使用术语“耦合”来描述一些实施例,以指示两个或更多个元件处于直接的物理或电接触。然而,术语“耦合”还可以表示两个或更多个元件彼此不直接接触,但仍然彼此协作或交互。本实施例并不限于这种上下文。
如本文所使用的,术语“包括”、“包含”、“包括有”、“包含有”、“具有”或其任何其他变化都旨在涵盖非排他性的包含。例如,包括元素列表的过程、方法、物品或者装置不一定仅限于那些元素,而是可以包括没有明确列出的或者这样的过程、方法、物品或者装置固有的其他元素。此外,除非有相反的明确说明,否则“或”是指包含性的“或”而不是排他性的“或”。例如,以下任一个都满足条件A或B:A为真(或存在)并且B为假(或不存在);A为假(或不存在)并且B为真(或存在);A和B都为真(或存在)。
另外,使用“一”或“一个”来描述本文实施例的元件和部件。这个描述应该被理解为包括一个或者至少一个,并且单数也包括复数,除非它明显是另外的意思。
在阅读本公开时,本领域技术人员将理解额外的替代结构和功设计,用于减少用于通过本文公开的原理将帧从安装在飞行器上的低延迟摄像机系统转移到远程控制器的显示器的总延迟。因此,虽然已经说明和描述了特定实施例和应用,但是应该理解,所公开的实施例不限于在此公开的精确构造和部件。在不背离所附权利要求限定的精神和范围的情况下,可以对本文公开的方法和装置的布置、操作和细节做出各种修改、改变和变化,这对于本领域技术人员而言是显而易见的。
Claims (49)
1.一种用于通过低延迟摄像机系统来对帧进行流水线化的方法,所述方法包括:
接收由摄像机系统捕捉到的未处理的帧;
通过图像处理器对所述帧执行一个或多个图像处理操作;
对图像处理器流水线进行超频,所述超频用于增加所述图像处理器的工作频率;
将帧从包括多个流水线级的所述图像处理器的第一流水线级转发到第二流水线级;
对处理后的帧数据进行形变,所述形变用于减小图像数据的大小而不丢失图像信息;以及
将处理后的所述帧传送到编码器。
2.根据权利要求1所述的方法,其中,所述图像处理操作包括执行拜耳变换、去马赛克、降噪、图像锐化、图像稳定、卷帘快门伪像减少、颜色空间转换或压缩中的至少一个。
3.根据权利要求1所述的方法,其中对所述图像处理器流水线进行超频和对处理后的图像数据进行形变被执行以将延迟减少至少一个帧。
4.根据权利要求1所述的方法,其中所述输入/输出接口时钟不同于所述图像处理器时钟。
5.根据权利要求1所述的方法,还包括:在每个图像处理流水线级中对捕捉到的所述帧执行图像处理功能中的至少一个。
6.根据权利要求1所述的方法,还包括:将处理后的所述帧存储在系统存储器中。
7.一种用于通过编码器模块对帧进行流水线化的方法,所述方法包括:
从低延迟摄像机系统接收至少一个处理后的帧;
通过硬件图像预处理器执行一个或多个预处理操作;
通过处理后的所述帧上的快速图像编码器对预处理的所述帧执行一个或多个图像编码操作;以及
将编码后的所述帧发送到无线接口进行传输。
8.根据权利要求7所述的方法,其中所述编码操作还包括基于先前图像集合的历史传输数据来改变处理后的所述帧的分辨率。
9.根据权利要求7所述的方法,其中所述编码操作还包括基于切片的编码,所述基于切片的编码对处理后的所述帧的切片进行编码和传送。
10.根据权利要求7所述的方法,其中所述编码操作还包括基于先前帧的比特率和吞吐量来使用恒定的比特率。
11.一种通过无线接口对帧进行流水线化的方法,所述方法包括:
从编码器接收处理后的帧;
识别未被锁定以供另一设备传输的传输信道;
向传输驱动器查询当前比特率;
选择用于传输的比特率,所述选择基于从所述查询接收到的所述当前比特率;以及
通过绕过传送队列,以所选的所述比特率通过所述无线接口的所选的所述传输信道来传送所述处理后的帧。
12.根据权利要求11所述的方法,其中识别传输信道还包括:
扫描未被锁定以供另一设备传输的传输信道;
选择未被锁定以供另一设备传输的经扫描的所述传输信道;以及
锁定所选的所述信道进行传输。
13.根据权利要求11所述的方法,其中对用于传输的比特率的所述选择导致所述传输信道具有低重试率。
14.根据权利要求11所述的方法,其中先前图像集合的所述历史传输数据包括确定在过去时间间隔中所述先前图像集合的分辨率和帧速率。
15.根据权利要求11所述的方法,其中传送所述处理后的帧包括选择性地开启突发传输。
16.根据权利要求11所述的方法,其中选择用于传输的比特率还包括查询物理传输信道的数据速率。
17.根据权利要求11所述的方法,其中所述比特率被反馈回所述编码器,所述编码器还基于所述当前比特率来调整所述编码器的参数。
18.根据权利要求17所述的方法,其中所述编码器的参数包括分辨率、帧速率、压缩因子或比特率中的至少一个。
19.根据权利要求11所述的方法,还包括:查询物理传输信道的调制速率并将所述调制速率发送到所述编码器,所述编码器基于所述当前比特率来调整所述编码器的参数。
20.一种用于在控制器上显示帧的方法,所述方法包括:
从无线接口接收处理后的帧;
通过快速图像解码器对所述处理后的帧执行一个或多个图像解码操作;
响应于接收到全帧,在所述快速图像解码器处执行解码器微调,以通过避免用于帧之间的帧消隐的等待时间来减少延迟;
对控制器的显示器进行超频,所述超频指示所述显示器的工作频率的增加;以及
以超频频率将解码后的所述帧输出到所述控制器的所述显示器。
21.根据权利要求20所述的方法,其中所述解码操作还包括基于切片的解码,所述基于切片的解码对所述处理后的帧的切片进行解码并传送。
22.根据权利要求20所述的方法,其中解码器微调还包括在接收到的帧的末尾处插入虚拟数据以实现对所述帧的更快解码。
23.根据权利要求20所述的方法,还包括:通过硬件处理器而与所述帧的显示处理并行地执行对所述帧的后处理。
24.一种被配置为存储指令的计算机可读介质,所述指令在由处理器执行时使所述处理器:
接收由摄像机系统捕捉到的未处理的帧;
通过图像处理器对所述帧执行一个或多个图像处理操作;
对图像处理器流水线进行超频,所述超频用于增加所述图像处理器的工作频率;
将所述帧从包括多个流水线级的所述处理器的第一流水线级转发到第二流水线级;
对处理后的帧数据进行形变,所述形变用于减小图像数据的大小而不丢失图像信息;以及
将处理后的所述帧传送到编码器。
25.根据权利要求24所述的计算机可读存储介质,其中所述图像处理操作包括执行拜耳变换、去马赛克、降噪、图像锐化、图像稳定、卷帘快门伪像减少、颜色空间转换或压缩中的至少一个。
26.根据权利要求24所述的计算机可读存储介质,其中对所述图像处理器流水线进行超频和对处理后的所述图像数据进行形变被执行以将延迟减少至少一个帧。
27.根据权利要求24所述的计算机可读存储介质,其中所述输入/输出接口时钟不同于所述图像处理器时钟。
28.根据权利要求24所述的计算机可读存储介质,还包括:在每个图像处理流水线级中对捕捉到的帧执行所述图像处理功能中的至少一个。
29.根据权利要求24所述的计算机可读存储介质,还包括:将处理后的所述帧存储在系统存储器中。
30.一种被配置为存储指令的计算机可读介质,所述指令在由处理器执行时使所述处理器:
从低延迟摄像机系统接收处理后的帧;
通过硬件图像预处理器执行一个或多个预处理操作;
通过所述处理后的帧上的快速图像编码器对预处理的所述帧执行一个或多个图像编码操作;以及
将编码后的所述帧发送到无线接口进行传输。
31.根据权利要求30所述的计算机可读存储介质,其中所述编码操作还包括基于先前图像集合的历史传输数据来改变处理后的所述帧的分辨率。
32.根据权利要求30所述的计算机可读存储介质,其中所述编码操作还包括基于切片的编码,所述基于切片的编码对所述处理后的帧的切片进行编码和传送。
33.根据权利要求30所述的计算机可读存储介质,其中所述编码操作还包括基于先前帧的比特率和吞吐量使用恒定的比特率。
34.一种被配置为存储指令的计算机可读介质,所述指令在由处理器执行时使得所述处理器:
从编码器接收处理后的帧;
识别未被锁定以供另一设备传输的传输信道;
向传输驱动器查询当前比特率;
选择用于传输的比特率,所述选择基于从所述查询接收到的所述当前比特率;以及
通过绕过传送队列,以所选的所述比特率通过所述无线接口的所选的所述传输信道传送所述处理后的帧。
35.根据权利要求34所述的计算机可读存储介质,其中识别传输信道还包括:
扫描未被锁定以供另一设备传输的传输信道;
选择未被锁定以供另一设备传输的经扫描的所述传输信道;以及
锁定所选的所述信道进行传输。
36.根据权利要求34所述的计算机可读存储介质,其中对用于传输的比特率的所述选择导致所述传输信道具有低重试率。
37.根据权利要求34所述的计算机可读存储介质,其中先前图像集合的所述历史传输数据包括确定在过去时间间隔中所述先前图像集合的分辨率和帧速率。
38.根据权利要求34所述的计算机可读存储介质,其中传送所述处理后的帧包括选择性地开启突发传输。
39.根据权利要求34所述的计算机可读存储介质,其中选择用于传输的比特率还包括查询物理传输信道的数据速率。
40.根据权利要求34所述的计算机可读存储介质,其中所述比特率被反馈回所述编码器,所述编码器还基于所述当前比特率来调整所述编码器的参数。
41.根据权利要求40所述的计算机可读存储介质,其中所述编码器的参数包括分辨率、帧速率、压缩因子或比特率中的至少一个。
42.根据权利要求34所述的计算机可读存储介质,还包括:查询物理传输信道的调制速率并将所述调制速率发送到所述编码器,所述编码器基于所述当前比特率来调整所述编码器的参数。
43.一种被配置为存储指令的计算机可读介质,所述指令在由处理器执行时使得所述处理器:
从无线接口接收处理后的帧;
通过快速图像解码器对所述处理后的帧执行一个或多个图像解码操作;
响应于接收到全帧,在所述快速图像解码器处执行解码器微调,以通过避免用于帧之间的帧消隐的等待时间来减少延迟;
对控制器的显示器进行超频,所述超频指示所述显示器的工作频率的增加;以及
以超频频率将解码后的所述帧输出到所述控制器的所述显示器。
44.根据权利要求43所述的计算机可读存储介质,其中所述解码操作还包括基于切片的解码,所述基于切片的解码对所述处理后的帧的切片进行解码并传送。
45.根据权利要求43所述的计算机可读存储介质,其中解码器微调还包括在接收到的帧的末尾处插入虚拟数据以实现对所述处理后的帧的更快解码。
46.根据权利要求43所述的计算机可读存储介质,还包括:通过硬件处理器而与所述帧的显示处理并行地执行对所述帧的后处理。
47.一种低延迟视频流水线化系统,所述系统包括:
飞行器内的低延迟摄像机系统,所述低延迟摄像机系统被配置为捕捉和处理帧;
所述飞行器内的编码器模块,所述编码器模块与所述低延迟摄像机系统耦合,所述编码器模块被配置为编码所述帧;
所述飞行器内的无线接口,所述无线接口与所述编码器模块耦合,所述无线接口被配置为通过所述无线接口的多个传输信道中的一个传输信道以多个比特率中的一个比特率来传送经编码的所述帧;
远程控制器内的解码器模块,所述解码器模块经由所述无线接口与所述飞行器耦合,所述解码器模块被配置为接收和解码经编码的所述帧;
所述远程控制器内的显示器,所述显示器与所述解码器模块耦合,所述显示器被配置为输出经解码的所述帧;以及
与所述飞行器以及所述远程控制器耦合的处理器,所述处理器被配置为同时执行对多个图像或多个帧的处理,其中处理包括对所述帧进行捕捉、编码、传送、接收、解码或显示中的至少一个。
48.根据权利要求47所述的流水线化系统,还包括与所述低延迟摄像机耦合的硬件图像预处理器,所述硬件图像预处理器被配置为执行图像处理操作。
49.根据权利要求47所述的流水线化系统,还包括与所述飞行器耦合的系统存储器,所述系统存储器被配置为存储与多个帧相关联的历史数据。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562187200P | 2015-06-30 | 2015-06-30 | |
US62/187,200 | 2015-06-30 | ||
US15/197,579 US10582259B2 (en) | 2015-06-30 | 2016-06-29 | Pipelined video interface for remote controlled aerial vehicle with camera |
US15/197,579 | 2016-06-29 | ||
PCT/US2016/040272 WO2017004311A1 (en) | 2015-06-30 | 2016-06-30 | Pipelined video interface for remote controlled aerial vehicle with camera |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107925661A true CN107925661A (zh) | 2018-04-17 |
CN107925661B CN107925661B (zh) | 2021-04-02 |
Family
ID=56615999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680048841.7A Active CN107925661B (zh) | 2015-06-30 | 2016-06-30 | 用于具有摄像机的远程控制飞行器的流水线化视频接口 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10582259B2 (zh) |
EP (1) | EP3318039A1 (zh) |
CN (1) | CN107925661B (zh) |
WO (1) | WO2017004311A1 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6408832B2 (ja) * | 2014-08-27 | 2018-10-17 | ルネサスエレクトロニクス株式会社 | 制御システム、中継装置、及び制御方法 |
CN107256625B (zh) * | 2014-09-30 | 2020-06-02 | 深圳市大疆创新科技有限公司 | 拨轮组件、遥控器以及无人机控制方法 |
ES2882103T3 (es) * | 2015-03-02 | 2021-12-01 | Israel Aerospace Ind Ltd | Detección y seguimiento a distancia de objetos |
EP3095705B1 (en) * | 2015-05-18 | 2019-01-02 | The Boeing Company | System and method of flight termination for air vehicles |
US10582259B2 (en) | 2015-06-30 | 2020-03-03 | Gopro, Inc. | Pipelined video interface for remote controlled aerial vehicle with camera |
US9926077B2 (en) * | 2015-07-17 | 2018-03-27 | Teal Drones, Inc. | Modular arms on a rotor-based remote vehicle |
EP3225026A4 (en) * | 2015-07-31 | 2017-12-13 | SZ DJI Technology Co., Ltd. | Method of sensor-assisted rate control |
US10269257B1 (en) | 2015-08-11 | 2019-04-23 | Gopro, Inc. | Systems and methods for vehicle guidance |
US9896205B1 (en) | 2015-11-23 | 2018-02-20 | Gopro, Inc. | Unmanned aerial vehicle with parallax disparity detection offset from horizontal |
US9720413B1 (en) * | 2015-12-21 | 2017-08-01 | Gopro, Inc. | Systems and methods for providing flight control for an unmanned aerial vehicle based on opposing fields of view with overlap |
US9663227B1 (en) | 2015-12-22 | 2017-05-30 | Gopro, Inc. | Systems and methods for controlling an unmanned aerial vehicle |
CN205440847U (zh) * | 2015-12-25 | 2016-08-10 | 广州亿航智能技术有限公司 | 机臂可折放的多旋翼载人飞行器 |
US10742887B1 (en) * | 2016-10-14 | 2020-08-11 | Ambarella International Lp | Apparatus comprising a processor configured to perform electronic image stabilization using a calculated warp table |
CN117135853A (zh) * | 2016-12-20 | 2023-11-28 | 深圳市道通智能航空技术股份有限公司 | 无人飞行器的遥控设备 |
JPWO2018155159A1 (ja) * | 2017-02-24 | 2019-12-19 | パナソニックIpマネジメント株式会社 | 遠隔映像出力システム、及び遠隔映像出力装置 |
US10465840B2 (en) * | 2017-03-22 | 2019-11-05 | Gopro, Inc. | Calibration for image stabilization mechanism |
CN206894795U (zh) * | 2017-05-23 | 2018-01-16 | 深圳市道通智能航空技术有限公司 | 一种实现图像处理的遥控器及无人飞行系统 |
CN107235156B (zh) * | 2017-06-26 | 2023-07-25 | 中国电建集团成都勘测设计研究院有限公司 | 可收放和连续调节的无人机全景视频采集相机安装结构 |
US10114221B1 (en) * | 2017-07-03 | 2018-10-30 | Essential Products, Inc. | Toggling a 360-degree camera to selfie view |
CN110891862B (zh) * | 2017-08-10 | 2023-07-11 | 深圳零零无限科技有限公司 | 飞行系统中用于避障的系统和方法 |
US10462345B2 (en) | 2017-08-11 | 2019-10-29 | Essential Products, Inc. | Deformable structure that compensates for displacement of a camera module of a camera accessory |
US10491824B2 (en) | 2017-09-26 | 2019-11-26 | Gopro, Inc. | Combined mechanical and electronic image stabilization |
US10827123B1 (en) | 2018-01-05 | 2020-11-03 | Gopro, Inc. | Modular image capture systems |
US10657627B2 (en) * | 2018-01-23 | 2020-05-19 | Gopro, Inc. | Temporal smoothing in image capture systems |
FR3080094B1 (fr) * | 2018-04-16 | 2020-03-20 | Airbus Helicopters | Procede de preparation au decollage d'un drone, drone et systeme de preparation associes |
US10475306B1 (en) * | 2018-04-24 | 2019-11-12 | International Business Machines Corporation | Preventing anonymous theft by drones |
USD914076S1 (en) | 2019-09-25 | 2021-03-23 | The Chamberlain Group, Inc. | Camera |
CN111428608B (zh) * | 2020-03-19 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 交通工具定位方法、装置、计算机设备和存储介质 |
US11388314B1 (en) * | 2020-11-12 | 2022-07-12 | Gopro, Inc. | GPS timing for video frames |
US20230030222A1 (en) * | 2021-07-29 | 2023-02-02 | Teledyne Flir Detection, Inc. | Operating modes and video processing for mobile platforms |
US12089906B1 (en) | 2023-09-27 | 2024-09-17 | Sovato Health, Inc. | Systems and methods for remotely controlling robotic surgery |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7382366B1 (en) * | 2003-10-21 | 2008-06-03 | Nvidia Corporation | Method, apparatus, system, and graphical user interface for selecting overclocking parameters of a graphics system |
WO2008115416A1 (en) * | 2007-03-16 | 2008-09-25 | Kollmorgen Corporation | System for panoramic image processing |
CN101390397A (zh) * | 2006-02-24 | 2009-03-18 | 微软公司 | 加速视频编码 |
CN101640795A (zh) * | 2009-05-06 | 2010-02-03 | 广州市海山集成电路设计有限公司 | 一种视频解码优化方法及装置 |
CN101772803A (zh) * | 2007-08-06 | 2010-07-07 | 哉英电子股份有限公司 | 图像信号处理装置 |
CN101909218A (zh) * | 2009-06-05 | 2010-12-08 | 索尼公司 | 图像处理设备、图像显示设备和图像显示系统 |
WO2012040565A1 (en) * | 2010-09-23 | 2012-03-29 | Qualcomm Incorporated | Method and apparatus for pipelined slicing for wireless display |
WO2013098643A2 (en) * | 2011-12-16 | 2013-07-04 | Hyperion Core Inc. | Advanced processor architecture |
US20130205169A1 (en) * | 2012-02-03 | 2013-08-08 | Blaine D. Gaither | Multiple processing elements |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207436A1 (en) * | 2004-03-18 | 2005-09-22 | Anujan Varma | Switching device based on aggregation of packets |
US20060150071A1 (en) * | 2005-01-05 | 2006-07-06 | Microsoft Corporation | Software-based video rendering |
US20060227145A1 (en) * | 2005-04-06 | 2006-10-12 | Raymond Chow | Graphics controller having a single display interface for two or more displays |
US9618994B2 (en) * | 2012-10-10 | 2017-04-11 | Facebook, Inc. | Processor clocking policies for mobile computing devices |
US9635212B2 (en) * | 2014-05-30 | 2017-04-25 | Apple Inc. | Dynamic compression ratio selection |
US9933845B2 (en) * | 2014-11-24 | 2018-04-03 | Intel Corporation | Apparatus and method to provide multiple domain clock frequencies in a processor |
US9894701B2 (en) * | 2015-05-04 | 2018-02-13 | Qualcomm Incorporated | Inter-node coordination for managing a modem processing pipeline |
US10582259B2 (en) | 2015-06-30 | 2020-03-03 | Gopro, Inc. | Pipelined video interface for remote controlled aerial vehicle with camera |
-
2016
- 2016-06-29 US US15/197,579 patent/US10582259B2/en active Active
- 2016-06-30 CN CN201680048841.7A patent/CN107925661B/zh active Active
- 2016-06-30 WO PCT/US2016/040272 patent/WO2017004311A1/en active Application Filing
- 2016-06-30 EP EP16748363.5A patent/EP3318039A1/en active Pending
-
2020
- 2020-02-27 US US16/802,975 patent/US11102544B2/en active Active
-
2021
- 2021-08-17 US US17/404,764 patent/US11711572B2/en active Active
-
2023
- 2023-07-12 US US18/221,096 patent/US20230362436A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7382366B1 (en) * | 2003-10-21 | 2008-06-03 | Nvidia Corporation | Method, apparatus, system, and graphical user interface for selecting overclocking parameters of a graphics system |
CN101390397A (zh) * | 2006-02-24 | 2009-03-18 | 微软公司 | 加速视频编码 |
WO2008115416A1 (en) * | 2007-03-16 | 2008-09-25 | Kollmorgen Corporation | System for panoramic image processing |
CN101772803A (zh) * | 2007-08-06 | 2010-07-07 | 哉英电子股份有限公司 | 图像信号处理装置 |
CN101640795A (zh) * | 2009-05-06 | 2010-02-03 | 广州市海山集成电路设计有限公司 | 一种视频解码优化方法及装置 |
CN101909218A (zh) * | 2009-06-05 | 2010-12-08 | 索尼公司 | 图像处理设备、图像显示设备和图像显示系统 |
WO2012040565A1 (en) * | 2010-09-23 | 2012-03-29 | Qualcomm Incorporated | Method and apparatus for pipelined slicing for wireless display |
WO2013098643A2 (en) * | 2011-12-16 | 2013-07-04 | Hyperion Core Inc. | Advanced processor architecture |
US20130205169A1 (en) * | 2012-02-03 | 2013-08-08 | Blaine D. Gaither | Multiple processing elements |
Non-Patent Citations (1)
Title |
---|
侯海周: ""微型无人机图像处理与传输系统设计"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
US11711572B2 (en) | 2023-07-25 |
WO2017004311A1 (en) | 2017-01-05 |
US20200196009A1 (en) | 2020-06-18 |
US20220046321A1 (en) | 2022-02-10 |
EP3318039A1 (en) | 2018-05-09 |
US10582259B2 (en) | 2020-03-03 |
US20230362436A1 (en) | 2023-11-09 |
CN107925661B (zh) | 2021-04-02 |
US20170006340A1 (en) | 2017-01-05 |
US11102544B2 (en) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107925661A (zh) | 用于具有摄像机的远程控制飞行器的流水线化视频接口 | |
US11551492B2 (en) | Data logging in aerial platform | |
US10636150B2 (en) | Subject tracking systems for a movable imaging system | |
US11869234B2 (en) | Subject tracking systems for a movable imaging system | |
US11124295B2 (en) | Transformable unmanned aerial vehicle | |
US11530047B2 (en) | Unmanned aerial vehicle with rotating and overlapping rotor arms | |
CN107531322B (zh) | 空中捕获平台 | |
US20230041357A1 (en) | Camera system using stabilizing gimbal | |
US20180115795A1 (en) | Adaptive bit rate algorithm for point-to-point wifi devices | |
WO2020151361A1 (zh) | 无人驾驶飞行系统和用于无人驾驶飞行系统的控制系统 | |
US20130250047A1 (en) | Throwable camera and network for operating the same | |
CN111596649A (zh) | 用于空中系统的单手远程控制设备 | |
CN110615095B (zh) | 手持遥控装置和飞行系统套件 | |
CN108292365A (zh) | 用于无人载运工具的成像系统和方法 | |
WO2019015118A1 (zh) | 影像摄取装置、可移动平台和影像摄取设备 | |
CN105338316B (zh) | 无人机遥控器与图像传输模块的集成装置 | |
CN104159015A (zh) | 基于无人机的摄像系统 | |
US20230118521A1 (en) | Aerial capture platform |
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 |