CN107292945B - 视频图像的图层渲染处理方法及其系统 - Google Patents

视频图像的图层渲染处理方法及其系统 Download PDF

Info

Publication number
CN107292945B
CN107292945B CN201610200421.8A CN201610200421A CN107292945B CN 107292945 B CN107292945 B CN 107292945B CN 201610200421 A CN201610200421 A CN 201610200421A CN 107292945 B CN107292945 B CN 107292945B
Authority
CN
China
Prior art keywords
layer
layer data
data
mutually exclusive
video image
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.)
Active
Application number
CN201610200421.8A
Other languages
English (en)
Other versions
CN107292945A (zh
Inventor
肖蒴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610200421.8A priority Critical patent/CN107292945B/zh
Publication of CN107292945A publication Critical patent/CN107292945A/zh
Application granted granted Critical
Publication of CN107292945B publication Critical patent/CN107292945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

本申请公开一种视频图像的图层渲染处理方法及其系统,其中该方法包括:读取当前视频图像帧的多层图层数据,对读取的多层图层数据进行分组处理得到一个或多个图层分组;其中同一图层分组内的图层数据不互斥,所述图层数据是否互斥至少部分根据所述图层分组内的图层数据是否重叠,或至少部分根据重叠的图层数据在混合前的单通道颜色对应的浮点值和重叠的图层数据在混合后的单通道颜色对应的浮点值来判断;对所述一个或多个图层分组执行像素并行渲染处理。通过本申请能够实现视觉精美性、设计灵活性和处理实时性这三者的目标最大化。

Description

视频图像的图层渲染处理方法及其系统
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频图像的图层渲染处理方法及其系统。
背景技术
随着智能手机、相机等便携式移动终端设备的普及,更多的硬件厂商或移动App开发者希望移动终端设备具备较强的视频/图像的特效处理性能,例如:希望边拍摄视频边合成动画。但是,越丰富逼真的动画所用到图层往往也越多,如果按照传统的合成方法,图层数量较多的动画很难满足实时处理的需求。所以在合成的过程中,如何平衡算法的效果与效率,在满足实时性的同时不破坏视觉的精美,是需要解决的问题。
现有技术中的一种解决方案为,在CPU中对每个图层逐次执行合成操作。例如,假设当前有一系列图层layer0,layer1,layer2,layer3…首先,将Layer0作为当前的背景图BackLyaer,将layer1作为当前的前景图FrontLayer,二者做一次合成得到一个新的图层ResultLayer。接着,这个新的图层ResultLayer被作为下一次合成操作的背景图层,与下一个图层做新的合成,如此一层层迭代,直至得到所有图层的最终合成图层。这种方案一般适用于计算量不大、或者对实时性要求不高、或者CPU的性能已足以满足计算需求的应用场景。
第二种解决方案为,将所有图层交给GPU渲染管线,由GPU统一做图层合成。该方案利用GPU的并行处理特性和渲染管线框架,将所有待渲染图层的顶点信息和目标区域坐标等信息传入渲染管线中。GPU渲染管线会根据这些输入信息来进行顶点计算、光栅化、像素计算等处理,最终输出的图像数据即为将各图层渲染到目标图像指定位置之后的总体合成结果图。这种方式是目前大部分终端应用程序所采用的图像合成方案,在硬件环境支持GPU渲染管线的情况下,这种方案能极大地缓解CPU的计算压力,更加适用于:计算量大、对实时性要求较高的应用场景。
上述第一种方案,其计算量不仅与图层个数正相关,而且还与素材以及渲染对象的尺寸(像素size)正相关。图层尺寸和图层个数的增多都会导致CPU计算量的成倍增加,这显然是不能适应越来越复杂的渲染需求的。
上述第二种方案,充分利用GPU在像素处理上的并行特性,对渲染尺寸不那么敏感,如果将所有图层统一并行地渲染,确实能比较好地解决了实时处理的计算速度问题。但是,纯粹GPU的并行渲染方式,对于不同图层的相互重叠区域,难以实现最灵活丰富的混合模式。如果希望不同图层有各自独特的混合模式(如自定义的发光、叠影等,这些效果对图层合成顺序敏感),对于多图层重叠区域,GPU并行渲染后的效果相比于传统的分层迭代,经常是有色彩偏差,不能达到原始视觉设计要求。
发明内容
本申请的主要目的在于提供一种视频图像的图层渲染处理方法及其系统,以克服现有技术中的上述问题。
根据本申请实施例提供一种视频图像的图层渲染处理方法,其包括:读取当前视频图像帧的多层图层数据,对读取的多层图层数据进行分组处理得到一个或多个图层分组;其中同一图层分组内的图层数据不互斥,所述图层数据是否互斥至少部分根据所述图层分组内的图层数据是否重叠,或至少部分根据重叠的图层数据在混合前的单通道颜色对应的浮点值和重叠的图层数据在混合后的单通道颜色对应的浮点值来判断;对所述一个或多个图层分组执行像素并行渲染处理。
其中,所述对多层图层数据进行分组处理,包括:统计所述多层图层数据中图层数据之间的互斥关系;按照预定策略从所述多层图层数据中选择未分组的图层数据,判断其与预先建立的图层分组中已有的图层是否互斥,若不互斥则将该图层数据加入到所述图层分组中,该图层数据完成分组处理;否则继续对该图层进行分组处理。
其中,所述方法还包括:若建立的图层分组中不存在图层数据,则直接将未分组的图层数据加入到所述图层分组中。
其中,判断图层数据是否互斥包括:判断图层数据之间是否重叠,如果图层之间不存在重叠区域则判断图层数据不互斥;如果图层数据之间存在重叠区域且重叠区域涉及两个图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和,若是则判断图层数据不互斥;如果图层数据之间存在重叠区域且重叠区域涉及三个或三个以上图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和的最小值,若是则判断图层数据不互斥。
其中,所述方法还包括:G≤L;其中,G为当前视频图像帧的多层图层数据的图层分组的数量,L为当前视频图像帧的多层图层数据的数量。
其中,所述方法还包括:在CPU中执行分组处理,并在GPU中执行像素并行渲染处理;当在GPU中执行对当前视频图像帧的并行渲染处理时,在CPU中同步执行对下一视频图像帧的分组处理。
根据本申请实施例还提供一种视频图像的图层渲染处理系统,其包括:分组模块,用于读取当前视频图像帧的多层图层数据,对读取的多层图层数据进行分组处理得到一个或多个图层分组;其中同一图层分组内的图层数据不互斥,所述图层数据是否互斥至少部分根据所述图层分组内的图层数据是否重叠,或至少部分根据重叠的图层数据在混合前的单通道颜色对应的浮点值和重叠的图层数据在混合后的单通道颜色对应的浮点值来判断;并行渲染模块,用于对所述一个或多个图层分组执行像素并行渲染处理。
其中,所述分组模块,用于统计所述多层图层数据中的图层数据之间的互斥关系;按照预定策略从所述多层图层数据中选择未分组的图层数据,判断其与预先建立的图层分组中已有的图层是否互斥,若不互斥则将该图层数据加入到所述图层分组中,该图层数据完成分组处理;否则继续对该图层进行分组处理。
其中,所述分组模块,还用于若建立的图层分组中不存在图层数据,则直接将未分组的图层数据加入到所述图层分组中。
其中,所述分组模块还用于:判断图层数据之间是否重叠,如果图层之间不存在重叠区域则判断图层数据不互斥;如果图层数据之间存在重叠区域且重叠区域涉及两个图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和,若是则判断图层数据不互斥;如果图层数据之间存在重叠区域且重叠区域涉及三个或三个以上图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和的最小值,若是则判断图层数据不互斥。
其中,G≤L;其中,G为当前视频图像帧的多层图层数据的图层分组的数量,L为当前视频图像帧的多层图层数据的数量。
其中,所述分组模块设置在CPU中,所述并行渲染模块设置在GPU中;
当所述并行渲染模块执行对当前视频图像帧的并行渲染处理时,所述分组模块同步执行对下一视频图像帧的分组处理。
根据本申请的技术方案,将能够同时执行并行渲染的图层数据划分到同一图层分组中,利用像素以及处理器的并行特性对分组图层数据执行像素并行渲染操作,从而实现了视觉精美性、设计灵活性和处理实时性这三者的目标最大化。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请一个实施例的视频图像的图层渲染处理方法的流程图;
图2是根据本申请另一实施例的视频图像的图层渲染处理方法的流程图;
图3是根据本申请实施例的图层分组处理的流程图;
图4是根据本申请实施例的CPU/GPU并行处理的示意图;
图5是根据本申请实施例的视频图像的图层渲染处理系统的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的主要思想在于,基于贪心算法对图层数据进行重新分组,充分利用像素以及处理器之间的并行特性,对分组图层数据进行像素并行渲染操作,从而能够实现视觉精美性、设计灵活性和处理实时性这三者的目标最大化。本申请能够广泛适用于游戏引擎、动画渲染、滤镜特效、天气仿真、美图美妆等涉及到多图层渲染的应用场景中。
图1是根据本申请一个实施例的视频图像的图层渲染处理方法的流程图,如图1所示,所述方法包括:
步骤S102,读取当前视频图像帧的多层图层数据,对读取的多层图层数据进行分组处理得到一个或多个图层分组;其中,同一图层分组内的图层数据不互斥,所述图层数据是否互斥至少部分根据所述图层分组内的图层数据是否重叠,或至少部分根据重叠的图层数据在混合前的单通道颜色对应的浮点值和重叠的图层数据在混合后的单通道颜色对应的浮点值来判断。
在本申请实施例中,如果图层数据的合成效果不受像素并行渲染结果影响,则判断图层之间不互斥。也就是说,分组处理的目的是将能够同时完成并行渲染的图层划分到同一个分组中。在实际应用中判断图层之间是否互斥包括:
(1)首先判断图层数据之间是否重叠,如果图层之间没有重叠区域(即不存在任何像素点同时属于这两个图层),则判断图层数据不互斥;
(2)如果图层数据之间存在重叠区域且重叠区域涉及两个图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和,若是则判断图层数据不互斥;
如果图层数据之间存在重叠区域且重叠区域涉及三个或三个以上图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和的最小值,若是则判断图层数据不互斥。
步骤S104,对所述一个或多个图层分组执行像素并行渲染处理。
根据上述实施例,将能够同时执行并行渲染的图层数据划分到同一图层分组中,对每组图层数据执行像素并行渲染操作,即同一组的图层数据只统一渲染一次,从而实现了视觉精美性、设计灵活性和处理实时性这三者的目标最大化。
下面结合图2详细描述上述处理的细节。图2是根据本申请另一实施例的视频图像的图层渲染处理方法的流程图,如图2所示,所述方法包括:
步骤S202,系统初始化。本申请应用在智能手机、平板电脑(PAD)、数码相机等需要以及能够进行图像处理的移动终端系统中。在进行图层渲染之前首先要对系统的CPU和GPU这两部分进行初始化处理。
步骤S204,读取视频图像帧的第K帧(当前帧)的图层数据,例如第K帧共有iLogicLayerCnt_k层图层数据。需要说明,此处的图层是根据素材或者初始设计划分的层次,而并不是最终GPU渲染的图层划分。
步骤S206,对第K帧的iLogicLayerCnt_k层图层数据,在CPU中进行重新分组,得到新的图层分组RenderGroup_k[iGroupCnt_k],即一共有iGroupCnt_k个图层将进行渲染。具体地图层分组的详细处理过程请参考图3所示。
其中,iGroupCnt_k<=iLogicLayerCnt_k,即图层分组的数量小于或等于多层图层数据的数量。
步骤S208,将RenderGroup_k[iGroupCnt_k]输入GPU的渲染管线进行并行渲染操作,对于该图层分组的图层只需执行一次像素并行渲染操作,即同一分组的图层只统一渲染一次。
步骤S210,读取视频图像帧的第k+1帧的图层数据,例如第k+1帧共有iLogicLayerCnt_k+1层图层数据。
步骤S212,对第k+1帧的iLogicLayerCnt_k+1层图层数据,在CPU中继续进行重新分组,得到新的图层分组RenderGroup_k+1[iGroupCnt_k+1],具体地图层分组的详细处理过程请参考图3所示。
其中,iGroupCnt_k+1<=iLogicLayerCnt_k+1,即图层分组的数量小于或等于多层图层数据的数量。
步骤S214,判断GPU对第k帧图层的渲染是否已经结束,如果已结束则执行步骤S216,否则等待若干时间后再继续执行本步骤。
步骤S216,GPU对第k帧图层的渲染已经结束,输出渲染结果;并将第k+1帧的图层分组RenderGroup_k+1[iGroupCnt_k+1]输入GPU的渲染管线进行并行渲染操作,其中同一分组的图层只统一渲染一次。
步骤S218,判断当前处理的数据帧是否为视频图像的最后一帧,若是则视频图像的所有数据帧都已经处理完毕,流程结束;否则继续执行步骤S210,读取下一帧的视频图像数据,直至所有数据帧都处理完毕。
下面结合图3详细描述根据本申请实施例的图层分组的处理过程。如图3所示,具体包括以下步骤:
步骤S302,首先进行初始化处理,包括将分组计数(iGroupCount)置零。然后统计当前视频图像帧的多层图层数据的所有图层之间的互斥关系。
具体地可以根据以下情况之一判断图层之间是否互斥:
(1)若两个图层之间没有重叠区域(即不存在任何像素点同时属于这两个图层),则判断该两个图层不互斥;
(2)若图层之间的重叠区域的图层渲染的先后顺序不影响渲染结果,或者说图层之间的重叠区域的混合模式对渲染的先后顺序不敏感,则判断图层不互斥。所谓图层混合模式就是指一个图层与其它图层的色彩叠加方式,通过混合模式可以产生迥异的合成效果如自定义的发光、叠影等。
若重叠区域只涉及到两个图层,则要求混合模式满足交换律。例如Color_final=Color_layer1*Color_layer2,其中Color_final、Color_layer1、Color_layer2分别表示某像素点在图层混合之后的单通道颜色以及图层混合之前两个图层的单通道颜色归一化之后的浮点值。无论这两个图层混合的先后顺序如何,都不影响混合后的结果,则认为该混合模式满足交换律;
若重叠区域涉及到三个或三个以上的图层,则还要求混合模式满足结合律。例如Color_final=min{Color_layer1+Color_layer2+Color_layer3,1.0f},其中Color_final,Color_layer1,Color_layer2,Color_layer3分别表示某像素点在图层混合之后的单通道颜色以及图层混合之前三个图层的单通道颜色归一化之后的浮点值。无论先操作Color_layer2+Color_layer3,还是先操作Color_layer1+Color_layer2,都不影响混合后的结果,则认为该混合模式满足结合律。
根据本申请实施例,若图层的重叠区域的混合模式满足交换律和/或结合律,则说明图层之间的重叠区域的混合模式对渲染的先后顺序不敏感。
步骤S304,判断当前视频图像帧的所有图层是否已完成分组,若当前存在未完成分组的图层,则执行步骤S306;若当前视频图像帧的所有图层都已分组完毕则本流程结束。
步骤S306,新建一个空的图层分组RenderGroup[iGroupCount],将图层计数iGroupCount加1,同时将所有尚未分组的图层的属性设置为“当前可选图层”。
步骤S308,从所有的属性为“当前可选图层”的图层中选择一个图层(设置该图层为TryLayer)。此处的具体选择策略可根据具体应用场景的不同特征来决定。例如,如果应用场景中的不同图层间的尺寸差距较大,则可以按尺寸的排序决定当前选择哪一个图层。当然还可以根据其他策略选择图层,本申请对此不进行限制。
步骤S310,判断图层TryLayer是否与RenderGroup[iGroupCount]中的所有图层都不互斥,若是则执行步骤S312,否则执行步骤S314。
步骤S312,将图层TryLayer加入到RenderGroup[iGroupCount]中(该图层TryLayer完成分组,被分到第iGroupCount组);同时将图层TryLayer的属性设置为“不可选图层”。
步骤S314,图层TryLayer与图层分组RenderGroup[iGroupCount]中的某一个或多个图层互斥,直接将该图层的属性设置为“不可选图层”。
步骤S316,判断当前是否还存在属性为“当前可选图层”的图层,若存在则继续执行步骤S308,为当前图层分组选择新的候选图层。若不存在,则继续执行步骤S304直至流程结束。
本申请实施例通过基于贪心算法对所有待渲染的图层进行分组,将合成效果不受像素并行渲染计算影响的图层划分到同一组里,从而对每组图层进行一次像素并行渲染操作,即同一组的图层只需统一渲染一次。根据上述实施例,不仅减少了过多渲染层数带来的时间损耗,最大程度地保留了GPU的并行特性,而且解决了传统GPU渲染方法中对某些自定义混合模式在多图层重叠区域的色彩偏差等问题,在满足实时处理性能的同时,最大程度地发挥各图层混合模式的灵活性,使重叠区域也能保留各图层自定义混合模式的原始颜色特性。
参考图4,本申请的整个处理过程采用CPU/GPU的流水线并行架构,分组过程在CPU中进行,而每组的渲染处理在GPU内进行。当GPU中进行当前帧的渲染操作时,CPU中同步进行下一帧的分组处理。如图4所示,在Ti时刻,在CPU中对第(k+1)帧的所有图层进行分组。在GPU中渲染第k帧的各分组图层;Ti+1时刻,在CPU中对第(k+2)帧的所有图层进行分组。在GPU中渲染第(k+1)帧的各分组图层……
通过本申请实施例,不仅在GPU内执行像素并行渲染操作,并且还扩展到了处理器(CPU和GPU)之间的并行处理,从而在不降低整体计算目标的情况下,通过有限的硬件配置追求最大的性能表现。
图5是根据本申请实施例的视频图像的图层渲染处理系统的结构框图,如图5所示,包括:
分组模块51,用于读取当前视频图像帧的多层图层数据,对读取的多层图层数据进行分组处理得到一个或多个图层分组;其中同一图层分组内的图层数据不互斥,所述图层数据是否互斥至少部分根据所述图层分组内的图层数据是否重叠,或至少部分根据重叠的图层数据在混合前的单通道颜色对应的浮点值和重叠的图层数据在混合后的单通道颜色对应的浮点值来判断。
并行渲染模块52,用于对所述一个或多个图层分组执行像素并行渲染处理。
进一步,所述分组模块51用于统计所述多层图层数据中的图层数据之间的互斥关系;按照预定策略从所述多层图层数据中选择未分组的图层数据,判断其与预先建立的图层分组中已有的图层是否互斥,若不互斥则将该图层数据加入到所述图层分组中,该图层数据完成分组处理;否则继续对该图层进行分组处理;如果建立的图层分组中不存在图层数据,则直接将选择的未分组的图层数据加入到所述图层分组中。其中,当前视频图像帧的多层图层数据的图层分组的数量小于或等于当前视频图像帧的多层图层数据的数量。
所述分组模块51还用于:判断图层数据之间是否重叠,如果图层之间不存在重叠区域则判断图层数据不互斥;如果图层数据之间存在重叠区域且重叠区域涉及两个图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和,若是则判断图层数据不互斥;如果图层数据之间存在重叠区域且重叠区域涉及三个或三个以上图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和的最小值,若是则判断图层数据不互斥。
其中,所述分组模块设置在CPU中,所述并行渲染模块设置在GPU中;当所述并行渲染模块执行对当前视频图像帧的并行渲染处理时,所述分组模块同步执行对下一视频图像帧的分组处理。
本申请的方法的操作步骤与系统的结构特征对应,可以相互参照,不再一一赘述。
综上所述,根据本申请的上述技术方案,基于贪心算法对图层数据进行重新分组,利用像素以及处理器的并行特性对分组图层进行并行渲染,从而实现了视觉精美性、设计灵活性和处理实时性这三者的目标最大化。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种视频图像的图层渲染处理方法,其特征在于,包括:
读取当前视频图像帧的多层图层数据,对读取的多层图层数据进行分组处理得到一个或多个图层分组;其中同一图层分组内的图层数据不互斥,所述图层数据是否互斥至少部分根据所述图层分组内的图层数据是否重叠,或至少部分根据重叠的图层数据在混合前的单通道颜色对应的浮点值和重叠的图层数据在混合后的单通道颜色对应的浮点值来判断;
对所述一个或多个图层分组执行像素并行渲染处理。
2.根据权利要求1所述的方法,其特征在于,所述对多层图层数据进行分组处理,包括:
统计所述多层图层数据中图层数据之间的互斥关系;
按照预定策略从所述多层图层数据中选择未分组的图层数据,判断其与预先建立的图层分组中已有的图层是否互斥,若不互斥则将该图层数据加入到所述图层分组中,该图层数据完成分组处理;否则继续对该图层进行分组处理。
3.根据权利要求2所述的方法,其特征在于,还包括:
若建立的图层分组中不存在图层数据,则直接将未分组的图层数据加入到所述图层分组中。
4.根据权利要求1至3中任一项所述的方法,其特征在于,判断图层数据是否互斥包括:
判断图层数据之间是否重叠,如果图层之间不存在重叠区域则判断图层数据不互斥;
如果图层数据之间存在重叠区域且重叠区域涉及两个图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和,若是则判断图层数据不互斥;
如果图层数据之间存在重叠区域且重叠区域涉及三个或三个以上图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和的最小值,若是则判断图层数据不互斥。
5.根据权利要求1所述的方法,其特征在于,还包括:
G≤L;其中,G为当前视频图像帧的多层图层数据的图层分组的数量,L为当前视频图像帧的多层图层数据的数量。
6.根据权利要求1所述的方法,其特征在于,还包括:
在CPU中执行分组处理,并在GPU中执行像素并行渲染处理;
当在GPU中执行对当前视频图像帧的并行渲染处理时,在CPU中同步执行对下一视频图像帧的分组处理。
7.一种视频图像的图层渲染处理系统,其特征在于,包括:
分组模块,用于读取当前视频图像帧的多层图层数据,对读取的多层图层数据进行分组处理得到一个或多个图层分组;其中同一图层分组内的图层数据不互斥,所述图层数据是否互斥至少部分根据所述图层分组内的图层数据是否重叠,或至少部分根据重叠的图层数据在混合前的单通道颜色对应的浮点值和重叠的图层数据在混合后的单通道颜色对应的浮点值来判断;
并行渲染模块,用于对所述一个或多个图层分组执行像素并行渲染处理。
8.根据权利要求7所述的系统,其特征在于,所述分组模块,用于统计所述多层图层数据中的图层数据之间的互斥关系;按照预定策略从所述多层图层数据中选择未分组的图层数据,判断其与预先建立的图层分组中已有的图层是否互斥,若不互斥则将该图层数据加入到所述图层分组中,该图层数据完成分组处理;否则继续对该图层进行分组处理。
9.根据权利要求8所述的系统,其特征在于,所述分组模块,还用于若建立的图层分组中不存在图层数据,则直接将未分组的图层数据加入到所述图层分组中。
10.根据权利要求7至9中任一项所述的系统,其特征在于,所述分组模块还用于:
判断图层数据之间是否重叠,如果图层之间不存在重叠区域则判断图层数据不互斥;
如果图层数据之间存在重叠区域且重叠区域涉及两个图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和,若是则判断图层数据不互斥;
如果图层数据之间存在重叠区域且重叠区域涉及三个或三个以上图层,则判断图层混合之后的单通道颜色归一化之后的浮点值是否等于每个图层混合之前的单通道颜色归一化之后的浮点值之和的最小值,若是则判断图层数据不互斥。
11.根据权利要求7所述的系统,其特征在于,
G≤L;其中,G为当前视频图像帧的多层图层数据的图层分组的数量,L为当前视频图像帧的多层图层数据的数量。
12.根据权利要求7所述的系统,其特征在于,
所述分组模块设置在CPU中,所述并行渲染模块设置在GPU中;
当所述并行渲染模块执行对当前视频图像帧的并行渲染处理时,所述分组模块同步执行对下一视频图像帧的分组处理。
CN201610200421.8A 2016-03-31 2016-03-31 视频图像的图层渲染处理方法及其系统 Active CN107292945B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610200421.8A CN107292945B (zh) 2016-03-31 2016-03-31 视频图像的图层渲染处理方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610200421.8A CN107292945B (zh) 2016-03-31 2016-03-31 视频图像的图层渲染处理方法及其系统

Publications (2)

Publication Number Publication Date
CN107292945A CN107292945A (zh) 2017-10-24
CN107292945B true CN107292945B (zh) 2021-01-26

Family

ID=60088088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610200421.8A Active CN107292945B (zh) 2016-03-31 2016-03-31 视频图像的图层渲染处理方法及其系统

Country Status (1)

Country Link
CN (1) CN107292945B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108122198A (zh) * 2017-12-07 2018-06-05 北京奇虎科技有限公司 一种在视频中融合推荐内容的实现方法、装置和服务器
CN110636184B (zh) * 2018-06-25 2022-03-29 中国电信股份有限公司 视频处理方法、装置及计算机可读存储介质
CN109271156B (zh) * 2018-09-25 2022-02-18 Oppo广东移动通信有限公司 游戏平台的底层调用方法及相关产品
CN109712221B (zh) * 2018-12-21 2022-08-16 成都四方伟业软件股份有限公司 三维可视化渲染方法及装置
CN110288689B (zh) * 2019-06-20 2020-09-01 北京三快在线科技有限公司 对电子地图进行渲染的方法和装置
CN111292394A (zh) * 2020-02-07 2020-06-16 腾讯科技(深圳)有限公司 一种图像配色关系确定方法和装置
CN113298918B (zh) * 2020-02-24 2022-12-27 广东博智林机器人有限公司 一种重叠区域的异色显示方法及装置
CN112087662B (zh) * 2020-09-10 2021-09-24 北京小糖科技有限责任公司 一种移动端生成舞队组合舞蹈视频的方法及一种移动端
CN112115226B (zh) * 2020-09-27 2024-02-02 杭州海康威视系统技术有限公司 地图渲染方法和地图渲染装置
CN113205578B (zh) * 2021-04-26 2023-02-24 万翼科技有限公司 图层处理方法、图层渲染方法及相关设备
WO2024098289A1 (zh) * 2022-11-09 2024-05-16 卓永红 用于多图层混合渲染的快速并行处理方法和装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050017984A1 (en) * 2003-06-26 2005-01-27 Canon Kabushiki Kaisha Optimising compositing calculations for a run of pixels
AU2007226809A1 (en) * 2007-10-15 2009-04-30 Canon Kabushiki Kaisha Efficient rendering of page descriptions containing grouped layers
US20130063473A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation System and method for layering using tile-based renderers
CN103310475A (zh) * 2012-03-16 2013-09-18 腾讯科技(深圳)有限公司 动画播放方法及装置
EP2674939A1 (en) * 2012-06-11 2013-12-18 QNX Software Systems Limited Cell-based composited windowing system
EP2801971A1 (en) * 2013-05-10 2014-11-12 Rightware Oy A method of and system for rendering an image
CN104322050A (zh) * 2012-05-22 2015-01-28 株式会社尼康 电子相机、图像显示装置和图像显示程序
EP2838081A1 (en) * 2013-08-12 2015-02-18 Intel Corporation Techniques for reducing memory bandwidth for display composition
CN104811677A (zh) * 2015-05-22 2015-07-29 广东欧珀移动通信有限公司 移动终端的显示控制方法及装置
CN105335410A (zh) * 2014-07-31 2016-02-17 优视科技有限公司 一种基于合成渲染加速的网页更新方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050017984A1 (en) * 2003-06-26 2005-01-27 Canon Kabushiki Kaisha Optimising compositing calculations for a run of pixels
AU2007226809A1 (en) * 2007-10-15 2009-04-30 Canon Kabushiki Kaisha Efficient rendering of page descriptions containing grouped layers
US20130063473A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation System and method for layering using tile-based renderers
CN103310475A (zh) * 2012-03-16 2013-09-18 腾讯科技(深圳)有限公司 动画播放方法及装置
CN104322050A (zh) * 2012-05-22 2015-01-28 株式会社尼康 电子相机、图像显示装置和图像显示程序
EP2674939A1 (en) * 2012-06-11 2013-12-18 QNX Software Systems Limited Cell-based composited windowing system
EP2801971A1 (en) * 2013-05-10 2014-11-12 Rightware Oy A method of and system for rendering an image
EP2838081A1 (en) * 2013-08-12 2015-02-18 Intel Corporation Techniques for reducing memory bandwidth for display composition
CN105335410A (zh) * 2014-07-31 2016-02-17 优视科技有限公司 一种基于合成渲染加速的网页更新方法和装置
CN104811677A (zh) * 2015-05-22 2015-07-29 广东欧珀移动通信有限公司 移动终端的显示控制方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
绘制像素到屏幕上;ObjC中国;《https://objccn.io/issue-3-1/》;20140322;全文 *

Also Published As

Publication number Publication date
CN107292945A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
CN107292945B (zh) 视频图像的图层渲染处理方法及其系统
US10311548B2 (en) Scaling render targets to a higher rendering resolution to display higher quality video frames
US20170212757A1 (en) Simd processing unit with local data share and access to a global data share of a gpu
EP3407300A1 (en) Method and device for realizing color tween animation
CN107566688A (zh) 一种基于卷积神经网络的视频防抖方法及装置
CN106095437A (zh) 用户界面从右到左rtl的布局方式的实现方法及装置
CN109993822B (zh) 一种水墨风格渲染方法和装置
CN112365598B (zh) 倾斜摄影数据转换三维数据的方法、装置及终端
CN111985597B (zh) 模型压缩方法及装置
CN113538502A (zh) 图片裁剪方法、装置、电子设备及存储介质
CN107564063A (zh) 一种基于卷积神经网络的虚拟物显示方法及装置
CN108881873B (zh) 高分辨率图像融合的方法、装置和系统
US11995771B2 (en) Automated weighting generation for three-dimensional models
CN112037117A (zh) 用于运行高性能gpu应用的方法、装置及计算机存储介质
CN111583378A (zh) 一种虚拟资产处理的方法及装置、电子设备、存储介质
CN113077541B (zh) 一种虚拟天空画面的渲染方法及相关设备
CN114119834A (zh) 渲染方法、装置、电子设备及可读存储介质
CN114429511A (zh) 融合渲染方法、装置、计算机设备和存储介质
CN112149745B (zh) 确定难例样本的方法、装置、设备及存储介质
CN110941603A (zh) 一种数据的扩充方法、装置、存储介质和电子设备
CN115984154A (zh) 一种图像融合的方法、装置、存储介质及电子设备
CN114119836A (zh) 渲染方法、装置、电子设备及可读存储介质
CN114692844A (zh) 数据处理装置、数据处理方法及相关产品
CN110276830A (zh) 无限蓝箱功能的实现方法、装置、计算机设备及存储介质
CN116309974B (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
GR01 Patent grant
GR01 Patent grant