一种考虑时域失真传播的零时延全景视频码率控制方法技术

技术编号:36605587 阅读:29 留言:0更新日期:2023-02-04 18:27
本发明专利技术属于图像处理技术领域,具体涉及一种考虑时域失真传播的零时延全景视频码率控制方法。本发明专利技术的方法主要为优化目标比特分配和全局率失真优化编码,包括编码树单元(CTU)级的码率控制以及时域全局率失真优化。CTU级码率控制主要包括优化目标比特分配以及码率控制参数更新;时域全局率失真优化主要利用已编码帧的重建误差和运动补偿预测误差信息来估计当前编码帧内每个CTU的时域依赖性并据此调整CTU的率失真优化参数,同时根据全景球面图形投影到2D平面(ERP投影)过程中,会在两极产生过采样增加像素冗余的特征,根据投影面积变化比值来调整编码参数。本发明专利技术能有效缩短编码时间并且在给定带宽的条件下提升视频编码质量。质量。质量。

【技术实现步骤摘要】
一种考虑时域失真传播的零时延全景视频码率控制方法


[0001]本专利技术属于图像处理
,具体涉及一种考虑时域失真传播的零时延全景视频码率控制方法。

技术介绍

[0002]全景视频是一种使用相机阵列或3D摄像机进行全方位360度进行拍摄的视频,用户在观看视频的时候,可以随意调节视频上下左右方位进行观看,全景视频具有高帧率、高分辨率(至少4K)、宽视域的特征,存储和传输全景视频非常消耗资源。码率控制是根据目标码率来逐层优化分配比特,并按照一定的编码策略动态调整编码器的编码参数,使编码器输出码流满足传输信道带宽限制及存储设备存储空间的需求,尽可能使得实际输出码率与目标码率一致。其在实时视频通信系统中广泛应用。传统全景视频编码存在以下问题,首先是其在投影过程中会产生像素冗余而影响编码性能;同时传统编码器没有利用帧间编码单元之间的时域相关性进行编码,编码性能还有极大地提升空间;传统编码器没有考虑帧间时域失真影响因子主要原因是其计算复杂度太高,不利于实时通信。本专利技术针对以上问题提出了一种考虑时域失真传播的零时延全景视频码率控制方法,本专利技术首先根据全景视频球面面积和投影面积之比来调整编码参数以减小像素冗余带来的编码性能损失;同时通过计算编码帧像素均值和方差值的变化量来确定图像场景是否发生变换;在没有发生场景变换的情况下,根据视频图像具有连续性的特点,利用时域上前一编码帧的重建误差和运动补偿预测误差计算时域失真影响因子,并利用该因子来编码当前帧。本专利技术不用预存未编码帧,而且利用已编码帧信息计算时域失真影响因子,计算量小,编码复杂度极低,同时率失真性能有非常大的提升,所以本专利技术易于推广。
[0003]目前的码率控制方法包括:
[0004]H.266/VVC码率控制方法,主要步骤为:
[0005]步骤1:比特分配
[0006]VTM采用分层比特分配结构,在GOP层、帧层、CTU层分别进行比特分配,越往下,码率分配越准确,修正误差也越好实现。VTM在各个层次上平均分配目标码率,为了逐步消除已编码单元产生的码率控制误差,通过滑动窗口来平滑码率波动,防止出现码率波动较大而影响视频质量的情况,通过下列式子实现分层码率分配,即
[0007][0008][0009][0010][0011]其中,R
tar
为目标码率,FR为帧率,R
pic
为整个序列平均每帧的比特数,T
gop
、T
pic
、T
ctu
分别为分配给待编码GOP、编码帧、编码单元的目标比特数,SW是平滑比特分配的滑动窗,N
coded
、R
coded
、N
gop
、ω
pic
、ω
ctu
、ω
pic
、ω
ctu
分别为已编码帧数、编码视频序列已消耗比特、一个GOP帧数、GOP内已编码帧数、编码帧所占权重、编码单元所占权重、未编码帧所占权重之和、帧内未编码CTU权重之和。
[0012]步骤2:根据R

λ模型计算拉格朗日乘子
[0013][0014]拉格朗日乘子λ
i
为率失真曲线的斜率,D
i
、R
i
分别为第i个编码单元的失真和编码比特,拉格朗日乘子λ
i
与码率R
i
之间的关系
[0015][0016]步骤3:更新编码参数
[0017]上式中参数在编码完一帧或者一个编码树单元CTU后会自动更新。参数更新公式为
[0018][0019]式中D
i
、R
i
在编码完一帧或一个CTU后即可确定,而帧级的λ
i
沿用同一个GOP内同一层级最近邻已编码帧拉格朗日乘子代替,CTU级的λ
i
沿用与编码帧处于同一层级的最近邻已编码帧对应CTU拉格朗日乘子代替,然后用来更新参数c
i
、k
i

[0020]步骤4:计算编码过程中用到的量化参数QP
[0021]QP
i
=4.2005
·
lnλ
i
+13.7122
[0022]可以看出,码率控制算法中的量化参数和拉格朗日乘子的对数可以用线性函数关系拟合。
[0023]上述传统的码率控制方法中,存在的问题是:VVC中的R

Lambda码率控制模型可以达到较高的控制精度,但是其没有考虑全景视频由于投影带来的像素冗余问题。同时,没有利用帧间时域相关性进行率失真优化编码,编码质量有较大的提升空间。

技术实现思路

[0024]针对上述问题,本专利技术提供一种考虑时域失真传播的零时延全景视频码率控制方法。本专利技术的方法主要为优化目标比特分配和全局率失真优化编码,包括编码树单元(CTU)级的码率控制以及时域全局率失真优化。CTU级码率控制主要包括优化目标比特分配以及码率控制参数更新;时域全局率失真优化主要利用已编码帧的重建误差和运动补偿预测误差信息来估计当前编码帧内每个CTU的时域依赖性并据此调整CTU的率失真优化参数,同时
根据全景球面图形投影到2D平面(ERP投影)过程中,会在两极产生过采样增加像素冗余的特征,根据投影面积变化比值来调整编码参数。
[0025]本专利技术的技术方案为:
[0026]一种考虑时域失真传播的零时延全景视频码率控制方法,包括以下步骤:
[0027]S1、向编码器输入目标码率以及待编码序列;
[0028]S2、判断当前是否为第一帧,若是,则执行:
[0029]计算CTU行对应的纬度值并计算球面及其投影平面的面积拉伸比;
[0030]初始化码率控制单元的参数;
[0031]计算当前帧的目标比特数;
[0032]根据目标比特数计算当前帧的帧级拉格朗日乘子;
[0033]依据帧级拉格朗日乘子计算帧级QP并帧内编码;
[0034]编码完当前帧,重复步骤S2;
[0035]否则,进入步骤S3;
[0036]S3、计算帧像素均值和方差值;
[0037]S4、判断当前帧数是否大于2倍GOP大小,若是,则进入S5;否则进入S6;
[0038]S5、根据迭代算法计算全局拉格朗日乘子并优化帧内各CTU比特分配,进入步骤S7;
[0039]S6、使用编码器自带比特分配算法为帧内各CTU分配比特;
[0040]S7、计算帧级拉格朗日乘子及QP;
[0041]S8、按顺序编码CTU;
[0042]S9、判断当前帧像素方差值与上一帧的差值是否大于阈值,若是,则进入步骤S10,否则进入步骤S11;
[0043]S10、根据步骤S2中获得的面积拉伸比调节当前CTU的拉格朗日乘子,进入步骤S13;
[0044]S11、判断当前帧数是否大于3本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种考虑时域失真传播的零时延全景视频码率控制方法,其特征在于,包括以下步骤:S1、向编码器输入目标码率以及待编码序列;S2、判断当前是否为第一帧,若是,则执行:计算CTU行对应的纬度值并计算球面及其投影平面的面积拉伸比;初始化码率控制单元的参数;计算当前帧的目标比特数;根据目标比特数计算当前帧的帧级拉格朗日乘子;依据帧级拉格朗日乘子计算帧级QP并帧内编码;编码完当前帧,重复步骤S2;否则,进入步骤S3;S3、计算帧像素均值和方差值;S4、判断当前帧数是否大于2倍GOP大小,若是,则进入S5;否则进入S6;S5、根据迭代算法计算全局拉格朗日乘子并优化帧内各CTU比特分配,进入步骤S7;S6、使用编码器自带比特分配算法为帧内各CTU分配比特;S7、计算帧级拉格朗日乘子及QP;S8、按顺序编码CTU;S9、判断当前帧像素方差值与上一帧的差值是否大于阈值,若是,则进入步骤S10,否则进入步骤S11;S10、根据步骤S2中获得的面积拉伸比调节当前CTU的拉格朗日乘子,进入步骤S13;S11、判断当前帧数是否大于3,若是,则进入S13,否则进入S10;S12、根据前一帧的时域失真影响因子和S2中获得的面积比值调节每个CTU的拉格朗日乘子;S13、根据S10或者S12中计算的当前CTU的拉格朗日乘子来计算当前CTU的量化参数QP并编码CTU;S14、判断是否是最后一个CTU,若是,则编码完当前帧,进入步骤S15,否则,回到步骤S8;S15、更新当前帧及各CTU的码率控制参数及实际用的比特数;S16、获取当前帧保存的每个CTU的重建误差以及运动补偿预测误差来计算当前帧内各个CTU...

【专利技术属性】
技术研发人员:朱策杨栩罗雷郭红伟段昶杜金侯晶晶
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1