HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

图像数据采集方法、系统、装置、电子设备及存储介质与流程

2021-01-11 15:01:03|296|起点商标网
图像数据采集方法、系统、装置、电子设备及存储介质与流程

本申请涉及云端通信技术领域,尤其涉及一种图像数据采集方法、系统、装置、电子设备及存储介质。



背景技术:

云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端虚拟出的云手机中运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户使用的客户端。在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力,就能顺利运行硬件配置要求高、运算量大的游戏。

目前,为了避免青少年沉迷游戏,所有的网络游戏均需要进行人脸识别,但是,目前云手机无法采集到用户的人脸图像,无法实现人脸识别,限制云应用的发展。



技术实现要素:

为了解决上述技术问题,本申请提供了一种图像数据采集方法、系统、装置、电子设备及存储介质。

第一方面,本申请提供了一种图像数据采集方法,应用于云设备,所述方法包括:

当检测到针对图像采集功能的触发事件时,向终端设备发送采集通知消息,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,所述采集通知消息用于指示所述终端设备采集图像数据;

接收来自于所述终端设备的所述图像数据。

第二方面,本申请提供了一种图像数据采集方法,应用于终端设备,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,所述方法包括:

接收来自于所述云设备的采集通知消息,所述采集通知消息为所述云设备检测到针对图像采集功能的触发事件时,向所述终端设备发送的,所述采集通知消息用于指示所述终端设备采集图像数据;

采集图像数据;

向所述云设备发送所述图像数据。

第三方面,本申请提供了一种图像数据采集系统,包括:云设备及终端设备;

所述云设备,用于当检测到针对图像采集功能的触发事件时,向终端设备发送采集通知消息,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,所述采集通知消息用于指示所述终端设备采集图像数据;接收来自于所述终端设备的所述图像数据;

所述终端设备,用于展示云应用程序在所述云设备中运行时的服务画面,接收来自于所述云设备的采集通知消息,所述采集通知消息为所述云设备检测到针对图像采集功能的触发事件时,向所述终端设备发送的,所述采集通知消息用于指示所述终端设备采集图像数据;采集图像数据;向所述云设备发送所述图像数据。

第四方面,本申请提供了一种图像数据采集装置,应用于云设备,所述装置包括:

第一发送模块,用于当检测到针对图像采集功能的触发事件时,向终端设备发送采集通知消息,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,所述采集通知消息用于指示所述终端设备采集图像数据;

第一接收模块,用于接收来自于所述终端设备的所述图像数据。

第五方面,本申请提供了一种图像数据采集装置,应用于终端设备,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,所述装置包括:

第二接收模块,用于接收来自于所述云设备的采集通知消息,所述采集通知消息为所述云设备检测到针对图像采集功能的触发事件时,向所述终端设备发送的,所述采集通知消息用于指示所述终端设备采集图像数据;

采集模块,用于采集图像数据;

第二发送模块,用于向所述云设备发送所述图像数据。

第六方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的图像数据采集方法或者第二方面任一所述的图像数据采集方法。

第七方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有图像数据采集方法的程序,所述数据采集方法的程序被处理器执行时实现第一方面任一所述的图像数据采集方法或者第二方面任一所述的图像数据采集方法的步骤。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

本发明实施例当检测到针对图像采集功能的触发事件时,可以向用于展示所述云应用程序在所述云设备中运行时的服务画面的终端设备发送用于指示所述终端设备采集图像数据采集通知消息,最后可以接收来自于所述终端设备的所述图像数据,由于云设备无法采集与用户相关的图像数据,所以在本发明实施例中,云设备通过采集通知消息指示终端设备采集图像数据,进而实现云设备获取到终端设备采集的图像数据。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种云端通信系统的架构图;

图2为本申请实施例提供的一种图像数据采集方法的一种交互流程图;

图3为本申请实施例提供的一种终端设备展示云应用程序运行时的服务画面的示意图;

图4为本申请实施例提供的一种图像数据采集方法的另一种交互流程图;

图5为本申请实施例提供的一种云设备的内部结构图;

图6为图4中步骤s201的流程图;

图7为图2中步骤s102的流程图;

图8为本申请实施例提供的一种图像数据采集方法的一种流程图;

图9为本申请实施例提供的另一种云设备的内部结构图;

图10为本申请实施例提供的一种云设备与云端存储器连接的结构图;

图11为图1中步骤s101的流程图;

图12为本申请实施例提供的一种终端设备展示云设备中预设图像预览界面展示图像数据的画面的示意图;

图13为本申请实施例提供的一种图像数据采集方法的另一种流程图;

图14为本申请实施例提供的一种终端设备的内部结构图;

图15为本申请实施例提供的一种终端设备与采集装置连接的结构图;

图16为本申请实施例提供的另一种图像数据采集方法的一种流程图;

图17为本申请实施例提供的一种图像数据采集装置的结构图;

图18为本申请实施例提供的另一种图像数据采集装置的结构图;

图19为本申请实施例提供的一种电子设备的结构图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

本发明实施例提供了一种云端通信系统,基于该云端通信系统提供云端应用服务。如图1所示,为根据本发明一实施例的云端通信系统的结构图。

云端通信系统包括:终端设备110和云设备120。终端设备110和云设备120网络连接。

终端设备110,用于选择云设备120中的云应用程序,展示云应用程序在所述云设备120中运行时的服务画面,服务画面中包含云应用程序运行时需要展示的图像帧数据。

云设备120,用于运行终端设备110选择的云应用程序,并向终端设备110发送云应用程序在所述云设备中运行时的服务画面。

具体而言,终端设备110在与云设备120建立网络连接之后,可以从云设备120获取到至少一个云设备120可运行的云应用程序信息,并且在显示窗口中显示该至少一个云应用程序信息。用户可以在该至少一个云应用程序信息中点击一个希望运行的云应用程序信息,以便实现云应用程序的选择。终端设备110系统监听点击事件;将处于该点击事件的发生位置的云应用程序信息向云设备120发送。

云设备120接收云应用程序信息,运行该云应用程序信息对应的云应用程序。云应用程序启动后,云设备120与终端设备建立通信链路,示例性的,可以包括但不限于:webrtc通信链路。云设备120在运行云应用程序的过程中,生成服务画面,并通过该通信链路将该服务画面发送给终端设备110。

在本发明实施例中,终端设备110无需安装、运行云应用程序,仅需向云设备120展示来自于云设备120的服务画面即可。

但是,在实现本发明的过程中,发明人发现:在一些云应用程序的使用过程中,云设备120需要采集与用户相关的图像数据,但是,由于云应用程序安装在云设备120中,无法采集到与用户相关的图像数据,无法实现一些业务需求,如:实现人脸识别,限制云应用的发展。

基于上述的云端通信系统,本发明实施例提供了一种图像数据采集方法,所述图像数据采集方法可以应用于云设备中,云设备可以指在云端服务器中虚拟出来的设备,每个云设备具有一定的cpu资源和存储资源,示例性的,云设备可以指云手机等。云设备可以与终端设备进行通信,终端设备可以为移动终端、平板电脑或者台式电脑等。

如图2所示,图像数据采集方法可以包括以下步骤:

步骤s101,当检测到针对图像采集功能的触发事件时,云设备向终端设备发送采集通知消息。

在本发明实施例中,云应用程序可以指运行于云设备中的应用程序,如:云游戏等;触发事件可以指可以触发终端设备进行采集图像数据的事件,示例性的,云应用程序在运行过程中,需要实现预设功能(如:云应用程序在需要进行人脸识别等)时,可以产生针对图像采集功能的触发事件。

如图3所示,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,所述采集通知消息用于指示所述终端设备采集图像数据;

在该步骤中,云设备可以检测是否产生针对图像采集功能的触发事件,若检测到触发事件,可以向终端设备发送采集通知消息。

在本发明实施例中,终端设备在接收到采集通知消息后,可以按照采集通知消息采集图像数据。

步骤s102,云设备接收来自于所述终端设备的所述图像数据。

在该步骤中,云设备可以通过预先与终端设备建立的通信链路(通信链路,示例性的,可以包括但不限于:webrtc通信链路)接收来自于终端设备的图像数据。

本发明实施例当检测到针对图像采集功能的触发事件时,可以向用于展示所述云应用程序在所述云设备中运行时的服务画面的终端设备,发送用于指示所述终端设备采集图像数据采集通知消息,最后可以接收来自于所述终端设备的所述图像数据,由于云设备无法采集与用户相关的图像数据,所以在本发明实施例中,云设备通过采集通知消息指示终端设备采集图像数据,进而实现云设备获取到终端设备采集的图像数据。

由于现有技术中,与终端设备用于采集图像的采集设备可能默认处于关闭状态,这时如果云设备直接向终端设备发送采集通知消息,终端设备可能无法按照采集通知消息采集图像数据,这样,将导致云设备无法获取到终端设备的图像采集数据,为此,在本发明的又一实施例中,如图4所示,所述方法还包括:

步骤s201,云设备向所述终端设备发送启动通知消息。

在本发明实施例中,所述启动通知消息用于指示所述终端设备启动采集设备,所述采集设备用于采集所述图像数据。采集设备可以指进行图像采集的设备,示例性的,采集设备可以为摄像头等。

在实际应用中,采集设备与终端设备的连接方式可以跟随实际需求设置,如:采集设备集成在终端设备内,或者,采集设备作为终端设备的外接设备与终端设备有线或者无线连接等。

在本发明的一种实施方式中,在向终端设备发送启动通知消息后,可以直接向终端设备发送采集通知消息。

在本发明的另一种实施方式中,在向终端设备发送启动通知消息后,终端设备可以根据采集设备实际启动成功或失败的启动结果,向云设备返回启动结果消息,云设备可以接收来自于所述终端设备的启动结果消息,启动结果消息用于指示所述采集设备的启动结果,若所述启动结果为启动成功,向终端设备发送采集通知消息。

本发明实施例云设备能够向终端设备发送用于指示启动采集设备的启动通知消息,这样可以在终端设备启动采集设备后,才向终端设备发送采集通知消息,指示终端设备采集图像数据,可以保证云设备能够获取到采集设备采集的图像数据,避免由于终端设备用于采集图像数据的采集设备默认关闭导致云设备无法获取到图像数据的情况,便于用户使用。

在实际应用中,云设备中可能有摄像头,也可能没有摄像头,但无论云设备中是否有摄像头,云设备均无法采集与用户相关的图像数据,为此,在本发明的又一实施例中,如图5所示,所述云设备包括所述云应用程序210、图像服务层220、硬件抽象层230和通信模块240,其中,云应用程序210与图像服务层220通信连接,图像服务层220与硬件抽象层230通信连接,硬件抽象层230与通信模块240通信连接。

在本发明实施例中,图像服务层220可以指安卓相机服务(androidcameraservice);

硬件抽象层230可以指相机硬件抽象层(camerahal),camerahal是androidframework和摄像头驱动的适配层,camerahal可以预先配置基本的图像采集参数(如:分辨率和编码格式等),保证适配市面大部分真机的摄像能力,在云设备启动时,可以注册camerahal。

通信模块240可以设置于云应用程序210服务程序内,也可以设置于云应用服务程序外,通信模块可以在云应用程序启动时,与终端设备建立通信链路,该通信链路,示例性的,可以包括但不限于:webrtc通信链路。

如图6所示,所述步骤s201,包括:

步骤s301,当所述云应用程序检测到针对图像采集功能的触发事件时,所述云应用程序向所述图像服务层发送设备启动请求;

如前所述,启动通知消息用于指示所述终端设备启动采集设备,是云设备向终端设备发送的外部消息;而设备启动请求则是云设备内部云应用程序向图像服务层发送的内部消息,启动通知消息用于请求启动与云设备关联的采集设备。

这里至少存在如下情况:

第一种,设备启动请求可以被默认配置为:用于请求启动与云设备通信连接的终端设备(用户侧设备)的采集设备。此时,这种情况下,云设备中的图像服务层可以响应于该设备启动请求,执行图6后续流程。换言之,无论云设备本地(或直接链接、通信连接)是否设置有采集设备,云设备都不会启动本地的采集设备,而是请求启动终端设备侧的采集设备,采集用户侧的图像数据。

例如,云设备与终端设备通信连接,用户通过终端设备玩云游戏,云游戏运行在云设备中。在该场景中,若云设备本地设置有摄像头1,终端设备与摄像头2连接(或内置)。那么,在用户玩云游戏的过程中,需要人脸识别,则如图6所示,云设备中的云游戏程序在检测到该触发事件后,向图像服务层发送启动通知消息,而图像服务层在接收到该设备启动请求后,通过硬件抽象层的转发,由通信模块向终端设备发送启动通知消息,以请求启动终端设备侧的摄像头2。

第二种,设备启动请求可用于请求与云设备直接连接的采集设备,也可以用于请求与云设备连接的终端设备侧的采集设备。

此时,图像服务层可以通过设备启动消息中携带的指示消息,来确定如何处理。指示信息用于指示请求启动的采集设备,是云设备侧的采集设备,还是用户侧的采集设备。

示例性的,当设备启动请求中携带第一指示符时,该设备启动请求可用于请求启动云设备侧的采集设备;当设备启动请求中携带第二指示符时,该设备启动请求可用于请求启动终端设备侧的采集设备。第一指示符与第二指示符不同,对表现形式无特别限制,例如,可以通过1和0分别进行表示,也可以通过是否有指定字符来进行表示。

仍以前述云游戏场景为例。设备启动请求中携带1时,该请求用于请求启动终端设备侧的采集设备,也即摄像头2,按照图6所示流程启动摄像头2;反之,当设备启动请求中携带0时,该请求用于请求启动云设备侧的采集设备,也即摄像头1,图像服务层控制启动摄像头1。

此外,设备启动请求具体携带何种指示信息,则可以自定义预设,本发明实施例对此无特别限制。示例性的一种实施例中,可以由云应用程序基于触发事件是否与用户相关来确定。当触发事件涉及用户时,例如人脸验证,云应用程序可以在设备启动请求中添加第二指示符;当触发事件与用户无关,例如非人脸验证场景,云应用程序可以在设备启动请求中添加第一指示符。可以理解,此处举例仅为说明本方案,无具体限制意义。

在该步骤中,在云应用程序检测到针对图像采集功能的触发事件时,云应用程序可以生成设备启动请求,并向图像服务层发送该设备启动请求。

示例性的,在云游戏需要实现人脸识别功能时,云应用程序检测到触发事件,云应用程序向图像服务层发送设备启动请求,设备请求可以用于请求图像服务层启动终端设备关联的采集设备。

步骤s302,所述图像服务层向所述硬件抽象层转发所述设备启动请求;

在该步骤中,图像服务层在接收到设备启动请求后,可以通过ipc跨进程通信,将设备启动请求转发给硬件抽象层。

步骤s303,响应于所述设备启动请求,所述硬件抽象层向所述通信模块发送所述启动通知消息;

在该步骤中,硬件抽象层响应于设备启动请求,生成启动通知消息,并可以通过ipc跨进程通信,向通信模块发送该启动通知消息。

步骤s304,所述通信模块向所述终端设备转发所述启动通知消息。

在该步骤中,由于通信模块已经与终端设备建立通信链路,所以,通信模块可以在接收到启动通知消息后,将启动通知消息转发给终端设备。

本发明实施例可以利用图像服务层将云应用程序的设备启动请求转发给硬件抽象层,利用硬件抽象层响应于设备启动请求,向通信模块发送启动通知消息,利用通信模块向终端设备转发启动通知消息,实现云设备对终端设备关联的采集设备的启动控制,进而可以便于云设备获取到图像采集数据。

在前面任意一种实施例的基础上,本发明实施例中,终端设备与云设备之间交互的数据,可以是经过编码后发送的。这样,能够降低网络传输过程占用的带宽,有利于节省网络资源,提高传输速度。

具体而言,在本发明的又一实施例中,所述云设备包括:所述云应用程序、图像服务层、硬件抽象层和通信模块。

通信模块可以将来自于终端设备的图像数据写入云端存储区,并通知硬件抽象层从云端存储区读取相应数据,如此,硬件抽象层可以读取云端存储区存储的数据,并将读取到的数据发送给图像服务层,进而通过图像服务层发送给云应用程序。这样,无需通信模块自身和硬件抽象层分别维护图像数据的队列,只需要在共享内存维护一个图像数据的队列即可,节省系统资源。

前述两种实施方式可以结合使用。示例性的,如图7所示,所述步骤s102可以包括以下步骤:

步骤s401,在所述通信模块接收来自于所述终端设备的所述图像数据时,所述通信模块将所述图像数据进行解码;

在实际应用中,为了节省网络传输带宽,终端设备会将图像数据进行编码后发送给云设备,所以云设备在接收到图像数据后,需要对图像数据进行解码。

在本发明实施例中,云设备可以预先与终端设备协商编码格式,编码格式可以为mepg或h264等,云设备可以使用与协商好的编码格式对应的解码格式对图像数据进行解码。

步骤s402,所述通信模块将解码后的图像数据写入云端存储区,所述通信模块向所述硬件抽象层发送读取通知。

在本发明实施例中,所述读取通知用于指示所述硬件抽象层读取所述图像数据。

云端存储区可以设置于云设备内部,也可以设置于云设备所在的云服务器中,云端存储区可以与云设备内的通信模块和硬件抽象层通信连接。

在该步骤中,通信模块可以通过ipc跨进程通信,向硬件抽象层发送读取通知。

步骤s403,响应于所述读取通知,所述硬件抽象层读取所述图像数据,所述硬件抽象层向所述图像服务层发送所述图像数据;

在该步骤中,硬件抽象层在云端存储区读取到图像数据后,可以向图像服务层发送该读取到的图像数据。

步骤s404,所述图像服务层向所述云应用程序发送所述图像数据。

在该步骤中,图像服务层可以通过ipc跨进程通信,向云应用程序发送图像数据。

本发明实施例能够在终端设备发送的图像数据被编码时,将图像数据进行解码,便于及时云应用程序可以及时使用图像数据,而且由于网络传输前对图像数据进行编码,可以节省传输带宽,传输速度快。再者,通过云设备与终端设备之间的通知消息及视频流的传递,可以保证云应用程序能够从终端设备获取到图像数据。

在前面任意一种实施例的基础上,由于与终端设备关联的采集设备各不相同,其采集的图像数据的格式也可能不同,如果云应用程序获取到的图像数据的格式与自身能够处理的图像数据的预设格式不匹配,云应用程序将无法使用该采集数据,为此,在本发明的又一实施例中,响应于所述读取通知,如图8所示,所述方法还包括:

步骤s501,所述硬件抽象层判断所述图像数据的格式是否与预设格式不同;

在本发明实施例中,预设格式包括但不限于所述云应用程序可读取的一种或多种格式。

步骤s502,若所述图像数据的格式与预设格式不同,所述硬件抽象层将所述图像数据的格式转化为所述预设格式。

在本发明的另一种实施方式中,除了可以由硬件抽象层在图像数据的格式与预设格式不同时进行格式转化,还可以通过终端设备或者通信模块等在图像数据的格式与预设格式不同时进行格式转化。

在本发明的另一种实施方式中,如图9所示,云端存储器可以设置在云服务器内,如图10所示,也可以将云端存储服务器作为云端存储器,独立的设置于云服务器之外,所以,还可以通过云端存储器在图像数据的格式与预设格式不同时进行格式转化。

本发明实施例能够在云设备接收到的图像数据的格式与预设格式不匹配时,将图像数据的格式转化为预设格式,便于云应用程序使用。

应当理解,前述方案是在云设备中的云应用处于运行状态(或启动状态)的前提下实现的,现对云应用的启动过程作简述说明。

示例性的,所述方法还包括:

云设备接收来自于云服务器的程序启动通知;

在本发明实施例中,所述程序启动通知是响应于所述终端设备的程序启动操作生成的,所述程序启动通知用于指示启动所述云应用程序;

在实际应用中,用户可以在终端设备输入程序启动操作,终端设备向云服务器发送启动请求,云服务器基于该启动请求,选择一个云设备,云服务器向该云设备发启动通知,相应的,云设备可以接收来自于云服务器的启动通知。

云设备与所述终端设备建立通信链路,启动云应用程序。

在本发明实施例中,所述通信链路用于传输所述终端设备和所述云设备之间的通知消息与数据流。所述通知消息可以为终端设备和云设备之间的任意通知消息,通知消息可以包括:所述采集通知消息和启动通知消息等,所述数据流可以为终端设备和云设备之间的任意数据流,数据流中包括:所述图像数据等。

在实际应用中,当用户通过程序启动操作启动云应用程序时,云设备可以与终端设备建立通信链路,示例性的,通信链路可以指webrtc长连接等。

本发明实施例通过在云设备和终端设备之间建立通信链路,可以便于传输终端设备和云设备之间的通知消息与数据流,进而便于云设备获取到终端设备采集的图像数据。

在前面任意一种实施例的基础上,在云设备检测到针对图像采集功能的触发事件时,直接向终端发送采集通知消息时,默认与终端设备关联的采集设备处于开启状态,终端设备接收到采集通知消息,可以直接令采集设备采集图像数据。这种情况下,若与终端设备关联的采集设备处于关闭状态,则终端设备在接收到该采集通知消息后,可以启动采集设备,并控制采集设备采集图像数据。

或者,在另一实施例中,也可以通过额外发送的启动通知消息,来指示终端设备启动采集设备。示例性的,云设备可以先向终端设备发送启动通知消息,以指示终端设备启动采集设备,再向终端设备发送采集通知消息,以指示终端设备令利用已启动的采集设备采集图像数据,这样,能够保证采集设备能够采集到图像数据。

具体而言,在本发明的又一实施例中,所述云设备包括:所述云应用程序、图像服务层、硬件抽象层和通信模块,如图11所示,所述步骤s101可以包括以下步骤:

步骤s601,在所述云应用程序产生采集通知消息时,所述云应用程序向所述图像服务层发送所述采集通知消息;

在该步骤中,在云应用程序产生采集通知消息时,云应用程序可以通过ipc跨进程通信,向所述图像服务层发送所述采集通知消息。

步骤s602,所述图像服务层向所述硬件抽象层发送所述采集通知消息;

在该步骤中,图像服务层在接收到设采集通知消息时,可以通过ipc跨进程通信,将采集通知消息发送给硬件抽象层。

步骤s603,所述硬件抽象层向所述通信模块发送所述采集通知消息;

在该步骤中,硬件抽象层在接收到设采集通知消息时,可以通过ipc跨进程通信,向通信模块发送采集通知消息。

步骤s604,所述通信模块向所述终端设备发送所述采集通知消息。

在该步骤中,通信模块在接收到设采集通知消息时,可以通基于云设备与终端设备之间的通信链路(通信链路,示例性的,可以包括但不限于:webrtc通信链路),向终端设备发送采集通知消息。

本发明实施例能够在云应用程序产生采集通知消息时,利用图像服务层将云应用程序的采集通知消息转发给硬件抽象层,利用硬件抽象层向通信模块转发采集通知消息,利用通信模块向终端设备转发采集通知消息,实现云设备与终端设备之间的采集通知消息的传递,进而可以便于云设备获取到图像采集数据。

在前面任意一种实施例的基础上,云设备可以向终端设备指定图像采集参数,以便终端设备能够依据图像采集参数采集图像数据,进而便于云设备能够使用采集到的图像数据。

具体而言,所述图像采集参数用于指示图像数据的采集参数。图像采集参数可以单独发送,或者,也可以携带在其他新消息中发送。示例性的,所述采集通知消息中可以包括:图像采集参数。或者,当涉及启动通知消息时,前述图像采集参数,也可以携带在启动通知消息中。

在本发明实施例中,图像采集参数可以指云设备为了使用图像数据实现某些功能,要求图像数据满足的参数,包括但不限于如下至少一种:分辨率、摄像头id(如:前置摄像头id和后置摄像头id)、是否自动对焦、图像预览格式等。由于采集通知消息中包含图像采集参数,所以终端设备可以按照图像采集参数采集图像数据,可以避免终端设备采集的图像数据不符合云设备要求的情况,保证终端设备采集的图像数据能够被云设备正常使用。

在前面任意一种实施例的基础上,可以为用户提供预览渠道或者预览功能,以便用户能够查看图像采集的内容。

具体而言,在本发明的又一实施例中,所述方法还包括:

在接收到来自于所述终端设备的所述图像数据时,云设备展示预设图像预览界面,并在所述预设图像预览界面展示所述图像数据。

在本发明实施例中,所述预设图像预览界面用于展示所述图像数据。

在实际应用中,如图12所示,在云设备接收到终端设备采集的图像数据时,可以利用预设图像预览界面展示图像数据。由于云设备可以将云应用程序运行过程中的服务画面同步至终端设备,所以预设图像预览界面所展示的图像数据的画面也将被同步至终端设备,这样即可实现终端设备对图像数据的预览。

云设备侧根据来自于终端设备的图像数据生成预览画面,终端设备侧展示预览画面,在展示预览画面的同时,终端设备侧采集用户针对预览图像的操作数据,向云设备发送操作数据,云设备基于操作数据调整预览画面。

或者,终端设备侧采集到图像数据后,可以在本地对图像数据进行调整,包括但不限于:输出预览画面,基于用户操作在终端设备侧进行调整,并把调整后的图像数据发送给云设备。

本发明实施例能够通过在云设备中利用预设图像预览界面展示图像数据,可以便于预设图像预览界面及其展示的图像数据被同步至终端设备,便于用户使用终端设备进行图像数据的预览。

在前述任一实施例的基础上,云设备接收到来自于终端设备的图像数据后,可以基于该图像数据,实现前述触发事件对应的功能。示例性的,云设备可以包括但不限于如下至少一种:基于接收到的图像数据,进行图像识别(例如人脸识别、场景识别等)、图像交互(例如,可以将图像数据转发给用户指定联系人)、图像编辑(例如,设置图像特效、调整图像参数等)、存储用户数据、基于图像构建模型等,本发明实施例对此无特别限制。

示例性的,现以人脸识别为例说明。此时,在本发明的又一实施例中,如图13所示,所述方法还包括:

步骤s701,云设备利用所述图像数据进行人脸识别。

在该步骤中,云设备可以在图像数据中提取符合条件(如:拍摄角度符合要求、分辨率符合要求等等)的图像(该步骤为可选步骤),对提取出的图像进行人脸检测,得到人脸图像,获取注册该应用的用户的注册信息,在注册信息中获取用户的人脸图像,将检测到的人脸图像与注册信息中的人脸图像对比,若二者相似度超过一定阈值,则可以将注册信息中的身份信息确定为采集到的人脸的身份信息。

步骤s702,在人脸识别结束后,云设备向所述终端设备发送关闭通知消息。

在本发明实施例中,所述关闭通知消息用于指示停止继续采集所述图像数据。

在本发明的一种实施方式中,人脸识别结束除包括验证通过的情况之外,也包括验证失败,验证失败后,可能需要重新采集图像,重新验证,直至验证成功,确定人脸识别结束;或者,达到失败次数不再验证,确定人脸识别结束。

在该步骤中,在人脸识别结束后,所述云应用程序产生关闭通知消息,并向所述图像服务层发送所述关闭通知消息,所述关闭通知消息用于指示所述终端设备关闭所述采集设备及释放所述采集设备运行所占用的资源;所述图像服务层向所述硬件抽象层发送所述关闭通知消息;所述硬件抽象层所述通信模块发送所述关闭通知消息;所述通信模块向所述终端设备发送所述关闭通知消息。

本发明实施例云设备能够利用图像数据进行人脸识别,便于对网络游戏的玩家进行进一步的身份认证。另外,本发明实施例能够像终端设备发送关闭通知消息,可以便于指示终端设备停止继续采集图像数据,释放采集设备占用的cpu资源及硬件资源,避免采集设备持续占用cpu资源及硬件资源导致终端设备使用不畅,便于用户使用。

在本发明的又一实施例中,还提供一种图像数据采集方法,该图像数据采集方法可以应用于终端设备,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,终端设备包括但不局限于android或者ios等各种系统的手机,pc端或者ipad端等。如果终端是android手机,如图14所示,所述终端设备包括所述客户端310、终端图像服务层320和终端硬件抽象层330,其中,客户端310与终端图像服务层320通信连接,终端图像服务层320与终端硬件抽象层330通信连接,终端硬件抽象层330与采集设备340通信连接,采集设备可以内置于终端设备内,如图15所示,也可以设置于终端设备外部,采集设备可以与终端设备通过有线方式或无线方式通信连接。

在本发明实施例中,客户端310可以指安装于终端设备本地的应用程序,该应用程序与云设备中的云应用程序对应,该应用程序用于展示云应用程序运行时产生的服务画面,客户端可以在云应用程序启动时,与云设备中的通信模块建立通信链路,该通信链路,示例性的,可以包括但不限于:webrtc通信链路。

终端图像服务层320可以指安卓相机服务(androidcameraservice);

终端硬件抽象层330可以指相机硬件抽象层(camerahal),camerahal是androidframework和摄像头驱动的适配层,camerahal可以预先配置基本的图像采集参数(如:分辨率和编码格式等),保证适配市面大部分真机的摄像能力。

如图2所示,所述方法可以包括以下步骤:

步骤s801,终端设备接收来自于所述云设备的采集通知消息。

在本发明实施例中,所述采集通知消息为所述云设备检测到针对图像采集功能的触发事件时,向所述终端设备发送的,所述采集通知消息用于指示所述终端设备采集图像数据;

步骤s802,终端设备采集图像数据;

在本发明实施例中,终端设备可以采集单张图像,也可以录制视频,或者短视频等,本发明实施例对采集方式本身无限制,具体采用何种采集方式,可以预先设置,也可以在用户使用中基于用户的设置操作进行设置。

步骤s803,终端设备向所述云设备发送所述图像数据。

本申请实施例通过接收在云设备内的云应用程序触发触发事件时,云设备向终端设备发送的用于指示终端设备采集图像数据的采集通知消息,再采集图像数据,最后可以向云设备发送图像数据,便于云设备获取到终端设备采集的图像数据。

在本发明的又一实施例中,如图3所示,所述方法还包括:

步骤s901,终端设备接收来自于所述云设备的启动通知消息。

在本发明实施例中,所述启动通知消息用于指示所述终端设备启动采集设备,所述采集设备用于采集所述图像数据;

步骤s902,响应于所述启动通知消息,终端设备启动所述采集设备。

在本发明的一种实施方式中,在采集设备为终端设备的外接设备时,终端设备可以向所述采集设备发送启动指令,所述启动指令用于指示所述采集设备采集所述图像数据。

在本发明的另一种实施方式中,在采集设备为终端设备的内置设备时,终端设备可以以内部消息的形式启动采集设备,并通知采集设备采集图像数据。

在本发明的一种实施方式中,响应于所述启动通知消息,终端设备还可以判断所述云设备是否不具有开启所述采集设备的权限,若所述云设备不具有开启所述采集设备的权限,弹出获取权限提示,所述获取权限提示用于指示用户授予所述云设备开启所述采集设备的权限。

本发明实施例终端设备在接收到启动通知消息后自动启动采集设备,实现云设备对终端设备关联的采集设备的启动控制,进而可以便于云设备获取到图像采集数据。

在本发明的又一实施例中,所述采集通知消息中包括:图像采集参数;所述采集图像数据,包括:

终端设备按照所述图像采集参数采集图像数据。

在本发明实施例中,图像采集参数可以指分辨率等参数。由于采集通知消息中包含图像采集参数,所以终端设备可以按照图像采集参数采集图像数据,可以避免终端设备采集的图像数据不符合云设备要求的情况,可以保证终端设备采集的图像数据能够被云设备正常使用。

在本发明的又一实施例中,如图16所示,所述方法还包括:

步骤s1001,终端设备将所述图像数据中的每一帧均按照预设编码格式进行编码;

步骤s1002,终端设备向云设备发送编码后的图像数据。

本发明实施例终端设备可以对发送的图像数据进行编码,由于网络传输前对图像数据进行编码,可以节省传输带宽,传输速度快。

在前述任意一种实施例的基础上,在本发明的又一实施例中,还提供一种图像数据采集系统,所述图像数据采集系统包括:云设备及终端设备;

所述云设备,用于当检测到针对图像采集功能的触发事件时,向终端设备发送采集通知消息,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,所述采集通知消息用于指示所述终端设备采集图像数据;接收来自于所述终端设备的所述图像数据;

所述终端设备,用于展示云应用程序在所述云设备中运行时的服务画面,接收来自于所述云设备的采集通知消息,所述采集通知消息为所述云设备检测到针对图像采集功能的触发事件时,向所述终端设备发送的,所述采集通知消息用于指示所述终端设备采集图像数据;采集图像数据;向所述云设备发送所述图像数据。

本发明实施例云设备通过采集通知消息指示终端设备采集图像数据,终端采集图像数据后返回给云设备,实现云设备获取到终端设备采集的图像数据。

本发明实施例所述的云设备和终端设备已经在上述的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。

在本发明的又一实施例中,还提供一种图像数据采集装置,应用于云设备,如图17所示,所述装置包括:

第一发送模块11,用于当检测到针对图像采集功能的触发事件时,向终端设备发送采集通知消息,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,所述采集通知消息用于指示所述终端设备采集图像数据;

第一接收模块12,用于接收来自于所述终端设备的所述图像数据。

可选的,所述装置还包括:

第一消息发送模块,用于向所述终端设备发送启动通知消息,所述启动通知消息用于指示所述终端设备启动采集设备,所述采集设备用于采集所述图像数据。

可选的,所述云设备包括所述云应用程序、图像服务层、硬件抽象层和通信模块;所述第一消息发送模块,包括:

请求发送单元,用于当所述云应用程序检测到针对图像采集功能的触发事件时,所述云应用程序向所述图像服务层发送设备启动请求,所述设备启动请求用于请求启动与所述云设备关联的采集设备;

请求转发单元,用于所述图像服务层向所述硬件抽象层转发所述设备启动请求;

第一消息发送单元,用于响应于所述设备启动请求,所述硬件抽象层向所述通信模块发送所述启动通知消息;

消息转发单元,用于所述通信模块向所述终端设备转发所述启动通知消息。

可选的,所述云设备包括:所述云应用程序、图像服务层、硬件抽象层和通信模块,所述第一接收模块,包括:

解码单元,用于在所述通信模块接收来自于所述终端设备的所述图像数据时,所述通信模块将所述图像数据进行解码;

写入通知单元,用于所述通信模块将解码后的图像数据写入云端存储区,所述通信模块向所述硬件抽象层发送读取通知,所述读取通知用于指示所述硬件抽象层读取所述图像数据;

数据读取单元,用于响应于所述读取通知,所述硬件抽象层读取所述图像数据,所述硬件抽象层向所述图像服务层发送所述图像数据;

数据发送单元,用于所述图像服务层向所述云应用程序发送所述图像数据。

可选的,响应于所述读取通知,所述装置还包括:

格式判断模块,用于所述硬件抽象层判断所述图像数据的格式是否与预设格式不同,预设格式包括但不限于所述云应用程序可读取的一种或多种格式;

格式转化模块,用于若所述图像数据的格式与预设格式不同,所述硬件抽象层将所述图像数据的格式转化为所述预设格式。

可选的,所述云设备包括:所述云应用程序、图像服务层、硬件抽象层和通信模块,所述第一发送模块,包括:

第二消息发送单元,用于在所述云应用程序产生采集通知消息时,所述云应用程序向所述图像服务层发送所述采集通知消息;

第三消息发送单元,用于所述图像服务层向所述硬件抽象层发送所述采集通知消息;

第四消息发送单元,用于所述硬件抽象层向所述通信模块发送所述采集通知消息;

第五消息发送单元,用于所述通信模块向所述终端设备发送所述采集通知消息。

可选的,所述采集通知消息中包括:图像采集参数,所述图像采集参数用于指示图像数据的采集参数。

可选的,所述装置还包括:

界面展示模块,用于在接收到来自于所述终端设备的所述图像数据时,展示预设图像预览界面,并在所述预设图像预览界面展示所述图像数据,所述预设图像预览界面用于展示所述图像数据。

可选的,所述装置还包括:

人脸识别模块,用于利用所述图像数据进行人脸识别;

第二消息发送模块,用于在人脸识别结束后,向所述终端设备发送关闭通知消息,所述关闭通知消息用于指示停止继续采集所述图像数据。

在本发明的又一实施例中,还提供一种图像数据采集装置,应用于终端设备,所述终端设备用于展示云应用程序在所述云设备中运行时的服务画面,如图18所示,所述装置包括:

第二接收模块21,用于接收来自于所述云设备的采集通知消息,所述采集通知消息为所述云设备检测到针对图像采集功能的触发事件时,向所述终端设备发送的,所述采集通知消息用于指示所述终端设备采集图像数据;

采集模块22,用于采集图像数据;

第二发送模块,用于向所述云设备发送所述图像数据。

可选的,所述装置还包括:

消息接收模块,用于接收来自于所述云设备的启动通知消息,所述启动通知消息用于指示所述终端设备启动采集设备,所述采集设备用于采集所述图像数据;

指令发送模块,用于响应于所述启动通知消息,启动所述采集设备。

可选的,所述采集通知消息中包括:图像采集参数;所述采集模块,包括:

数据采集单元,用于按照所述图像采集参数采集图像数据。

可选的,所述装置还包括:

编码模块,用于将所述图像数据中的每一帧均按照预设编码格式进行编码;

数据发送模块,用于向云设备发送编码后的图像数据。

在本发明的又一实施例中,还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的图像数据采集方法或者第二方面任一所述的图像数据采集方法。

本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序实现了当检测到针对图像采集功能的触发事件时,可以向用于展示所述云应用程序在所述云设备中运行时的服务画面的终端设备发送用于指示所述终端设备采集图像数据采集通知消息,最后可以接收来自于所述终端设备的所述图像数据,由于云设备无法采集与用户相关的图像数据,所以在本发明实施例中,云设备通过采集通知消息指示终端设备采集图像数据,进而实现云设备获取到终端设备采集的图像数据。

上述电子设备提到的通信总线1140可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图19中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口1120用于上述电子设备与其他设备之间的通信。

存储器1130可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器1110可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有图像数据采集方法的程序,所述数据采集方法的程序被处理器执行时实现第一方面任一所述的图像数据采集方法或者第二方面任一所述的图像数据采集方法的步骤。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: 硬件抽象层通信
tips