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

一种视频编码的码率控制方法、装置及存储介质

2022-11-23 13:00:49 来源:中国专利 TAG:


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.针对当前视频帧,检测当前视频帧的帧内预测ctu比例是否大于预设数值;其中,所述当前视频帧的帧内预测ctu比例为目标视频中的已编码的该当前视频帧之前的预设数量的视频帧之间的帧内预测模式的ctu数据占视频帧之间的总ctu数目的比例;
28.若是,则对所述当前视频帧之前的预设数量的视频帧的第一目标函数进行权重调整,并根据调整权重后的所述第一目标函数、所述第二目标函数以及所述当前视频帧之前的预设数量的视频帧之间的帧间关系对所述当前视频帧之后的视频帧进行编码;
29.若否,则按照所述第一目标函数和所述第二目标函数对所述当前视频帧之后的视频帧进行编码。
30.本技术实施例还提供了一种视频编码的码率控制装置,所述码率控制装置包括:
31.确定模块,用于获取待处理的目标视频,并确定出所述目标视频的视频质量特征、时间复杂度特征以及空间复杂度特征;
32.失真感知度确定模块,用于将所述视频质量特征、所述时间复杂度特征以及所述空间复杂度特征输入至预先训练好的用户感知训练模型之中,输出用户失真感知度;
33.第一目标函数确定模块,用于基于量化参数与所述用户失真感知度之间的函数关
系以及率失真函数,确定出所述用户失真感知度和编码码率之间的第一目标函数;
34.码率调整模块,用于基于编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及所述用户失真感知度和编码码率之间的第一目标函数,对所述目标视频的各个视频帧的码率进行控制。
35.在一种可能的实施方式中,所述确定模块通过以下步骤确定出所述视频质量特征:
36.对所述目标视频进行失真预测处理,确定出失真视频;
37.将所述失真视频分成多个子视频片段;
38.针对于每个所述子视频片段,基于所述子视频片段的视频质量值,确定出视频退化特征向量;
39.基于每个所述子视频片段的视频退化特征向量,确定出所述视频质量特征。
40.本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的视频编码的码率控制方法的步骤。
41.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的视频编码的码率控制方法的步骤。
42.本技术实施例提供的一种视频编码的码率控制方法、装置及存储介质,所述码率控制方法包括:获取待处理的目标视频,并确定出所述目标视频的视频质量特征、时间复杂度特征以及空间复杂度特征;将所述视频质量特征、所述时间复杂度特征以及所述空间复杂度特征输入至预先训练好的用户感知训练模型之中,输出用户失真感知度;基于量化参数与所述用户失真感知度之间的函数关系以及率失真函数,确定出所述用户失真感知度和编码码率之间的第一目标函数;基于编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及所述用户失真感知度和编码码率之间的第一目标函数,对所述目标视频的各个视频帧的码率进行控制。通过编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及用户失真感知度和编码码率之间的第一目标函数,实现了结合缓冲区状态和用户主观感知质量进行帧级别的码率控制,能够有效减少编码过程中的编码器缓冲区的上溢和下溢现象,在考虑编码器缓冲区丢帧的情况下能够提高视频的主观感知质量指标。
43.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
44.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
45.图1为本技术实施例所提供的一种视频编码的码率控制方法的流程图;
46.图2为本技术实施例所提供的一种视频编码的码率控制装置的结构示意图之一;
47.图3为本技术实施例所提供的一种视频编码的码率控制装置的结构示意图之二;
48.图4为本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
49.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中的附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
50.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本技术保护的范围。
51.为了使得本领域技术人员能够使用本技术内容,结合特定应用场景“对视频编码的码率进行控制”,给出以下实施方式,对于本领域技术人员来说,在不脱离本技术的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
52.本技术实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要对视频编码的码率进行控制的场景,本技术实施例并不对具体的应用场景作限制,任何使用本技术实施例提供的一种视频编码的码率控制方法、装置及存储介质的方案均在本技术保护范围内。
53.首先,对本技术可适用的应用场景进行介绍。本技术可应用于视频编码技术领域。
54.经研究发现,现阶段,编码视频的观察者大多是人类,人眼感知系统对图片和视频质量的感受并不能完美地被客观指标反映,目前针对客观失真的优化工作存在一定的改进空间。并且,在视频变换较为剧烈的场景下,人眼对失真感受不强,同时此时编码的码流会出现较大浮动,会导致编码缓冲区的上溢和下溢。所以,如何对码率控制成为了不容小觑的技术问题。
55.基于此,本技术实施例提供了一种视频编码的码率控制方法,通过编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及用户失真感知度和编码码率之间的第一目标函数,实现了结合缓冲区状态和用户主观感知质量进行帧级别的码率控制,能够有效减少编码过程中的编码器缓冲区的上溢和下溢现象,在考虑编码器缓冲区丢帧的情况下能够提高视频的主观感知质量指标。
56.请参阅图1,图1为本技术实施例所提供的一种视频编码的码率控制方法的流程图。如图1中所示,本技术实施例提供的码率控制方法,包括:
57.s101:获取待处理的目标视频,并确定出所述目标视频的视频质量特征、时间复杂度特征以及空间复杂度特征。
58.该步骤中,获取到待处理的目标视频,并确定出目标视频的视频质量特征、时间复
杂度特征以及空间复杂度特征。
59.这里,待处理的目标视频为未进行编码的视频。
60.其中,视频质量特征为vmaf(video multi-method assessment fusion,视频质量评估)特征。
61.在一种可能的实施方式中,通过以下步骤确定出所述视频质量特征:
62.a:对所述目标视频进行失真预测处理,确定出失真视频。
63.这里,对目标视频进行失真预测处理,确定出失真视频。
64.在一种可能的实施方式中,所述对所述目标视频进行失真预测处理,确定出失真视频,包括:
65.a:对所述目标视频进行离散余弦变换处理,确定出所述目标视频的多个频域。
66.这里,对目标视频进行离散余弦变换处理(dct),经过离散余弦变换处理后确定出目标视频的多个频域。
67.b:对每一所述频域按照多个不同量化步长分别进行量化处理、反量化处理以及反变换处理,确定出不同量化步长对应的所述失真视频。
68.这里,对每一偏于采用不同量化步长进行量化处理,之后进行反量化处理和变换处理得到不同量化步长对应的所述失真视频。
69.这里,量化步长可为0.625、1.4062、3.1875、7.125、6、36、89、180等。
70.这里,根据量化步长与量化参数的对应关系,可以确定出量化参数qp对应为0、7、14、21、28、35、42以及49。
71.在具体实施例中,为了有效降低用户失真感知度生成过程的时间复杂度,设计了一种快速vmaf质量预测方法,通过dct变换和模拟hevc编码器中的量化过程,能够在不进行实际编码的情况下快速有效预测不同编码条件下视频帧的vmaf得分。具体做法是:对每个完整视频帧进行dct变换,然后对频率域系数采用不同量化步长(0.625,1.4062,3.1875,7.125,16,36,89,180),之后进行反量化和反变换得到失真视频帧。该种方法得到的失真视频帧进行vmaf评分后的得分与hevc编码器完整编码(对应qp为0,7,14,21,28,35,42,49)失真视频帧的vmaf值能够被函数y=ax^b较好拟合。因此,能够在不进行实际编码的前提下较好地预测编码视频帧的vmaf得分。快速vmaf质量预测方法对目标视频进行处理,从而在不进行实际编解码的条件下预测出目标视频在不同编码条件下的失真程度,得到的不同编码条件下的视频vmaf质量预测值会被用于提取视频质量特征,从而和视频时空特征一起被送入训练好的模型,预测出视频的户失真感知度。
72.b:将所述失真视频分成多个子视频片段。
73.这里,将失真视频分成若干个固定长度(0.5s)、固定比例(320x180)的子视频片段。
74.c:针对于每个所述子视频片段,基于所述子视频片段的视频质量值,确定出视频退化特征向量。
75.这里,针对每个子视频片段,根据该子视频片段的视频质量值确定出视频退化特征向量。
76.其中,可以通过vmaf计算工具或者是其他工具确定出该子视频片段的视频质量值。
77.其中,可以通过该子视频片段的视频质量值与vmaf满分的差值生成维度为二十的视频退化特征向量,或者是通过该子视频片段的视频质量值与预设vmaf值进行比较,若小于预设vmaf值,则将该子视频片段的视频质量值与vmaf满分的差值生成维度为二十的视频退化特征向量,若大于,则不需确定出视频退化特征向量,这里,不限定视频退化特征向量的确定方式。
78.这里,特征向量位置i(i取值[0,20)代表视频退化特征向量的下标索引上的值为该子视频片段所切割形成的视频片段中的视频质量值与vmaf满分差值大于等于2*i的比例。
[0079]
d:基于每个所述子视频片段的视频退化特征向量,确定出所述视频质量特征。
[0080]
这里,根据每个子视频片段的视频退化特征向量,确定出视频质量特征。
[0081]
在一种可能的实施方式中,通过以下步骤确定出所述时间复杂度特征:
[0082]
基于所述待预测视频的历史帧进行奇异值分解预测出所述待预测视频的当前帧的预测灰度值;基于所述当前帧的预测灰度值与所述当前帧的真实灰度值,确定出残差值;基于多个所述残差值计算残差向量的一范数,然后在帧级别上取平均,确定出所述时间复杂度特征。
[0083]
在具体实施例中,通过对历史帧进行svd分解(奇异值分解),利用线性映射预测当前帧的预测灰度值,根据预测灰度值与真实灰度值的差值确定出残差值,根据多个残差值确定出时间特复杂度特征。
[0084]
在一种可能的实施方式中,通过以下步骤确定出所述空间复杂度特征:
[0085]
将所述待预测视频分成多个子视频片段,将每一所述子视频片段分割成预设尺寸的视频块;针对每一个子视频片段,计算该子视频片段的每一视频块的灰度方差值,将该子视频片段的多个视频块的灰度方差值进行平均值计算,确定出该子视频片段的空间复杂程度;基于所述子视频片段的空间复杂程度,确定出所述空间复杂度特征。
[0086]
在具体实施例中,空间复杂度特征的计算是将子视频片段中的视频帧分割为固定32x32大小的块(32*32块只是为了计算每个局部的灰度变化剧烈程度,最后所有32*32小块取平均可以代表这一帧的灰度变化剧烈程度,即空间复杂程度),计算每个块的灰度值方差值,最后不同块的灰度值方差值取平均即可得到空间复杂程度,根据预设的max和min将区间分为十部分,这个向量反应落在各个区间内部的空间复杂度比例,然后确定出目标视频的空间复杂度特征向量。
[0087]
s102:将所述视频质量特征、所述时间复杂度特征以及所述空间复杂度特征输入至预先训练好的用户感知训练模型之中,输出用户失真感知度。
[0088]
该步骤中,将视频质量特征、时间复杂度特征以及空间复杂度特征输入至预先训练好的用户感知训练模型之中,输出用户失真感知度。
[0089]
这里,用户失真感受度为用户的人眼对目标视频出现失真的感受度,也可作为用户满意率sur(satisfied user ratio),取值为0到1之间,直接反映用户能够察觉失真图像视频的比例,若取值为1则代表所有用户均认为失真图像视频与原始图像视频没有肉眼可见的差别。
[0090]
这里,主观感知质量指标比如,用户失真感知度,也即,用户满意率。
[0091]
这里,通过以下方式训练出用户感知训练模型:
[0092]
首先利用videoset数据集中包含的数据集视频的原始版本,不同编码条件下的失真版本以及失真版本对应的户失真感知度。在提取特征前,将视频分为若干固定长度(通常为0.5s),固定比例(通常为320x180)的视频片段。对每个视频片段使用vmaf工具计算其vmaf值,根据vmaf值与vmaf满分的差值生成维度为二十的vmaf质量退化特征向量。空间复杂度特征的计算是将视频片段中的视频帧分割为固定32x32大小的块(32*32块只是为了计算每个局部的灰度变化剧烈程度,最后所有32*32小块取平均可以代表这一帧的灰度变化剧烈程度,即空间复杂程度),计算每个块的色彩方差值(此处需要修改为每个块的灰度值方差值,计算就是计算方差),最后不同块的方差值取平均即可得到空间复杂度特征。将不同视频片段的空间复杂度转换为维度为十的频率分布向量即可作为原视频的空间复杂度特征向量。时间复杂度特征通过对历史帧进行svd分解(奇异值分解),利用线性映射预测当前帧,残差值(预测值减去真实值,得到的就是残差,预测值作为时间复杂度(对残差改变形状为一维向量后,计算1范数,作为时间复杂度)。视频片段的时间复杂度转换为原视频的时间特征向量的操作与空间特征相同。需要注意的是时间特征和空间特征的计算均在灰度域上进行。三种特征被同时输入到机器学习模型中进行户失真感知度的训练,确定出用户感知训练模型。
[0093]
这里,在实际编码过程中,为了有效节约计算资源,每隔一定时间周期(约半秒)对视频帧进行感知质量建模一次(感知建模的过程包括:对目标视频进行视频质量特征提取(使用快速vmaf质量预测方法),时空特征提取;将提取特征送入训练好的机器学习模型,拟合nsur-r函数;以上的感知建模过程以滑动窗口为单位进行处理,每个滑动窗口集中处理0.5s的视频帧。为了节省计算资源,在对待编码视频进行感知建模的时候进行了一些简化操作,包括:1、每帧被缩放为320x180分辨率进行时空特征提取;2、提取视频质量特征的时候,每个滑动窗口会被直接进行快速vmaf失真预测和vmaf特征提取(而不是分成小块),可以认为每个滑动窗口的视频只能分出一个视频片段,而不是像训练过程中一样被分成很多个小片段3、在实际编码过程中我们发现对于最差编码质量的三个数据点,nsur值常为1,对于最好编码质量的两个数据点,nsur值常为0,因此我们直接设定其数值并跳过计算这些数据点以节省计算资源。
[0094]
s103:基于量化参数与所述用户失真感知度之间的函数关系以及率失真函数,确定出所述用户失真感知度和编码码率之间的第一目标函数。
[0095]
该步骤中,根据量化步长相对应的量化参数和用户失真感知度之间的函数关系以及率失真函数,确定出用户失真感知度和编码码率之间的第一目标函数。
[0096]
这里,用户失真感知度和量化参数qp的关系能够通过正态分布的概率密度累计函数进行建立。
[0097]
在一种可能的实施方式中,所述函数关系包括正态分布概率密度累积关系;所述基于量化参数与所述用户失真感知度之间的函数关系以及率失真函数,确定出所述用户失真感知度和编码码率之间的第一目标函数,包括:
[0098]
(1):基于所述用户失真感知度与所述量化参数呈现的正态分布的概率密度累积关系,确定出第一函数。
[0099]
这里,第一函数为:
[0100][0101]
其中,s为用户失真感知度,qp为量化参数,μ为正态分布的均值,σ表示的是正态分布的方差,e为自然对数。
[0102]
(2)对所述第一函数进行近似变换,确定出第二函数。
[0103]
这里,对第一函数进行近似变换,确定出第二函数。
[0104]
其中,第二函数为:
[0105][0106]
其中,s为用户失真感知度,qp为量化参数,μ为正态分布的均值,σ表示的是正态分布的方差,e为自然对数,k为常数。
[0107]
(3):基于所述第一函数和所述第二函数,确定出第三函数。
[0108]
这里,第三函数为:
[0109][0110]
这里,nsur为1-用户失真感受度,c为参数,d为参数,r为码率。
[0111]
(4):基于所述第三函数以及所述率失真函数,确定出所述失真感知度和编码码率之间的第一目标函数。
[0112]
这里,第一目标函数为:
[0113][0114]
其中,r为码率,cv(r)为第一目标函数,c为参数,e为参数,i为第几视频帧,n为视频帧总数,f为权重。
[0115]
这里,研究表明用户失真感受度与量化参数qp的关系能够通过正态分布的概率密度累计函数进行建立,然而概率密度累积函数涉及积分操作,不利于后续推导。由此,可以得到量化参数qp与用户失真感受度的明确函数关系。在这些基础上,通过编码领域对qp,λ(lambda为率失真权重,在视频编码中,率失真函数表示为j=d λr,λ可以理解为码率在优化过程中的重要程度)和码率r的现成关系模型推导得到了失真感知度和编码码率之间的第一目标函数。
[0116]
这里,一般需要至少七个锚点才能够生成用户满意率曲线。为了避免重复编码七次的巨大计算成本,因此设计了一种快速失真vmaf预测方法在不进行重复编码的情况下较为准确地获取锚点以生成用户满意率曲线,为后续的函数优化做准备。
[0117]
s104:基于编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及所述用
户失真感知度和编码码率之间的第一目标函数,对所述目标视频的各个视频帧的码率进行控制。
[0118]
该步骤中,根据编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及用户失真感知度和编码码率之间的第一目标函数,对目标视频的各个视频帧的码率进行控制。
[0119]
这里,码率一般指比特率,表示单位时间内传送比特的数据,码率根据每帧图像存储时所占的比特数和传输比特率可以计算数字图像信息传输的速度。信道编码中k符号大小的信源数据块通过编码映射为n符号大小的码字,则k/n为码率。码率高,音视频的质量越好,但是编码后的文件就越大,如果比特率越少则情况刚好相反。
[0120]
这里,第一目标函数和第二目标函数的表达式为:
[0121][0122]
其中,r为码率,ω为权重,cb(r)为第二目标函数,height视频帧的高度,width为视频帧的宽度,ri为第i视频帧的码率,n为视频帧的总数,cv(r)为第一目标函数,r
budget
为n个视频帧的总码率。
[0123]
在一种可能的实施方式中,通过以下步骤确定出所述编码器缓冲区状态的状态稳定性目标对应的第二目标函数:
[0124]
i:获取预设的缓冲区占用比例,所述预设的缓冲区占用比例用于表征编码每一视频帧后的缓冲区状态满足预设占用率。
[0125]
ii:基于当前编码的视频帧处于的缓冲区区间、所述预设的缓冲区占用比例、目标码率以及帧率,确定出所述编码器缓冲区状态的状态稳定性目标对应的第二目标函数。
[0126]
这里,第二目标函数为:
[0127][0128]
其中,b0表示编码当前编码的视频帧处于的缓冲区区间,rj表示第j帧的码率,kb表示预设的缓冲区占用比例,br表示目标码率,fr表示帧率,cb(r)为第二目标函数。
[0129]
在一种可能的实施方式中,在所述基于编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及所述用户失真感知度和编码码率之间的第一目标函数,对所述目标视频的各个视频帧的码率进行控制之后,所述码率控制方法还包括:
[0130]
i:针对当前视频帧,检测当前视频帧的帧内预测ctu比例是否大于预设数值;其中,所述当前视频帧的帧内预测ctu比例为目标视频中的已编码的该当前视频帧之前的预设数量的视频帧之间的帧内预测模式的ctu数目占视频帧之间的总ctu数目的比例;
[0131]
这里,对于当前视频帧,检测目标视频中的已编码的该当前视频帧之前的预设数
量的视频帧之间的帧内预测ctu比例是否大于预设数值。
[0132]
这里,预设数值可为0.1。
[0133]
ii:若是,则对所述当前视频帧之前的预设数量的视频帧的第一目标函数进行权重调整,并根据调整权重后的所述第一目标函数、所述第二目标函数以及所述当前视频帧之前的预设数量的视频帧之间的帧间关系对所述当前视频帧之后的视频帧进行编码;
[0134]
这里,若当前视频帧之前的预设数量的视频帧之间的帧内预测的ctu比例大于预设数值,则认为帧间关系需要被考虑,需通过hm参考软件中的固定比特分配比例为当前视频帧之前的预设数量的视频帧的第二目标函数进行权重调整,并根据调整权重后的所述第二目标函数、第一目标函数以及以及当前视频帧之前的预设数量的视频帧之间的帧间关系对当前视频帧之后的预设数量的视频帧进行编码。
[0135]
iii:若否,则按照所述第一目标函数和所述第二目标函数对所述当前视频帧之后的视频帧进行编码。
[0136]
这里,若当前视频帧之前的预设数量的视频帧之间的帧内预测ctu比例小于预设数值,则认为帧间关系不需要被考虑,按照第一目标函数和第二目标函数对当前视频帧之后的预设数量的视频帧进行编码。
[0137]
在具体实施例中,视频编码中存在频繁的帧间参考,如果前后帧的变化程度并不大,则帧间参考十分有效,若前后帧的变化程度较大,则帧间参考会不准确。此处通过统计编码帧内ctu选择帧内参考的比例,比例大于0.1则认为帧间参考无效,否则认为帧间参考有效。当帧间参考有效时,我们需要着重优化那些被频繁参考的视频帧,即通过调整第一目标函数中的权重。
[0138]
编码视频的观察者大多是人类,人眼感知系统对图片和视频质量的感受并不能完美地被mse,psnr等客观指标反映,目前针对客观失真的优化工作存在一定的改进空间。并且,在视频变换较为剧烈的场景下,人眼对失真感受不强,同时此时编码码流会出现较大浮动,导致编码缓冲区的上溢和下溢。因此,结合人眼感知质量和缓冲区状态控制进行码率控制是一个有意义的工作改进。
[0139]
本技术实施例提供的一种视频编码的码率控制方法,所述码率控制方法包括:获取待处理的目标视频,并确定出所述目标视频的视频质量特征、时间复杂度特征以及空间复杂度特征;将所述视频质量特征、所述时间复杂度特征以及所述空间复杂度特征输入至预先训练好的用户感知训练模型之中,输出用户失真感知度;基于量化参数与所述用户失真感知度之间的函数关系以及率失真函数,确定出所述用户失真感知度和编码码率之间的第一目标函数;基于编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及所述用户失真感知度和编码码率之间的第一目标函数,对所述目标视频的各个视频帧的码率进行控制。通过编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及用户失真感知度和编码码率之间的第一目标函数,实现了结合缓冲区状态和用户主观感知质量指标进行帧级别的码率分配,能够有效减少编码过程中的编码器缓冲区的上溢和下溢现象,在考虑编码器缓冲区丢帧的情况下能够提高视频的主观感知质量指标。
[0140]
请参阅图2、图3,图2为本技术实施例所提供的一种视频编码的码率控制装置的结构示意图之一;图3为本技术实施例所提供的一种视频编码的码率控制装置的结构示意图之二,所述视频编码的码率控制装置200包括:
[0141]
确定模块210,用于获取待处理的目标视频,并确定出所述目标视频的视频质量特征、时间复杂度特征以及空间复杂度特征;
[0142]
失真感知度确定模块220,用于将所述视频质量特征、所述时间复杂度特征以及所述空间复杂度特征输入至预先训练好的用户感知训练模型之中,输出用户失真感知度;
[0143]
第一目标函数确定模块230,用于基于量化参数与所述用户失真感知度之间的函数关系以及率失真函数,确定出所述用户失真感知度和编码码率之间的第一目标函数;
[0144]
码率调整模块240,用于基于编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及所述用户失真感知度和编码码率之间的第一目标函数,对所述目标视频的各个视频帧的码率进行控制。
[0145]
进一步的,所述确定模块210通过以下步骤确定出所述视频质量特征:
[0146]
对所述目标视频进行失真预测处理,确定出失真视频;
[0147]
将所述失真视频分成多个子视频片段;
[0148]
针对于每个所述子视频片段,基于所述子视频片段的视频质量值,确定出视频退化特征向量;
[0149]
基于每个所述子视频片段的视频退化特征向量,确定出所述视频质量特征。
[0150]
进一步的,所述确定模块210在用于所述对所述目标视频进行失真预测处理,确定出失真视频时,所述确定模块210具体用于:
[0151]
对所述目标视频进行离散余弦变换处理,确定出所述目标视频的多个频域;
[0152]
对每一所述频域按照多个不同量化步长分别进行量化处理、反量化处理以及反变换处理,确定出不同量化步长对应的所述失真视频。
[0153]
进一步的,第一目标函数确定模块230在用于所述函数关系包括正态分布概率密度累积关系;所述基于量化参数与所述用户失真感知度之间的函数关系以及率失真函数,确定出所述用户失真感知度和编码码率之间的第一目标函数时,第一目标函数确定模块230具体用于:
[0154]
基于所述用户失真感知度与所述量化参数呈现的正态分布的概率密度累积关系,确定出第一函数;
[0155]
对所述第一函数进行近似变换,确定出第二函数;
[0156]
基于所述第一函数和所述第二函数,确定出第三函数;
[0157]
基于所述第三函数以及所述率失真函数,确定出所述失真感知度和编码码率之间的第一目标函数。
[0158]
进一步的,码率调整模块240通过以下步骤确定出所述编码器缓冲区状态的状态稳定性目标对应的第二目标函数:
[0159]
获取预设的缓冲区占用比例,所述缓冲区占用比例表征编码每一视频帧后的缓冲区状态的占用率;
[0160]
基于当前编码的视频帧处于的缓冲区区间、所述预设的缓冲区占用比例、目标码率以及帧率,确定出所述编码器缓冲区状态的状态稳定性目标对应的第二目标函数。
[0161]
进一步的,如图3所示,视频编码的码率控制装置200还包括编码模块250,编码模块250用于:
[0162]
针对当前视频帧,检测当前视频帧的帧内预测ctu比例是否大于预设数值;其中,
所述当前视频帧的帧内预测ctu比例为目标视频中的已编码的该当前视频帧之前的预设数量的视频帧之间的帧内预测模式的ctu数目占视频帧之间的ctu数目的比例;
[0163]
若是,则对所述当前视频帧之前的预设数量的视频帧的第一目标函数进行权重调整,并根据调整权重后的所述第一目标函数、所述第二目标函数以及所述当前视频帧之前的预设数量的视频帧之间的帧间关系对所述当前视频帧之后的视频帧进行编码;
[0164]
若否,则按照所述第一目标函数和所述第二目标函数对所述当前视频帧之后的视频帧进行编码。
[0165]
本技术实施例提供的一种视频编码的码率控制装置,所述码率控制装置包括:确定模块,用于获取待处理的目标视频,并确定出所述目标视频的视频质量特征、时间复杂度特征以及空间复杂度特征;失真感知度确定模块,用于将所述视频质量特征、所述时间复杂度特征以及所述空间复杂度特征输入至预先训练好的用户感知训练模型之中,输出用户失真感知度;第一目标函数确定模块,用于基于量化参数与所述用户失真感知度之间的函数关系以及率失真函数,确定出所述用户失真感知度和编码码率之间的第一目标函数;码率调整模块,用于基于编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及所述用户失真感知度和编码码率之间的第一目标函数,对所述目标视频的各个视频帧的码率进行控制。通过编码器缓冲区状态的状态稳定性目标对应的第二目标函数以及用户失真感知度和编码码率之间的第一目标函数,实现了结合缓冲区状态和用户主观感知质量指标进行帧级别的码率控制,能够有效减少编码过程中的编码器缓冲区的上溢和下溢现象,在考虑编码器缓冲区丢帧的情况下能够提高视频的主观感知质量指标。
[0166]
请参阅图4,图4为本技术实施例所提供的一种电子设备的结构示意图。如图4中所示,所述电子设备400包括处理器410、存储器420和总线430。
[0167]
所述存储器420存储有所述处理器410可执行的机器可读指令,当电子设备400运行时,所述处理器410与所述存储器420之间通过总线430通信,所述机器可读指令被所述处理器410执行时,可以执行如上述图1所示方法实施例中的视频编码的码率控制方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0168]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的视频编码的码率控制方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0169]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0170]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0171]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0172]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0173]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0174]
最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献