CN116567170A - 一种云平台的视频超分辨率并行调度方法、装置及云平台 - Google Patents
一种云平台的视频超分辨率并行调度方法、装置及云平台 Download PDFInfo
- Publication number
- CN116567170A CN116567170A CN202310659467.6A CN202310659467A CN116567170A CN 116567170 A CN116567170 A CN 116567170A CN 202310659467 A CN202310659467 A CN 202310659467A CN 116567170 A CN116567170 A CN 116567170A
- Authority
- CN
- China
- Prior art keywords
- video
- super
- server
- computing
- cloud platform
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 277
- 230000008569 process Effects 0.000 claims abstract description 230
- 238000004364 calculation method Methods 0.000 claims abstract description 71
- 230000011218 segmentation Effects 0.000 claims abstract description 14
- 238000011156 evaluation Methods 0.000 claims description 16
- 230000009191 jumping Effects 0.000 claims description 13
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 15
- 101100346656 Drosophila melanogaster strat gene Proteins 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种云平台视频超分辨率并行调度方法、装置及云平台,所述方法包括如下步骤:S1,选择参与任务计算的计算资源,根据参与计算的计算资源和云平台中不同类型服务器的超分计算能力评价数组P[]计算服务器在任务中的权重比Q[];S2,初始化预设数量的进程,其中每一进程位于一服务器中;主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频;主进程将所述分段后的视频发送给位于其他服务器的从进程进行超分辨重建;S3,主进程对从进程返回的超分后的视频帧数据进行合成封装。本发明的方法能够根据不同的计算性能的服务器上实现计算的负载均衡,不会造成数据等待。
Description
技术领域
本发明涉及任务调度技术领域,具体来说,涉及一种云平台的视频超分辨率并行调度方法、装置及云平台。
背景技术
视频超分辨率重建是指通过对多幅低分辨率的退化图像使用视频帧间的先验信息、相似性以及冗余信息来得到一幅或多幅超分辨率重建图像。视频超分辨率可以对老旧视频(包括电影电视动漫)进行修复,提升视频质量,提高客户观看体验,也可以使视频支持在更大的屏幕上播放。视频超分辨率的计算方法包括传统计算方法和基于神经网络的计算方法。在计算过程中需要将视频解码成原始图像,再将每一张或一组图像作为输入进行超分辨率计算,再将计算完成的图像重新编码得到新的视频。
视频超分辨率计算对算力的要求较高,因此通过在云平台上来提升视频超分的计算速度是有必要的,但是云平台中是由各种不同类型的计算资源组成,即云平台中不同种类的云服务器对视频超分的计算能力是完全不同的,因此单纯并行分配任务给可用的云服务器,会由于服务器计算能力的差异导致计算资源的浪费。如何调度多型号的云服务器来进行视频超分计算,提高计算资源利用率是亟待解决的难题。
传统的视频处超分计算仅支持多线程并行,通常按在计算单帧时采用多线程对超分核心计算函数进行加速,这些方法只能利用单台服务器的硬件资源,且加速效果有限。云平台由大量不同种类的云服务器组成,而传统的并行方法无法利用多台云服务器,不仅计算速度缓慢,并且造成很大资源浪费。
本文提供的背景描述用于总体上呈现本公开的上下文的目的。除非本文另外指示,在该章节中描述的资料不是该申请的权利要求的现有技术并且不要通过包括在该章节内来承认其成为现有技术。
发明内容
针对相关技术中的上述技术问题,本发明提出了一种云平台的视频超分辨率并行调度方法,其包括如下步骤:
S1,获取当前云平台可用计算资源并选择参与任务计算的计算资源,根据参与计算的计算资源和云平台中不同类型服务器的超分计算能力评价数组P[]计算服务器在任务中的权重比Q[];
S2,根据选择参与任务计算的计算资源初始化预设数量的进程,其中每一进程位于一服务器中;主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频;主进程将所述分段后的视频发送给位于其他服务器的从进程进行超分辨重建;
S3,主进程对从进程返回的超分后的视频帧数据进行合成封装获取超分后的视频。
具体的,云平台中不同服务器的超分计算能力评价数组P[]中的每一类型服务的超分计算能力为服务器运行预设时间段的视频测试样本的超分辨率计算完成的时间的倒数。
具体的,所述步骤S1具体为:
步骤1,获取当前云平台空闲资源;
步骤2,在云平台资源中选定M台服务器,作为视频超分辨率的计算任务提交平台;初始化计算权重占比数组Q,长度为M;
步骤3,初始化任务计算权重总和:Psum=0;
步骤4,初始化i=0,其中i表示选定参与超分计算任务的服务器编号;
步骤5,确定编号为i的服务器的服务器种类编号j;则编号i服务器的能力评价参数为P[j];
步骤6,令Psum=Psum+P[j];
步骤7,i=i+1;
步骤8,判断i是否小于M,若是,则返回步骤4,若否,则执行步骤9;
步骤9,获取参与计算任务的视频超分计算总权重Psum;
步骤10,初始化i=0,其中i表示选定参与超分计算任务的服务器编号;
步骤11,确定编号为i的服务器的服务器种类编号j;则编号i服务器的能力评价参数为P[j];
步骤12,计算编号为i的服务器的计算权重占比Q[i],Q[i]=P[j]/Psum;
步骤13,i=i+1;
步骤14,判断i是否小于M,若是,则返回步骤11,若否,则执行步骤15;
步骤15,获取参与计算任务的每一台服务器的视频超分计算权重值Q[i]。
具体的,所述主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频,其包括如下步骤:
步骤21、初始化时间数组Tstart,其长度为M,记录对应服务器分配的视频段起始时间;
步骤22、分析需要超分的视频,获得视频时长为Time;
步骤23、令Tstart[0]=0;
步骤24、初始化i=1,其中i表示选定参与超分计算任务的服务器编号;
步骤25、Tstrat[i]=Tstart[i-1]+Time*Q[i-1]
步骤26、令i=i+1;
步骤27、判断i是否小于M,若是,则返回步骤25,若否,则结束。
具体的,主进程根据Tstrat[]中的时间结点,定位时间结点附近关键帧号F[],根据关键帧号将视频流分段,将分段后的视频分发给从进程。
具体的,所述主进程根据Tstrat[]中的时间结点,定位时间结点附近关键帧号F[],根据关键帧号将视频流分段,将分段后的视频分发给从进程,具体包括:步骤1、初始化关键帧号数组F,其长度为M,每个元素表示对应Tstrat[]的附近的关键帧号;
步骤2、初始化i=0,其中,i表示数组索引;
步骤3、根据Tstrat[i]定位该时间结点附近的关键帧,其帧号为fi,令F[i]=fi,
步骤4、令i=i+1;
步骤7、判断i是否小于M,若是,则返回步骤3,若否,则执行步骤8;
步骤8、初始化i=0,其中,i表示数组索引;
步骤9、如果i等于0,则不发送数据,跳转步骤12;如果i大于0且i小于M-1,则跳转步骤10;如果i等于M-1则跳转步骤11;
步骤10、主进程将F[i]至F[i+1]-1帧的数据发送给从进程i,跳转步骤12;
步骤11、主进程将F[i]至最后帧的数据发送给从进程i;
步骤12、令i=i+1;
步骤13、判断i是否小于M,若是,则返回步骤5,若否,则跳转步骤14;
步骤14、进程i接收主进程发送的视频帧,i不等于0。
具体的,所述从进程并行地对获得的视频帧数据进行解码,超分和编码的计算,获得超分后的视频帧数据。
具体的,所述步骤S3包括:所述主进程将超分完成的视频帧按照进程号进行排序,并将所述排序后的视频帧数据进行合成封装获取超分后的视频。
第二方面,本发明的另一个实施例公开了一种云平台的视频超分辨率并行调度装置,包括如下单元:
权重比计算单元,用于获取当前云平台可用计算资源并选择参与任务计算的计算资源,根据参与计算的计算资源和云平台中不同类型服务器的超分计算能力评价数组P[]计算服务器在任务中的权重比Q[];
任务切分单元,用于根据选择参与任务计算的计算资源初始化预设数量的进程,其中每一进程位于一服务器中;主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频;主进程将所述分段后的视频发送给位于其他服务器的从进程进行超分辨重建;
合成封装单元,主进程对从进程返回的超分后的视频帧数据进行合成封装获取超分后的视频。
第三方面,本发明的另一个实施例公开了一种云平台,所述云平台包括N中不同类型的服务器,所述云平台所述服务器用于实现上述的云平台的视频超分辨率并行调度方法。
第四方面,本发明的另一个实施例公开了一种非易失性存储器,所述非易失性存储器上存储有指令,所述指令被处理器执行时,用于实现上述的云平台的视频超分辨率并行调度方法。
本发明的云平台的视频超分辨率并行调度方法,设置基准测试程序,根据基准测试程序评价云平台中的不同服务器的超分计算能力;根据当前云平台可用计算资源选择参与任务计算的计算资源,根据参与计算的计算资源和对应的计算能力评价计算服务器在任务中的权重比;根据计算的权重比值,在主进程中对需要超分的视频进行分割;主进程将切割好的任务通过消息传递接口发送给位于其他服务器的从进程;所有的进程并行地进行视频解码、视频超分辨率计算和视频编码;最终将计算完的视频流传回主进程;在主进程中将收集的数据合并成一个视频,任务完成。本发明的方法能够根据不同的计算性能的服务器上实现计算的负载均衡,不会造成数据等待;此外,基于消息传递接口实现多进程,充分利用云平台资源,显著提升视频超分的计算速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种云平台超分辨率并行调度方法流程图;
图2是本发明实施例提供的一种云平台超分辨率并行调度装置示意图;
图3是本发明实施例提供的一种云平台超分辨率并行调度设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参考图1,本实施例公开了一种云平台视频超分辨率并行调度方法,其包括如下步骤:
S1,获取当前云平台可用计算资源并选择参与任务计算的计算资源,根据参与计算的计算资源和云平台中不同类型服务器的超分计算能力评价数组P[]计算服务器在任务中的权重比Q[];
云平台由大量不同种类的云服务器组成,但不同种类的云服务器对视频超分的计算能力是完全不同的。因此,本实施例会先度量云平台中不同服务器的超分计算能力,并根据服务器的超分计算能力来设置参与超分辨计算任务的权重比。
具体的,本实施例设置基准测试程序,根据基准测试程序评价云平台中的不同服务器的超分计算能力;
具体的,本实施例的云平台中不同服务器的超分计算能力评价数组P[]中的每一类型服务的超分计算能力为服务器运行预设时间段的视频测试样本的超分辨率计算完成的时间的倒数。
具体如下:
步骤1,取一段预设时间的视频作为视频测试样本;本实施例的预设时间为10s;
步骤2,获取云平台全部云服务器型号;有N种不同型号的云服务器,初始化时间数组T,长度为N;初始化视频超分辨率计算能力评价数组P,长度为N;
步骤3,初始化i=0,其中i表示云服务器种类编号;
步骤4,在第i种云服务器上对视频进行解码;
步骤5,在第i种云服务器上对解码后的视频进行超分辨率计算;
步骤6,在第i种云服务器上对超分完成后的视频进行编码;
步骤7,记录步骤4-6所用的时间为T[i];
步骤8,计算视频超分辨率计算能力评价数组P[i],P[i]=1/T[i];
步骤9,i=i+1;
步骤10,判断i是否小于N,若是,则返回步骤4,若否,则执行步骤11;
步骤11,结束,获得不同类型服务器的视频超分辨率计算能力评价数组P[i];
进一步的,在对视频进行超分辨率计算时,云平台的服务器会在执行不同的任务,每一个服务器可供使用的计算资源不同。本实施例需要先获取云平台中的可用计算资源
步骤1,获取当前云平台空闲资源;
步骤2,在云平台资源中选定M台服务器,作为视频超分辨率的计算任务提交平台;初始化计算权重占比数组Q,长度为M;
步骤3,初始化任务计算权重总和:Psum=0;
步骤4,初始化i=0,其中i表示选定参与超分计算任务的服务器编号;
步骤5,确定编号为i的服务器的服务器种类编号j;则编号i服务器的能力评价参数为P[j];
步骤6,令Psum=Psum+P[j];
步骤7,i=i+1;
步骤8,判断i是否小于M,若是,则返回步骤4,若否,则执行步骤9;
步骤9,获取参与计算任务的视频超分计算总权重Psum;
步骤10,初始化i=0,其中i表示选定参与超分计算任务的服务器编号;
步骤11,确定编号为i的服务器的服务器种类编号j;则编号i服务器的能力评价参数为P[j];
步骤12,计算编号为i的服务器的计算权重占比Q[i],Q[i]=P[j]/Psum;
步骤13,i=i+1;
步骤14,判断i是否小于M,若是,则返回步骤11,若否,则执行步骤15;
步骤15,获取参与计算任务的每一台服务器的视频超分计算权重值Q[i];
S2,根据选择参与任务计算的计算资源初始化预设数量的进程,其中每一进程位于一服务器中;主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频;主进程将所述分段后的视频发送给位于其他服务器的从进程进行超分辨重建;
具体的,本实施例首先根据选择参与任务计算的计算资源初始化预设数量的进程,本实施例选择参与任务计算的计算资源为服务器,因此,根据选择参与计算的服务器的数量(本实施例参与计算的服务器的数量为M),初始化M个进程,并为每一个进程赋予一进程号。
当需要面向云平台进行并行视频超分计算时,首先需要初始化进程数目和进程号,其中进程数目与参与计算的服务器数量一致,每一台服务器分配得到一个进程,进程数目为M,进程号k∈{0,1,…,M-1}。
具体的,在一个实施方式中,选择进程号k=0作为主进程,其他进程号作为从进程。在该实施方式中主进程除了需要进行对需要超分的视频进行时间划分,并将划分好的视频时间片发送给从进程,最后对从进程返回的超分后的视频帧进行合并封装外,也参与对视频的超分辨率重建的具体的计算。
在另一个实施例方式中,也可以初始化一个主进程,该主进程不参与对视频的超分辨率重建的具体的计算,仅需要进行对需要超分的视频进行时间划分,并将划分好的视频时间片发送给从进程,最后对从进程返回的超分后的视频帧进行合并封装。
具体的,本实施例的主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频,其包括如下步骤:
步骤21、初始化时间数组Tstart,其长度为M,记录对应服务器分配的视频段起始时间;
步骤22、分析需要超分的视频,获得视频时长为Time;
步骤23、令Tstart[0]=0;
步骤24、初始化i=1,其中i表示选定参与超分计算任务的服务器编号;
步骤25、Tstrat[i]=Tstart[i-1]+Time*Q[i-1]
步骤26、令i=i+1;
步骤27、判断i是否小于M,若是,则返回步骤25,若否,则结束;
进一步的,主进程根据Tstrat[]中的时间结点,定位时间结点附近关键帧号F[],根据关键帧号将视频流分段,将分段后的视频分发给从进程。
具体的,压缩的视频帧中分为中间帧和关键帧,中间帧都是依赖于关键帧进行解压缩,因此对视频分段时需要从关键帧开始;
具体的,可以包括以下步骤:
步骤1、初始化关键帧号数组F,其长度为M,每个元素表示对应Tstrat[]的附近的关键帧号;
步骤2、初始化i=0,其中,i表示数组索引;
步骤3、根据Tstrat[i]定位该时间结点附近的关键帧,其帧号为fi,令F[i]=fi,
步骤4、令i=i+1;
步骤7、判断i是否小于M,若是,则返回步骤3,若否,则执行步骤8;
步骤8、初始化i=0,其中,i表示数组索引;
步骤9、如果i等于0,则不发送数据,因为0号进程为主进程,跳转步骤12;如果i大于0且i小于M-1,则跳转步骤10;如果i等于M-1则跳转步骤11;
步骤10、主进程将F[i]至F[i+1]-1帧的数据发送给从进程i,跳转步骤12;
步骤11、主进程将F[i]至最后帧的数据发送给从进程i;
步骤12、令i=i+1;
步骤13、判断i是否小于M,若是,则返回步骤5,若否,则跳转步骤14;
步骤14、进程i接收主进程发送的视频帧,i不等于0(主进程不接收只发送)
例如,以M=4为例,总共帧数为2000,主进程中将视频帧进行切分,关键帧号数组F为1、200、600、1200。切分发送后每个进程的帧序列如表1所示。
表1每个进程(服务器)处理的帧序列
进程号 | 帧初始编号 | 帧结束编号 |
0 | 1 | 199 |
1 | 200 | 599 |
2 | 600 | 1199 |
3 | 1200 | 2000 |
具体的,所有的从进程在每台服务器上接收主进程发送的数据;所有的从进程并行地对获得的视频帧数据进行解码,超分和编码的计算,获得超分后的视频帧数据。
具体的,可以包括以下步骤:
步骤1、进程i对接收的视频帧进行处理,i=(0,1,2,…N-1)
步骤2、进程i对分配的视频帧进行解码,得到M张原始图像;
步骤3、初始化j=0,其中,j表示原始图像编号;
步骤4、进程i中,将第j张图像作为输入,进行超分辨率计算;
步骤5、进程i中,输出完成超分计算的图像j;
步骤6、令j=j+1;
步骤7、判断j是否小于M,若是,则返回步骤4,若否,则执行步骤8;
步骤8、进程i中,得到M张完成超分计算的图像;
步骤9、进程i对M张完成超分计算的图像进行编码压缩;得到超分并编号后的视频帧;
S3,主进程对从进程返回的超分后的视频帧数据进行合成封装获取超分后的视频。
从进程中会将超分后的数据传回至主进程,在主进程中将收集的超分后的视频帧合成并封装。
具体的,所述主进程将超分完成的视频帧按照进程号进行排序,并将所述排序后的视频帧数据进行合成封装获取超分后的视频。
步骤1、进程i向主进程发送的超分完成的视频帧,i不等于0(只有从进程发送)
步骤2、主进程接收从进程发送的超分完成的视频帧;
步骤3、主进程把超分完成的视频帧按照进程号进行排序;
步骤4、主进程把超分完成的视频帧合成;
步骤5、将视频帧封装成视频;
步骤6、结束;
本实施例的云平台的视频超分辨率并行调度方法,设置基准测试程序,根据基准测试程序评价云平台中的不同服务器的超分计算能力;根据当前云平台可用计算资源选择参与任务计算的计算资源,根据参与计算的计算资源和对应的计算能力评价计算服务器在任务中的权重比;根据计算的权重比值,在主进程中对需要超分的视频进行分割;主进程将切割好的任务通过消息传递接口发送给位于其他服务器的从进程;所有的进程并行地进行视频解码、视频超分辨率计算和视频编码;最终将计算完的视频流传回主进程;在主进程中将收集的数据合并成一个视频,任务完成。本实施例的方法能够根据不同的计算性能的服务器上实现计算的负载均衡,不会造成数据等待;此外,基于消息传递接口实现多进程,充分利用云平台资源,显著提升视频超分的计算速度。
实施例二
参考图2,一种云平台视频超分辨率并行调度装置,其包括如下单元:
权重比计算单元,用于获取当前云平台可用计算资源并选择参与任务计算的计算资源,根据参与计算的计算资源和云平台中不同类型服务器的超分计算能力评价数组P[]计算服务器在任务中的权重比Q[];
具体的,本实施例设置基准测试程序,根据基准测试程序评价云平台中的不同服务器的超分计算能力;
具体的,本实施例的云平台中不同服务器的超分计算能力评价数组P[]以及计算权重比可以参考实施例一的方式,本实施例不在赘述。
任务切分单元,用于根据选择参与任务计算的计算资源初始化预设数量的进程,其中每一进程位于一服务器中;主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频;主进程将所述分段后的视频发送给位于其他服务器的从进程进行超分辨重建;
具体的,本实施例首先根据选择参与任务计算的计算资源初始化预设数量的进程,本实施例选择参与任务计算的计算资源为服务器,因此,根据选择参与计算的服务器的数量(本实施例参与计算的服务器的数量为M),初始化M个进程,并为每一个进程赋予一进程号。
当需要面向云平台进行并行视频超分计算时,首先需要初始化进程数目和进程号,其中进程数目与参与计算的服务器数量一致,每一台服务器分配得到一个进程,进程数目为M,进程号k∈{0,1,…,M-1}。
具体的,在一个实施方式中,选择进程号k=0作为主进程,其他进程号作为从进程。在该实施方式中主进程除了需要进行对需要超分的视频进行时间划分,并将划分好的视频时间片发送给从进程,最后对从进程返回的超分后的视频帧进行合并封装外,也参与对视频的超分辨率重建的具体的计算。
在另一个实施例方式中,也可以初始化一个主进程,该主进程不参与对视频的超分辨率重建的具体的计算,仅需要进行对需要超分的视频进行时间划分,并将划分好的视频时间片发送给从进程,最后对从进程返回的超分后的视频帧进行合并封装。
具体的,本实施例的主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频,其包括如下步骤:
步骤1、初始化时间数组Tstart,其长度为M,记录对应服务器分配的视频段起始时间;
步骤2、分析需要超分的视频,获得视频时长为Time;
步骤3、令Tstart[0]=0;
步骤4、初始化i=1,其中i表示选定参与超分计算任务的服务器编号;
步骤5、Tstrat[i]=Tstart[i-1]+Time*Q[i-1]
步骤6、令i=i+1;
步骤7、判断i是否小于M,若是,则返回步骤5,若否,则结束;
进一步的,主进程根据Tstrat[]中的时间结点,定位时间结点附近关键帧号F[],根据关键帧号将视频流分段,将分段后的视频分发给从进程。
具体的,压缩的视频帧中分为中间帧和关键帧,中间帧都是依赖于关键帧进行解压缩,因此对视频分段时需要从关键帧开始;
具体的,可以包括以下步骤:
步骤1、初始化关键帧号数组F,其长度为M,每个元素表示对应Tstrat[]的附近的关键帧号;
步骤2、初始化i=0,其中,i表示数组索引;
步骤3、根据Tstrat[i]定位该时间结点附近的关键帧,其帧号为fi,令F[i]=fi,
步骤4、令i=i+1;
步骤7、判断i是否小于M,若是,则返回步骤3,若否,则执行步骤8;
步骤8、初始化i=0,其中,i表示数组索引;
步骤9、如果i等于0,则不发送数据,因为0号进程为主进程,跳转步骤12;如果i大于0且i小于M-1,则跳转步骤10;如果i等于M-1则跳转步骤11;
步骤10、主进程将F[i]至F[i+1]-1帧的数据发送给从进程i,跳转步骤12;
步骤11、主进程将F[i]至最后帧的数据发送给从进程i;
步骤12、令i=i+1;
步骤13、判断i是否小于M,若是,则返回步骤5,若否,则跳转步骤14;
步骤14、进程i接收主进程发送的视频帧,i不等于0(主进程不接收只发送)
例如,以M=4为例,总共帧数为2000,主进程中将视频帧进行切分,关键帧号数组F为1、200、600、1200。切分发送后每个进程的帧序列如实施例一的表1所示。
具体的,所有的从进程在每台服务器上接收主进程发送的数据;所有的进程并行地对获得的视频帧数据进行解码,超分和编码的计算,获得超分后的视频帧数据。
具体的,可以包括以下步骤:
步骤1、进程i对接收的视频帧进行处理,i=(0,1,2,…N-1)
步骤2、进程i对分配的视频帧进行解码,得到M张原始图像;
步骤3、初始化j=0,其中,j表示原始图像编号;
步骤4、进程i中,将第j张图像作为输入,进行超分辨率计算;
步骤5、进程i中,输出完成超分计算的图像j;
步骤6、令j=j+1;
步骤7、判断j是否小于M,若是,则返回步骤4,若否,则执行步骤8;
步骤8、进程i中,得到M张完成超分计算的图像;
步骤9、进程i对M张完成超分计算的图像进行编码压缩;得到超分并编号后的视频帧;
合成封装单元,主进程对从进程返回的超分后的视频帧数据进行合成封装获取超分后的视频。
从进程中会将超分后的数据传回至主进程,在主进程中将收集的超分后的视频帧合成并封装。
步骤1、进程i向主进程发送的超分完成的视频帧,i不等于0(只有从进程发送);
步骤2、主进程接收从进程发送的超分完成的视频帧;
步骤3、主进程把超分完成的视频帧按照进程号进行排序;
步骤4、主进程把超分完成的视频帧合成;
步骤5、将视频帧封装成视频;
步骤6、结束;
本实施例的云平台的视频超分辨率并行调度方法,设置基准测试程序,根据基准测试程序评价云平台中的不同服务器的超分计算能力;根据当前云平台可用计算资源选择参与任务计算的计算资源,根据参与计算的计算资源和对应的计算能力评价计算服务器在任务中的权重比;根据计算的权重比值,在主进程中对需要超分的视频进行分割;主进程将切割好的任务通过消息传递接口发送给位于其他服务器的从进程;所有的进程并行地进行视频解码、视频超分辨率计算和视频编码;最终将计算完的视频流传回主进程;在主进程中将收集的数据合并成一个视频,任务完成。本实施例的方法能够根据不同的计算性能的服务器上实现计算的负载均衡,不会造成数据等待;此外,基于消息传递接口实现多进程,充分利用云平台资源,显著提升视频超分的计算速度。
实施例三
参考图3,图3是本实施例的一种云平台视频超分辨率并行调度设备的结构示意图。该实施例的云平台视频超分辨率并行调度设备20包括处理器21、存储器22以及存储在所述存储器22中并可在所述处理器21上运行的计算机程序。所述处理器21执行所述计算机程序时实现上述方法实施例中的步骤。或者,所述处理器21执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器22中,并由所述处理器21执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述云平台视频超分辨率并行调度设备20中的执行过程。例如,所述计算机程序可以被分割成实施例二中的各个模块,各模块具体功能请参考上述实施例所述的装置的工作过程,在此不再赘述。
所述云平台视频超分辨率并行调度设备20可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是云平台视频超分辨率并行调度设备20的示例,并不构成对云平台视频超分辨率并行调度设备20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述云平台视频超分辨率并行调度设备20还可以包括输入输出设备、网络接入设备、总线等。
所述处理器21可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述云平台视频超分辨率并行调度设备20的控制中心,利用各种接口和线路连接整个云平台视频超分辨率并行调度设备20的各个部分。
所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述云平台视频超分辨率并行调度设备20的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述云平台视频超分辨率并行调度设备20集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器21执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种云平台视频超分辨率并行调度方法,其特征在于:包括如下步骤:
S1,获取当前云平台可用计算资源并选择参与任务计算的计算资源,根据参与计算的计算资源和云平台中不同类型服务器的超分计算能力评价数组P[]计算服务器在任务中的权重比Q[];
S2,根据选择参与任务计算的计算资源初始化预设数量的进程,其中每一进程位于一服务器中;主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频;主进程将所述分段后的视频发送给位于其他服务器的从进程进行超分辨重建;
S3,主进程对从进程返回的超分后的视频帧数据进行合成封装获取超分后的视频。
2.根据权利要求1所述的方法,其特征在于:云平台中不同服务器的超分计算能力评价数组P[]中的每一类型服务的超分计算能力为服务器运行预设时间段的视频测试样本的超分辨率计算完成的时间的倒数。
3.根据权利要求1所述的方法,其特征在于:所述步骤S1具体为:
步骤1,获取当前云平台空闲资源;
步骤2,在云平台资源中选定M台服务器,作为视频超分辨率的计算任务提交平台;初始化计算权重占比数组Q,长度为M;
步骤3,初始化任务计算权重总和:Psum=0;
步骤4,初始化i=0,其中i表示选定参与超分计算任务的服务器编号;
步骤5,确定编号为i的服务器的服务器种类编号j;则编号i服务器的能力评价参数为P[j];
步骤6,令Psum=Psum+P[j];
步骤7,i=i+1;
步骤8, 判断i是否小于M,若是,则返回步骤4,若否,则执行步骤9;
步骤9,获取参与计算任务的视频超分计算总权重Psum;
步骤10,初始化i=0,其中i表示选定参与超分计算任务的服务器编号;
步骤11,确定编号为i的服务器的服务器种类编号j;则编号i服务器的能力评价参数为P[j];
步骤12,计算编号为i的服务器的计算权重占比Q[i],Q[i]=P[j]/Psum;
步骤13,i=i+1;
步骤14, 判断i是否小于M,若是,则返回步骤11,若否,则执行步骤15;
步骤15,获取参与计算任务的每一台服务器的视频超分计算权重值Q[i]。
4.根据权利要求3所述的方法,其特征在于:所述主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频,其包括如下步骤:
步骤21、初始化时间数组,其长度为M,记录对应服务器分配的视频段起始时间;
步骤22、分析需要超分的视频,获得视频时长为Time;
步骤23、令[0]=0;
步骤24、初始化,其中i表示选定参与超分计算任务的服务器编号;
步骤25、;
步骤26、令i=i+1;
步骤27、判断i是否小于M,若是,则返回步骤25,若否,则结束。
5.根据权利要求4所述的方法,其特征在于:主进程根据[]中的时间结点,定位时间结点附近关键帧号F[],根据关键帧号将视频流分段,将分段后的视频分发给从进程。
6.根据权利要求5所述的方法,其特征在于:所述主进程根据[]中的时间结点,定位时间结点附近关键帧号F[],根据关键帧号将视频流分段,将分段后的视频分发给从进程,具体包括:步骤1、初始化关键帧号数组F,其长度为M,每个元素表示对应/>[]的附近的关键帧号;
步骤2、初始化,其中,/>表示数组索引;
步骤3、根据[i]定位该时间结点附近的关键帧,其帧号为/>,令/>,
步骤4、令i=i+1;
步骤7、判断i是否小于M,若是,则返回步骤3,若否,则执行步骤8;
步骤8、初始化,其中,/>表示数组索引;
步骤9、如果i等于0,则不发送数据,跳转步骤12;如果i大于0且i小于M-1,则跳转步骤10;如果i等于M-1则跳转步骤11;
步骤10、主进程将至/>-1帧的数据发送给从进程i,跳转步骤12;
步骤11、主进程将至最后帧的数据发送给从进程i;
步骤12、令i=i+1;
步骤13、判断i是否小于M,若是,则返回步骤5,若否,则跳转步骤14;
步骤14、进程i接收主进程发送的视频帧,i不等于0。
7.根据权利要求6所述的方法,其特征在于:所述从进程并行地对获得的视频帧数据进行解码,超分和编码的计算,获得超分后的视频帧数据。
8.根据权利要求1所述的方法,其特征在于:所述步骤S3包括:所述主进程将超分完成的视频帧按照进程号进行排序,并将所述排序后的视频帧数据进行合成封装获取超分后的视频。
9.一种云平台视频超分辨率并行调度装置,其特征在于:包括如下单元:
权重比计算单元,用于获取当前云平台可用计算资源并选择参与任务计算的计算资源,根据参与计算的计算资源和云平台中不同类型服务器的超分计算能力评价数组P[]计算服务器在任务中的权重比Q[];
任务切分单元,用于根据选择参与任务计算的计算资源初始化预设数量的进程,其中每一进程位于一服务器中;主进程按照视频总时长、进程数、和进程对应服务器的权重比Q[]对需要超分的视频进行时间划分得到分段后的视频;主进程将所述分段后的视频发送给位于其他服务器的从进程进行超分辨重建;
合成封装单元,主进程对从进程返回的超分后的视频帧数据进行合成封装获取超分后的视频。
10.一种云平台,其特征在于:所述云平台包括N中不同类型的服务器,所述云平台所述服务器用于实现如权利要求1-8中任一项所述的云平台的视频超分辨率并行调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310659467.6A CN116567170A (zh) | 2023-06-06 | 2023-06-06 | 一种云平台的视频超分辨率并行调度方法、装置及云平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310659467.6A CN116567170A (zh) | 2023-06-06 | 2023-06-06 | 一种云平台的视频超分辨率并行调度方法、装置及云平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116567170A true CN116567170A (zh) | 2023-08-08 |
Family
ID=87489887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310659467.6A Pending CN116567170A (zh) | 2023-06-06 | 2023-06-06 | 一种云平台的视频超分辨率并行调度方法、装置及云平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116567170A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116863408A (zh) * | 2023-09-04 | 2023-10-10 | 成都智慧城市信息技术有限公司 | 基于监控摄像头ai算法的并行加速和动态调度实现方法 |
CN117687802A (zh) * | 2024-02-02 | 2024-03-12 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于云平台的深度学习并行调度方法、装置和云平台 |
-
2023
- 2023-06-06 CN CN202310659467.6A patent/CN116567170A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116863408A (zh) * | 2023-09-04 | 2023-10-10 | 成都智慧城市信息技术有限公司 | 基于监控摄像头ai算法的并行加速和动态调度实现方法 |
CN116863408B (zh) * | 2023-09-04 | 2023-11-21 | 成都智慧城市信息技术有限公司 | 基于监控摄像头ai算法的并行加速和动态调度实现方法 |
CN117687802A (zh) * | 2024-02-02 | 2024-03-12 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于云平台的深度学习并行调度方法、装置和云平台 |
CN117687802B (zh) * | 2024-02-02 | 2024-04-30 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于云平台的深度学习并行调度方法、装置和云平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924783B2 (en) | Video coding method, system and server | |
CN116567170A (zh) | 一种云平台的视频超分辨率并行调度方法、装置及云平台 | |
CN108989885B (zh) | 视频文件转码系统、分割方法、转码方法及装置 | |
CN108810657B (zh) | 一种设置视频封面的方法和系统 | |
US11943489B2 (en) | Method and system for automatic real-time frame segmentation of high resolution video streams into constituent features and modifications of features in each frame to simultaneously create multiple different linear views from same video source | |
CN112532998B (zh) | 抽取视频帧的方法、装置、设备和可读存储介质 | |
CN113473126A (zh) | 视频流的处理方法、装置、电子设备及计算机可读介质 | |
CN116483587B (zh) | 一种基于图像分割的视频超分并行方法、服务器及介质 | |
CN112714338B (zh) | 视频传输、播放方法、装置、计算机设备及存储介质 | |
CN113132418A (zh) | 一种可变等级加密方法、系统及装置 | |
CN108282670A (zh) | 用于实时影像合成的代码转换器 | |
CN108391142B (zh) | 一种视频增强的方法及相关设备 | |
CN114245173B (zh) | 一种图像压缩方法、装置、终端设备和存储介质 | |
JP2017192080A (ja) | 画像圧縮装置、画像復号装置、画像圧縮方法及び画像圧縮プログラム | |
CN110418197B (zh) | 一种视频转码方法、装置和计算机可读存储介质 | |
CN113453075A (zh) | 多路视频的解码方法、装置、电子设备及存储介质 | |
CN110868596A (zh) | 分布式编码方法、装置、电子设备及可读存储介质 | |
CN116204201B (zh) | 业务处理方法和装置 | |
CN115460189B (zh) | 处理设备测试方法、装置、计算机及存储介质 | |
CN112437303B (zh) | 一种jpeg解码方法及装置 | |
US20240080478A1 (en) | Point cloud encoding and decoding method and apparatus, computer, and storage medium | |
CN113055673B (zh) | 视频流的处理方法、装置、电子设备和存储介质 | |
CN116668712A (zh) | 媒体转码方法、设备及存储介质 | |
CN114040224B (zh) | 获取倒放视频的方法、装置、设备和可读存储介质 | |
US20240236388A1 (en) | Method and system for automatic real-time frame segmentation of high resolution video streams into constituent features and modifications of features in each frame to simultaneously create multiple different linear views from same video source |
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 |