视频的质量检测方法、装置、电子设备及可读存储介质与流程

文档序号:32523926发布日期:2022-12-13 20:28阅读:34来源:国知局
视频的质量检测方法、装置、电子设备及可读存储介质与流程

1.本技术实施例涉及多媒体技术领域,特别涉及一种视频的质量检测方法、装置、电子设备及可读存储介质。


背景技术:

2.随着多媒体技术的不断发展,依托于互联网的流媒体视频(例如直播视频、游戏视频等)已逐渐成为人们日常生活和工作的重要组成部分。通常情况下,需要对视频进行编码处理,而不同的编码方案会得到不同程度的失真视频,因此,对视频进行质量检测变为尤为重要。
3.相关技术中,可以基于目标编码方案对多个原始视频帧进行编码处理,得到各原始视频帧的编码数据,再对各原始视频帧的编码数据进行解码处理,得到各原始视频帧对应的解码视频帧。之后,基于任一个原始视频帧和该原始视频帧对应的解码视频帧计算得到该原始视频帧对应的质量指标,基于各个原始视频帧对应的质量指标确定目标编码方案对应的质量指标,以利用目标编码方案对应的质量指标反映在基于目标编码方案进行编码处理的情况下的视频质量。
4.然而,基于原始视频帧和对应的解码视频帧计算得到原始视频帧对应的质量指标的方式耗时较多,导致目标编码方案对应的质量指标的获取效率较低。


技术实现要素:

5.本技术提供了一种视频的质量检测方法、装置、电子设备及可读存储介质,可用于解决相关技术中目标编码方案对应的质量指标的获取效率较低的问题,所述技术方案包括如下内容。
6.一方面,提供了一种视频的质量检测方法,所述方法包括:
7.在基于目标编码方案对原始视频帧进行编码处理的过程中,获取所述原始视频帧的编码数据,并从参考数量个原始视频帧中抽取目标视频帧,所述参考数量小于所述原始视频帧的帧数;
8.对所述原始视频帧的编码数据进行解码处理,得到所述原始视频帧对应的解码视频帧;
9.基于所述目标视频帧和所述目标视频帧对应的解码视频帧,确定所述目标视频帧对应的第一质量指标,所述目标视频帧对应的第一质量指标用于反映所述目标视频帧对应的解码视频帧的视频质量;
10.基于所述目标视频帧对应的第一质量指标,确定其他视频帧对应的第二质量指标,所述其他视频帧是所述原始视频帧中除所述目标视频帧之外的视频帧;
11.基于所述目标视频帧对应的第一质量指标和所述其他视频帧对应的第二质量指标,确定所述目标编码方案对应的第三质量指标,所述目标编码方案对应的第三质量指标用于反映在基于所述目标编码方案进行编码处理的情况下的视频质量。
12.另一方面,提供了一种视频的质量检测装置,所述装置包括:
13.获取模块,用于在基于目标编码方案对原始视频帧进行编码处理的过程中,获取所述原始视频帧的编码数据,并从参考数量个原始视频帧中抽取目标视频帧,所述参考数量小于所述原始视频帧的帧数;
14.解码模块,用于对所述原始视频帧的编码数据进行解码处理,得到所述原始视频帧对应的解码视频帧;
15.确定模块,用于基于所述目标视频帧和所述目标视频帧对应的解码视频帧,确定所述目标视频帧对应的第一质量指标,所述目标视频帧对应的第一质量指标用于反映所述目标视频帧对应的解码视频帧的视频质量;
16.所述确定模块,还用于基于所述目标视频帧对应的第一质量指标,确定其他视频帧对应的第二质量指标,所述其他视频帧是所述原始视频帧中除所述目标视频帧之外的视频帧;
17.所述确定模块,还用于基于所述目标视频帧对应的第一质量指标和所述其他视频帧对应的第二质量指标,确定所述目标编码方案对应的第三质量指标,所述目标编码方案对应的第三质量指标用于反映在基于所述目标编码方案进行编码处理的情况下的视频质量。
18.在一种可能的实现方式中,所述确定模块,用于确定目标抽帧参数,所述目标抽帧参数用于指示抽取一个目标视频帧所需的原始视频帧的参考数量;从所述目标抽帧参数所指示的参考数量个原始视频帧中抽取目标视频帧。
19.在一种可能的实现方式中,所述确定模块,用于确定目标编码速度,所述目标编码速度用于反映在基于所述目标编码方案对所述原始视频帧进行编码处理时,单位时间内编码原始视频帧的数量;统计历史视频帧对应的质量指标所需的确定时长,所述历史视频帧是历史确定质量指标的原始视频帧;基于所述目标编码速度和所述确定时长,确定所述目标抽帧参数。
20.在一种可能的实现方式中,所述确定模块,用于确定第一视频帧和第二视频帧,所述第一视频帧是在确定历史视频帧对应的质量指标之前,基于所述目标编码方案进行编码处理时的原始视频帧,所述第二视频帧是在确定所述历史视频帧对应的质量指标之后,基于所述目标编码方案进行编码处理时的原始视频帧;基于所述第一视频帧和所述第二视频帧,确定所述目标抽帧参数。
21.在一种可能的实现方式中,所述确定模块,用于获取权重系数和所述其他视频帧的编码数据,所述权重系数包括所述目标视频帧对应的第一质量指标的权重系数和所述其他视频帧的编码数据的权重系数中的至少一项;基于所述权重系数、所述目标视频帧对应的第一质量指标和所述其他视频帧的编码数据,确定所述其他视频帧对应的第二质量指标。
22.在一种可能的实现方式中,所述目标视频帧的数量为多个;
23.所述确定模块,用于从多个目标视频帧中确定满足帧序号条件的相关视频帧;基于权重系数、所述相关视频帧对应的质量指标和所述其他视频帧的编码数据,确定所述其他视频帧对应的第二质量指标。
24.在一种可能的实现方式中,所述满足帧序号条件的相关视频帧包括以下至少一
项:
25.帧序号小于所述其他视频帧的帧序号且与所述其他视频帧的帧序号之差不大于第一阈值的目标视频帧;
26.帧序号大于所述其他视频帧的帧序号且与所述其他视频帧的帧序号之差不大于第二阈值的目标视频帧。
27.在一种可能的实现方式中,该装置还包括:
28.所述获取模块,还用于获取参考视频序列,所述参考视频序列包括多个参考视频帧;
29.编码模块,用于基于所述目标编码方案和目标编码速度对各个参考视频帧进行编码处理,得到所述各个参考视频帧的编码数据;
30.所述解码模块,还用于对所述各个参考视频帧的编码数据进行解码处理,得到所述各个参考视频帧对应的解码视频帧;
31.所述确定模块,还用于基于所述各个参考视频帧和所述各个参考视频帧对应的解码视频帧,确定所述各个参考视频帧对应的质量指标;
32.抽取模块,用于从目标抽帧参数所指示的参考数量个参考视频帧中抽取第三视频帧;
33.所述确定模块,还用于基于所述第三视频帧对应的质量指标、第四视频帧对应的编码数据和所述第四视频帧对应的质量指标,确定所述权重系数,所述第四视频帧是所述多个参考视频帧中除所述第三视频帧之外的视频帧。
34.在一种可能的实现方式中,在第一线程中对所述原始视频帧进行编码处理,在第二线程中对所述目标视频帧的编码数据进行解码处理,在第三线程中确定所述目标视频帧对应的第一质量指标,所述第一线程、所述第二线程和所述第三线程是不同的线程。
35.另一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以使所述电子设备实现上述任一所述的视频的质量检测方法。
36.另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一所述的视频的质量检测方法。
37.另一方面,还提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一种视频的质量检测方法。
38.本技术提供的技术方案至少带来如下有益效果:
39.本技术提供的技术方案通过抽帧的方式,实现了一部分原始视频帧对应的质量指标是采用目标视频帧对应的第一质量指标的确定方式来确定的,另一部分原始视频帧对应的质量指标是基于其他视频帧对应的第二质量指标的确定方式来确定的。由于第二质量指标的确定方式所需的时间要小于第一质量指标的确定方式所需的时间,因此,确定第二质量指标所需要的时间有所减小,从而减小了确定目标编码方案对应的第三质量指标所需的时间,提高了第三质量指标的获取效率。
附图说明
40.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本技术实施例提供的一种视频的质量检测方法的实施环境示意图;
42.图2是本技术实施例提供的一种视频的质量检测方法的流程图;
43.图3是本技术实施例提供的一种视频的质量检测方法的示意图;
44.图4是本技术实施例提供的一种质量指标的确定示意图;
45.图5是本技术实施例提供的一种视频的质量检测装置的结构示意图;
46.图6是本技术实施例提供的一种终端设备的结构示意图;
47.图7是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
48.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
49.图1是本技术实施例提供的一种视频的质量检测方法的实施环境示意图,如图1所示,该实施环境包括终端设备101和服务器102。
50.终端设备101可以是智能手机、游戏主机、台式计算机、平板电脑、膝上型便携计算机、智能电视、智能车载设备、智能语音交互设备、智能家电等。服务器102可以为一台服务器,或者为多台服务器组成的服务器集群,或者为云计算平台和虚拟化中心中的任意一种,本技术实施例对此不加以限定。服务器102可以与终端设备101通过有线网络或无线网络进行通信连接。服务器102可以具有数据处理、数据存储以及数据收发等功能,在本技术实施例中不加以限定。终端设备101和服务器102的数量不受限制,可以是一个或多个。
51.本技术提供的实施例可基于云技术(cloud technology)实现。云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
52.云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
53.对于多媒体技术领域,通常情况下,在传输视频之前,需要对视频进行编码处理。所谓的对视频进行编码处理就是指通过压缩技术,将原始视频格式的视频转换成另一种视频格式的视频的方式。由于编码处理涉及到压缩技术,因此,编码处理会使视频失真。不同的编码方案会对视频造成不同程度的失真,因此,常需要对视频进行质量检测。
54.相关技术中,可以基于目标编码方案对多个原始视频帧依次进行编码处理、解码处理之后,得到各原始视频帧对应的解码视频帧。对于任一个原始视频帧,基于该原始视频
帧和该原始视频帧对应的解码视频帧计算得到该原始视频帧对应的质量指标。之后,基于各个原始视频帧对应的质量指标确定目标编码方案对应的质量指标。由于上述基于原始视频帧和原始视频帧对应的解码视频帧计算得到原始视频帧对应的质量指标的方式耗时较多,导致获取目标编码方案对应的质量指标所需的时间较多,目标编码方案对应的质量指标的获取效率较低。
55.本技术实施例提供了一种视频的质量检测方法,该方法可应用于上述实施环境中,能够提高目标编码方案对应的质量指标的获取效率。以图2所示的本技术实施例提供的一种视频的质量检测方法的流程图为例,该方法可由图1中的终端设备101或者服务器102执行,也可以由终端设备101和服务器102共同执行。为便于描述,将执行本技术实施例中的视频的质量检测方法的终端设备101或者服务器102称为电子设备,该方法可以由电子设备来执行。如图2所示,该方法包括如下步骤。
56.步骤201,在基于目标编码方案对原始视频帧进行编码处理的过程中,获取原始视频帧的编码数据,并从参考数量个原始视频帧中抽取目标视频帧。
57.本技术实施例中,原始视频帧可以是与云技术相关的视频帧,例如,原始视频帧是与云游戏、云渲染等相关的视频帧。原始视频帧还可以是与视频直播、视频通话、线上会议等相关的视频帧。
58.在云游戏、云渲染、视频直播、视频通话、线上会议等通讯场景中,电子设备基于目标编码方案对原始视频帧进行编码处理。可选地,电子设备每获取到一个原始视频帧,在计算资源充足的情况下,立即基于目标编码方案对该原始视频帧进行编码处理,得到该原始视频帧的编码数据,从而实现对原始视频帧进行实时编码处理。
59.本技术实施例不对目标编码方案做限定,示例性地,目标编码方案为h.26x编码方案、运动图像专家组(motion picture experts group,mpeg)编码方案、高级可视化系统(advanced visualization system,avs)编码方案、真实媒体动态比特率(real media variable bitrate,rmvb)编码方案等。
60.无论何种目标编码方案,任一个原始视频帧的编码数据均包括该原始视频帧对应的编码块的数量、该原始视频帧对应的残差信号指标、该原始视频帧对应的编码数据的数据量、该原始视频帧对应的平均运动方向矢量、该原始视频帧对应的帧内预测块的数据量和该原始视频帧对应的帧间预测块的数据量等中的至少一项数据。
61.其中,对原始视频帧进行编码处理时,需要先对原始视频帧进行分块,再对每一个块进行编码处理,得到对应的编码块,因此,原始视频帧对应的编码块的数量为对原始视频帧进行分块后得到的块的数量,其中,原始视频帧对应的编码块可以分为帧内预测块和帧间预测块。原始视频帧对应的残差信号指标用于衡量原始视频帧对应的残差信号的大小,可以采用绝对变换差之和(sum of absolute transformed difference,satd)来衡量。原始视频帧对应的编码数据的数据量用于衡量原始视频帧对应的编码数据的大小,单位通常为比特。原始视频帧对应的平均运动方向矢量包括水平方向的运动矢量和垂直方向的运动矢量,水平方向的运动矢量常记为x方向的运动矢量,用于表征每次从左向右移动时经过的像素点的数量,垂直方向的运动矢量常记为y方向的运动矢量,用于表征每次从上向下移动时经过的像素点的数量。
62.需要说明的是,在对原始视频帧进行编码处理时,可以先对原始视频帧进行地虚
拟背景、美颜、降噪、暗场景增强等前处理,以调整原始视频帧的画质,得到原始视频帧对应的前处理帧,接着,对原始视频帧对应的前处理帧进行编码处理,得到原始视频帧的编码数据。这种情况下,步骤205确定的目标编码方案对应的第三质量指标用于反映在前处理和目标编码方案的情况下的视频质量,即反映前处理和目标编码方案所带来的视频画质增益。
63.本技术实施例中,电子设备可以对原始视频帧进行帧率下采样处理(即抽帧处理),以从参考数量个原始视频帧中抽取目标视频帧,且参考数量小于原始视频帧的帧数。在一种可能的实现方式中,步骤201中的“从参考数量个原始视频帧中抽取目标视频帧”包括步骤2011至步骤2012。
64.步骤2011,确定目标抽帧参数,目标抽帧参数用于指示抽取一个目标视频帧所需的原始视频帧的参考数量。
65.由于电子设备对原始视频帧进行编码处理的时间可能较长,因此,电子设备可以每隔设定时间,确定一次目标抽帧参数,或者,电子设备可以检测自身的计算性能,当计算性能不足时,自适应地调整目标抽帧参数,以适配电子设备的计算性能。其中,每调整一次目标抽帧参数就是重新确定一次目标抽帧参数的过程,目标抽帧参数也可以称为下采样帧率。
66.在一种可能的实现方式中,目标抽帧参数是设定的数据。例如,设定目标抽帧参数为每120个原始视频帧抽取一个目标视频帧。
67.可选地,目标抽帧参数与目标视频帧对应的第一质量指标的确定方法(以下简称为目标评价方法)相关,电子设备可以基于某一评价方法(如全参考的评价方法、半参考的评价方法、无参考的评价方法等)确定目标视频帧对应的第一质量指标,此时,这一评价方法记为目标评价方法。可以建立不同的评价方法与抽帧参数之间的映射关系,在电子设备确定目标评价方法之后,若映射关系中存在目标评价方法,则基于该映射关系确定目标评价方法对应的抽帧参数为目标抽帧参数,若该映射关系中不存在目标评价方法,则确定目标抽帧参数为设定数据。
68.在一种可能的实现方式中,目标抽帧参数与目标评价方法的计算复杂度相关。可以建立不同的评价方法与计算复杂度之间的第一映射关系以及计算复杂度与抽帧参数之间的第二映射关系。电子设备在确定目标评价方法之后,若第一映射关系中存在目标评价方法,则基于第一映射关系确定目标评价方法对应的计算复杂度,得到目标计算复杂度。若第二映射关系中存在目标计算复杂度,则基于第二映射关系确定目标计算复杂度对应的抽帧参数得到目标抽帧参数。若第一映射关系中不存在目标评价方法和/或第二映射关系中不存在目标计算复杂度,则确定目标抽帧参数为设定数据。
69.示例性的,第一映射关系中存在映射关系1和映射关系2,映射关系1为峰值信噪比(peak signal to noise ratio,psnr)、结构相似性(structural similarity,ssim)与计算复杂度较低之间的映射关系,映射关系2为视频质量多方法评价融合(visual multimethod assessment fusion,vmaf)与计算复杂度较高之间的映射关系。第二映射关系中存在映射关系3和映射关系4,映射关系3为计算复杂度较低与每4个原始视频帧抽一个目标视频帧之间的映射关系,映射关系4为计算复杂度较高与每120个原始视频帧抽一个目标视频帧之间的映射关系。当目标评价方法为psnr或者ssim时,基于第一映射关系和第二映射关系可以确定出目标抽帧参数为每4个原始视频帧抽一个目标视频帧;当目标评价方
法为vmaf时,基于第一映射关系和第二映射关系可以确定出目标抽帧参数为每120个原始视频帧抽一个目标视频帧;当目标评价方法为除psnr、ssim、vmaf之外的其他评价方法时,基于第一映射关系和第二映射关系可以确定出目标抽帧参数为设定数据,例如目标抽帧参数为每50个原始视频帧抽一个目标视频帧。
70.目标抽帧参数的确定方式除上述提及的内容之外,至少还包括如下所示的实现方式a1或者实现方式a2。
71.实现方式a1,确定目标抽帧参数,包括:确定目标编码速度,目标编码速度用于反映在基于目标编码方案对原始视频帧进行编码处理时,单位时间内编码原始视频帧的数量;统计历史视频帧对应的质量指标所需的确定时长,历史视频帧是历史确定质量指标的原始视频帧;基于目标编码速度和确定时长,确定目标抽帧参数。
72.电子设备在基于目标编码方案对原始视频帧进行编码处理时,对于任一个原始视频帧,可以统计出对该原始视频帧进行编码处理所需的时间(即原始视频帧所需的编码时间)。基于至少一个原始视频帧所需的编码时间,确定出原始视频帧所需的平均编码时间,基于该平均编码时间确定出单位时间内编码原始视频帧的数量,从而得到目标编码速度。本技术实施例不对单位时间做限定,可选地,单位时间为1秒。
73.以单位时间为1秒为例,若原始视频帧1所需的编码时间为15毫秒,原始视频帧2所需的编码时间为25毫秒,原始视频帧3所需的编码时间为20毫秒,则原始视频帧所需的平均编码时间为20毫秒,则1秒内编码原始视频帧的数量为1000/20=50帧。
74.可选地,目标编码速度可以是设定的数据。电子设备按照设定的目标编码速度,基于目标编码方案对原始视频帧进行编码处理。例如,设定目标编码速度为1秒内编码60个原始视频帧,则电子设备按照该设定,基于目标编码方案在1秒内对60个原始视频帧进行编码处理。由于电子设备可以按照设定的目标编码速度进行编码处理,因此,电子设备也可以获取到目标编码速度。
75.本技术实施例中,电子设备可以统计得到至少一个历史视频帧对应的质量指标所需的确定时长,其中,历史视频帧是历史确定质量指标的原始视频帧且历史视频帧是目标视频帧之前的原始视频帧。
76.任两个历史视频帧对应的质量指标的确定方式可以相同,也可以不同。可选地,任一历史视频帧对应的质量指标的确定方式与目标视频帧对应的第一质量指标的确定方式相类似,或者,任一历史视频帧对应的质量指标的确定方式与其他视频帧对应的第二质量指标的确定方式相类似。
77.本技术实施例中,可以基于至少一个历史视频帧对应的质量指标所需的确定时长,确定出历史视频帧对应的质量指标所需的平均时长。基于目标编码速度和平均时长,计算出目标抽帧参数。由于目标编码速度用于反映单位时间内编码原始视频帧的数量,因此,在一种可能的实现方式中,目标抽帧参数等于原始视频帧的数量除以单位时间得到的比值乘以平均时长,从而得到抽取一个目标视频帧所需的原始视频帧的参考数量。
78.例如,目标编码速度为1秒内编码60帧,而历史视频帧对应的质量指标所需的平均时长为0.1秒,则目标抽帧参数等于(60/1)*0.1=6帧,即,抽取一个目标视频帧需要6个原始视频帧。
79.可选地,目标抽帧参数大于原始视频帧的数量除以单位时间得到的比值乘以平均
时长。通过这样设置,降低了从原始视频帧中抽取目标视频帧的频率,减少确定目标视频帧对应的第一质量指标所消耗的时间,即使电子设备的计算性能发生抖动,也可以及时确定出目标视频帧对应的第一质量指标,从而提高目标编码方案对应的第三质量指标的获取效率。
80.实现方式a2,确定目标抽帧参数,包括:确定第一视频帧和第二视频帧,第一视频帧是在确定历史视频帧对应的质量指标之前,基于目标编码方案进行编码处理时的原始视频帧,第二视频帧是在确定历史视频帧对应的质量指标之后,基于目标编码方案进行编码处理时的原始视频帧;基于第一视频帧和第二视频帧,确定目标抽帧参数。
81.对于任一个历史视频帧,电子设备在确定该历史视频帧对应的质量指标之前,确定基于目标编码方案进行编码处理时的原始视频帧,得到第一视频帧;在确定该历史视频帧对应的质量指标之后,确定基于目标编码方案进行编码处理时的原始视频帧,得到第二视频帧。其中,历史视频帧是历史确定质量指标的原始视频帧且历史视频帧是目标视频帧之前的原始视频帧。
82.其中,任两个历史视频帧对应的质量指标的确定方式可以相同,也可以不同。可选地,任一历史视频帧对应的质量指标的确定方式与目标视频帧对应的第一质量指标的确定方式相类似,或者,任一历史视频帧对应的质量指标的确定方式与其他视频帧对应的第二质量指标的确定方式相类似。
83.本技术实施例中,可以基于任一个历史视频帧对应的第一视频帧和第二视频帧,确定第二视频帧的帧序号和第一视频帧的帧序号之间的差值,得到该历史视频帧对应的帧序号差值。基于至少一个历史视频帧对应的帧序号差值,确定平均帧序号差值,基于平均帧序号差值,确定目标抽帧参数,从而得到抽取一个目标视频帧所需的原始视频帧的参考数量。可选地,目标抽帧参数为平均帧序号差值。
84.例如,电子设备在确定历史视频帧1对应的质量指标之前、之后,确定基于目标编码方案进行编码处理时的原始视频帧分别为第3个原始视频帧和第7个原始视频帧,此时,历史视频帧1对应的帧序号差值为4;电子设备在确定历史视频帧2对应的质量指标之前和之后,确定基于目标编码方案进行编码处理时的原始视频帧分别为第8个原始视频帧和第14个原始视频帧,此时,历史视频帧2对应的帧序号差值为6。基于历史视频帧1对应的帧序号差值4和历史视频帧2对应的帧序号差值6,可以得到平均帧序号差值5,此时,目标抽帧参数为5帧,即抽取一个目标视频帧需要5个原始视频帧。
85.可选地,目标抽帧参数大于平均帧序号差值。通过这样设置,降低了从原始视频帧中抽取目标视频帧的频率,减少确定目标视频帧对应的第一质量指标所消耗的时间,即使电子设备的计算性能发生抖动,也可以及时确定出目标视频帧对应的第一质量指标,从而提高目标编码方案对应的第三质量指标的获取效率。
86.步骤2012,从目标抽帧参数所指示的参考数量个原始视频帧中抽取目标视频帧。
87.由于目标抽帧参数用于指示抽取一个目标视频帧所需的原始视频帧的参考数量,因此,电子设备在确定出目标抽帧参数之后,可以从目标抽帧参数所指示的参考数量个原始视频帧中抽取目标视频帧。例如,目标抽帧参数是每120个原始视频帧抽一个目标视频帧(即参考数量为120),则电子设备可以从原始视频帧1至原始视频帧120中抽取一个目标视频帧,从原始视频帧121至原始视频帧240中抽取另一个目标视频帧,从原始视频帧241至原
始视频帧360中再抽取一个目标视频帧,依次类推。
88.步骤202,对原始视频帧的编码数据进行解码处理,得到原始视频帧对应的解码视频帧。
89.本技术实施例中,电子设备在基于目标编码方案对原始视频帧进行编码处理的过程中,会产生原始视频帧的编码数据。电子设备可以基于目标编码方案对产生的原始视频帧的编码数据进行解码处理,以得到原始视频帧对应的解码视频帧。
90.可选地,电子设备每产生一个原始视频帧的编码数据,在计算资源充足的情况下,立即基于目标编码方案对该原始视频帧的编码数据进行解码处理,得到该原始视频帧对应的解码视频帧,从而实现实时编码。
91.需要说明的是,电子设备实时获取的原始视频帧可以称为视频码流,在对视频码流进行实时编码处理的过程中,实时产生的原始视频帧的编码数据可以称为编码码流。电子设备在对编码码流进行实时解码处理时,需要对视频码流中的各个原始视频帧的编码数据依次进行解码处理。这是因为视频码流中的各个原始视频帧之间存在参考关系,对各个原始视频帧的编码数据依次进行解码处理可以确保参考关系正确,若是从各个原始视频帧的编码数据中抽取几个帧的编码数据进行解码处理,会导致参考关系错乱,从而造成无法解码、解码花屏等现象。
92.需要说明的是,若得到原始视频帧的编码数据之后,对原始视频帧进行打包,得到了原始视频帧对应的数据包,则电子设备可以先获取原始视频帧对应的数据包,并对原始视频帧对应的数据包进行解包,得到原始视频帧的编码数据之后,再对原始视频帧的编码数据进行解码处理。
93.步骤203,基于目标视频帧和目标视频帧对应的解码视频帧,确定目标视频帧对应的第一质量指标,目标视频帧对应的第一质量指标用于反映目标视频帧对应的解码视频帧的视频质量。
94.在从原始视频帧中抽取出目标视频帧之后,相当于获取到了目标视频帧。此外,由于电子设备对原始视频帧的编码数据进行了解码处理,因此,电子设备可以得到原始视频帧对应的解码视频帧。在从原始视频帧中抽取出目标视频帧之后,也可以获取目标视频帧对应的解码视频帧。
95.可选地,可以基于全参考客观视频质量评价方法(简称:全参考的评价方法),基于目标视频帧和目标视频帧对应的解码视频帧,确定目标视频帧对应的质量指标,该质量指标可以称为第一质量指标。也就是说,上文提及的目标评价方法是全参考的评价方法。其中,目标视频帧对应的第一质量指标用于反映目标视频帧对应的解码视频帧的视频质量,且目标视频帧对应的第一质量指标与目标视频帧对应的解码视频帧的视频质量成正比。
96.其中,全参考的评价方法是通过对比目标视频帧和目标视频帧对应的解码视频帧的信息量或计算目标视频帧和目标视频帧对应的解码视频帧的特征相似度,基于信息量的对比结果或者特征相似度来确定目标视频帧对应的第一质量指标。全参考的评价方法包括峰值信噪比(peak signal to noise ratio,psnr)、结构相似性(structural similarity,ssim)、视频质量多方法评价融合(visual multimethod assessment fusion,vmaf)等。psnr是先确定目标视频帧与目标视频帧对应的解码视频帧之间的均方误差,再确定该均方误差相对于(2
n-1
)2的对数值,之后将该对数值乘以10得到目标视频帧对应的第一质量指
标。ssim是通过计算目标视频帧与目标视频帧对应的解码视频帧之间的相似度,基于该相似度得到目标视频帧对应的第一质量指标。vmaf属于一种主观视频质量评价方式,是对目标视频帧进行符合人眼视觉的质量评分。
97.需要说明的是,本技术实施例中还可以基于半参考客观视频质量评价方法(简称:半参考的评价方法),基于目标视频帧的全部或者部分信息确定目标视频帧对应的第一质量指标,也就是说,上文提及的目标评价方法是半参考的评价方法。或者,基于无参考客观视频质量评价方法(简称:无参考的评价方法),基于目标视频帧对应的解码视频帧或者目标视频帧的编码数据,确定目标视频帧对应的第一质量指标,也就是说,上文提及的目标评价方法是无参考的评价方法。但基于半参考的评价方法和无参考的评价方法确定出的目标视频帧对应的第一质量指标的准确性,相较于基于全参考的评价方法确定出的目标视频帧对应的第一质量指标的准确性较差。因此,本技术实施例主要基于全参考的评价方法确定目标视频帧对应的第一质量指标。
98.本技术实施例中,可以按照如下所示的公式(1)来确定目标视频帧对应的第一质量指标。
99.psnr(i)=psnr(i),(if i%n=1)
ꢀꢀ
公式(1)
100.其中,psnr(i)表征第i个原始视频帧对应的质量指标,n表征目标抽帧参数所指示的参考数量,i%n表征i整除n之后得到的余数。
101.在公式(1)中,第1个原始视频帧为目标视频帧,每隔n-1个原始视频帧之后,抽取下一个原始视频帧为目标视频帧。此时,当第i个原始视频帧为目标视频帧时,则基于目标视频帧和对应的解码视频帧,直接计算目标视频帧对应的第一质量指标。
102.例如,n=4且第1个原始视频帧为目标视频帧。i等于1时满足i%4=1,因此,第1个原始视频帧(即目标视频帧)是基于第1个原始视频帧和原始视频帧对应的解码视频帧,直接计算第1个原始视频帧对应的质量指标。基于同样地原理,在每隔3个原始视频帧抽取下一个原始视频帧为目标视频帧的情况下,第5、9
……
个原始视频帧也为目标视频帧。此时,第5、9
……
个原始视频帧也和第1个原始视频帧采用相类似的计算。
103.需要说明的是,基于目标编码方案对原始视频帧进行编码处理、解码处理后,得到的目标视频帧对应的解码视频帧会存在一定程度上的画质损失,也就是常说的画质失真,因此,可以基于目标视频帧和目标视频帧对应的解码视频帧,确定目标视频帧对应的第一质量指标,以利用目标视频帧对应的第一质量指标来衡量画质损失的程度。
104.步骤204,基于目标视频帧对应的第一质量指标,确定其他视频帧对应的第二质量指标,其他视频帧是原始视频帧中除目标视频帧之外的视频帧。
105.本技术实施例中,从目标抽帧参数所指示的参考数量个原始视频帧中抽取出目标视频帧之后,参考数量个原始视频帧中除目标视频帧之外的原始视频帧可以记为其他视频帧。通过对目标视频帧对应的第一质量指标进行拟合计算,可以得到其他视频帧对应的质量指标,该质量指标可以称为第二质量指标。其中,其他视频帧对应的第二质量指标用于反映其他视频帧对应的解码视频帧的视频质量,且其他视频帧对应的第二质量指标与其他视频帧对应的解码视频帧的视频质量成正比。
106.在一种可能的实现方式中,步骤204包括步骤2041和步骤2042。
107.步骤2041,获取权重系数和其他视频帧的编码数据。
108.与原始视频帧的编码数据相类似,其他视频帧的编码数据包括其他视频帧对应的编码块的数量、其他视频帧对应的残差信号指标、其他视频帧对应的编码数据的数据量、其他视频帧对应的平均运动方向矢量、其他视频帧对应的帧内预测块的数据量和其他视频帧对应的帧间预测块的数据量等中的至少一项数据。
109.本技术实施例中,权重系数的数量为至少一个,这至少一个权重系数包括其他视频帧的编码数据对应的权重系数和/或目标视频帧对应的第一质量指标所对应的权重系数。可以理解的是,其他视频帧的编码数据包括至少一项数据,则其他视频帧的编码数据对应的权重系数包括各项数据对应的权重系数。
110.可选地,根据人工经验设置各个权重系数的数值。由于人工经验存在不确定性,因此,权重系数的准确性不高。通常情况下,可以通过离线统计的方式,获取参考视频序列,基于参考视频序列统计出权重系数。由于权重系数是通过离线统计的方式确定出来的,具有一定的数据支撑,因此,权重系数的准确性较高。
111.本技术实施例中,步骤2041之前还包括:获取参考视频序列,参考视频序列包括多个参考视频帧;基于目标编码方案和目标编码速度对各个参考视频帧进行编码处理,得到各个参考视频帧的编码数据;对各个参考视频帧的编码数据进行解码处理,得到各个参考视频帧对应的解码视频帧;基于各个参考视频帧和各个参考视频帧对应的解码视频帧,确定各个参考视频帧对应的质量指标;从目标抽帧参数所指示的参考数量个参考视频帧中抽取第三视频帧;基于第三视频帧对应的质量指标、第四视频帧对应的编码数据和第四视频帧对应的质量指标,确定权重系数,第四视频帧是多个参考视频帧中除第三视频帧之外的视频帧。
112.在通过离线统计的方式确定权重系数时,需要满足离线统计的环境与在线计算目标编码方案对应的第三质量指标的环境(以下简称为在线计算的环境)相同,这样才能保证统计出的权重系数具有较高的准确性。基于上述缘由,在获取到参考视频序列之后,基于在线计算的环境对参考视频序列进行相应的处理。其中,参考视频序列可以是任意的视频序列。
113.本技术实施例中,在线计算的环境包括基于目标编码方案和目标编码速度对原始视频帧进行编码处理,因此,离线统计的环境中,可以基于目标编码方案和目标编码速度对参考视频序列中的各个参考视频帧进行编码处理,得到各个参考视频帧的编码数据。其中,对参考视频帧进行编码处理的方式和对原始视频帧进行编码处理的方式相类似,在此不再赘述。
114.在线计算的环境还包括基于目标编码方案对原始视频帧的编码数据进行解码处理,因此,离线统计的环境中,可以基于目标编码方案对各个参考视频帧的编码数据进行解码处理,得到各个参考视频帧对应的解码视频帧。对原始视频帧的编码数据进行解码处理的方式和对参考视频帧的编码数据进行解码处理的方式相类似,在此不再赘述。
115.可选地,对原始视频帧的编码数据进行解码处理时的解码速度和对参考视频帧的编码数据进行解码处理时的解码速度相同,该解码速度可以记为目标解码速度。目标解码速度可以和目标编码速度相同,也可以和目标编码速度不同,目标解码速度用于反映在对原始视频帧的编码数据进行解码处理时,单位时间内解码原始视频帧的编码数据的数量。
116.在线计算的环境还包括按照目标评价方法,基于目标视频帧和目标视频帧对应的
解码视频帧,确定目标视频帧对应的第一质量指标,因此,离线统计的环境中,对于任一个参考视频帧,可以基于该参考视频帧和参考视频帧对应的解码视频帧,确定该参考视频帧对应的质量指标。其中,参考视频帧对应的质量指标的确定方式和目标视频帧对应的第一质量指标的确定方式相类似,在此不再赘述。
117.在线计算的环境还包括从目标抽帧参数所指示的参考数量个原始视频帧中抽取目标视频帧,因此,离线统计的环境中,可以从目标抽帧参数所指示的参考数量个参考视频帧中抽取第三视频帧。其中,第三视频帧的抽取方式与目标视频帧的抽取方式相类似,在此不再赘述。
118.本技术实施例中,在从目标抽帧参数所指示的参考数量个参考视频帧中抽取第三视频帧之后,将参考数量个参考视频帧中除第三视频帧之外的参考视频帧记为第四视频帧。基于此,可以得到至少一个第三视频帧对应的质量指标、至少一个第四视频帧对应的质量指标和各个第四视频帧对应的编码数据。
119.之后,通过统计第三视频帧对应的质量指标、第四视频帧对应的编码数据和第四视频帧对应的质量指标,可以确定出各个权重系数,统计方式在此不做限定。需要说明的是,参考视频序列的数量可以为多个,每一个参考视频序列均可以按照上述方式统计出权重系数集合,权重系数集合包括至少一个待处理的权重系数。通过对所有参考视频序列对应的权重系数集合进行求平均,可以得到目标权重系数集合,该目标权重系数集合包括各个权重系数。
120.下面提供一个确定各个权重系数的详细实施例。本技术实施例中,在线计算目标编码方案对应的第三质量指标时,基于目标编码方案和60每秒传输帧数(frame per second,fps)对原始视频帧进行编码处理,得到原始视频帧的编码数据,并基于目标编码方案对原始视频帧的编码数据进行解码处理,得到原始视频帧对应的解码视频帧。其中,60fps相当于每秒编码60个原始视频帧,因此60fps对应于目标编码速度。
121.此外,还基于每四个原始视频帧抽取一个目标视频帧的目标抽帧参数,从原始视频帧中抽取目标视频帧,并按照psnr(即目标评价方法),基于目标视频帧和目标视频帧对应的解码视频帧,确定目标视频帧对应的第一质量指标。因此,目标视频帧对应的第一质量指标的计算帧率为15fps(即每秒计算15个目标视频帧对应的第一质量指标)。
122.基于上述在线计算的环境,本技术实施例在获取到参考视频序列之后,基于目标编码方案和60fps对参考视频序列中的参考视频帧进行编码处理,得到参考视频帧的编码数据,并基于目标编码方案对参考视频帧的编码数据进行解码处理,得到参考视频帧对应的解码视频帧。之后,对于任一个参考视频帧,按照psnr基于该参考视频帧和参考视频帧对应的解码视频帧,确定该参考视频帧对应的质量指标,从而得到60fps的参考视频帧对应的质量指标。
123.由于在线计算的环境中,目标视频帧对应的第一质量指标的计算帧率为15fps,因此,需要基于每四个参考视频帧抽取一个第三视频帧的目标抽帧参数,从参考视频帧中抽取第三视频帧,从而得到15fps的第三视频帧对应的质量指标、45fps的第四视频帧对应的质量指标和45fps的第四视频帧的编码数据。之后,基于15fps的第三视频帧对应的质量指标、45fps的第四视频帧对应的质量指标和45fps的第四视频帧的编码数据来拟合得到60fps的参考视频帧对应的质量指标,从而得到最佳的拟合参数,该最佳的拟合参数即为各
个权重系数。
124.在上述实施例中,以目标评价方法为psnr和每四个原始视频帧抽取一个目标视频帧的目标抽帧参数为例进行了说明。该方式对于其他的目标评价方法、其他的目标抽帧参数也同样适用。例如,上述实施例同样可以适用于目标评价方法为ssim和每四个原始视频帧抽取一个目标视频帧的目标抽帧参数、目标评价方法为vmaf和每120个原始视频帧抽取一个目标视频帧的目标抽帧参数。其中,对于60fps的原始视频帧,若每120个原始视频帧抽取一个目标视频帧,相当于目标视频帧对应的第一质量指标的计算帧率为0.5fps(即每秒计算0.5个目标视频帧对应的第一质量指标)。
125.步骤2042,基于权重系数、目标视频帧对应的第一质量指标和其他视频帧的编码数据,确定其他视频帧对应的第二质量指标。
126.在计算得到目标视频帧对应的第一质量指标所对应的权重系数、其他视频帧的编码数据对应的权重系数之后,基于这两种权重系数,对目标视频帧对应的第一质量指标和其他视频帧的编码数据进行加权求和,可以得到其他视频帧对应的第二质量指标。
127.可选地,目标视频帧的数量为多个;步骤2042包括:从多个目标视频帧中确定满足帧序号条件的相关视频帧;基于权重系数、相关视频帧对应的质量指标和其他视频帧的编码数据,确定其他视频帧对应的第二质量指标。
128.可以理解的是,在线场景中的原始视频帧是以流的形式存在的,因此,原始视频帧是源源不断的产生的。在此基础上从原始视频帧中抽取目标视频帧时,随着时间的流逝,目标视频帧的数量也会越来越多。通过从多个目标视频帧中确定满足帧序号条件的相关视频帧,以利用相关视频帧对应的质量指标来计算其他视频帧对应的第二质量指标,可以降低计算量,减少对电子设备的硬件要求。
129.本技术实施例中,对于任一个其他视频帧,可以基于各个目标视频帧的帧序号和该其他视频帧的帧序号,从多个目标视频帧中确定该其他视频帧对应的相关视频帧,且该相关视频帧满足帧序号条件。其中,任一个原始视频帧均存在唯一的帧序号,帧序号用于表征该原始视频帧在视频的位置。例如,原始视频帧的帧序号为1,可以表明该原始视频帧是视频的第一帧。
130.其中,满足帧序号条件的相关视频帧包括条件b1和条件b2中的至少一项。
131.条件b1,帧序号小于其他视频帧的帧序号且与其他视频帧的帧序号之差不大于第一阈值的目标视频帧。
132.对于任一个其他视频帧,可以比较该其他视频帧的帧序号和各个目标视频帧的帧序号之间的大小关系,若任一个目标视频帧的帧序号小于其他视频帧的帧序号,则筛选出该目标视频帧。通过这种方式,可以筛选出至少一个帧序号小于其他视频帧的帧序号的目标视频帧。
133.对于筛选出的任一个目标视频帧,计算其他视频帧的帧序号和该目标视频帧的帧序号之间的差值,若该差值不大于第一阈值,则该目标视频帧为相关视频帧。
134.本技术实施例不对第一阈值的数值做限定。示例性地,第一阈值是设定的数据,如第一阈值为6。或者,第一阈值等于目标抽帧参数所指示的参考数量,如目标抽帧参数指示每4个原始视频帧抽取一个目标视频帧,则第一阈值等于4。或者,第一阈值是筛选出的各个目标视频帧的帧序号分别与其他视频帧的帧序号之间的差值中的最小值,此时,相关视频
帧即为该最小值对应的目标视频帧。
135.条件b2,帧序号大于其他视频帧的帧序号且与其他视频帧的帧序号之差不大于第二阈值的目标视频帧。
136.对于任一个其他视频帧,可以比较该其他视频帧的帧序号和各个目标视频帧的帧序号之间的大小关系,若任一个目标视频帧的帧序号大于其他视频帧的帧序号,则筛选出该目标视频帧。通过这种方式,可以筛选出至少一个帧序号大于其他视频帧的帧序号的目标视频帧。
137.对于筛选出的任一个目标视频帧,计算其他视频帧的帧序号和该目标视频帧的帧序号之间的差值,若该差值不大于第二阈值,则该目标视频帧为相关视频帧。其中,第二阈值可以等于或者小于或者大于第一阈值。
138.本技术实施例不对第二阈值的数值做限定。示例性地,第二阈值是设定的数据,如第一阈值为8。或者,第二阈值等于目标抽帧参数所指示的参考数量,如目标抽帧参数指示每4个原始视频帧抽取一个目标视频帧,则第二阈值等于4。或者,第二阈值是筛选出的各个目标视频帧的帧序号分别与其他视频帧的帧序号之间的差值中的最小值,此时,相关视频帧即为该最小值对应的目标视频帧。
139.在确定出相关视频帧之后,可以基于权重系数,对相关视频帧对应的质量指标和其他视频帧的编码数据进行加权求和,得到其他视频帧对应的第二质量指标。此时,权重系数包括相关视频帧对应的质量指标所对应的权重系数和其他视频帧的编码数据对应的权重系数中的至少一项。
140.本技术实施例中,可以按照如下所示的公式(2)来确定其他视频帧对应的第二质量指标。
141.psnr(i)=α
·
psnr(k)+β
·
psnr(k+n)+γ
·
qp(i)+δ
·
satd(i)+

,(if i%n≠1,let k=floor[(i-1)/n]*n+1)
ꢀꢀ
公式(2)
[0142]
其中,psnr(i)表征第i个原始视频帧对应的质量指标。psnr(k)、psnr(k+n)为第i个原始视频帧所对应的相关视频帧对应的质量指标,该相关视频帧分别为第k个原始视频帧和第k+n个原始视频帧。qp(i)表征第i个原始视频帧对应的编码块的数量,satd(i)表征第i个原始视频帧对应的残差信号指标,α、β、γ、δ均是权重系数,n表征目标抽帧参数所指示的参考数量,i%n表征i整除n之后得到的余数。floor表征向下取整的函数符号,因此,floor[(i-1)/n]表征计算i-1与n的比值,从小于该比值的整数中选取最大整数。
[0143]
在公式(2)中,第1个原始视频帧为目标视频帧,每隔n-1个原始视频帧之后,抽取下一个原始视频帧为目标视频帧。此时,当第i个原始视频帧为其他视频帧时,则基于权重系数,对相关视频帧对应的质量指标和其他视频帧的编码数据进行加权求和,得到其他视频帧对应的第二质量指标。
[0144]
例如,n=4且第1个原始视频帧为目标视频帧。i等于2、3和4时,由于floor[(i-1)/4]等于0,因此,k=1,而相关视频帧为第1个原始视频帧(对应目标视频帧)和第5个原始视频帧(对应目标视频帧)。此时,第i个原始视频帧(对应其他视频帧)对应的质量指标是基于权重系数、第1、5个原始视频帧对应的质量指标、第i个原始视频帧的编码数据进行加权求和得到。基于相类似的原理,i等于6、7和8时,由于floor[(i-1)/4]等于1,因此,k=5,而相关视频帧为第5个原始视频帧(对应目标视频帧)和第9个原始视频帧(对应目标视频帧)。此
时,第i个原始视频帧(对应其他视频帧)对应的质量指标是基于权重系数、第5、9个原始视频帧对应的质量指标、第i个原始视频帧的编码数据进行加权求和得到。
[0145]
在一种可能的实现方式中,可以先对其他视频帧的编码数据进行激活处理,得到其他视频帧对应的激活值,再对其他视频帧对应的激活值和相关视频帧对应的质量指标进行加权求和,得到其他视频帧对应的第二质量指标。此时,可以按照如下所示的公式(3)来确定其他视频帧对应的第二质量指标。
[0146]
psnr(i)=α
·
psnr(k)+β
·
psnr(k+n)+μ
·
sigmoid{γ
·
qp(i)+δ
·
satd(i)+

},(if i%n≠1,let k=floof[(i-1)/n]*n+1)
ꢀꢀ
公式(3)
[0147]
其中,μ为权重系数,sigmoid为激活函数。公式(3)中其他参数的说明可以见公式(2)的描述,在此不再赘述。
[0148]
本技术实施例中,一方面,电子设备需要进行编码处理,另一方面,电子设备需要进行解码处理,再一方面,电子设备还需要计算原始视频帧对应的质量指标。上述三方面使得电子设备的计算量较大。通过从原始视频帧中抽取目标视频帧,基于目标视频帧和对应的解码视频帧,确定目标视频帧对应的第一质量指标,降低了需要计算质量指标的目标视频帧的数量,而其他视频帧对应的第二质量指标是通过目标视频帧对应的第一质量指标来确定的,提高了其他视频帧对应的第二质量指标的计算速度,节约了计算资源。
[0149]
在一种可能的实现方式中,在第一线程中对原始视频帧进行编码处理,在第二线程中对目标视频帧的编码数据进行解码处理,在第三线程中确定目标视频帧对应的第一质量指标,第一线程、第二线程和第三线程是不同的线程。
[0150]
本技术实施例中,电子设备在第一线程中对原始视频帧进行编码处理,在第二线程中对目标视频帧的编码数据进行解码处理。由于第一线程和第二线程是不同的线程,因此,编码处理和解码处理互不影响。也就是说,在对原始视频帧进行编码处理的过程中,不会阻塞对目标视频帧的编码数据进行解码处理的过程,同样地,对目标视频帧的编码数据进行解码处理的过程中,不会阻塞对原始视频帧进行编码处理的过程。这样可以保证通讯场景中对低延时的要求,提高效率。
[0151]
电子设备在第三线程中确定目标视频帧对应的第一质量指标。由于第三线程和第一线程、第二线程是不同的线程,因此,质量指标的确定和编码处理、解码处理互不影响。在确定目标视频帧对应的第一质量指标的过程中,不会阻塞编码处理、解码处理,在编码处理、解码处理的过程中,也不会阻塞确定目标视频帧对应的第一质量指标的过程。这样可以使电子设备及时确定出目标视频帧对应的第一质量指标,提高质量指标的获取效率。
[0152]
此外,电子设备在第四线程中确定其他视频帧对应的第二质量指标。其中,第四线程和第三线程可以是同一线程,也可以是不同的线程,在此不做限定。
[0153]
步骤205,基于目标视频帧对应的第一质量指标和其他视频帧对应的第二质量指标,确定目标编码方案对应的第三质量指标,目标编码方案对应的第三质量指标用于反映在基于目标编码方案进行编码处理的情况下的视频质量。
[0154]
本技术实施例中,目标视频帧的数量为至少一个,其他视频帧的数量也为至少一个。通过对各个目标视频帧对应的第一质量指标和各个其他视频帧对应的第二质量指标进行求平均,可以得到目标编码方案对应的质量指标,该质量指标可以称为第三质量指标。其中,目标编码方案对应的第三质量指标可以反映基于目标编码方案进行编码处理的情况下
的视频质量,且目标编码方案对应的第三质量指标与视频质量成正比。
[0155]
可以理解的是,本技术实施例提供的视频的质量检测方法可以应用在离线场景中。在离线场景中,可以在任意时刻基于本技术实施例提供的方法确定目标编码方案对应的第三质量指标。其中,原始视频帧是原始视频序列中的视频帧,原始视频序列是线上运行应用程序时与该应用程序相关的视频序列。
[0156]
此外,本技术实施例提供的视频的质量检测方法还适用于线上运行应用程序的环境。在这种情况下,电子设备在基于目标编码方案对与应用程序相关的视频帧(即原始视频帧)进行实时编码处理、实时解码处理的过程,确定目标编码方案对应的第三质量指标。由于本技术实施例提供的方法适用于线上运行应用程序的环境,因此,可以较好的覆盖线上的各种视频场景,以准确全面地评估目标编码方案在线上所带来的视频画质增益。
[0157]
在一种可能的实现方式中,本技术实施例提供的方法应用于应用程序的测试场景中。目标编码方案的数量为至少两个,原始视频帧为与应用程序相关的视频帧。对于任一个目标编码方案,可以按照步骤201-205的方式确定出该目标编码方案对应的第三质量指标。从各个目标编码方案对应的第三质量指标中选择最大质量指标对应的目标编码方案,最大质量指标对应的目标编码方案用于在应用程序的使用场景中,对与应用程序相关的视频帧进行编码处理。
[0158]
例如,在某一应用程序的通讯场景下,需要使用全参考的评价方法获取目标编码方案对应的第三质量指标时,选择特定比例(例如,1%)的客户端,让这部分客户端参与应用程序的测试。在测试时,这部分客户端中的一部分客户端基于本技术实施例提供的方法测试目标编码方案a对应的质量指标,而另一部分客户端基于本技术实施例提供的方法测试目标编码方案b对应的质量指标,从而对比得出这两种目标编码方案对应的视频帧的画质优劣。此外,选择特定比例的客户端参与测试,可以降低计算资源的开销,提高测试效率。
[0159]
通过对比不同目标编码方案对应的第三质量指标,从各个目标编码方案对应的第三质量指标中选择最大质量指标对应的目标编码方案,可以得到使视频质量最佳的目标编码方案。在应用程序的使用场景中,利用使视频质量最佳的目标编码方案对与应用程序相关的视频帧进行编码处理,可以提高应用程序的使用场景中的视频质量,提高应用程序的使用体验。
[0160]
需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的原始视频帧、解码视频帧等都是在充分授权的情况下获取的。
[0161]
上述方法在基于目标编码方案对原始视频帧进行编码处理、解码处理的过程中,从原始视频帧中抽取目标视频帧。基于目标视频帧和对应的解码视频帧,确定目标视频帧对应的第一质量指标。基于目标视频帧对应的第一质量指标,确定其他视频帧对应的第二质量指标。通过抽帧的方式,实现了一部分原始视频帧对应的质量指标是采用第一质量指标的确定方式来确定的,另一部分原始视频帧对应的质量指标是基于第二质量指标的确定方式来确定的。由于第二质量指标的确定方式所需的时间要小于第一质量指标的确定方式所需的时间,因此,确定第二质量指标所需要的时间有所减小,从而减小了确定目标编码方
案对应的第三质量指标所需的时间,提高了第三质量指标的获取效率。
[0162]
上述从方法步骤的角度阐述了本技术实施例的视频的质量检测方法,下面结合图3来进一步描述,图3是本技术实施例提供的一种视频的质量检测方法的示意图。在本技术实施例中,电子设备包括帧获取单元、前处理单元、编码单元、分发单元、队列单元、解码单元、质量检测单元和拟合单元。
[0163]
帧获取单元用于获取即时通讯应用程序生成的原始视频帧。前处理单元用于对原始视频帧进行前处理,得到原始视频帧的前处理帧,该前处理包括虚拟背景、美颜、降噪、暗场景增强等处理。编码单元用于基于目标编码方案对原始视频帧的前处理帧进行编码处理,得到原始视频帧的编码数据。分发单元用于将原始视频帧的编码数据进行打包,得到原始视频帧的数据包。
[0164]
例如,图3中,获取单元获取原始视频帧1之后,先由前处理单元对原始视频帧1进行的前处理得到前处理帧1,再由编码单元对前处理帧1进行编码处理得到编码数据1,之后由分发单元对编码数据1进行打包得到数据包1。基于同样的原理,对原始视频帧2进行上述处理可以得到数据包2,对原始视频帧3进行上述处理可以得到数据包3。
[0165]
接着,队列单元将原始视频帧和该原始视频帧对应的数据包放在同一个队列中,由解码单元对原始视频帧的数据包进行解包、解码处理,得到原始视频帧对应的解码视频帧。接着,质量检测单元从原始视频帧中抽取目标视频帧,利用目标视频帧和目标视频帧对应的解码视频帧确定目标视频帧对应的第一质量指标。之后,拟合单元基于目标视频帧对应的第一质量指标和原始视频帧中除目标视频帧之外的其他视频帧的数据包,确定其他视频帧对应的第二质量指标。通过这种方式,可以得到各个原始视频帧对应的质量指标,以基于各个原始视频帧对应的质量指标确定目标编码方案对应的第三质量指标。
[0166]
例如,图3中,队列单元将原始视频帧1和数据包1放在同一个队列中,由解码单元对数据包1进行解包,得到编码数据1,对编码数据1进行解码处理,得到解码视频帧1。按照同样的原理对原始视频帧2、原始视频帧3进行处理,得到解码视频帧2、解码视频帧3。
[0167]
接着,质量检测单元从原始视频帧1-3中抽取原始视频帧1和原始视频帧3,将原始视频帧1和原始视频帧3作为目标视频帧。利用原始视频帧1和解码视频帧1确定质量指标1,利用原始视频帧3和解码视频帧3确定质量指标3。之后,拟合单元基于质量指标1、质量指标3和编码数据2(对数据包2进行解包得到的),确定质量指标2。
[0168]
可选地,原始视频帧的编码数据包括原始视频帧对应的编码块的数量、原始视频帧对应的残差信号指标、该原始视频帧对应的编码数据的数据量等。请参见图4,图4是本技术实施例提供的一种质量指标的确定示意图。在本技术实施例中,基于目标视频帧对应的第一质量指标和其他视频帧的编码数据,确定其他视频帧对应的第二质量指标时,可以基于目标视频帧对应的第一质量指标和其他视频帧对应的编码块的数量、残差信号指标、编码数据的数据量等,确定其他视频帧对应的第二质量指标。
[0169]
例如,图4中,原始视频帧n对应的质量指标为质量指标n,n取值为1至5。由于原始视频帧2的编码数据包括编码块的数量2、残差信号指标2、编码数据的数据量2等,因此,可以基于质量指标1、质量指标5、编码块的数量2、残差信号指标2、编码数据的数据量2等,确定质量指标2。基于同样的原理,可以基于质量指标1、质量指标5、编码块的数量3、残差信号指标3、编码数据的数据量3等,确定质量指标3;基于质量指标1、质量指标5、编码块的数量
4、残差信号指标4、编码数据的数据量4等,确定质量指标4。
[0170]
由于其他视频帧对应的第二质量指标的确定方式所需的时间要小于目标视频帧对应的第一质量指标的确定方式所需的时间,因此,减小了确定其他视频帧对应的第二质量指标所需的时间,从而减小了确定目标编码方案对应的第三质量指标所需的时间,提高了目标编码方案对应的第三质量指标的获取效率。
[0171]
图5所示为本技术实施例提供的一种视频的质量检测装置的结构示意图,如图5所示,该装置包括:
[0172]
获取模块501,用于在基于目标编码方案对原始视频帧进行编码处理的过程中,获取原始视频帧的编码数据,并从参考数量个原始视频帧中抽取目标视频帧,参考数量小于原始视频帧的帧数;
[0173]
解码模块502,用于对原始视频帧的编码数据进行解码处理,得到原始视频帧对应的解码视频帧;
[0174]
确定模块503,用于基于目标视频帧和目标视频帧对应的解码视频帧,确定目标视频帧对应的第一质量指标,目标视频帧对应的第一质量指标用于反映目标视频帧对应的解码视频帧的视频质量;
[0175]
确定模块503,还用于基于目标视频帧对应的第一质量指标,确定其他视频帧对应的第二质量指标,其他视频帧是原始视频帧中除目标视频帧之外的视频帧;
[0176]
确定模块503,还用于基于目标视频帧对应的第一质量指标和其他视频帧对应的第二质量指标,确定目标编码方案对应的第三质量指标,目标编码方案对应的第三质量指标用于反映在基于目标编码方案进行编码处理的情况下的视频质量。
[0177]
在一种可能的实现方式中,确定模块503,用于确定目标抽帧参数,目标抽帧参数用于指示抽取一个目标视频帧所需的原始视频帧的参考数量;从目标抽帧参数所指示的参考数量个原始视频帧中抽取目标视频帧。
[0178]
在一种可能的实现方式中,确定模块503,用于确定目标编码速度,目标编码速度用于反映在基于目标编码方案对原始视频帧进行编码处理时,单位时间内编码原始视频帧的数量;统计历史视频帧对应的质量指标所需的确定时长,历史视频帧是历史确定质量指标的原始视频帧;基于目标编码速度和确定时长,确定目标抽帧参数。
[0179]
在一种可能的实现方式中,确定模块503,用于确定第一视频帧和第二视频帧,第一视频帧是在确定历史视频帧对应的质量指标之前,基于目标编码方案进行编码处理时的原始视频帧,第二视频帧是在确定历史视频帧对应的质量指标之后,基于目标编码方案进行编码处理时的原始视频帧;基于第一视频帧和第二视频帧,确定目标抽帧参数。
[0180]
在一种可能的实现方式中,确定模块503,用于获取权重系数和其他视频帧的编码数据,权重系数包括目标视频帧对应的第一质量指标的权重系数和其他视频帧的编码数据的权重系数中的至少一项;基于权重系数、目标视频帧对应的第一质量指标和其他视频帧的编码数据,确定其他视频帧对应的第二质量指标。
[0181]
在一种可能的实现方式中,目标视频帧的数量为多个;
[0182]
确定模块503,用于从多个目标视频帧中确定满足帧序号条件的相关视频帧;基于权重系数、相关视频帧对应的质量指标和其他视频帧的编码数据,确定其他视频帧对应的第二质量指标。
[0183]
在一种可能的实现方式中,满足帧序号条件的相关视频帧包括以下至少一项:
[0184]
帧序号小于其他视频帧的帧序号且与其他视频帧的帧序号之差不大于第一阈值的目标视频帧;
[0185]
帧序号大于其他视频帧的帧序号且与其他视频帧的帧序号之差不大于第二阈值的目标视频帧。
[0186]
在一种可能的实现方式中,该装置还包括:
[0187]
获取模块501,还用于获取参考视频序列,参考视频序列包括多个参考视频帧;
[0188]
编码模块,用于基于目标编码方案和目标编码速度对各个参考视频帧进行编码处理,得到各个参考视频帧的编码数据;
[0189]
解码模块502,还用于对各个参考视频帧的编码数据进行解码处理,得到各个参考视频帧对应的解码视频帧;
[0190]
确定模块503,还用于基于各个参考视频帧和各个参考视频帧对应的解码视频帧,确定各个参考视频帧对应的质量指标;
[0191]
抽取模块,用于从目标抽帧参数所指示的参考数量个参考视频帧中抽取第三视频帧;
[0192]
确定模块503,还用于基于第三视频帧对应的质量指标、第四视频帧对应的编码数据和第四视频帧对应的质量指标,确定权重系数,第四视频帧是多个参考视频帧中除第三视频帧之外的视频帧。
[0193]
在一种可能的实现方式中,在第一线程中对原始视频帧进行编码处理,在第二线程中对目标视频帧的编码数据进行解码处理,在第三线程中确定目标视频帧对应的第一质量指标,第一线程、第二线程和第三线程是不同的线程。
[0194]
上述装置在基于目标编码方案对原始视频帧进行编码处理、解码处理的过程中,从原始视频帧中抽取目标视频帧。基于目标视频帧和对应的解码视频帧,确定目标视频帧对应的第一质量指标。基于目标视频帧对应的第一质量指标,确定其他视频帧对应的第二质量指标。通过抽帧的方式,实现了一部分原始视频帧对应的质量指标是采用第一质量指标的确定方式来确定的,另一部分原始视频帧对应的质量指标是基于第二质量指标的确定方式来确定的。由于第二质量指标的确定方式所需的时间要小于第一质量指标的确定方式所需的时间,因此,确定第二质量指标所需要的时间有所减小,从而减小了确定目标编码方案对应的第三质量指标所需的时间,提高了第三质量指标的获取效率。
[0195]
应理解的是,上述图5提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0196]
图6示出了本技术一个示例性实施例提供的终端设备600的结构框图。该终端设备600包括有:处理器601和存储器602。
[0197]
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程
逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0198]
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器601所执行以实现本技术中方法实施例提供的视频的质量检测方法。
[0199]
在一些实施例中,终端设备600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、显示屏605、摄像头组件606、音频电路607和电源608中的至少一种。
[0200]
外围设备接口603可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0201]
射频电路604用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0202]
显示屏605用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置在终端设备600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端设备600的不同表面或呈折叠设计;在另一些实施例中,显示屏605可以是柔性显示屏,设置在终端设备600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,
有机发光二极管)等材质制备。
[0203]
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0204]
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
[0205]
电源608用于为终端设备600中的各个组件进行供电。电源608可以是交流电、直流电、一次性电池或可充电电池。当电源608包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0206]
在一些实施例中,终端设备600还包括有一个或多个传感器609。该一个或多个传感器609包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、光学传感器614以及接近传感器615。
[0207]
加速度传感器611可以检测以终端设备600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
[0208]
陀螺仪传感器612可以检测终端设备600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端设备600的3d动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0209]
压力传感器613可以设置在终端设备600的侧边框和/或显示屏605的下层。当压力传感器613设置在终端设备600的侧边框时,可以检测用户对终端设备600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在显示屏605的下层时,由处理器601根据用户对显示屏605的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0210]
光学传感器614用于采集环境光强度。在一个实施例中,处理器601可以根据光学
传感器614采集的环境光强度,控制显示屏605的显示亮度。具体地,当环境光强度较高时,调高显示屏605的显示亮度;当环境光强度较低时,调低显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器614采集的环境光强度,动态调整摄像头组件606的拍摄参数。
[0211]
接近传感器615,也称距离传感器,通常设置在终端设备600的前面板。接近传感器615用于采集用户与终端设备600的正面之间的距离。在一个实施例中,当接近传感器615检测到用户与终端设备600的正面之间的距离逐渐变小时,由处理器601控制显示屏605从亮屏状态切换为息屏状态;当接近传感器615检测到用户与终端设备600的正面之间的距离逐渐变大时,由处理器601控制显示屏605从息屏状态切换为亮屏状态。
[0212]
本领域技术人员可以理解,图6中示出的结构并不构成对终端设备600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0213]
图7为本技术实施例提供的服务器的结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器701和一个或多个的存储器702,其中,该一个或多个存储器702中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器701加载并执行以实现上述各个方法实施例提供的视频的质量检测方法,示例性的,处理器701为cpu。当然,该服务器700还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器700还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0214]
在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一种视频的质量检测方法。
[0215]
可选地,上述计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0216]
在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一种视频的质量检测方法。
[0217]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0218]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0219]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1