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

一种用于文件转码的内容自适应编码的方法及系统与流程

2022-05-06 08:29:27 来源:中国专利 TAG:


1.本发明属于视频转码技术开发,特别涉及根据文件的内容进行自适应编码方法及系统。


背景技术:

2.内容自适应编码方法能够在相同码率下观看更高分辨率的视频,在带宽节省的同时提升观看体验。传统实现内容自适应编码的方式包括以下3种。
3.1.针对不同类型的视频会产生不同编码配置。视频分类可以是广义上的分类,例如分为视频会议、电影、体育、音乐视频等,也可以是电影类型的分类,例如戏剧、动作电影、动画等。在这种分类下,只能粗略地针对某一类的视频调整编码配置,例如对简单内容场景的视频可以降低码率。然而,这种分类可能过于粗糙,因为在某一大类中,不同视频之间仍有较大的区别,因此使用同一编码配置很不精确。
4.2.针对每个具体的视频都会得出相应的编码配置。根据视频不同分辨率下的rate-quality曲线(等级质量),选择出最优的分辨率和码率组合。这种方法存在的问题是,如果视频较长(如电影等),既包含复杂内容场景又包含简单内容场景,导致此方法编码配置可能不够灵活,不能有效应对视频内部不同内容的变化。
5.3.将输入视频划分为多个片段,为每个片段获取最佳的分辨率和码率组合。这些视频片段可能是原视频每隔一定时间间隔分割得到的。但是,由于视频内容的动态变化,此方法也不能有效应对视频内部不同内容的变化。
6.因此,现有技术中存在以下的问题,一个视频文件中可能包含不同的视频内容,例如静止、动态、内容复杂场景和内容简单场景等。如何根据不同的视频内容,提供不同的编码策略,能够在保证画面质量的前提下,可以降低视频码率的技术问题。


技术实现要素:

7.本发明的目的在于提供一种用于文件转码的内容自适应编码的方法及系统,以解决现有技术中根据不同的视频内容,提供不同的编码策略,能够在保证画面质量的前提下,不能降低视频码率的技术问题。
8.一种用于文件转码的内容自适应编码的方法,它包括:
9.s1:根据文件中视频内容进行虚拟切分预处理,获得所述视频内容中每一子内容视频段的时间段;
10.s2:确定每一子内容视频段适配的一gop编码参数,所述gop编码参数至少包括码率控制参数值和图像锐化值;
11.s3:通过所述gop编码参数,确定适配的所述子内容视频段的内容自适应编码过程,其进一步包括:
12.s31:对每一子内容视频段的预设帧数的原视频数据进行解码,保存第一缓冲区;
13.s32:使用适配的所述gop编码参数进行所述帧级编码,成第二编码数据,后对所述
第二编码数据进行解码,保存在第二缓冲区;
14.s33:通过vmaf工具来对比所述第一缓冲区与所述第二缓冲区,获得vmaf分值;
15.s34:调整所述gop编码参数,直至对应的vmaf分值在预设范围,保存调整后的gop编码参数作为所述子内容视频段的本段编码参数;
16.s4:完成整个文件的内容编码。
17.本发明确定每一子内容视频段适配的一gop编码参数进一步包括:
18.找到所述子内容视频段所有的gop编码参数,将所有的gop编码参数进行平均值计算,计算后的均值参数作为所述子内容视频段适配的gop编码参数。
19.其中,步骤s4具体包括:对每一子内容视频段通过本段编码参数进行编码,组成所述文件的内容编码。
20.本方法中:设置适配gop编码参数计算进程和设置自适应编码进程;自适应编码进程处理当前子内容视频段的步骤s3确认内容自适应编码过程时,适配gop编码参数计算进程同步进行当前子内容视频段的下一段子内容视频段的步骤s2进行适配的一gop编码参数的计算获取。
21.本实例中,设置至少一适配gop编码参数计算进程和设置多个自适应编码进程;适配gop编码参数计算进程接收虚拟切分预处理后子内容视频段,依次计算对应的适配gop编码参数并存储;多个自适应编码进程,与所述适配gop编码参数计算进程独立设置,每一自适应编码进程独立设置,分别同步完成一子内容视频段的步骤s3确认内容自适应编码过程。
22.与现有技术相比,本发明具有以下优点:
23.首先:根据文件不同的内容场景,提供不同的编码策略,能够在保证视频画面质量的前提下,降低视频文件的码率。
附图说明
24.图1为本发明用于文件转码的内容自适应编码的处理端示意图;
25.图2为一种用于文件转码的内容自适应编码的方法的流程图;
26.图3为子内容视频段的内容自适应编码过程的示例图;
27.图4为于文件转码的内容自适应编码的方法的一实例流程图。
具体实施方式
28.以下结合附图,具体说明本发明。
29.第一实施例
30.本技术实施例一所提供的方法实施例可以在服务器、计算机、影像设备、手机、平板或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种服务器的硬件结构框图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具
有与图1所示不同的配置。存储器104可用于存储服务器程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种视频质量的比较方法对应的服务器程序,处理器102通过运行存储在存储器104内的服务器程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network lnterface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以通过无线方式与互联网进行通讯。
31.实施例二
32.请参阅图2,其为一种用于文件转码的内容自适应编码的方法的流程图。它包括:
33.s110:根据文件中视频内容进行虚拟切分预处理,获得视频内容中每一子内容视频段的时间段。
34.视频分类可以是广义上的分类,例如分为视频会议、电影、体育、音乐视频等,也可以是电影类型的分类,例如戏剧、动作电影、动画等。可以按照视频内容的分类进行切分成第一子内容视频段、第二子内容视频段

第n子内容视频段。
35.视频分类也可以按照时间来设置,比如,每三分钟设置为一子内容视频段。也可以按照场景的特殊性将视频内容分为简单内容场景、第二动态内容场景、第三动态内容场景

不同的场景对应不同的切分模型设置。本实例还可以通过专用的切分软件来实现视频内容的切分。比如利用ffmpeg将视频分割为小段,先预看一下分割结果,如果结果在预期范围内,编写相关的java程序,后调用制成将视频分割的java工具类实现切分。
36.使用ffmpeg已支持的获取不同场景时间点的功能,命令行为
37.ffmpeg-i

输入视频文件路径
″‑
filter:v
38.″
select=

gt(scene,sensitivityfactor)

,showinfo
″‑
f null/2>&1
39.|grep pts_time:
40.能够获取到一系列的时间点,单位为秒,例如
41.4.4186937.518758.898768.158771.058772.858778.978781.958784.398791.7387102.199
106.259113.119118.299119.539119.759137.139138.359169.179
42.不管采用何种分割方式,文件中视频内容进行切分成第一子内容视频段、第二子内容视频段

第n子内容视频段,并按照源文件的不同内容对于源文件进行虚拟打点,确定每一视频内容对应的开始和结束时间。即,第一,第一子内容视频段对应的开始和结束时间。
43.s120:确定每一子内容视频段适配的一gop编码参数,gop编码参数至少包括码率控制参数值和图像锐化值。
44.本发明接收到的内容视频,一般是编码压缩后视频数据。gop是一个编码视频流中的一组连续的画面。每一个编码的视频流都由连续的gop组成。压缩的视频流中gop相对独立,解码器解码新的gop时需要之前的帧来解码后面的帧,gop的存在还可以实现在视频中更快地定位。本发明刚好利用压缩的视频流中gop相对独立这个特性,来进行转码操作。gop编码参数至少包括码率控制参数值和图像锐化值。
45.以h264为例,h264中图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以i帧开始,到下一个i帧结束。一个序列的第一个图像叫做idr图像(立即刷新图像),idr图像都是i帧图像。h.264引入idr图像是为了解码的重同步,当解码器解码到idr图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。idr图像之后的图像永远不会使用idr之前的图像的数据来解码。一个序列就是一段内容差异不太大的图像编码后生成的一串数据流。当运动变化比较少时,一个序列可以很长,因为运动变化少就代表图像画面的内容变动很小,所以就可以编一个i帧,然后一直p帧、b帧了。当运动变化多时,可能一个序列就比较短了,比如就包含一个i帧和3、4个p帧。gop编码参数包括码率控制参数值。比如,动态调整编码器参数,得到目标比特数。为视频序列中的图像组gop、图像或子图像分配一定的比特。现有的码率控制算法主要是通过调整离散余弦变换的量化参数(qp)大小输出目标码率。
46.确定每一子内容视频段适配的一gop编码参数进一步包括:找到所述子内容视频段所有的gop编码参数,将所有的gop编码参数进行平均值计算,计算后的均值参数作为所述子内容视频段适配的gop编码参数。比如,所有的gop编码参数中的码率控制参数值进行相加,计算后的平均值作为适配的gop编码参数对应的码率控制参数值。
47.gop:是指一组图画的意思,每一个gop组都是从一个关键帧开始的。关键帧:是一幅完整的画面,gop其他非关键帧可能需要参考关键帧的内容。对源文件的一个场景的第一个gop中的每一帧的编码参数包括码率控制参数和图像锐化。
48.s130:通过gop编码参数,确定适配的所述子内容视频段的内容自适应编码过程。
49.该步骤s130可以通过以下步骤来实现。如图3所示:
50.s231:对每一子内容视频段的预设帧数的原视频数据进行解码,保存第一缓冲区。
51.设定帧数可以是一帧,也可以多帧。一般来说,在一个图像组(gop)中,通常情况下第1个视频帧是关键帧,其他视频帧是非关键帧。也存在特殊情况,在一个图像组(gop)中除下第1个视频帧之外,还存在其他关键帧。例如,连续8个视频帧中的第1个视频帧是关键帧,第2-8个视频帧中的部分视频帧也可以是关键帧,例如第4个视频帧是关键帧,或者第5个视频帧是关键帧等等。预设帧数主要是对关键帧进行处理。该子内容视频段的一帧进行解码。如果编码是h.264,则接收端收到文件时,可以通过对应的解码器进行直接解码。在本实现中,解码按照子内容视频段的设定帧数段进行帧解码,比如,解码按照当前子内容视频段的一帧进行解码。
52.s232:使用适配的所述gop编码参数进行所述帧级编码,成第二编码数据,后对所述第二编码数据进行解码,保存在第二缓冲区。
53.步骤s120中找到的适配的gop编码参数,比如,码率控制参数值和图像锐化值作为当前子内容视频段的参数进行编码,成第二编码数据,再进行解码,后将解码的数据存在第二缓冲区。
54.即,为了获取一帧的vmaf分值,处理步骤为
55.(1)将源文件的一帧解码,为data1,保存在缓存中;
56.(2)将data1按照要求的编码参数编码,为data2,保存在缓存中;
57.(3)将data2按照编码的方式解码,为data3,保存在缓存中;
58.调用vmaf工具,对比data3相对data1,获取到vmaf分值
59.s233:通过vmaf工具来对比所述第一缓冲区与所述第二缓冲区,获得vmaf分值。
60.以所述第二缓冲区的视频数据为测试视频、所述第一缓冲区的视频数据为参考视频输入预设视频质量多方法评价融合vmaf模型,输出第一vmaf分数。在本实施例中,可以使用vmaf(visual/video multimethod assessmentfusion,视频质量多方法评价融)作为有参考评价的客观评价算法来计算解码的质量,本实施例的vmaf是一种客观的有参考视频质量评价指标,利用机器学习方法计算解码视频相较于源视频的质量。除了vmaf之外,也可以使用类似的有参考评价算法来交叉计算第一缓冲区和第二缓冲区视频的编码质量。下面以vmaf为例进行说明。本实施例的vmaf面对不同特征的源内容、失真类型,以及扭曲程度,每个基本指标各有优劣,通过使用机器学习算法(svm)将基本指标“融合”为一个最终指标,可以为每个基本指标分配一定的权重,这样最终得到的指标就可以保留每个基本指标的所有优势,借此可得出更精确的最终分数。vmaf使用3种指标:visual quality fidelity(vif)、detail loss measure(dlm)、temporal information(ti)。其中vlf和dlm是空间域的也即一帧画面内的特征,ti是时间域的也即多帧画面之间相关性的特征。这些特性之间融合计算总分的过程使用了训练好的svm来预测。vmaf基于svm的nusvr算法,在运行的过程中,根据事先训练好的model,赋予每种视频特征以不同的权重。对每一帧画面都生成一个评分,最终以均值算法进行归总(也可以使用其他的归总算法),算出该视频的最终评分。本实施例在使用vmaf模型进行计算时,可以现在本地训练vmaf模型,也可以直接使用训练好的vmaf模型。(在本实例中,我们可以直接使用训练好的vmaf模型)
61.s234:调整所述gop编码参数,直至对应的vmaf分值在预设范围,保存调整后的gop
编码参数作为所述子内容视频段的本段编码参数。
62.如vmaf分值在预设范围内,直接记录本次的gop编码参数作为当前子内容视频段的本段编码参数。如果vmaf分值不在预设范围内,直接对gop编码参数减去或加上一个预先设定的值再进行处理。
63.s140:完成整个文件的内容编码。对每一子内容视频段通过本段编码参数进行编码,组成所述文件的内容编码。
64.在本实例中,按照视频内容的分类进行切分成第一子内容视频段、第二子内容视频段

第n子内容视频段,第一子内容视频段进行适配gop编码参数计算时,第二子内容视频段同步进行适配bop编码参数计算。这种处理方案提高处理的效率,即当前子内容视频段进行适配gop编码参数计算时,下一段子内容视频段同步进行适配gop编码参数计算。具体来说,设置适配gop编码参数计算进程和设置自适应编码进程;自适应编码进程处理当前子内容视频段的步骤s130确认内容自适应编码过程时,适配gop编码参数计算进程同步进行当前子内容视频段的下一段子内容视频段的步骤s120进行适配的一gop编码参数的计算获取。
65.当然,还可以是另外一种处理方案,可以设置多个进程:设置至少一适配gop编码参数计算进程和设置多个自适应编码进程。
66.适配gop编码参数计算进程与多个自适应编码进程并行处理,适配gop编码参数计算进程依次对切分的内容视频段的适配gop编码参数进行计算,而自适应编码进程分别同步处理一个内容视频段的步骤s130确认内容自适应编码过程。即,适配gop编码参数计算进程接收虚拟切分预处理后子内容视频段,依次计算对应的适配gop编码参数并存储;多个自适应编码进程,与所述适配gop编码参数计算进程独立设置,每一自适应编码进程独立设置,分别同步完成一子内容视频段的步骤s3确认内容自适应编码过程。这种方式同样提升其处理的效率。
67.另外,“对每一子内容视频段的预设帧数的原视频数据进行解码”之前还可以包括:根据预先设定输出编码格式选取对应的码率控制方式;根据预先设定的输出分辨率和输出视频质量进行编码参数初始化;对源文件的当前子内容视频段的帧数据进行解码。
68.实施例3
69.请参阅图4,其为本实例的一种实施方式图。
70.为准确按照不同内容使用不同的编码参数,本发明采用根据视频内容对源文件进行虚拟切分预处理。具体的方式是,按照源文件的不同内容对源文件进行虚拟打点,确定每一个视频内容的开始和结束时间。
71.为确定每个视频内容的编码参数值,并处理整体的转码速度不因内容感知编码变慢问题,本发明采用通过确认输出第一个gop(两个关键帧之间的一组图像,第一帧可以为关键帧)每一帧的编码参数值,然后取第一个gop所有帧编码参数值的平均值作为此时间段视频内容的编码参数值。
72.为确定一帧视频内容的编码参数值,本发明采用先根据编码要求进行编码参数初始化处理,包括:根据编码方式确定码率控制方式,用于控制视频质量和码率;根据输出的分辨率和输出视频质量值确定vmaf(一种视频质量评估方法)分值、图像锐化(提升图像画面质量)、码率控制等范围。然后通过解码源文件的一帧视频内容并存放在缓冲区1中,使用
初始化码率控制参数值和图像锐化数值对此缓冲区1中的数据进行编码,再将编码数据解码并存放在缓冲区2中,对缓冲区1和缓冲区2中数据,通过vmaf方法进行质量对比,得到vmaf分值。如果vmaf分值不在初始化vmaf分值范围内,则调整码率控制参数值和锐化参数值,重新对缓冲区1的数据进行编码,直至达到初始化vmaf分值范围。具体地:
73.s11:视频内容的虚拟切分预处理。根据文件中的视频内容确定每个内容的开始和结束时刻;
74.s12:根据步骤s11中每个视频内容的开始和结束时刻,开始每个视频内容的转码处理;
75.s13:根据输出要求的编码格式确定需要的码率控制模式;
76.s14:根据输出要求的分辨率和视频质量,初始化vmaf(主观质量评价标准)分值、图像锐化和码率控制参数值范围(主要是根据输出的分辨率,按照批量测试经验值确定了vmaf(主观质量评价标准)分值、图像锐化和码率控制参数值范围);
77.s15:对文件的一帧数据解码,视频内容保存在缓冲区1中;
78.s16:根据初始化的码率控制参数值和图像锐化值对缓冲区1的视频内容进行编码,然后对编码视频内容进行解码,并存放在缓冲区2中;
79.s17:通过vmaf工具对比缓冲区1和缓冲区2中的视频内容,获取缓冲区2视频内容对比缓冲区1视频内容的vmaf分值;
80.s18:判断步骤s17中vmaf分值不在步骤s14中初始化vmaf值的范围中,调整码率控制参数值和图像锐化值,重复步骤s16、s17、s18。否则执行步骤s19;
81.s19:保存步骤s18中的码率控制参数值和图像锐化值;
82.重复步骤s15、s16、s17、s18、s19,直至获取一个输出gop数量的码率控制参数值和图像锐化值;
83.使用步骤s10中码率控制参数值和图像锐化值的平均值作为编码参数对此时间段的视频内容进行编码(例如一个gop为25,则执行s15、s16、s17、s18、s19,可以分别获取25个码率控制参数值和图像锐化值,s10的结果是25个码率控制参数值和图像锐化值的平均值);其他时间段的视频内容执行步骤s2~步骤s11,完成整个文件的内容自适应编码。
84.一种用于文件转码的内容自适应编码的系统,其特征在于,包括:
85.预处理装置:用于根据文件中视频内容进行虚拟切分预处理,获得所述视频内容中每一子内容视频段的时间段;
86.适配gop编码参数计算装置,用于确定每一子内容视频段适配的一gop编码参数,所述gop编码参数至少包括码率控制参数值和图像锐化值;
87.自适应编码装置:用于通过所述gop编码参数,确定适配的所述子内容视频段的内容自适应编码过程,其进一步包括:
88.解码单元:用于对每一子内容视频段的预设帧数的原视频数据进行解码,保存第一缓冲区;
89.帧级编码单元:用于使用适配的所述gop编码参数进行所述帧级编码,成第二编码数据,后对所述第二编码数据进行解码,保存在第二缓冲区;
90.比对单元:通过vmaf工具来对比所述第一缓冲区与所述第二缓冲区,获得vmaf分值;
91.本段编码参数确认单元:用于调整所述gop编码参数,直至对应的vmaf分值在预设范围,保存调整后的gop编码参数作为所述子内容视频段的本段编码参数;
92.文件内容编码器:用于完成整个文件的内容编码。
93.适配gop编码参数计算装置和自适应编码装置并行独立设置,所述自适应编码装置为一个或多个。
94.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法步骤。
95.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述所述的方法步骤。
96.本说明书实施例中还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序/指令,所述处理器执行所述计算机程序/指令时,实现本说明书任意一个实施例中提供的生成智能合约文件的合约类的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例中相同、相似的部分互相参见即可,每个实施例中重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
97.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱
离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献