基于AI的编码驱动策略调整方法、装置、设备和存储介质与流程
未命名
08-15
阅读:212
评论:0
基于ai的编码驱动策略调整方法、装置、设备和存储介质
技术领域
1.本技术实施例涉及视频处理技术领域,尤其涉及一种基于ai的编码驱动策略调整方法、装置、设备和存储介质。
背景技术:
2.随着互联网行业的不断发展,视频传输变得越来越普遍。由于视频本身的数据量非常大,为了使用户端能够成功接收到视频,需要在视频传输之前对视频进行编码压缩处理。为了能够更大程度以及更加可靠地压缩视频,利用ai视频编码方式进行视频压缩变得越来越普遍,对基于ai的编码驱动策略调整方法地研究也变得十分重要。
3.现有技术中基于ai的编码驱动策略主要是采用单向驱动策略进行视频编码。单向驱动策略为将待压缩视频的首帧作为参考帧并提取除首帧以外的各驱动帧的关键点信息或者参数,进而将首帧图像以及各驱动帧的关键点信息或者参数进行编码,以达到视频压缩的目的。
4.因为解码时需要结合视频首帧图像,各驱动帧的关键点信息或者参数来对各个驱动帧进行预测解码,对于偶有面部遮挡以及头部动作幅度较大的情况,单向驱动策略就会存在运动信息捕获不足,在对视频进行解码还原时存在视频还原质量较差的问题。因此单向驱动策略的适用场景非常局限。一种提高视频编码可靠性的方式中,需要增加关键点数量,然而这就降低了对视频的压缩效果,同时计算量也会陡然增加,并且解码后视频质量提升效果仍然有限。因此,利用现有技术中基于ai的编码驱动策略进行视频编码时,存在应用范围受限以及视频编码不够可靠的问题。
技术实现要素:
5.本技术实施例提供了一种基于ai的编码驱动策略调整方法、装置、设备和存储介质,解决了现有技术中基于ai的驱动策略应用范围小以及对视频编码不够可靠的问题,通过分别提取两个方向的图像帧作为视频编码的范围进行双驱动,并在该范围内进行各帧图像参数的对比以不断获取新的参考帧,以根据原始参考帧以及新的参考帧对视频进行双向驱动,可以扩大基于ai的编码驱动策略的应用范围,提高了对编码端视频编码压缩的可靠性以及解码端视频解码还原的质量。
6.第一方面,本技术实施例提供了一种基于ai的编码驱动策略调整方法,该方法包括:
7.获取待编码视频;
8.按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;以及提取二者之间的驱动帧;
9.以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;
10.在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间
参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。
11.第二方面,本技术实施例还提供了一种基于ai的编码驱动策略调整装置,包括:
12.视频获取模块,用于获取待编码视频;
13.图像帧提取模块,用于按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;所述以及提取二者之间的驱动帧;
14.图像检测模块,用于以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;
15.双向驱动模块,用于在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。
16.第三方面,本技术实施例还提供了一种基于ai的编码驱动策略调整设备,该设备包括:
17.一个或多个处理器;
18.存储装置,用于存储一个或多个程序,
19.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本技术实施例所述的基于ai的编码驱动策略调整方法。
20.第四方面,本技术实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本技术实施例所述的基于ai的编码驱动策略调整方法。
21.第五方面,本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行本技术实施例所述的基于ai的编码驱动策略调整方法。
22.本技术实施例中,获取待编码视频;按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;以及提取二者之间的驱动帧;以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。通过上述基于ai的编码驱动策略调整方法,解决了现有技术中基于ai的驱动策略应用范围小以及对视频编码不够可靠的问题,通过分别提取两个方向的图像帧作为视频编码的范围进行双驱动,并在该范围内进行各帧图像参数的对比以不断获取新的参考帧,进而根据原始参考帧以及新的参考帧对视频进行双向驱动,可以扩大基于ai的编码驱动策略的应用范围,提高了对编码端视频编码压缩的可靠性以及解码端视频解码还原的质量。
附图说明
23.图1为本技术实施例提供的一种基于ai的编码驱动策略调整方法的流程图;
24.图2为本技术实施例提供的基于双向驱动策略生成图像的系统框图;
25.图3为本技术实施例提供的一种基于ai的视频编码系统框架图;
26.图4为本技术实施例提供的检测各帧图像第一参量的方法流程图;
27.图5为本技术实施例提供的确定第一参量是否符合预设条件的方法流程图;
28.图6为本技术实施例提供的检测各帧图像第二参量的方法流程图;
29.图7为本技术实施例提供的确定第二参量是否符合预设条件的方法流程图
30.图8为本技术实施例提供的确定第一参量是否符合预设条件的方法流程图
31.图9为本技术实施例提供的基于ai的编码驱动策略调整装置的结构图;
32.图10为本技术实施例提供的一种基于ai的编码驱动策略调整设备的结构示意图。
具体实施方式
33.下面结合附图和实施例对本技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术实施例,而非对本技术实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术实施例相关的部分而非全部结构。
34.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
35.现有的生成压缩方案均为针对人脸视频,基于一阶运动模型(first order motion model,fom)框架,先用传统编码器编码并传输第一帧(参考帧),然后在编码端提取后续各帧的关键点传输至解码端,解码端依赖当前帧和参考帧的关键点相对位移,对参考帧人脸进行扭曲和背景填充来生成当前帧。然而这种方法仅适用于视频内容简单、运动量很小的人脸视频,一但视频中出现头部大角度偏移、脸部遮挡以及背景物体增加等情况,生成帧的质量将大幅下降,而且,人物面部出现变形、抖动以及背景物体缺失等问题非常影响观感,此时需要频繁更新参考帧才能解决,但这无疑又增加了码率负担。
36.现有的基于fom的生成压缩方案仍处于探索阶段,在码率压缩和驱动策略上仍有较大提升空间。首先,关键点信息通常需要240bytes浮点数据表示,这与hevc(high efficiency video coding,高效率视频编码)中p帧压缩相比并不占优势,其次,大多数方案仅使用首帧和单向参考驱动方式,面对运动信息各异的视频生成质量差异较大,算法鲁棒性有待提高。因此,在面对实际应用场景对传输码率和主观质量的严苛要求,仍需进一步探究生成压缩方案能够达到的压缩极限以及有效的应用场景。
37.为了探究生成压缩方案的压缩极限及应用场景,本发明提出了一种超低码率生成编码方法,一方面对原始关键点数据进行压缩,另一方面从策略角度出发,对关键点数据进行复用,进一步减少了编码端需要传输的关键点信息,实现了相比hevc至少可降低1/10的码率目标,并保证主观质量无明显下降。此外,通过添加双向参考结构有效提高了视频运动较大情况下的生成质量。
38.图1为本技术实施例提供的一种基于ai的编码驱动策略调整方法的流程图,可用于视频编码传输的场景,尤其是传输出现遮挡以及人物运动幅度较大的视频的场景,该方法可以由具有编码以及计算能力的服务器以及智能终端等执行。该方法具体包括如下步骤:
39.s101,获取待编码视频;
40.其中,待编码视频可以是待传输至用户终端的视频数据,所述视频数据可以由多帧相同或者不同的图像构成,且图像中的背景、人物以及颜色等可以相似或者不相似。由于视频数据本身的数据量非常大,为了使用户终端能够接收所述视频,需要对所述视频数据进行编码,以达到压缩视频的目的。
41.本方案中,可以通过视频录制端的录制设备,如摄像头等,获取所述待编码视频。获取所述待编码视频后,可以对所述待编码视频中的图像进行数据采集以及图像预处理等,例如,对所述待编码视频进行分类、判断以及增强等,可以提高视频编码模型训练的鲁棒性以及视频信息获取的效率。
42.s102,按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;以及提取二者之间的驱动帧;
43.其中,预设频率可以是对所述待编码视频中图像帧的采样频率。通过所述预设频率可以将所述待编码视频分割为多段,以分别对各段视频进行编码压缩。第一方向参考帧可以是所述待编码视频中某一段视频的首帧图像。第二方向参考帧可以是与所述第一方向参考帧在同一视频段中的尾帧图像。其中,当前段视频的尾帧图像可以是下一段视频的首帧图像。驱动帧可以是所述第一方向参考帧与所述第二方向参考帧之间的图像帧。所述驱动帧可以为一帧或者多帧。
44.在本方案中,可以根据所述待编码视频的视频时长以及视频数据量等预设一个采样频率,并按照预设频率对所述待编码视频进行固定帧数的采样,以得到多个视频分段。根据各所述视频分段的起始播放时刻提取第一方向参考帧,根据各所述视频分段的结束播放时刻提取第二方向参考帧,并将所述第一方向参考帧以及第二方向参考帧之间的图像帧作为驱动帧。
45.s103,以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;
46.其中,第一顺序可以是由所述第一方向参考帧向所述第二方向参考帧逐帧检测的顺序,也可以是由所述第二方向参考帧向所述第一方向参考帧逐帧检测的顺序。第一参量以及第二参量可以是各帧图像的图像参量,如:关键点信息参数、背景参数、像素参数以及运动信息参数等;还可以是各帧图像与相邻前一帧或者多帧图像的对比参量等,表示各帧图像与邻前一帧或者多帧图像的相似度或者相关性等。本方案可以根据所述第一参量以及所述第二参量可以判断各帧图像的压缩方式。
47.在一实施例中,可以以所述第一方向参考帧和所述第二方向参考帧作为待压缩视频中某一视频段的边界,按照第一顺序对各帧图像的第一参量和/或第二参量进行检测,包括检测各帧的图像参数以及检测各帧图像与前一帧或者前多帧图像的图像参数相似度,或者计算图像参数变化率等。
48.s104,在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。
49.其中,预设条件可以是用于判断当前帧图像与相邻前一帧或者前多帧图像差别较大条件,具体的,可以是设置的参量相似性或者相关性的阈值,且该阈值可以是具体的参数
motion用于根据所述关键点信息生成前向以及后向参考方向的参考图像。图像融合模块用于对前向参考帧以及后向参考帧的参考图像进行融合,以得到双向融合参考图像。
60.在一实施例中,对所述场景检测网络的训练可以是在fom基础上添加后向参考,采用双向参考驱动策略,生成各驱动帧的最终图像。通过kp-detector获取当前驱动帧d以及分别在相距当前驱动帧d的前后各n帧位置处的驱动帧的关键点信息,并将相距当前驱动帧前后各n帧位置处的驱动帧作为前向参考帧d-n
以及后向参考帧d
+n
。将前向参考帧d-n
以及后向参考帧d
+n
经dense motion生成前向以及后向参考方向的参考图像。经图像融合模块对前向参考帧以及后向参考帧的参考图像进行融合得到双向融合参考图像m,并采用公式:
61.output=d-n
×
m+d
+n
×
(1-m);
62.指导当前驱动帧图像的最终生成。与仅使用单向参考相比,双向参考在主观质量上得到明显改善,脸部抖动减少。通过调节参考源的更新频率以达到较好的主观质量,并在此基础上添加预处理模块用于检测场景变化。场景变化检测方式包括:场景检测网络和计算相邻帧互信息量。通过检测场景变化分别判断当前帧估计的更新概率是否大于该帧之前已编码帧预测的更新概率均值,以及,判断当前帧与相邻帧之间的互信息量是否大于已编码帧计算的互信息量均值,以指示更准确的源参考更新定位,最终均获得一定程度的主观质量提升,改善了较差的生成结果。对于无面部遮挡、头动小以及背景简单的视频,可以根据用户对视频还原质量的需求同样采用所述双向参考驱动策略,此处不做过多限定。
63.图3为本技术实施例提供的一种基于ai的视频编码系统框架图,如图3所示,具体包括:采集/前处理模块、ai enc模块、转码引擎模块以及ai dec模块。
64.采集/前处理模块用于对待编码视频进行分类、增强以及突出等预处理操作,并将处理后的待编码视频传输至ai enc模块。本方案中对参考帧的确定以及更新是在采集/前处理模块完成的,用于为后续的视频编码提供更为准确的参考帧。
65.ai enc模块用于对所述待编码视频进行编码压缩操作,包括一条传统编码链路以及两条ai编码链路。其中,传统编码链路由codec engine模块指向混流模块。codec engine模块用于对待编码视频中的源参考帧图像进行编码操作,使得所述源参考帧图像能够进入混流模块并传输至用户端。混流模块用于将源参考帧的图像编码结果与各驱动帧的图像编码结果混合并生成码流进行编码视频的传输。
66.ai编码链路中的一条与codec engine模块连接,用于对源参考帧图像进行编码压缩处理,包括dpb(decoded picture buffer,解码图片缓存区)模块、关键点检测net以及生成信息压缩模块。dpb模块用于对codec engine模块编码的源参考帧图像进行解码操作和缓存操作,并将解码后的源参考帧图像传输至关键点检测net,以供关键点检测net进行源参考帧图像的关键点信息检测。可以理解的,此处也可以直接将源参考帧图像输入至关键点检测net。生成信息压缩模块用于将关键点检测net检测到的关键点信息进行编码压缩处理,并将压缩处理后的关键点信息传输至传统编码链路中的混流模块。
67.另一条ai编码链路包括关键点检测net以及ai dec,其中,ai dec包括稀疏运动场net以及密集运动场net。所述关键点检测net用于对各驱动帧图像进行关键点信息检测操作,并将检测到的关键点信息传输至生成信息压缩模块。ai dec用于根据检测到的关键点信息进行各帧图像的重生成,并将生成帧图像传输至鉴别net,与鉴别net构成生成对抗网络,以鉴别所述生成帧的可靠性以及准确度。其中,ai dec中的稀疏运动场net用于获取各
帧图像关键点信息中的关键点具体数据等,密集运动场net用于根据所述数据重生成各帧图像。
68.转码引擎模块用于对码流数据的转码以及丢帧数据的重生成,包括codec dec以及ai dec。codec dec用于根据码流数据以及源参考帧图像编码数据生成源参考帧图像。ai dec用于根据码流数据以及已生成的相邻参考帧或者驱动帧图像进行丢帧重生成。
69.ai dec模块用于接收ai enc模块直接传输的码流数据或者接收转码引擎模块转发的码流数据,包括codec dec以及ai dec。codec dec用于根据码流数据以及源参考帧图像编码数据生成源参考帧图像。ai dec用于根据码流数据以及已生成的相邻参考帧或者驱动帧图像进行丢帧重生成。
70.在一实施例中,可以基于一阶运动模型(first order motion model,fom)框架对视频采用双向驱动策略,以进行视频编码压缩。所述一阶运动模型框架包括:数据采集/前处理,ai enc编码,以及码流到转码引擎侧和观众端的解码。参考帧的采集以及确定ai enc模块为fom生成压缩的主要模块,由传统编码链路和ai编码链路两部分构成,码流信息包括:参考帧的传统编码流和关键点数据提取流。混流后的码流参数若符合用户端的配置参数,则直接传输至用户端解码用于后处理渲染等;若不符合用户端的配置参数,则可以被转码引擎侧解码并根据用户端配置将所述码流重新转发至对应用户端,所述用户端以及所述转码引擎都可以对码流中的丢帧数据进行重生成。ai编码模块主要由关键点检测和生成器两部分构成,数据帧首先输入关键点检测net输出关键点信息,关键点信息再进入ai dec即稀疏运动场net和密集运动场net后与参考帧作用得到当前生成帧,在训练阶段会有鉴别器net参与判别当前生成帧质量,在测试阶段鉴别器将不参与整个编码过程。
71.在一实施例中,在fom基础上首先对关键点数据进行了压缩,以期实现相较于hevc 1/10的码率传输,其次增加后向参考实现双向参考以提高生成质量,此外增加预处理模块对场景切换进行检测,为复杂场景提供更精准的参考源更新,最大限度降低传输码率。
72.图4为本技术实施例提供的检测各帧图像第一参量的方法流程图,如图4所示,具体包括如下步骤:
73.s201,以所述第一方向参考帧作为开始,逐帧输入至预先训练的场景检测网络,将所述场景检测网络的输出结果作为当前帧的第一参量;所述第一参量包括:帧间相似度;
74.其中,场景检测网络可以是对输入的图像帧进行检测的网络,包括检测该图像的关键点信息、背景信息、像素信息以及运动信息等,还包括对当前帧图像与相邻前一帧或者多帧图像进行对比等。帧间相似度可以是当前帧图像与相邻前一帧图像的相似度,还可以是当前帧图像与相邻前多帧图像的平均相似度。
75.在一实施例中,可以以所述第一方向参考帧作为开始,将待编码视频段中的图像逐帧输入至预先训练的场景检测网络,所述场景检测网络可以对输入的单帧图像进行图像参数的检测以及将所述图像参数与相邻前一帧或者多帧图像的图像参数进行对比并输出对比结果。将所述场景检测网络输出的结果作为当前帧的第一参量,所述第一参量包括各帧图像自身的图像参数,还包括各帧图像与相邻前一帧或者多帧图像的图像参数的相似度,即帧间相似度。
76.s202,识别第一顺序上是否存在未检测驱动帧;
77.在一实施例中,可以根据待编码视频段中的图像帧序列,将所述待编码视频段逐
帧输入至所述场景检测网络。在输入完成后识别所述待编码视频段第一顺序上是否存在未检测驱动帧,具体的,可以是根据所述第一顺序识别所述待编码视频段中是否存在图像帧,若存在,则说明存在未输入至所述场景检测网络的图像帧,即第一顺序上存在未检测驱动帧。
78.s203,若存在,则将未检测驱动帧输入至所述场景检测网络,直至第一顺序上不存在未检测驱动帧为止。
79.在一实施例中,若存在未检测驱动帧,则将未检测驱动帧图像输入至所述场景检测网络,并继续检测待编码视频段中是否存在驱动帧,直至第一顺序上不存在未检测驱动帧为止。
80.本技术实施例所提供的技术方案,通过以第一方向参考帧作为开始,将视频逐帧输入至预先训练的场景检测网络,将所述场景检测网络的输出结果作为当前帧的第一参量,所述第一参量包括:帧间相似度,可以识别待编码视频图像帧的帧间相似度。通过识别第一顺序上是否存在未检测驱动帧,并将未检测驱动帧输入至所述场景检测网络,直至第一顺序上不存在未检测驱动帧为止,可以提高对驱动帧检测的可靠性。
81.图5为本技术实施例提供的确定第一参量是否符合预设条件的方法流程图,如图5所示,具体包括如下步骤:
82.s301,识别所述当前帧的第一参量与当前帧之前的各帧图像之间的相似度;
83.其中,相似度可以是图像关键点信息相似度、像素信息相似度以及运动信息相似度等。
84.在一实施例中,可以根据所述场景检测网络检测当前帧的第一参量,识别所述当前帧的第一参量与当前帧之前的各帧图像之间的相似度。具体的,可以是计算当前帧的第一参量中各参数与当前帧之前的各帧图像对应的参数相似度,还可以是计算当前帧的第一参量与当前帧之前所有图像帧的平均参数的相似度等,此处不做过多限定。
85.s302,若相似度小于设定相似度阈值,则确定符合预设条件;
86.其中,相似度阈值可以是当前帧的所述第一参量中各参数与前一帧或者多帧对应的各参数相似的具体参数范围,还可以是参数百分比范围。
87.在一实施例中,若所述当前帧的第一参量与当前帧之前的各帧图像之间的相似度小于设定相似度阈值,则确定所述当前帧的第一参量符合预设条件。
88.s303,若相似度大于或者等于设定相似度阈值,则确定不符合预设条件。
89.在一实施例中,若所述当前帧的第一参量与当前帧之前的各帧图像之间的相似度大于或者等于设定相似度阈值,则确定所述当前帧的第一参量不符合预设条件。
90.本技术实施例所提供的技术方案,通过识别所述当前帧的第一参量与当前帧之前的各帧图像之间的相似度,确定当前帧的第一参量是否符合预设条件,可以提高对当前帧的第一参量是否符合预设条件的确定效率,进而提高对中间参考帧确定以及更新的效率。
91.图6为本技术实施例提供的检测各帧图像第二参量的方法流程图,如图6所示,具体包括如下步骤:
92.s401,以所述第一方向参考帧作为开始,取相邻两帧计算相邻帧互信息量;所述第二参量包括:互信息量;
93.其中,互信息量可以是相邻两帧图像的关联程度,即给定一个图像帧后,另一个图
像帧不确定性的削弱程度。例如:当互信息取值最小为0时,意味着相邻两帧没有关系,而当互信息取值最大为相邻两帧图像的熵时,意味着相邻两帧关联性很高。
94.在一实施例中,所述第二参量包括:互信息量。可以以所述第一方向参考帧作为开始,按照第一顺序,取相邻两帧图像计算相邻帧的互信息量。例如:假设所述第一方向参考帧至第二方向参考帧共有n帧图像,则分别计算第一帧与第二帧的互信息量、第二帧与第三帧的互信息量、第三帧与第四帧的互信息量、
……
、第n-1帧与第n帧的互信息量。
95.s402,识别第一顺序上是否存在未计算相邻帧互信息量的驱动帧;
96.在一实施例中,可以以所述第一方向参考帧作为开始,识别第一顺序上是否存在未计算相邻帧互信息量的驱动帧。具体的,所述第一方向参考帧以及所述第二方向参考帧的相邻帧均为一帧,其余各帧的相邻帧为前后两帧,因此,可以按照第一顺序识别所述第一方向参考帧至所述第二方向参考帧之间的图像帧是否有两个相邻的互信息量,以及,识别所述第一方向参考帧以及所述第二方向参考帧是否具有相邻帧的互信息量,判断是否存在未计算相邻帧互信息量的驱动帧
97.s403,若存在,则将未计算相邻帧互信息量的驱动帧与前一帧图像作为相邻帧,计算相邻帧互信息量,直至第一顺序上不存在未计算相邻帧互信息量的驱动帧为止。
98.在一实施例中,若存在未计算相邻帧互信息量的驱动帧,则可以根据所述驱动帧的帧序列将该帧与前一帧图像作为相邻帧,计算该帧与前一帧的相邻帧互信息量,并继续识别第一顺序上是否存在未计算相邻帧互信息量的驱动帧,直至第一顺序上不存在未计算相邻帧互信息量的驱动帧为止。
99.本技术实施例所提供的技术方案,通过以第一方向参考帧作为开始,取相邻两帧计算相邻帧互信息量,且第二参量包括互信息量,可以提高对参考帧选择的效率。通过识别第一顺序上是否存在未计算相邻帧互信息量的驱动帧,直至第一顺序上不存在未计算相邻帧互信息量的驱动帧为止,可以提高对相邻帧互信息量计算以及检测的可靠性。
100.图7为本技术实施例提供的确定第二参量是否符合预设条件的方法流程图,如图7所示,具体包括如下步骤:
101.s501,将计算得到的相邻帧互信息量存储到互信息量队列;
102.其中,互信息量队列可以是存储相邻帧图像互信息量以及互信息量序号的队列。
103.在一实施例中,可以将所述相邻帧中前一帧的帧序号作为所述相邻帧的互信息量序号,并按照第一顺序将计算所述相邻帧互信息量,同时将计算得到的所述相邻帧互信息量存储到所述互信息量队列中。
104.s502,识别当前相邻两帧的相邻帧互信息量是否小于互信息量队列中各互信息量的均值;
105.在一实施例中,通过分别计算当前相邻帧的互信息量以及互信息量队列中存储的当前帧之前的所有相邻帧互信息量的均值,并对比所述当前相邻帧的互信息量以及所述均值,可以识别当前相邻两帧的相邻帧互信息量是否小于互信息量队列中各互信息量的均值。
106.s503,若小于,则确定符合预设条件;
107.在一实施例中,若当前相邻两帧的相邻帧互信息量小于所述互信息量队列中各互信息量的均值,则说明当前帧图像与相邻前一帧图像之间的相关性有所下降,即当前相邻
帧中的某一帧与当前相邻帧之前的图像帧相比发生了较大的变化,因此,可以确定所述当前帧的第二参量符合预设条件。
108.s504,若不小于,则确定不符合预设条件。
109.在一实施例中,若当前相邻两帧的相邻帧互信息量不小于所述互信息量队列中各互信息量的均值,说明当前帧图像与相邻前一帧图像之间的相关性没有下降,即当前相邻帧中的某一帧与当前相邻帧之前的图像帧相比并没有发生较大的变化,因此,可以确定所述当前帧的第二参量不符合预设条件。
110.本技术实施例所提供的技术方案,通过将计算得到的相邻帧互信息量存储到互信息量队列,并识别当前相邻两帧的相邻帧互信息量是否小于互信息量队列中各互信息量的均值,以确定第二参量是否符合预设条件,可以对第二参量判断的准确性,进而提高对中间参考帧确定的可靠性。
111.图8为本技术实施例提供的确定第一参量是否符合预设条件的方法流程图,如图8所示,具体包括如下步骤:
112.s601,获取待编码视频;
113.s602,按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;以及提取二者之间的驱动帧;
114.s603,以所述第一方向参考帧作为开始,取相邻两帧计算相邻帧互信息量;
115.s604,将计算得到的相邻帧互信息量存储到互信息量队列;
116.s605,识别当前相邻两帧的相邻帧互信息量是否小于互信息量队列中各互信息量的均值;
117.s606,若小于,则确定符合预设条件;
118.s607,若不小于,则确定不符合预设条件。
119.s608,识别第一顺序上是否存在未计算相邻帧互信息量的驱动帧;
120.s609,若存在,则将未计算相邻帧互信息量的驱动帧与前一帧图像作为相邻帧,计算相邻帧互信息量,直至第一顺序上不存在未计算相邻帧互信息量的驱动帧为止;
121.s610,在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前相邻两帧中的后一驱动帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。
122.在一实施例中,若所述第一参量和/或所述第二参量符合预设条件,则说明当前帧或者当前相邻帧相比于前一帧或者前一相邻帧的图像相似度以及图像相关性等有所降低,当前帧的图像内容与前一帧或者多帧的图像内容相比发生了较大的变化。此时需要对前向参考帧进行及时更新,以保证视频编码的可靠性以及用户端后续解码还原视频的质量。具体的,可以是将当前相邻两帧中的后一驱动帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动,进而达到视频编码的目的。所述双向驱动包括对所有参考帧的直接编码,还包括对参考帧之间驱动帧的关键点信息以及雅可比矩阵等的压缩。
123.本技术实施例所提供的技术方案,在确定所述第一参量和/或所述第二参量符合预设条件的情况下,将当前相邻两帧中的后一驱动帧作为中间参考帧,并以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动,可以提高对中间参考帧确
定的可靠性,进而提高了对待编码视频双向驱动的可靠性。
124.图9为本技术实施例提供的基于ai的编码驱动策略调整装置的结构图,如图9所示,具体包括:
125.视频获取模块701,用于获取待编码视频;
126.图像帧提取模块702,用于按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;所述以及提取二者之间的驱动帧;
127.图像检测模块703,用于以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;
128.双向驱动模块704,用于在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。
129.在一个可能的实施例中,所述第一参量包括:帧间相似度;
130.相应的,所述图像检测模块703,包括:
131.第一参量确定单元,用于以所述第一方向参考帧作为开始,逐帧输入至预先训练的场景检测网络,将所述场景检测网络的输出结果作为当前帧的第一参量;
132.未检测驱动帧识别单元,用于识别第一顺序上是否存在未检测驱动帧;
133.未检测驱动帧检测单元,用于将未检测驱动帧输入至所述场景检测网络,直至第一顺序上不存在未检测驱动帧为止。
134.在一个可能的实施例中,所述第一参量确定单元,还用于:
135.识别所述当前帧的第一参量与当前帧之前的各帧图像之间的相似度;
136.若相似度小于设定相似度阈值,则确定符合预设条件;
137.若相似度大于或者等于设定相似度阈值,则确定不符合预设条件。
138.在一个可能的实施例中,所述第二参量包括:互信息量;
139.相应的,所述图像检测模块703,还包括:
140.互信息量计算单元,用于以所述第一方向参考帧作为开始,取相邻两帧计算相邻帧互信息量;
141.未计算相邻帧识别单元,用于识别第一顺序上是否存在未计算相邻帧互信息量的驱动帧;
142.未计算相邻帧计算单元,用于将未计算相邻帧互信息量的驱动帧与前一帧图像作为相邻帧,计算相邻帧互信息量,直至第一顺序上不存在未计算相邻帧互信息量的驱动帧为止。
143.在一个可能的实施例中,所述互信息量计算单元,还用于:
144.将计算得到的相邻帧互信息量存储到互信息量队列;
145.识别当前相邻两帧的相邻帧互信息量是否小于互信息量队列中各互信息量的均值;
146.若小于,则确定符合预设条件;
147.若不小于,则确定不符合预设条件。
148.在一个可能的实施例中,所述双向驱动模块704,具体用于:
149.将当前相邻两帧中的后一驱动帧作为中间参考帧,以所述中间参考帧与所述第二
方向参考帧对二者之间的各帧图像进行双向驱动。
150.在一个可能的实施例中,所述双向驱动模块704,还用于:
151.以所述中间参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;
152.在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为另一中间参考帧。
153.本技术实施例所提供的技术方案,视频获取模块,用于获取待编码视频;图像帧提取模块,用于按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;所述以及提取二者之间的驱动帧;图像检测模块,用于以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;双向驱动模块,用于在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。通过上述基于ai的编码驱动策略调整方法,解决了现有技术中基于ai的驱动策略应用范围小以及对视频编码不够可靠的问题,通过分别提取两个方向的图像帧作为视频编码的范围进行双驱动,并在该范围内进行各帧图像参数的对比以不断获取新的参考帧,进而根据原始参考帧以及新的参考帧对视频进行双向驱动,可以扩大基于ai的编码驱动策略的应用范围,提高了对编码端视频编码压缩的可靠性以及解码端视频解码还原的质量。
154.图10为本技术实施例提供的一种基于ai的编码驱动策略调整设备的结构示意图,如图10所示,该设备包括处理器801、存储器802、输入装置803和输出装置804;设备中处理器801的数量可以是一个或多个,图10中以一个处理器801为例;设备中的处理器801、存储器802、输入装置803和输出装置804可以通过总线或其他方式连接,图10中以通过总线连接为例。存储器802作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术实施例中的基于ai的编码驱动策略调整方法对应的程序指令/模块。处理器801通过运行存储在存储器802中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于ai的编码驱动策略调整方法。输入装置803可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置804可包括显示屏等显示设备。
155.本技术实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种上述实施例描述的基于ai的编码驱动策略调整方法,其中,包括:
156.获取待编码视频;
157.按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;以及提取二者之间的驱动帧;
158.以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;
159.在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。
160.值得注意的是,上述基于ai的编码驱动策略调整装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应
的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本技术实施例的保护范围。
161.在一些可能的实施方式中,本技术提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本技术实施例所记载的基于ai的编码驱动策略调整方法。所述程序产品可以采用一个或多个可读介质的任意组合实现。
技术特征:
1.一种基于ai的编码驱动策略调整方法,其特征在于,包括:获取待编码视频;按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;以及提取二者之间的驱动帧;以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。2.根据权利要求1所述的基于ai的编码驱动策略调整方法,其特征在于,所述第一参量包括:帧间相似度;相应的,以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量,包括:以所述第一方向参考帧作为开始,逐帧输入至预先训练的场景检测网络,将所述场景检测网络的输出结果作为当前帧的第一参量;识别第一顺序上是否存在未检测驱动帧;若存在,则将未检测驱动帧输入至所述场景检测网络,直至第一顺序上不存在未检测驱动帧为止。3.根据权利要求2所述的基于ai的编码驱动策略调整方法,其特征在于,在将所述场景检测网络的输出结果作为当前帧的第一参量之后,所述方法还包括:识别所述当前帧的第一参量与当前帧之前的各帧图像之间的相似度;若相似度小于设定相似度阈值,则确定符合预设条件;若相似度大于或者等于设定相似度阈值,则确定不符合预设条件。4.根据权利要求1所述的基于ai的编码驱动策略调整方法,其特征在于,所述第二参量包括:互信息量;相应的,以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第二参量,包括:以所述第一方向参考帧作为开始,取相邻两帧计算相邻帧互信息量;识别第一顺序上是否存在未计算相邻帧互信息量的驱动帧;若存在,则将未计算相邻帧互信息量的驱动帧与前一帧图像作为相邻帧,计算相邻帧互信息量,直至第一顺序上不存在未计算相邻帧互信息量的驱动帧为止。5.根据权利要求4所述的基于ai的编码驱动策略调整方法,其特征在于,在以所述第一方向参考帧作为开始,取相邻两帧计算相邻帧互信息量之后,所述方法还包括:将计算得到的相邻帧互信息量存储到互信息量队列;识别当前相邻两帧的相邻帧互信息量是否小于互信息量队列中各互信息量的均值;若小于,则确定符合预设条件;若不小于,则确定不符合预设条件。6.根据权利要求5所述的基于ai的编码驱动策略调整方法,其特征在于,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动,包括:
将当前相邻两帧中的后一驱动帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。7.根据权利要求1所述的基于ai的编码驱动策略调整方法,其特征在于,在将当前帧作为中间参考帧之后,所述方法还包括:以所述中间参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为另一中间参考帧。8.一种基于ai的编码驱动策略调整装置,其特征在于,包括:视频获取模块,用于获取待编码视频;图像帧提取模块,用于按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;所述以及提取二者之间的驱动帧;图像检测模块,用于以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;双向驱动模块,用于在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。9.一种基于ai的编码驱动策略调整设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-7中任一项所述的基于ai的编码驱动策略调整方法。10.一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行权利要求1-7中任一项所述的基于ai的编码驱动策略调整方法。11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的基于ai的编码驱动策略调整方法。
技术总结
本申请实施例公开了一种基于AI的编码驱动策略调整方法、装置、设备和存储介质,该方法包括:获取待编码视频;按照预设频率从所述待编码视频中提取第一方向参考帧、第二方向参考帧;以及提取二者之间的驱动帧;以所述第一方向参考帧和所述第二方向参考帧作为边界,按照第一顺序检测各帧图像的第一参量和/或第二参量;在所述第一参量和/或所述第二参量符合预设条件的情况下,将当前帧作为中间参考帧,以所述中间参考帧与所述第二方向参考帧对二者之间的各帧图像进行双向驱动。本方案扩大了基于AI的编码驱动策略的应用范围,同时提高了对编码端视频编码压缩的可靠性以及解码端视频解码还原的质量。解码还原的质量。解码还原的质量。
技术研发人员:高虹 袁子逸
受保护的技术使用者:百果园技术(新加坡)有限公司
技术研发日:2023.04.12
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种公交车智能车载安防系统的制作方法 下一篇:一种复合铁系脱氧剂及其制备方法与流程
