CN116567170A - 一种云平台的视频超分辨率并行调度方法、装置及云平台 - Google Patents

一种云平台的视频超分辨率并行调度方法、装置及云平台 Download PDF

Info

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
Application number
CN202310659467.6A
Other languages
English (en)
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.)
Hunan Malanshan Video Advanced Technology Research Institute Co ltd
Original Assignee
Hunan Malanshan Video Advanced Technology Research Institute Co 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 Hunan Malanshan Video Advanced Technology Research Institute Co ltd filed Critical Hunan Malanshan Video Advanced Technology Research Institute Co ltd
Priority to CN202310659467.6A priority Critical patent/CN116567170A/zh
Publication of CN116567170A publication Critical patent/CN116567170A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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中任一项所述的云平台的视频超分辨率并行调度方法。
CN202310659467.6A 2023-06-06 2023-06-06 一种云平台的视频超分辨率并行调度方法、装置及云平台 Pending CN116567170A (zh)

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)

* Cited by examiner, † Cited by third party
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 湖南马栏山视频先进技术研究院有限公司 一种基于云平台的深度学习并行调度方法、装置和云平台

Cited By (4)

* Cited by examiner, † Cited by third party
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