视频会议中的视频渲染方法、装置、设备和可读存储介质与流程

allin2022-09-03  175



1.本技术涉及通信技术领域,具体涉及一种视频会议中的视频渲染方法、装置、设备和可读存储介质。


背景技术:

2.近年来,随着互联网技术的不断发展,视频会议作为一种新的直播形态进入大众视野,用户可以通过终端设备与其他参会者进行视频交流。在多人视频会议中,对于任一个参会者来说,其使用的终端设备通常需要显示自己以及其他参会者的视频,即每一个终端设备通常需要显示多路视频会议。然而目前对于每一路视频会议都需要一个视图容器单独进行渲染,其中一路视频会议渲染就需要一个线程,那么多路视频会议就需要多个线程,容易造成系统资源浪费。


技术实现要素:

3.有鉴于此,本技术实施例中提供了一种视频会议中的视频渲染方法、装置、设备和可读存储介质。
4.第一方面,本技术实施例提供了一种视频会议中的视频渲染方法,该方法包括:
5.获取多路视频图像;
6.建立至少一个视图容器;其中,所述视图容器的数量小于所述视频图像的路数;
7.根据多路所述视频图像的排版信息和视图容器标识信息将多路所述视频图像分别放置于至少一个所述视图容器中进行渲染,以形成多路视频画面;其中每一个所述视图容器中的各路所述视频图像不发生重叠或互相遮挡。
8.第二方面,本技术实施例提供了一种视频会议中的视频渲染装置,该装置包括:
9.图像获取模块,用于获取多路视频图像;
10.容器建立模块,用于建立至少一个视图容器;其中,所述视图容器的数量小于所述视频图像的路数;
11.图像渲染模块,用于根据多路所述视频图像的排版信息和视图容器标识信息将多路所述视频图像分别放置于至少一个视图容器中进行渲染,以形成多路视频画面;其中每一个所述视图容器中的各路所述视频图像之间不发生重叠或互相遮挡。
12.第三方面,本技术实施例提供了一种终端设备,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述第一方面提供的视频会议中的视频渲染方法。
13.第四方面,本技术实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的视频会议中的视频渲染方法。
14.本技术实施例提供的视频会议中的视频渲染方法、装置、设备和可读存储介质,首
先获取多路视频图像;建立至少一个视图容器;其中,视图容器的数量小于视频图像的路数;然后根据多路视频图像的排版信息和视图容器标识信息将多路视频图像分别放置于将多路视频图像分别放置于至少一个视图容器中进行渲染,以形成多路视频画面;其中每一个视图容器中的各路视频图像之间不发生重叠或互相遮挡。
15.本实施例中的视频会议中的视频渲染方法,可以根据每一路视频图像的排版信息和视图容器标识信息将多路视频图像布局在一个或几个视图容器中进行渲染,即可以采用比较少数量的视图容器来渲染多路视频图像从而生成多路视频画面。由于视图容器是需要消耗资源的,当视图容器数量少消耗的资源就少。因此,该渲染方法可以大大减少资源的消耗。
附图说明
16.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
17.图1为本技术实施例提供的视频会议中的视频渲染方法的应用场景示意图;
18.图2为本技术一个实施例提供的视频会议中的视频渲染方法的流程示意图;
19.图3为本技术一个实施例提供多路视频画面显示的结构示意图;
20.图4为本技术一个实施例提供的视图容器与视频图像绑定的示意图;
21.图5为本技术一个实施例提供的视图容器及视频图像排版的示意图;
22.图6为本技术一个实施例提供的视频会议中的视频渲染装置的结构图;
23.图7为本技术一个实施例中提供的终端设备的结构示意图;
24.图8为本技术一个实施例中提供的计算机可读存储介质的结构示意图。
具体实施方式
25.下面将对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.为了更详细说明本技术,下面结合附图对本技术提供的一种视频会议中的视频渲染方法、装置、终端设备和计算机存储介质,进行具体地描述。
27.请参考图1,图1示出了本技术实施例提供的视频会议中的视频渲染方法的应用场景的示意图,该应用场景包括本技术实施例提供的终端设备100,终端设备100可以是具有显示屏的各种电子设备(如102、104、106和108的结构图),包括但不限于智能手机和计算机设备,其中计算机设备可以是台式计算机、便携式计算机、膝上型计算机、平板电脑等设备中的至少一种。用户可以采用终端设备100上的安装的应用程序(例如某某会议)开启或加入网络会议,终端设备100就可以接收其他参会者的视频图像,然后执行本技术的视频会议中的视频渲染方法,就可以查看所有参会者的视频画面,具体过程请参照视频会议中的视频渲染方法实施例。
28.其次,终端设备100可以泛指多个终端设备中的一个,本实施例仅以终端设备100来举例说明。本领域技术人员可以知晓,上述终端设备的数量可以更多或更少。比如上述终端设备可以仅为几个,或者上述终端设备为几十个或几百个,或者更多数量,本技术实施例对终端设备的数量和类型不加以限定。终端设备100可以用来执行本技术实施例中提供的一种视频会议中的视频渲染方法。
29.基于此,本技术实施例中提供了一种视频会议中的视频渲染方法。请参阅图2,图2示出了本技术实施例提供的一种视频会议中的视频渲染方法的流程示意图,以该方法应用于图1中的终端设备为例进行说明,包括以下步骤:
30.步骤s110,获取多路视频图像。
31.视频会议作为一种新的网络直播形态,可以应用于企业的多人在线会议中。其中,视频图像是指视频会议的参会者产生的视频流中所包含的画面图像。视频图像的数量或路数通常与参会者人数有关,每一个参会者都能对应生成一路视频图像。
32.通常情况下,某一参会者采用的终端设备接收到的来自其他参会者的视频流,终端设备需要对视频流进行处理渲染才能显示视频画面。其中,视频流的处理过程具体为:获取多路视频流;对每一路视频流进行解码处理,以得到各路视频帧数据;对各路视频帧数据进行纹理处理,以得到各路视频图像。
33.由于图像的渲染过程主要是运行在gpu,而gpu处理的是多维图形(即纹理)。另外,视频流的数据量较大,在传输过程中需要进行编码处理。因此在本实施例中,终端设备在获取到视频中的多路视频流后,先对其进行解码处理,形成多个视频帧数据,然后将每一个视频帧数据依次转化为gpu可以使用的纹理,记为各视频图像。
34.步骤s120,建立至少一个视图容器。
35.其中,视图容器的数量小于视频图像的路数。
36.步骤s130,根据多路视频图像的排版信息和视图容器标识信息将多路视频图像分别放置于至少一个视图容器中进行渲染,以形成多路视频画面。
37.其中每一个视图容器中的各路视频图像不发生重叠或互相遮挡。
38.具体来说,视图容器是指用来处理或渲染图像,从而形成视频画面的用户界面组件。
39.在一个可选的实施方式中,视图容器可以是view。view通常是指在屏幕上显示或占据一个矩形区域,主要负责渲染和事件处理。view可以认为终端设备等显示设备呈现视图画面内容的一种容器,view本身是需要消耗系统资源的。
40.目前基于gpu硬件模式渲染视频,通常采用一个view渲染一路视频,那么每路视频渲染就需要对应的一个线程专门用于绑定opengl环境,那么n路视频就需要n个线程。这样随着视频的数量上升,view的数量和对应的线程系统资源的消耗会成倍增长,容易造成资源的浪费。因此,在本实施例中设置至少一个视图容器,并且视图容器的数量要小于视频会议流的路数。可以用比较少数量的视图容器来渲染多路视频图像,即可以将多路视频图像都放置在同一个view中进行渲染,从而形成多路视频画面。具体过程是将接收到的多路视频画面中的一部分视频画面通过gpu渲染到其中一个view所在的图层上面,将另一部分视频画面通过gpu渲染到另外一个或几个view所在的图层上面,然后在每个view上渲染这些视频画面;最后view中内容(即视频画面)会被系统合成到终端设备的显示屏进行显示。具
体请参照图3所示,其中图3中两个视图容器(即view),上面一小排小窗口(即video1~video7)形成的方框表示第一个视图容器;下面的大窗口(即videon)形成的方框表示第二个视图容器。另外,图3中表示有n个视频画面,该视频画面分2排,上面一排小窗口是将一部分参会者(即n-1个参会者)的视频图像放置于第一个视图容器进行渲染,得到的多路视频画面;下面的大窗口是将另外一部分参会者(即第n个参会者)的视频图像放置于第二个视图容器进行渲染,形成的视频画面。
41.在一个可选的实施方式中,多路视频图像可以放置在任一个view中的任意位置,这要这些视频图像之间不发生重叠或者互相遮挡即可。但是在实际的使用过程中,为了视频画面显示的整齐度以及美观度,可以对这些视频图像的放置位置和尺寸大小进行排版,例如可以按照横向或纵向对其方式来对各视频图像在view进行排列,使得实现对视频画面显示位置和大小的排列。
42.进一步的,可以对视频图像在view中的放置位置和尺寸大小进行调整,从而实现显示对每一个视频画面的尺寸大小、显示的位置进行排版或调整,例如可以通过左右滑动调整图3中任意一个视频画面的排列顺序和画面的大小。
43.需要说明的是当有多个视图容器时,可以选择一个或几个视图容器来渲染多路视频图像以形成多路视频画面。其中每一个视图容器中的视频图像的数量不限,多个视图容器中放置的视频图像数量(即路数)相同也可以不相同。
44.还需要说明的是,视图容器的数量可以是不固定的,可以在图像渲染过程中根据需要渲染的视频画面的数量动态增加或减少视图容器的数量。
45.另外,排版信息是指用来确定视频图像在视图容器中放置位置的信息。排版信息包括但不限于坐标信息以及尺寸(例如宽高)信息。例如排版信息可以采用(x,y,w,h)来表示,其中x,y表示视频图像在view中的坐标;而w,h表示视频图像的宽和高。每一路视频图像都具有排版信息。
46.视图容器标识信息是指用来确定或选择视图容器的信息,通过该信息可以确定将某一路视频图像放置于哪一个视图容器中进行渲染。其中,每一路视频图像都具有视图容器标识信息。
47.那么根据这些排版信息和视图容器标识信息就可以将每一路视频图像全部放置于相应的view对应的位置。
48.进一步地,在执行步骤s130,根据多路视频图像的排版信息和视图容器标识信息将多路视频图像分别放置于至少一个视图容器中进行渲染,包括:根据各路视频图像的视图容器标识信息来确定各路视频图像放置的目标视图容器;分别根据各路视频图像的坐标信息和尺寸信息来确定各路视频图像在目标视图容器的目标位置和目标尺寸;根据各路视频图像的索引信息依次将各路视频图像放置于目标位置,并按照目标尺寸进行渲染。
49.具体来说,如图4所示,假设有两个视图容器(即view),其中图中一个虚线框表示一个view。每一个视图容器都具有视图容器标识信息,其中mviewid表示视图容器标识信息,mviewid可以取0或1,0表示第一个view,1表示第二个view。另外,每一路视频图像都具有一个mviewid值,根据该值就可以确定某一路视频图像是放置的目标视图容器,即可以确定某一路视频图像是放置于第一个还是第二个view中。在确定将某一路视频图像放置的目标视图容器(即目标view)后,就需要在该目标view中对该视频图像进行排版。
50.在对会议视图图像进行排版之前需要根据各路视频图像的坐标信息和尺寸信息来确定各路视频图像在目标视图容器的目标位置和目标尺寸。具体请参照图5所示,图中虚线形成的外边框形成的矩形框称为一个视图容器(即view),可以采用坐标方式来表示该矩形框,其中起点坐标可以是(0,0)。视图容器中名称为video的小矩形框表示某一路视频图像,图中的mx,my分别表示该视频图像的坐标;width表示该视频图像的宽度,height表示该视频图像的高度。根据mx、my、width以及height就可以将该视频图像在该视图容器中的目标位置和目标尺寸,然后根据该目标位置和目标尺寸可以来对该视频会议进行放置或排版。当有多路视频图像时,就按照上述方法对每一路视频图像进行排版。其中在对多路视频图像进行排版时,为了避免混乱,可以根据各路视频图像的索引信息将各路视频图像按顺序依次放置于目标视图容器中进行渲染。
51.索引信息可以是编号,即对各路视频图像进行编号,然后按照就可以按照编号顺序来对各视频图像依次在目标视图容器中进行排版。
52.此外,当多路视频图像时,当有一路或多路视频图像的尺寸过大会超出视图容器时,可以对一路或多路视频图像的尺寸进行调整,以避免部分视频画面无法完整显示。
53.通过上述方式可以快速且准确地将视频图像在相应的视图容器中对应位置,从而快速完成排版,避免造成视频显示的混乱。
54.本技术实施例提供的视频会议中的视频渲染方法,首先获取多路视频图像;建立至少一个视图容器;其中,视图容器的数量小于视频图像的路数;然后根据多路所述视频图像的排版信息和视图容器标识信息将多路所述视频图像分别放置于至少一个视图容器中进行渲染,以形成多路视频画面;其中每一个视图容器中的各路视频图像之间不发生重叠或互相遮挡。
55.本实施例中的视频会议中的视频渲染方法,可以根据每一路视频图像的排版信息和视图容器标识信息将多路视频图像布局在一个或几个视图容器中进行渲染,即可以采用比较少数量的视图容器来渲染多路视频图像从而生成多路视频画面。由于视图容器是需要消耗资源的,当视图容器数量少消耗的资源就少。因此,该渲染方法可以大大减少资源的消耗。
56.进一步地,提供了几种将多路视频图像放置于至少一个视图容器的实施方式,下面对该实施方式进行详细描述。
57.第一种实施方式:
58.在一个实施例中,视图容器包括第一视图容器和第二视图容器;将多路视频图像分别放置于至少一个视图容器中进行渲染包括:将第一预设数量的视频图像放置于第一视图容器进行渲染;将第二预设数量的视频图像放置于第二视图容器进行渲染。
59.具体来说,视图容器可以是两个,分别记为第一视图容器和第二视图容器。当有多路视频图像时,可以选择第一预设数量的视频图像放置于第一视图容器中进行渲染;选择第二预设数量的视频图像放置于第二视图容器中进行渲染。
60.其中,第一预设数量和第二预设数量可以是预先设置的值,可以是任意正整数,用户可以根据实际需求进行设置。
61.另外,当从多路视频图像中选择出第一预设数量和第二预设数量的视频图像分别放置于第一视图容器或第二视图容器时,当用户对视频画面的显示位置及显示方式没有具
体要求时,可以随机选择或者按照参会者进入会议的时间、发言顺序等选择;当用户对视频画面的显示位置及显示方式有要求时,就可以根据用户要求的视频画面的显示位置及显示方式来确定选择哪一部分(即哪几路)视频图像分别放置于第一视图容器和第二视图容器。
62.需要说明的是,当有多个视图容器时,不同视图容器中的视频图像是可以有重复的,即可以将同一个参会者的视频画面重复显示。另外,不同视图容器中的视频图像的排列或排版方式可以是不相同的,例如第一个视图容器中的视频图像可以是按照横向方式排列,而第二个视图容器中的视频图像可以是按照纵向方式排列的。
63.采用该方式可以使得多路视频画面显示方式更加多样化。
64.第二个实施方式:
65.在一个实施例中,将多路视频图像分别放置于至少一个视图容器中进行渲染包括:将多路视频图像全部放置于第一视图容器进行渲染;响应用户操作,从多路视频图像中选择其中一路或几路视频图像放置于第二视图容器进行渲染。
66.具体地,视图容器可以是两个,分别记为第一视图容器和第二视图容器。当有多路视频图像时,可以选择将所有的视频图像放置于第一视图容器中进行渲染;然后可以根据用户的选择,选择出用户感兴趣或需要重点关注的一个或几个参会者的视频图像放置于第二视图容器中进行渲染,从而对用户感兴趣的一个或几个参会者的视频画面进行放大等进一步详细显示。例如图3中有两个视图容器(即view),第一个视图容器用来渲染显示(即上面一小排小窗口,video1~video7)n-1个(图中仅示出了7个)参会者的视频画面,第二个视图容器用来显示用户感兴趣或者想重点关注的一个(即第n个)参会者的视频画面。
67.采用上述的方式一方面可以使得多路视频画面显示方式更加多样化,另一方面也方便用户关注重点的参会者的视频画面。
68.另外,在从多路视频图像中选择其中一路或几路视频图像放置于第二视图容器进行渲染之后,还包括:响应用户操作,从第二视图容器中删除一路或记录视频图像。
69.具体地,当有多路视频图像时,可以根据用户的选择,选择出用户感兴趣或需要重点关注的一个或几个参会者的视频图像放置于第二视图容器中进行放大等显示,之后用户还可以从第二视图容器中删除一个或几个不再需要重点关注的参会者的视频图像。例如在图3中,用户选择采用第一个视图容器用来渲染显示n-1个(图中仅示出了7个)参会者的视频画面,第二个视图容器用来显示用户感兴趣或者想重点关注的第n个参会者的视频画面后,还可以通过点击或拖到第n个视频图像的方式,从第二个视图容器中删除第n个视频图像,此时第二个视图容器中将不再显示第n个参会者的视频画面。
70.采用上述的方法,方便用户对想重点关注的视频图像进行操作,在视频图像选择错误或者重点关注完成后,及时进行更新。
71.进一步地,给出了一种视图容器与视频画面绑定的具体实施方式,描述如下:
72.在一个实施例中,视频会议中的视频渲染方法还包括:建立视图容器与任意一路或者几路视频图像的绑定关系。
73.具体地,可以将某一视图容器与任意一路或者几路视频图像进行绑定,当视图容器与视频图像绑定后,视图容器就可以自动去获取与之绑定的视频图像,可以避免将视频图像放置于错误的视图容器中。
74.绑定具体过程请参照图4所示,假设有两个视图容器(即view),其中图中一个虚线
框表示一个view。mviewid:0表示第一个view,mviewid:1表示第二个view。假设有两路视频图像,其中视频图像可以采用mview表示,mview:a和mview:b分别表示a视频图像和b视频图像。可以分别将mviewid:0与mview:a,mviewid:1与mview:b进行绑定,以完成第一个view与a视频图像的绑定,以及第二个view与b视频图像的绑定。
75.当绑定完成后,第一个view就可以直接从多路视频图像中获取a视频图像并进行渲染,第二个view就可以直接从多路视频图像中获取b视频图像进行渲染。当渲染完成后或者不需要渲染时,可以进行解绑操作。另外,当渲染过程中,需要更换视频图像可以更换绑定关系。
76.具体过程为:如果更新a的内部布局参数,需要赋值mviewid:0和mview:a,然后赋值其他布局参数即可;如果更换b为c,需要赋值mviewid:1和mview:c,然后赋值其他布局参数;b视频图像可以自行释放。
77.接下来,还给出了一种调整或更新视频画面的实施方式,详细描述如下:
78.在一个实施例中,视频会议中的视频的渲染方法还包括:根据排版信息调整路或多路视频图像在视图容器中的目标位置和/或目标尺寸;或:基于视图容器标识信息更新视图容器中一路或多路视频图像。
79.具体而言,在视频画面显示或播放过程中,可以对视频画面的显示位置以及大小进行调整。在本实施例中,可以通过修改视频图像的排版信息(即坐标信息和/或宽高信息)就可以改变视频图像在view中的位置或者是视频图像的尺寸,进而来改变视频画面的显示位置和画面的大小。
80.另外,也可以通过修改视频图像的视图容器标识信息来更新视图容器中的视频图像,例如将第一视图容器中的a视频图像移除,或者在第一视图容器中增加a视频图像,或者将第一视图容器中的a视频图像更新为b视频图像,从而最终改变视频画面显示方式。
81.采用该方式可以方便且灵活地调整视频画面的显示位置以及大小,从而更显视频画面的显示效果。
82.应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
83.上述本技术公开的实施例中详细描述了一种视频会议中的视频的渲染方法,对于本技术公开的上述方法可采用多种形式的设备实现,因此本技术还公开了对应上述方法的视频会议中的视频的渲染装置,下面给出具体的实施例进行详细说明。
84.请参阅图6,为本技术实施例公开的一种视频会议中的视频渲染装置,主要包括:
85.图像获取模块610,用于获取多路视频图像。
86.容器建立模块620,用于建立至少一个视图容器;其中,视图容器的数量小于所述视频图像的路数。
87.图像渲染模块630,用于根据多路视频图像的排版信息和视图容器标识信息将多路视频图像分别放置于至少一个视图容器中进行渲染,以形成多路视频画面;其中每一个
所述视图容器中的各路视频图像之间不发生重叠或互相遮挡。
88.在一个实施例中,图像获取模块610,用于获取视频会议中的多路视频流;对每一路视频流进行解码处理,以得到各路视频帧数据;对各路视频帧数据进行纹理处理,以得到各路视频图像。
89.在一个实施例中,视图容器包括第一视图容器和第二视图容器;图像渲染模块630,用于将第一预设数量的视频图像放置于第一视图容器进行渲染;将第二预设数量的视频图像放置于第二视图容器进行渲染。
90.在一个实施例中,图像渲染模块630,用于将多路视频图像全部放置于第一视图容器进行渲染;响应用户操作,从多路视频图像中选择其中一路或几路视频图像放置于第二视图容器进行渲染。
91.在一个实施例中,装置还包括:图像删除模块,用于响应用户操作,从第二视图容器中删除一路或记录视频图像。
92.在一个实施例中,排版信息包括坐标信息和尺寸信息;图像渲染模块630,用于根据各路视频图像的视图容器标识信息来确定各路视频图像放置的目标视图容器;分别根据各路视频图像的坐标信息和尺寸信息来确定各路视频图像在目标视图容器的目标位置和目标尺寸;根据各路视频图像的索引信息依次将各路视频图像放置于目标位置,并按照目标尺寸进行渲染。
93.在一个实施例中,装置还包括:绑定模块,用于建立视图容器与任意一路或者几路视频图像的绑定关系。
94.在一个实施例中,装置还包括:调整模块,用于根据排版信息调整一路或多路视频图像在视图容器中的目标位置和/或目标尺寸;或:
95.更新模块,用于基于视图容器标识信息更新视图容器中一路或多路视频图像。
96.关于视频会议中的视频的渲染装置的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端设备中的处理器中,也可以以软件形式存储于终端设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
97.请参考图7,图7其示出了本技术实施例提供的一种终端设备的结构框图。该终端设备70可以是计算机设备。本技术中的终端设备70可以包括一个或多个如下部件:处理器72、存储器74以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器74中并被配置为由一个或多个处理器72执行,一个或多个应用程序配置用于执行上述视频会议中的视频渲染方法实施例中所描述的方法。
98.处理器72可以包括一个或者多个处理核。处理器72利用各种接口和线路连接整个终端设备70内的各个部分,通过运行或执行存储在存储器74内的指令、程序、代码集或指令集,以及调用存储在存储器74内的数据,执行终端设备70的各种功能和处理数据。可选地,处理器72可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器72可集成中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的
渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器72中,单独通过一块通信芯片进行实现。
99.存储器74可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器74可用于存储指令、程序、代码、代码集或指令集。存储器74可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端设备70在使用中所创建的数据等。
100.本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
101.综上,本技术实施例提供的终端设备用于实现前述方法实施例中相应的视频会议中的视频的渲染方法,并具有相应的方法实施例的有益效果,在此不再赘述。
102.请参阅图8,其示出了本技术实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质80中存储有程序代码,程序代码可被处理器调用执行上述视频会议中的视频渲染方法实施例中所描述的方法。
103.计算机可读取存储介质80可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读取存储介质80包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质80具有执行上述方法中的任何方法步骤的程序代码82的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码82可以例如以适当形式进行压缩。
104.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
105.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种视频会议中的视频渲染方法,其特征在于,所述方法包括:获取多路视频图像;建立至少一个视图容器;其中,所述视图容器的数量小于所述视频图像的路数;根据多路所述视频图像的排版信息和视图容器标识信息将多路所述视频图像分别放置于至少一个所述视图容器中进行渲染,以形成多路视频画面;其中每一个所述视图容器中的各路所述视频图像之间不发生重叠或互相遮挡。2.根据权利要求1所述的方法,其特征在于,所述获取多路视频图像,包括:获取视频会议中的多路视频流;对每一路所述视频流进行解码处理,以得到各路视频帧数据;对各路所述视频帧数据进行纹理处理,以得到各路所述视频图像。3.根据权利要求1所述的方法,其特征在于,所述视图容器包括第一视图容器和第二视图容器;所述将多路所述视频图像分别放置于至少一个所述视图容器中进行渲染包括:将第一预设数量的视频图像放置于所述第一视图容器进行渲染;将第二预设数量的视频图像放置于所述第二视图容器进行渲染。4.根据权利要求3所述的方法,其特征在于,所述将多路所述视频图像分别放置于至少一个所述视图容器中进行渲染包括:将多路所述视频图像全部放置于所述第一视图容器进行渲染;响应用户操作,从多路所述视频图像中选择其中一路或几路所述视频图像放置于所述第二视图容器进行渲染。5.根据权利要求1-4任一项所述的方法,其特征在于,所述排版信息包括坐标信息和尺寸信息;所述根据多路所述视频图像的排版信息和视图容器标识信息将多路所述视频图像分别放置于至少一个所述视图容器中进行渲染,包括:根据各路所述视频图像的视图容器标识信息来确定各路所述视频图像放置的目标视图容器;分别根据各路所述视频图像的坐标信息和尺寸信息来确定各路所述视频图像在所述目标视图容器的目标位置和目标尺寸;根据各路所述视频图像的索引信息依次将各路所述视频图像放置于所述目标位置,并按照所述目标尺寸进行渲染。6.根据权利要求1-4任一项所述的方法,其特征在于,所述方法,还包括:建立视图容器与任意一路或者几路视频图像的绑定关系。7.根据权利要求4所述的方法,其特征在于,还包括:根据所述排版信息调整任意一路或多路所述视频图像在所述视图容器中的目标位置和/或目标尺寸;或:基于所述视图容器标识信息更新所述视图容器中一路或多路所述视频图像。8.一种视频会议中的视频渲染装置,其特征在于,所述装置包括:图像获取模块,用于获取多路视频图像;容器建立模块,用于建立至少一个视图容器;其中,所述视图容器的数量小于所述视频图像的路数;
图像渲染模块,用于根据多路所述视频图像的排版信息和视图容器标识信息将多路所述视频图像分别放置于至少一个视图容器中进行渲染,以形成多路视频画面;其中每一个所述视图容器中的各路所述视频图像之间不发生重叠或互相遮挡。9.一种终端设备,其特征在于,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如权利要求1-7任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。

技术总结
本申请提供了一种视频会议中的视频渲染方法、装置、设备和可读存储介质,首先获取多路视频图像;建立至少一个视图容器;其中,视图容器的数量小于视频图像的路数;然后根据多路视频图像的排版信息和视图容器标识信息将多路视频图像分别放置于将多路视频图像分别放置于至少一个视图容器中进行渲染,以形成多路视频画面;其中每一个视图容器中的各路视频图像之间不发生重叠或互相遮挡。本实施例中的视频图像的渲染方法,采用比较少数量的视图容器来渲染多路视频图像从而生成多路视频画面。由于视图容器是需要消耗资源的,当视图容器数量少消耗的资源就少。因此,该渲染方法可以大大减少资源的消耗。少资源的消耗。少资源的消耗。


技术研发人员:鲍琦
受保护的技术使用者:广州方硅信息技术有限公司
技术研发日:2022.03.23
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-2865.html

最新回复(0)