掌桥专利:专业的专利平台
掌桥专利
首页

多数据混合控制方法、装置、设备及存储介质

文献发布时间:2023-06-29 06:30:04


多数据混合控制方法、装置、设备及存储介质

技术领域

本申请涉及数据处理技术领域,特别是涉及到一种多数据混合控制方法、装置、设备及存储介质。

背景技术

传统方案是在打开一个相机后,通过一个线程获取单一的数据视频流,并通过其他一个或多个线程采集其它外设模块的数据。在数据混合时,需要在应用的工作域内进行数据组合同步处理,同步效率依赖于平台处理器性能、系统工作负载和外设系统的工作方式。数据混合过程占用系统资源,在中低端性能平台应用时,若系统工作负载过高,则容易产生中断延迟或系统消息队列堵塞等问题,导致在混合处理数据视频流和外设模块的数据时,数据处理速度慢。若需要获取的外设模块本身采用了非标准传感器接口,则在数据混合应用软件设计时,还需要独立开发接口,增加了应用软件设计的复杂度。

因此,现有的数据处理方法在中低端性能平台应用时,数据混合处理过程受平台性能限制,数据处理效率低,与相机影像数据结合度低。

发明内容

本申请的主要目的为提供一种多数据混合控制方法、装置、设备及存储介质,旨在解决现有技术中中低端性能平台在数据混合处理过程中受平台性能限制导致数据处理效率低,与相机影像数据结合度低的技术问题。

为了实现上述发明目的,本申请提出一种多数据混合控制方法,所述方法包括:

若监听到相机设备开启,则通过输入输出流激活多数据控制子系统;

在所述相机设备申请数据视频流的硬件配置时,同时所述多数据控制子系统根据设定的配置,对多个外设数据模块进行数据采集,获得所述外设数据模块对应的外设数据;

当所述相机设备申请单一数据视频流时,则将所述外设数据嵌入至数据视频流子模块,所述外设数据与所述单一数据视频流进行数据整合,获得带有外设数据的图像。

进一步地,所述通过输入输出流激活多数据控制子系统的步骤包括:

通过子线程,注册各个外设控制流接口,以及定义支持扩展的外设数量;

通过子线程注册的所述外设控制流接口,进行各个外设数据模块之间采集状态的切换。

进一步地,所述通过输入输出流激活多数据控制子系统的步骤,还包括:

建立多个工作流对多个所述外设数据模块进行状态监控。

进一步地,所述当所述相机设备申请单一数据视频流时,则将所述外设数据嵌入至数据视频流子模块,所述外设数据与所述单一数据视频流进行数据整合,获得带有外设数据的图像的步骤包括:

当所述相机设备申请单一数据视频流时,则在相机会话时初始化所述外设数据模块;

下发所述单一视频流的配置时,同时下发所述外设数据模块的控制码;

在获取所述单一数据视频流时,同时获取当前所述多个外设数据模块对应的外设数据,并将所述外设数据上传至数据视频流子模块;

将所述单一数据视频流与所述多个外设数据模块在硬件抽象层进行数据整合处理,将所述外设数据保存在所述单一数据视频流对应的图像中,获得所述带有外设数据的图像。

进一步地,所述将所述单一数据视频流与所述多个外设数据模块在硬件抽象层进行数据整合处理,将所述外设数据保存在所述单一数据视频流对应的图像中,获得所述带有外设数据的图像的步骤之前,包括:

在对所述单一数据视频流的控制的同时,对多个所述外设数据进行控制。

进一步地,所述控制码用于对所述多个外设数据模块进行模式切换,和/或开启,和/或关闭,和/或数据收集。

进一步地,所述将所述单一数据视频流与所述多个外设数据模块在硬件抽象层进行数据整合处理,将所述外设数据保存在所述单一数据视频流对应的图像中,获得所述带有外设数据的图像的步骤,包括:

将所述外设数据转化为二进制数据,得到二进制外设数据;

将所述二进制外设数据存储到所述单一数据视频流的预设位置中,获得带有外设数据的图像。

本申请还提供了一种多数据混合控制装置,所述装置包括:

系统激活模块,用于若监听到相机设备开启,则通过输入输出流激活多数据控制子系统;

数据采集模块,用于在所述相机设备申请数据视频流的硬件配置时,同时所述多数据控制子系统根据设定的配置,对多个外设数据模块进行数据采集,获得所述外设数据模块对应的外设数据;

数据整合模块,用于当所述相机设备申请单一数据视频流时,则将所述外设数据嵌入至数据视频流子模块,所述外设数据与所述单一数据视频流进行数据整合,获得带有外设数据的图像。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。

本申请提供的一种多数据混合控制方法,监听到相机设备开启时,激活多数据控制子系统。通过多数据控制子系统采集外设数据模块的外设数据,将外设数据模块的外设数据和相机设备申请的单一数据视频流进行整合,得到带有外设数据的图像,在中低端性能平台应用时,数据混合处理过程不需要接入系统服务,不依赖平台系统的性能进行处理,在底层架构中实现相机的图像数据与外设信息数据的同步,提升了在中低端性能平台中数据视频流和多个外设数据混合处理的数据处理速度。

附图说明

图1 为本申请一实施例的多数据混合控制方法的流程示意图;

图2 为本申请一实施例的多数据混合控制装置的结构示意框图;

图3 为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“上述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件、模块和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、模块、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一模块和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

参照图1,本发明实施例提供一种多数据混合控制方法,包括步骤S1-S3,具体地:

S1、若监听到相机设备开启,则通过输入输出流激活多数据控制子系统。

在监听到相机打开的时,通过输入输出流激活设置于底层的多数据控制子系统,让与多数据控制子系统相连的各个外设数据模块处于准备调用状态,同时多数据控制子系统开始维护各外设数据模块。以便于及时采集各外设数据模块的外设数据,加快数据采集过程。

S2、在所述相机设备申请数据视频流的硬件配置时,同时所述多数据控制子系统根据设定的配置,对多个外设数据模块进行数据采集,获得所述外设数据模块对应的外设数据。

对于不同的外设数据模块,多数据控制子系统通过不同的接口分别进行控制。多个外设数据模块可以为测距模块、独立感光单元和红外模块等模块。相机设备申请数据视频流的硬件配置时,可以确定需要获取的外设数据模块对应的外设数据,满足相机设备在不同应用场景的外部数据获取需求。在相机设备申请单一数据视频流之前,可以为生成拍照抓图指令之前,在底层架构中实现了相机的图像数据与外设信息数据的同步,有助于后续数据混合时提高处理速度和精确度。

本方案可应用于在需要对实时图片帧同步其余外设状态的智能硬件中。相机设备使用时,可能会使用到测距模块、独立感光模块以及红外模块的数据。根据实际情况,可以增加其他外设数据模块。在多数据控制子系统上修改定义支持扩展的外设数量,并注册对应的外设控制流接口,即可增加控制其他外设数据模块的外设数据。例如,应用在教练车系统上时,外设数据模块可以包括感温芯片、测速检测的中断模块和距离传感器模块,以及摄像头在不同方向上检测教练员及考试人员状态,并不定时抓拍当前时刻的环境信息情况;应用在识布仪系统上时,外设数据模块可以包括测距芯片和色度检测芯片,以及多个不同焦距的摄像头,使用时需要采集不同摄像头对应的色度信息和测距信息,通过上述方法获得带有色度信息和测距信息的图像。

S3、当所述相机设备申请单一数据视频流时,则将所述外设数据嵌入至数据视频流子模块,所述外设数据与所述单一数据视频流进行数据整合,获得带有外设数据的图像。

根据单一视频流配置,下发外设数据模块的控制码。根据不同的控制码,可以控制不同接口获取不同外设数据模块的数据,采集对应的外设数据模块的数据,最终上传至数据视频流子模块。当所述相机设备申请单一数据视频流时,可以为生成拍照抓图指令时,底层收到这个指令的同时主动读取外设状态,并将外设数据模块的数据跟图片帧绑定标识,外设数据模块的数据跟图片是始终保持在一起的,生成的图片信息中已经包含了所需的外设数据模块的数据。实现不同外设数据模块的外设数据的采集,为不同应用场景的相机数据获取需求提供对应的外设数据。将获取到的外设数据与单一数据视频流在硬件抽象层进行数据整合处理,外设数据保存在所述单一数据视频流对应的图像中,获得带有外设数据的图像。数据混合过程不需要接入系统服务,不依赖平台系统的性能进行处理,提升了在中低端性能平台中数据视频流和多个外设数据混合处理的数据处理速度。

如上所述,监听到相机设备开启时,激活多数据控制子系统。通过多数据控制子系统采集外设数据模块的外设数据,将外设数据模块的外设数据和相机设备申请的单一数据视频流进行整合,得到带有外设数据的图像,在中低端性能平台应用时,数据混合处理过程不需要接入系统服务,不依赖平台系统的性能进行处理,在底层架构中实现相机的图像数据与外设信息数据的同步,提升了在中低端性能平台中数据视频流和多个外设数据混合处理的数据处理速度。在一个实施例中,上述通过输入输出流激活多数据控制子系统的步骤,包括:

S101、通过子线程,注册各个外设控制流接口,以及定义支持扩展的外设数量;

S102、通过子线程注册的所述外设控制流接口,进行各个外设数据模块之间采集状态的切换。

多数据控制子系统可以是linux系统的Init子系统启动的一个内部的子线程。多数据控制子系统框架可以设定为:

module_platform_driver(subCameraControl_driver);

subCameraControl_probe()

定义支持扩展的外设数量可以通过device_create_file(&pdev->dev,&dev_attr_devtwo)实现。在多数据控制子系统上注册每个外设数据模块的外设控制流接口,可以通过device_create_file(&pdev->dev,&dev_attr_devone)实现。

在一个实施例中,上述通过输入输出流激活多数据控制子系统的步骤,包括:

S103、建立多个工作流对多个所述外设数据模块进行状态监控。

对每个外设数据模块设立对应的工作流,以便于确定每个外设数据模块的运行状态,例如确定某个外设数据模块是否正常运行或是否被调用等。

可以通过下述程序实现:

Void init_ir_work(void)

{

schedule_work(&info->work);

}

在一个实施例中,上述当所述相机设备申请单一数据视频流时,则将所述外设数据嵌入至数据视频流子模块,所述外设数据与所述单一数据视频流进行数据整合,获得带有外设数据的图像的步骤S3,包括:

S301、当所述相机设备申请单一数据视频流时,则在相机会话时初始化所述外设数据模块;

S302、下发所述单一视频流的配置时,同时下发所述外设数据模块的控制码;

S303、在获取所述单一数据视频流时,同时获取当前所述多个外设数据模块对应的外设数据,并将所述外设数据上传至数据视频流子模块;

S304、将所述单一数据视频流与所述多个外设数据模块在硬件抽象层进行数据整合处理,将所述外设数据保存在所述单一数据视频流对应的图像中,获得所述带有外设数据的图像。

在相机设备申请单一数据视频流时,首先初始化外设数据模块的服务,防止上一次相机设备申请单一数据视频流时涉及的外设数据影响本次需要获取的外设数据。根据单一视频流的配置确定外设数据控制码,在底层架构中实现相机的图像数据与外设信息数据的同步,通过_camera_config_stream,可以在多数据控制子系统上实现外设数据模块的开启、关闭或模式切换。通过camera__receive_data,获取对应外设数据模块的外设数据。

在多数据控制子系统上获取到外设数据模块的外设数据后,当相机设备申请单一数据视频流时,外设数据模块的外设数据同时将信息保存在图片信息中,形成一个特殊的图像帧,即带有外设数据的图像。使得应用不需要启用多服务进行数据监听同步组合,降低了对系统服务的依赖性,以及解决了服务广播等引入的消息堵塞的问题。具体步骤可以通过下述程序实现:

Opencamera(………,param1,param2)->……->configureStreams

configstreams(……,param1,param2)

{

switch(param1&¶m2)

{

Case OPEN_IR:

Case OPEN_GETDIS:

Case CHG_IR_MODE:

……

Setsubcameracontrol(cmd)

其中,cmd是集成命令码,集成命令码可以自定义不同的指令。例如:00000001--打开并开始测距,00000002-----红外模块控制开关。

硬件抽象层的作用是将硬件差别与操作系统其他层相隔离的一薄层软件,用于避免程序设计直接与硬件通信,造成系统不稳定。在数据视频流子模块能够实时处理需要获取的外设数据模块的数据和单一数据视频流,得到带有外设数据的图像。在需要实时相机快速实时数据单元处理时,数据视频流子模块能够在ISP数据层进行实时处理,加快了数据处理速度。

在一个实施例中,上述将所述单一数据视频流与所述多个外设数据模块在硬件抽象层进行数据整合处理,将所述外设数据保存在所述单一数据视频流对应的图像中,获得所述带有外设数据的图像的步骤S304之前,包括:

S305、在对所述单一数据视频流的控制的同时,对多个所述外设数据进行控制。

在一个实施例中,上述控制码用于对所述多个外设数据模块进行模式切换,和/或开启,和/或关闭,和/或数据收集。

通过_camera_config_stream下发外设控制码,可以在多数据控制子系统上实现外设数据模块的开启、关闭或模式切换,实现对所有外设数据模块的管理。

各外设数据控制及采集线程可以为:

static DEVICE_ATTR(devone, 0664, show_devone, store_devone);

show_devone

store_devone

其中,show_devone为数据采集控制接口,store_devone为外设控制接口。

在一个实施例中,上述将所述单一数据视频流与所述多个外设数据模块在硬件抽象层进行数据整合处理,将所述外设数据保存在所述单一数据视频流对应的图像中,获得所述带有外设数据的图像的步骤,包括:

S306、将所述外设数据转化为二进制数据,得到二进制外设数据;

S307、将所述二进制外设数据存储到所述单一数据视频流的预设位置中,获得带有外设数据的图像。

首先将申请单一数据视频流时生成的图像数据存为预设格式的图像,例如,通过void receiveJpegPicture(struct camera_frame_type *frame)可以将图像数据存为JPEG格式(也可以是其他的图片格式,在此不做限定)。然后通过devInfoAddr函数,实现将外设数据整合到图像中的预设位置,预设位置用于存储与图像同步的外设数据,可以根据实际情况在图像范围内选定。所以,如果需要单独获得外设数据时,则可以解析带有外设数据的图像中,不同外设数据对应的预设位置存储的内容,从而获得所需外设数据。

根据实际情况,可以在获得外设数据模块对应的外设数据之后,立即将外设数据转化为二进制数据,适用于单一数据视频流申请频率较高的情况,有助于提高外设数据与单一数据视频流进行数据整合的效率。若单一数据视频流申请频率较低,则可以在相机设备申请单一数据视频流之后,再将对应的外设数据转化为二进制数据,可以减少不必要的运算过程,减少运算资源浪费。

参照图2,是本申请一实施例中多数据混合控制装置结构框图,装置包括:

系统激活模块100,用于若监听到相机设备开启,则通过输入输出流激活多数据控制子系统;

数据采集模块200,用于在所述相机设备申请数据视频流的硬件配置时,同时所述多数据控制子系统根据设定的配置,对多个外设数据模块进行数据采集,获得所述外设数据模块对应的外设数据;

数据整合模块300,用于当所述相机设备申请单一数据视频流时,则将所述外设数据嵌入至数据视频流子模块,所述外设数据与所述单一数据视频流进行数据整合,获得带有外设数据的图像。

在一个实施例中,上述多数据混合控制装置,还包括:

接口控制模块,用于通过子线程,注册各个外设控制流接口,以及定义支持扩展的外设数量;通过子线程注册的所述外设控制流接口,进行各个外设数据模块之间采集状态的切换。

在一个实施例中,上述多数据混合控制装置,还包括:

监控模块,用于建立多个工作流对多个所述外设数据模块进行状态监控。

在一个实施例中,上述多数据混合控制装置,还包括:

数据整合子模块,用于当所述相机设备申请单一数据视频流时,则在相机会话时初始化所述外设数据模块;下发所述单一视频流的配置时,同时下发所述外设数据模块的控制码;在获取所述单一数据视频流时,同时获取当前所述多个外设数据模块对应的外设数据,并将所述外设数据上传至数据视频流子模块;将所述单一数据视频流与所述多个外设数据模块在硬件抽象层进行数据整合处理,将所述外设数据保存在所述单一数据视频流对应的图像中,获得所述带有外设数据的图像。

在一个实施例中,上述多数据混合控制装置,还包括:

控制模块,用于在对所述单一数据视频流的控制的同时,对多个所述外设数据进行控制。

在一个实施例中,上述多数据混合控制装置,还包括:

数据整合单元,将所述外设数据转化为二进制数据,得到二进制外设数据;将所述二进制外设数据存储到所述单一数据视频流的预设位置中,获得带有外设数据的图像。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储多数据混合控制方法过程中的使用数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。进一步地,上述计算机设备还可以设置有输入装置和显示屏等。上述计算机程序被处理器执行时以实现多数据混合控制方法,包括如下步骤:若监听到相机设备开启,则通过输入输出流激活多数据控制子系统;在所述相机设备申请数据视频流的硬件配置时,同时所述多数据控制子系统根据设定的配置,对多个外设数据模块进行数据采集,获得所述外设数据模块对应的外设数据;当所述相机设备申请单一数据视频流时,则将所述外设数据嵌入至数据视频流子模块,所述外设数据与所述单一数据视频流进行数据整合,获得带有外设数据的图像。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种多数据混合控制方法,包括如下步骤:若监听到相机设备开启,则通过输入输出流激活多数据控制子系统;在所述相机设备申请数据视频流的硬件配置时,同时所述多数据控制子系统根据设定的配置,对多个外设数据模块进行数据采集,获得所述外设数据模块对应的外设数据;当所述相机设备申请单一数据视频流时,则将所述外设数据嵌入至数据视频流子模块,所述外设数据与所述单一数据视频流进行数据整合,获得带有外设数据的图像。

可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

技术分类

06120116021504