一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于画质监控的帧队列管理方法及系统与流程

2022-11-23 17:41:50 来源:中国专利 TAG:


1.本技术实施例涉及视频编码技术领域,尤其涉及一种基于画质监控的帧队列管理方法及系统。


背景技术:

2.目前,在视频转码系统中,需要将主播端上传的源流视频通过转码得到多种不同码率、分辨率的转码视频,以使用不同场景下的观看需求。为了能够及时发现转码视频的画质异常,会对转码视频进行画质监控,以实现转码视频的画质优化,提升用户体验。目前主要的转码视频画质监控方案为vmaf(video multimethod assessment fusion,视频多方法评估融合),采用多种评价手段融合的方式,能较好地和用户的主观感受相适应。基于vmaf进行画质监控时,通过将实时转码的视频帧放入视频帧队列,通过vmaf服务线程从视频帧队列中提取视频帧计算转码视频的vmaf值,以对应的vmaf值来精准表征转码视频的画质。
3.但是,在画质监控过程中投入过多的计算资源会影响主线程的转码任务,导致转码任务负荷较大,源流视频转码效率偏低。


技术实现要素:

4.本技术实施例提供一种基于画质监控的帧队列管理方法及系统,能够适应性调整进行画质监控计算的视频帧队列,避免vmaf服务线程占用过多计算资源而影响源流视频转码效率,解决现有画质监控任务导致转码任务负荷过大的技术问题。
5.在第一方面,本技术实施例提供了一种基于画质监控的帧队列管理方法,包括:
6.记录每帧送入帧队列的视频帧与前一视频帧的送入时间差,并记录帧队列中的每帧视频帧的画质监控计算时间;
7.基于各个送入时间差确定平均时间差,基于各个画质监控计算时间确定平均计算时间;
8.基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。
9.在第二方面,本技术实施例提供了一种基于画质监控的帧队列管理系统,包括:
10.记录模块,配置为记录每帧送入帧队列的视频帧与前一视频帧的送入时间差,并记录帧队列中的每帧视频帧的画质监控计算时间;
11.计算模块,配置为基于各个送入时间差确定平均时间差,基于各个画质监控计算时间确定平均计算时间;
12.调整模块,配置为基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。
13.在第三方面,本技术实施例提供了一种基于画质监控的帧队列管理设备,包括:
14.存储器以及一个或多个处理器;
15.所述存储器,配置为存储一个或多个程序;
16.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理
器实现如第一方面所述的基于画质监控的帧队列管理方法。
17.在第四方面,本技术实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行如第一方面所述的基于画质监控的帧队列管理方法。
18.在第五方面,本技术实施例提供了一种计算机程序产品,所述计算机程序产品中包含有指令,当指令在计算机或处理器上运行时,使得计算机或处理器执行如第一方面所述的基于画质监控的帧队列管理方法
19.本技术实施例通过记录每帧送入帧队列的视频帧与前一视频帧的送入时间差,并记录帧队列中的每帧视频帧的画质监控计算时间。进而基于各个送入时间差确定平均时间差,基于各个画质监控计算时间确定平均计算时间。之后,基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。采用上述技术手段,根据帧队列的画质监控计算时间和视频帧送入时间的比对结果以评估vmaf服务线程对计算资源的占用情况,通过调整帧队列的视频帧送入频率以避免vmaf服务线程占用过多计算资源而影响源流视频转码效率,保障编码线程的正常转码作业。在不影响用户观看体验的情况下,尽可能进行画质监控计算,优化画质监控计算效果。
附图说明
20.图1是本技术实施例提供的一种基于画质监控的帧队列管理方法的流程图;
21.图2是本技术实施例的帧队列送帧频率调整示意图;
22.图3是本技术实施例的帧队列送帧频率调节流程图;
23.图4是本技术实施例提供的一种基于画质监控的帧队列管理系统的结构示意图;
24.图5是本技术实施例提供的一种基于画质监控的帧队列管理设备的结构示意图。
具体实施方式
25.为了使本技术的目的、技术方案和优点更加清楚,下面结合附图对本技术具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
26.本技术提供的一种基于画质监控的帧队列管理方法,旨在根据帧队列的画质监控计算时间和视频帧送入时间的比对结果以评估vmaf服务线程对计算资源的占用情况,进而在确定当前vmaf服务线程进行画质监控计算会占用过多计算资源的情况下,通过调整帧队列的视频帧送入频率,以避免vmaf服务线程占用过多计算资源而影响源流视频转码效率,保障编码线程的正常转码作业。相对于传统的画质监控计算方案,其在进行画质监控计算时,一般都是直接将完成转码的视频帧直接放入帧队列,以使vmaf服务线程直接从视频帧队列中提取视频帧计算转码视频的vmaf值。在帧队列长度较大时,则vmaf服务线程会使用
较多的计算资源进行画质监控计算,以此会导致在画质监控过程中投入过多的计算资源,影响转码线程的转码任务,导致转码任务负荷较大,源流视频转码效率偏低。基于此,提供本技术实施例的一种基于画质监控的帧队列管理方法,以解决现有画质监控任务导致转码任务负荷过大的技术问题。
27.实施例:
28.图1给出了本技术实施例提供的一种基于画质监控的帧队列管理方法的流程图,本实施例中提供的基于画质监控的帧队列管理方法可以由基于画质监控的帧队列管理设备执行,该基于画质监控的帧队列管理设备可以通过软件和/或硬件的方式实现,该基于画质监控的帧队列管理设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该基于画质监控的帧队列管理设备可以是转码系统后台、编码服务器、电脑等计算设备。
29.下述以该基于画质监控的帧队列管理设备为执行基于画质监控的帧队列管理方法的主体为例,进行描述。参照图1,该基于画质监控的帧队列管理方法具体包括:
30.s110、记录每帧送入帧队列的视频帧与前一视频帧的送入时间差,并记录帧队列中的每帧视频帧的画质监控计算时间。
31.本技术实施例在进行帧队列管理时,通过比对帧队列视频帧送入的平均时间差和平均计算时间,根据比对结果判断当前画质监控计算速度是否满足视频帧队列放入视频帧的频率,若是,则表示当前画质监控计算无需投入更多的计算资源;反之,则需要投入更多的计算资源。而由于投入过多计算资源会影响系统主线程(即转码线程)的转码任务执行,进而影响转码视频流分发效率。因此需要适应性调整帧队列送入视频帧的频率,以此来避免vmaf服务线程过多占用计算资源。
32.在视频转码场景中,对于主播端实时上传的视频源流,通过编码线程进行转码得到转码视频流后,将完成转码的转码视频流按照视频帧顺序逐帧放入帧队列中,然后由系统的vmaf服务线程提取帧队列的视频帧进行vmaf计算。
33.具体地,如图2所示,提供本技术实施例的的帧队列送帧频率调整示意图。对于编码线程完成编码的视频帧,会逐帧放入帧队列中,然后由vmaf服务线程从帧队列中提取进行vmaf计算,进而将vmaf计算结果(即画质监控结果)返回给编码线程。在此过程中,vmaf服务线程通过适应性调节帧队列的送帧频率,以在不影响用户观看体验的情况下,尽可能进行画质监控计算,优化画质监控计算效果。
34.编码线程在引入视频帧进行vmaf计算时不能阻塞编码线程的正常运行,其用于提交待计算的视频帧给vmaf服务线程,然后从vmaf服务线程获取计算结果,以根据计算结果获知转码视频流的画质情况。vmaf服务线程是单独的服务线程,其用于从帧队列中获取待计算的视频帧进行vmaf计算,将计算结果提交给编码线程。若帧队列中无数据,则vmaf服务线程挂起,直到有可以计算的视频帧到来。
35.对于待进行vmaf计算的帧队列,需要适应性调节其视频帧送入的频率,以保证帧队列始终维持在一个平稳的状态,避免帧队列无限制增长(如cpu计算资源不足导致vmaf服务线程的计算频率小于帧队列送入视频帧的频率导致的帧队列增长)。
36.vmaf服务线程通过实时记录每帧送入帧队列的视频帧与前一帧送入帧队列的视频帧之间的送入时间差,即帧队列中相邻两帧视频帧的送入时间差,记录第i次相邻两次送
入帧队列视频帧的送入时间差为ii。另一方面,需要记录帧队列中的每帧视频帧的画质监控计算时间,记为ti。通过记录该送入时间差和画质监控计算时间,以用于后续进行帧队列送帧频率的调节。
37.s120、基于各个送入时间差确定平均时间差,基于各个画质监控计算时间确定平均计算时间。
38.进一步地,基于实时记录的送入时间差和画质监控计算时间,本技术实施例通过各个送入时间差计算得到帧队列的视频帧送入平均时间差,通过各个画质监控计算时间计算得到帧队列每一帧视频帧的平均计算时间。通过比对该平均时间差和平均计算时间,即可确定帧队列的增长情况,进而适应性进行帧队列送入频率调节。
39.可选地,为了避免频繁根据平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率,本技术实施例通过设定一个指定数量,在已送入帧队列的视频帧数量等于指定数量的情况下,基于各个送入时间差和指定数量计算平均时间差,基于各个画质监控计算时间和指定数量计算平均计算时间。
40.示例性地,在主播端开播后,其实时生成的视频源流会上报至系统进行转码得到相应的转码视频流,然后转码视频流会逐帧放入帧队列进行vmaf计算。此时从第一帧放入帧队列的视频帧开始统计,在已送入帧队列的视频帧数量等于指定数量的情况下,触发进行平均时间差和平均计算时间的计算,进而根据计算结果进行比对调节帧队列视频帧送入频率。
41.可选地,本技术实施例设定该指定数量为10,当满足i=10时,分别统计平均时间差和平均计算时间,进而比较两者进行帧队列的视频帧送入频率调节。
42.其中,在i=10时,平均时间差的计算公式为:
[0043][0044]
其中,表示i=10时计算的平均时间差,ik表示i=10时帧队列中每相邻的两帧视频帧计算的送入时间差;
[0045]
平均计算时间的计算公式为:
[0046][0047]
其中,t
10
表示i=10时计算的平均计算时间,tk表示i=10时帧队列中每次视频帧的画质监控计算时间。
[0048]
进一步地,在已送入帧队列的视频帧数量大于指定数量的情况下,基于前一视频帧计算的平均时间差和当前视频帧计算的送入时间差,使用预设定的第一影响参数计算平均时间差,基于前一视频帧计算的平均计算时间和当前视频帧的画质监控计算时间,使用预设定的第二影响参数计算平均计算时间。
[0049]
其中,在已送入帧队列的视频帧数量大于指定数量的情况下,平均时间差的计算公式为:
[0050][0051]
其中,表示对应当前视频帧计算的平均时间差,θ表示第一影响参数,表示对应当前视频帧的前一视频帧计算的平均时间差,i
i 1
表示对应当前视频帧计算的送入时间差;
[0052]
平均计算时间的计算公式为:
[0053][0054]
其中,表示对应当前视频帧计算的平均计算时间,φ表示第二影响参数,表示对应当前视频帧的前一视频帧计算的平均计算时间,t
i 1
表示当前视频帧的画质监控计算时间。
[0055]
根据实际测验,在以送入帧队列的视频帧数量大于指定数量的情况下,对应当前帧计算的平均时间差,前一帧视频帧计算的平均时间差和当前帧与前一视频帧的送入时间差影响。对应当前帧计算的平均计算时间,受前一帧视频帧计算的平均计算时间和当前帧的画质监控时间影响。基于此,本技术实施例通过设定相应的第一影响影响参数和第二影响参数,并构建上述公式(3)和(4),以精准计算对应的平均时间差和平均计算时间。
[0056]
可选地,第一影响影响参数θ和第二影响参数φ取0.4,根据实际测算需求,该第一影响影响参数θ和第二影响参数φ可适应性选择合适的取值,在此不做固定限制。
[0057]
s130、基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。
[0058]
最终,基于上述计算得到的平均时间差和平均计算时间,通过比对两者的大小,即可确定vmaf服务线程的计算频率与帧队列送入视频帧的频率的比较情况,进而确定当前vmaf服务线程的画质监控计算是否会占用到编码线程的计算资源,影响编码线程的正常运行。
[0059]
可选地,为了避免频繁进行帧队列送帧频率调节,本技术实施例在已送入帧队列的视频帧数量等于指定数量时,根据平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。之后,当已送入帧队列的视频帧数量大于指定数量时,进一步根据已送入帧队列的视频帧数量选择相应的时机,根据平均时间差和平均计算时间的比对结果进行视频帧送入频率的调节。
[0060]
具体地,参照图3,本技术实施例的帧队列送帧频率调节流程包括:
[0061]
s1301、将设定比例系数与平均时间差的乘积作为时间差阈值;
[0062]
s1302、在平均计算时间大于时间差阈值的情况下,调低帧队列的视频帧送入频率;在平均计算时间小于或等于时间差阈值的情况下,维持帧队列的视频帧送入频率不变,时间差阈值小于平均时间差。
[0063]
该时间差阈值限制了平均计算时间的最小值,当平均计算时间小于或等于该时间差阈值时,表明当前系统的计算资源满足vmaf服务线程的画质监控计算,不会影响到编码线程运行,此时维持帧队列的视频帧送入频率不变。当平均计算时间大于该时间差阈值时,表明当前vmaf服务线程的画质监控计算所需的计算资源超标,可能会占用到编码线程的计
算资源,此时需要调低帧队列的视频帧送入频率,避免前vmaf服务线程过分占用系统计算资源。
[0064]
进一步地,本技术实施例在平均计算时间大于时间差阈值,且小于或等于平均时间差的情况下,调低帧队列的视频帧送入频率为初始送入频率的第一设定比例;在平均计算时间大于平均时间差的情况下,调低帧队列的视频帧送入频率为初始送入频率的第二设定比例,第一设定比例大于第二设定比例。
[0065]
示例性地,在已送入帧队列的视频帧数量等于指定数量的情况下,确定时间差阈值为α为该设定比例系数,本技术实施例取值为0.3。根据实际测验,可对该设定比例系进行适应性设定。若此时认为计算机的负载足够计算vmaf,因此不需要做任何保护措施。若此时计算vmaf计算会给系统编码线程的整体转码带来较大负荷。则此时控制帧队列送入视频帧帧的频率为初始送入频率的第一设定比例,第一设定比例取值为0.5。若则表示此时计算vmaf的负载会严重影响系统编码线程的运行,则此时控制帧队列送入视频帧帧的频率为初始送入频率的第二设定比例,第一设定比例取值为0.1。根据实际调节需要,第一设定比例和第二设定比例可适应性设定取值,在此不做固定限制。
[0066]
进一步地,在已送入帧队列的视频帧数量为目标数量的整数倍时,基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。
[0067]
示例性地,当已送入帧队列的视频帧数量i》10时,更新平均时间差为同时每计算出一帧vmaf,也更新平均计算时间为
[0068]
进而在已送入帧队列的视频帧数量为目标数量的整数倍时,参照上述平均时间差和平均计算时间的比对方式,调节帧队列的视频帧送入频率。可选地,目标数量取值为100,即每当满足已送入帧队列的视频帧数量i%100==0时,重复上述平均时间差和平均计算时间的比对流程,进而根据比对结果调整帧队列的视频帧送入频率,以此来实现本技术适应性调节帧队列的视频帧送入频率的完整流程。
[0069]
可选地,在一个实施例中,对于该帧队列,还通过实时记录帧队列的队列长度,在队列长度超出设定长度阈值的情况下,停止向帧队列送入视频帧。可以理解的是,由于帧队列的长度无限增长会使得系统计算资源被vmaf服务线程过分占用,严重影响系统编码线程的运行。基于此,本技术实施例在转码过程中,任何时刻只要帧队列的长度大于长度阈值,均停止送帧至帧队列,以此来进一步保障编码线程的正常转码作业。
[0070]
上述,通过记录每帧送入帧队列的视频帧与前一视频帧的送入时间差,并记录帧队列中的每帧视频帧的画质监控计算时间。进而基于各个送入时间差确定平均时间差,基于各个画质监控计算时间确定平均计算时间。之后,基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。采用上述技术手段,根据帧队列的画质监控计算时
间和视频帧送入时间的比对结果以评估vmaf服务线程对计算资源的占用情况,通过调整帧队列的视频帧送入频率以避免vmaf服务线程占用过多计算资源而影响源流视频转码效率,保障编码线程的正常转码作业。在不影响用户观看体验的情况下,尽可能进行画质监控计算,优化画质监控计算效果。
[0071]
在上述实施例的基础上,图4为本技术提供的一种基于画质监控的帧队列管理系统的结构示意图。参考图4,本实施例提供的基于画质监控的帧队列管理系统具体包括:记录模块21、计算模块22和调整模块23。
[0072]
其中,记录模块21配置为记录每帧送入帧队列的视频帧与前一视频帧的送入时间差,并记录帧队列中的每帧视频帧的画质监控计算时间;
[0073]
计算模块22配置为基于各个送入时间差确定平均时间差,基于各个画质监控计算时间确定平均计算时间;
[0074]
调整模块23配置为基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。
[0075]
具体地,计算模块22配置为在已送入帧队列的视频帧数量等于指定数量的情况下,基于各个送入时间差和指定数量计算平均时间差,基于各个画质监控计算时间和指定数量计算平均计算时间;在已送入帧队列的视频帧数量大于指定数量的情况下,基于前一视频帧计算的平均时间差和当前视频帧计算的送入时间差,使用预设定的第一影响参数计算平均时间差,基于前一视频帧计算的平均计算时间和当前视频帧的画质监控计算时间,使用预设定的第二影响参数计算平均计算时间。
[0076]
具体地,
[0077]
在已送入帧队列的视频帧数量大于指定数量的情况下,平均时间差的计算公式为:
[0078][0079]
其中,表示对应当前视频帧计算的平均时间差,θ表示第一影响参数,表示对应当前视频帧的前一视频帧计算的平均时间差,i
i 1
表示对应当前视频帧计算的送入时间差;
[0080]
平均计算时间的计算公式为:
[0081][0082]
其中,t
i 1
表示对应当前视频帧计算的平均计算时间,φ表示第二影响参数,表示对应当前视频帧的前一视频帧计算的平均计算时间,t
i 1
表示当前视频帧的画质监控计算时间。
[0083]
具体地,调整模块23配置为将设定比例系数与平均时间差的乘积作为时间差阈值;在平均计算时间大于时间差阈值的情况下,调低帧队列的视频帧送入频率;在平均计算时间小于或等于时间差阈值的情况下,维持帧队列的视频帧送入频率不变,时间差阈值小于平均时间差。
[0084]
其中,在平均计算时间大于时间差阈值,且小于或等于平均时间差的情况下,调低
帧队列的视频帧送入频率为初始送入频率的第一设定比例;在平均计算时间大于平均时间差的情况下,调低帧队列的视频帧送入频率为初始送入频率的第二设定比例,第一设定比例大于第二设定比例。
[0085]
在已送入帧队列的视频帧数量为目标数量的整数倍时,基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。
[0086]
此外,该基于画质监控的帧队列管理系统还用于实时记录帧队列的队列长度,在队列长度超出设定长度阈值的情况下,停止向帧队列送入视频帧。
[0087]
上述,通过记录每帧送入帧队列的视频帧与前一视频帧的送入时间差,并记录帧队列中的每帧视频帧的画质监控计算时间。进而基于各个送入时间差确定平均时间差,基于各个画质监控计算时间确定平均计算时间。之后,基于平均时间差和平均计算时间的比对结果调整帧队列的视频帧送入频率。采用上述技术手段,根据帧队列的画质监控计算时间和视频帧送入时间的比对结果以评估vmaf服务线程对计算资源的占用情况,通过调整帧队列的视频帧送入频率以避免vmaf服务线程占用过多计算资源而影响源流视频转码效率,保障编码线程的正常转码作业。在不影响用户观看体验的情况下,尽可能进行画质监控计算,优化画质监控计算效果。
[0088]
本技术实施例提供的基于画质监控的帧队列管理系统可以配置为执行上述实施例提供的基于画质监控的帧队列管理方法,具备相应的功能和有益效果。
[0089]
在上述实际上例的基础上,本技术实施例还提供了一种基于画质监控的帧队列管理设备,参照图5,该基于画质监控的帧队列管理设备包括:处理器31、存储器32、通信模块33、输入装置34及输出装置35。存储器32作为一种计算机可读存储介质,可配置为存储软件程序、计算机可执行程序以及模块,如本技术任意实施例所述的基于画质监控的帧队列管理方法对应的程序指令/模块(例如,基于画质监控的帧队列管理系统中的记录模块、计算模块和调整模块)。通信模块配置为进行数据传输。处理器31通过运行存储在存储器中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于画质监控的帧队列管理方法。输入装置34可配置为接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置35可包括显示屏等显示设备。上述提供的基于画质监控的帧队列管理设备可配置为执行上述实施例提供的基于画质监控的帧队列管理方法,具备相应的功能和有益效果。
[0090]
在上述实施例的基础上,本技术实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行一种基于画质监控的帧队列管理方法,存储介质可以是任何的各种类型的存储器设备或存储设备。当然,本技术实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于画质监控的帧队列管理方法,还可以执行本技术任意实施例所提供的基于画质监控的帧队列管理方法中的相关操作。
[0091]
在上述实施例的基础上,本技术实施例还提供一种计算机程序产品,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机程序产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备、移动终端或其中的处理器执行本技术各个实施例所述基于画质监控的帧队列管理方法的全部或部分步骤。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献