本文中描述的实施例一般地涉及用于与车辆数据一起使用的动态数据压缩系统和方法,并且更具体地,涉及用于基于车辆数据的目的和/或车辆运行情况来动态地压缩车辆数据以便减小车辆数据的量并且提供有效和快速的处理的系统和方法。
背景技术:
在数据处理领域中期望的是为了有效的处理、传送和存储而压缩数据。各种数据处理设备可以在处理或通过网络发送数据等之前压缩数据。执行数据压缩以减小用于处理、传输或存储的数据的大小或量。例如,在数据传输的情况下,可用的网络带宽容量可能是有限的资源。随着传输涉及的数据的大小或量急剧地增大,发送数据所需要的成本已显著地增大。通过压缩来减小用于处理和传输的数据的大小或量可以潜在地实现显著的成本节约。而且,数据压缩消耗相对低水平的计算能力,并且各种压缩算法可用于实施。
车辆数据压缩可以提供数个优点。车辆数据压缩可以提高响应速度并且减小车辆计算系统上的处理负荷。车辆数据的量急剧地增大。道路上的许多车辆具有与蜂窝网络、wi-fi网络、近场网络等连接的通信能力。因此,车辆可以通过网络连续地发送车辆数据。而且,在车辆在运行中时,布置在车辆中或车辆周围的许多不同的传感器可以生成大量数据。车辆计算系统处理大量数据并且可能经历高处理负荷,这进而使得处理延迟。
目前,车辆数据压缩可以以静态方式而不是动态方式进行。车辆数据压缩可能无法区分从不同的驾驶事件、不同的车辆运行情况、不同的车辆周围环境等获得的车辆数据。例如,当车辆在高速公路上、在拥挤的大都市区域或在风景没有变化的乡村区域行驶时,车辆数据会以相同的方式或相同的方法被压缩。作为另一个示例,无论车辆是高速行驶还是以非常低的速度行驶,车辆数据都会以相同的方式被压缩。因此,需要提供通过考虑和反映各种驾驶事件来动态压缩车辆数据的系统和方法。另外,需要提供用于动态压缩车辆数据以最大化有效和高效处理、存储和传输车辆数据的系统和方法。还需要提供用于基于各种驾驶事件和车辆运行情况来减小车辆数据的量的系统和方法。
技术实现要素:
在一个实施例中,动态数据压缩系统包括一组传感器、控制器和通信接口。一组传感器被布置在车辆上并且可操作用于检测并捕获驾驶事件数据,一组传感器包括目标传感器。控制器被耦接到一组传感器并且可操作用于从一组传感器接收指示出驾驶事件数据的一个或多个数据流。通信接口被耦接到一组传感器和控制器以用于数据传输。控制器还可操作用于(i)分析一个或多个数据流,(ii)基于一个或多个数据流来确定车辆运行情况,车辆运行情况包括车辆的速度、车辆的位置、车辆的运动或它们的组合,并且(iii)基于车辆运行情况来确定是否压缩来自目标传感器的数据流。
在另一实施例中,动态数据压缩系统包括可操作用于检测驾驶事件并且生成一个或多个数据流的一组传感器,被耦接到一组传感器的处理器,以及耦接到处理器并且被配置成存储预定车辆运行情况的存储器。存储器还存储机器可读指令,该机器可读指令在由处理器执行时至少执行包括以下项的操作,(i)接收一个或多个数据流,(ii)分析一个或多个数据流,(iii)确定一个或多个数据流是否指示出一个或多个预定车辆运行情况,并且(iv)在确定一个或多个数据流指示出一个或多个预定车辆运行情况时,压缩一个或多个数据流。动态数据压缩系统还包括控制器局域网总线和数据通信单元。控制器局域网总线被耦接到一组传感器、处理器和存储器并且被配置成发送一个或多个压缩的数据流供处理。数据通信单元可操作用于通过网络将一个或多个压缩的数据流发送到云服务器。
在又一实施例中,动态数据压缩方法包括(i)利用一组传感器来检测并且捕获驾驶事件,并且生成指示出驾驶事件的一个或多个数据流,(ii)从一组传感器接收指示出驾驶事件数据的一个或多个数据流,(iii)利用处理器来分析来自一组传感器的一个或多个数据流,(iv)基于一个或多个数据流,利用处理器来确定车辆运行情况,车辆运行情况包括车辆的速度、车辆的位置、车辆的运动或它们的组合,并且(v)基于车辆运行情况,利用处理器来确定是否压缩来自一组传感器中的至少一个传感器的数据流。
结合附图,根据以下详细描述,将更充分地理解由本公开的实施例提供的这些特征和附加特征。
附图说明
在附图中阐明的实施例本质上是说明性和示例性的,并且不是旨在限制本公开。当结合以下附图阅读时,可以理解说明性实施例的以下详细描述,其中,相似的结构用相似的标号指示,并且其中:
图1示意性地示出根据本文中示出和描述的一个或多个实施例的联网汽车系统;
图2示意性地示出根据本文中示出和描述的一个或多个实施例的动态数据压缩系统的框图;
图3示出在图2的动态数据压缩系统中使用的一组传感器的框图;
图4示出根据本文中示出和描述的一个或多个实施例的视频数据生成传感器的框图;
图5示出根据本文中示出和描述的一个或多个实施例的车辆数据动态压缩方法的流程图;并且
图6示出根据本文中示出和描述的一个或多个实施例的传感器数据生成调整方法的流程图。
具体实施方式
联网汽车被配备成利用经由无线和/或蜂窝网络可用的连接性来与其它设备通信。联网汽车可以连接到周围环境并且与周围环境通信。联网汽车可以经由各种通信模型进行通信,包括车辆到基础设施(“v2i”)、车辆到车辆(“v2v”)、车辆到云(“v2c”)和车辆到万物(“v2x”)通信模型。v2i通信模型促进车辆与一个或多个基础设施设备之间的通信,这可以实现交换由车辆生成的数据和关于基础设施的信息。v2v通信模型促进车辆之间的通信,并且可以允许交换由周围车辆生成的数据,包括周围车辆的速度和位置信息。v2c通信模型促进车辆和云系统之间的信息交换。v2x通信模型将所有类型的车辆和基础设施系统相互连接。
如上所述,联网汽车操作用于捕获并且生成关于车辆、周围车辆、环境等的大量数据。联网汽车可以将这样的数据无缝地发送到周围车辆、云服务器、其它基础设施等,并且经由网络与它们通信。本文公开的实施例包括用于在通过网络传输车辆数据之前压缩车辆数据以便向诸如边缘服务器、中央服务器和/或任何其它远程服务器之类的外部服务器提供快速、高效和有成本效益的数据传送的系统和方法。这里描述的用于压缩车辆数据的系统和方法的实施例可以以减小数据的大小或量以及更有效地使用网络带宽的方式为与联网汽车一起使用提供相当大的优势。
在本文公开的实施例中,车辆数据压缩可以减小用于处理、传输、存储和/或其它用途的车辆数据的大小或量。车辆数据压缩可以不需要驻留在车辆中的处理器的高处理能力,并且不会干扰处理器的性能。在本文公开的实施例中,车辆数据压缩可以动态地执行而不是统一地执行。换句话说,可以基于诸如数据的性质、数据的目的以及场景中识别的对象之类的多个因素来执行压缩。另外或可替代地,基于车辆运行情况和驾驶事件,多个因素可以变化。
在本文公开的实施例中,基于数据的目的和车辆的运行,可以动态地压缩诸如传感器数据和视频数据之类的车辆数据。在一些实施例中,可以例如以预定帧速率和分辨率从相机收集视频数据。取决于数据的目的和车辆的运行,可以压缩视频数据以减少必要的处理资源和返回结果所需的时间。例如,以高速行驶的(比如在高速公路上行驶的)车辆可能需要高分辨率和高帧速率视频数据以精确地导航道路。然而,如果车辆例如以低速沿着城市街道行驶,那么视频数据被压缩以使得为了处理目的可以减小视频数据的帧速率。
另外,在一些实施例中,用于收集车辆数据的车辆传感器(比如相机)可以被配置成在不同情况下收集车辆数据。例如,相机可以以较高或较低分辨率,或较高或较低的帧速率来收集车辆数据,以便影响车辆数据的压缩。例如,相机可以通过从传感器收集较少的详细数据来以较低分辨率或较低帧速率收集车辆数据。换句话说,车辆传感器可以以预定分辨率和速率来收集数据,并且然后可以在收集到之后但在处理、分析和/或发送之前将压缩处理应用于数据。结果,可以显著地减小车辆数据的大小或量。具体参考相应的附图,本文将更详细地描述用于动态压缩车辆数据的各种系统和方法。
图1示意性地示出包括车辆100和云计算系统20的联网汽车系统10。车辆100包括头部单元120、存储设备140和包括各种传感器的一组传感器150。头部单元120基于从传感器150捕获并发送的数据点来控制车辆100的运行。存储设备140耦接到头部单元120,并且在头部单元120的控制下存储一组数据点。传感器150包括车辆100中使用的各种类型的传感器。在一些实施例中,传感器150包括一个或多个相机、lidar传感器、雷达传感器、超声传感器、加速度计、接近传感器、制动传感器、运动传感器等。车辆100中使用的传感器150可以不限于此,并且可以实施其它传感器。
在一些实施例中,车辆100还从可以布置在车辆100外部的一组传感器170接收数据点。例如,传感器170可以布置在比如停车场、市政基础设施、车辆100的周围环境等的建筑物上或附近。车辆100可以经由网络200从传感器170接收数据点。在其它实施例中,车辆100可以经由v2v通信信道从周围的车辆210接收数据点。类似于传感器150,诸如一个或多个相机、lidar传感器、加速度计、接近传感器、制动传感器、运动传感器等的各种类型的传感器可以用作传感器170。
如图1所示,车辆100包括通信单元180,该通信单元180在车辆100和网络200之间交换数据和信息。如图1所示,车辆100可以联网并且与一个或多个边缘服务器220、240和260通信。边缘服务器220、240和260可以联网并且与中央服务器300通信。中央服务器300可以与接收器280和285通信。接收器280和285还与车辆100和210通信。
参考图2,详细解释了根据本文中示出和描述的一个或多个实施例的动态数据压缩系统400的结构和操作。动态压缩系统400包括处理器410、存储器420和一组传感器430。为了便于解释,动态数据压缩系统400可以包括在如图1所示的车辆100中,但不限于此。控制器局域网(can)总线440连接到处理器410、存储器420和一组传感器430,并且用作车辆100内和周围的通信接口。图2中所示的传感器430向处理器410提供各种数据点,该处理器410进而为了各种目的而处理这样的数据点。处理器410分析来自传感器430的数据点以做出各种确定。在一些实施例中,处理器410分析数据以确定这样的数据点是被存储还是被丢弃,并且如果数据被存储,那么是车载存储还是外部存储。在其它实施例中,处理器410分析数据以确定对数据点的必要的动作或反应。例如,处理器410从诸如加速度计之类的传感器接收数据点,分析数据点并且发现车辆100可能有撞车情况的风险。然后,处理器410可以做出确定以使得发生以下动作,比如使车辆100停止,或者输出请求减慢车辆100的行驶速度的警告。
在一些实施例中,动态数据压缩系统400可以在如图1所示的头部单元120中实施。在其它实施例中,动态数据压缩系统400可以独立于头部单元120并且与头部单元120分开地实施。为了便于解释,动态数据压缩系统400可以包括在车辆100中。动态数据压缩系统400也可以与各种类型的车辆一起使用。
如图2所示,处理器410可以同时运行一个或多个应用。同时,处理器410可以处理和分析数据点。基于正由处理器410处理的处理任务,处理器410的计算能力可以变化。处理器410的计算能力可以能够同时处理多个任务。处理器410还执行包括车辆数据的压缩和/或解压缩的车辆数据的处理。另外,处理器410执行对经由网络200从外部系统接收的车辆数据的加密和/或解密。
在图2中,示出一个处理器410,但是车辆100可以包括一个或多个处理器。一个或多个处理器可以布置在车辆100中的各个位置处。在一些实施例中,传感器150可以与用于控制传感器150的操作的一个或多个处理器相关联。诸如气囊之类的其它车辆组件可以与用于控制气囊的控制器相关联,并且可以在头部单元120和/或处理器410的控制下操作。在其它实施例中,处理器410可以是头部单元120的一部分,并且参与车辆100的控制操作。
存储器420存储由处理器410执行的各种程序。在一些实施例中,存储器420存储处理数据点的基于机器语言的程序。另外或可替代地,存储器420存储能够学习车辆100的驾驶模式、学习车辆100的碰撞情况等的深度学习程序、神经网络程序、模式识别程序等。在其它实施例中,存储在存储器420中的程序还识别且修改用户简档(profile)以使得可以相应地改变车辆设置。存储器420还存储与传感器150和/或传感器170的数据点的分析有关的各种程序。存储器420还存储诸如媒体播放器、导航程序、车辆设置中使用的程序等的各种应用程序。
在一些实施例中,存储器420还存储动态数据压缩程序424,该动态数据压缩程序424被配置成压缩可选择的数据点。存储器420还存储解压缩程序以对从周围车辆210和/或外部服务器接收的数据进行解压缩。可替代地,单个程序可以执行压缩和解压缩。在其它实施例中,存储器420还存储加密和/或解密程序,以便在发送之前对来自传感器150、170的数据点进行加密和/或对从周围车辆210和/或外部服务器220、240、260、接收器280、285或中央服务器300接收的数据进行解密。
在一些实施例中,动态数据压缩程序424分析多个相关因素并且基于这样的多个相关因素来确定要执行压缩。动态数据压缩程序424检查诸如车辆的驾驶情况和数据类型(例如,视频数据、速度数据、lidar数据等)之类的各种因素,并且确定是否对车辆数据执行压缩。下面将结合图5-图6详细描述动态压缩程序424的操作。
在一些实施例中,存储器420存储预定车辆运行情况,该预定车辆运行情况可以触发车辆数据的压缩和/或一组传感器430的数据生成调整。例如,预定车辆运行情况422可以包括高速、突然加速、减速、碰撞等。预定车辆运行情况422可以在需要时被修改以包括相关事件。预定车辆运行情况422可以与上面讨论的多个因素相关联并且相关。例如,加速度和减速度可以从加速度传感器获得并且指示潜在的事故、碰撞到对象或其它紧急情况。作为另一示例,高速可以从速度传感器获得并且可以指示高速公路驾驶事件、潜在事故等。另外或可替代地,预定车辆运行情况422可以触发或不触发从传感器430获得的相关数据的压缩。
仍然参考图2,一组传感器430包括还包含目标传感器470的各种传感器。图3更详细地示出传感器430。在一些实施例中,一组传感器430包括速度传感器432、视频数据生成传感器434、lidar传感器436、加速度计438和gps传感器460。传感器430可以不限于图3中示出的传感器。在其它实施例中,其它类型的传感器可以被包括在一组传感器430中。传感器430捕获各种车辆驾驶事件并且连续地生成数据流。传感器430可以经由can总线440将一个或多个数据流发送到处理器410。此外,传感器430还可以通过网络200将一个或多个数据流发送到云系统。
返回参考图3,速度传感器432从车辆驾驶事件捕获指示出车辆速度的数据流。速度传感器432可以向处理器410提供指示出车辆速度的数据流。另外或可替代地,速度传感器432可以经由can总线440向诸如视频数据生成传感器434之类的其它传感器提供与车辆速度有关的数据流。在一些实施例中,速度传感器432可以通过can总线440向视频数据生成传感器434提供速度脉冲。如将结合图6更详细地讨论的那样,响应于速度脉冲,视频数据生成传感器434和其它传感器可以执行数据生成调整。在其它实施例中,速度传感器432可以以与速度脉冲不同的形式来提供速度信息。
lidar传感器436操作以通过利用脉冲激光照亮目标来测量到目标的距离,并且测量反射脉冲。在一些实施例中,lidar传感器436可以提供指示出到对象的测量距离可能太近的信息。该信息可用于确定是否存在事故或碰撞的风险。加速度计438提供指示出车辆的加速度或减速度的数据流。来自加速度计438的数据流可以与诸如碰撞、撞车、事故等的预定车辆运行情况相关联。在一些实施例中,像速度传感器432一样,加速度计438可以通过can总线440向如图3所示的视频数据生成传感器434和其它传感器提供加速度或减速度指示。如将更详细地讨论的那样,响应于指示,视频数据生成传感器434和其它传感器可以执行数据生成调整。
gps系统460操作以在驾驶事件期间确定车辆的位置。在一些实施例中,gps系统460向处理器410和其它传感器提供位置信息。在一些实施例中,位置信息可以被用于确定位置是高速公路、乡村区域还是大都市区域,并且还可以被用于确定是否压缩数据流。位置信息可以被用于确定是否压缩来自传感器430的数据流。如将进一步描述的那样,位置信息还可以被用于调整传感器430处的数据生成。另外,位置信息还可以与诸如高速、加速、减速等其它车辆运行情况一起使用,以便触发数据压缩和/或数据生成调整。
返回参考图2,动态数据压缩系统400包括数据通信单元450,该数据通信单元450通过网络200与云系统通信。
图4示出作为传感器430的一个示例的图3的视频数据生成传感器434的框图。在一些实施例中,视频数据生成传感器434可以是目标传感器470(参见图2),然而目标传感器470不限于此并且可以包括其它类型的传感器。视频数据生成传感器434包括数据接收部分502和数据生成部分508。视频数据生成传感器434还包括传感器处理器504、存储器504和通信接口510。在车辆行驶时,由视频数据生成传感器434捕获的与驾驶事件有关的数据被输入到数据接收部分502。数据接收部分502将输入数据提供给传感器处理器504。传感器处理器504耦接到存储各种程序的存储器504。在一些实施例中,存储器504还存储数据收集调整程序506。通信接口510被配置成在视频数据生成传感器434与车辆100的其它组件之间进行通信。
在一些实施例中,数据收集调整程序506被配置成调整视频数据生成传感器434的数据捕获速率。例如,数据收集调整程序506可以调整帧捕获速率以便调整视频数据的结果分辨率。举例来说,数据收集调整程序506可以针对特定间隔将帧捕获速率调整到每分钟60帧,这得到具有60mph速度的高速公路驾驶的全4k高清(hd)图像。作为另一示例,数据收集调整程序506可以针对特定间隔将帧捕获速率调整到每分钟30帧,这得到具有较低速度的城市驾驶的标准4k图像或全hd图像。视频数据生成传感器434可以捕获静止图像以及运动图像。这样,数据收集调整程序506可以通过捕获较少量的原始数据来最终生成较少量的视频数据。
在一些实施例中,数据收集调整程序506可以使得视频数据生成传感器434能够具有第一数据生成模式和第二数据生成模式。例如,第一数据生成模式包括高分辨率模式,该高分辨率模式针对特定间隔以每分钟60帧生成视频数据和全4khd图像。第二数据生成模式包括低分辨率模式,该低分辨率模式针对特定间隔生成每分钟30帧和标准4k图像或全hd图像。当第二数据生成模式启动时,视频数据生成传感器434可以通过使用低帧速率来捕获和收集较少的详细数据。这可以使得减小由视频数据生成传感器434生成的供处理的数据量。
在其它实施例中,诸如lidar传感器436和加速度计438之类的传感器430也可以被配置成启动收集较少的详细数据的模式,并且最终减小由这些传感器生成的数据量。由于传感器430中的一个或多个传感器可以生成减小的数据流的量,所以可以在传感器层面减小生成的供处理的数据量。
图5示出根据本文示出和描述的一个或多个实施例的动态压缩车辆驾驶数据600的方法的流程图。在车辆100运行时,一组传感器430检测并且捕获车辆100的驾驶事件(步骤605)。一组传感器430生成指示出利用一组传感器430捕获的驾驶事件的一个或多个数据流。(步骤610)。在一些实施例中,加速度计438生成指示出车辆100的加速度或减速度的一个或多个数据流。作为另一示例,速度传感器432生成指示出车辆100的速度的一个或多个数据流。作为又一示例,lidar传感器436生成指示出车辆100与对象之间的测量距离的一个或多个数据流。
在一些实施例中,一组传感器430包括目标传感器470,并且为了便于解释,描述目标传感器470的操作。目标传感器470可以是任何类型的传感器,并且例如目标传感器470包括视频数据生成传感器434。作为另一示例,目标传感器470还包括速度传感器432、加速度计438、lidar传感器436等。目标传感器470可以不限于以上列出的传感器,并且可以包括本领域中可用的各种传感器。
处理器410接收并且分析来自包括目标传感器470的一组传感器430的一个或多个数据流。(步骤615)。然后,基于来自一组传感器430的一个或多个数据流,处理器410确定车辆运行情况。(步骤620)。在一些实施例中,车辆运行情况可以指示出车辆100的速度,比如以60mph的速度行驶。作为另一示例,基于位置和速度信息,车辆运行情况可以指示出车辆100的诸如在高速公路上驾驶或在城市驾驶之类的特定驾驶位置。作为又一示例,车辆运行情况可以指示出快速减速、快速加速、与附近对象的近距离等。
在一些实施例中,目标传感器470可以包括如图4所示的视频数据生成传感器434。基于指示出关键驾驶事件的车辆运行情况,目标传感器470可以生成具有高分辨率和高帧速率的数据流。关键驾驶事件可以包括诸如高速、突然减速或加速、事故、接近碰撞情况等之类的需要高分辨率图像的车辆驾驶事件。在其它实施例中,基于指示出非关键驾驶事件的车辆运行情况,目标传感器470可以生成具有低分辨率和低帧速率的数据流。非关键驾驶事件可以包括诸如低速、乡村侧驾驶、恒定速度驾驶、不存在相邻对象等之类的不需要高分辨率图像的车辆驾驶事件。
在其它实施例中,目标传感器470可以包括不同类型的传感器,并且基于确定车辆运行情况是关键驾驶事件还是非关键驾驶事件来生成数据流。
基于确定的车辆运行情况,处理器410基于车辆运行情况来确定是否压缩来自传感器430的数据流。例如,基于车辆运行情况,处理器410确定是否压缩来自目标传感器470的一个或多个数据流。(步骤625)。当确定压缩时,来自目标传感器470的一个或多个数据流被压缩。(步骤630)。
在一些实施例中,在传感器430从驾驶事件捕获并且收集一个或多个数据流之后,可以进行传感器数据生成调整处理700(参见图6)。传感器数据生成调整处理700可以影响传感器的数据生成。如将在下面结合图6进一步详细描述的那样,调整处理700被配置成通过捕获并且收集较少的驾驶事件细节来控制传感器430生成较少的数据流。
返回参考图2和图5,在一些实施例中,压缩程序424减小用于处理、传输、存储和分析的数据的大小或量。例如,当传送文本、图像和视频时,压缩程序424可以减小对存储、处理和带宽的需求。压缩减小数据的大小或量,因此,可以减小用于处理、分析和传输诸如传感器数据之类的数字信息所需的数据量。因此,使用相同的带宽容量,当数据被压缩时,更多数据可以通过网络200传输。
与数据处理、传输和存储相关的各种数据压缩技术是可用的。一种类型的数据压缩技术利用较少的比特来编码消息。另一类型的数据压缩技术包括仅在当前帧与之前帧不同时才发送帧。这样,可以减小要处理、存储或传输的数据总量。另一类型的数据压缩技术是在不准确地发送消息时近似并发送消息,这称为有损压缩。在本文的实施例中使用的压缩程序可以不限于特定的压缩程序,并且可以利用各种压缩程序来实现。在本文的实施例中使用的压缩程序还可以实现与通过蜂窝网络的数据传输一起使用的压缩技术。
在一些实施例中,存储在存储器420中的压缩程序可以将数据压缩为具有zip文件格式。许多压缩程序都支持zip文件格式,并且各种操作系统可以支持zip文件格式。zip文件是如下档案:其以可以使用许多不同的方法来压缩档案中包含的文件的方式存储多个文件。因为zip档案中的文件被单独压缩,所以整个档案可以不需要被压缩或解压缩,并且可以提取文件或可以添加新文件。用于支持zip文件格式的一种压缩方法是deflate,该方法在互联网工程任务组(“ietf”)请求意见(“rfc”)1951中被描述。
在一些实施例中,加密可以紧跟着压缩,特别是当压缩数据通过网络200传输时。在压缩程序支持zip文件格式的情况下,可以以各种方式来实现加密,比如对zip文件设置密码。在其它实施例中,加密可以使用公钥/私钥的配对。在很大程度上,通过网络200从车辆100传输数据是为了广播数据,该数据可以被任何接收方潜在地接收。如果使用公钥/私钥的配对,那么仅诸如图1中的中央服务器300之类的有限方可以通过使用私钥来解密加密的数据。换句话说,诸如其它车辆之类的意外接收方可以知道公钥,但是私钥仅对中央服务器300是可用的。
诸如由比如相机之类的视频数据生成传感器434所获得的图像数据之类的车辆数据是基于某些标准技术而被压缩的。例如,已知的是运动图像专家组(mpeg)设置了音频和视频压缩与传输的标准。mpeg已经将压缩格式和辅助标准进行了标准化,使得mpeg-1和mpeg-2应用于运动图像的编码,mpeg-4应用于视听对象的编码等。压缩视频或音频数据的压缩技术将mpeg格式应用于诸如静止图像或运动图像之类的不同类型的图像。
而且,诸如mpeg标准之类的压缩技术可以与媒体文件和视频/音频数据有关。除了视频和音频数据以外,从各种传感器生成的车辆数据在被压缩时可以减小供处理的数据量,并且实现较快且高效的处理。
图6示出传感器数据生成调整方法700的流程图。如图5所示,在一些实施例中,在利用一组传感器430生成指示出驾驶事件的一个或多个数据流时,可以发生传感器数据生成调整方法700(步骤610)。在一些实施例中,通过从速度传感器432接收一个或多个数据流,传感器数据生成调整方法700继续。(步骤705)。基于来自速度传感器432的一个或多个数据流,利用处理器410确定车辆100的速度。(步骤710)。另外或可替代地,利用一组传感器430可以确定除了车辆100的速度之外的车辆运行情况。(步骤715)。
速度和/或其它车辆运行情况可以被发送到目标传感器470。(步骤720)。在一些实施例中,速度传感器432可以生成速度脉冲并且通过can总线440将速度脉冲发送到目标传感器470。在其它实施例中,速度传感器432可以将速度脉冲发送到处理器410,该处理器410进而将速度脉冲发送到目标传感器470。在图2和图3中,速度传感器432和目标传感器470被描述为被包括在一组传感器430中,但是对于传感器430,车辆100可以具有各种位置和地方。
在一些实施例中,目标传感器470可以包括诸如相机之类的视频数据生成传感器434。目标传感器470可以包括放置在各种不同位置的一个或多个相机。在其它实施例中,目标传感器470可以是与相机类型不同的类型的传感器。例如,目标传感器470可以是lidar传感器436。
作为示例并且为了便于解释,详细描述了作为目标传感器470的相机的数据生成调整。在一些实施例中,基于速度脉冲,目标传感器470(例如,相机)调整基于速度和车辆运行情况的捕获帧速率。(步骤725)。可以例如以预定的帧速率和分辨率从相机收集视频数据。基于速度脉冲,可以调整视频数据的生成以减小返回结果所需的必要处理资源和时间。(步骤725)。在一些实施例中,与以较低速度运行所需的分辨率和帧速率相比较,诸如在高速公路上以高速行驶的车辆可能需要高分辨率和高帧速率视频数据来精确地导航道路。然而,如果车辆例如以低速沿着城市街道行驶,那么可以调整视频数据以使得为了处理目的而减小视频数据的帧速率。取决于数据的目的和车辆的运行,可以执行传感器层面的数据生成调整。
在一些实施例中,目标传感器470是包括用于调整捕获帧速率的第一数据生成模式和第二数据生成模式的相机(步骤725)。第一数据生成模式包括高分辨率模式,该高分辨率模式以每分钟60帧和全4k高清(hd)来生成视频数据。(步骤730)。第二数据生成模式包括低分辨率模式,该低分辨率模式以每分钟30帧和4k或全高清来生成视频数据。(步骤730)。基于车辆100的速度,目标传感器470可以启动高分辨率模式,或者启动低分辨率模式。例如,当车辆100在高速公路上行驶时,速度传感器432将指示出60mph的速度脉冲发送到目标传感器470。然后,目标传感器470启动高分辨率模式,该高分辨率模式生成具有高分辨率和高帧速率的视频数据。
在其它实施例中,基于用于调整捕获帧速率的车辆100的速度,目标传感器470启动低分辨率模式,该低分辨率模式生成具有低分辨率和低帧速率的视频数据(步骤725)。如果车辆100例如以低速沿着城市街道行驶,那么目标传感器470启动低分辨率模式以使得为了处理目的可以减小视频数据的帧速率。另一方面,如果车辆100比如在高速公路上以高速行驶,那么目标传感器470启动高分辨率模式以精确地导航道路。
在一些实施例中,可以基于车辆的位置来调整视频数据的分辨率。例如,因为周围环境可能不会像在城市或大多城市环境中那样频繁或动态地变化,所以在乡村环境中行驶的车辆可以不需要高分辨率视频数据。在这种情况下,目标传感器470启动较低分辨率模式来生成具有低帧速率和低分辨率的数据流。
尽管前述提到由作为目标传感器470的相机收集的视频数据和图像数据,但是还可以预期的是,基于诸如车辆100的速度、车辆100的位置等的车辆运行情况,诸如来自车辆100内的传感器430的lidar数据或其它数据之类的其它传感器数据的生成可以被控制以被调整供处理。在其它实施例中,数据的性质、数据的目的和场景中识别的对象可以触发到目标传感器470的用于调整传感器数据的数据生成(比如在传感器层面减小数据的量)的信号。
在一些实施例中,基于指示出关键驾驶事件的车辆运行情况,目标传感器470可以生成具有高分辨率和高帧速率的数据流。关键驾驶事件可以包括诸如高速、突然减速或加速、事故、接近碰撞情况等之类的需要高分辨率图像的车辆驾驶事件。在其它实施例中,基于指示出非关键驾驶事件的车辆运行情况,目标传感器470可以生成具有低分辨率和低帧速率的数据流。非关键驾驶事件可以包括诸如低速、乡村侧驾驶、恒定速度驾驶、没有相邻对象等之类的不需要高分辨率图像的车辆驾驶事件。
如图5和图6所示,通过在传感器层面捕获和生成较少的传感器数据和/或在动态压缩系统层面进一步压缩来自目标传感器470的一个或多个数据流,可以减小目标传感器470的传感器数据的量。如上所述,车辆运行情况可以是对目标传感器470和动态压缩系统400两者的触发。在一些实施例中,车辆100的低速可以触发目标传感器470去减小诸如原始数据之类的传感器数据的数据捕获速率。例如,车辆100的低速可以是由于在拥挤的城市街道中驾驶而导致的,并且可以不需要高分辨率图像或详细的信息。
在其它实施例中,车辆100的高速可以触发目标传感器470去启动高分辨率模式并且捕获并生成具有高帧频率和高分辨率的数据流。车辆100的高速可以是由于在乡村区域的高速公路上驾驶而导致的。由于乡村区域的周围环境可能不会频繁变化,因此动态压缩系统400可以通过使用有损压缩来压缩来自目标传感器470的数据流。
在涉及作为目标传感器470的相机的实施例中,用于收集数据的相机或传感器可以被配置成以较高或较低的分辨率或速率来收集数据,以便通过收集来自传感器的较少详细数据来影响数据的压缩。然而,在其它实施例中,用于收集数据的相机和传感器可以以预定的分辨率和速率来收集数据,并且压缩过程可以在当数据被收集后但在处理、分析和/或发送之前应用于数据。
尽管前述提到由相机收集的视频数据和图像数据,但是还可以预期的是,基于数据的性质、数据的目的以及场景中识别的对象,可以压缩诸如来自车辆内的传感器的lidar数据或其它数据之类的其它传感器数据供处理。
动态数据压缩系统包括一组传感器、控制器和通信接口。传感器被布置在车辆上并且可操作用于检测并捕获驾驶事件数据,一组传感器包括目标传感器。控制器被耦接到一组传感器并且可操作用于从一组传感器接收指示出驾驶事件数据的一个或多个数据流。通信接口别耦接到一组传感器和控制器以用于数据传输。控制器还可操作用于(i)分析一个或多个数据流,(ii)基于一个或多个数据流来确定车辆运行情况,车辆运行情况包括车辆的速度、车辆的位置、车辆的运动或它们的组合,并且(iii)基于车辆运行情况来确定是否要压缩来自目标传感器的数据流。
在另一实施例中,一组传感器包括速度传感器并且控制器基于来自速度传感器的一个或多个数据流来确定车辆的速度。在另一实施例中,目标传感器包括视频数据生成传感器,并且控制器可操作用于将对车辆运行情况的确定发送到目标传感器。基于车辆运行情况,目标传感器可操作用于生成具有不同分辨率的数据流。基于指示出关键驾驶事件的车辆运行情况,目标传感器可操作用于生成具有高分辨率和高帧速率的数据流,其中高分辨率高于当车辆运行情况没有指示出关键驾驶事件时的分辨率,并且其中,高帧速率高于当车辆运行情况没有指示出关键驾驶事件时的帧速率。可替代地或另外,基于指示出非关键驾驶事件的车辆运行情况,目标传感器可操作用于生成具有低分辨率和低帧速率的数据流,其中低分辨率低于当车辆运行情况没有指示出非关键驾驶事件时的分辨率,并且其中,低帧速率低于当车辆运行情况没有指示出非关键驾驶事件时的帧速率。
在又一实施例中,控制器还可操作用于压缩具有低分辨率和低帧速率的数据流。
在又一实施例中,动态数据压缩系统包括可操作用于检测驾驶事件并生成一个或多个数据流的一组传感器、耦接到一组传感器的处理器以及耦接到处理器并被配置成存储预定车辆运行情况的存储器。存储器还存储机器可读指令,该机器可读指令当由处理器执行时至少执行包括以下项的操作:(i)接收一个或多个数据流,(ii)分析一个或多个数据流,(iii)确定一个或多个数据流是否指示出一个或多个预定车辆运行情况,并且(iv)当确定一个或多个数据流指示出一个或多个预定车辆运行情况时,压缩一个或多个数据流。动态数据压缩系统还包括控制器局域网总线和数据通信单元。控制器局域网总线耦接到一组传感器、处理器和存储器,并且被配置成发送一个或多个压缩的数据流供处理。数据通信单元可操作用于通过网络将一个或多个压缩数据流发送到云服务器。
在又一实施例中,确定一个或多个数据流是否指示出预定车辆运行情况的操作进一步包括:确定一个或多个数据流是否指示出车辆的关键驾驶事件。
在又一实施例中,确定一个或多个数据流是否指示出预定车辆运行情况的操作进一步包括:确定一个或多个数据流是否指示出超过与事故相关的预定阈值的车辆运动。
在又一实施例中,一组传感器还包括视频数据生成传感器,该视频数据生成传感器包括传感器处理器和存储计算机代码的存储器。
在又一实施例中,机器可读指令在由处理器执行时还执行经由控制器局域网总线将一个或多个预定车辆运行情况发送到视频数据生成传感器,并且计算机代码在由传感器处理器执行时被配置成基于一个或多个预定车辆运行情况来调整输入视频数据流的捕获帧速率。
在又一实施例中,动态数据压缩方法包括:(i)利用一组传感器来检测并捕获驾驶事件,并且生成指示出驾驶事件的一个或多个数据流,(ii)从一组传感器接收指示出驾驶事件数据的一个或多个数据流,(iii)利用处理器来分析来自传感器数据组的一个或多个数据流,(iv)基于一个或多个数据流,利用处理器来确定车辆运行情况,车辆运行情况包括车辆的速度、车辆的位置、车辆的运动或它们的组合,并且(v)基于车辆运行情况,利用处理器来确定是否压缩来自一组传感器中的至少一个传感器的数据流。
在又一实施例中,接收一个或多个数据流的步骤进一步包括从速度传感器接收一个或多个数据流;并且确定车辆运行情况的步骤还包括基于来自速度传感器的一个或多个数据流来确定车辆的速度。
在又一实施例中,接收的步骤进一步包括从视频传感器接收一个或多个视频数据流。动态数据压缩方法还包括将对车辆运行情况的确定发送到视频传感器。
在又一实施例中,接收的步骤进一步包括接收基于车辆运行情况而具有不同分辨率的一个或多个视频数据流。在又一实施例中,接收的步骤进一步包括接收基于指示出关键驾驶事件的车辆运行情况而具有高分辨率和高帧速率的一个或多个视频数据流,其中,高分辨率高于当车辆运行情况没有指示出关键驾驶事件时的分辨率,并且其中,高帧速率高于当车辆运行情况没有指示出关键驾驶事件时的帧速率。
在又一实施例中,接收的步骤进一步包括接收基于指示出非关键驾驶事件的车辆运行情况而具有低分辨率和低帧速率的一个或多个视频数据流,其中,低分辨率低于当车辆运行情况没有指示出非关键驾驶事件时的分辨率,并且其中,低帧速率低于当车辆运行情况没有指示出非关键驾驶事件时的帧速率。在又一实施例中,压缩的步骤进一步包括压缩具有低分辨率和低帧速率的数据流。在又一实施例中,生成一个或多个数据流的步骤进一步包括调整目标传感器的数据捕获速率以减小由目标传感器生成的数据流的量。
尽管本文已经示出和描述了具体实施例,但是应该明白,在不脱离所要求保护的主题的精神和范围的情况下,可以做出各种其它变化和修改。而且,虽然本文已经描述了所要求保护的主题的各个方面,但是这些方面不需要结合使用。因此,旨在所附权利要求覆盖所要求保护的主题的范围内的所有这样的变化和修改。
1.一种动态数据压缩系统,包括:
一组传感器,被布置在车辆上,并且可操作用于检测并捕获驾驶事件数据,所述一组传感器包括目标传感器;
控制器,被耦接到所述一组传感器,并且可操作用于从所述一组传感器接收指示出驾驶事件数据的一个或多个数据流;以及
通信接口,被耦接到所述一组传感器和控制器以用于数据传输;
其中,控制器还可操作用于:
分析所述一个或多个数据流;
基于所述一个或多个数据流来确定车辆运行情况,所述车辆运行情况包括车辆的速度、车辆的位置、车辆的运动或它们的组合;并且
基于车辆运行情况来确定是否压缩来自目标传感器的数据流。
2.根据权利要求1所述的动态数据压缩系统,其中,所述一组传感器包括:
速度传感器,并且控制器基于来自速度传感器的一个或多个数据流来确定车辆的速度;以及
视频数据生成传感器,并且控制器可操作用于将对车辆运行情况的确定发送到目标传感器。
3.根据权利要求1所述的动态数据压缩系统,其中,目标传感器包括视频数据生成传感器,并且控制器可操作用于将对车辆运行情况的确定发送到目标传感器;并且
其中,目标传感器可操作用于基于指示出关键驾驶事件的车辆运行情况来生成具有高分辨率和高帧速率的数据流,其中,高分辨率高于当车辆运行情况没有指示出关键驾驶事件时的分辨率,并且其中,高帧速率高于当车辆运行情况没有指示出关键驾驶事件时的帧速率。
4.根据权利要求1所述的动态数据压缩系统,其中,目标传感器包括视频数据生成传感器,并且控制器可操作用于将对车辆运行情况的确定发送到目标传感器;并且
其中,目标传感器可操作用于基于指示出非关键驾驶事件的车辆运行情况来生成具有低分辨率和低帧速率的数据流,其中,低分辨率低于当车辆运行情况没有指示出非关键驾驶事件时的分辨率,并且其中,低帧速率低于当车辆运行情况没有指示出非关键驾驶事件时的帧速率;
其中,控制器还可操作用于压缩具有低分辨率和低帧速率的数据流。
5.一种动态数据压缩系统,包括:
一组传感器,可操作用于检测驾驶事件并且生成一个或多个数据流;
处理器,被耦接到所述一组传感器;
存储器,被耦接到处理器并且被配置成存储预定车辆运行情况,其中,存储器还存储机器可读指令,该机器可读指令在由处理器执行时执行至少以下操作:
接收所述一个或多个数据流;
分析所述一个或多个数据流;
确定所述一个或多个数据流是否指示出一个或多个预定车辆运行情况;并且
在确定所述一个或多个数据流指示出所述一个或多个预定车辆运行情况时,压缩所述一个或多个数据流;控制器局域网总线,被耦接到所述一组传感器、处理器和存储器,并且被配置成发送一个或多个压缩的数据流供处理;以及
数据通信单元,可操作用于通过网络将所述一个或多个压缩的数据流发送到云服务器。
6.根据权利要求5所述的动态数据压缩系统,其中,确定所述一个或多个数据流是否指示出预定车辆运行情况的操作还包括:确定所述一个或多个数据流是否指示出车辆的关键驾驶事件。
7.根据权利要求5所述的动态数据压缩系统,其中,确定所述一个或多个数据流是否指示预定车辆运行情况的操作还包括:确定所述一个或多个数据流是否指示出超过与事故相关的预定阈值的车辆运动。
8.根据权利要求5-7中的任一项所述的动态数据压缩系统,其中,所述一组传感器还包括视频数据生成传感器,该视频数据生成传感器包括传感器处理器和存储计算机代码的存储器;
其中:
所述机器可读指令在由处理器执行时还执行以下操作:经由控制器局域网总线将所述一个或多个预定车辆运行情况发送到视频数据生成传感器;并且
所述计算机代码在由传感器处理器执行时被配置成:基于所述一个或多个预定车辆运行情况来调整输入视频数据流的捕获帧速率。
9.一种动态数据压缩方法,包括:
利用一组传感器来检测并且捕获驾驶事件,并且生成指示出驾驶事件的一个或多个数据流;
从所述一组传感器接收指示出驾驶事件数据的一个或多个数据流;
利用处理器来分析来自所述一组传感器的所述一个或多个数据流;
基于所述一个或多个数据流,利用处理器来确定车辆运行情况,所述车辆运行情况包括车辆的速度、车辆的位置、车辆的运动或它们的组合;以及
基于车辆运行情况,利用处理器来确定是否压缩来自所述一组传感器中的至少一个传感器的数据流。
10.根据权利要求9所述的动态数据压缩方法,其中,接收一个或多个数据流的步骤进一步包括:从速度传感器接收一个或多个数据流;并且
确定车辆运行情况的步骤进一步包括:基于来自速度传感器的一个或多个数据流来确定车辆的速度。
11.根据权利要求9-10中的任一项所述的动态数据压缩方法,其中,接收的步骤进一步包括:从视频传感器接收一个或多个视频数据流;并且
所述动态数据压缩方法还包括:将对车辆运行情况的确定发送到视频传感器。
12.根据权利要求9-10中的任一项所述的动态数据压缩系统,其中,接收的步骤进一步包括:接收基于指示出关键驾驶事件的车辆运行情况而具有高分辨率和高帧速率的一个或多个视频数据流,其中,高分辨率高于当车辆运行情况没有指示出关键驾驶事件时的分辨率,并且其中,高帧速率高于当车辆运行情况没有指示出关键驾驶事件时的帧速率。
13.根据权利要求9-10中的任一项所述的动态数据压缩方法,其中,接收的步骤进一步包括:接收基于指示出非关键驾驶事件的车辆运行情况而具有低分辨率和低帧速率的一个或多个视频数据流,其中,低分辨率低于当车辆运行情况没有指示出非关键驾驶事件时的分辨率,并且其中,低帧速率低于当车辆运行情况没有指示出非关键驾驶事件时的帧速率。
14.根据权利要求13所述的动态数据压缩方法,其中,压缩的步骤进一步包括:压缩具有低分辨率和低帧速率的数据流。
15.根据权利要求9-10中的任一项所述的动态数据压缩方法,其中,生成一个或多个数据流的步骤进一步包括:调整目标传感器的数据捕获速率以减小由目标传感器生成的数据流的量。
技术总结