专利名称:一种码率的控制方法、装置、电子设备及存储介质
专利类型:实用新型专利
专利申请号:CN202210695322.7
专利申请(专利权)人:北京大学深圳研究生院
权利人地址:广东省深圳市南山区西丽深圳大学城北大园区H栋208室
专利发明(设计)人:高伟,蔡占元,陈家宁,李革
专利摘要:本公开提供了一种码率的控制方法、装置、电子设备及存储介质,通过将待编码视频帧划分为多个编码块并聚类为多个编码块类,在每个编码块类中采样多个采样编码块并进行预编码,确定对应的压缩码率和拉格朗日乘子信息;根据每个编码块类中,全部压缩码率之和以及拉格朗日乘子信息,确定该编码块类对应的块级码率控制参数;根据该待编码视频帧中,全部压缩码率之和以及拉格朗日乘子信息,确定该待编码视频帧对应的帧级码率控制参数;根据配置有块级码率控制参数,或帧级码率控制参数的预设码率控制模型,控制对应待编码视频帧的实际编码比特达到预设目标比特。可以提升基于视频的点云压缩过程中的编码性能,同时降低预编码复杂度。
主权利要求:
1.一种码率的控制方法,其特征在于,包括:
获取待编码视频帧,并将所述待编码视频帧划分为多个编码块;
将所述编码块聚类为多个编码块类,针对每个所述编码块类,在该所述编码块类中采样多个采样编码块;
针对每个所述采样编码块进行预编码,确定该所述采样编码块对应的压缩码率以及所述压缩码率对应的拉格朗日乘子信息;
针对每个所述编码块类,根据该所述编码块类中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述编码块类对应的块级码率控制参数;
针对每个所述待编码视频帧,根据该所述待编码视频帧中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述待编码视频帧对应的帧级码率控制参数;
根据配置有所述块级码率控制参数,或所述帧级码率控制参数的预设码率控制模型,控制对应所述待编码视频帧的实际编码比特达到预设目标比特;
所述将所述编码块聚类为多个编码块类,针对每个所述编码块类,在该所述编码块类中采样多个采样编码块,具体包括:针对每个所述编码块,确定该所述编码块对应的特征信息;
根据预设的聚类数以及所述特征信息,将全部所述编码块聚类为多个编码块类;
根据预设的采样率,确定所述采样编码块对应的目标采样数量;
采用随机采样规则,根据所述目标采样数量在每个所述编码块类中,确定该所述编码块类对应的采样编码块集合,其中,所述采样编码块集合中包括数量为所述目标采样数量的所述采样编码块;
所述针对每个所述编码块类,根据该所述编码块类中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述编码块类对应的块级码率控制参数,具体包括:针对每个所述编码块类,由该所述编码块类中,全部所述采样编码块对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述编码块类对应的码率特征信息;
将所述编码块类对应的码率特征信息输入至所述预设码率控制模型;
采用线性最小二乘法处理所述预设码率控制模型,确定该所述编码块类对应的块级码率控制参数;
具体的,块级码率控制通过如下公式进行计算:
其中,( , )代表针对 类型的待编码视频帧进行码率控制的块级码率控制参数;( , )代表针对 类型的待编码视频帧进行码率控制的块级码率控制参数;R代表当前编码块类中,全部所述采样编码块对应的压缩码率之和; 代表类型的待编码视频帧; 代表 类型的待编码视频帧; 代表当前编码块类中,全部所述采样编码块对应的压缩码率之和对应的拉格朗日乘子信息;SATD代表残差变换绝对值和,用以反映频域特征; 为一固定值;
所述针对每个所述待编码视频帧,根据该所述待编码视频帧中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述待编码视频帧对应的帧级码率控制参数,具体包括:针对每个所述待编码视频帧,由该所述待编码视频帧中,全部所述编码块类对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述待编码视频帧对应的码率特征信息;
将所述待编码视频帧对应的码率特征信息输入至所述预设码率控制模型;
采用线性最小二乘法处理所述预设码率控制模型,确定该所述待编码视频帧对应的帧级码率控制参数;
具体的,帧级码率控制通过如下公式进行计算:
其中,( , )代表针对 类型的待编码视频帧进行码率控制的帧级码率控制参数;( , )代表针对 类型的待编码视频帧进行码率控制的帧级码率控制参数;R代表当前待编码视频帧中,全部编码块类中的全部采样编码块对应的压缩码率之和;
代表 类型的待编码视频帧; 代表 类型的待编码视
频帧; 代表当前待编码视频帧中,全部编码块类中的全部采样编码块对应的压缩码率之和对应的拉格朗日乘子信息;SATD代表残差变换绝对值和,用以反映频域特征; 为一固定值。
2.根据权利要求1所述的方法,其特征在于,所述针对每个所述采样编码块进行预编码,确定该所述目标采样编码块对应的压缩码率和拉格朗日乘子信息,具体包括:针对每个所述采样编码块进行预编码,确定该所述目标采样编码块对应的压缩码率;
根据预设的固定量化参数列表,确定所述压缩码率对应的所述拉格朗日乘子信息,其中,所述固定量化参数列表中预先存储有所述压缩码率与所述拉格朗日乘子信息之间的映射关系。
3.根据权利要求1所述的方法,其特征在于,
所述特征信息包括:残差变换绝对值和特征信息、基于梯度的纹理复杂度特征信息以及块内子区域方差特征信息。
4.根据权利要求3所述的方法,其特征在于,基于以下方法确定所述块内子区域方差特征信息:确定所述编码块对应的块尺寸信息;
根据所述块尺寸信息,将所述编码块划分为多个子编码块;
确定每个所述子编码块对应的残差变换绝对值和;
根据全部所述子编码块对应的残差变换绝对值和,构建所述编码块对应的残差变换绝对值和矩阵;
针对所述残差变换绝对值和矩阵进行方差运算,确定所述块内子区域方差特征信息。
5.一种码率的控制装置,其特征在于,包括:
获取模块,用于获取待编码视频帧,并将所述待编码视频帧划分为多个编码块;
聚类采样模块,用于将所述编码块聚类为多个编码块类,针对每个所述编码块类,在该所述编码块类中采样多个采样编码块;
所述聚类采样模块具体用于:
针对每个所述编码块,确定该所述编码块对应的特征信息;
根据预设的聚类数以及所述特征信息,将全部所述编码块聚类为多个编码块类;
根据预设的采样率,确定所述采样编码块对应的目标采样数量;
采用随机采样规则,根据所述目标采样数量在每个所述编码块类中,确定该所述编码块类对应的采样编码块集合,其中,所述采样编码块集合中包括数量为所述目标采样数量的所述采样编码块;
预编码模块,用于针对每个所述采样编码块进行预编码,确定该所述采样编码块对应的压缩码率以及所述压缩码率对应的拉格朗日乘子信息;
块级参数确定模块,用于针对每个所述编码块类,根据该所述编码块类中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述编码块类对应的块级码率控制参数;
所述块级参数确定模块具体用于:
针对每个所述编码块类,由该所述编码块类中,全部所述采样编码块对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述编码块类对应的码率特征信息;
将所述编码块类对应的码率特征信息输入至所述预设码率控制模型;
采用线性最小二乘法处理所述预设码率控制模型,确定该所述编码块类对应的块级码率控制参数;
具体的,块级码率控制通过如下公式进行计算:
其中,( , )代表针对 类型的待编码视频帧进行码率控制的块级码率控制参数;( , )代表针对 类型的待编码视频帧进行码率控制的块级码率控制参数;R代表当前编码块类中,全部所述采样编码块对应的压缩码率之和; 代表类型的待编码视频帧; 代表 类型的待编码视频帧; 代表当前编码块类中,全部所述采样编码块对应的压缩码率之和对应的拉格朗日乘子信息;SATD代表残差变换绝对值和,用以反映频域特征; 为一固定值;
帧级参数确定模块,用于针对每个所述待编码视频帧,根据该所述待编码视频帧中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述待编码视频帧对应的帧级码率控制参数;
所述帧级参数确定模块具体用于:
针对每个所述待编码视频帧,由该所述待编码视频帧中,全部所述编码块类对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述待编码视频帧对应的码率特征信息;
将所述待编码视频帧对应的码率特征信息输入至所述预设码率控制模型;
采用线性最小二乘法处理所述预设码率控制模型,确定该所述待编码视频帧对应的帧级码率控制参数;
具体的,帧级码率控制通过如下公式进行计算:
其中,( , )代表针对 类型的待编码视频帧进行码率控制的帧级码率控制参数;( , )代表针对 类型的待编码视频帧进行码率控制的帧级码率控制参数;R代表当前待编码视频帧中,全部编码块类中的全部采样编码块对应的压缩码率之和;
代表 类型的待编码视频帧; 代表 类型的待编码视
频帧; 代表当前待编码视频帧中,全部编码块类中的全部采样编码块对应的压缩码率之和对应的拉格朗日乘子信息;SATD代表残差变换绝对值和,用以反映频域特征; 为一固定值;
码率控制模块,用于根据配置有所述块级码率控制参数,或所述帧级码率控制参数的预设码率控制模型,控制对应所述待编码视频帧的实际编码比特达到预设目标比特。
6.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4中任一项所述的码率的控制方法的步骤。
7.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4中任一项所述的码率的控制方法的步骤。 说明书 : 一种码率的控制方法、装置、电子设备及存储介质技术领域[0001] 本公开涉及点云压缩技术领域,具体而言,涉及一种码率的控制方法、装置、电子设备及存储介质。背景技术[0002] 基于视频的点云压缩标准主要分为两个阶段:三维投影和二维视频编码。在三维投影阶段,基于视频的点云压缩标准将三维点云数据投影至六个投影面,得到占用图(OccupancyMap)、几何图(GeometryMap)和属性图(AttributeMap),此外还会生成其他辅助信息。其中几何图反映了点距离投影面的距离,即深度信息,属性图则反映了点的属性信息,通常为颜色信息。在二维视频编码阶段,则使用传统的二维视频编码软件对上述三种图片形成的视频进行编码。[0003] 目前,点云投影视频在预测编码后的率失真模型不同于自然场景视频,这给基于视频的点云压缩标准的码率控制任务带来了新的挑战,这主要体现在无法为所有点云固定统一的初始模型参数。上述问题将导致全I帧(AllIntra,AI)编码结构中前几个intra帧出现极大的比特误差,即使高效视频编码标准(HighEfficiencyVideoCoding,HEVC)中的参数更新工具随着编码过程的进行而逐渐发挥作用,但前几个intra帧所占用极高的比特预算仍然对带宽、整体率失真性能和质量一致性造成压力。另外,随机访问(RandomAccess,RA)编码结构中不同层的inter帧率失真特性并不相同,而原始编码器中不同层帧使用一致的初始模型参数将会造成糟糕的率失真性能和明显质量波动,进而导致编码性能降低以及较高的预编码复杂度。发明内容[0004] 本公开实施例至少提供一种码率的控制方法、装置、电子设备及存储介质,可以提升基于视频的点云压缩过程中的编码性能,同时降低预编码复杂度。[0005] 本公开实施例提供了一种码率的控制方法,所述方法包括:[0006] 获取待编码视频帧,并将所述待编码视频帧划分为多个编码块;[0007] 将所述编码块聚类为多个编码块类,针对每个所述编码块类,在该所述编码块类中采样多个采样编码块;[0008] 针对每个所述采样编码块进行预编码,确定该所述采样编码块对应的压缩码率以及所述压缩码率对应的拉格朗日乘子信息;[0009] 针对每个所述编码块类,根据该所述编码块类中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述编码块类对应的块级码率控制参数;[0010] 针对每个所述待编码视频帧,根据该所述待编码视频帧中,全部所述压缩码率之和以及所述拉格朗日乘子信息,确定该所述待编码视频帧对应的帧级码率控制参数;[0011] 根据配置有所述块级码率控制参数,或所述帧级码率控制参数的预设码率控制模型,控制对应所述待编码视频帧的实际编码比特达到预设目标比特。[0012] 一种可选的实施方式中,所述将所述编码块聚类为多个编码块类,针对每个所述编码块类,在该所述编码块类中采样多个采样编码块,具体包括:[0013] 针对每个所述编码块,确定该所述编码块对应的特征信息;[0014] 根据预设的聚类数以及所述特征信息,将全部所述编码块聚类为多个编码块类;[0015] 根据预设的采样率,确定所述采样编码块对应的目标采样数量;[0016] 采用随机采样规则,根据所述目标采样数量在每个所述编码块类中,确定该所述编码块类对应的采样编码块集合,其中,所述采样编码块集合中包括数量为所述目标采样数量的所述采样编码块。[0017] 一种可选的实施方式中,所述针对每个所述采样编码块进行预编码,确定该所述目标采样编码块对应的压缩码率和拉格朗日乘子信息,具体包括:[0018] 针对每个所述采样编码块进行预编码,确定该所述目标采样编码块对应的压缩码率;[0019] 根据预设的固定量化参数列表,确定所述压缩码率对应的所述拉格朗日乘子信息,其中,所述固定量化参数列表中预先存储有所述压缩码率与所述拉格朗日乘子信息之间的映射关系。[0020] 一种可选的实施方式中,所述针对每个所述编码块类,根据该所述编码块类中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述编码块类对应的块级码率控制参数,具体包括:[0021] 针对每个所述编码块类,由该所述编码块类中,全部所述采样编码块对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述编码块类对应的码率特征信息;[0022] 将所述编码块类对应的码率特征信息输入至所述预设码率控制模型;[0023] 采用线性最小二乘法处理所述预设码率控制模型,确定该所述编码块类对应的块级码率控制参数。[0024] 一种可选的实施方式中,所述针对每个所述待编码视频帧,根据该所述待编码视频帧中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述待编码视频帧对应的帧级码率控制参数,具体包括:[0025] 针对每个所述待编码视频帧,由该所述待编码视频帧中,全部所述编码块类对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述待编码视频帧对应的码率特征信息;[0026] 将所述待编码视频帧对应的码率特征信息输入至所述预设码率控制模型;[0027] 采用线性最小二乘法处理所述预设码率控制模型,确定该所述待编码视频帧对应的帧级码率控制参数。[0028] 一种可选的实施方式中,所述特征信息包括:残差变换绝对值和特征信息、基于梯度的纹理复杂度特征信息以及块内子区域方差特征信息。[0029] 一种可选的实施方式中,基于以下方法确定所述块内子区域方差特征信息:[0030] 确定所述编码块对应的块尺寸信息;[0031] 根据所述块尺寸信息,将所述编码块划分为多个子编码块;[0032] 确定每个所述子编码块对应的残差变换绝对值和;[0033] 根据全部所述子编码块对应的残差变换绝对值和,构建所述编码块对应的残差变换绝对值和矩阵;[0034] 针对所述残差变换绝对值和矩阵进行方差运算,确定所述块内子区域方差特征信息。[0035] 本公开实施例还提供一种码率的控制装置,所述装置包括:[0036] 获取模块,用于获取待编码视频帧,并将所述待编码视频帧划分为多个编码块;[0037] 聚类采样模块,用于将所述编码块聚类为多个编码块类,针对每个所述编码块类,在该所述编码块类中采样多个采样编码块;[0038] 预编码模块,用于针对每个所述采样编码块进行预编码,确定该所述采样编码块对应的压缩码率以及所述压缩码率对应的拉格朗日乘子信息;[0039] 块级参数确定模块,用于针对每个所述编码块类,根据该所述编码块类中,全部所述压缩码率之和以及所述拉格朗日乘子信息,确定该所述编码块类对应的块级码率控制参数;[0040] 帧级参数确定模块,用于针对每个所述待编码视频帧,根据该所述待编码视频帧中,全部所述压缩码率之和以及所述拉格朗日乘子信息,确定该所述待编码视频帧对应的帧级码率控制参数;[0041] 码率控制模块,用于根据配置有所述块级码率控制参数,或所述帧级码率控制参数的预设码率控制模型,控制对应所述待编码视频帧的实际编码比特达到预设目标比特。[0042] 一种可选的实施方式中,所述聚类采样模块具体用于:[0043] 针对每个所述编码块,确定该所述编码块对应的特征信息;[0044] 根据预设的聚类数以及所述特征信息,将全部所述编码块聚类为多个编码块类;[0045] 根据预设的采样率,确定所述采样编码块对应的目标采样数量;[0046] 采用随机采样规则,根据所述目标采样数量在每个所述编码块类中,确定该所述编码块类对应的采样编码块集合,其中,所述采样编码块集合中包括数量为所述目标采样数量的所述采样编码块。[0047] 一种可选的实施方式中,所述预编码模块具体用于:[0048] 针对每个所述采样编码块进行预编码,确定该所述目标采样编码块对应的压缩码率;[0049] 根据预设的固定量化参数列表,确定所述压缩码率对应的所述拉格朗日乘子信息,其中,所述固定量化参数列表中预先存储有所述压缩码率与所述拉格朗日乘子信息之间的映射关系。[0050] 一种可选的实施方式中,所述块级参数确定模块具体用于:[0051] 针对每个所述编码块类,由该所述编码块类中,全部所述采样编码块对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述编码块类对应的码率特征信息;[0052] 将所述编码块类对应的码率特征信息输入至所述预设码率控制模型;[0053] 采用线性最小二乘法处理所述预设码率控制模型,确定该所述编码块类对应的块级码率控制参数。[0054] 一种可选的实施方式中,所述帧级参数确定模块具体用于:[0055] 针对每个所述待编码视频帧,由该所述待编码视频帧中,全部所述编码块类对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述待编码视频帧对应的码率特征信息;[0056] 将所述待编码视频帧对应的码率特征信息输入至所述预设码率控制模型;[0057] 采用线性最小二乘法处理所述预设码率控制模型,确定该所述待编码视频帧对应的帧级码率控制参数。[0058] 一种可选的实施方式中,所述聚类采样模块在针对每个所述编码块,确定该所述编码块对应的特征信息的过程中,所述特征信息包括:残差变换绝对值和特征信息、基于梯度的纹理复杂度特征信息以及块内子区域方差特征信息。[0059] 一种可选的实施方式中,所述聚类采样模块还用于:[0060] 确定所述编码块对应的块尺寸信息;[0061] 根据所述块尺寸信息,将所述编码块划分为多个子编码块;[0062] 确定每个所述子编码块对应的残差变换绝对值和;[0063] 根据全部所述子编码块对应的残差变换绝对值和,构建所述编码块对应的残差变换绝对值和矩阵;[0064] 针对所述残差变换绝对值和矩阵进行方差运算,确定所述块内子区域方差特征信息。[0065] 本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述码率的控制方法,或上述码率的控制方法中任一种可能的实施方式中的步骤。[0066] 本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述码率的控制方法,或上述码率的控制方法中任一种可能的实施方式中的步骤。[0067] 本公开实施例提供的一种码率的控制方法、装置、电子设备及存储介质,通过获取待编码视频帧,并将待编码视频帧划分为多个编码块;将编码块聚类为多个编码块类,针对每个编码块类,在该编码块类中采样多个采样编码块;针对每个采样编码块进行预编码,确定该采样编码块对应的压缩码率和拉格朗日乘子信息;针对每个编码块类,根据该编码块类中,全部压缩码率之和以及拉格朗日乘子信息,确定该编码块类对应的块级码率控制参数;针对每个待编码视频帧,根据该待编码视频帧中,全部压缩码率之和以及拉格朗日乘子信息,确定该待编码视频帧对应的帧级码率控制参数;根据配置有块级码率控制参数,或帧级码率控制参数的预设码率控制模型,控制对应待编码视频帧的实际编码比特达到预设目标比特。可以提升基于视频的点云压缩过程中的编码性能,同时降低预编码复杂度。[0068] 为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明[0069] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。[0070] 图1示出了本公开实施例所提供的一种码率的控制方法的流程图;[0071] 图2示出了本公开实施例所提供的一种编码块的聚类采样方法的流程图;[0072] 图3示出了本公开实施例所提供的一种码率的控制装置的示意图;[0073] 图4示出了本公开实施例所提供的一种电子设备的示意图。具体实施方式[0074] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。[0075] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。[0076] 本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。[0077] 经研究发现,目前,点云投影视频在预测编码后的率失真模型不同于自然场景视频,这给基于视频的点云压缩标准的码率控制任务带来了新的挑战,这主要体现在无法为所有点云固定统一的初始模型参数。上述问题将对带宽、整体率失真性能和质量一致性造成压力。另外,随机访问(RandomAccess,RA)编码结构中不同层的inter帧率失真特性并不相同,而原始编码器中不同层帧使用一致的初始模型参数将会造成糟糕的率失真性能和明显质量波动,进而导致编码性能降低以及较高的预编码复杂度。[0078] 基于上述研究,本公开提供了一种码率的控制方法、装置、电子设备及存储介质,通过获取待编码视频帧,并将待编码视频帧划分为多个编码块;将编码块聚类为多个编码块类,针对每个编码块类,在该编码块类中采样多个采样编码块;针对每个采样编码块进行预编码,确定该采样编码块对应的压缩码率和拉格朗日乘子信息;针对每个编码块类,根据该编码块类中,全部压缩码率之和以及拉格朗日乘子信息,确定该编码块类对应的块级码率控制参数;针对每个待编码视频帧,根据该待编码视频帧中,全部压缩码率之和以及拉格朗日乘子信息,确定该待编码视频帧对应的帧级码率控制参数;根据配置有块级码率控制参数,或帧级码率控制参数的预设码率控制模型,控制对应待编码视频帧的实际编码比特达到预设目标比特。可以提升基于视频的点云压缩过程中的编码性能,同时降低预编码复杂度。[0079] 为便于对本实施例进行理解,首先对本公开实施例所公开的一种码率的控制方法进行详细介绍,本公开实施例所提供的码率的控制方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(UserEquipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(PersonalDigitalAssistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该码率的控制方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。[0080] 参见图1所示,为本公开实施例提供的一种码率的控制方法的流程图,所述方法包括步骤S101 S106,其中:~[0081] S101、获取待编码视频帧,并将所述待编码视频帧划分为多个编码块。[0082] 在具体实施中,本申请可应用于基于视频的点云压缩过程中的点云投影视频。首先在点云投影视频中提取待编码视频帧,并将待编码视频帧划分为固定大小的多个编码块。[0083] 具体的,编码块可以为编码树单元(CodingTreeUnit,CTU),将待编码视频帧划分为固定大小的多个编码树单元。其中,待编码视频帧中存在较多的未占用或者半占用编码树单元,未占用或者半占用编码树单元率失真特性与占用编码树单元具有较大区别。[0084] 需要说明的是,在同一点云投影视频中,提取到的待编码视频帧可以为多个,针对每一个待编码视频帧,均需要将其划分为多个编码树单元,每个编码树单元的大小可以根据实际需要进行选择,在此不做具体限制。[0085] S102、将所述编码块聚类为多个编码块类,针对每个所述编码块类,在该所述编码块类中采样多个采样编码块。[0086] 在具体实施中,针对待编码视频帧划分后的多个编码块,其中一些编码块直观上具有相似的纹理特征,采用聚类算法将多个编码块根据其自身特征进行聚类处理,以得到多个编码块类,之后在每个编码块类内进行采样,得到多个采样编码块。[0087] 这里,在聚类过程中,可以采用一种有效的无监督学习算法,即K‑means聚类算法针对多个编码块进行聚类处理,根据预设的超参数K,将全部编码块分为K个编码块类,之后,在采样过程中,针对每个编码块类,在该编码块类中,根据预设的采样率δ采样多个采样编码块。[0088] 需要说明的是,超参数K与采样率δ可以根据实际需要进行选择,在此不做具体限制,对于整体内容单调的视频场景,优选的使用较低的K值,同时为满足低延迟编码的要求,优选的使用较低的δ值。[0089] 作为一种可能的实施方式,针对多个编码块进行聚类并在编码块类中进行采样的过程可以参见图2所示,为本公开实施例提供的一种编码块的聚类采样方法的流程图,包括如下步骤S1021‑步骤S1024,具体的:[0090] 步骤S1021、针对每个所述编码块,确定该所述编码块对应的特征信息。[0091] 这里,特征信息具体可以包括:残差变换绝对值和特征信息、基于梯度的纹理复杂度特征信息以及块内子区域方差特征信息。[0092] 其中,残差变换绝对值和(SumofAbsoluteTransformedDifference,SATD)特征信息是一种视频残差信号大小的衡量标准,即残差经哈德曼变换的4×4块的预测残差绝对值总和,其值在一定程度上可以反映生成码流的大小。[0093] 作为一种可能的实施方式,当编码块为编码树单元时,基于梯度的纹理复杂度特征(Gradient‑basedTexturalComplexity,GTC)信息可以通过以下公式进行计算:[0094][0095] 其中, 代表编码树单元内坐标(i,j)处的像素值; 代表编码树单元的宽;代表编码树单元的高。[0096] 作为一种可能的实施方式,当编码块为编码树单元时,块内子区域方差特征信息(SubBlockVariance,SBV)可以通过以下方法确定:确定所述编码块对应的块尺寸信息;根据所述块尺寸信息,将所述编码块划分为多个子编码块;确定每个所述子编码块对应的残差变换绝对值和;根据全部所述子编码块对应的残差变换绝对值和,构建所述编码块对应的残差变换绝对值和矩阵;针对所述残差变换绝对值和矩阵进行方差运算,确定所述块内子区域方差特征信息。[0097] 具体的,块内子区域方差特征信息可以通过以下公式进行计算:[0098][0099] 其中, 代表由64×64大小编码树单元划分成的8×8大小的子编码树单元对应的残差变换绝对值和矩阵, 中的每一元素为编码树单元内,8×8子编码树单元的残差变换绝对值和的值; 代表方差运算。[0100] 需要说明的是,残差变换绝对值和矩阵的大小,可以随编码树单元的大小进行改变,在此不做具体限制,上述如64×64大小仅为示例性设置,即编码树单元的大小若不是64×64,矩阵S的大小也随之改变,并不局限于8×8大小。并且,这种改变并不影响块内子区域方差特征信息的计算,仅需要增加非常小的计算开销。[0101] 步骤S1022、根据预设的聚类数以及所述特征信息,将全部所述编码块聚类为多个编码块类。[0102] 步骤S1023、根据预设的采样率,确定所述采样编码块对应的目标采样数量。[0103] 这里,根据预设的采样率可以确定当前编码块类中需要进行预编码的采样编码块的目标采样数量,预设的采样率可以根据实际需要进行设置,在此不做具体限制。[0104] 步骤S1024、采用随机采样规则,根据所述目标采样数量在每个所述编码块类中,确定该所述编码块类对应的采样编码块集合,其中,所述采样编码块集合中包括数量为所述目标采样数量的所述采样编码块。[0105] 这样,可以在待编码视频帧中,每个编码块类的内部以及多个编码块类之间采样具有代表性的采样编码块进行预编码,相对于将待编码视频帧整体进行预编码的过程,可以实现轻量化的与编码策略,并且降低预编码复杂度。[0106] S103、针对每个所述采样编码块进行预编码,确定该所述采样编码块对应的压缩码率以及所述压缩码率对应的拉格朗日乘子信息。[0107] 在具体实施中,将采样编码块进行预编码确定采样编码块对应的压缩码率,根据采样编码块对应的压缩码率,确定采样编码块对应的拉格朗日乘子信息。[0108] 作为一种可能的实施方式,可以采用以下方法确定压缩码率以及拉格朗日乘子信息:针对每个所述采样编码块进行预编码,确定该所述目标采样编码块对应的压缩码率;根据预设的固定量化参数列表,确定所述压缩码率对应的所述拉格朗日乘子信息,其中,所述固定量化参数列表中预先存储有所述压缩码率与所述拉格朗日乘子信息之间的映射关系。[0109] 这里,预设的固定量化参数列表中,存储的压缩码率与拉格朗日乘子信息之间的映射关系可以根据实际需要进行设置,在此不做具体限制。[0110] S104、针对每个所述编码块类,根据该所述编码块类中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述编码块类对应的块级码率控制参数。[0111] 在具体实施中,码率控制环节被分为两个部分:比特分配和比特控制。比特分配部分基于率失真最优化准则为多个编码级别如图片组(GroupofPicture,GOP)、帧级以及更细粒度的块级分配合理的比特以获得整体最优编码性能。而由于待编码视频帧中存在较多的未占用或者半占用编码块,其率失真特性与占用编码块具有较大区别,因此本申请技术方案对码率控制模型中的模型参数采用帧级与块级的差异化判定策略。[0112] 这里,针对块级码率控制参数,由每一类编码块类中,采样编码块与未被采样的编码块共用块级码率控制参数,块级码率控制参数由该类编码块类中全部的采样编码块对应的压缩码率之和以及对应的拉格朗日乘子信息确定。其中,全部的采样编码块对应的压缩码率之和对应的拉格朗日乘子信息可以采用预设的固定量化参数列表确定。[0113] 作为一种可能的实施方式,可以基于以下方法确定块级码率控制参数:针对每个所述编码块类,由该所述编码块类中,全部所述采样编码块对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述编码块类对应的码率特征信息;将所述编码块类对应的码率特征信息输入至所述预设码率控制模型;采用线性最小二乘法处理所述预设码率控制模型,确定该所述编码块类对应的块级码率控制参数。[0114] 具体的,针对块级码率控制可通过如下公式进行计算(该公式也为预设码率控制模型的表达式):[0115][0116] 其中,( , )代表针对 类型的待编码视频帧进行码率控制的块级码率控制参数;( , )代表针对 类型的待编码视频帧进行码率控制的块级码率控制参数;R代表当前编码块类中,全部所述采样编码块对应的压缩码率之和; 代表类型的待编码视频帧; 代表 类型的待编码视频帧; 代表当前编码块类中,全部所述采样编码块对应的压缩码率之和对应的拉格朗日乘子信息;SATD代表残差变换绝对值和,用以反映频域特征; 为一固定值,可以根据实际需要进行设置,在此不做具体限制,优选的可以为1.2517。[0117] 需要说明的是,在使用最小二乘法针对上式进行计算的过程中,需要将上式两端取对数转化为线性表达式。[0118] S105、针对每个所述待编码视频帧,根据该所述待编码视频帧中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述待编码视频帧对应的帧级码率控制参数。[0119] 在具体实施中,针对帧级码率控制参数,由每一个待编码视频帧中,全部编码块类中的全部采样编码块对应的压缩码率之和以及对应的拉格朗日乘子信息确定。其中,全部编码块类中的全部采样编码块对应的压缩码率之和对应的拉格朗日乘子信息可以采用预设的固定量化参数列表确定。[0120] 具体的,针对帧级码率控制可通过如下公式进行计算(该公式也为预设码率控制模型的表达式):[0121][0122] 其中,( , )代表针对 类型的待编码视频帧进行码率控制的帧级码率控制参数;( , )代表针对 类型的待编码视频帧进行码率控制的帧级码率控制参数;R代表当前待编码视频帧中,全部编码块类中的全部采样编码块对应的压缩码率之和;代表 类型的待编码视频帧; 代表 类型的待编码视频帧; 代表当前待编码视频帧中,全部编码块类中的全部采样编码块对应的压缩码率之和对应的拉格朗日乘子信息;SATD代表残差变换绝对值和,用以反映频域特征; 为一固定值,可以根据实际需要进行设置,在此不做具体限制,优选的可以为1.2517。[0123] 需要说明的是,在使用最小二乘法针对上式进行计算的过程中,需要将上式两端取对数转化为线性表达式。[0124] S106、根据配置有所述块级码率控制参数,或所述帧级码率控制参数的预设码率控制模型,控制对应所述待编码视频帧的实际编码比特达到预设目标比特。[0125] 在具体实施中,预设码率控制模型为码率‑拉格朗日乘子模型,即R‑ 模型,在码率控制体系架构中,比特分配部分基于率失真最优化准则为多个编码级别如帧级和更细粒度的块级分配合理的比特以获得整体最优编码性能之后,比特控制部分预设码率控制模型通过获取准确的量化参数值进行量化,以控制实际编码比特以接近目标比特。[0126] 具体的,预设码率控制模型的表达式可以为:[0127][0128] 其中,( , )代表针对 类型的待编码视频帧进行码率控制的码率控制参数;( , )代表针对 类型的待编码视频帧进行码率控制的码率控制参数;R代表压缩码率; 代表 类型的待编码视频帧; 代表 类型的待编码视频帧; 代表拉格朗日乘子信息;SATD代表残差变换绝对值和,用以反映频域特征; 为一固定值,可以根据实际需要进行设置,在此不做具体限制,优选的可以为1.2517。[0129] 需要说明的是,优选的,初始( , )和( , )可以分别设置为(6.7542,1.7860)和(3.2003,‑1.3670)。[0130] 本公开实施例提供的一种码率的控制方法,通过获取待编码视频帧,并将待编码视频帧划分为多个编码块;将编码块聚类为多个编码块类,针对每个编码块类,在该编码块类中采样多个采样编码块;针对每个采样编码块进行预编码,确定该采样编码块对应的压缩码率和拉格朗日乘子信息;针对每个编码块类,根据该编码块类中,全部压缩码率之和以及拉格朗日乘子信息,确定该编码块类对应的块级码率控制参数;针对每个待编码视频帧,根据该待编码视频帧中,全部压缩码率之和以及拉格朗日乘子信息,确定该待编码视频帧对应的帧级码率控制参数;根据配置有块级码率控制参数,或帧级码率控制参数的预设码率控制模型,控制对应待编码视频帧的实际编码比特达到预设目标比特。可以提升基于视频的点云压缩过程中的编码性能,同时降低预编码复杂度。[0131] 本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。[0132] 基于同一发明构思,本公开实施例中还提供了与码率的控制方法对应的码率的控制装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述码率的控制方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。[0133] 请参阅图3,图3为本公开实施例提供的一种码率的控制装置的示意图。如图3中所示,本公开实施例提供的控制装置300包括:[0134] 获取模块310,用于获取待编码视频帧,并将所述待编码视频帧划分为多个编码块;[0135] 聚类采样模块320,用于将所述编码块聚类为多个编码块类,针对每个所述编码块类,在该所述编码块类中采样多个采样编码块;[0136] 预编码模块330,用于针对每个所述采样编码块进行预编码,确定该所述采样编码块对应的压缩码率以及所述压缩码率对应的拉格朗日乘子信息;[0137] 块级参数确定模块340,用于针对每个所述编码块类,根据该所述编码块类中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述编码块类对应的块级码率控制参数;[0138] 帧级参数确定模块350,用于针对每个所述待编码视频帧,根据该所述待编码视频帧中,全部所述压缩码率之和以及对应的所述拉格朗日乘子信息,确定该所述待编码视频帧对应的帧级码率控制参数;[0139] 码率控制模块360,用于根据配置有所述块级码率控制参数,或所述帧级码率控制参数的预设码率控制模型,控制对应所述待编码视频帧的实际编码比特达到预设目标比特。[0140] 一种可选的实施方式中,所述聚类采样模块320具体用于:[0141] 针对每个所述编码块,确定该所述编码块对应的特征信息;[0142] 根据预设的聚类数以及所述特征信息,将全部所述编码块聚类为多个编码块类;[0143] 根据预设的采样率,确定所述采样编码块对应的目标采样数量;[0144] 采用随机采样规则,根据所述目标采样数量在每个所述编码块类中,确定该所述编码块类对应的采样编码块集合,其中,所述采样编码块集合中包括数量为所述目标采样数量的所述采样编码块。[0145] 一种可选的实施方式中,所述预编码模块330具体用于:[0146] 针对每个所述采样编码块进行预编码,确定该所述目标采样编码块对应的压缩码率;[0147] 根据预设的固定量化参数列表,确定所述压缩码率对应的所述拉格朗日乘子信息,其中,所述固定量化参数列表中预先存储有所述压缩码率与所述拉格朗日乘子信息之间的映射关系。[0148] 一种可选的实施方式中,所述块级参数确定模块340具体用于:[0149] 针对每个所述编码块类,由该所述编码块类中,全部所述采样编码块对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述编码块类对应的码率特征信息;[0150] 将所述编码块类对应的码率特征信息输入至所述预设码率控制模型;[0151] 采用线性最小二乘法处理所述预设码率控制模型,确定该所述编码块类对应的块级码率控制参数。[0152] 一种可选的实施方式中,所述帧级参数确定模块350具体用于:[0153] 针对每个所述待编码视频帧,由该所述待编码视频帧中,全部所述编码块类对应的所述压缩码率之和以及对应的所述拉格朗日乘子信息,作为该所述待编码视频帧对应的码率特征信息;[0154] 将所述待编码视频帧对应的码率特征信息输入至所述预设码率控制模型;[0155] 采用线性最小二乘法处理所述预设码率控制模型,确定该所述待编码视频帧对应的帧级码率控制参数。[0156] 一种可选的实施方式中,所述聚类采样模块320在针对每个所述编码块,确定该所述编码块对应的特征信息的过程中,所述特征信息包括:残差变换绝对值和特征信息、基于梯度的纹理复杂度特征信息以及块内子区域方差特征信息。[0157] 一种可选的实施方式中,所述聚类采样模块320还用于:[0158] 确定所述编码块对应的块尺寸信息;[0159] 根据所述块尺寸信息,将所述编码块划分为多个子编码块;[0160] 确定每个所述子编码块对应的残差变换绝对值和;[0161] 根据全部所述子编码块对应的残差变换绝对值和,构建所述编码块对应的残差变换绝对值和矩阵;[0162] 针对所述残差变换绝对值和矩阵进行方差运算,确定所述块内子区域方差特征信息。[0163] 关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。[0164] 本公开实施例提供的一种码率的控制装置,通过获取待编码视频帧,并将待编码视频帧划分为多个编码块;将编码块聚类为多个编码块类,针对每个编码块类,在该编码块类中采样多个采样编码块;针对每个采样编码块进行预编码,确定该采样编码块对应的压缩码率和拉格朗日乘子信息;针对每个编码块类,根据该编码块类中,全部压缩码率之和以及拉格朗日乘子信息,确定该编码块类对应的块级码率控制参数;针对每个待编码视频帧,根据该待编码视频帧中,全部压缩码率之和以及拉格朗日乘子信息,确定该待编码视频帧对应的帧级码率控制参数;根据配置有块级码率控制参数,或帧级码率控制参数的预设码率控制模型,控制对应待编码视频帧的实际编码比特达到预设目标比特。可以提升基于视频的点云压缩过程中的编码性能,同时降低预编码复杂度。[0165] 对应于图1中的码率的控制方法,本公开实施例还提供了一种电子设备400,如图4所示,为本公开实施例提供的电子设备400结构示意图,包括:[0166] 处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当所述电子设备400运行时,所述处理器41与所述存储器42之间通过总线43通信,使得所述处理器41执行图1中的码率的控制方法的步骤。[0167] 本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的码率的控制方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。[0168] 本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的码率的控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。[0169] 其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(SoftwareDevelopmentKit,SDK)等等。[0170] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0171] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0172] 另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。[0173] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。[0174] 最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
专利地区:广东
专利申请日期:2022-06-20
专利公开日期:2024-07-26
专利公告号:CN115103186B