本申请涉及视频编码,特别是涉及一种视频码率控制方法、视频码率控制装置及计算机存储介质。
背景技术:
1、视频编解码的标准有h.264/avc、h.265/hevc、h.266/vvc、vp8、vp9、av1、avs等,其主要目的是将采集到的视频信号压缩成不同标准格式的数据,便于传输或存储。为了将视频编码技术应用于实际场景,码率控制技术在视频编码器中起着至关重要的作用,因为它可以在有限的通信带宽或存储空间的情况下调整编码器输出的目标码率,从而避免编码的视频帧出现过大或过小的情况。
2、现有技术中是只对码率进行分配,仅简单考虑实际编码码率与目标码率的大小进行调节,而没有充分考虑到帧与短周期以及短周期与短周期之间的特性。
技术实现思路
1、为解决上述技术问题,本申请提出了一种视频码率控制方法、视频码率控制装置及计算机存储介质。
2、为解决上述技术问题,本申请提出了一种视频码率控制方法,所述视频码率控制方法包括:获取当前长周期内已编码平均码率;在所述当前长周期内已编码平均码率大于当前长周期目标码率的情况下,根据所述当前长周期已编码平均码率和所述当前长周期目标码率,确定第一调节幅度;按照已编码短周期基础量化参数,获取当前短周期量化参数;按照所述第一调节幅度对所述当前短周期量化参数进行调节,获取当前短周期基础量化参数;按照所述当前短周期基础量化参数进行编码,输出压缩码流。
3、其中,所述获取当前长周期内已编码平均码率之前,所述视频码率控制方法还包括:响应于当前长周期为整个编码过程的非首个长周期,根据前一个长周期实际编码总比特和长周期编码时间,获取前一个长周期实际平均码率;利用所述前一个长周期实际平均码率和前一个长周期目标码率,获取码率差值;按照所述码率差值和所述前一个长周期目标码率,确认所述当前长周期目标码率。
4、其中,所述获取当前长周期内已编码平均码率之后,所述视频码率控制方法还包括:在所述当前长周期内已编码平均码率小于等于当前长周期目标码率的情况下,获取前一个短周期实际平均码率;在所述前一个短周期实际平均码率大于第一短周期最大浮动码率,或者小于第二短周期最大浮动码率的情况下,利用第二调节幅度对前一个短周期基础量化参数进行调节,获取当前短周期基础量化参数。
5、其中,所述获取前一个短周期实际平均码率之后,所述视频码率控制方法还包括:在所述前一个短周期实际平均码率小于等于第一短周期最大浮动码率,且大于等于第二短周期最大浮动码率的情况下,根据前一个短周期实际编码码率和所述当前长周期目标码率,获取溢出比例;根据前一个短周期每一帧的运动情况,获取前一个短周期运动情况;基于所述溢出比例和所述前一个短周期运动情况,确定当前短周期运动场景;按照所述当前短周期运动场景对前一个短周期基础量化参数进行调节,获取当前短周期基础量化参数。
6、其中,短周期运动场景包括大运动场景、小运动场景以及普通运动场景;在大运动场景下,所述前一个短周期基础量化参数减去第三调节幅度得到所述当前短周期基础量化参数;在小运动场景下,所述前一个短周期基础量化参数加上第四调节幅度得到所述当前短周期基础量化参数;在普通运动场景下,所述前一个短周期基础量化参数与所述当前短周期基础量化参数相同。
7、其中,所述视频码率控制方法还包括:获取前一个短周期运动情况;响应于所述前一个短周期运动情况属于静止场景,获取前一个i帧量化参数;将所述前一个i帧量化参数减去第五调节幅度,获取当前i帧量化参数;按照所述当前i帧量化参数进行编码,输出压缩码流。
8、其中,所述获取前一个短周期运动情况之后,所述视频码率控制方法还包括:响应于所述前一个短周期运动情况属于运动场景,获取当前i帧运动情况;基于所述当前i帧运动情况获取调节参数;基于所述调节参数以及前一个i帧量化参数,获取当前i帧量化参数。
9、其中,所述视频码率控制方法还包括:基于预设短周期最大码率,短周期编码时间以及短周期编码帧数,获取每帧最大比特;基于当前短周期已编码比特,已编码i帧比特以及当前短周期已编码帧数,获取短周期已编码p帧平均比特;基于所述每帧最大比特,所述短周期编码帧数以及所述已编码i帧比特,获取短周期p帧最大平均比特;在所述短周期已编码p帧平均比特小于所述短周期p帧最大平均比特的情况下,根据前一帧p帧运动情况与当前帧p帧运动情况,确定当前帧p帧基础量化参数;基于所述当前帧p帧运动情况,获取所述当前帧p帧量化质量;按照所述当前帧p帧基础量化参数和所述当前帧p帧量化质量,确定所述当前帧p帧量化参数;按照所述当前p帧量化参数进行编码,输出压缩码流。
10、其中,所述获取短周期p帧最大平均比特之后,所述视频码率控制方法还包括:在所述短周期已编码p帧平均比特大于等于所述短周期p帧最大平均比特的情况下,获取前一帧p帧量化参数;基于所述前一帧p帧量化参数和第六调节幅度,确定所述当前帧p帧基础量化参数。
11、其中,所述视频码率控制方法还包括:响应于当前短周期为长周期中的非首个短周期,且当前下降次数大于0,根据当前长周期内已编码总比特、已编码时间、预设长周期目标码率以及长周期编码时间,获取当前长周期剩余码率;基于所述当前下降次数,获取权重系数;按照所述权重系数将所述当前长周期剩余码率和前一个短周期目标码率进行相加,获取当前短周期目标码率;所述按照所述当前短周期基础量化参数进行编码,输出压缩码流,包括:按照所述当前短周期基础量化参数和所述当前短周期目标码率进行编码,输出压缩码流。
12、为解决上述技术问题,本申请提出一种视频码率控制装置,所述视频码率控制装置包括存储器以及与所述存储器耦接的处理器;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的视频码率控制方法。
13、为解决上述技术问题,本申请提出一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现上述的视频码率控制方法。
14、与现有技术相比,本申请的有益效果是:视频码率控制装置获取当前长周期内已编码平均码率;在所述当前长周期内已编码平均码率大于当前长周期目标码率的情况下,根据所述当前长周期已编码平均码率和所述当前长周期目标码率,确定第一调节幅度;按照已编码短周期基础量化参数,获取当前短周期量化参数;按照所述第一调节幅度对所述当前短周期量化参数进行调节,获取当前短周期基础量化参数;按照所述当前短周期基础量化参数进行编码,输出压缩码流。通过上述方式,充分考虑到帧与短周期以及短周期与短周期之间的特性,能够更加准确的对当前短周期量化参数进行调节,并且能够在一定程度上避免视频传递错误。
1.一种视频码率控制方法,其特征在于,所述视频码率控制方法包括:
2.根据权利要求1所述的视频码率控制方法,其特征在于,
3.根据权利要求1或2所述的视频码率控制方法,其特征在于,
4.根据权利要求3所述的视频码率控制方法,其特征在于,
5.根据权利要求4所述的视频码率控制方法,其特征在于,
6.根据权利要求4所述的视频码率控制方法,其特征在于,
7.根据权利要求6所述的视频码率控制方法,其特征在于,
8.根据权利要求4所述的视频码率控制方法,其特征在于,
9.根据权利要求8所述的视频码率控制方法,其特征在于,
10.根据权利要求1所述的视频码率控制方法,其特征在于,
11.一种视频码率控制装置,其特征在于,所述视频码率控制装置包括存储器以及与所述存储器耦接的处理器;
12.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现如权利要求1至10任一项所述的视频码率控制方法。