视频图像的图层渲染处理方法及其系统技术方案

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

Video image layer rendering processing method and system

The present invention discloses a video image rendering layer processing method and system thereof, wherein the method comprises: multi layer data of the video frames to read, to read the multi layer data packet processing by one or more layers of the same packet; layer layer within a data set is not exclusive, the layer the data is exclusive at least in part on the layer data layer of the packet is overlapping, or at least in part according to the floating point data corresponding to the overlap layer in single channel mixed color value of the corresponding data layer and overlap in the single channel color after mixed value judgment; on the one or more layers block execution pixel parallel rendering. Through this application, we can achieve the goal of visual beauty, design flexibility and real-time processing of the three objectives.

【技术实现步骤摘要】
视频图像的图层渲染处理方法及其系统
本申请涉及计算机
,尤其涉及一种视频图像的图层渲染处理方法及其系统。
技术介绍
随着智能手机、相机等便携式移动终端设备的普及,更多的硬件厂商或移动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本文档来自技高网
...
视频图像的图层渲染处理方法及其系统

【技术保护点】
一种视频图像的图层渲染处理方法,其特征在于,包括:读取当前视频图像帧的多层图层数据,对读取的多层图层数据进行分组处理得到一个或多个图层分组;其中同一图层分组内的图层数据不互斥,所述图层数据是否互斥至少部分根据所述图层分组内的图层数据是否重叠,或至少部分根据重叠的图层数据在混合前的单通道颜色对应的浮点值和重叠的图层数据在混合后的单通道颜色对应的浮点值来判断;对所述一个或多个图层分组执行像素并行渲染处理。

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

【专利技术属性】
技术研发人员:肖蒴
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1