一种大型表演动态舞台视频并行加速显示方法

文档序号:1091033 发布日期:2020-09-25 浏览:32次 >En<

阅读说明:本技术 一种大型表演动态舞台视频并行加速显示方法 (Parallel acceleration display method for large-scale performance dynamic stage video ) 是由 李立杰 丁刚毅 李鹏 黄天羽 唐明湘 于 2020-08-18 设计创作,主要内容包括:本发明涉及一种大型表演动态舞台视频并行加速显示方法,包括以下步骤:一、设计源视频;二、按照时间顺序为每一个显示时点并行开启一个生产者线程,执行以下操作:S1、分配源内存和目标内存;S2、得到对应该时点的动态舞台造型;S3、将显示屏在对应源图像平面上展开,根据展开后的几何形状与源图像的对应关系,得到分割区域;S4、对所有显示屏分割区域输出到目标内存,并输出到舞台屏幕控制视频文件;三、将包含所有时点的舞台屏幕控制视频文件顺序输出到显示控制器。本发明在实现精准舞台造型视频背景的同时,降低了动态舞台管理的硬件复杂度,提高了内存利用效率和数据处理速度。(The invention relates to a parallel acceleration display method for a dynamic stage video of a large-scale performance, which comprises the following steps: firstly, designing a source video; secondly, parallelly starting a producer thread for each display time point according to the time sequence, and executing the following operations: s1, allocating a source memory and a target memory; s2, obtaining a dynamic stage model corresponding to the time point; s3, unfolding the display screen on the corresponding source image plane, and obtaining a segmentation area according to the corresponding relation between the unfolded geometric shape and the source image; s4, outputting all the display screen division areas to a target memory and outputting to a stage screen control video file; and thirdly, outputting the stage screen control video files containing all the time points to a display controller in sequence. The invention reduces the hardware complexity of dynamic stage management and improves the memory utilization efficiency and the data processing speed while realizing the accurate stage modeling video background.)

一种大型表演动态舞台视频并行加速显示方法

技术领域

本发明涉及一种动态舞台显示屏的数字视频显示方法,特别涉及一种大型表演动态舞台视频并行加速显示方法。

背景技术

舞台为表演提供空间。一场文艺表演是否能够达到预期的效果,舞台是基础。现代化舞台,特别是多媒体动态舞台,为舞台艺术在有限的舞台里创造了更多的发展空间,提供给导演和舞美人员更多的变化和选择。

升降台的发展是舞台机械发展的代表,升降台普遍运用于现代舞台技术中。从最初的少量升降台,到现在的大规模升降台的运用,升降台从一个舞台的辅助机械设备变成了舞台重要的组成部分。伴随着升降台数量的增多,升降台的结构和使用方式也发生了变化。特别是在立体动态多媒体舞台中,升降台的顶面和四周安装了可播放视频的LED板。升降台在升降和形成静止的舞台台型时,各个视频播放面显示与节目相配合的图片或者视频,升降台也因此成为了舞台背景的一部分。

在大型表演中,舞台模块上安装的LED显示屏数量巨大,往往包含成千上万块各种尺寸的显示屏。如果为每块显示屏单独设计显示内容,无疑将会耗费巨大的人力物力,而且加大了舞台设计人员的设计难度,也难以保证所有显示屏最终的合成效果。

在大型表演中,怎样管理视频文件的编辑和输出使得所有屏幕能互相配合精准的展示每一个视频;怎样降低对LED屏幕进行管理的硬件复杂度;特别是怎样对显示屏数字视频映射内存进行有效管理,通过并行处理减少数字映射所需要的时间,都是亟需解决的技术问题。而现有技术中未见相关记载。

发明内容

本发明的目的在于针对现有技术的不足,提供一种大型表演动态舞台视频并行加速显示方法,针对动态舞台视频背景提供精准LED屏幕数字映射,并通过并行处理提高显示速度。

为实现以上目的,本发明提供了一种大型表演动态舞台视频并行加速显示方法,包括以下步骤:

一、根据舞台整体显示效果,设计作为舞台背景的一个或多个源视频,并将每个源视频文件分解成视频帧序列;

二、设置显示屏显示时间间隔,按照时间顺序在系统资源允许的情况下,为每一个显示时点并行开启一个生产者线程,执行以下操作:

S1、为帧图像分配源内存,为显示屏分配目标内存;将该时点所有帧图像读入源内存;

S2、得到对应该时点的动态舞台造型,获取每个舞台模块中每块显示屏的空间位置、朝向和尺寸;

S3、确定舞台模块显示屏对应的显示源图像,将显示屏在该源图像平面上展开,根据用户设置的显示屏展开后的几何形状与源图像的对应关系,得到每块显示屏在源图像中的对应分割区域;

S4、对所有显示屏循环执行以下操作:

S41、从对应源图像中分割出显示屏对应分割区域;

S42、将对应分割区域内容输出到显示屏的目标内存;

S43、将目标内存内容输出到舞台屏幕控制视频文件;

三、将包含所有时点的舞台屏幕控制视频文件顺序输出到显示控制器。

根据本发明实施例的一种具体实现方式,每个生产者线程不负责舞台屏幕控制视频文件的写入,在执行完步骤S42后,设置缓冲区转换完成标志,等待消费者线程输出缓冲区;另外开启一个全局消费者线程,按照时间顺序请求目标内存,如果对应缓冲区转换完成则将该生产者线程的目标内存添加到舞台屏幕控制视频文件中,并释放该缓冲区。

根据本发明实施例的一种具体实现方式,还包括对分割区域进行图像编辑的步骤。

根据本发明实施例的一种具体实现方式,将所有显示屏根据所处位置分组,将每组显示屏的显示控制器合并,为每组显示屏分配目标内存空间,在步骤S4中,以显示屏分组为单位循环执行图像分割和内存复制操作,按照显示屏排列顺序将组内每块显示屏对应分割区域复制到目标内存空间;消费者线程按照时间和显示屏输出顺序请求目标内存。

根据本发明实施例的一种具体实现方式,对于具有遮挡关系的多层排列舞台,被遮挡的显示屏分组不进行目标内存复制操作;在将目标内存输出到显示控制器的过程中,直接复用位置最靠前未被遮挡的显示屏分组目标内存内容。

根据本发明实施例的一种具体实现方式,排列显示屏分组的输出顺序,使得对于具有遮挡关系的多层排列舞台,按照从前到后的顺序进行输出,并为对应显示屏分组分配共用目标内存空间;在步骤S4中,首先判断显示屏分组是否被遮挡,碰到被遮挡的显示屏分组,直接复用共用目标内存空间的现有内容。

根据本发明实施例的一种具体实现方式,为每个显示屏分组生成一个不同的视频文件;以显示屏分组为单位将每个生产者线程划分为多个批次,当线程i第p-1批次已经消费完成,并且线程i-1第p批次也已经消费完成时,开始执行线程i第p批次;消费者线程在任意一个生产者线程检测到缓冲区转换完成标志,则将该线程目标内存添加到对应的舞台屏幕控制视频文件中,并释放该缓冲区。

另一方面,本发明还提供了一种电子设备,所述电子设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述的一种大型表演动态舞台视频并行加速显示方法。

另一方面,本发明还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述的一种大型表演动态舞台视频并行加速显示方法。

另一方面,本发明还提供了一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述的一种大型表演动态舞台视频并行加速显示方法。

有益效果

本发明提出的大型表演动态舞台视频并行加速显示方法,针对动态舞台造型提供并行加速的LED屏幕视频背景数字映射方案,在实现精准舞台造型视频背景的同时,降低了动态舞台管理的硬件复杂度,提高了内存利用效率和数据处理速度。

附图说明

图1为本发明实现的一种大型表演动态舞台视频并行加速显示方法流程图;

图2为一种动态舞台示意图;

图3为第二种动态舞台示意图;

图4为第三种动态舞台示意图;

图5为本发明实现的一种大型表演动态舞台视频并行加速显示方法的数据流图;

图6为无分批任务的并行执行情况示意图;

图7为分批任务直接并行执行情况示意图;

图8为分批任务改进并行执行情况示意图。

具体实施方式

下面结合附图,具体说明本发明的优选实施方式。

在大型表演中使用的立体动态多媒体舞台中,升降台的顶面和四周安装了可播放视频的LED板。升降台在升降和形成静止的舞台台型时,各个视频播放面显示与节目相配合的图片或者视频,升降台也因此成为了舞台背景的一部分。本发明针对大型表演中使用的动态舞台,提出一种统筹控制LED显示屏显示内容,并且使用并行处理进行加速的大型表演动态舞台视频并行加速显示方法。

图1为根据本发明实施例实现的大型表演动态舞台视频显示并行加速的流程图。图2和图3分别显示了两种动态舞台。如图2所示,大型表演动态舞台由多个舞台模块构成,舞台模块可能是正方体、长方体、也可能是异型舞台模块。舞台的每个模块都与滑轨相连,通过机械滑轨来控制舞台模块在前后或左右或上下方向移动。通过控制舞台模块的移动,可以形成不同的舞台造型。在图3所示舞台中,每个舞台模块的顶面和侧面都安装了可播放视频的LED显示屏。与显卡控制显示器输出类似,为了控制LED显示屏的显示,每块LED显示屏都有信号线与显示控制器连接,播控人员通过将显示信号输出到显示控制器,控制每块LED显示屏的显示内容。

由于动态舞台包含多个舞台模块,每个舞台模块输出的内容相配合形成了舞台的整体背景。在大型表演中,舞台模块上安装的LED显示屏数量巨大,往往包含成千上万块各种尺寸的显示屏。如果为每块显示屏单独设计显示内容,无疑将会耗费巨大的人力物力,而且加大了舞台设计人员的设计难度,也难以保证所有显示屏最终的合成效果。而且成千上万块高精度显示屏的显示信息需要的存储空间巨大,要对海量视频数据进行处理达到视频显示需要的高精度、低延迟和高帧速率,也是大型表演动态舞台视频显示面临的技术难题。

为解决上述技术问题,本实施例实现了一种大型表演动态舞台视频并行加速显示方法,如图1所示,包括以下步骤:

一、根据舞台整体显示效果,设计作为舞台背景的一个或多个源视频,并将每个源视频文件分解成视频帧序列;

根据本实施例提出的基于时空一致的大型表演动态舞台视频编辑显示方法,舞台设计人员不需要为每块显示屏单独设计显示内容,而是将所有舞台模块构成的舞台造型看做一个整体,根据舞台的整体显示效果设计背景。例如,如果所有舞台模块构成一块平整的大屏幕,设计人员只需要设计在这块大屏幕上显示的一个视频文件。复杂舞台的不同位置可能会显示不同视频,例如顶部立体舞台显示天空视频,地面立体舞台显示森林视频等,设计人员就需要为舞台背景制作多个源视频。图3所示的舞台全部由立方体舞台模块构成,也就是舞台模块顶面和侧面上安装的显示屏可能有上、左、右、前、后五个朝向,朝向相同的显示屏显示内容会组合成该朝向的舞台背景。位于舞台不同位置的观众看到的是不同的显示屏即不同的舞台背景。因此,设计人员需要为每个朝向设计不同的源视频,也就是为图3所示舞台设计五个源视频。对于复杂的舞台造型,例如在整体舞台中布置了多个图3所示的局部立体动态舞台造型,就需要为每个局部立体舞台设计五个源视频。

对于舞台设计人员来说,不需要关心舞台模块的显示屏是怎么设计安装的,只需要知道在某个具体时刻的舞台造型,并设计出作为舞台整体背景的源视频。

设计人员设计出源视频文件后,技术人员需要在复杂动态舞台上将视频文件作为背景进行显示。视频映射体现为在每一个具体时刻的图像映射,因此为了进行视频映射,需要将每个源视频文件分解成视频帧序列。

二、设置显示屏显示时间间隔,按照时间顺序在系统资源允许的情况下,为每一个显示时点并行开启一个生产者线程:

视频帧的时间间隔并不一定与舞台显示屏显示时间间隔一致,所以有可能要对视频帧进行采样或差值,得到对应于每个显示屏显示时点的帧图像。由于大型表演动态舞台的视频文件数据量巨大,对视频数据进行读取、转换、存储都要消耗大量的时间和空间资源,所以需要通过并行处理来对数据处理过程进行加速。本实施例开启了多个生产者线程,每个线程处理一个时点的帧图像转换。线程的数量由系统资源决定,例如可以让每个线程对应一个CPU内核,同时开启10个生产者线程,也就是可以同时处理10个时点的帧图像转换。当第1个时点处理完毕,就可以释放占用的资源,开始处理第11个时点的转换。每个生产者线程执行以下操作:

S1、为帧图像分配源内存,为显示屏分配目标内存;将该时点所有帧图像读入源内存;

S2、得到对应该时点的动态舞台造型,获取每个舞台模块中每块显示屏的空间位置、朝向和尺寸;

得到作为舞台整体背景的帧图像后,舞台技术人员需要将源图像精准映射到舞台模块的每块LED显示屏。为了进行精准映射,首先需要获取具体的舞台造型。由于动态舞台中每个舞台模块是随时间运动的,所以首先需要获取在进行映射的具体时刻每个舞台模块的位置,从舞台模块的位置和舞台模块的形状尺寸数据可以获得舞台模块上安装的每块显示屏的空间位置、朝向和尺寸数据。

S3、确定舞台模块显示屏对应的显示源图像,将显示屏在该源图像平面上展开,根据用户设置的显示屏展开后的几何形状与源图像的对应关系,得到每块显示屏在源图像中的对应分割区域;

为了建立源图像和舞台模块显示屏之间的对应关系,获得了每块显示屏的空间位置和尺寸之后,需要将显示屏在对应的源图像平面上进行展开。需要注意的是,即使是安装在同一个舞台模块表面的多块显示屏,由于每块显示屏的朝向不同,所以对应的源图像也是不同的。在如图3所示的动态舞台中,每个舞台模块表面的5块显示屏分别对应着5个源图像。所以在展开之前,需要确定每块显示屏对应的需要显示的源图像。这个对应关系可以由程序自动确定,例如在如图3所示的动态舞台中,由每块显示屏的朝向就可以确定对应的需要显示的源图像。在有的动态舞台中,需要由用户指定对应的需要显示的源图像。例如,图4展示了一种圆柱状排布的舞台模块。在整体舞台中包含多个圆柱,每个圆柱都是由如图4所示的舞台模块排布组成的。用户可以指定每个圆柱显示一张特定的图像。

建立了每块显示屏对应的需要显示的源图像之后,需要将显示屏在需要显示的源图像平面上进行展开。具体的展开策略由用户根据舞台特点和舞台设计进行设置。例如,对于图3所示的动态舞台,可以通过投影进行展开,即将每块显示屏投影在需要显示的源图像平面上。对于图4所示的圆柱状舞台,可以将平行于圆柱表面的所有显示屏平铺展开,相邻显示屏无缝连接,展开后得到一个矩形,再将舞台设计人员设计的需要在圆柱表面显示的源图像映射在这个矩形上。

将舞台模块显示屏在需要显示的源图像平面上展开后,还需要设置显示屏展开后的几何形状与源图像的对应关系。例如,在如图3所示的动态舞台中,将所有显示屏投影在对应的源图像平面后,得到的展开后几何形状可能不是一个矩形。用户可以根据显示屏的运动范围,将显示屏投影能够构成的最大矩形设置为与源图像相对应。或者用户可以在显示屏运动期间的每一个具体时刻获得一个包含所有显示屏投影的最小矩形,并将该矩形设置为与源图像相对应。由于展开后几何形状不是一个完整的矩形,设计人员需要在设计过程中考虑到舞台模块的运动有可能导致源图像部分内容缺失。在如图4所示的动态舞台中,将平行于圆柱表面的所有显示屏平铺展开得到的矩形与需要在圆柱表面显示的源图像相对应,可以得到将设计好的源图像包裹在圆柱表面的效果。

通过显示屏展开后的几何形状与源图像的对应关系,就可以得到每块显示屏在源图像中的对应分割区域。

S4、对所有显示屏循环执行以下操作:

S41、从对应源图像中分割出显示屏对应分割区域;

S42、将对应分割区域内容输出到显示屏的目标内存;

S43、将目标内存内容输出到舞台屏幕控制视频文件;

三、将包含所有时点的舞台屏幕控制视频文件顺序输出到显示控制器。

在步骤S3中得到每块显示屏在源图像中的对应分割区域后,步骤S4需要将每块显示屏的待显示内容从源图像中分割出来,并传输到显示屏进行输出。与显卡控制显示器输出类似,动态舞台每块LED显示屏也需要通过信号线连接到显示控制器。舞台技术人员将每块显示屏的待显示内容输出到显示控制器,显示屏通过信号线从显示控制器获得待输出内容并进行输出。

图5展示了根据本发明实施例的一种具体实现方式进行源图像分割转换的数据流图。如图5所示,要进行动态舞台数字显示映射时,首先将帧图像读入源内存,源内存内容在所有显示屏处理显示期间保持不变。得到每块显示屏在源图像中的对应分割区域后,由该分割区域可以计算得到区域中每个像素点相对于图像原点的偏移量,从而可以得到该像素点对应的源内存地址。分割区域中所有像素点对应的源内存地址单元组合在一起就构成了该分割区域对应的源内存地址空间。分割区域对应的源内存地址空间有可能是源内存中的一块连续地址空间,如图5中的分割区域2所示;也可能是源内存中一些离散的地址空间,如图5中的分割区域1所示。获得每块显示屏对应的分割区域源内存地址空间后,需要将该地址空间的内容按照显示屏像素点的顺序复制到目标内存,使得目标内存的内容与舞台显示屏在空间上保持一致性。最后将目标内存的内容输出到显示控制器。

在理想状况下,在每个显示时点,源图像经过转换实时输出到显示屏,这样就能在动态舞台的显示屏上看到动态视频背景。但是,在实际情况中,由于大型表演的动态舞台涉及成百上千块高分辨率显示屏,视频文件体量巨大,对每一帧源图像进行转换、复制、输出需要耗费很长的时间。因此,如果在每个显示的具体时刻进行视频帧图像的转换和输出,无法达到视频输出要求的帧速率,也就是无法实现实时视频背景显示的效果。

根据本发明实施例的一种具体实现方式,在每个显示时点,在步骤S43中将目标内存内容添加到舞台屏幕控制视频文件;需要显示的时候再将包含所有时点的舞台屏幕控制视频文件输出到显示控制器。也就是在表演之前完成源视频的转换和存储;在表演进行的时候,直接将已经处理好的舞台屏幕控制视频文件输出到显示控制器,从而可以实现大型表演动态舞台的视频背景显示效果。

在将源视频文件转换为舞台屏幕控制视频文件时,最重要的是保持舞台屏幕控制视频文件与显示屏显示的时间和空间关系相一致:时间一致是指每个舞台屏幕控制视频文件是不同显示时点显示内容顺序排列构成的,而空间一致是指每个舞台屏幕控制视频文件都是与舞台空间中具体的显示屏相对应的,只包含在对应显示屏中的显示内容。舞台屏幕控制视频文件完全不同于源视频,如果在普通电脑上直接播放舞台屏幕控制视频文件将会是琐碎凌乱难以理解的,但是如果输出到动态舞台的显示控制器,就可以正确控制显示屏的输出,多个显示屏的组合就可以显示正确的视频背景。

舞台屏幕控制视频文件有可能是一个,也可能是多个。对于简单的舞台,屏幕数量少,视频数据量小,一个舞台屏幕控制视频文件就可以满足需求;但是对于大型的复杂舞台,视频数据量非常大,如果只有一个视频文件进行控制,播放视频的时候很难达到流畅视频所需要的处理速度和帧速率,因此通常需要形成多个最终的舞台屏幕控制视频文件,每个文件控制部分屏幕。

由于系统中存在多个并行的生产者线程,如果由多个线程负责舞台屏幕控制视频文件的写入,则很难保证文件写入的时序正确,从而使得最后的显示屏视频发生帧时序错误。

根据本发明实施例的一种具体实现方式,每个生产者线程不负责舞台屏幕控制视频文件的写入,在执行完步骤S42后,设置缓冲区转换完成标志,等待消费者线程输出缓冲区;另外开启一个全局消费者线程,按照时间顺序请求目标内存,如果对应缓冲区转换完成则将该生产者线程的目标内存添加到舞台屏幕控制视频文件中,并释放该缓冲区。

与并行开启多个生产者缓冲区不同,为了保证输出的视频文件按照正确的顺序写入数据,本实施例只开启一个消费者线程,按照时间顺序请求目标内存,也就是首先请求第1个时点的目标内存,如果第1个时点对应的生产者线程转换完成,则将对应生产者线程的目标内存添加到舞台屏幕控制视频文件中,并释放该缓冲区。之后消费者线程请求第2个时点的目标内存。如果第2个时点对应的生产者线程还未完成转换,则消费者线程会一直等待。这样能够保证消费者线程把时点1的数据写完之后再写时点2的数据,保证输出的视频文件按照正确的顺序写入数据。

步骤二中得到了一个或多个舞台屏幕控制视频文件,就可以在表演时直接将舞台屏幕控制视频文件顺序输出到显示控制器,实现表演时的舞台视频背景。

根据本发明实施例的一种具体实现方式,还包括对分割区域进行图像编辑的步骤。

如图5所示,在显示屏显示过程中,经常需要对源内存的内容进行变换处理,也就是显示屏输出内容并非对源图像的简单复制,此时需要通过处理器将源内存的分割区域内容进行相应变换,如旋转、调色、缩放等图像编辑。例如,如果源图像对应分割区域与显示屏分辨率不一致,则需要对复制到目标内存空间的分割区域进行缩放,使得缩放后的分割区域与显示屏分辨率一致。

根据本发明实施例的一种具体实现方式,将所有显示屏根据所处位置分组,将每组显示屏的显示控制器合并,在步骤一中,为每组显示屏分配目标内存空间,在步骤S4中,以显示屏分组为单位循环执行图像分割和内存复制操作,按照显示屏排列顺序将组内每块显示屏对应分割区域复制到目标内存空间。

大型表演动态舞台面临的一个难题是对大量显示屏显示控制器的管理。最简单的情况是为每块显示屏设置一个显示控制器,但是这样就需要为每块显示屏单独设置管理程序和流程,例如,为每块显示屏分配目标内存空间,进行显示控制器的复制,然后再进行下一块显示屏的管理流程。采用这种方式,显示屏对应的目标内存空间使用完之后就可以进行回收,目标内存占用空间小,但是系统硬件和布线复杂,并且需要频繁的在各显示屏控制流程中进行切换,导致效率低下。另一种方式如图5所示,为所有显示屏设置一个显示控制器,这样系统硬件结构和管理程序很简单,但是由于大型表演涉及的显示屏数量巨大,导致需要分配过大的目标内存空间;另外,将目标内存复制到显示控制器的时候,由于空间太大导致每次复制要耗费很长的时间,不能适应大型表演要求的实时显示需求。

为解决对大量显示屏显示控制器的管理问题,根据本发明实施例的一种具体实现方式,采取了将显示屏分组的方法。为了方便硬件和布线,分组的原则是根据显示屏所处的位置。虽然显示屏在演出过程中是动态变化的,但是一般来说都会在一个局部范围内运动,将位置接近的显示屏进行分组,同组的显示屏共用一个显示控制器,会带来布线的方便和简洁,简化显示控制器的硬件管理。对显示屏进行分组后,将每个分组作为分配目标内存空间以及进行显示控制器复制的基本单位,会带来时间和空间效率的均衡。在进行目标内存空间分配时,根据具体硬件资源,可以同时分配例如5个显示屏分组的目标内存空间,当某个分组处理完毕,释放所占用内存,由其他分组获取内存资源进行相应数据处理。当根据显示屏分组进行内存分配时,需要按照显示屏排列顺序将组内每块显示屏对应分割区域复制到目标内存空间,最后将目标内存空间中的存储内容输出到该组显示屏的显示控制器。

根据本发明实施例的一种具体实现方式,对于具有遮挡关系的多层排列舞台,被遮挡的显示屏分组不进行目标内存复制操作;在将目标内存输出到显示控制器的过程中,直接复用位置最靠前未被遮挡的显示屏分组目标内存内容。

如图3所示,对于大型表演的立体动态舞台,舞台模块分为很多层次,往往具有遮挡关系。对观众来说,能看到的只是最前排的显示屏,后排的显示屏由于被遮挡,观众其实是看不到的。但是,如果被遮挡的显示屏不包含任何显示信号则会变成黑屏,黑屏在显示屏运动过程中有可能会展示出来,会极大的影响舞台背景效果。一种比较好的处理方式是后排显示屏复用前排显示屏的显示信息,这样可以获得最好的舞台背景效果。在显示屏显示过程中,对空间和时间资源的消耗主要体现在为显示屏分配目标内存,以及根据分割区域确定显示屏显示内容并将显示内容写入目标内存。根据本发明实施例的一种具体实现方式,后排显示屏复用前排显示屏的显示信息时,不进行目标内存复制操作;在将目标内存输出到显示控制器的过程中,直接复用位置最靠前未被遮挡的显示屏分组目标内存内容。这样,在为后排显示屏设置合适的显示信息的同时,极大的节约了系统的时间和空间资源。

根据本发明实施例的一种具体实现方式,排列显示屏分组的输出顺序,使得对于具有遮挡关系的多层排列舞台,按照从前到后的顺序进行输出,并为对应显示屏分组分配共用目标内存空间;在步骤S4中,首先判断显示屏分组是否被遮挡,碰到被遮挡的显示屏分组,直接复用共用目标内存空间的现有内容。

对于具有遮挡关系的显示屏,后排显示屏可以复用前排显示屏的显示信息,这种情况是可以提高显示效率的。因此,为了提高动态舞台的整体显示效率,根据本发明实施例的一种具体实现方式,排列显示屏分组的输出顺序,使得对于具有遮挡关系的多层排列舞台,按照从前到后的顺序进行输出,并为对应显示屏分组分配共用目标内存空间。在步骤S3中,首先判断显示屏分组是否被遮挡,碰到被遮挡的显示屏分组,直接复用共用目标内存空间的现有内容。在显示屏输出之前,事先排列显示屏分组的输出顺序,就使得所有被遮挡的显示屏分组都可以复用前排显示信息。由于大型表演动态舞台中遮挡情况非常多,从而可以极大提高舞台的数字显示效率。

根据本发明实施例的一种具体实现方式,为每个显示屏分组生成一个不同的视频文件;以显示屏分组为单位将每个生产者线程划分为多个批次,当线程i第p-1批次已经消费完成,并且线程i-1第p批次也已经消费完成时,开始执行线程i第p批次;消费者线程在任意一个生产者线程检测到缓冲区转换完成标志,则将该线程目标内存添加到对应的舞台屏幕控制视频文件中,并释放该缓冲区。

本发明通过并行的方式提高视频数据处理的速度。当对大量显示屏进行分组,并且考虑到遮挡情况下的复用,每个并行的生产者线程处理一个时点的帧图像,但是会将该帧图像以显示屏分组为单位进行显示图像处理和复制,也就是每个生产者线程划分为多个批次。由于以批次为数据处理单位,为遮挡情况下的内存复用提供了便利。同一个生产者线程中,不同批次的显示屏共用目标内存空间,当发现可以直接复用内存的情况时,就可以节省这个批次的图像处理和复制时间。但是,在没有划分批次的时候,为了保证输出的视频文件顺序正确,消费者线程采取的策略是把时点1的数据全部写完之后再写时点2的数据,如图6所示。当每个生产者线程划分为多个批次,如果再采用这种消费者线程的写入策略,会存在时间效率降低的问题,如图7所示。图中,每个线程任务都可以分解为读视频、处理图像和写视频三个步骤,处理图像时间较长,但是可以并行。读视频和写视频由于需要执行磁盘读写,只能串行执行。由图6和图7可见,要完成i+1任务的写入,即生成视频的i+1帧,需要保证视频的i帧处理完成,因此i+1任务的第一批次的写入操作延迟到i任务完全完成后才可以开始。以此类推,每个任务的开始要满足前一个任务完全完成后才可以进行,并行效率大大降低。在图7中,划分为3个批次后,t 时间内仅完成了2个任务。以前可以完成4个以上任务。

针对以上情况改进本实施例的并行处理策略:由于每个批次对应的是不同的显示屏分组,所以可以为每个显示屏分组设置独立的显示控制器,也就可以为每个显示屏分组生成一个不同的视频文件。当批次划分使不同批次包含的写入文件不同时,只需保证每一个视频文件的输出按帧序号进行。为了实现目标内存复用,在同一个生产者线程内,批次需要按顺序执行,但是i+1任务执行不需要等待i任务所有批次执行完毕才开始,只需要保证i任务p批次写操作完成,就可开始执行i+1任务的p之前的所有批次。如图8所示,批次并行算法改进后,磁盘读写时间充分利用,并行效率大幅提高。

另一方面,本发明还提供了一种电子设备,所述电子设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述的一种大型表演动态舞台视频并行加速显示方法。

另一方面,本发明还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述的一种大型表演动态舞台视频并行加速显示方法。

另一方面,本发明还提供了一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述的一种大型表演动态舞台视频并行加速显示方法。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称并不构成对该单元本身的限定。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。

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

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种通用大型表演动态舞台视频显示方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!