CN116761017A - 一种面向视频实时渲染的高可用方法及系统 - Google Patents
一种面向视频实时渲染的高可用方法及系统 Download PDFInfo
- Publication number
- CN116761017A CN116761017A CN202311040416.1A CN202311040416A CN116761017A CN 116761017 A CN116761017 A CN 116761017A CN 202311040416 A CN202311040416 A CN 202311040416A CN 116761017 A CN116761017 A CN 116761017A
- Authority
- CN
- China
- Prior art keywords
- rendering
- image
- sub
- standard
- images
- 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.)
- Granted
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 391
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000011218 segmentation Effects 0.000 claims abstract description 39
- 239000013598 vector Substances 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 7
- 230000000694 effects Effects 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2404—Monitoring of server processing errors or hardware failure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种面向视频实时渲染的高可用方法及系统,方法包括:云端将相似度达到预设标准的连续的拍摄图像作为同一图像组,从同一图像组中获取标准帧;根据标准帧的画面参数和设定的渲染参数,对每一标准帧按照渲染任务量进行画面切分,得到多个标准子帧;将同一图像组中的各拍摄图像,按照标准子帧的切分方式切分为多个子图像;将标准帧中的每一标准子帧,按照切分位置,与同一图像组中各拍摄图像处于同一切分位置的子图像分别建立备份关系,以使每一标准子帧作为建立备份关系的子图像的备份子图像;云端在渲染模块故障时,根据备份关系得到替代渲染结果。本发明提出的技术方案有利于实现视频实时渲染的高可用。
Description
技术领域
本发明涉及视频处理技术领域,具体涉及一种面向视频实时渲染的高可用方法和一种面向视频实时渲染的高可用系统。
背景技术
虚幻引擎是一套完整的构建游戏、模拟和可视化的集成工具,其应用包括汽车、航空、建筑、消费电子产品和复杂数据可视化。CAD和3ds MAX数据能够快速导入虚幻引擎,创造出良好的实时视觉效果,并且大幅度缩短迭代时间。虚幻引擎是完整的产品套件,从制作到发行流程全覆盖,无需额外的插件。
虚拟拍摄是在电影拍摄中,根据导演所要求的拍摄动作,将全部镜头都在电脑里的虚拟场景中进行拍摄的方式。拍摄每个镜头所需的各种元素,包括场景、人物、灯光等,全部被整合进了电脑,然后,导演就可以根据自己的意图,在计算机上“指挥”角色的表演和动作,并且导演可以从任意角度运动镜头。
nDisplay是虚幻引擎中自带的软件,用于进行虚拟拍摄。采用nDisplay进行拍摄的时候,需要采用渲染设备对拍摄图像进行渲染,再将渲染完成的画面从云端流送到终端LED屏,然而,渲染过程容易掉帧和抖动,这种掉帧和抖动会导致渲染过程因为异常情况而崩溃,在这种情况下,需要找到渲染的备份文件以通过备份文件继续恢复渲染,从而,渲染的每一画面都要做冗余备份,导致备份资源与基础任务资源相比的比例过高,从而难以实现高可用目标。
发明内容
本发明的主要目的是提供一种面向视频实时渲染的高可用方法和一种面向视频实时渲染的高可用系统,旨在降低备份资源与基础任务资源的比值,以实现视频实时渲染的高可用。
为实现上述目的,本发明提出的一种面向视频实时渲染的高可用方法中,虚拟拍摄引擎模块、云端和播放终端依次通信连接,云端通信连接有多个渲染模块;所述方法,包括如下步骤:
云端接收虚拟拍摄引擎模块发送的各拍摄图像,并计算各拍摄图像的相似度;
将相似度达到预设标准的连续的拍摄图像作为同一图像组,从同一图像组中获取标准帧;
根据标准帧的画面参数和设定的渲染参数,对每一标准帧按照渲染任务量进行画面切分,得到多个标准子帧;
将同一图像组中的各拍摄图像,按照标准子帧的切分方式切分为多个子图像;
将标准帧中的每一标准子帧,按照切分位置,与同一图像组中各拍摄图像处于同一切分位置的子图像分别建立备份关系,以使每一标准子帧作为建立备份关系的子图像的备份子图像;
云端将渲染任务分配至若干渲染模块,在渲染模块故障时,根据备份关系得到替代渲染结果;
将渲染结果发送至播放终端进行播放。
优选地,所述云端将渲染任务分配至若干渲染模块,在渲染模块故障时,根据备份关系得到替代渲染结果的步骤,包括:
将每一拍摄图像切分成的各子图像分配至不同渲染模块进行同进程渲染;
判断是否存在渲染异常中断的故障渲染模块;
若是,获取故障渲染模块中断渲染的子图像所属的拍摄图像作为目标图像,并获取目标图像的其他子图像的渲染进度;
当渲染进度未达到预设进度时,按照故障渲染模块分配到的子图像与备份子图像的对应关系,将对应的备份子图像分配至渲染模块进行继续渲染得到第一替代渲染结果。
优选地,所述云端将渲染任务分配至若干渲染模块,在渲染模块故障时,根据备份关系得到替代渲染结果的步骤,还包括:
当渲染进度达到预设进度时,获取故障渲染模块分配到的子图像对应的备份子图像,并判断与对应的备份子图像建立备份关系的各子图像是否得到渲染结果;
若是,将与对应的备份子图像建立备份关系的子图像的渲染结果,作为故障渲染模块分配到的子图像的第二替代渲染结果。
优选地,所述将每一拍摄图像切分成的各子图像分配至不同渲染模块进行同进程渲染的步骤,包括:
获取各个渲染模块的当前剩余处理时间;
获取各个渲染模块的渲染速率;
根据各个渲染模块的当前剩余处理时间和渲染速率,以及每一标准帧的各个标准子帧的渲染任务量,将每一拍摄图像切分成的各子图像分配至不同渲染模块进行同进程渲染。
优选地,所述将渲染结果发送至播放终端进行播放,包括:
获取每一拍摄图像的各子图像的渲染结果,并判断各子图像的渲染结果中是否存在替代渲染结果;
若是,获取替代渲染结果对应的原始子图像与故障渲染模块分配到的子图像之间存在的运动矢量差;
按照运动矢量差校正替代渲染结果,得到校正渲染结果;
按照切分方式,将各子图像的渲染结果和校正渲染结果拼接为渲染图像;
将渲染图像发送至播放终端进行播放。
优选地,所述根据标准帧的画面参数和设定的渲染参数,对每一标准帧按照渲染任务量进行画面切分,得到多个标准子帧的步骤,包括:
获取各个渲染模块的当前剩余处理时间;
获取各个渲染模块的渲染速率;
根据标准帧的画面参数和设定的渲染参数,以及各个渲染模块的当前剩余处理和渲染速率,确定每一标准帧的画面切分规则;
根据画面切分规则对每一标准帧进行画面切分,以得到多个标准子帧。
优选地,所述从同一图像组中获取标准帧的步骤,包括:
以同一图像组中时间序列最早的拍摄图像为初始图像;
获取同一图像组中其他拍摄图像相对初始图像的运动矢量大小,以确定其他拍摄图像相对初始图像的最大偏移量;
根据最大偏移量,从同一图像组中获取与最大偏移量的一半最接近的拍摄图像作为标准帧。
优选地,所述将相似度达到预设标准的连续的拍摄图像作为同一图像组的步骤,包括:
获取拍摄图像尺寸;
获取从拍摄图像中识别出的图形元素;
获取识别出的图形元素的图形尺寸;
将图形尺寸相对拍摄图像尺寸占比达到设定比值的图形元素作为拍摄图像中的主要图形元素;
将主要图形元素相同的连续的拍摄图像置于同一第一图像集合;
获取第一图像集合中各个拍摄图像的主要图形元素在画面中的中心像素点;
将第一图像集合中,主要图形元素的中心像素点的前后偏移量不超过设定偏移量的相邻拍摄图像置于同一第二图像集合,以形成多个第二图像集合;
将每一第二图像集合中的拍摄图像作为同一图像组。
优选地,参照如下步骤形成各个第二图像集合:
;
;
(1)当,则:
;
(2)当,则:
;
(3)当,则:
;
(4)当,则:
;
其中,为第e个第一图像集合,;为第e个第一图像集合中的第i个拍摄图像,为第e个第一图像集合中的第i+1个拍摄图像,为第e个第一图像集合中的第i+2个拍摄图像,,为第e个第一图像集合的拍摄图像数量;为第e个第一图像集合中的第i个拍摄图像中第j个主要图形元素的面积,,为第e个第一图像集合中的第i个拍摄图像中的主要图形元素数量;为第e个第一图像集合中的第i个拍摄图像的图像尺寸;为设定比值,大于0;
为第e个第一图像集合中的第i个拍摄图像中第j个主要图形元素的中心像素点;为第e个第一图像集合中的第i+1个拍摄图像中第j个主要图形元素的中心像素点;为第e个第一图像集合中的第i+2个拍摄图像中第j个主要图形元素的中心像素点;为设定偏移量,大于0;为第q个第二图像集合,。
此外,为实现上述目的,本发明还提出一种面向视频实时渲染的高可用系统,用于执行上述任一项所述的方法,所述系统包括依次通信连接的虚拟拍摄引擎模块、云端和播放终端,云端通信连接有多个渲染模块。
现有技术中为了能使渲染异常中断后能继续采用备份图像进行渲染,会将每一基础任务资源(相当于本发明中的拍摄图像)都进行备份,所以备份资源与基础任务资源的比值接近100%;然而,由于渲染故障并非大范围产生,所以这种备份方式会导致大量的备份图像都不能产生效用。本发明的技术方案中,并不是采用逐一备份的方法将每一待渲染图像(拍摄图像)都进行备份,而是在不影响渲染故障后重新采用备份图像继续渲染的前提下,有效降低了待渲染图像的备份比例,具体实现方式为:将连续且相似的拍摄图像作为同一图像组,并从同一图像组中选取一个标准帧;然后将标准帧进行画面切分,形成多个标准子帧,同时,将同一图像组中的每一拍摄图像也按照标准帧的画面切分方式切分得到多个子图像,然后,将每一标准子帧与同一图像组中的每一拍摄图像中处于同一画面切分位置的子图像建立备份关系。在这样的备份关系中,实际上对于同一图像组中的多张图像,只对被选择为标准帧的图像进行了备份,并且这样的备份不是整体图像的备份,而是对标准帧的每个局部图像进行了备份。也就是同一图像组中只对其中一张图像进行了完整备份,有利于降低待渲染图像的备份比例。进一步的,在渲染过程中,将每一拍摄图像切分后的多张子图像分配到不同的渲染模块进行渲染,有利于提高渲染速率,从而实现视频实时渲染的效果。更进一步地,在渲染过程中,若某个渲染模块异常中断渲染,则可以查找故障渲染模块分配到的子图像,并根据备份关系,找到故障渲染模块分配到的子图像对应的标准子帧,渲染模块对标准子帧进行渲染得到的渲染结果用于替代由于渲染故障而不能渲染的子图像的渲染结果。由于标准帧与同一图像组中的拍摄图像相似,所以在视频播放过程中,这种局部图像的渲染结果被替换,难以引起观众的注意,容易理解,当标准帧切分得到的标准子帧数量越多,这种采用标准子帧的渲染结果来替换故障渲染模块的渲染结果的方式,对整体画面的影响更加微小,从而,本发明有利于降低备份资源与基础任务资源的比值,且能降低至比值不超过90%,从而实现了视频实时渲染的高可用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明面向视频实时渲染的高可用方法一实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
请参阅图1,在本发明的面向视频实时渲染的高可用方法的第一实施例中,虚拟拍摄引擎模块、云端和播放终端依次通信连接,云端通信连接有多个渲染模块;所述方法,包括如下步骤:
步骤S10,云端接收虚拟拍摄引擎模块发送的各拍摄图像,并计算各拍摄图像的相似度;
步骤S20,将相似度达到预设标准的连续的拍摄图像作为同一图像组,从同一图像组中获取标准帧;
步骤S30,根据标准帧的画面参数和设定的渲染参数,对每一标准帧按照渲染任务量进行画面切分,得到多个标准子帧;
步骤S40,将同一图像组中的各拍摄图像,按照标准子帧的切分方式切分为多个子图像;
步骤S50,将标准帧中的每一标准子帧,按照切分位置,与同一图像组中各拍摄图像处于同一切分位置的子图像分别建立备份关系,以使每一标准子帧作为建立备份关系的子图像的备份子图像;
步骤S60,云端将渲染任务分配至若干渲染模块,在渲染模块故障时,根据备份关系得到替代渲染结果;
步骤S70,将渲染结果发送至播放终端进行播放。其中,渲染结果为所有拍摄图像的渲染结果,每一拍摄图像的渲染结果由画面切分得到的子图像的渲染结果拼接而成。
现有技术中为了能使渲染异常中断后能继续采用备份图像进行渲染,会将每一基础任务资源(相当于本发明中的拍摄图像)都进行备份,所以备份资源与基础任务资源的比值接近100%;然而,由于渲染故障并非大范围产生,所以这种备份方式会导致大量的备份图像都不能产生效用。本发明的技术方案中,并不是采用逐一备份的方法将每一待渲染图像(拍摄图像)都进行备份,而是在不影响渲染故障后重新采用备份图像继续渲染的前提下,有效降低了待渲染图像的备份比例,具体实现方式为:将连续且相似的拍摄图像作为同一图像组,并从同一图像组中选取一个标准帧;然后将标准帧进行画面切分,形成多个标准子帧,同时,将同一图像组中的每一拍摄图像也按照标准帧的画面切分方式切分得到多个子图像,然后,将每一标准子帧与同一图像组中的每一拍摄图像中处于同一画面切分位置的子图像建立备份关系。在这样的备份关系中,实际上对于同一图像组中的多张图像,只对被选择为标准帧的图像进行了备份,并且这样的备份不是整体图像的备份,而是对标准帧的每个局部图像进行了备份。也就是同一图像组中只对其中一张图像进行了完整备份,有利于降低待渲染图像的备份比例。进一步的,在渲染过程中,将每一拍摄图像切分后的多张子图像分配到不同的渲染模块进行渲染,有利于提高渲染速率,从而实现视频实时渲染的效果。更进一步地,在渲染过程中,若某个渲染模块异常中断渲染,则可以查找故障渲染模块分配到的子图像,并根据备份关系,找到故障渲染模块分配到的子图像对应的标准子帧,渲染模块对标准子帧进行渲染得到的渲染结果用于替代由于渲染故障而不能渲染的子图像的渲染结果。由于标准帧与同一图像组中的拍摄图像相似,所以在视频播放过程中,这种局部图像的渲染结果被替换,难以引起观众的注意,容易理解,当标准帧切分得到的标准子帧数量越多,这种采用标准子帧的渲染结果来替换故障渲染模块的渲染结果的方式,对整体画面的影响更加微小,从而,本发明有利于降低备份资源与基础任务资源的比值,且能降低至比值不超过90%,从而实现了视频实时渲染的高可用。
进一步的,连续的拍摄图像,指的是帧顺序上具有连续性的拍摄图像,在本发明中,连续的意义指的是拍摄时序的连续。所以,同一图像组中的拍摄图像在帧顺序上具有前后连续性,同一图像组中放置了多张帧顺序连续的拍摄图像。对于与前一拍摄图像或者后一拍摄图像的相似度均未达到预设标准的拍摄图像,未放入任何图像组中,而是作为单独的拍摄图像进行画面切分,切分后的图像也分配至多个渲染模块同时渲染,以加快单独拍摄图像的渲染速度,有利于实现视频渲染的实时性。从而,单独的拍摄图像在备份过程中,需要对整幅拍摄图像进行备份。
图像组中标准帧的画面切分可以根据各个渲染模块的渲染进度确定,所以,单独的拍摄图像进行画面切分时,可以根据相邻的图像组中标准帧的画面切分方式进行切分,以匹配各个渲染模块的渲染进度,使得画面切分方式更优。
标准帧的画面切分方式有多种,例如,按照网格划分方式切分为不同网格单元,或者按照同心圆划分方式切分为中心圆区域与外围圆环,或者切分为多个并列的矩形区域,以及按照图形元素切分,或者不规则切分。
具体的,本发明中标准帧的画面参数包括:画面尺寸、分辨率和帧率;设定的渲染参数包括:细分及噪点阈值、采样大小。
基于本发明的第一实施例,本发明的第二实施例中,所述步骤S60,包括:
步骤S61,将每一拍摄图像切分成的各子图像分配至不同渲染模块进行同进程渲染;
步骤S62,判断是否存在渲染异常中断的故障渲染模块;
若是,执行步骤S63:获取故障渲染模块中断渲染的子图像所属的拍摄图像作为目标图像,并获取目标图像的其他子图像的渲染进度;
步骤S64:当渲染进度未达到预设进度时,按照故障渲染模块分配到的子图像与备份子图像的对应关系,将对应的备份子图像分配至渲染模块进行继续渲染得到第一替代渲染结果。
具体的,云端将每一拍摄图像切分成的各子图像分配至不同渲染模块时,每一渲染模块分到的子图像数量可以至少为1。在本实施例中,在向多个渲染模块分配同一拍摄图像切分成的子图像时,每一渲染模块分到的自图像数量为1。
对于每一拍摄图像而言,其渲染的结束时间指的是,完成所有子图像的渲染进程的时间点。
在云端设置拼接模块,拼接模块获取每一拍摄图像的切分方式和画面切分数量,并接收渲染模块对每一子图像的渲染结果;拼接模块将接收渲染模块返回的渲染结果时,按照渲染结果对应的子图像的切分位置,将渲染结果至于渲染图像中对应的拼接位置,从而,在同一拍摄图像的最后一子图像渲染完成时,拼接模块可以拼接形成完整的渲染图像。
拼接模块还用于统计每一拍摄图像中,接收到的子图像的渲染结果的数量与画面切分数量的比值,以通过接收到的子图像的渲染结果的数量与画面切分数量的比值,计算每一拍摄图像的渲染进度。
例如,对于某一拍摄图像而言,接收到的子图像的渲染结果的数量为50,画面切分数量为100,则渲染进度为:。
预设进度可以根据需要设置,例如,可以取60%。预设进度的取值大小,决定了当有渲染模块出现故障后,按照什么方式来形成故障渲染模块分配的子图像的替代渲染结果。
本实施例中,当渲染进度未达到预设进度时,表示同一拍摄图像中较多的子图像还未完成渲染,此时,只要按照故障渲染模块分配到的子图像与备份子图像的对应关系,将对应的备份子图像分配至渲染模块进行重新渲染,即可得到第一替代渲染结果。即,采用第一替代渲染结果作为故障渲染模块分配到的子图像的替代渲染结果。
由于备份子图像是从标准子帧切分出来,标准子帧对于同一图像组中的各拍摄图像具有典型性,因此,采用故障渲染模块分配到的子图像的备份子图像进行重新渲染,有利于使得替代渲染结果与原始渲染结果之间的偏差相对更小。
同一拍摄图像的各子图像全部渲染结束后,且获取到各子图像的渲染结果的拼接图像后,将拼接图像发送到播放终端进行播放。
基于本发明的第二实施例,本发明的第三实施例中,所述步骤S60,还包括:
步骤S65:当渲染进度达到预设进度时,获取故障渲染模块分配到的子图像对应的备份子图像,并判断与对应的备份子图像建立备份关系的各子图像是否得到渲染结果;
若是,执行步骤S66:将与对应的备份子图像建立备份关系的子图像的渲染结果,作为故障渲染模块分配到的子图像的第二替代渲染结果。
本实施例中,当渲染进度达到预设进度时,表示同一拍摄图像中较多的子图像完成了渲染,此时,如果获取故障渲染模块分配到的子图像的备份子图像分配至渲染模块进行重新渲染,则可能会超出拍摄图像的允许渲染时长,影响视频渲染的实时性,从而影响播放终端的播放效果。此时,获取到故障渲染模块分配到的子图像对应的备份子图像后,判断与对应的备份子图像建立备份关系的各子图像是否得到渲染结果;若是,从与对应的备份子图像建立备份关系的子图像的渲染结果中,选择帧顺序与目标图像最近的拍摄图像的渲染结果(帧顺序最近,则拍摄图像中各图形元素的运动差异或尺寸差异最小,有利于提高替代渲染结果的整体质量),作为故障渲染模块分配到的子图像的第二替代渲染结果。
本实施例针对同一拍摄图像的各子图像的渲染进度达到预设进度后发生的渲染故障,采用同一图像组中目标图像之外的其他拍摄图像在同样切分位置的渲染结果作为第二替代渲染结果,有利于快速得到替代的渲染结果,以避免渲染故障延长渲染时间。
基于本发明的第二实施例或第三实施例,本发明的第四实施例中,所述步骤S61,包括:
步骤S611,获取各个渲染模块的当前剩余处理时间;
步骤S612,获取各个渲染模块的渲染速率;
步骤S613,根据各个渲染模块的当前剩余处理时间和渲染速率,以及每一标准帧的各个标准子帧的渲染任务量,将每一拍摄图像切分成的各子图像分配至不同渲染模块进行同进程渲染。
具体的,本实施例中的同进程渲染指的是同一拍摄图像的各子图像的渲染结束时间偏差不超过预设时长。
本实施例中,将同一拍摄图像进行切分后,将每一切分后的子图像发送至不同的渲染模块进行渲染,切分后的子图像向各个渲染模块的分配方式按照如下方式确定:
渲染模块集合为;
其中,为渲染模块集合中的第f个渲染模块,,F为渲染模块的数量;
;
其中,为渲染模块集合中的第f个渲染模块在处理图像组中最大渲染任务量的标准子帧时的预测渲染结束时间点;为渲染模块集合中的第f个渲染模块的当前剩余处理时间;为图像组中标准帧的各个标准子帧的渲染任务量中的最大渲染任务量;为渲染模块集合中的第f个渲染模块的渲染速率;
根据从小到大的排序方式,对渲染模块集合中的各个渲染模块排序,按照画面切分数量,从渲染模块排序结果中选择位于前列的渲染模块至于渲染模块序列;
;
其中,为渲染模块序列中的第g个渲染模块,,G为标准帧的画面切分数量;
将每一标准帧的各个标准子帧的渲染任务量进行由大到小的排序,得到标准子帧的渲染任务量序列;
;
其中,为渲染任务量序列中的第g个标准子帧,并将与建立对应关系,按照对应关系,从而,将渲染任务量序列中的第g个标准子帧对应至渲染模块序列中的第g个渲染模块,将同一图像组中每一拍摄图像的第g个子图像对应至渲染模块序列中的第g个渲染模块进行渲染。
基于本发明的第一实施例至第四实施例,本发明的第五实施例中,所述步骤S70,包括:
步骤S71,获取每一拍摄图像的各子图像的渲染结果,并判断各子图像的渲染结果中是否存在替代渲染结果;
若是,执行步骤S72:获取替代渲染结果对应的原始子图像与故障渲染模块分配到的子图像之间存在的运动矢量差;
步骤S73,按照运动矢量差校正替代渲染结果,得到校正渲染结果;
步骤S74,按照切分方式,将各子图像的渲染结果和校正渲染结果拼接为渲染图像;
步骤S75,将渲染图像发送至播放终端进行播放。
步骤S71的判断结果若为否,则执行该步骤:按照切分方式,将各子图像的渲染结果拼接为渲染图像。
由于替代渲染结果与原本应该得到的渲染结果之间存在一定的偏差,通过本实施例来纠正这种偏差,从而能生成质量更优的渲染图像。
在本实施例中,通过拍摄图像之间的运动矢量偏差来校正渲染结果。例如,当拍摄图像的某个子图像中手部的抬升角度为45°,而替代该子图像的进行渲染的子图像中手部的抬升角度为50°,则运动矢量能够体现这一5°的偏差,并对这一5°的偏差进行校正。
基于本发明的第一实施例至第五实施例,本发明的第六实施例中,所述步骤S30,包括:
步骤S31,获取各个渲染模块的当前剩余处理时间;
步骤S32,获取各个渲染模块的渲染速率;
步骤S33,根据标准帧的画面参数和设定的渲染参数,以及各个渲染模块的当前剩余处理和渲染速率,确定每一标准帧的画面切分规则;
步骤S34,根据画面切分规则对每一标准帧进行画面切分,以得到多个标准子帧。
;
其中,为渲染模块集合中的第f个渲染模块的任务量权重值;为渲染模块集合中所有渲染模块的当前剩余处理时间的均值;为渲染模块集合中所有渲染模块的渲染速率的均值;为预设的时间系数,取值大于0,根据标准帧的画面参数和渲染参数确定;为预设的渲染速率系数,取值大于0,根据标准帧的画面参数和渲染参数确定。
本实施例与第四实施例的区别是:
第四实施例用于实现每一拍摄图像的子图像向各个渲染模块的分配,以通过分配实现各个子图像的渲染结束时间点接近,实现同进程渲染的效果。
而本实施例用于:如何根据各个渲染模块的当前剩余处理时间和渲染速率,制定更为合理的画面切分策略。
在确定了渲染模块集合中的每个渲染模块的任务量权重值后,根据画面切分数量,确定需要分配的渲染模块数量,而分配的各个渲染模块的渲染任务量的比例,根据分配的各个渲染模块的任务量权重值的比例确定。
本实施例中,标准帧中的各个标准子帧的任务量权重值比例与各个标准子帧的切分面积相关。
基于本发明的第一实施例至第六实施例,本发明的第七实施例中,所述步骤S20中的从同一图像组中获取标准帧的步骤,包括:
步骤S21,以同一图像组中时间序列最早的拍摄图像为初始图像;
步骤S22,获取同一图像组中其他拍摄图像相对初始图像的运动矢量大小,以确定其他拍摄图像相对初始图像的最大偏移量;
步骤S23,根据最大偏移量,从同一图像组中获取与最大偏移量的一半最接近的拍摄图像作为标准帧。
具体的,选择标准帧的目的是为了使得标准帧与图像组中的其他拍摄图像的运动矢量差异更小。容易理解,对于帧顺序连续的一组拍摄图像而言,每一拍摄图像相对初始图像会有一些动态变化,例如,抬手的角度不同。当同一图像组中其他拍摄图像相对初始图像而言,仅有一个运动矢量变化时,从同一图像组中其他拍摄图像中确定这个运动矢量变化带来的最大偏移量,对偏移量取中间值,就是最大偏移量的一半。
更进一步的,当同一图像组中其他拍摄图像相对初始图像而言,有多个运动矢量变化时,例如,同时有抬手的角度的变化,和腿部位置的变化,则确定多个运动矢量变化中,变化量最大的运动矢量,从同一图像组中其他拍摄图像中确定这个变化量最大的运动矢量变化带来的最大偏移量,对该偏移量取中间值,就是最大偏移量的一半。
基于本发明的第一实施例至第七实施例,本发明的第八实施例中,所述步骤S20中的将相似度达到预设标准的连续的拍摄图像作为同一图像组的步骤,包括:
步骤S24,获取拍摄图像尺寸;
步骤S25,获取从拍摄图像中识别出的图形元素;
步骤S26,获取识别出的图形元素的图形尺寸;
步骤S27,将图形尺寸相对拍摄图像尺寸占比达到设定比值的图形元素作为拍摄图像中的主要图形元素;
步骤S28,将主要图形元素相同的连续的拍摄图像置于同一第一图像集合;
步骤S29,获取第一图像集合中各个拍摄图像的主要图形元素在画面中的中心像素点;
步骤S210,将第一图像集合中,主要图形元素的中心像素点的前后偏移量不超过设定偏移量的相邻拍摄图像置于同一第二图像集合,以形成多个第二图像集合;
步骤S211,将每一第二图像集合中的拍摄图像作为同一图像组。
具体的,参照如下步骤形成各个第二图像集合:
;
;
(1)当,则:
;
(2)当,则:
;
(3)当,则:
;
(4)当,则:
;
其中,为第e个第一图像集合,;为第e个第一图像集合中的第i个拍摄图像,为第e个第一图像集合中的第i+1个拍摄图像,为第e个第一图像集合中的第i+2个拍摄图像,,为第e个第一图像集合的拍摄图像数量;为第e个第一图像集合中的第i个拍摄图像中第j个主要图形元素的面积,,为第e个第一图像集合中的第i个拍摄图像中的主要图形元素数量;为第e个第一图像集合中的第i个拍摄图像的图像尺寸;为设定比值,大于0;
为第e个第一图像集合中的第i个拍摄图像中第j个主要图形元素的中心像素点;为第e个第一图像集合中的第i+1个拍摄图像中第j个主要图形元素的中心像素点;为第e个第一图像集合中的第i+2个拍摄图像中第j个主要图形元素的中心像素点;为设定偏移量,大于0;为第q个第二图像集合,。
此外,为实现上述目的,本发明还提出一种面向视频实时渲染的高可用系统,用于执行所述方法;所述系统包括依次通信连接的虚拟拍摄引擎模块、云端和播放终端,云端通信连接有多个渲染模块。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种面向视频实时渲染的高可用方法,其特征在于,虚拟拍摄引擎模块、云端和播放终端依次通信连接,云端通信连接有多个渲染模块;所述方法,包括如下步骤:
云端接收虚拟拍摄引擎模块发送的各拍摄图像,并计算各拍摄图像的相似度;
将相似度达到预设标准的连续的拍摄图像作为同一图像组,从同一图像组中获取标准帧;
根据标准帧的画面参数和设定的渲染参数,对每一标准帧按照渲染任务量进行画面切分,得到多个标准子帧;
将同一图像组中的各拍摄图像,按照标准子帧的切分方式切分为多个子图像;
将标准帧中的每一标准子帧,按照切分位置,与同一图像组中各拍摄图像处于同一切分位置的子图像分别建立备份关系,以使每一标准子帧作为建立备份关系的子图像的备份子图像;
云端将渲染任务分配至若干渲染模块,在渲染模块故障时,根据备份关系得到替代渲染结果;
将渲染结果发送至播放终端进行播放。
2.根据权利要求1所述的面向视频实时渲染的高可用方法,其特征在于,所述云端将渲染任务分配至若干渲染模块,在渲染模块故障时,根据备份关系得到替代渲染结果的步骤,包括:
将每一拍摄图像切分成的各子图像分配至不同渲染模块进行同进程渲染;
判断是否存在渲染异常中断的故障渲染模块;
若是,获取故障渲染模块中断渲染的子图像所属的拍摄图像作为目标图像,并获取目标图像的其他子图像的渲染进度;
当渲染进度未达到预设进度时,按照故障渲染模块分配到的子图像与备份子图像的对应关系,将对应的备份子图像分配至渲染模块进行继续渲染得到第一替代渲染结果。
3.根据权利要求2所述的面向视频实时渲染的高可用方法,其特征在于,所述云端将渲染任务分配至若干渲染模块,在渲染模块故障时,根据备份关系得到替代渲染结果的步骤,还包括:
当渲染进度达到预设进度时,获取故障渲染模块分配到的子图像对应的备份子图像,并判断与对应的备份子图像建立备份关系的各子图像是否得到渲染结果;
若是,将与对应的备份子图像建立备份关系的子图像的渲染结果,作为故障渲染模块分配到的子图像的第二替代渲染结果。
4.根据权利要求2所述的面向视频实时渲染的高可用方法,其特征在于,所述将每一拍摄图像切分成的各子图像分配至不同渲染模块进行同进程渲染的步骤,包括:
获取各个渲染模块的当前剩余处理时间;
获取各个渲染模块的渲染速率;
根据各个渲染模块的当前剩余处理时间和渲染速率,以及每一标准帧的各个标准子帧的渲染任务量,将每一拍摄图像切分成的各子图像分配至不同渲染模块进行同进程渲染。
5.根据权利要求1所述的面向视频实时渲染的高可用方法,其特征在于,所述将渲染结果发送至播放终端进行播放,包括:
获取每一拍摄图像的各子图像的渲染结果,并判断各子图像的渲染结果中是否存在替代渲染结果;
若是,获取替代渲染结果对应的原始子图像与故障渲染模块分配到的子图像之间存在的运动矢量差;
按照运动矢量差校正替代渲染结果,得到校正渲染结果;
按照切分方式,将各子图像的渲染结果和校正渲染结果拼接为渲染图像;
将渲染图像发送至播放终端进行播放。
6.根据权利要求1所述的面向视频实时渲染的高可用方法,其特征在于,所述根据标准帧的画面参数和设定的渲染参数,对每一标准帧按照渲染任务量进行画面切分,得到多个标准子帧的步骤,包括:
获取各个渲染模块的当前剩余处理时间;
获取各个渲染模块的渲染速率;
根据标准帧的画面参数和设定的渲染参数,以及各个渲染模块的当前剩余处理和渲染速率,确定每一标准帧的画面切分规则;
根据画面切分规则对每一标准帧进行画面切分,以得到多个标准子帧。
7.根据权利要求1所述的面向视频实时渲染的高可用方法,其特征在于,所述从同一图像组中获取标准帧的步骤,包括:
以同一图像组中时间序列最早的拍摄图像为初始图像;
获取同一图像组中其他拍摄图像相对初始图像的运动矢量大小,以确定其他拍摄图像相对初始图像的最大偏移量;
根据最大偏移量,从同一图像组中获取与最大偏移量的一半最接近的拍摄图像作为标准帧。
8.根据权利要求1所述的面向视频实时渲染的高可用方法,其特征在于,所述将相似度达到预设标准的连续的拍摄图像作为同一图像组的步骤,包括:
获取拍摄图像尺寸;
获取从拍摄图像中识别出的图形元素;
获取识别出的图形元素的图形尺寸;
将图形尺寸相对拍摄图像尺寸占比达到设定比值的图形元素作为拍摄图像中的主要图形元素;
将主要图形元素相同的连续的拍摄图像置于同一第一图像集合;
获取第一图像集合中各个拍摄图像的主要图形元素在画面中的中心像素点;
将第一图像集合中,主要图形元素的中心像素点的前后偏移量不超过设定偏移量的相邻拍摄图像置于同一第二图像集合,以形成多个第二图像集合;
将每一第二图像集合中的拍摄图像作为同一图像组。
9.根据权利要求8所述的面向视频实时渲染的高可用方法,其特征在于,参照如下步骤形成各个第二图像集合:
;
;
(1)当,则:
;
(2)当,则:
;
(3)当,则:
;
(4)当,则:
;
其中,为第e个第一图像集合,;为第e个第一图像集合中的第i个拍摄图像,为第e个第一图像集合中的第i+1个拍摄图像,为第e个第一图像集合中的第i+2个拍摄图像,,为第e个第一图像集合的拍摄图像数量;为第e个第一图像集合中的第i个拍摄图像中第j个主要图形元素的面积,,为第e个第一图像集合中的第i个拍摄图像中的主要图形元素数量;为第e个第一图像集合中的第i个拍摄图像的图像尺寸;为设定比值,大于0;
为第e个第一图像集合中的第i个拍摄图像中第j个主要图形元素的中心像素点;为第e个第一图像集合中的第i+1个拍摄图像中第j个主要图形元素的中心像素点;为第e个第一图像集合中的第i+2个拍摄图像中第j个主要图形元素的中心像素点;为设定偏移量,大于0;为第q个第二图像集合,。
10.一种面向视频实时渲染的高可用系统,其特征在于,用于执行如权利要求1至9中任一项所述的方法,所述系统包括依次通信连接的虚拟拍摄引擎模块、云端和播放终端,云端通信连接有多个渲染模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311040416.1A CN116761017B (zh) | 2023-08-18 | 2023-08-18 | 一种面向视频实时渲染的高可用方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311040416.1A CN116761017B (zh) | 2023-08-18 | 2023-08-18 | 一种面向视频实时渲染的高可用方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116761017A true CN116761017A (zh) | 2023-09-15 |
CN116761017B CN116761017B (zh) | 2023-10-17 |
Family
ID=87959478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311040416.1A Active CN116761017B (zh) | 2023-08-18 | 2023-08-18 | 一种面向视频实时渲染的高可用方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116761017B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993887A (zh) * | 2023-09-27 | 2023-11-03 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频渲染异常的响应方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996032697A1 (en) * | 1995-04-10 | 1996-10-17 | Electrogig Corporation | Hand-held camera tracking for virtual set video production system |
US20020093538A1 (en) * | 2000-08-22 | 2002-07-18 | Bruce Carlin | Network-linked interactive three-dimensional composition and display of saleable objects in situ in viewer-selected scenes for purposes of object promotion and procurement, and generation of object advertisements |
CN102438108A (zh) * | 2011-10-13 | 2012-05-02 | 江苏尚阳数字科技有限公司 | 一种影片处理方法 |
WO2014019498A1 (zh) * | 2012-08-01 | 2014-02-06 | 成都理想境界科技有限公司 | 基于增强现实技术的视频播放方法、系统及移动终端 |
CN106959897A (zh) * | 2017-02-16 | 2017-07-18 | 福建天泉教育科技有限公司 | 一种基于Unity3D图像渲染的优化方法及系统 |
CN113223132A (zh) * | 2021-04-21 | 2021-08-06 | 浙江大学 | 基于反射分解的室内场景虚拟漫游方法 |
CN113822977A (zh) * | 2021-06-28 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备以及存储介质 |
CN115914718A (zh) * | 2022-11-08 | 2023-04-04 | 天津萨图芯科技有限公司 | 截取引擎渲染内容的虚拟制片视频重映方法及系统 |
CN116506563A (zh) * | 2022-08-31 | 2023-07-28 | 深圳市腾讯网络信息技术有限公司 | 虚拟场景渲染方法、装置、电子设备以及存储介质 |
-
2023
- 2023-08-18 CN CN202311040416.1A patent/CN116761017B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996032697A1 (en) * | 1995-04-10 | 1996-10-17 | Electrogig Corporation | Hand-held camera tracking for virtual set video production system |
US20020093538A1 (en) * | 2000-08-22 | 2002-07-18 | Bruce Carlin | Network-linked interactive three-dimensional composition and display of saleable objects in situ in viewer-selected scenes for purposes of object promotion and procurement, and generation of object advertisements |
CN102438108A (zh) * | 2011-10-13 | 2012-05-02 | 江苏尚阳数字科技有限公司 | 一种影片处理方法 |
WO2014019498A1 (zh) * | 2012-08-01 | 2014-02-06 | 成都理想境界科技有限公司 | 基于增强现实技术的视频播放方法、系统及移动终端 |
CN106959897A (zh) * | 2017-02-16 | 2017-07-18 | 福建天泉教育科技有限公司 | 一种基于Unity3D图像渲染的优化方法及系统 |
CN113223132A (zh) * | 2021-04-21 | 2021-08-06 | 浙江大学 | 基于反射分解的室内场景虚拟漫游方法 |
CN113822977A (zh) * | 2021-06-28 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备以及存储介质 |
CN116506563A (zh) * | 2022-08-31 | 2023-07-28 | 深圳市腾讯网络信息技术有限公司 | 虚拟场景渲染方法、装置、电子设备以及存储介质 |
CN115914718A (zh) * | 2022-11-08 | 2023-04-04 | 天津萨图芯科技有限公司 | 截取引擎渲染内容的虚拟制片视频重映方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993887A (zh) * | 2023-09-27 | 2023-11-03 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频渲染异常的响应方法及系统 |
CN116993887B (zh) * | 2023-09-27 | 2023-12-22 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频渲染异常的响应方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116761017B (zh) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10523919B2 (en) | Apparatus and method for adjusting stereoscopic image parallax and stereo camera | |
CN105915937B (zh) | 一种全景视频播放方法及设备 | |
CN110288614B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN116761017B (zh) | 一种面向视频实时渲染的高可用方法及系统 | |
US9836831B1 (en) | Simulating long-exposure images | |
CN104363463B (zh) | 一种视频处理方法、装置及系统 | |
CN108335272B (zh) | 一种拍摄图片的方法及设备 | |
CA2727602A1 (en) | Image conversion method and apparatus | |
CN102447925A (zh) | 一种虚拟视点图像合成方法及装置 | |
CN109729287A (zh) | 一种周界区域监控的方法、装置及计算设备、存储介质 | |
CN109257583B (zh) | 投影设备图像的无缝拼接方法及系统 | |
CN108280851A (zh) | 深度图产生装置 | |
US10380719B2 (en) | Device and method for generating panorama image | |
CN102025922A (zh) | 影像匹配系统及方法 | |
CN108737743B (zh) | 基于图像拼接的视频拼接装置及视频拼接方法 | |
CN108401163B (zh) | 一种实现vr直播的方法、装置及ott业务系统 | |
CN102236790A (zh) | 一种图像处理方法和设备 | |
CN105657240A (zh) | 一种拍照方法及装置 | |
CN113177529B (zh) | 识别花屏的方法、装置、设备及存储介质 | |
US10380750B2 (en) | Image depth calculating device and method | |
CN104954892A (zh) | 一种展示视频主题内容的方法及装置 | |
JP6857104B2 (ja) | 映像処理装置、映像処理方法および映像処理プログラム | |
CN111277797B (zh) | 一种用于安防监视的vr立体成像系统 | |
CN113487480A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
JP2019080183A (ja) | 画像伝送装置、画像伝送方法、及びプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |