掌桥专利:专业的专利平台
掌桥专利
首页

图像合成方法、装置及图像处理设备

文献发布时间:2023-06-19 13:45:04


图像合成方法、装置及图像处理设备

技术领域

本申请涉及图像处理技术领域,具体而言,涉及一种图像合成方法、装置及图像处理设备。

背景技术

基于虚实结合的图像处理技术是一种将虚拟生成的图像与真实拍摄的图像进行融合,从而使虚拟元素显示在真实场景中或使真实拍摄的元素显示在虚拟场景中的技术。

在一些特定的视频演播流程中,对图像合成有特定的要求。例如,在广电演播流程中,真实拍的图像是不具有透明度信息的YUV格式,并且要求合成后的图像也是YUV格式。因此要求虚拟元素必须基于绿幕背景的场景制作,然后渲染转换为以绿幕为背景的YUV格式的虚拟元素图像,再通过导播设备通过绿幕抠图合成的方式将虚拟元素图像与真实场景图像融合。但是,YUV格式未携带透明度信息,原本具有透明度的虚拟元素图像转换为YUV格式后则会失去透明度信息,进而导致合成后的图像中虚拟元素不再具有透明度。

发明内容

为了克服现有技术中的上述不足,本申请的目的在于提供一种图像合成方法,所述方法包括:

获取虚拟场景的数据,所述虚拟场景中包括至少一个具有透明度的虚拟元素;

对所述至少一个虚拟元素进行渲染,获得至少一个带有透明度信息的虚拟场景图像;

获取真实场景的真实场景图像;

对所述虚拟场景图像和所述真实场景图像进行融合,使所述虚拟元素显示在所述真实场景中,获得合成图像;

输出所述合成图像,以将所述合成图像转换为预设格式。

在一种可能的实现方式中,所述对所述至少一个虚拟元素进行渲染,获得至少一个带有透明度信息的虚拟场景图像的步骤,包括:

根据各所述虚拟元素的类型,分别对不同类型的所述虚拟元素进行渲染,获得具有不同透明度信息的虚拟场景图像。

在一种可能的实现方式中,所述根据各所述虚拟元素的类型,分别对不同类型的所述虚拟元素进行渲染,获得具有不同透明度信息的虚拟场景图像的步骤,包括:

将具有透明区域的虚拟元素渲染为第一透明度的第一虚拟场景图像;

将具有不完全透明区域的虚拟元素渲染为第二透明度的第二虚拟场景图像;

将不透明的虚拟元素和预设的绿幕背景渲染为第三透明度的第三虚拟场景图像;

所述对所述虚拟场景图像和所述真实场景图像进行融合的步骤,包括:

根据所述第三透明度,将去除所述绿幕背景之后的第三虚拟场景图像与所述真实场景图像进行融合,获得中间图像;

根据所述第一透明度和所述第二透明度,将所述第一虚拟场景图像和所述第二虚拟场景图像与所述中间图像进行融合,获得所述合成图像。

在一种可能的实现方式中,所述虚拟场景图像为RGBA格式;

所述将具有透明区域的虚拟元素渲染为第一透明度的第一虚拟场景图像的步骤,包括:

将具有透明区域的虚拟元素渲染成整体透明度值为0的第一虚拟场景图像;

所述将具有不完全透明区域的虚拟元素渲染为第二透明度的第二虚拟场景图像的步骤,包括:

将具有不完全透明区域的虚拟元素渲染成整体透明度值大于0且小于255的第二虚拟场景图像;

所述将不透明的虚拟元素和预设的绿幕背景渲染为第三透明度的第三虚拟场景图像的步骤,包括:

将不透明的虚拟元素和预设的绿幕背景渲染成整体透明度值为255的第三虚拟场景图像;

所述将所述合成图像转换为预设格式的步骤,包括:

将所述合成图像转换为YUV格式。

在一种可能的实现方式中,所述将去除所述绿幕背景之后的第三虚拟场景图像与所述真实场景图像进行融合的步骤之前,所述方法还包括:

将所述第三虚拟场景图像中的绿幕背景去除,并将所述绿幕背景对应的位置的局部透明度值设置为0。

在一种可能的实现方式中,所述获取虚拟场景的数据,所述虚拟场景中包括至少一个具有透明度的虚拟元素的步骤,包括:

通过UE4引擎生成所述虚拟场景,所述虚拟场景中的虚拟元素具有材质属性标签;

所述根据各所述虚拟元素的类型,分别对不同类型的所述虚拟元素进行渲染,获得具有不同透明度信息的虚拟场景图像的步骤,包括:

遍历所述虚拟场景中的各虚拟元素,针对每个所述虚拟元素,根据该虚拟元素的材质属性标签,确定该虚拟元素的类型;

在所述UE4引擎中使用不同的渲染目标RenderTarget对不同类型的虚拟元素进行渲染,获得具有不同透明度信息所述虚拟场景图像。

在一种可能的实现方式中,所述根据各所述虚拟元素的类型,分别对不同类型的所述虚拟元素进行渲染,获得具有不同透明度信息的虚拟场景图像的步骤,包括:

基于设定视角分别对所述虚拟场景中不同类型的所述虚拟元素进行渲染,获得具有不同透明度信息且图像大小相同的虚拟场景图像。

本申请的另一目的在于提供一种图像合成装置,所述图像合成装置包括:

第一获取模块,用于获取虚拟场景的数据,所述虚拟场景中包括至少一个具有透明度的虚拟元素;

图像渲染模块,用于对所述至少一个虚拟元素进行渲染,获得至少一个带有透明度信息的虚拟场景图像;

第二获取模块,用于获取真实场景的真实场景图像;

图像合成模块,用于对所述虚拟场景图像和所述真实场景图像进行融合,使所述虚拟元素显示在所述真实场景中,获得合成图像;

图像输出模块,用于输出所述合成图像以将所述合成图像转换为预设格式。

本申请的另一目的在于提供一种图像处理设备,包括处理器及机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被所述处理器执行时,实现本申请提供的图像合成方法。

本申请的另一目的在于提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被一个或多个处理器执行时,实现本申请提供的图像合成方法。

相对于现有技术而言,本申请具有以下有益效果:

本申请实施例提供的图像合成方法、装置及图像处理设备,通过将虚拟元素渲染为具有透明度信息的虚拟场景图像,并将虚拟场景图像与真实场景图像融合,然后再将合成后的图像转换为预设格式。如此使合成后的图像中的虚拟元素具有透明度。

进一步地,在本申请实施例提供的方案中,可以根据虚拟元素的类型将虚拟元素渲染为不同透明度的虚拟场景图像,然后与真实场景图像进行融合。如此,将虚拟场景中不同类型的虚拟元素解耦,方便了后续图像合成动作。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为现有技术图像合成方案的示意图;

图2为本申请实施例提供的图像处理设备的使用场景示意图;

图3为本申请实施例提供的图像合成方法的步骤流程示意图;

图4为本申请实施例提供的图像合成过程的示意图;

图5为本申请实施例提供的图像处理设备的示意图;

图6为本申请实施例提供的图像处理装置的功能模块示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

请参照图1,在现有的广电演播系统中,通常广电的图像采集设备920采集的真实场景图像为YUV格式的,并且广电演播系统中用于图像合成的导播设备940只能执行基于YUV格式的绿幕背景抠图合成动作。因此,现有的基于该场景的虚实结合方案中,通常是通过虚拟场景生成设备910在具有绿幕背景的虚拟场景中生成虚拟元素,然后将整个虚拟场景渲染成RGBA格式的虚拟场景图像,再通过类似采集卡930的装置将虚拟场景图像转换为YUV格式,然后以数字串行接口的方式输出至导播设备940。导播设备940再采用绿幕背景抠图的方式将虚拟场景图像和拍摄的真实场景图像进行融合,最后形成YUV格式的合成图像。

但是,在将虚拟场景图像转换为YUV格式后,会丢失原有的透明度信息,导致在后续图像合成中,虚拟元素的图像只能简单的叠加显示在真实场景图像之上,无法展现其透明效果。

有鉴于此,本实施例提供了一种适用于能够在上述演播场景进行虚实结合的视频图像合成且能保留虚拟元素透明效果的方案,下面对该方案的各个步骤进行详细阐述。

请参照图2,为本实施例提供的一种图像处理设备100的使用场景示意图,该图像处理设备100可以与图像采集设备200通信,以获取所述图像采集设备200采集的真实场景图像。例如,所述图像处理设备100可以与广电系统的图像采集设备200通信,获取YUV格式的真实场景图像。

另外,该图像处理设备100可以根据虚拟场景中的虚拟元素生成虚拟场景图像。在一个例子中,所述图像处理设备100中可以配置有用于生成虚拟场景的虚拟场景生成模型,例如,第4代虚幻引擎(Unreal Engine 4,UE4)。通过所述虚拟场景生成模型可以生成具有虚拟元素的虚拟场景。在另一个例子中,所述图像处理设备100可以与其他设备通信,从而获取由其他设备生成的虚拟元素的数据。

所述图像处理设备100还可以与图像格式转换设备300通信,所述图像处理设备100可以将虚拟场景图像和真实场景图像融合为合成图像后,发送至所述图像格式转换设备300,从而将所述合成图像转换为预设格式。例如,所述图像格式转换设备300可以为采集卡,所述图像处理设备100可以将合成图像发送至所述采集卡,所述采集卡可以将所述合成图像转换为YUV格式后再发送给导播设备400,以进行后续的视频二次加工或者视频输出。

请参照图3,图3为本实施例提供的一种可以应用于图2所示图像处理设备100的图像合成方法的步骤流程示意图。

步骤S110,获取虚拟场景的数据,所述虚拟场景中包括至少一个具有透明度的虚拟元素。

在本实例中,可以由所述图像处理设备100中配置的虚拟场景生成模型生成所述虚拟场景,或者也可以由所述图像处理设备100从其他设备获取生成的虚拟场景。所述虚拟场景中可以包括至少一个具有透明度的虚拟元素,所述虚拟元素可以包括透明度或半透明的虚拟物品或虚拟特效等。

具体地,在本实施例中,可以按照一定帧率周期性地获取所述虚拟场景的数据,以保持获取的虚拟场景的数据与所述虚拟场景的变化保持大致一致。

步骤S120,对所述至少一个虚拟元素进行渲染,获得至少一个带有透明度信息的虚拟场景图像。

在本实施例中,可以将所述虚拟元素渲染为具有透明度信息的格式的图片,例如可以渲染为RGBA格式的图像。

具体地,在本实施例中,可以按照一定帧率周期性地将对所述虚拟元素进行渲染,从而使获得的虚拟场景图像组成的视频数据可以反映所述虚拟场景中虚拟元素的动态或变化趋势。

步骤S130,获取真实场景的真实场景图像。

在本实施例中,所述真实场景图像可以为由图像采集设备200采集的真实图像,例如,所述真实场景图像为由广电的图像采集设备200所采集的YUV格式的视频图像。

步骤S140,对所述虚拟场景图像和所述真实场景图像进行融合,使所述虚拟元素显示在所述真实场景中,获得合成图像。

步骤S150,输出所述合成图像,以将所述合成图像转换为预设格式。

在本实施例中,可以由所述图像处理设备100执行图像合成动作。由于所述图像处理设备100获得的所述虚拟场景图像具有透明度信息,因此由所述图像处理设备100进行图像合成时,可以保留虚拟元素原有的透明效果。然后在完成图像合成之后再将合成图像转换为预设格式,从而避免将虚拟场景图像进行格式转换后再执行图像合成所导致的透明度信息丢失的问题。

在一种可能的实现方式中,所述虚拟场景中可以包括多种类型的虚拟元素,例如,具有透明区域的虚拟元素、具有不完全透明区域的虚拟元素及不透明的虚拟元素。示例性地,所述虚拟场景中的虚拟人物形象为不透明的虚拟元素,云雾特效为具有不完全透明区域的虚拟元素,玻璃水杯为具有完全透明区域的虚拟元素。

在步骤S120中可以根据各所述虚拟元素的类型,分别对不同类型的所述虚拟元素进行渲染,获得具有不同透明度信息的多个虚拟场景图像。

示例性地,在步骤S110中可以通过UE4引擎生成所述虚拟场景,其中,所述虚拟场景中的虚拟元素具有材质属性标签。

在步骤S120中可以遍历所述虚拟场景中的各虚拟元素,针对每个所述虚拟元素,根据该虚拟元素的材质属性标签,确定该虚拟元素的类型。然后在所述UE4引擎中使用不同的渲染目标RenderTarget对不同类型的虚拟元素进行渲染,获得具有不同透明度信息所述虚拟场景图像。

具体地,请参照图4,在本实施例中,可以通过UE4引擎生成一带绿幕背景的虚拟场景。在步骤S120中,根据所述材质属性标签,可以将具有透明区域的虚拟元素通过RenderTarget

以所述虚拟场景图像为RGBA格式为例,在步骤S120中可以将具有透明区域的虚拟元素渲染成整体透明度值为0的第一虚拟场景图像,将具有不完全透明区域的虚拟元素渲染成整体透明度值大于0且小于255的第二虚拟场景图像,将不透明的虚拟元素和预设的绿幕背景渲染成整体透明度值为255的第三虚拟场景图像。

在一些可能的实现方式中,在步骤S120中可以基于设定视角分别对所述虚拟场景中不同类型的所述虚拟元素进行渲染,获得具有不同透明度信息且图像大小相同的虚拟场景图像。如此,在步骤S140的图像合成过程中可以直接对相同大小的图像进行合成,不需要进行额外的图像位置对齐操作。

示例性地,在本实施例中,记所述第一虚拟场景图像为FrameData

步骤S140的图像合成过程中,可以先将所述第三虚拟场景图像中的绿幕背景去除,例如,对所述第三虚拟场景图像进行色键去除(Keying)处理,以去除所述第三虚拟场景图像中的绿幕背景。再将所述绿幕背景对应的位置的局部透明度值设置为0,得到处理后的第三虚拟场景图像FrameData′

FrameResult

FrameResult

FrameResult

其中,FrameResult

在一些可能的实现方式中,由于步骤S120中渲染后的虚拟场景图像的帧率可能与步骤S130中获得的真实场景图像的帧率不同,因此在步骤S140之前还可以先对所述真实场景图像和所述虚拟场景图像的帧率进行调整,以使所述真实场景图像和所述虚拟场景图像的帧率一致。

示例性地,在本实施例中,所述图像处理设备100中可以配置有两个并行的进程。其中,进程A可以用于执行步骤S110和步骤S120,在进程A中可以运行虚拟场景生成引擎,并通过遍历虚拟场景中各虚拟元素,根据各虚拟元素的类型创建或选择相应的RenderTarget进行图像渲染,以获得RGBA格式的虚拟场景图像。另外,进程A还具有跨进程数据通讯的能力。

进程B可以以OBS图层的方式跨进程接收不同RenderTarget渲染的虚拟场景图像,并用于从其他设备接收真实场景图像。例如,进程B可以通过管道、共享内存、socket等方式实时接收进程A中的3个不同分类的RenderTarget输出的RGBA图像数据帧,同时进程B用已有的硬件输入图层接收采集卡的图像采集设备200拍摄的YUV格式的图像数据帧。然后在进程B中执行帧对齐以及图像合成动作。

基于同一发明构思,本实施例还提供一种图像处理设备100,该图像处理设备100为具有一定图像处理能力及通信能力的电子设备,如服务器、个人电脑、工作站等。请参照图5,图5为所述图像处理设备100的方框示意图。所述图像处理设备100包括图像合成装置110、机器可读存储介质120及处理器130。

所述机器可读存储介质120、处理器130之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述图像合成装置110包括至少一个可以软件或固件(firmware)的形式存储于所述机器可读存储介质120中或固化在所述图像处理设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器130用于执行所述机器可读存储介质120中存储的可执行模块,例如所述图像合成装置110所包括的软件功能模块及计算机程序等。

其中,所述机器可读存储介质120可以是,但不限于,随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable ProgrammableRead-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,EEPROM)等。其中,机器可读存储介质120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。

所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器130,包括中央处理器130(Central Processing Unit,简称CPU)、网络处理器130(Network Processor,简称NP)等;还可以是数字信号处理器130(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器130可以是微处理器130或者该处理器130也可以是任何常规的处理器130等。

请参照图6,本实施例还提供一种图像合成装置110,图像合成装置110包括至少一个可以软件形式存储于机器可读存储介质120中的功能模块。从功能上划分,图像合成装置110可以包括第一获取模块111、图像渲染模块112、第二获取模块113、图像合成模块114及图像输出模块115。

所述第一获取模块111用于获取虚拟场景的数据,所述虚拟场景中包括至少一个具有透明度的虚拟元素。

本实施例中,所述第一获取模块111可用于执行图3所示的步骤S110,关于所述第一获取模块111的具体描述可参对所述步骤S110的描述。

所述图像渲染模块112用于对所述至少一个虚拟元素进行渲染,获得至少一个带有透明度信息的虚拟场景图像。

本实施例中,所述图像渲染模块112可用于执行图3所示的步骤S120,关于所述图像渲染模块112的具体描述可参对所述步骤S120的描述。

所述第二获取模块113用于获取真实场景的真实场景图像。

本实施例中,所述第二获取模块113可用于执行图3所示的步骤S130,关于所述第二获取模块113的具体描述可参对所述步骤S130的描述。

所述图像合成模块114用于对所述虚拟场景图像和所述真实场景图像进行融合,使所述虚拟元素显示在所述真实场景中,获得合成图像。

本实施例中,所述图像合成模块114可用于执行图3所示的步骤S140,关于所述图像合成模块114的具体描述可参对所述步骤S140的描述。

所述图像输出模块115用于输出所述合成图像以将所述合成图像转换为预设格式。

本实施例中,所述图像输出模块115可用于执行图3所示的步骤S150,关于所述图像输出模块115的具体描述可参对所述步骤S150的描述。

综上所述,本申请实施例提供的图像合成方法、装置及图像处理设备,通过将虚拟元素渲染为具有透明度信息的虚拟场景图像,并将虚拟场景图像与真实场景图像融合,然后再将合成后的图像转换为预设格式。如此使合成后的图像中的虚拟元素具有透明度。

进一步地,在本申请实施例提供的方案中,可以根据虚拟元素的类型将虚拟元素渲染为不同透明度的虚拟场景图像,然后与真实场景图像进行融合。如此,将虚拟场景中不同类型的虚拟元素解耦,方便了后续图像合成动作。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 图像处理方法、图像处理装置、图像处理程序、图像合成方法和图像合成装置
  • 图像合成方法、装置及图像处理设备
技术分类

06120113790913