一种码率控制方法及装置制造方法及图纸

技术编号:18356688 阅读:35 留言:0更新日期:2018-07-02 10:48
本发明专利技术实施例提供了一种码率控制方法及装置,其中,码率控制方法包括:获取并根据长周期中当前短周期的码率控制模式及编码控制参数,确定当前短周期的帧级编码参数,发送帧级编码参数至编码器;获取第二码流信息;根据第二码流信息,统计包括当前视频帧的复杂度信息、当前短周期的总编码比特及编码质量信息的统计信息;在长周期未结束时,若当前短周期结束,获取并根据当前短周期的周期长度、预设码率控制参数及统计信息,确定长周期中当前短周期的相邻下一个短周期的平均码率,以通过计算相邻下一个短周期的帧级编码参数,对相邻下一个短周期的视频帧进行编码。通过本方案可以实现在保证图像满足一定质量的条件下,合理分配存储空间。

【技术实现步骤摘要】
一种码率控制方法及装置
本专利技术涉及视频编码
,特别是涉及一种码率控制方法及装置。
技术介绍
在视频传输或存储过程中,为减少传输或存储的数据量,通常需要对原始视频数据进行压缩编码。每一帧画面的运动复杂度、动态纹理、遮挡、光照变化等情况会有所不同,因此压缩后的帧的数据量会有变化,单位时间内视频传输的码率就会有所波动。在实际的视频传输或存储应用中,由于带宽和存储空间的限制,通常需要对码率的最大值、平均值等进行限制。通过控制编码器的一些编码参数以达到使编码器产生的码率符合预期的过程就是码率控制过程,码率控制器与编码器的关系如图1所示,编码器103依据码率控制器102输出的编码参数对输入的视频帧101进行编码,将编码后的码流状态反馈给码率控制器102,并输出视频比特流。在实际应用中,通常有两种码率控制模式:VBR(VariableBitRate,可变码率模式)和CBR(ConstantBitRate,固定码率模式)。VBR设定图像质量值和码率上限,在不超出码率上限的情况下,保持图像质量稳定在所设定的值,该模式适用于本地存储的应用场景;CBR保持输出瞬时码率维持在所设定的码率值,该模式适用于信道带宽基本恒定的应用场景。当编码设备采用VBR模式时,由于码率波动难以预估,通常使用VBR的码率上限值来计算存储空间,这会导致预估的存储设备容量过大,浪费存储资源;当编码设备采用CBR模式时,可以使用CBR的目标码率值来精确估计监控系统需要的存储空间,但是CBR算法对简单场景和复杂场景都用同样的目标码率进行编码,而在复杂场景时,为了防止存储空间溢出,又不能采用更大的码率进行编码,使得图像质量下降。因此,以上两种常用的码率控制模式都难以在一定容量的存储空间中最大效率的得到最清晰、效果最好的码流。针对VBR模式下存储设备容量过大、浪费存储资源的问题,现有技术提出根据业务需求为编码设备配置较小的存储空间,在使用VBR获得固定质量的视频编码码流的基础上,实时监测剩余存储空间和存储时间,使用丢帧、降低QP(QuantizationParameter,量化参数)等码率控制策略保证实际编码码流满足存储空间的要求。但是该方案只能保证实际编码大小不大于预设存储空间,这样有可能会使得实际使用过程中硬盘剩余过多的空间。针对CBR模式下图像质量不稳定的问题,现有技术提出一种缓冲区自适应的码率控制方法。这种方法是在CBR的前提下,通过对一段时间内的图像复杂度信息的分析,调整虚拟缓冲区的目标平衡点和缓冲区调整力度两个参数,应对图像变复杂时产生的跳帧和图像质量不稳定问题。但是利用该方案,目标平衡点的调整余量太小,只能应对短时的图像复杂化,如果场景长期变复杂,难以保证能将空闲时段的码率匀给繁忙时段,从而使得在繁忙时段下没有足够的存储空间以保证图像质量。综上所述,现有的码率控制方法在保证图像满足一定质量的条件下,无法合理分配存储空间。
技术实现思路
本专利技术实施例的目的在于提供一种码率控制方法及装置,以实现在保证图像满足一定质量的条件下,合理分配存储空间。具体技术方案如下:第一方面,本专利技术实施例提供了一种码率控制方法,所述方法包括:获取并根据长周期中当前短周期的码率控制模式及编码控制参数,确定所述当前短周期的帧级编码参数,并发送所述帧级编码参数至编码器,其中,所述长周期包含多个短周期,所述当前短周期为所述多个短周期中的任一个,所述编码控制参数至少包括:预设码率控制参数及第一码流信息,所述第一码流信息为所述当前短周期中当前视频帧的相邻上一视频帧已编码的码流信息;获取所述编码器发送的第二码流信息,其中,所述第二码流信息为所述编码器根据所述当前短周期的帧级编码参数、对所述当前视频帧进行编码得到的码流信息;根据所述第二码流信息,统计包括所述当前视频帧的复杂度信息、所述当前短周期的总编码比特及所述当前短周期的编码质量信息的统计信息;在所述长周期未结束时,判断所述当前短周期是否结束,如果结束,获取并根据所述当前短周期的周期长度、所述预设码率控制参数及所述统计信息,确定所述长周期中所述当前短周期的相邻下一个短周期的平均码率,以通过计算所述相邻下一个短周期的帧级编码参数,从而对所述相邻下一个短周期的视频帧进行编码。可选的,所述预设码率控制参数包括:预设码率上限、预设图像质量等级、预设平均码率、预设平均码率控制误差及预设帧率;所述码流信息包括:编码质量信息及码流长度信息。可选的,所述获取并根据长周期中当前短周期的码率控制模式及编码控制参数,确定所述当前短周期的帧级编码参数之前,所述方法还包括:获取用户输入的预设码率控制参数及长周期的预设周期长度;根据所述预设平均码率控制误差、所述预设平均码率、所述长周期的预设周期长度、预设初始充盈度及预设条件,确定长周期虚拟缓冲区的目标平衡上限、所述长周期虚拟缓冲区的目标平衡下限及所述长周期虚拟缓冲区的期望输出码率,其中,所述预设条件为:所述ERROR_RANGE为所述预设平均码率控制误差,所述MinVBF为所述长周期虚拟缓冲区的目标平衡下限,所述InitVBF为所述预设初始充盈度,所述MaxVBF为所述长周期虚拟缓冲区的目标平衡上限,所述TARGET_BITRATE为所述预设平均码率,所述T为所述长周期的预设周期长度,所述target_bitrate为所述长周期虚拟缓冲区的期望输出码率。可选的,所述编码控制参数还包括:所述当前短周期的平均码率;所述获取并根据长周期中当前短周期的码率控制模式及编码控制参数,确定所述当前短周期的帧级编码参数,包括:在获取的长周期中当前短周期的码率控制模式为固定码率模式CBR时,获取并根据所述当前短周期的平均码率、所述预设码率控制参数中的预设帧率及第一码流信息,通过计算、确定所述CBR对应的第一帧级编码参数,并将所述第一帧级编码参数作为所述当前短周期的帧级编码参数;或者,在获取的长周期中当前短周期的码率控制模式为可变码率模式VBR时,获取并根据所述预设码率控制参数中的预设码率上限、预设帧率及第一码流信息,通过计算、确定所述VBR对应的第二帧级编码参数,并将所述第二帧级编码参数作为所述当前短周期的帧级编码参数,其中,所述VBR为所述长周期中第一个短周期的码率控制模式;或者,在获取的长周期中当前短周期的码率控制模式既包括CBR、又包括VBR时,获取并根据所述当前短周期的平均码率、所述预设码率控制参数中的预设帧率及第一码流信息,通过计算、确定所述CBR对应的第一帧级编码参数;根据所述预设码率控制参数中的预设码率上限、预设帧率及第一码流信息,通过计算、确定所述VBR对应的第二帧级编码参数;在帧级编码参数与所述码流长度正相关时,确定所述第一帧级编码参数与所述第二帧级编码参数中的最小值为所述当前短周期的帧级编码参数;在帧级编码参数与所述码流长度反相关时,确定所述第一帧级编码参数与所述第二帧级编码参数中的最大值为所述当前短周期的帧级编码参数。可选的,所述获取并根据所述当前短周期的平均码率、所述预设码率控制参数中的预设帧率及第一码流信息,通过计算、确定所述CBR对应的第一帧级编码参数,包括:获取并根据所述当前短周期的平均码率及所述预设码率控制参数中的预设帧率,通过计算、得到所述当前短周期内视频帧的第一目标比特平均值本文档来自技高网
...
一种码率控制方法及装置

【技术保护点】
1.一种码率控制方法,其特征在于,所述方法包括:获取并根据长周期中当前短周期的码率控制模式及编码控制参数,确定所述当前短周期的帧级编码参数,并发送所述帧级编码参数至编码器,其中,所述长周期包含多个短周期,所述当前短周期为所述多个短周期中的任一个,所述编码控制参数至少包括:预设码率控制参数及第一码流信息,所述第一码流信息为所述当前短周期中当前视频帧的相邻上一视频帧已编码的码流信息;获取所述编码器发送的第二码流信息,其中,所述第二码流信息为所述编码器根据所述当前短周期的帧级编码参数、对所述当前视频帧进行编码得到的码流信息;根据所述第二码流信息,统计包括所述当前视频帧的复杂度信息、所述当前短周期的总编码比特及所述当前短周期的编码质量信息的统计信息;在所述长周期未结束时,判断所述当前短周期是否结束,如果结束,获取并根据所述当前短周期的周期长度、所述预设码率控制参数及所述统计信息,确定所述长周期中所述当前短周期的相邻下一个短周期的平均码率,以通过计算所述相邻下一个短周期的帧级编码参数,从而对所述相邻下一个短周期的视频帧进行编码。

【技术特征摘要】
1.一种码率控制方法,其特征在于,所述方法包括:获取并根据长周期中当前短周期的码率控制模式及编码控制参数,确定所述当前短周期的帧级编码参数,并发送所述帧级编码参数至编码器,其中,所述长周期包含多个短周期,所述当前短周期为所述多个短周期中的任一个,所述编码控制参数至少包括:预设码率控制参数及第一码流信息,所述第一码流信息为所述当前短周期中当前视频帧的相邻上一视频帧已编码的码流信息;获取所述编码器发送的第二码流信息,其中,所述第二码流信息为所述编码器根据所述当前短周期的帧级编码参数、对所述当前视频帧进行编码得到的码流信息;根据所述第二码流信息,统计包括所述当前视频帧的复杂度信息、所述当前短周期的总编码比特及所述当前短周期的编码质量信息的统计信息;在所述长周期未结束时,判断所述当前短周期是否结束,如果结束,获取并根据所述当前短周期的周期长度、所述预设码率控制参数及所述统计信息,确定所述长周期中所述当前短周期的相邻下一个短周期的平均码率,以通过计算所述相邻下一个短周期的帧级编码参数,从而对所述相邻下一个短周期的视频帧进行编码。2.根据权利要求1所述的码率控制方法,其特征在于,所述预设码率控制参数包括:预设码率上限、预设图像质量等级、预设平均码率、预设平均码率控制误差及预设帧率;所述码流信息包括:编码质量信息及码流长度信息。3.根据权利要求2所述的码率控制方法,其特征在于,所述获取并根据长周期中当前短周期的码率控制模式及编码控制参数,确定所述当前短周期的帧级编码参数之前,所述方法还包括:获取用户输入的预设码率控制参数及长周期的预设周期长度;根据所述预设平均码率控制误差、所述预设平均码率、所述长周期的预设周期长度、预设初始充盈度及预设条件,确定长周期虚拟缓冲区的目标平衡上限、所述长周期虚拟缓冲区的目标平衡下限及所述长周期虚拟缓冲区的期望输出码率,其中,所述预设条件为:所述ERROR_RANGE为所述预设平均码率控制误差,所述MinVBF为所述长周期虚拟缓冲区的目标平衡下限,所述InitVBF为所述预设初始充盈度,所述MaxVBF为所述长周期虚拟缓冲区的目标平衡上限,所述TARGET_BITRATE为所述预设平均码率,所述T为所述长周期的预设周期长度,所述target_bitrate为所述长周期虚拟缓冲区的期望输出码率。4.根据权利要求3所述的码率控制方法,其特征在于,所述编码控制参数还包括:所述当前短周期的平均码率;所述获取并根据长周期中当前短周期的码率控制模式及编码控制参数,确定所述当前短周期的帧级编码参数,包括:在获取的长周期中当前短周期的码率控制模式为固定码率模式CBR时,获取并根据所述当前短周期的平均码率、所述预设码率控制参数中的预设帧率及第一码流信息,通过计算、确定所述CBR对应的第一帧级编码参数,并将所述第一帧级编码参数作为所述当前短周期的帧级编码参数;或者,在获取的长周期中当前短周期的码率控制模式为可变码率模式VBR时,获取并根据所述预设码率控制参数中的预设码率上限、预设帧率及第一码流信息,通过计算、确定所述VBR对应的第二帧级编码参数,并将所述第二帧级编码参数作为所述当前短周期的帧级编码参数,其中,所述VBR为所述长周期中第一个短周期的码率控制模式;或者,在获取的长周期中当前短周期的码率控制模式既包括CBR、又包括VBR时,获取并根据所述当前短周期的平均码率、所述预设码率控制参数中的预设帧率及第一码流信息,通过计算、确定所述CBR对应的第一帧级编码参数;根据所述预设码率控制参数中的预设码率上限、预设帧率及第一码流信息,通过计算、确定所述VBR对应的第二帧级编码参数;在帧级编码参数与所述码流长度正相关时,确定所述第一帧级编码参数与所述第二帧级编码参数中的最小值为所述当前短周期的帧级编码参数;在帧级编码参数与所述码流长度反相关时,确定所述第一帧级编码参数与所述第二帧级编码参数中的最大值为所述当前短周期的帧级编码参数。5.根据权利要求4所述的码率控制方法,其特征在于,所述获取并根据所述当前短周期的平均码率、所述预设码率控制参数中的预设帧率及第一码流信息,通过计算、确定所述CBR对应的第一帧级编码参数,包括:获取并根据所述当前短周期的平均码率及所述预设码率控制参数中的预设帧率,通过计算、得到所述当前短周期内视频帧的第一目标比特平均值;获取所述第一码流信息中的码流长度及所述CBR对应的当前短周期虚拟缓冲区的第一充盈度,并根据所述第一码流信息中的码流长度、所述第一充盈度及所述第一目标比特平均值,通过计算、更新所述第一充盈度;获取所述CBR对应的当前短周期虚拟缓冲区的第一目标充盈度,并根据所述第一充盈度、所述第一目标充盈度、所述第一目标比特平均值及预设调节强度参数,通过计算、得到所述当前短周期中当前视频帧的第一目标比特;根据所述第一码流信息中的编码质量信息、所述第一码流信息中的码流长度、所述第一目标比特及所述第一目标比特平均值,通过计算、确定所述CBR对应的当前短周期的第一帧级编码参数。6.根据权利要求4所述的码率控制方法,其特征在于,所述获取并根据所述预设码率控制参数中的预设码率上限、预设帧率及第一码流信息,通过计算、确定所述VBR对应的第二帧级编码参数,包括:获取并根据所述预设码率控制参数中的预设码率上限及预设帧率,通过计算、得到所述当前短周期内视频帧的第二目标比特平均值;获取所述第一码流信息中的码流长度、所述VBR对应的当前短周期虚拟缓冲区的第二充盈度及所述VBR对应的当前短周期虚拟缓冲区的第二目标充盈度,并根据所述第一码流信息中的码流长度、所述第二充盈度及所述第二目标比特平均值,通过计算、确定更新后的所述第二充盈度和所述第二目标充盈度中的最大值为所述第二充盈度;根据所述第二充盈度、所述第二目标充盈度、所述第二目标比特平均值及预设调节强度参数,通过计算、得到所述当前短周期中当前视频帧的第二目标比特;根据所述第一码流信息中的编码质量信息、所述第一码流信息中的码流长度、所述第二目标比特及所述第二目标比特平均值,通过计算、确定所述VBR对应的当前短周期的第二帧级编码参数。7.根据权利要求1所述的码率控制方法,其特征在于,所述方法还包括:在所述长周期结束时,进行下一个长周期内第一个短周期的码率控制。8.根据权利要求1所述的码率控制方法,其特征在于,所述方法还包括:在所述当前短周期未结束时,则执行所述获取第一码流信息的步骤。9.根据权利要求3所述的码率控制方法,其特征在于,所述获取并根据所述当前短周期的周期长度、所述预设码率控制参数及所述统计信息,确定所述长周期中所述当前短周期的相邻下一个短周期的平均码率,包括:获取所述长周期虚拟缓冲区的期望输出码率,并将所述长周期虚拟缓冲区的期望输出码率确定为所述当前短周期的期望输出码率;获取并根据所述当前短周期的周期长度及所述当前短周期的期望输出码率,通过计算、得到所述当前短周期的期望输出比特;获取所述长周期虚拟缓冲区的实际充盈度,根据所述当前短周期的期望输出比特、所述当前短周期的总编码比特及所述长周期虚拟缓冲区的实际充盈度,通过计算、更新所述长周期虚拟缓冲区的实际充盈度;根据所述长周期虚拟缓冲区的实际充盈度、所述预设初始充盈度、所述长周期虚拟缓冲区的目标平衡上限及所述长周期虚拟缓冲区的目标平衡下限,计算所述长周期虚拟缓冲区的目标充盈度;根据所述长周期虚拟缓冲区的实际充盈度、所述预设初始充盈度、所述长周期虚拟缓冲区的目标平衡上限及所述长周期虚拟缓冲区的目标平衡下限,计算复杂度目标比特加权因子;根据所述长周期虚拟缓冲区的目标充盈度、所述长周期虚拟缓冲区的实际充盈度、预设调节强度参数及预设调节的基准码率,通过计算、得到所述长周期中所述相邻下一个短周期的虚拟缓冲区目标码率;根据所述当前视频帧的复杂度信息,所述预设图像质量等级、所述当前短周期的总编码比特数及所述当前短周期的周期长度,确定所述长周期中所述相邻下一个短周期的复杂度目标码率;根据所述长周期中所述相邻下一个短周期的虚拟缓冲区目标码率、所述长周期中所述相邻下一个短周期的复杂度目标码率及所述复杂度目标比特加权因子,通过加权计算、确定所述长周期中所述相邻下一个短周期的平均码率。10.根据权利要求9所述的码率控制方法,其特征在于,所述根据所述长周期虚拟缓冲区的实际充盈度、所述预设初始充盈度、所述长周期虚拟缓冲区的目标平衡上限及所述长周期虚拟缓冲区的目标平衡下限,计算所述长周期虚拟缓冲区的目标充盈度,包括:判断所述长周期虚拟缓冲区的实际充盈度是否介于所述长周期虚拟缓冲区的目标平衡点上限与所述长周期虚拟缓冲区的目标平衡下限之间;若是,则确定所述初始充盈度为所述长周期虚拟缓冲区的目标充盈度;若否,在所述长周期虚拟缓冲区的实际充盈度大于所述长周期虚拟缓冲区的目标平衡点上限时,则确定所述长周期虚拟缓冲区的目标平衡点上限为所述长周期虚拟缓冲区的目标充盈度;在所述长周期虚拟缓冲区的实际充盈度小于所述长周期虚拟缓冲区的目标平衡点下限时,则确定所述长周期虚拟缓冲区的目标平衡点下限为所述长周期虚拟缓冲区的目标充盈度。11.根据权利要求9所述的码率控制方法,其特征在于,所述根据所述长周期虚拟缓冲区的实际充盈度、所述预设初始充盈度、所述长周期虚拟缓冲区的目标平衡上限及所述长周期虚拟缓冲区的目标平衡下限,计算复杂度目标比特加权因子,包括:判断所述长周期虚拟缓冲区的实际充盈度是否介于所述长周期虚拟缓冲区的目标平衡点上限与所述长周期虚拟缓冲区的目标平衡下限之间;若是,则确定所述复杂度目标比特加权因子...

【专利技术属性】
技术研发人员:周璐璐陈建华武晓阳
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1