一种适合于硬件实现的I帧码率控制方法及装置制造方法及图纸

技术编号:36185418 阅读:25 留言:0更新日期:2022-12-31 20:48
本发明专利技术公开了一种适合于硬件实现的I帧码率控制方法。对每一个待编码图像块采用多个帧内编码模式进行初步筛选,筛选出帧内编码模式候选及其对应的帧内编码模式预测代价。对待编码图像块的每个帧内编码模式候选对应的帧内编码模式预测代价进行筛选,选取最小的帧内编码模式预测代价来表征该待编码图像块的帧内编码复杂度;然后将视频帧内所有图像块的帧内编码复杂度之和作为该视频帧的帧内编码复杂度。根据前一个已编码I帧的实际编码比特数、帧级拉格朗日乘子和帧内编码复杂度,结合待编码I帧的目标编码比特数和帧内编码复杂度,计算出待编码I帧的帧级拉格朗日乘子。本发明专利技术的计算准确性高,硬件开销小,实现成本低。实现成本低。实现成本低。

【技术实现步骤摘要】
一种适合于硬件实现的I帧码率控制方法及装置


[0001]本专利技术涉及一种视频编码技术,特别是涉及一种码率控制方法。

技术介绍

[0002]视频编码技术是通过压缩视频图像中的冗余成分,并使用尽可能少的数据来表征视频信息。常见的视频编码标准有AVC(Advanced Video Coding,又称H.264)、HEVC(High Efficiency Video Coding,又称H.265)等。视频编码技术以图像块作为最基本的编码单元。例如在HEVC中,编码的基本单元是CU(Coding Unit,编码单元)。CU可以为64像素
×
64像素、或32像素
×
32像素、或16像素
×
16像素、或8像素
×
8像素大小的图像块。
[0003]为了去除空域和时域上的信息冗余,对于输入的视频帧会采用帧内编码(intra coding)技术和帧间编码(inter coding)技术进行视频编码。编码后的视频帧一般可以划分为仅采用帧内编码技术的I帧,以及混合采用帧内编码技术和帧间编码技术的P帧和B帧。I帧在进行视频编码时仅采用帧内编码技术,仅使用本视频帧的信息进行编码,不会参考其他已编码的视频帧的信息。I帧内部所有图像块都编码为帧内编码块。P帧和B帧在进行编码时,会混合采用帧内编码技术和帧间编码技术,不仅会使用本视频帧的信息进行编码,还会参考一个或多个其他已编码的视频帧的信息。P帧和B帧内部的图像块可以编码为帧内编码块,也可以编码为帧间编码块。对于P帧和B帧内部的每一个图像块,如果采用帧内编码技术的率失真代价更小,则这个图像块会被编码为帧内编码块;如果采用帧间编码技术的率失真代价更小,则这个图像块会被编码为帧间编码块。对于每一个输入的视频帧,由用户设置的图像组(GOP,Group Of Pictures)参数来决定编码帧的类型。图1展示了一个常见的图像组结构,其中包含I帧、P帧或B帧。
[0004]为了尽可能提高视频压缩率,常见的视频编码算法往往是有损压缩算法,例如AVC和HEVC就属于有损压缩算法。这造成编码重建后的视频与原始视频存在差别,即编码重建后的视频会产生失真。对于有损压缩算法,其编码性能需要由编码比特率(Rate)和编码引入的失真(Distortion)来共同衡量。在视频编码的过程中,编码比特率和编码失真是相互制约、相互矛盾的,比如降低编码比特率往往会增加编码失真,而减少编码失真又往往会增加编码比特率。率失真优化(Rate Distortion Optimization,RDO)就是在一定的编码比特率下尽可能地减少编码失真,或者在一定的编码失真下尽可能地减少编码比特率。目前在常见的视频编码算法中,都是采用基于拉格朗日乘子λ的率失真优化方法。假设D为编码失真,R为编码比特率,J为编码率失真代价(Rate Distortion Cost,RD Cost),J=D+λ
×
R。基于拉格朗日乘子λ的率失真优化方法可以表述为min(J),其中min()表示取最小值。在视频编码时,每一种编码模式都有其对应的编码失真D和编码比特率R,这样就可以计算出每一种编码模式对应的编码率失真代价J。选择率失真代价J最小的编码模式来进行视频编码,可以获得最优的编码性能。编码器通过率失真优化的方法为每一个待编码图像块选择最优的编码模式的过程,称为待编码图像块的模式选择(Mode Decision)。
[0005]请参阅图2,现有的待编码图像块的模式选择系统包括视频帧编码类型选择模块
11、帧内编码模式预测模块12、帧间编码模式预测模块13、帧内编码模式率失真优化模块14、帧间编码模式率失真优化模块15、编码模式选择模块16。
[0006]视频帧编码类型选择模块11根据用户设置的图像组(GOP)参数,决定当前待编码视频帧的类型,即决定当前待编码视频帧需要编码为I帧、P帧还是B帧。
[0007]帧内编码模式预测模块12会对数目众多的帧内编码模式进行初步筛选,通过计算各个帧内编码模式对应的预测代价,筛选出预测代价最低的一个或多个帧内编码模式候选。与之类似,帧间编码模式预测模块13会对数目众多的帧间编码模式进行初步筛选,通过计算各个帧间编码模式对应的预测代价,筛选出预测代价最低的一个或多个帧间编码模式候选。
[0008]帧内编码模式率失真优化模块14对所有帧内编码模式候选计算出精确的率失真代价,将率失真代价最小的一种帧内编码模式作为最优帧内编码模式。与之类似,帧间编码模式率失真优化模块15对所有帧间编码模式候选计算出精确的率失真代价,将率失真代价最小的一种帧间编码模式作为最优帧间编码模式。
[0009]编码模式选择模块16将最优帧内编码模式作为I帧内的图像块的最优编码模式,将最优帧内编码模式和最优帧间编码模式中率失真代价较小者作为P帧或B帧内的图像块的最优编码模式。
[0010]如果当前待编码视频帧为I帧,由于I帧仅采用帧内编码技术,其内部的图像块经过帧内编码模式预测模块12、帧内编码模式率失真优化模块14和编码模式选择模块16的处理后,得到图像块的最优编码模式。如果当前待编码视频帧为P帧或B帧,由于P帧和B帧混合采用了帧内编码技术和帧间编码技术,其内部的图像块经过帧内编码模式预测模块12、帧间编码模式预测模块13、帧内编码模式率失真优化模块14、帧间编码模式率失真优化模块15和编码模式选择模块16的处理后,得到图像块的最优编码模式。可以看到,无论是I帧、P帧还是B帧,其内部的图像块都需要经过帧内编码模式预测模块12,计算帧内编码模式对应的预测代价。
[0011]从本质上来说,编码模式预测模块12、13和编码模式率失真优化模块14、15都是采用率失真优化的方法,对图像块的编码模式进行筛选。这两种模块的区别主要在于所采用的代价计算方法的精度不同。在编码模式的预测模块12、13中,一般采用计算量较少、精度较低的代价计算方法,计算失真代价一般使用SAD(Sum of Absolute Difference,绝对误差和)算法或者SATD(Sum of Absolute Transformed Difference,最小变换域绝对误差和)算法,计算编码比特率代价一般使用简化的比特率估计算法,如指数哥伦布码(exponential

Golomb coding)算法,且编码模式预测阶段一般不会引入变换和量化操作。在编码模式的率失真优化模块中,一般采用计算量较大、精度较高的代价计算方法,计算失真代价一般使用SSD(Sum of Squared Differences,误差平方和)算法,计算编码比特率代价一般使用CABAC(Context

based Adaptive Binary Arithmatic Coding,基于上下文的自适应二进制算术编码)算法或者CAVLC(Context

based Adaptive Variable Length Coding,上下文自适应的变长编码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适合于硬件实现的I帧码率控制方法,其特征是,包括如下步骤;步骤S21:对每一个待编码图像块采用多个帧内编码模式进行初步筛选,即计算各个帧内编码模式对应的预测代价,筛选出预测代价最低的一个或多个帧内编码模式作为帧内编码模式候选、以及每个帧内编码模式候选对应的帧内编码模式预测代价;步骤S22:对待编码图像块的每个帧内编码模式候选对应的帧内编码模式预测代价进行筛选,选取最小的帧内编码模式预测代价来表征该待编码图像块的帧内编码复杂度;然后将视频帧内所有图像块的帧内编码复杂度之和作为该视频帧的帧内编码复杂度;步骤S23:根据前一个已编码I帧的实际编码比特数、帧级拉格朗日乘子和帧内编码复杂度,结合待编码I帧的目标编码比特数和帧内编码复杂度,计算出待编码I帧的帧级拉格朗日乘子;其中,待编码I帧的帧内编码复杂度由该待编码I帧的前一个已编码视频帧的帧内编码复杂度代替得到。2.根据权利要求1所述的适合于硬件实现的I帧码率控制方法,其特征是,所述步骤S22中,仅计算每个I帧、以及每个I帧前面一个视频帧的帧内编码复杂度。3.根据权利要求1所述的适合于硬件实现的I帧码率控制方法,其特征是,所述步骤S23中,待编码I帧的帧级拉格朗日乘子λ
new
由公式五:求取;其中,f
‑1是表征“进行I帧编码时不同的帧级拉格朗日乘子的比值与不同的实际编码比特数的比值”关系的第一函数f的反函数;I(n)
new
表示待编码I帧的目标编码比特数;I(m)
old
表示前一个已编码I帧的实际编码比特数;g是表征“进行I帧编码时不同的帧内编码复杂度的比值与不同的实际编码比特数的比值”关系的第二函数;ω
n
‑1表示待编码I帧的前一个已编码视频帧的帧内编码复杂度,用来代替待编码I帧的帧内编码复杂度ω
n
;ω
m
表示前一个已编码I帧的帧内编码复杂度;λ
old
表示前一个已编码I帧的帧级拉格朗日乘子。4.根据权利要求3所述的适合于硬件实现的I帧码率控制方法,其特征是,所述第一函数f由公式一:获取;第一函数f的具体表达形式通过对视频中的I帧在编码后的实际参数进行运算和函数拟合后得到。5.根据权利要求3所述的适合于硬件实现的I帧码率控制方法,其特征是,所述第二函数g由公式二:获取;第二函数...

【专利技术属性】
技术研发人员:刘鹏飞
申请(专利权)人:翱捷科技股份有限公司
类型:发明
国别省市:

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

1