CN116485966A - 视频画面渲染方法、装置、设备和介质 - Google Patents
视频画面渲染方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116485966A CN116485966A CN202211335718.7A CN202211335718A CN116485966A CN 116485966 A CN116485966 A CN 116485966A CN 202211335718 A CN202211335718 A CN 202211335718A CN 116485966 A CN116485966 A CN 116485966A
- Authority
- CN
- China
- Prior art keywords
- rendering
- sub
- video
- picture
- pictures
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 379
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 33
- 238000004088 simulation Methods 0.000 claims abstract description 31
- 230000001360 synchronised effect Effects 0.000 claims description 109
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 22
- 239000002131 composite material Substances 0.000 claims description 7
- 230000001276 controlling effect Effects 0.000 claims description 7
- 230000001105 regulatory effect Effects 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
Abstract
本申请涉及一种视频画面渲染方法、装置、设备和介质。所述方法包括:根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置确定渲染区域;模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的;网格面片是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到;根据模拟摄像机的当前位置确定渲染区域内待渲染的实时的视频帧画面;根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面;通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面;将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。采用本方法可满足实时高质量的视频画面渲染场景。
Description
技术领域
本申请涉及视频处理技术,特别是涉及一种视频画面渲染方法、装置、设备和介质。
背景技术
随着计算机技术的发展,人们对视频画面的质量要求越来越高。比如,在游戏领域中,玩家对游戏画面的质量也有较高的要求。高质量的视频画面需要同时具备高分辨率和高帧率,若只通过一个渲染机对视频画面进行渲染,势必会加重渲染机的渲染压力,超负荷的渲染机无法满足视频画面的高质量要求。
因此,为了获取到高质量的视频画面,传统技术中,通常在时间上对视频画面进行帧拆分,每个渲染机负责渲染拆分后得到的一帧或多帧画面,但是这样的渲染方式只适用于针对离线视频的渲染,无法满足实时的视频画面渲染场景。
发明内容
基于此,有必要针对上述技术问题,提供一种能够满足实时高质量的视频画面渲染场景的视频画面渲染方法、装置、设备和介质。
第一方面,本申请提供了一种视频画面渲染方法,所述方法包括:
根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域;所述模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的;所述网格面片是基于所述虚拟摄像机中虚拟传感器的物理尺寸构建得到;
根据所述模拟摄像机的当前位置,确定所述渲染区域内待渲染的实时的视频帧画面;
针对每张所述视频帧画面,根据所述网格面片将所述视频帧画面在空间上进行区域拆分,得到多个视频子画面;
通过预先设置的多个渲染机,将所述多个视频子画面进行同步渲染,得到所述多个视频子画面分别对应的渲染子画面;
将所述多个视频子画面分别对应的渲染子画面进行合成,得到所述视频帧画面对应的渲染画面。
第二方面,本申请提供了一种视频画面渲染装置,所述装置包括:
确定模块,用于根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域;根据所述模拟摄像机的当前位置,确定所述渲染区域内待渲染的实时的视频帧画面;所述模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的;所述网格面片是基于所述虚拟摄像机中虚拟传感器的物理尺寸构建得到;
拆分模块,用于针对每张所述视频帧画面,根据所述网格面片将所述视频帧画面在空间上进行区域拆分,得到多个视频子画面;
渲染模块,用于通过预先设置的多个渲染机,将所述多个视频子画面进行同步渲染,得到所述多个视频子画面分别对应的渲染子画面;
合成模块,用于将所述多个视频子画面分别对应的渲染子画面进行合成,得到所述视频帧画面对应的渲染画面。
在一个实施例中,所述模拟摄像机的当前位置是根据所述虚拟摄像机在三维虚拟场景中的当前位置确定的;所述确定模块还用于根据所述模拟摄像机的当前位置,确定所述三维虚拟场景中位于所述渲染区域内的实时场景内容,得到待渲染的实时的视频帧画面。
在一个实施例中,所述网格面片包括多个网格子面片;所述多个网格子面片中相邻两个网格子面片的共有顶点的坐标相同;所述拆分模块还用于针对每张所述视频帧画面,根据所述多个网格子面片中的共有顶点,将所述视频帧画面对应的所述渲染区域在空间上进行拆分,并确定拆分后的各个子区域内的实时场景内容为视频子画面。
在一个实施例中,所述装置还包括:
构建模块,用于根据所述虚拟传感器的物理尺寸和所述渲染机的数量进行建模,得到所述多个网格子面片;其中,所述网格子面片的数量与所述渲染机的数量一致;所述多个网格子面片的面积之和与所述虚拟传感器的面积一致。
在一个实施例中,所述确定模块还用于根据渲染引擎中虚拟摄像机的焦距,确定所述视点与所述网格面片之间的距离;根据所述距离,得到所述视点与所述网格面片中各个顶点之间的相对位置。
在一个实施例中,所述模拟摄像机是通过显示组件模拟得到的;所述显示组件是所述视点和所述网格面片的父级;所述确定模块还用于确定所述虚拟摄像机的当前位置;将所述虚拟摄像机的当前位置赋予所述显示组件,得到所述模拟摄像机的当前位置。
在一个实施例中,所述多个渲染机中包括一个主渲染机和至少一个从渲染机;所述主渲染机中部署有同步卡;所述渲染模块还用于通过所述主渲染机中的同步卡,接收同步信号发生器基于预设的目标帧率产生的同步渲染信号;通过所述同步卡将所述同步渲染信号同步至所述从渲染机中;通过所述主渲染机和所述从渲染机分别接收的同步渲染信号,控制所述主渲染机和所述从渲染机分别将所述多个视频子画面进行同步渲染,得到所述多个视频子画面分别对应的渲染子画面。
在一个实施例中,所述渲染子画面包括渲染子画面信号;所述合成模块还用于在视频信号采集卡接收到所述同步信号发生器产生的同步采集信号的情况下,通过所述视频信号采集卡对所述多个视频子画面分别对应的渲染子画面信号进行同步采集;将同步采集到的所述多个视频子画面分别对应的渲染子画面信号进行合成,得到所述视频帧画面对应的渲染画面。
在一个实施例中,所述装置还包括:
转换模块,用于在主从渲染机同步渲染得到的渲染子画面信号的信号格式与所述视频信号采集卡所规定的信号格式不一致的情况下,则在通过所述格式转换器接收到同步转换信号后,通过所述格式转换器将所述多个视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与所述视频信号采集卡所规定的信号格式一致的渲染子画面信号,以供所述视频信号采集卡进行同步采集。
在一个实施例中,所述视频信号采集卡部署在画面合成机上;所述画面合成机中还包括合成视频画布;所述合成模块还用于将所述合成视频画布的帧率设置为所述目标帧率;通过满足所述目标帧率的所述合成视频画布,将所述视频信号采集卡同步采集到的所述多个视频子画面分别对应的渲染子画面信号进行同步合成,得到所述视频帧画面对应的渲染画面。
在一个实施例中,所述视频帧画面包括虚拟对象实时画面;所述视频子画面包括实时子画面;所述确定模块还用于在虚拟对象实时渲染场景下,根据所述模拟摄像机的当前位置,确定所述渲染区域内待渲染的实时的虚拟对象实时画面;所述合成模块还用于将多个所述实时子画面分别对应的渲染子画面进行合成,得到所述虚拟对象实时画面对应的渲染画面。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请各方法实施例中的步骤。
第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现本申请各方法实施例中的步骤。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请各方法实施例中的步骤。
上述视频画面渲染方法、装置、设备、介质和计算机程序产品,根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域,根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面。由于模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的,以及网格面片是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的、可用于做画面拆分处理的面片。因此,针对每张视频帧画面,根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面。通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面,将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。相较于传统的离线渲染方式,本申请通过基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的网格面片,对视频帧画面在空间上进行区域拆分,并通过多个渲染机对拆分的子画面进行同步渲染,可以获取到高质量的实时的视频画面,满足了实时的视频画面渲染场景的需求。
附图说明
图1为一个实施例中视频画面渲染方法的应用环境图;
图2为一个实施例中视频画面渲染方法的流程示意图;
图3为一个实施例中视点与网格面片之间的位置关系示意图;
图4为一个实施例中基于虚拟传感器的物理尺寸进行切分建模,并进行分布式渲染的原理示意图;
图5为一个实施例中渲染机、网格子面片和画面视口之间的映射关系示意图;
图6为一个实施例中基于虚拟摄像机的焦距确定视点与网格面片之间的距离的原理示意图;
图7为一个实施例中基于虚拟摄像机的位置确定模拟摄像机的位置的原理示意图;
图8为一个实施例中针对视频画面渲染构建的硬件环境示意图;
图9为另一个实施例中视频画面渲染方法的流程示意图;
图10为一个实施例中视频画面渲染方法的应用场景示意图;
图11为又一个实施例中视频画面渲染方法的流程示意图;
图12为一个实施例中视频画面渲染装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的视频画面渲染方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
服务器104可根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域,模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的;网格面片是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到。服务器104可根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面,针对每张视频帧画面,根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面。服务器104可通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面,将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。
可以理解,服务器104可将合成得到的渲染画面发送至终端102进行显示。本实施例对此不做限定,可以理解,图1中的应用场景仅为示意说明,并不限定于此。
在一个实施例中,如图2所示,提供了一种视频画面渲染方法,该方法可应用于计算机设备,计算机设备可以是终端或服务器,由终端或服务器自身单独执行,也可以通过终端和服务器之间的交互来实现。本实施例以该方法应用于计算机设备为例进行说明,包括以下步骤:
步骤202,根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域;模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的;网格面片是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到。
其中,渲染引擎是用于渲染画面的三维实时渲染引擎。虚拟摄像机是渲染引擎中虚拟的摄像机。模拟摄像机是针对虚拟摄像机进行模拟得到的摄像机。模拟摄像机中包括视点和网格面片。网格面片,是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的位于三维虚拟场景中的三维面片。虚拟传感器是虚拟摄像机中虚拟的传感器。渲染区域是用于渲染视频画面的区域。
具体地,计算机设备可根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域。可以理解,计算机设备可基于视点与网格面片中各个顶点确定得到一个锥体,这个锥体内部的区域即渲染区域。
在一个实施例中,如图3所示,计算机设备可将模拟摄像机中的视点O分别与网格面片ABCD中各个顶点(即A、B、C、D)进行相连,得到一个四棱锥体O-ABCD,这个锥体内部的区域即渲染区域。
步骤204,根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面。
其中,实时的视频帧画面是实时视频流中的一帧图像。可以理解,实时视频流中包括多张实时的视频帧画面。
具体地,计算机设备可确定模拟摄像机的当前位置,并根据模拟摄像机的当前位置,确定位于渲染区域内的待渲染的实时画面内容,得到待渲染的实时的视频帧画面。
在一个实施例中,计算机设备可获取虚拟摄像机的当前位置,并根据虚拟摄像机的当前位置确定模拟摄像机的当前位置。可以理解,计算机设备可将虚拟摄像机的当前位置作为模拟摄像机的当前位置。计算机设备还可对虚拟摄像机的当前位置进行处理,并将处理后的位置作为模拟摄像机的当前位置。
步骤206,针对每张视频帧画面,根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面。
其中,视频子画面是将视频帧画面在空间上进行区域拆分得到的视频画面,可以理解,拆分得到的多个视频子画面之间在空间上相互独立。
在一个实施例中,针对每张实时的视频帧画面,计算机设备可根据网格面片对视频帧画面对应的渲染区域在空间上进行拆分,得到多个子区域。进而,计算机设备可分别确定各个子区域内的待渲染的实时画面内容,并基于各个子区域内的待渲染的实时画面内容,得到多个视频子画面。
步骤208,通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面。
其中,渲染子画面是对视频子画面进行渲染得到的画面。
具体地,计算机设备中预先设置有多个渲染机,通过预先设置的多个渲染机,计算机设备可将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面。可以理解,每个渲染机可负责渲染至少一个视频子画面。
在一个实施例中,多个渲染机可以分别接收同步渲染信号及渲染指令,通过同步渲染信号和渲染指令,控制多个渲染机分别将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面。
步骤210,将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。
其中,渲染画面是针对视频帧画面进行渲染后得到的画面。
具体地,计算机设备中预先部署有合成机,计算机设备可通过合成机接收各个渲染机输出的多个视频子画面分别对应的渲染子画面,并将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。
上述视频画面渲染方法中,根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域,根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面。由于模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的,以及网格面片是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的、可用于做画面拆分处理的面片。因此,针对每张视频帧画面,根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面。通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面,将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。相较于传统的离线渲染方式,本申请通过基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的网格面片,对视频帧画面在空间上进行区域拆分,并通过多个渲染机对拆分的子画面进行同步渲染,可以获取到高质量的实时的视频画面,满足了实时的视频画面渲染场景的需求。
在一个实施例中,模拟摄像机的当前位置是根据虚拟摄像机在三维虚拟场景中的当前位置确定的;根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面,包括:根据模拟摄像机的当前位置,确定三维虚拟场景中位于渲染区域内的实时场景内容,得到待渲染的实时的视频帧画面。
具体地,计算机设备可根据虚拟摄像机在三维虚拟场景中的当前位置,确定出模拟摄像机的当前位置,并根据模拟摄像机的当前位置,确定三维虚拟场景中位于渲染区域内的实时场景内容,得到待渲染的实时的视频帧画面。可以理解,三维虚拟场景中位于渲染区域之内的实时场景内容是可被渲染出来的,即是可见的。三维虚拟场景中位于渲染区域之外的实时场景内容是不会被渲染出来的,即是不可见的。
上述实施例中,通过模拟摄像机的当前位置,确定三维虚拟场景中位于渲染区域内的实时场景内容,得到待渲染的实时的视频帧画面,可以提升视频帧画面的渲染速度。
在一个实施例中,网格面片包括多个网格子面片;多个网格子面片中相邻两个网格子面片的共有顶点的坐标相同;针对每张视频帧画面,根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面,包括:针对每张视频帧画面,根据多个网格子面片中的共有顶点,将视频帧画面对应的渲染区域在空间上进行拆分,并确定拆分后的各个子区域内的实时场景内容为视频子画面。
其中,共有顶点是两个网格子面片之间共有的网格顶点。子区域是对渲染区域在空间上进行拆分后得到的区域。
具体地,针对每张视频帧画面,计算机设备可根据多个网格子面片中的共有顶点,将视频帧画面对应的渲染区域在空间上进行拆分,得到多个子区域。进而,计算机设备可确定三维虚拟场景中分别位于各个子区域内的实时场景内容,并确定拆分后的各个子区域内的实时场景内容为视频子画面。
在一个实施例中,继续参考图3,网格面片包括两个网格子面片,即网格子面片AEFD(即网格子面片1)和网格子面片EBCF(即网格子面片2)。网格子面片AEFD和网格子面片EBCF是相邻的两个网格子面片,它们有两个共有顶点,即顶点E和顶点F。计算机设备可根据网格子面片AEFD和网格子面片EBCF中的共有顶点E和F,将视频帧画面对应的渲染区域在空间上进行拆分,得到两个子区域,即四棱锥体O-AEFD和四棱锥体O-EBCF。可以理解,四棱锥体O-AEFD和四棱锥体O-EBCF内的实时场景内容为视频子画面。
上述实施例中,通过多个网格子面片中的共有顶点,将视频帧画面对应的渲染区域在空间上进行拆分,可以确保后续无缝拼接能最终合成一个完整的画面。进而通过确定拆分后的各个子区域内的实时场景内容为视频子画面,可以提升视频子画面的获取准确率。
在一个实施例中,方法还包括:根据虚拟传感器的物理尺寸和渲染机的数量进行建模,得到多个网格子面片;其中,网格子面片的数量与渲染机的数量一致;多个网格子面片的面积之和与虚拟传感器的面积一致。
可以理解,网格子面片的大小是基于虚拟传感器的物理尺寸均分得到的。
在一个实施例中,如图4所示,若虚拟传感器的物理尺寸为23.76*13.365,渲染机的数量为2个,则计算机设备可建模得到物理尺寸分别为11.88*13.356的两个网格子面片。计算机设备可通过渲染机1和渲染机2,分别将这两个网格子面片分别对应的视频子画面进行同步渲染,得到渲染子画面1和渲染子画面2。
在一个实施例中,如图5所示,计算机设备可预先设置渲染机的网络地址、网格子面片和渲染机中的画面视口之间的映射关系。具体地,计算机设备可将渲染机1的网络地址192.168.0.6、网格子面片1和渲染机1中的画面视口1进行绑定。计算机设备可将渲染机2的网络地址192.168.0.7、网格子面片2和渲染机2中的画面视口2进行绑定,以便于后续通过渲染机1对网格子面片1对应的视频子画面进行渲染,以及通过渲染机2对网格子面片2对应的视频子画面进行渲染。
上述实施例中,通过虚拟传感器的物理尺寸和渲染机的数量进行建模,得到多个网格子面片,可以使得每一个渲染机负责渲染一个相应网格子面片对应的视频子画面,从而提升视频子画面的渲染效率。
在一个实施例中,方法还包括:根据渲染引擎中虚拟摄像机的焦距,确定视点与网格面片之间的距离;根据距离,得到视点与网格面片中各个顶点之间的相对位置。
具体地,计算机设备可确定虚拟摄像机的焦距,并根据渲染引擎中虚拟摄像机的焦距,确定视点与网格面片之间的距离。进而,计算机设备可根据距离,得到视点与网格面片中各个顶点之间的相对位置。
在一个实施例中,计算机设备可将渲染引擎中虚拟摄像机的焦距进行运算,并将运算后的距离作为视点与网格面片之间的距离。
在一个实施例中,计算机设备可将渲染引擎中虚拟摄像机的焦距,直接作为视点与网格面片之间的距离。
在一个实施例中,由于模拟摄像机是基于显示组件针对虚拟摄像机进行模拟得到的,因此,模拟摄像机中视点与网格面片之间的距离,是基于虚拟摄像机的焦距确定得到的。如图6所示,计算机设备可获取虚拟摄像机的当前焦距,并将获取到的虚拟摄像机的当前焦距作为模拟摄像机中视点与网格面片之间的距离。可以理解,一旦虚拟摄像机的焦距发生了改变,模拟摄像机中视点与网格面片之间的距离也会随之改变。
上述实施例中,通过渲染引擎中虚拟摄像机的焦距,确定视点与网格面片之间的距离,并根据距离得到视点与网格面片中各个顶点之间的相对位置,可以提升视点与网格面片中各个顶点之间的相对位置的准确率,从而可以确定得到更准确的渲染区域。
在一个实施例中,模拟摄像机是通过显示组件模拟得到的;显示组件是视点和网格面片的父级;方法还包括:确定虚拟摄像机的当前位置;将虚拟摄像机的当前位置赋予显示组件,得到模拟摄像机的当前位置。
其中,显示组件是渲染引擎中用于渲染画面的组件。
具体地,计算机设备可通过显示组件针对虚拟摄像机进行模拟,得到模拟摄像机。计算机设备可确定虚拟摄像机的当前位置,并将虚拟摄像机的当前位置赋予显示组件,得到模拟摄像机的当前位置。
在一个实施例中,由于模拟摄像机是基于显示组件针对虚拟摄像机进行模拟得到的,因此,模拟摄像机位于三维虚拟场景的当前位置,是基于虚拟摄像机位于三维虚拟场景的当前位置确定得到的。如图7所示,计算机设备可获取虚拟摄像机的当前位置,并将获取到的虚拟摄像机的当前位置作为模拟摄像机的当前位置。可以理解,一旦虚拟摄像机位于三维虚拟场景的位置发生了改变,模拟摄像机位于三维虚拟场景的位置也会随之改变。
上述实施例中,通过将虚拟摄像机的当前位置赋予显示组件,可以得到模拟摄像机的当前位置,进而使得模拟摄像机可模拟虚拟摄影机的运动,从而可以确定得到更准确的视频帧画面。
在一个实施例中,多个渲染机中包括一个主渲染机和至少一个从渲染机;主渲染机中部署有同步卡;通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面,包括:通过主渲染机中的同步卡,接收同步信号发生器基于预设的目标帧率产生的同步渲染信号;通过同步卡将同步渲染信号同步至从渲染机中;通过主渲染机和从渲染机分别接收的同步渲染信号,控制主渲染机和从渲染机分别将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面。
其中,同步渲染信号,是用于指示多个渲染机对多个视频子画面进行同步渲染的同步信号。
具体地,多个渲染机中包括一个主渲染机和至少一个从渲染机,其中,主渲染机中部署有同步卡。计算机设备中还部署有同步信号发生器,同步信号发生器可基于预设的目标帧率产生的同步渲染信号。计算机设备可通过主渲染机中的同步卡,接收同步信号发生器基于预设的目标帧率产生的同步渲染信号。主渲染机可通过同步卡将同步渲染信号同步至各个从渲染机中。进而,计算机设备可通过主渲染机和从渲染机分别接收的同步渲染信号,及主渲染机发送的渲染指令,控制主渲染机和从渲染机分别将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面。需要说明的是,同步信号发生器是一种相位同步信号发生器。多台渲染机可基于同步渲染信号实现相位级别的时间对齐。
上述实施例中,通过主渲染机中的同步卡,接收同步信号发生器基于预设的目标帧率产生的同步渲染信号,并通过同步卡将同步渲染信号同步至从渲染机中,使得各个渲染机可以接收到相同的同步渲染信号。进而,通过主渲染机和从渲染机分别接收的同步渲染信号,及主渲染机发送的渲染指令,控制主渲染机和从渲染机分别将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面,可以避免出现视频画面撕裂的问题,从而进一步提升最终渲染视频画面的质量。
在一个实施例中,渲染子画面包括渲染子画面信号;将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面,包括:在视频信号采集卡接收到同步信号发生器产生的同步采集信号的情况下,通过视频信号采集卡对多个视频子画面分别对应的渲染子画面信号进行同步采集;将同步采集到的多个视频子画面分别对应的渲染子画面信号进行合成,得到视频帧画面对应的渲染画面。
其中,同步采集信号,是用于指示多个视频信号采集卡对多路渲染子画面信号进行同步采集的同步信号。
具体地,渲染子画面包括渲染子画面信号。计算机设备中还部署有视频信号采集卡。同步信号发生器可基于预设的目标帧率产生的同步采集信号,视频信号采集卡可接收同步信号发生器产生的同步采集信号。在视频信号采集卡接收到同步信号发生器产生的同步采集信号的情况下,计算机设备可通过视频信号采集卡对多个视频子画面分别对应的渲染子画面信号进行同步采集。进而,计算机设备可将同步采集到的多个视频子画面分别对应的渲染子画面信号进行合成,得到视频帧画面对应的渲染画面。
上述实施例中,在视频信号采集卡接收到同步信号发生器产生的同步采集信号的情况下,通过视频信号采集卡对多个视频子画面分别对应的渲染子画面信号进行同步采集,将同步采集到的多个视频子画面分别对应的渲染子画面信号进行合成,得到视频帧画面对应的渲染画面,这样,通过对多个渲染子画面信号进行同步采集,再将同步采集的渲染子画面信号进行合成,可以进一步避免出现视频画面撕裂的问题,从而进一步提升最终渲染视频画面的质量。
在一个实施例中,方法还包括:在主从渲染机同步渲染得到的渲染子画面信号的信号格式与视频信号采集卡所规定的信号格式不一致的情况下,则在通过格式转换器接收到同步转换信号后,通过格式转换器将多个视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与视频信号采集卡所规定的信号格式一致的渲染子画面信号,以供视频信号采集卡进行同步采集。
其中,同步转换信号,是用于指示多个格式转换器对多路渲染子画面信号进行格式同步转换的同步信号。
具体地,计算机设备中还部署有多个格式转换器,格式转换器的数量可以与渲染机的数量一致。同步信号发生器基于预设的目标帧率产生的同步转换信号,格式转换器可接收同步信号发生器所产生的同步转换信号。在主从渲染机同步渲染得到的渲染子画面信号的信号格式与视频信号采集卡所规定的信号格式不一致的情况下,则计算机设备可在通过格式转换器接收到同步转换信号后,通过格式转换器将多个视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与视频信号采集卡所规定的信号格式一致的渲染子画面信号,以供视频信号采集卡进行同步采集。
在一个实施例中,格式转换器的数量与渲染机的数量一致,每个格式转换器负责相应渲染机输出的渲染子画面信号的转换处理。计算机设备可通过各个格式转换器,将多个视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与视频信号采集卡所规定的信号格式一致的渲染子画面信号,以供视频信号采集卡进行同步采集。
在一个实施例中,各个渲染机所输出的渲染子画面信号的信号格式为HDMI(HighDefinition Multimedia Interface,高清多媒体接口)格式,视频信号采集卡所规定的信号格式为SDI(Serial Digital Interface,高清数字分量串行接口)格式,则计算机设备可在通过格式转换器接收到同步转换信号后,通过格式转换器将多个HDMI格式的视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与视频信号采集卡所规定的SDI格式一致的渲染子画面信号,以供视频信号采集卡进行同步采集。
在一个实施例中,各个渲染机所输出的渲染子画面信号的信号格式为DP格式,视频信号采集卡所规定的信号格式为SDI格式,则计算机设备可在通过格式转换器接收到同步转换信号后,通过格式转换器将多个DP(Display Port,显示端口)格式的视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与视频信号采集卡所规定的SDI格式一致的渲染子画面信号,以供视频信号采集卡进行同步采集。
上述实施例中,在主从渲染机同步渲染得到的渲染子画面信号的信号格式与视频信号采集卡所规定的信号格式不一致的情况下,则在通过格式转换器接收到同步转换信号后,通过格式转换器将多个视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与视频信号采集卡所规定的信号格式一致的渲染子画面信号,以供视频信号采集卡进行同步采集。这样,通过对多个渲染子画面信号进行同步格式转换,再对同步转换后的渲染子画面信号进行同步采集,进而再将同步采集的渲染子画面信号进行合成,可以进一步避免出现视频画面撕裂的问题,从而进一步提升最终渲染视频画面的质量。
在一个实施例中,视频信号采集卡部署在画面合成机上;画面合成机中还包括合成视频画布;将同步采集到的多个视频子画面分别对应的渲染子画面信号进行合成,得到视频帧画面对应的渲染画面,包括:将合成视频画布的帧率设置为目标帧率;通过满足目标帧率的合成视频画布,将视频信号采集卡同步采集到的多个视频子画面分别对应的渲染子画面信号进行同步合成,得到视频帧画面对应的渲染画面。
具体地,计算机设备中还部署有合成机,合成机上部署有视频信号采集卡、合成软件和基于合成软件创建的合成视频画布。计算机设备可将合成视频画布的帧率设置为与同步信号发生器相同的目标帧率。进而,计算机设备可通过满足目标帧率的合成视频画布,将视频信号采集卡同步采集到的多个视频子画面分别对应的渲染子画面信号进行同步合成,得到视频帧画面对应的渲染画面。
上述实施例中,将合成视频画布的帧率设置为与同步信号发生器相同的目标帧率,并通过满足目标帧率的合成视频画布,将视频信号采集卡同步采集到的多个视频子画面分别对应的渲染子画面信号进行同步合成,得到视频帧画面对应的渲染画面,可以进一步避免出现视频画面撕裂的问题,从而进一步提升最终渲染视频画面的质量。
在一个实施例中,同步信号发生器可产生同步信号,可以理解,同步信号发生器所产生的同步信号在被渲染机接收的情况下,该同步信号即为同步渲染信号。同步信号发生器所产生的同步信号在被格式转换器接收的情况下,该同步信号即为同步转换信号。同步信号发生器所产生的同步信号在被视频信号采集卡接收的情况下,该同步信号即为同步采集信号。需要说明的是,同步信号发生器是一种相位同步信号发生器。多个系统之间可基于接收到的同步信号实现相位级别的时间对齐。
在一个实施例中,如图8所示,计算机设备内部集成有同步信号发生器,两个渲染机(渲染机1和渲染机2)、两个格式转换器(格式转换器1和格式转换器2)和部署有视频信号采集卡的合成机。渲染机1中集成有同步卡。同步信号发生器可产生同步渲染信号、同步转换信号和同步采集信号。多个视频子画面具体为两个视频子画面。渲染机1可通过同步卡接收同步信号发生器所产生同步渲染信号,并将同步渲染信号同步至渲染机2。通过渲染机1和渲染机2分别接收的同步渲染信号,控制渲染机1和渲染机2分别将两个视频子画面进行同步渲染,得到两个视频子画面分别对应的渲染子画面信号。在渲染机1和渲染机2同步渲染得到的渲染子画面信号的信号格式与视频信号采集卡所规定的信号格式不一致的情况下,则通过格式转换器1对渲染机1输出的渲染子画面信号进行格式转换,通过格式转换器2对渲染机2输出的渲染子画面信号进行格式转换,得到与视频信号采集卡所规定的信号格式一致的渲染子画面信号。在视频信号采集卡接收到同步信号发生器产生的同步采集信号的情况下,通过视频信号采集卡对上述两个视频子画面分别对应的渲染子画面信号进行同步采集,并将同步采集到的两个视频子画面分别对应的渲染子画面信号进行合成,得到视频帧画面对应的渲染画面。可以理解,输出的渲染画面可应用于多个业务场景中。
在一个实施例中,如图9所示,计算机设备可根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域,根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面。针对每张视频帧画面,计算机设备可根据网格面片将视频帧画面在空间上进行区域拆分,得到N个视频子画面。计算机设备可通过预先设置的N个渲染机,将N个视频子画面进行同步渲染,得到N个视频子画面分别对应的渲染子画面。进而,计算机设备可通过合成机将N个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。其中,N为大于2的常数。
在一个实施例中,视频帧画面包括虚拟对象实时画面;视频子画面包括实时子画面;根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面,包括:在虚拟对象实时渲染场景下,根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的虚拟对象实时画面;将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面,包括:将多个实时子画面分别对应的渲染子画面进行合成,得到虚拟对象实时画面对应的渲染画面。
其中,虚拟对象实时画面,是在虚拟对象实时渲染场景下确定得到的视频画面。实时子画面,是将虚拟对象实时画面在空间上进行区域拆分之后得到的视频画面。虚拟对象,是虚拟的实体对象,具体可包括虚拟人物、虚拟动物和虚拟物体中的至少一种。
具体地,计算机设备可根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域。在虚拟对象实时渲染场景下,计算机设备可根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的虚拟对象实时画面。针对每张虚拟对象实时画面,计算机设备可根据网格面片将虚拟对象实时画面在空间上进行区域拆分,得到多个实时子画面,并通过预先设置的多个渲染机,将多个实时子画面进行同步渲染,得到多个实时子画面分别对应的渲染子画面。进而,计算机设备可将多个实时子画面分别对应的渲染子画面进行合成,得到虚拟对象实时画面对应的渲染画面。
上述实施例中,在虚拟对象实时渲染场景下,通过模拟摄像机的当前位置,确定渲染区域内待渲染的实时的虚拟对象实时画面,可以提升虚拟对象实时画面的获取准确率。通过将多个实时子画面分别对应的渲染子画面进行合成,得到虚拟对象实时画面对应的渲染画面,可以提升虚拟对象实时渲染场景下渲染画面的指令。
在一个实施例中,如图10所示,场景(a)和场景(b)中都存在大量的复杂场景元素,比如,灯光和毛发等。若通过单个渲染机对场景(a)和场景(b)中的画面进行渲染,渲染机的渲染压力较大。因此,通过本申请的视频画面渲染方法,根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域,根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面。由于模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的,以及网格面片是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的、可用于做画面拆分处理的面片。因此,针对每张视频帧画面,根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面。通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面,将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。相较于传统的离线渲染方式,本申请通过基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的网格面片,对视频帧画面在空间上进行区域拆分,并通过多个渲染机对拆分的子画面进行同步渲染,将渲染压力分配至多个渲染机中,可以获取到高质量的实时的视频画面,满足了实时的视频画面渲染场景的需求。
如图11所示,在一个实施例中,提供了一种视频画面渲染方法,该方法可应用于计算机设备,计算机设备可以是终端或服务器,由终端或服务器自身单独执行,也可以通过终端和服务器之间的交互来实现。本实施例以该方法应用于计算机设备为例进行说明,该方法具体包括以下步骤:
步骤1102,根据虚拟传感器的物理尺寸和渲染机的数量进行建模,得到多个网格子面片;其中,网格子面片的数量与渲染机的数量一致;多个网格子面片的面积之和与虚拟传感器的面积一致。
步骤1104,根据渲染引擎中虚拟摄像机的焦距,确定视点与多个网格子面片之间的距离。
步骤1106,根据距离,得到视点与多个网格子面片中各个顶点之间的相对位置。
步骤1108,根据模拟摄像机中的视点与各个网格子面片中各个顶点之间的相对位置,确定渲染区域;模拟摄像机是通过显示组件针对渲染引擎中虚拟摄像机进行模拟得到的。
步骤1110,确定虚拟摄像机的当前位置,将虚拟摄像机的当前位置赋予显示组件,得到模拟摄像机的当前位置。
步骤1112,根据模拟摄像机的当前位置,确定三维虚拟场景中位于渲染区域内的实时场景内容,得到待渲染的实时的视频帧画面。
步骤1114,针对每张视频帧画面,根据多个网格子面片中的共有顶点,将视频帧画面对应的渲染区域在空间上进行拆分,并确定拆分后的各个子区域内的实时场景内容为视频子画面。
步骤1116,通过主渲染机中的同步卡,接收同步信号发生器基于预设的目标帧率产生的同步渲染信号。
步骤1118,通过同步卡将同步渲染信号同步至各个从渲染机中。
步骤1120,通过主渲染机和各个从渲染机分别接收的同步渲染信号,控制主渲染机和从渲染机分别将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面。
步骤1122,将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。
本申请还提供一种应用场景,该应用场景应用上述的视频画面渲染方法。具体地,该视频画面渲染方法可应用于针对虚拟对象直播的视频画面渲染场景。计算机设备可根据虚拟传感器的物理尺寸和渲染机的数量进行建模,得到多个网格子面片;其中,网格子面片的数量与渲染机的数量一致;多个网格子面片的面积之和与虚拟传感器的面积一致。根据渲染引擎中虚拟摄像机的焦距,确定视点与多个网格子面片之间的距离。根据距离,得到视点与多个网格子面片中各个顶点之间的相对位置。根据模拟摄像机中的视点与各个网格子面片中各个顶点之间的相对位置,确定渲染区域;模拟摄像机是通过显示组件针对渲染引擎中虚拟摄像机进行模拟得到的。确定虚拟摄像机的当前位置,将虚拟摄像机的当前位置赋予显示组件,得到模拟摄像机的当前位置。根据模拟摄像机的当前位置,确定三维虚拟场景中位于渲染区域内的实时场景内容,得到待渲染的实时的虚拟对象直播画面。
针对每张虚拟对象直播画面,计算机设备可根据多个网格子面片中的共有顶点,将虚拟对象直播画面对应的渲染区域在空间上进行拆分,并确定拆分后的各个子区域内的实时场景内容为直播子画面。通过主渲染机中的同步卡,接收同步信号发生器基于预设的目标帧率产生的同步渲染信号。通过同步卡将同步渲染信号同步至各个从渲染机中。通过主渲染机和各个从渲染机分别接收的同步渲染信号,控制主渲染机和从渲染机分别将多个直播子画面进行同步渲染,得到多个直播子画面分别对应的渲染子画面。将多个直播子画面分别对应的渲染子画面进行合成,得到虚拟对象直播画面对应的渲染画面。本申请通过基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的网格面片,对虚拟对象直播画面在空间上进行区域拆分,并通过多个渲染机对拆分的直播子画面进行同步渲染,可以获取到高质量的实时的虚拟对象直播画面,满足了实时的虚拟对象直播画面渲染场景的需求。
本申请还另外提供一种应用场景,该应用场景应用上述的视频画面渲染方法。具体地,该视频画面渲染方法可应用于针对XR(Extended Reality,扩展现实)直播的视频画面渲染场景。其中,扩展现实(XR),是指通过计算机将真实与虚拟相结合,打造一个可人机交互的虚拟环境,可以为体验者带来虚拟世界与现实世界之间无缝转换的沉浸感。通过本申请的视频画面渲染方法,基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的网格面片,对扩展现实直播画面在空间上进行区域拆分,并通过多个渲染机对拆分的直播子画面进行同步渲染,可以获取到高质量的实时的扩展现实直播画面,满足了实时的扩展现实直播画面渲染场景的需求。
应该理解的是,虽然上述各实施例的流程图中的各个步骤按照顺序依次显示,但是这些步骤并不是必然按照顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种视频画面渲染装置1200,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:
确定模块1202,用于根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域;根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面;模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的;网格面片是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到;
拆分模块1204,用于针对每张视频帧画面,根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面;
渲染模块1206,用于通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面;
合成模块1208,用于将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。
在一个实施例中,模拟摄像机的当前位置是根据虚拟摄像机在三维虚拟场景中的当前位置确定的;确定模块1202还用于根据模拟摄像机的当前位置,确定三维虚拟场景中位于渲染区域内的实时场景内容,得到待渲染的实时的视频帧画面。
在一个实施例中,网格面片包括多个网格子面片;多个网格子面片中相邻两个网格子面片的共有顶点的坐标相同;拆分模块1204还用于针对每张视频帧画面,根据多个网格子面片中的共有顶点,将视频帧画面对应的渲染区域在空间上进行拆分,并确定拆分后的各个子区域内的实时场景内容为视频子画面。
在一个实施例中,装置还包括:
构建模块,用于根据虚拟传感器的物理尺寸和渲染机的数量进行建模,得到多个网格子面片;其中,网格子面片的数量与渲染机的数量一致;多个网格子面片的面积之和与虚拟传感器的面积一致。
在一个实施例中,确定模块1202还用于根据渲染引擎中虚拟摄像机的焦距,确定视点与网格面片之间的距离;根据距离,得到视点与网格面片中各个顶点之间的相对位置。
在一个实施例中,模拟摄像机是通过显示组件模拟得到的;显示组件是视点和网格面片的父级;确定模块1202还用于确定虚拟摄像机的当前位置;将虚拟摄像机的当前位置赋予显示组件,得到模拟摄像机的当前位置。
在一个实施例中,多个渲染机中包括一个主渲染机和至少一个从渲染机;主渲染机中部署有同步卡;渲染模块1206还用于通过主渲染机中的同步卡,接收同步信号发生器基于预设的目标帧率产生的同步渲染信号;通过同步卡将同步渲染信号同步至从渲染机中;通过主渲染机和从渲染机分别接收的同步渲染信号,控制主渲染机和从渲染机分别将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面。
在一个实施例中,渲染子画面包括渲染子画面信号;合成模块1208还用于在视频信号采集卡接收到同步信号发生器产生的同步采集信号的情况下,通过视频信号采集卡对多个视频子画面分别对应的渲染子画面信号进行同步采集;将同步采集到的多个视频子画面分别对应的渲染子画面信号进行合成,得到视频帧画面对应的渲染画面。
在一个实施例中,装置还包括:
转换模块,用于在主从渲染机同步渲染得到的渲染子画面信号的信号格式与视频信号采集卡所规定的信号格式不一致的情况下,则在通过格式转换器接收到同步转换信号后,通过格式转换器将多个视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与视频信号采集卡所规定的信号格式一致的渲染子画面信号,以供视频信号采集卡进行同步采集。
在一个实施例中,视频信号采集卡部署在画面合成机上;画面合成机中还包括合成视频画布;合成模块1208还用于将合成视频画布的帧率设置为目标帧率;通过满足目标帧率的合成视频画布,将视频信号采集卡同步采集到的多个视频子画面分别对应的渲染子画面信号进行同步合成,得到视频帧画面对应的渲染画面。
在一个实施例中,视频帧画面包括虚拟对象实时画面;视频子画面包括实时子画面;确定模块1202还用于在虚拟对象实时渲染场景下,根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的虚拟对象实时画面;合成模块1208还用于将多个实时子画面分别对应的渲染子画面进行合成,得到虚拟对象实时画面对应的渲染画面。
上述视频画面渲染装置,根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域,根据模拟摄像机的当前位置,确定渲染区域内待渲染的实时的视频帧画面。由于模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的,以及网格面片是基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的、可用于做画面拆分处理的面片。因此,针对每张视频帧画面,根据网格面片将视频帧画面在空间上进行区域拆分,得到多个视频子画面。通过预先设置的多个渲染机,将多个视频子画面进行同步渲染,得到多个视频子画面分别对应的渲染子画面,将多个视频子画面分别对应的渲染子画面进行合成,得到视频帧画面对应的渲染画面。相较于传统的离线渲染方式,本申请通过基于虚拟摄像机中虚拟传感器的物理尺寸构建得到的网格面片,对视频帧画面在空间上进行区域拆分,并通过多个渲染机对拆分的子画面进行同步渲染,可以获取到高质量的实时的视频画面,满足了实时的视频画面渲染场景的需求。
上述视频画面渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,也可以是终端,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视频画面渲染方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种视频画面渲染方法,其特征在于,所述方法包括:
根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域;所述模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的;所述网格面片是基于所述虚拟摄像机中虚拟传感器的物理尺寸构建得到;
根据所述模拟摄像机的当前位置,确定所述渲染区域内待渲染的实时的视频帧画面;
针对每张所述视频帧画面,根据所述网格面片将所述视频帧画面在空间上进行区域拆分,得到多个视频子画面;
通过预先设置的多个渲染机,将所述多个视频子画面进行同步渲染,得到所述多个视频子画面分别对应的渲染子画面;
将所述多个视频子画面分别对应的渲染子画面进行合成,得到所述视频帧画面对应的渲染画面。
2.根据权利要求1所述的方法,其特征在于,所述模拟摄像机的当前位置是根据所述虚拟摄像机在三维虚拟场景中的当前位置确定的;
所述根据所述模拟摄像机的当前位置,确定所述渲染区域内待渲染的实时的视频帧画面,包括:
根据所述模拟摄像机的当前位置,确定所述三维虚拟场景中位于所述渲染区域内的实时场景内容,得到待渲染的实时的视频帧画面。
3.根据权利要求2所述的方法,其特征在于,所述网格面片包括多个网格子面片;所述多个网格子面片中相邻两个网格子面片的共有顶点的坐标相同;
所述针对每张所述视频帧画面,根据所述网格面片将所述视频帧画面在空间上进行区域拆分,得到多个视频子画面,包括:
针对每张所述视频帧画面,根据所述多个网格子面片中的共有顶点,将所述视频帧画面对应的所述渲染区域在空间上进行拆分,并确定拆分后的各个子区域内的实时场景内容为视频子画面。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述虚拟传感器的物理尺寸和所述渲染机的数量进行建模,得到所述多个网格子面片;
其中,所述网格子面片的数量与所述渲染机的数量一致;所述多个网格子面片的面积之和与所述虚拟传感器的面积一致。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据渲染引擎中虚拟摄像机的焦距,确定所述视点与所述网格面片之间的距离;
根据所述距离,得到所述视点与所述网格面片中各个顶点之间的相对位置。
6.根据权利要求1所述的方法,其特征在于,所述模拟摄像机是通过显示组件模拟得到的;所述显示组件是所述视点和所述网格面片的父级;所述方法还包括:
确定所述虚拟摄像机的当前位置;
将所述虚拟摄像机的当前位置赋予所述显示组件,得到所述模拟摄像机的当前位置。
7.根据权利要求1所述的方法,其特征在于,所述多个渲染机中包括一个主渲染机和至少一个从渲染机;所述主渲染机中部署有同步卡;
所述通过预先设置的多个渲染机,将所述多个视频子画面进行同步渲染,得到所述多个视频子画面分别对应的渲染子画面,包括:
通过所述主渲染机中的同步卡,接收同步信号发生器基于预设的目标帧率产生的同步渲染信号;
通过所述同步卡将所述同步渲染信号同步至所述从渲染机中;
通过所述主渲染机和所述从渲染机分别接收的同步渲染信号,控制所述主渲染机和所述从渲染机分别将所述多个视频子画面进行同步渲染,得到所述多个视频子画面分别对应的渲染子画面。
8.根据权利要求7所述的方法,其特征在于,所述渲染子画面包括渲染子画面信号;所述将所述多个视频子画面分别对应的渲染子画面进行合成,得到所述视频帧画面对应的渲染画面,包括:
在视频信号采集卡接收到所述同步信号发生器产生的同步采集信号的情况下,通过所述视频信号采集卡对所述多个视频子画面分别对应的渲染子画面信号进行同步采集;
将同步采集到的所述多个视频子画面分别对应的渲染子画面信号进行合成,得到所述视频帧画面对应的渲染画面。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在主从渲染机同步渲染得到的渲染子画面信号的信号格式与所述视频信号采集卡所规定的信号格式不一致的情况下,则在通过所述格式转换器接收到同步转换信号后,通过所述格式转换器将所述多个视频子画面分别对应的渲染子画面信号进行格式同步转换,得到与所述视频信号采集卡所规定的信号格式一致的渲染子画面信号,以供所述视频信号采集卡进行同步采集。
10.根据权利要求8所述的方法,其特征在于,所述视频信号采集卡部署在画面合成机上;所述画面合成机中还包括合成视频画布;
所述将同步采集到的所述多个视频子画面分别对应的渲染子画面信号进行合成,得到所述视频帧画面对应的渲染画面,包括:
将所述合成视频画布的帧率设置为所述目标帧率;
通过满足所述目标帧率的所述合成视频画布,将所述视频信号采集卡同步采集到的所述多个视频子画面分别对应的渲染子画面信号进行同步合成,得到所述视频帧画面对应的渲染画面。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述视频帧画面包括虚拟对象实时画面;所述视频子画面包括实时子画面;
所述根据所述模拟摄像机的当前位置,确定所述渲染区域内待渲染的实时的视频帧画面,包括:
在虚拟对象实时渲染场景下,根据所述模拟摄像机的当前位置,确定所述渲染区域内待渲染的实时的虚拟对象实时画面;
所述将所述多个视频子画面分别对应的渲染子画面进行合成,得到所述视频帧画面对应的渲染画面,包括:
将多个所述实时子画面分别对应的渲染子画面进行合成,得到所述虚拟对象实时画面对应的渲染画面。
12.一种视频画面渲染装置,其特征在于,所述装置包括:
确定模块,用于根据模拟摄像机中的视点与网格面片中各个顶点之间的相对位置,确定渲染区域;根据所述模拟摄像机的当前位置,确定所述渲染区域内待渲染的实时的视频帧画面;所述模拟摄像机是针对渲染引擎中虚拟摄像机进行模拟得到的;所述网格面片是基于所述虚拟摄像机中虚拟传感器的物理尺寸构建得到;
拆分模块,用于针对每张所述视频帧画面,根据所述网格面片将所述视频帧画面在空间上进行区域拆分,得到多个视频子画面;
渲染模块,用于通过预先设置的多个渲染机,将所述多个视频子画面进行同步渲染,得到所述多个视频子画面分别对应的渲染子画面;
合成模块,用于将所述多个视频子画面分别对应的渲染子画面进行合成,得到所述视频帧画面对应的渲染画面。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211335718.7A CN116485966A (zh) | 2022-10-28 | 2022-10-28 | 视频画面渲染方法、装置、设备和介质 |
PCT/CN2023/116670 WO2024087883A1 (zh) | 2022-10-28 | 2023-09-04 | 视频画面渲染方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211335718.7A CN116485966A (zh) | 2022-10-28 | 2022-10-28 | 视频画面渲染方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116485966A true CN116485966A (zh) | 2023-07-25 |
Family
ID=87220116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211335718.7A Pending CN116485966A (zh) | 2022-10-28 | 2022-10-28 | 视频画面渲染方法、装置、设备和介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116485966A (zh) |
WO (1) | WO2024087883A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116866621A (zh) * | 2023-09-05 | 2023-10-10 | 湖南马栏山视频先进技术研究院有限公司 | 一种面向视频实时渲染的云端同步方法及系统 |
WO2024087883A1 (zh) * | 2022-10-28 | 2024-05-02 | 腾讯科技(深圳)有限公司 | 视频画面渲染方法、装置、设备和介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10120187B2 (en) * | 2016-02-18 | 2018-11-06 | Nvidia Corporation | Sub-frame scanout for latency reduction in virtual reality applications |
CN112001993A (zh) * | 2020-07-14 | 2020-11-27 | 深圳市规划国土房产信息中心(深圳市空间地理信息中心) | 一种面向大场景的多gpu城市仿真系统 |
CN114255315A (zh) * | 2020-09-25 | 2022-03-29 | 华为云计算技术有限公司 | 一种渲染方法、装置及设备 |
CN114820910A (zh) * | 2021-01-21 | 2022-07-29 | 华为云计算技术有限公司 | 一种渲染方法及装置 |
CN114494559A (zh) * | 2022-02-15 | 2022-05-13 | 成都引力视创科技有限公司 | 一种基于多gpu协同的三维渲染融合方法、系统、介质 |
CN116485966A (zh) * | 2022-10-28 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 视频画面渲染方法、装置、设备和介质 |
-
2022
- 2022-10-28 CN CN202211335718.7A patent/CN116485966A/zh active Pending
-
2023
- 2023-09-04 WO PCT/CN2023/116670 patent/WO2024087883A1/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087883A1 (zh) * | 2022-10-28 | 2024-05-02 | 腾讯科技(深圳)有限公司 | 视频画面渲染方法、装置、设备和介质 |
CN116866621A (zh) * | 2023-09-05 | 2023-10-10 | 湖南马栏山视频先进技术研究院有限公司 | 一种面向视频实时渲染的云端同步方法及系统 |
CN116866621B (zh) * | 2023-09-05 | 2023-11-03 | 湖南马栏山视频先进技术研究院有限公司 | 一种面向视频实时渲染的云端同步方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2024087883A1 (zh) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11019259B2 (en) | Real-time generation method for 360-degree VR panoramic graphic image and video | |
CN116485966A (zh) | 视频画面渲染方法、装置、设备和介质 | |
JP3177221B2 (ja) | 興味深いシーンのイメージを表示するための方法及び装置 | |
CN102903144B (zh) | 一种基于云计算的交互式增强现实系统实现方法 | |
JP4481166B2 (ja) | ユーザによる合成画像およびビデオ画像のリアルタイムのミキシングを可能にする方法およびシステム | |
US4965753A (en) | System for constructing images in 3-dimension from digital data to display a changing scene in real time in computer image generators | |
CN102834849A (zh) | 进行立体视图像的描绘的图像描绘装置、图像描绘方法、图像描绘程序 | |
US6014163A (en) | Multi-camera virtual set system employing still store frame buffers for each camera | |
US9588651B1 (en) | Multiple virtual environments | |
KR101723210B1 (ko) | 3차원 리얼타임 가상입체 스튜디오 장치에서의 가상입체 스튜디오 영상 생성 방법 | |
CN113660528B (zh) | 一种视频合成方法、装置、电子设备和存储介质 | |
CN213461894U (zh) | 一种xr-扩展现实系统 | |
CN113781660A (zh) | 一种用于直播间在线渲染加工虚拟场景的方法及装置 | |
CN113793420A (zh) | 深度信息处理方法、装置、电子设备及存储介质 | |
US20220059053A1 (en) | Video display method, video display system, electronic device, and storage medium | |
WO2022024780A1 (ja) | 情報処理装置、情報処理方法、映像配信方法及び情報処理システム | |
WO2021171982A1 (ja) | 画像処理装置、3dモデルの生成方法、学習方法およびプログラム | |
CN113947671A (zh) | 全景360度图像分割合成方法、系统及介质 | |
KR101453531B1 (ko) | 3차원 리얼타임 가상 스튜디오 장치 및 3차원 리얼타임 가상 스튜디오 장치에서의 가상 스튜디오 영상 생성 방법 | |
CN114693895B (zh) | 贴图切换方法、装置、电子设备及存储介质 | |
WO2022191070A1 (ja) | 3dオブジェクトのストリーミング方法、装置、及びプログラム | |
Hayashi et al. | Ultra high resolution 4K/8K Real-time CG System and its application | |
JP2000067265A (ja) | 画像処理装置およびその方法 | |
US20170221504A1 (en) | Photorealistic CGI Generated Character | |
CN114332356A (zh) | 一种虚实画面结合方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40091425 Country of ref document: HK |