视频画面显示方法、装置、终端及存储介质与流程

文档序号:19493394发布日期:2019-12-24 14:23阅读:227来源:国知局
视频画面显示方法、装置、终端及存储介质与流程

本申请实施例涉及视频会议领域,特别涉及一种视频画面显示方法、装置、终端及存储介质。



背景技术:

视频会议是一种借助音视频采集设备以及网络,组织多个位于不同地点的用户进行会议的方式。

视频会议过程中,每个参会者使用音视频采集设备采集自身的画面和语音,并通过网络将画面和语音传输至其他参会者使用的终端,使得每个参会者可以查看到其他参会者的画面,并收听到其他参会者的语音。



技术实现要素:

本申请实施例提供了一种视频画面显示方法、装置、终端及存储介质,可以用于解决视频会议中,将各个参会者的二维形象分别显示在视频画面中,无法模拟出真实会议场景的问题。所述技术方案如下:

一方面,提供了一种视频画面显示方法,所述方法用于第一终端,所述方法包括:

接收服务器发送的场景数据;

根据所述场景数据在视频界面中显示虚拟场景;

接收所述服务器发送的n组模型数据,所述n组模型数据由n个第二终端发送,且每组模型数据用于渲染三维人脸模型,所述三维人脸模型根据人脸深度图像和人脸红绿蓝(red-green-blue,rgb)图像构建得到,n≥1,n为整数;

根据所述n组模型数据,渲染得到n个所述三维人脸模型;

在所述虚拟场景中显示n个所述三维人脸模型。

另一方面,提供了一种视频画面显示装置,所述装置为第一终端,所述装置包括:

第一接收模块,用于接收服务器发送的场景数据;

第一显示模块,用于根据所述场景数据在视频界面中显示虚拟场景;

第二接收模块,用于接收所述服务器发送的n组模型数据,所述n组模型数据由n个第二终端发送,且每组模型数据用于渲染三维人脸模型,所述三维人脸模型根据人脸深度图像和人脸rgb图像构建得到,n≥1,n为整数;

渲染模块,用于根据所述n组模型数据,渲染得到n个所述三维人脸模型;

第二显示模块,用于在所述虚拟场景中显示n个所述三维人脸模型。

另一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述视频画面显示方法。

第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述视频画面显示方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

终端根据服务器发送的场景数据在视频界面中显示虚拟场景后,根据其他终端发送的模型数据,渲染得到相应的三维人脸模型,并将各个三维人脸模型显示在虚拟场景中,从而模拟出多用户在同一场景进行会议的效果;同时,由于模型数据根据人脸深度图像和人脸rgb图像构建得到,因此,显示的三维人脸模型能够真实反映出用户的面部表情,相较于二维展示更加生动形象。

附图说明

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

图1示出了本申请一个示例性实施例提供的实施环境的环境示意图;

图2示出了本申请一个示例性实施例提供的视频画面显示方法的流程图;

图3是一个示例性实施例提供的虚拟场景下三维人脸模型的示意图;

图4示出了本申请另一个示例性实施例提供的视频画面显示方法的流程图;

图5是根据目标人脸rgb图像和目标人脸深度图像构建目标三维人脸模型的原理示意图;

图6是构建目标三维人脸模型过程的方法流程图;

图7示出了本申请另一个示例性实施例提供的视频画面显示方法的流程图;

图8是对发言用户对应三维人脸模型进行放大显示的实施示意图;

图9示出了本申请一个示例性实施例提供的视频画面显示装置的结构框图;

图10示出了本申请一个示例性实施例提供的终端的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

为了方便理解,下面对本申请实施例中涉及的名词进行解释。

深度图像:指通道中存储有深度信息(即深度值)的图像,深度图像采用专用深度摄像设备拍摄得到。常见的深度摄像设备基于结构光拍摄深度图像。深度摄像设备拍摄深度图片的原理为:深度摄像设备将结构光(点、线、面等模式图案)投射到拍摄场景,并通过其深度摄像头采集带有结构光的图像。由于结构光的模式图案会因物体的形状发生形变,因此根据采集到图像的形变程度即可计算出场景中各个物体的深度信息。

rgb图像:指包含r、g、b三种颜色通道的图像,rgb图像采用rgb摄像设备拍摄得到,该rgb摄像设备可以是rgb摄像头。

本申请各个实施例中,以深度图像和rgb图像为独立的图像为例进行说明,在其他可能的实施方式中,还可以采用红绿蓝-深度(red-green-bluedepth,rgb-d)图像同时存储深度信息和颜色信息,本申请实施例对此不做限定。

请参考图1,其示出了本申请一个示例性实施例提供的实施环境的环境示意图,该实施环境中包括第一终端110、服务器120和第二终端130。

第一终端110和第二终端130是具有深度图像以及rgb图像采集功能的电子设备。

在一种可能的实现方式中,该电子设备为配备有深度摄像头和rgb摄像头的智能手机、平板电脑或个人计算机等等。其中,深度摄像头和rgb摄像头可以单独启动,也可以同时启动,并且,深度摄像头和rgb摄像头相邻设置,从而确保拍摄时采用相同的拍摄角度

在另一种可能的实施方式中,第一终端110和第二终端130分别与深度摄像头和rgb摄像头相连,用于接收深度摄像头和rgb摄像头采集到的深度图像和rgb图像。

第一终端110和第二终端130分别与服务器120之间通过无线网路相连。

服务器120是一台服务器,若干台服务器构成的服务器集群或云计算中心。本申请实施例中,服务器120是视频会议系统的后台服务器。

在一种可能的应用场景下,如图1所示,第一终端110和第二终端130中均安装有视频会议应用程序(或登录视频会议网页),并在服务器120中创建一个视频会议房间。当用户a使用第一终端110接入该视频会议房间时,第一终端110即通过深度摄像组件和rgb摄像组件采集人脸深度图像和人脸rgb图像,并根据该图像构建用户a的三维人脸模型,从而经由服务器120将用户a的人脸模型数据发送至用户b使用的第二终端130。第二终端130接收到人脸模型数据后,即在虚拟会议场景中渲染显示用户a的三维人脸模型。相似的,第二终端130经由服务器120将用户b的人脸模型数据发送至第一终端110,以便第一终端110在虚拟会议场景中渲染显示用户b的三维人脸模型。

图1所示的实施环境中,仅以两个终端进行视频会议为例进行说明,在其他可能的实施方式中,该实施环境中可以包括至少三个终端进行视频会议,本申请并不对参与视频会议的终端的数量进行限定。

请参考图2,其示出了本申请一个示例性实施例提供的视频画面显示方法的流程图。本实施例以该方法应用于图1中的第一终端110来举例说明。所述方法包括:

步骤201,接收服务器发送的场景数据。

在一种可能的实施方式中,当第一终端接入视频会议时,服务器即向第一终端发送场景数据,相应的,第一终端接收服务器发送的场景数据。

需要说明的是,其它参与视频会议的第二终端接入视频会议时,服务器也会向其发送场景数据。

可选的,该场景数据用于指示预设虚拟场景中的指定虚拟场景,或者,该场景数据中包含虚拟环境的环境参数以及虚拟环境中虚拟物体的物体参数,其中,虚拟环境包括室内环境、室外环境等等,该虚拟物体包括虚拟桌椅、虚拟装饰物等等。

步骤202,根据场景数据在视频界面中显示虚拟场景。

第一终端根据接收到的场景数据,在视频界面中构建并显示虚拟场景,其中,该视频界面用于显示视频会议画面。

在一种可能的实施方式中,当待显示的虚拟场景是会议发起终端指定的预设虚拟场景之一时,终端根据场景数据中包含的场景标识,从虚拟场景数据库中查找该场景标识对应的虚拟场景构建参数,从而根据虚拟场景构建参数构建并显示虚拟场景。其中,该虚拟场景数据库可以存储在本地,也可以存储在服务器中。

在另一种可能的实施方式中,当待显示的虚拟场景由会议发起终端自主设置时,终端根据场景数据中的环境参数构建虚拟环境,并根据场景数据中的物体参数构建虚拟环境中的虚拟物体,进而将虚拟环境和虚拟物体显示在视频界面中。

示意性的,如图3所示,视频界面中显示的虚拟场景中,包含虚拟环境31,虚拟桌子32以及虚拟椅子33。

步骤203,接收服务器发送的n组模型数据,n组模型数据由n个第二终端发送,且每组模型数据用于渲染三维人脸模型,三维人脸模型根据人脸深度图像和人脸rgb图像构建得到,n≥1,n为整数。

其中,根据模型数据渲染得到的三维人脸模型用于模拟使用第二终端进行视频会议的用户的真实面部表情。

在一种可能的实施方式中,参与视频会议的第二终端实时采集本端用户的人脸深度图像以及人脸rgb图像,并根据人脸深度图像和人脸rgb图像构建本端用户的三维人脸模型,从而将三维人脸模型对应的模型数据发送至服务器,进而由服务器将模型数据转发至其他接入视频会议的终端。

在另一种可能的实施方式中,用户使用终端首次进行视频会议时,终端将实时构建的三维人脸模型的模型数据发送至服务器,由服务器将模型数据和终端标识进行关联存储。后续该用户使用终端再次进行视频会议时,服务器直接从数据库中获取该终端对应的模型数据,并转发至其他接入视频会议的终端。可选的,采用上述方法发送模型数据前,服务器需要根据终端上传的实时人脸rgb图像进行身份认证,并在身份认证通过(即当前用户与模型数据对应的用户一致)时,相应的模型数据发送至其他终端。

由于不同第二终端接入视频会议的时刻存在先后,因此服务器可以将n组模型数据分多次发送给第一终端,而并非同时发送。

可选的,第一终端接收到模型数据后,将模型数据与第二终端的终端标识进行关联存储,后续再次与第二终端对应的用户进行视频会议时,可以直接从本地读取相应的模型数据。

可选的,服务器发送人脸三维模型的模型数据时,还向第一终端发送人体三维模型的模型数据,以便第一终端后续渲染显示相应的人体三维模型。

步骤204,根据n组模型数据,渲染得到n个三维人脸模型。

为了还原出其他用户的真实面部表情,对于接收到的每组模型数据,第一终端根据模型数据进行模型渲染,从而得到相应的三维人脸模型。其中,第一终端可以采用成熟的模型渲染技术渲染得到三维人脸模型,本申请实施例对此不做限定。

由于第一终端可能并非同时接收到n组模型数据,因此第一终端可以分多次进行模型渲染。

步骤205,在虚拟场景中显示n个三维人脸模型。

进一步的,终端将渲染出的n个三维人脸模型显示在同一虚拟场景中(步骤202中的虚拟场景)中,从而模拟出不同用户在同一地点开会的场景。

可选的,在虚拟场景中显示三维人脸模型时,将三维人脸模型与三维人体模型进行组合,从而显示完整的用户形象。

可选的,当接入终端的数量少于阈值(比如阈值为3)时,为了保证使用第一终端的用户能够查看到其他用户的面部表情,终端根据用户观看视角调整各个三维人脸模型的朝向,使得各个三维人脸模型均朝向用户观看视角。

当接入终端的数量大于阈值时,由于部分三维人脸模型可能背对用户观看视角,用户可以切换虚拟场景中的观看视角,从而查看到背对三维人脸模型的面部表情。

可选的,除了显示其他参会者的三维人脸模型外,第一终端还可以在虚拟场景中显示本端用户的三维人脸模型。

示意性的,如图3所示,渲染得到的三维人脸模型34与三维人体模型35拼接形成完整的虚拟用户,并显示在同一虚拟场景31下。用户三维人脸模型34即可查看到其他用户的面部表情。

综上所述,本实施例中,终端根据服务器发送的场景数据在视频界面中显示虚拟场景后,根据其他终端发送的模型数据,渲染得到相应的三维人脸模型,并将各个三维人脸模型显示在虚拟场景中,从而模拟出多用户在同一场景进行会议的效果;同时,由于模型数据根据人脸深度图像和人脸rgb图像构建得到,因此,显示的三维人脸模型能够真实反映出用户的面部表情,相较于二维展示更加生动形象。

第一终端除了根据场景数据和模型数据渲染虚拟场景和三维人脸模型外,还需要将本端用户对应三维人脸模型的模型数据发送给其他终端(第二终端),以便其他终端渲染显示。在一种可能的实施方式中,第一终端上设置有深度摄像组件和rgb摄像组件,第一终端分别利用两个摄像组件采集图像,并基于采集到的图像进行三维人脸模型建模,下面采用示意性的实施例进行说明。

请参考图4,其示出了本申请另一个示例性实施例提供的视频画面显示方法的流程图。本实施例以该方法应用于图1中的第一终端110来举例说明。所述方法包括:

步骤401,接收服务器发送的场景数据。

步骤402,根据场景数据在视频界面中显示虚拟场景。

上述步骤401至402的实施方式可以参考步骤201至203的实施方式,本实施例在此不再赘述。

步骤403,通过深度摄像组件采集目标人脸深度图像,并通过rgb摄像组件采集目标人脸rgb图像,目标人脸深度图像和目标人脸rgb图像中包含目标人脸,深度摄像组件和rgb摄像组件的拍摄角度相同。

可选的,第一终端中同时设置有深度摄像组件和rgb摄像组件,且深度摄像组件和rgb摄像组件相邻设置,确保拍摄时拍摄角度一致。当接入视频会议时,第一终端即同时启用深度摄像组件和rgb摄像组件进行图像采集。其中,该深度摄像组件可以是基于飞行时间法(timeofflight,tof)的tof深度摄像头,或基于结构光的深度摄像头,本申请实施例并不做限定。

其中,目标人脸深度图像中存储有各个像素点的深度数据(即深度值),该深度值用于表示像素点对应物体与深度摄像组件之间的距离,其中,深度值越大,表示该像素点对应物体距离深度摄像组件的距离越远。目标人脸rgb图像中存储有各个像素点的rgb数据,该rgb数据用于标识像素点对应物体的颜色。

为了提高后续人脸三维模型的建模准确性,在一种可能的实施方式中,第一终端显示提示信息,提示用户从不同拍摄角度采集人脸图像,并将同一拍摄角度下采集的目标人脸深度图像和目标人脸rgb图像进行关联存储,即每隔拍摄角度对应一张目标人脸深度图像和一张目标人脸rgb图像。其中,该拍摄角度包括正视、左视、右视、俯视、仰视等等。

需要说明的是,第一终端也可以预先采集本端用户的人脸图像,从而预先构建人脸三维模型,后续视频会议过程中即可直接发送给服务器,而无需实时构建。

步骤404,根据目标人脸深度图像和目标人脸rgb图像,构建目标人脸对应的目标三维人脸模型。

由于目标人脸深度图像能够反映出各个像素点在三维空间中的深度,而目标人脸rgb图像能够反映出目标人脸在平面内的坐标,因此,终端结合目标人脸深度图像和目标人脸rgb图像构建三维人脸模型。

在一种可能的实施方式中,第一终端构建目标三维人脸模型的过程如图5所示:第一终端识别目标人脸rgb图像501中的目标人脸区域502,并根据目标人脸区域502和目标人脸深度图像503获取目标人脸的人脸深度数据504,从而根据人脸深度数据504构建目标三维人脸模型505,并最终根据目标人脸区域502中提取的rgb数据506对目标三维人脸模型505进行面部渲染。

在一种可能的实施方式中,如图6所示,本步骤可以包括如下步骤:

步骤404a,识别目标人脸rgb图像中的目标人脸区域。

由于目标人脸rgb图像中除了包含目标人脸外,还可能包含背景、干扰物等等,因此,为了提高建模质量,第一终端需要首先识别出目标人脸rgb图像中的目标人脸区域。

在一种可能的实施方式中,第一终端中设置有人脸识别模型,该人脸识别模型是根据标注有人脸区域的样本人脸rgb图像,通过机器学习算法训练得到的卷积神经网络模型。第一终端将目标人脸rgb图像作为模型输入,输入人脸识别模型,从而根据模型输出确定其中的目标人脸区域。

为了进一步提高目标人脸区域的识别准确性,在一种可能的实施方式中,步骤404a还可以包括如下步骤。

一、根据目标人脸深度图像中各个像素点的深度数据,确定目标人脸深度图像中的候选人脸区域。

用户使用终端进行视频时,用户人脸通常距离终端摄像头较近,而诸如背景一类的干扰物体则距离终端摄像头较远,因此,终端可以根据目标人脸深度图像中,各个像素点的深度数据,从目标人脸深度图片中确定出候选人脸区域。

可选的,终端将深度值小于深度阈值的像素点确定为人脸区域中的像素点,从而确定出候选人脸区域。比如,当深度阈值为1000时,即可过滤与终端摄像头之间距离大于1000的像素点。

二、根据候选人脸区域,从目标人脸rgb图像中提取候选人脸区域rgb图像。

由于目标人脸深度图像与目标人脸rgb图像是从同一拍摄角度采集,因此两张图像中的人脸区域相同。确定出目标人脸深度图像中的候选人脸区域后,第一终端即根据该候选人脸区域的坐标,从目标人脸rgb图像中提取候选人脸区域rgb图像,该候选人脸区域rgb图像是目标人脸rgb图像中的一部分。

三、识别候选人脸区域rgb图像中的目标人脸区域。

进一步的,第一终端从候选人脸区域rgb图像中确定目标人脸区域。其中,第一终端可以将候选人脸区域rgb图像输入人脸识别模型中,从而得到目标人脸区域。

由于候选人脸区域rgb图像中像素点的个数少于目标人脸rgb图像中像素点的个数,因此第一终端识别目标人脸区域的效率得以提高,并降低识别过程中耗费的处理资源。

步骤404b,根据目标人脸区域的坐标,获取目标人脸深度图像中目标人脸区域的人脸深度数据。

根据识别出的目标人脸区域的坐标(在目标人脸rgb图像中的横纵坐标),第一终端确定目标人脸深度图像中的目标人脸区域,并获取该目标人脸区域中各个像素点的深度数据,该深度数据即用于指示目标人脸上各个像素点与深度摄像组件之间的距离。

步骤404c,根据人脸深度数据构建目标三维人脸模型。

通过上述步骤404a,第一终端获取到目标人脸区域中各个像素点的横纵坐标,通过上述步骤404b,第一终端获取到目标人脸区域中各个像素点的深度坐标,因此,第一终端可以根据目标人脸区域中各个像素点的三维坐标(横纵深坐标),构建出目标三维人脸模型。

可选的,当第一终端从多个拍摄角度采集到多组图像时,针对每一组图像,第一终端均通过上述步骤进行目标三维人脸模型构建,从而基于不同角度的目标三维人脸模型修正,得到最终的目标三维人脸模型。

比如,第一终端分别根据正视、左视、右视、俯视、仰视视角采集的图像生成五个三维人脸模型,并利用左视、右视、俯视、仰视视角对应的三维人脸模型对正视视角对应的三维人脸模型进行修正,得到最终的目标三维人脸模型。

步骤404d,根据目标人脸区域的rgb数据,对目标三维人脸模型进行面部渲染。

经过上述步骤构建出的目标三维人脸模型仅能够体现出目标人脸的结构特征,而无法体现出肤色等特征。因此,为了更加形象的展示出目标人脸上的面部表情,第一终端进一步根据目标人脸rgb图像中,目标人脸区域的rgb数据,对目标三维人脸模型进行面部渲染。

可选的,终端根据目标人脸区域中各个像素点的坐标,确定目标三维人脸模型中对应的模型坐标点,从而利用相应的rgb数据对该模型坐标点进行渲染。

经过上述步骤404a至404d,第一终端即构建出本端用户的目标三维人脸模型。

步骤405,向服务器发送目标三维人脸模型的目标模型数据,目标模型数据用于渲染目标三维人脸模型。

第一终端将目标三维人脸模型对应的目标模型数据发送至服务器,以便服务器将目标模型数据转发至各个第二终端,供第二终端进行渲染显示。其中,该目标模型数据可以包括顶点着色器(vertexshader)和片段着色器(fragmentshader)。

步骤406,若目标人脸rgb图像中目标人脸的表情发生变化时,确定目标人脸rgb图像中的面部变化区域。

由于用户面部表情可变,因此,为了能够实时展现出各个参会者的面部表情变化,第一终端每个预定时间间隔(比如10次/s)通过深度摄像组件和rgb摄像组件采集图像,并根据rgb摄像组件采集到的人脸rgb图像,检测目标人脸的表情是否发生变化,并在检测到目标人脸的表情发生变化时,确定目标人脸rgb图像中的面部变化区域,其中,该面部变化区域可以包括嘴部区域、眼部区域、眉部区域、鼻部区域等等。

在一种可能的实施方式中,第一终端识别目标人脸rgb图像中目标人脸的面部特征点,并通过面部特征点的坐标变化情况,确定目标人脸的表情是否发生变化。比如,当面部特征点的坐标偏移量大于阈值时,确定表情发生变化,并将该面部特征点对应的面部区域确定为面部变化区域。

步骤407,根据面部变化区域的坐标,获取目标人脸深度图像中面部变化区域的人脸深度数据。

进一步的,第一终端根据面部变化区域的坐标,从实时采集的目标人脸深度图像中,获取面部变化区域的人脸深度数据,以便后续面部变化区域的人脸深度数据仅重新构建面部变化区域的模型。

比如,第一终端根据面部变化区域的坐标,获取目标人脸嘴部区域的人脸深度数据。

步骤408,根据人脸深度数据生成目标面部更新数据,目标面部更新数据用于更新目标三维人脸模型中的部分模型区域。

第一终端根据获取到的人脸深度数据,构建面部变化区域对应的模型,并生成该模型对应的目标面部更新数据。其中,根据人脸深度数据构建模型的过程可以参照上述步骤404,本步骤在此不再赘述。

步骤409,向服务器发送目标面部更新数据。

第一终端通过服务器将目标面部更新数据转发至各个第二终端,第二终端接收到目标面部更新数据后,即在原先目标人脸三维模型的基础上,根据目标面部更新数据对面部变化区域进行模型更新,从而模拟出第一终端侧用户的实时表情。

在其他可能的实现方式中,终端也可以在检测到表情变化时,根据实时采集的图像重新构建完整的目标人脸模型,本申请实施例对此不做限定。

上述步骤403至409为第一终端向服务器发送数据的过程,下述步骤410至415即为服务器向第一终端发送数据的过程。需要说明的是,上述步骤403至409与步骤410至415之间不存在严格的先后关系,即两者可以同时执行,本实施例对两者的执行时序不做限定。

步骤410,接收服务器发送的n组模型数据。

步骤411,根据n组模型,渲染得到n个三维人脸模型。

上述步骤410至411的实施方式可以参考步骤203至204,本实施例不再赘述。

步骤412,根据各个第二终端的接入时刻,确定各个三维人脸模型在虚拟场景中的显示位置。

可选的,在虚拟场景中显示n个三维人脸模型时,根据各个第二终端接入视频会议的接入时刻,确定各个第二终端对应三维人脸模型在虚拟场景中的显示位置,以便后续将三维人脸模型显示在该显示位置。

在一种可能的实施方式中,第一终端根据接入时刻的先后顺序,依次确定三维人脸模型的显示位置,其中,不同三维人脸模型对应不同的显示位置。

比如,第一终端根据第二终端接入时刻的先后顺序,按照顺时针顺序,依次确定各个三维人脸模型在虚拟台面上对应的显示位置。

可选的,第一终端还可以根据预先设置三维人脸模型的排布方式(可以由会议创建终端设置),确定各个三维人脸模型的显示位置。

在其他可能的实施方式中,第一终端获取各个第二终端对应用户的职位等级,并根据职位等级确定三维人脸模型在虚拟场景中的显示位置,其中,三维人脸模型与虚拟场景中央的距离与职位等级呈负相关关系,即用户的职位等级越高,其对应三维人脸模型的显示位置与靠近虚拟场景中央的距离。

步骤413,将各个三维人脸模型显示在对应的显示位置。

根据确定出的显示位置,第一终端将各个三维人脸模型显示在同一虚拟场景中。

步骤414,接收服务器发送的面部更新数据,面部更新数据用于更新三维人脸模型中的部分模型区域,面部更新数据由第二终端检测到人脸rgb图像中的人脸表情发生变化时向服务器发送。

为了使本端用户能够实时查看到其他参会者的面部表情变化,各个第二终端在检测到人脸表情发生变化时,生成用于更新部分模型区域的面部更新数据,并通过服务器将面部更新数据发送给其他终端。相应的,第一终端根据接收到各个第二终端发送的面部更新数据。

其中,第二终端生成面部更新数据的过程可以参考上述步骤406至408,本实施例在此不再赘述。

步骤415,根据面部更新数据,重新渲染三维人脸模型的部分模型区域。

根据接收到的面部更新数据,终端对相应三维人脸模型的部分模型区域进行重新渲染,从而还原出其他参会者的实时面部表情。由于仅需要对面部变化区域的模型进行重新渲染,因此渲染时花费的处理资源较少,且渲染速度较快。

本实施例中,终端首先通过识别目标人脸rgb图像中的目标人脸区域,然后基于该目标人脸区域从目标人脸深度图像中获取人脸深度数据,从而根据人脸深度数据构建出目标三维人脸模型,相较于仅根据人脸rgb图像或人脸深度图像进行模型构建,提高了三维人脸模型构建的准确性。

同时,本实施例中,接入视频会议的各个终端实时检测本端用户的人脸表情是否发生变化,并在发生变化时,生成相应的面部更新数据,以便其他终端根据该面部更新数据对三维人脸模型进行更新,从而展现出参会者的真实表情变化;并且,进行表情更新时,仅需要对面部变化区域处的模型进行更新,进一步提高了渲染效率,并降低了渲染时耗费的处理资源。

当接入视频会议的终端较多时,虚拟场景中的部分三维人脸模型可能背对本端用户的观看视角,为了使本端用户能够查看到各个发言者的面部表情,在图4的基础上,如图7所示,上述步骤413之后,还包括如下步骤。

步骤416,接收服务器发送的语音数据,语音数据由发言用户使用的发言终端发送给服务器,发言终端是n个第二终端中的任意一个。

各个终端采集本端人脸图像的同时,通过麦克风采集本端用户的语音数据,并通过服务器将采集到的语音数据发送至其它终端。

可选的,当采集到的语音的音量大于预设音量时,终端语音数据发送至服务器;或者,当接收到对视频界面内发言控件的触发信号时,终端将采集到的语音数据发送至服务器。

本实施例中,第一终端接收到发言终端发送的语音数据后,对该语音数据进行解码播放。

步骤417,采用预定显示方式显示发言用户对应的三维人脸模型。

为了使本端用户查看到发言用户的实时面部表情,第一终端采用预定显示方式对发言用户对应的三维人脸模型进行突出显示。其中,预定显示方式包括将:三维人脸模型移动至虚拟场景中央、放大三维人脸模型以及旋转视角至三维人脸模型中的至少一种。

在一种可能的实施方式中,当发言用户对应的三维人脸模型正对观看视角时,终端放大该三维人脸模型;当发言用户对应的三维人脸模型背对观看视角时,终端将三维人脸模型移动至虚拟场景中央,或,旋转视角至三维人脸模型。当发言用户结束发言时,终端取消采用预定显示方式显示发言用户对应的三维人脸模型。

示意性的,图8为用户a所使用第一终端中显示的虚拟场景,该虚拟场景中显示有用户b对应的第一三维人脸模型71和用户c对应的第二三维人脸模型72。当接收到用户c所使用终端发送的语音数据时,第一终端对虚拟场景中的第二三维人脸模型72进行放大,提示本端用户c正在发言。

在其他可能的实施方式中,预定显示方式还可以包括高亮显示、突出显示等等,本申请并不对此进行限定。

本实施例中,终端采用预定显示方式对发言用户对应的三维人脸模型进行突出显示,方便本端用户查看发言用户的实时面部表情。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图9,其示出了本申请一个示例性实施例提供的视频画面显示装置的结构框图。该装置包括:

第一接收模块910,用于接收服务器发送的场景数据;

第一显示模块920,用于根据所述场景数据在视频界面中显示虚拟场景;

第二接收模块930,用于接收所述服务器发送的n组模型数据,所述n组模型数据由n个第二终端发送,且每组模型数据用于渲染三维人脸模型,所述三维人脸模型根据人脸深度图像和人脸红绿蓝rgb图像构建得到,n≥1,n为整数;

渲染模块940,用于根据所述n组模型数据,渲染得到n个所述三维人脸模型;

第二显示模块950,用于在所述虚拟场景中显示n个所述三维人脸模型。

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

采集模块,用于通过深度摄像组件采集目标人脸深度图像,并通过rgb摄像组件采集目标人脸rgb图像,所述目标人脸深度图像和所述目标人脸rgb图像中包含目标人脸,所述深度摄像组件和所述rgb摄像组件的拍摄角度相同;

构建模块,用于根据所述目标人脸深度图像和所述目标人脸rgb图像,构建所述目标人脸对应的目标三维人脸模型;

第一发送模块,用于向所述服务器发送所述目标三维人脸模型的目标模型数据,所述目标模型数据用于渲染所述目标三维人脸模型。

可选的,所述构建模块用于:

识别所述目标人脸rgb图像中的目标人脸区域;

根据所述目标人脸区域的坐标,获取所述目标人脸深度图像中所述目标人脸区域的人脸深度数据;

根据所述人脸深度数据构建所述目标三维人脸模型;

根据所述目标人脸区域的rgb数据,对所述目标三维人脸模型进行面部渲染。

可选的,识别所述目标人脸rgb图像中的目标人脸区域时,所述构建模块还用于:

根据所述目标人脸深度图像中各个像素点的深度数据,确定所述目标人脸深度图像中的候选人脸区域;

根据所述候选人脸区域,从所述目标人脸rgb图像中提取候选人脸区域rgb图像;

识别所述候选人脸区域rgb图像中的所述目标人脸区域。

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

确定模块,用于若所述目标人脸rgb图像中所述目标人脸的表情发生变化时,确定所述目标人脸rgb图像中的面部变化区域;

获取模块,用于根据所述面部变化区域的坐标,获取所述目标人脸深度图像中所述面部变化区域的人脸深度数据;

生成模块,用于根据所述人脸深度数据生成目标面部更新数据,所述目标面部更新数据用于更新所述目标三维人脸模型中的部分模型区域;

第二发送模块,用于向所述服务器发送所述目标面部更新数据。

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

第三接收模块,用于接收所述服务器发送的面部更新数据,所述面部更新数据用于更新所述三维人脸模型中的部分模型区域,所述面部更新数据由所述第二终端检测到所述人脸rgb图像中的人脸表情发生变化时,向所述服务器发送;

重新渲染模块,用于根据所述面部更新数据,重新渲染所述三维人脸模型的部分模型区域。

可选的,所述第二显示模块,用于:

根据各个第二终端的接入时刻,确定各个所述三维人脸模型在所述虚拟场景中的显示位置;

将各个所述三维人脸模型显示在对应的所述显示位置。

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

第四接收模块,用于接收所述服务器发送的语音数据,所述语音数据由发言用户使用的发言终端发送给所述服务器,所述发言终端是n个所述第二终端中的任意一个;

第三显示模块,用于采用预定显示方式显示所述发言用户对应的所述三维人脸模型;

其中,所述预定显示方式包括将所述三维人脸模型移动至所述虚拟场景中央、放大所述三维人脸模型以及旋转视角至所述三维人脸模型中的至少一种。

综上所述,本实施例中,终端根据服务器发送的场景数据在视频界面中显示虚拟场景后,根据其他终端发送的模型数据,渲染得到相应的三维人脸模型,并将各个三维人脸模型显示在虚拟场景中,从而模拟出多用户在同一场景进行会议的效果;同时,由于模型数据根据人脸深度图像和人脸rgb图像构建得到,因此,显示的三维人脸模型能够真实反映出用户的面部表情,相较于二维展示更加生动形象。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图10,其示出了本申请一个示例性实施例提供的终端的结构框图。该终端包括处理器1010、存储器1020以及显示屏1030。

处理器1010可以是中央处理器(英文:centralprocessingunit,cpu),网络处理器(英文:networkprocessor,np)或者cpu和np的组合。处理器1010还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,asic),可编程逻辑器件(英文:programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,fpga),通用阵列逻辑(英文:genericarraylogic,gal)或其任意组合。

存储器1020通过总线或其它方式与处理器1010相连,存储器1020中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由处理器1010加载并执行以实现如上各个实施例所述的用户界面显示方法。存储器1020可以为易失性存储器(英文:volatilememory),非易失性存储器(英文:non-volatilememory)或者它们的组合。易失性存储器可以为随机存取存储器(英文:random-accessmemory,ram),例如静态随机存取存储器(英文:staticrandomaccessmemory,sram),动态随机存取存储器(英文:dynamicrandomaccessmemory,dram)。非易失性存储器可以为只读存储器(英文:readonlymemoryimage,rom),例如可编程只读存储器(英文:programmablereadonlymemory,prom),可擦除可编程只读存储器(英文:erasableprogrammablereadonlymemory,eprom),电可擦除可编程只读存储器(英文:electricallyerasableprogrammableread-onlymemory,eeprom)。非易失性存储器也可以为快闪存储器(英文:flashmemory),磁存储器,例如磁带(英文:magnetictape),软盘(英文:floppydisk),硬盘。非易失性存储器也可以为光盘。

显示屏1030通过总线或其它方式与处理器1010相连。存储器1020存储有至少一条指令,所述至少一条指令由所述处理器1010加载并执行以实现如上各个实施例所述的视频画面显示方法。

可选的,该终端还可以包括深度摄像组件和rgb摄像组件,本实施例在此不再赘述。

本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的视频画面显示方法。

本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的视频画面显示方法。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1