CN104796704B - 一种用于可伸缩视频编码的宏块级码率控制方法 - Google Patents

一种用于可伸缩视频编码的宏块级码率控制方法 Download PDF

Info

Publication number
CN104796704B
CN104796704B CN201510191391.4A CN201510191391A CN104796704B CN 104796704 B CN104796704 B CN 104796704B CN 201510191391 A CN201510191391 A CN 201510191391A CN 104796704 B CN104796704 B CN 104796704B
Authority
CN
China
Prior art keywords
mrow
msubsup
mad
macro block
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510191391.4A
Other languages
English (en)
Other versions
CN104796704A (zh
Inventor
卢鑫
胡悦
金雪松
肖楠
郭俊汐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201510191391.4A priority Critical patent/CN104796704B/zh
Publication of CN104796704A publication Critical patent/CN104796704A/zh
Application granted granted Critical
Publication of CN104796704B publication Critical patent/CN104796704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种用于可伸缩视频编码的宏块级码率控制方法,本发明涉及一种可伸缩视频编码的码率控制方法。本发明是为了解决现***率控制技术中率失真关系模型不能准确描述SVC标准的率失真关系、未考虑基本层和增强层间的相互影响以及现有MAD预测模型的预测误差率高的问题。通过以下技术方案实现:一、初始化;将InitialQP分别赋值给QPinterly和QPintraly;二、进行可伸缩编码并存储编码结果;三、更新宏块的MAD预测模型的系数;四、计算宏块的MAD预测值MADel;五、更新率失真模型的系数;六、计算Rtxt;七、计算QPinterly和QPintraly;八、微调QPinterly和QPintraly;九、设置进行预测编码时所使用的量化参数;十、检查当前帧是否编码结束。本发明应用于视频编码技术领域。

Description

一种用于可伸缩视频编码的宏块级码率控制方法
技术领域
本发明涉及一种可伸缩视频编码的码率控制方法。
背景技术
SVC标准是以H.264/AVC视频编解码标准为基础,由国际电联电信标准化部门(ITU-T)视频编码专家组(VCEG)和国际标准化组织(ISO)动态图像专家组(MPEG)组成的联合视频专家组(JVT)共同制定的国际可伸缩视频编码标准。在保持高效率压缩的同时,SVC编码器产生的码流可实现在时间(帧率)、空间(分辨率)和视频质量(信噪比)上的可伸缩,即通过一次编码产生的码流可以解码出不同帧率、分辨率和质量等级的视频。在给定传输带宽或存储空间的条件下,码率控制算法利用编码工具对编码比特进行有效地调配和使用,从而获得更好的重建视频质量。码率控制算法能够保证输出的码率能够符合传输带宽的要求,防止缓冲器上溢和下溢并且充分利用带宽资源。虽然对码率控制算法已有了较广泛的研究,但是基本上都是针对不可伸缩视频编码标准进行的。现有针对可伸缩视频编码的码率控制技术存在的主要问题有:
(1)现有的率失真(Rate-Distortion,RD)关系模型不能准确描述SVC标准的率失真关系。SVC标准继承了H.264/AVC标准所有先进的编码工具,同时采用了多层编码框架和新的层间预测技术,使得现有的率失真模型不能准确地描述其率失真关系。例如,新的编码技术改变了用于编码图像纹理的比特开销和用于编码非纹理信息的比特开销之间的关系,从而使率失真模型也随之发生变化。
(2)现有的率失真模型未考虑基本层和增强层间的相互影响。SVC编码标准采用多层编码框架,这使主要应用于单层编码框架的传统码率控制技术不能有效地对SVC编码器进行码率控制。例如,由于SVC所采用的新的层间预测技术,在编码增强层时,不能简单地将传统的码率控制技术直接应用于增强层,还应该同时考虑基本层和增强层间的相互影响;SVC标准继承了H.265/SVC标准的灵活的块编码方式,这使精确地控制SVC编码器输出码率的难度进一步增加。与传统的单层编码标准不同,SVC标准的编码效率同时受到基本层和增强层编码效率的影响。基本层和增强层的编码效率也是互相影响的。因此,需要为SVC标准重新建立基本层和增强层联合的率失真模型。
(3)现有MAD预测的误差率高。现有的码率控制算法中,MAD预测在二项式率失真模型中起到重要的作用,因为MAD预测会影响到量化参数(QP)的选择。目前,MAD预测采用的是线性预测模型,该模型利用MAD值在时域上的相关性。当视频中出现剧烈的运动或者场景变换时,线性MAD预测模型性能较差,而且总是存在预测上的延迟,导致MAD预测模型的预测误差率高。
发明内容
本发明是为了解决现***率控制技术中率失真关系模型不能准确描述SVC标准的率失真关系、未考虑基本层和增强层间的相互影响以及现有MAD预测模型的预测误差率高的问题,而提出了一种用于可伸缩视频编码的宏块级码率控制方法。
上述发明的目的是通过以下技术方案实现的:
步骤一、初始化;若当前编码单元为第1帧中的第1个编码单元时,从编码配置文件中读取量化参数的初始值InitialQP,并将InitialQP分别赋值给层间预测的量化参数QPinterly的初始值和层内预测的量化参数QPintraly的初始值;
步骤二、对视频序列以宏块为编码单元进行可伸缩编码,在编码过程中使用步骤一中设置的量化参数或步骤九中设置的量化参数,编码完成后存储编码结果;
步骤三、根据步骤二中得到的编码结果,对宏块的MAD预测模型的系数进行更新;
步骤四、将步骤三中更新后的模型系数带入宏块的MAD预测模型,利用新的宏块的MAD预测模型对下一宏块的MAD值进行预测,得到宏块的MAD预测值MADel
步骤五、根据在步骤二中获得的编码结果,对率失真模型系数进行更新,得到更新后的率失真模型系数
步骤六、计算目标编码比特数Rtxt
根据标准测试软件JSVM中默认的编码比特数分配方法,计算下一宏块的目标编码比特数Rtxt
步骤七、利用步骤四中得到的宏块的MAD预测值MADel、步骤五中得到更新后的率失真模型系数和步骤六中得到的目标编码比特数Rtxt,计算用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly
步骤八、对步骤七中得到的用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly进行微调;
步骤九、设置在可伸缩编码过程中,进行预测编码时所使用的量化参数;
将在步骤八中计算得到的QPinterly的值赋值给进行层间预测编码时的量化参数;
将在步骤八中计算得到的QPintraly的值赋值给进行层内预测编码时的量化参数;
步骤十、检查对当前帧的编码是否结束;
若当前帧中的所有宏块都已编码完成,则对下一帧进行编码;
若当前帧中的还有宏块未被编码,返回步骤二。
发明效果
采用本发明的一种用于可伸缩视频编码的宏块级码率控制方法,
(1)本发明对像素域预测残差概率分布进行了分析,进而对宏块MAD值的概率分布进行了探讨,为层间预测和层内预测分别建立了单独并且足够精确的率失真关系模型,该模型考虑到了基本层和增强层间编码时的相互影响,是基本层和增强层联合的率失真模型。本发明还提出了一种改进的平均绝对差值预测模型,该模型能够使用基本层的一些编码结果协助增强层的编码。提出的率失真模型能准确描述SVC标准的率失真关系;解决了现***率控制技术中率失真关系模型不能准确描述SVC标准的率失真关系的问题。
(2)本发明中提出的新的率失真关系模型考虑到了基本层和增强层间编码时的相互影响,提出的率失真关系模型是基本层和增强层联合的率失真模型。实验结果说明,采用本发明的一种用于可伸缩视频编码的宏块级码率控制方法的码率控制精度在大多数情况下都要优于JVT-W043码率控制算法和FixedQP码率控制工具。大多数的失配率都小于0.1%,而最大的失配率只有0.47%。总体平均绝对失配率只有0.14%。可以说,提出的码率控制算法能够非常精确地控制编码器的输出码率。与JVT-W043码率控制算法相比,编码增强层时,我们提出的码率控制算法能够获得更好的率失真性能。实验结果说明,与JVT-W043码率控制算法相比(1)在相同的重建图像客观质量(PSNR)下,提出的算法能够减少编码码率可以高达5.13%;(2)在相同的编码码率下,提出的算法可以使峰值信噪比提高达0.28dB。总体来说,每个重建视频序列的PSNR在所有的目标比特率上都获得提高。因此,相对于JVT-W043码率控制算法,无论目标码率设置为多少,本发明中提出的算法都可以有效提高编码器的编码效率。解决了现有的率失真模型未考虑基本层和增强层间的相互影响的问题。
(3)本发明利用基本层和增强层之间的高度相关性,提出了新的MAD预测模型,
该模型同时利用MAD在时域上的相关性
和MAD在层间的相关性
利用已编码宏块的编码结果预测下一宏块的MAD值。因此,当视频中出现剧烈的运动或者场景变换时,MAD预测模型的预测结果不会发生时间上的延迟,降低了MAD预测模型的预测误差率,使MAD预测模型的预测误差率降低了15%-79%。
附图说明
图1为本发明流程图;
图2为具体实施方式4中的增强层的宏块与其对应的基本层的亚宏块之间的位置关系图;
图3(a)为实施例1中的中等复杂运动的视频序列的像素域预测残差的统计直方图和拉普拉斯分布拟合曲线图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,量化参数QP为44,□为层间预测残差的统计直方图,○为层内预测残差的统计直方图,____为在λ=0.075,u=-1.53时的拉普拉斯拟合曲线,______为在λ=0.091,u=-2.35时的拉普拉斯拟合曲线,图中的□和○是实测数据;
图3(b)为实施例1中的不规则运动的视频序列的像素域预测残差的统计直方图和拉普拉斯分布拟合曲线图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,量化参数QP为44,□为层间预测残差的统计直方图,○为层内预测残差的统计直方图,____为在λ=0.088,u=-0.34时的拉普拉斯拟合曲线,______为在λ=0.122,u=-0.82时的拉普拉斯拟合曲线,图中的□和○是实测数据;
图3(c)为实施例1中的场景变换的视频序列的像素域预测残差的统计直方图和拉普拉斯分布拟合曲线图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,量化参数QP为44,□为层间预测残差的统计直方图,○为层内预测残差的统计直方图,____为在λ=0.113,u=-0.12时的拉普拉斯拟合曲线,______为在λ=0.148,u=-0.48时的拉普拉斯拟合曲线,图中的□和○是实测数据;
图3(d)为实施例1中的复杂图像细节和规则运动的视频序列的像素域预测残差的统计直方图和拉普拉斯分布拟合曲线图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,量化参数QP为44,□为层间预测残差的统计直方图,○为层内预测残差的统计直方图,____为在λ=0.067,u=-2.80时的拉普拉斯拟合曲线,______为在λ=0.071,u=-2.74时的拉普拉斯拟合曲线,图中的□和○是实测数据;
图4(a)为实施例2中的中等复杂运动的视频序列的宏块的MAD值和伽马分布拟合曲线图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,量化参数QP为44,为层间预测宏块的平均绝对误差MAD分布直方图,为层内预测宏块的平均绝对误差MAD分布直方图,____和______为相应的伽马拟合曲线,图中的是实测数据。
图4(b)为实施例2中的不规则运动的视频序列的宏块的MAD值和伽马分布拟合曲线图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,量化参数QP为44,为层间预测宏块的平均绝对误差MAD分布直方图,为层内预测宏块的平均绝对误差MAD分布直方图,____和______为相应的伽马拟合曲线,图中的是实测数据。
图4(c)为实施例2中的场景变换的视频序列的宏块的MAD值和伽马分布拟合曲线图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,量化参数QP为44,为层间预测宏块的平均绝对误差MAD分布直方图,为层内预测宏块的平均绝对误差MAD分布直方图,____和______为相应的伽马拟合曲线,图中的是实测数据。
图4(d)为实施例2中的复杂图像细节和规则运动的视频序列的宏块的MAD值和伽马分布拟合曲线图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,量化参数QP为44,为层间预测宏块的平均绝对误差MAD分布直方图,为层内预测宏块的平均绝对误差MAD分布直方图,____和______为相应的伽马拟合曲线,图中的是实测数据。
图5(a)为实施例2中的中等复杂运动的视频序列的层间预测宏块和层内预测宏块所需要的平均比特数与量化步长Qstep之间的关系图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,______为在a=13174.7,b=934.8,c=-10.3的二项式拟合曲线;____为在a=8686.8,b=1101.1,c=-3.9的二项式拟合曲线;图中的□和○是实测数据;
图5(b)为实施例2中的不规则运动的视频序列的层间预测宏块和层内预测宏块所需要的平均比特数与量化步长Qstep之间的关系图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,______为在a=2087.4,b=1280.4,c=-10.0的二项式拟合曲线;____为在a=6579.1,b=1207.4,c=-0.6的二项式拟合曲线;图中的□和○是实测数据;
图5(c)为实施例2中的场景变换的视频序列的层间预测宏块和层内预测宏块所需要的平均比特数与量化步长Qstep之间的关系图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,______为在a=5062.4,b=-1.6,c=-0.0的二项式拟合曲线;____为在a=3820.8,b=209.3,c=0.5的二项式拟合曲线;图中的□和○是实测数据;
图5(d)为实施例2中的复杂图像细节和规则运动的视频序列的宏块所需要的平均比特数与量化步长Qstep之间的关系图,图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,______为在a=42387.5,b=488.3,c=-9.6的二项式拟合曲线;____为在a=3236.7,b=2695.2,c=-17.5的二项式拟合曲线;图中的□和○是实测数据;
图6(a)为实施例3中的中等复杂运动的视频序列的增强层的实际MAD值和MAD预测值的关系图;图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,目标比特率为96/384kbits/s,______为增强层实际MAD值,____为增强层MAD预测值;
图6(b)为实施例3中的不规则运动的视频序列的增强层的实际MAD值和MAD预测值的关系图;图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,目标比特率为192/768kbits/s,______为增强层实际MAD值,____为增强层MAD预测值;
图6(c)为实施例3中的场景变换的视频序列的增强层的实际MAD值和MAD预测值的关系图;图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,目标比特率为48/192kbits/s,______为增强层实际MAD值,____为增强层MAD预测值;
图6(d)为实施例3中的复杂图像细节和规则运动的视频序列的增强层的实际MAD值和MAD预测值的关系图;图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,目标比特率为64/256kbits/s,______为增强层实际MAD值,____为增强层MAD预测值;
图7(a)为实施例3中的中等复杂运动的视频序列的基本层的实际MAD值和增强层的实际MAD值的关系图;图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,目标比特率为96/384kbits/s,______为基本层实际MAD值,____为增强层MAD预测值;
图7(b)为实施例3中的不规则运动的视频序列的基本层的实际MAD值和增强层的实际MAD值的关系图;图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,目标比特率为192/768kbits/s,______为基本层实际MAD值,____为增强层MAD预测值;
图7(c)为实施例3中的场景变换的视频序列的基本层的实际MAD值和增强层的实际MAD值的关系图;图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,目标比特率为48/192kbits/s,______为基本层实际MAD值,____为增强层MAD预测值;
图7(d)为实施例3中的复杂图像细节和规则运动的视频序列的基本层的实际MAD值和增强层的实际MAD值的关系图;图中,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,帧率为30Hz,目标比特率为64/256kbits/s,______为基本层实际MAD值,____为增强层MAD预测值;
具体实施方式
具体实施方式一:结合图1说明本实施方式,一种用于可伸缩视频编码的宏块级码率控制方法具体是按照以下步骤进行的:
步骤一、初始化;若当前编码单元为第1帧中的第1个编码单元时,从编码配置文件中读取量化参数的初始值InitialQP,并将InitialQP分别赋值给层间预测的量化参数QPinterly的初始值和层内预测的量化参数QPintraly的初始值;
步骤二、对视频序列以宏块为编码单元进行可伸缩编码,在编码过程中使用步骤一中设置的量化参数或步骤九中设置的量化参数,编码完成后存储编码结果;
步骤三、根据步骤二中得到的编码结果,对宏块的MAD预测模型的系数进行更新;
步骤四、将步骤三中更新后的模型系数带入宏块的MAD预测模型,利用新的宏块的MAD预测模型对下一宏块的MAD值进行预测,得到宏块的MAD预测值MADel
步骤五、根据在步骤二中获得的编码结果,对率失真模型系数进行更新,得到更新后的率失真模型系数
步骤六、计算目标编码比特数Rtxt
根据标准测试软件JSVM中默认的编码比特数分配方法,计算下一宏块的目标编码比特数Rtxt
步骤七、利用步骤四中得到的宏块的MAD预测值MADel、步骤五中得到更新后的率失真模型系数和步骤六中得到的目标编码比特数Rtxt计算用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly
步骤八、对步骤七中得到的用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly进行微调;
步骤九、设置在可伸缩编码过程中,进行预测编码时所使用的量化参数;
将在步骤八中计算得到的QPinterly的值赋值给进行层间预测编码时的量化参数;
将在步骤八中计算得到的QPintraly的值赋值给进行层内预测编码时的量化参数;
步骤十、检查对当前帧的编码是否结束;
若当前帧中的所有宏块都已编码完成,则对下一帧进行编码;
若当前帧中的还有宏块未被编码,返回步骤二。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤二中对视频序列以宏块为编码单元进行可伸缩编码,在编码过程中使用步骤一中设置的量化参数或步骤九中设置的量化参数,编码完成后存储编码结果;具体过程为:
利用可伸缩频编码标准的参考软件JSVM对视频序列以宏块为编码单元进行编码,在编码的过程中执行基于Lagrangian(拉格朗日函数)优化算法的率失真优化(Rate-Distortion Optimization,RDO),若当前宏块为增强层中第1帧中的第1个宏块时;使用步骤一中设置的量化参数;若当前宏块并非增强层中第1帧中的第1个宏块时;使用步骤九中设置的量化参数;
Lagrangian代价函数可表示为:
式中,
ωk为第k个宏块,为ωk对应的重建宏块,R为产生的比特数,SAD为失真度;QP为量化参数;J为率失真代价;λMODE为Lagrangian乘子;
在所有的编码模式中选择率失真代价J最小的编码模式作为最优编码模式。完成对每一宏块的编码后,存储关于该宏块的编码结果:最优编码模式;实际产生的比特数Rtxt,act;实际的MAD值MADel,act
若所述最优编码模式是层间预测模式时,实际使用的层间量化参数值
若所述最优编码模式是层内预测模式时,实际使用的层内量化参数值
所述Lagrangian为拉格朗日函数。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤三中根据步骤二中得到的编码结果,对宏块的MAD预测模型的系数即式(1)中的模型系数,进行更新;具体过程为:
将步骤二中存储的增强层的第i个宏块的实际MADel,act赋值给式(1)中的
式中,
为计算宏块MAD层间预测值的预测模型的第一个系数;
为计算宏块MAD层间预测值的预测模型的第二个系数;
为增强层的第i个宏块的MAD层间预测值;
为增强层的第i个宏块在基本层所对应的宏块的实际MAD值;
得到后,利用线性递归方法对式(1)中的模型系数进行更新,如式(2)所示;
式中,
为更新后的计算宏块MAD层间预测值的预测模型第一个系数;
为更新后的计算宏块MAD层间预测值的预测模型第二个系数;
n为线性递归方法的窗口尺寸;
根据步骤二中得到的编码结果,对宏块MAD时域预测值的预测模型的系数进行更新,即式(3)中的模型系数;具体过程为:
将步骤二中存储的增强层的第i个宏块的实际MADel,act赋值给式(3)中的
式中,
为计算宏块MAD时域预测值的预测模型的第一个系数;
为计算宏块MAD时域预测值的预测模型的第二个系数;
为增强层的第i个宏块的MAD时域预测值;
若增强层的第i个宏块属于视频序列的第1帧,则的取值为0;
若增强层的第i个宏块不属于视频序列的第1帧,则的取值为增强层的第i个宏块在前一时域帧对应位置的宏块的MAD值;得到后,利用线性递归方法对式(3)中的模型系数进行更新,如式(4)所示;
式中,
为更新后的计算宏块MAD时域预测值的预测模型第一个系数;
为更新后的计算宏块MAD时域预测值的预测模型第二个系数;
n为线性递归方法的窗口尺寸。
4.根据权利要求3所述一种用于可伸缩视频编码的宏块级码率控制方法,其特征在于,所述步骤四中将步骤三中更新后的模型系数带入宏块的MAD预测模型,利用新的宏块的MAD预测模型对下一宏块的MAD值进行预测,得到宏块的MAD预测值MADel;具体过程为:
式中,
下标el表示增强层;
为增强层的第i个宏块的MAD预测值;
为增强层的第i个宏块的MAD时域预测值;
为增强层的第i个宏块的MAD层间预测值;
为权重因子;
其中,所述由式(6)计算得出:
式中,
下标bl表示基本层;
为增强层的第i个宏块在基本层所对应的宏块的实际MAD值;
为增强层的第i个宏块在基本层所对应的宏块的MAD预测值;
其中,增强层的第i个宏块的MAD时域预测值是通过式(3)中的线性预测模型计算得出:
式中,
为计算宏块MAD时域预测值的预测模型的第一个系数;
为计算宏块MAD时域预测值的预测模型的第二个系数;
若增强层的第i个宏块属于视频序列的第1帧,取值为1.0,取值为0.0,的取值为0;
若增强层的第i个宏块不属于视频序列的第1帧,的值是在编码完每一宏块后在步骤三中更新获得的;为增强层的第i个宏块在前一时域帧对应位置的宏块的MAD值;
其中,增强层的第i个宏块的MAD层间预测值是通过式(1)中的线性预测模型计算得出:
式中,
为计算宏块MAD层间预测值的预测模型的第一个系数;
为计算宏块MAD层间预测值的预测模型的第二个系数;
的值在编码完每一宏块后在步骤三中更新;
为增强层的第i个宏块的MAD层间预测值;
为增强层的第i个宏块在基本层所对应的宏块的实际MAD值;
其中,当增强层的视频分辨率是基本层的视频分辨率的2倍时,增强层的宏块在基本层对应宏块的位置由式(7)确定:
式中,
hel为增强层宏块在水平方向的坐标;
vel为增强层宏块在垂直方向的坐标;
hbl为增强层宏块在基本层对应宏块在水平方向的坐标;
vbl为增强层宏块在基本层对应宏块在垂直方向的坐标;
符号代表向下取值运算;
通过式(7),建立一个基本层宏块与四个增强层宏块之间的对应关系;
每个基本层的宏块尺寸为16×16,将其分割成4个8×8大小的亚宏块,每个亚宏块进行0、1、2、3的编号;
通过式(8),建立了每个增强层宏块和基本层亚宏块的一一对应关系;
增强层的宏块在基本层对应的亚宏块编号通过式(8)计算,
Subidx=vel%2×2+hel%2×2 (8)
其中,Subidx为增强层宏块对应的基本层亚宏块的编号,Subidx取值为范围为0≤Subidx≤3;
hel为增强层宏块在水平方向的坐标;
vel为增强层宏块在垂直方向的坐标。其它步骤及参数与具体实施方式一、二或三相同。
具体实施方式五:本实施方式与具体实施方式一、二、三或四不同的是:所述步骤五中根据在步骤二中获得的编码结果,对率失真模型系数进行更新,得到更新后的率失真模型系数具体过程为:
1)若步骤二中存储的最优编码模式是层间预测模式,则将步骤二中存储的实际使用的层间量化参数值利用式(9)转换为层间量化步长值并将赋值给式(10)中的
量化参数值和量化步长值的关系由式(9)确定:
式中,
为实际使用的层间量化参数值;
为与相对应的层间量化步长值;
ζ(0)=0.625;ζ(1)=0.6875;ζ(2)=0.8125;ζ(3)=0.875;ζ(4)=1.0;ζ(5)=1.125;
将步骤二中存储的实际产生的比特数Rtxt,act赋值给式(10)中的Rtxt;将步骤二中存储的增强层的第i个宏块的实际MAD值MADel,act赋值给式(10)中的MADel
得到Rtxt和MADel后,利用线性递归方法对式(10)中的层间预测率失真模型系数进行更新;
式中,
为实际使用的层间预测的量化步长值;
MADel为增强层的第i个宏块的实际MAD值;
为层间预测率失真模型的第一个系数;
为层间预测率失真模型的第二个系数;
2)若步骤二中存储的最优编码模式是层内预测模式,则将步骤二中存储的实际使用的层内量化参数值利用式(11)转换为层内量化步长值并将赋值给式(12)中的
量化参数值和量化步长值的关系由式(11)确定:
式中,
为实际使用的层内量化参数值;
为与相对应的层间量化步长值;
ζ(0)=0.625;ζ(1)=0.6875;ζ(2)=0.8125;ζ(3)=0.875;ζ(4)=1.0;ζ(5)=1.125;
将步骤二中存储的实际产生的比特数Rtxt,act赋值给式(12)中的Rtxt;将步骤二中存储的增强层的第i个宏块的实际MAD值MADel,act赋值给式(12)中的MADel
得到Rtxt和MADel后,利用线性递归方法对式(12)中的层内预测率失真模型系数进行更新;
式中,
为实际使用的层内预测的量化步长值;
MADel为增强层的第i个宏块的实际MAD值;
为层内预测率失真模型的第一个系数;
为层内预测率失真模型的第二个系数。
其它步骤及参数与具体实施方式一、二、三或四相同。
具体实施方式六:本实施方式与具体实施方式一、二、三、四或五不同的是:所述步骤七中利用步骤四中得到的宏块的MAD预测值MADel、步骤五中得到更新后的率失真模型系数和步骤六中得到的目标编码比特数Rtxt计算用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly;具体过程为:
式中,Rtxt为目标编码比特数;
是由之前的编码结果预测得到的MAD值;
为用于层间预测的量化步长;
为用于层内预测的量化步长;
为层间预测率失真模型的第一个系数;
为层间预测率失真模型的第二个系数;
为层内预测率失真模型的第一个系数;
为层内预测率失真模型的第二个系数;
若当前编码单元为第1帧中的第1个编码单元时,率失真模型系数取值为1.0、取值为0.0、取值为1.0,取值为0.0;
若当前编码单元非第1帧中的第1个编码单元时,的值在编码完每一宏块后在步骤五中更新;
将得到的用于层间预测的量化步长值转换为用于层间预测的量化参数值QPinterly;由式(14)确定:
式中,ζ(0)=0.625;ζ(1)=0.6875;ζ(2)=0.8125;ζ(3)=0.875;ζ(4)=1.0;ζ(5)=1.125;
将得到的用于层内预测的量化步长值转换为用于层内预测的量化参数值由式(15)确定:
式中,
ζ(0)=0.625;ζ(1)=0.6875;ζ(2)=0.8125;ζ(3)=0.875;ζ(4)=1.0;ζ(5)=1.125。
其它步骤及参数与具体实施方式一、二、三、四或五相同。
具体实施方式七:本实施方式与具体实施方式一、二、三、四、五或六不同的是:所述步骤八中对步骤七中得到的用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly进行微调;具体过程为:
用于层间预测的量化参数值QPinterly和用于层内预测的量化参数值QPintraly通过式(16)和式(17)获得:
QPinterly=min{max{QPinterly,QPw043-2,1},QPw043+2,51} (16)
QPintraly=min{max{QPintraly,QPw043-2,1},QPw043+2,51} (17)
若QPinterly-QPintraly>2,则对QPinterly和QPintraly进行进一步调整,调整过程为:
QPw043为通过JVT-W043码率控制算法得到一个参考量化参数值。
当前宏块的最优编码模式是通过执行基于Lagrangian代价的率失真优化RDO进行选择的;RDO为Rate-Distortion Optimization;
一个宏块ωk的率失真代价函数如式(19)所示;
式中,ωk为第k个宏块,为ωk对应的重建宏块,R为产生的比特数,SAD为失真度;QP为量化参数;J为率失真代价;λMODE为Lagrangian乘子,
其中,λMODE(QP)=0.85·2(QP-12)/3 (20);
与获得的用于层间预测的量化参数QPinterly和层内预测的量化参数QPintraly相对应,执行RDO时,用于层间预测的Lagrangian乘子和层内预测的Lagrangian乘子也要进行调整;
用于层间预测的Lagrangian乘子根据式(21)进行调整;
式中,为层间预测中的层间帧内预测所使用的Lagrangian乘子;层间帧内预测为Inter-layer intra prediction;Lagrangian为拉格朗日函数;为层间预测中的层间运动预测和层间帧内预测所使用的Lagrangian乘子;
其中,层间运动预测为Inter-layer motion prediction,层间纹理预测为Inter-layer texture prediction;
用于层内预测的Lagrangian乘子根据式(22)进行调整;
式中,为层内预测中的帧内预测所使用的Lagrangian乘子;帧内预测为Intra frame prediction;为层内预测中的帧间预测所使用的Lagrangian乘子;帧间预测为Inter frame prediction。
其它步骤及参数与具体实施方式一、二、三、四、五或六相同。
实施例1:
为了建立基本层和增强层联合的率失真模型,我们首先对预测残差在像素域的概率分布进行了分析。分析的过程中,我们利用标准测试软件JSVM,对由JVT推荐的4个具有不同运动剧烈程度和图像细节的标准视频测试序列进行了可伸缩编码。为了保证测试数据的可靠性,每个视频序列所处理的帧数均为150帧。测试中,采用了一个基本层和一个增强层。基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF。空间增强层采用自适应的层间预测。采用CABAC熵编码算法。采用快速运动估计算法,运动估计的搜索范围是±32,精度是1/4像素。量化参数Qp值设置为44。其余的编码参数都设置为参考软件的默认值。在运动估计和运动补偿之后,我们采集每个视频序列的前150帧中,层间预测宏块和层内预测宏块在像素域的预测残差并统计其分布。如图3(a)、3(b)、3(c)和3(d)所示,层间预测宏块和层内预测宏块的预测残差在像素域的概率分布都可以用0均值的拉普拉斯曲线拟合。如图3(a)、3(b)、3(c)和3(d)所示,无论是层间预测宏块还是层内预测宏块的预测残差幅度都集中在0值附近。可以观察到,包含快速运动物体的视频序列(‘Football’,‘Bus’)和场景变换的视频序列(‘Foreman’),层内预测宏块的预测残差相比于层间预测宏块的预测残差的幅度更多地集中在0值附近。这是因为对于这样的视频序列,层间预测往往被选为最佳预测模式,而层间预测会产生相对较高的预测残差幅度。对于运动缓慢并具有复杂细节的视频序列(‘Mobile’),层间预测宏块和层内预测宏块的预测残差的拉普拉斯拟合曲线几乎是重叠在一起的。
实施例2:
为了建立基本层和增强层联合的率失真模型,我们进而对宏块MAD值的概率分布进行了分析,因为在宏块级的码率控制算法中,宏块的MAD值对编码该宏块时所使用的QP值的选择有直接的影响。通常,给定一个宏块编码所使用的比特数,纹理复杂的宏块会产生较大的MAD值,而纹理简单的宏块会产生较小的MAD值。分析的过程中,我们利用标准测试软件JSVM,对由JVT推荐的4个具有不同运动剧烈程度和图像细节的标准视频测试序列进行了可伸缩编码。为了保证测试数据的可靠性,每个视频序列所处理的帧数均为150帧。测试中,采用了一个基本层和一个增强层。基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF。空间增强层采用自适应的层间预测。采用CABAC熵编码算法。采用快速运动估计算法,运动估计的搜索范围是±32,精度是1/4像素。量化参数QP值设置为44。其余的编码参数都设置为参考软件的默认值。采集每个视频序列的前150帧中,层间预测宏块和层内预测宏块的MAD值的统计数据,并对其进行了分析。层间预测宏块和层内预测宏块的MAD值的统计数据如图4(a)、4(b)、4(c)和4(d)所示。从图4(a)、4(b)、4(c)和4(d)可以看出,层间预测宏块和层内预测宏块的MAD值具有不同的统计分布。通常,层间预测宏块的MAD值大于层内预测宏块的MAD值。在运动补偿之后,得到的残差信号进行DCT变换和熵编码。编码具有较大MAD值的宏块往往需要更多的比特数。因此,如果使用相同的QP值,编码层间预测宏块通常需要比编码层内预测宏块更多的比特数。
表1层间预测宏块和层内预测宏块编码所需要的平均编码比特数与QP值之间的关系
表1列出了使用不同的QP值时,编码增强层中的层间预测宏块和层内预测宏块时,所需要的平均比特数。从表1可见,对于较大的QP值,编码层间预测宏块所需要的比特数要明显的多于编码层内预测宏块所需要的比特数。但是,对于运动缓慢并具有复杂细节的视频序列(‘Mobile’),当QP值较小并且基本层视频具有较高的图像质量时,编码层间预测宏块时,则需要较少的比特数。总体来说,对于不同的视频序列和不同的QP值,编码层间预测宏块所需要的比特数是编码层内预测宏块所需要的比特数的0.88到8.21倍。
对不同的1/Qstep值,增强层中的层间预测宏块和层内预测宏块编码所需要的平均比特数,如图5(a)、5(b)、5(c)和5(d)所示。其中,量化参数值和量化步长值的关系由式(23)确定:
图5(a)、5(b)、5(c)和5(d)还画出了这些数据的二项式拟合曲线;
其中,c≈0;式(24)中的模型系数a,b和c是通过寻找最小的拟合误差而获得的;
得到如下结论:虽然二项式曲线能够分别很好地拟合层间预测宏块所需要的平均比特数与量化步长Qstep之间的关系,和层内预测宏块所需要的平均比特数与量化步长Qstep之间的关系,但是两条二项式拟合曲线的系数是明显不同的。
实施例3:
因为MAD预测会影响到量化参数(QP)的选择,MAD预测在二项式率失真模型中起到重要的作用。目前,MAD预测采用的是线性预测模型,该模型利用MAD值在时域上的相关性。为了观察MAD线性预测模型中存在的缺陷,我们对增强层的实际MAD值和MAD预测值之间的关系进行了分析。分析的过程中,我们利用标准测试软件JSVM,对由JVT推荐的4个具有不同运动剧烈程度和图像细节的标准视频测试序列进行了可伸缩编码。为了保证测试数据的可靠性,每个视频序列所处理的帧数均为150帧。测试中,采用了一个基本层和一个增强层。基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF。空间增强层采用自适应的层间预测。采用CABAC熵编码算法。采用快速运动估计算法,运动估计的搜索范围是±32,精度是1/4像素。每个视频序列的编码比特率都采用由JVT在JVT-Q205提案中推荐的数值。其余的编码参数都设置为参考软件的默认值。我们采集了每个视频序列的前50帧中,增强层宏块的实际MAD值和其MAD预测值。如图6(a)、6(b)、6(c)和6(d)所示,当视频当中出现剧烈的运动或者场景变换时,线性MAD预测模型性能较差,而且总是存在预测上的延迟。这种现象在Football序列中的第9,34和44帧中表现的尤为明显。这些不准确的MAD值随后会用于二项式率失真模型的系数更新,并且会对率失真模型的系数引入误差。这些误差会扩散到以后的预测中,并对码率控制算法的性能产生负面影响。为了克服现有的MAD预测模型存在的缺陷,我们对基本层的实际MAD值和增强层的实际MAD值之间的关系进行了分析。分析的过程中,我们利用标准测试软件JSVM,对由JVT推荐的4个具有不同运动剧烈程度和图像细节的标准视频测试序列进行了可伸缩编码。为了保证测试数据的可靠性,每个视频序列所处理的帧数均为150帧。测试中,采用了一个基本层和一个增强层。基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF。空间增强层采用自适应的层间预测。采用CABAC熵编码算法。采用快速运动估计算法,运动估计的搜索范围是±32,精度是1/4像素。每个视频序列的编码比特率都采用由JVT在JVT-Q205提案中推荐的数值。其余的编码参数都设置为参考软件的默认值。我们采集了每个视频序列的前50帧中,基本层宏块的实际MAD值和其在增强层对应宏块的实际MAD值。如图7(a)、7(b)、7(c)和7(d)所示,即使基本层和增强层的MAD不是完全一致的,二者在出现突然的变化时,会具有相似的变化趋势。这驱使我们提出如下的设想:基本层的一些编码结果可以用来协助增强层的编码,由此可以从SVC自下而上的多层编码结构中受益。
实施例4:
将提出的一种用于可伸缩视频编码的宏块级码率控制方法整合进了JVT提供的标准参考软件JSVM 9.19.14中。为了验证本发明的有效性,测试中首先使用了由JVT推荐的4个具有不同运动剧烈程度和图像细节的标准视频测试序列,实验的结果与JVT-W043码率控制算法和JSVM FixedQP码率控制工具的编码结果进行比较。FixedQP码率控制工具利用对数搜索算法确定合适的QP值。我们将FixedQP码率控制工具的初始QP值设置为32,比特率失配率设置为2%。为了保证测试数据的可靠性,每个视频序列所处理的帧数均为150帧。测试中,采用了一个基本层和一个增强层,发明中提出的算法应用于增强层。增强层中使用了自适应的层间预测算法。采用CABAC熵编码算法。采用快速运动估计算法,运动估计的搜索范围是±32,精度是1/4像素。由于我们的发明着眼于优化率失真模型和MAD预测模型,这只涉及到P帧,因此GOP结构设置为IPPP。实验中,编码宏块被选作码率控制的基本单元。初始量化参数Qp值设置为32。其余的参数都设置为参考软件的默认值。下列的指标用来评价一种用于可伸缩视频编码的宏块级码率控制方法与JVT-W043码率控制算法和JSVM FixedQP码率控制工具的编码性能。
(1)MAD预测误差
其中,N是编码的总帧数,H和W是一帧中水平方向和垂直方向上宏块的数量,分别是MAD的预测值和实际值。
(2)比特率失配率(%Mism.);目标比特率和实际比特率之间的误差,由下式定义
Mism.=|BRtgt-BRact|/BRtgt×100% (26);
其中,BRtgt和BRact分别是目标比特率和实际比特率。
(3)率失真性能(ΔBR(kbits/s),ΔPSNR(dB),BDBR(kbits/s),和BDPSNR(dB))MAD预测精度提出的MAD预测模型和JVT-W043中的线性预测模型的预测精度如表2所示。对每一个测试序列,我们都设定了4个目标码率。实验中使用的都是由JVT在JVT-Q205文件中推荐的测试序列和目标比特率。
表2MAD预测精度的比较
从表2中可见,与JVT-W043中的线性预测模型相比,所提出的MAD预测模型能够明显提高MAD预测的精度。实验结果说明提出的MAD预测模型能够减少15%-79%的MAD预测误差。相对于JVT-W043中的线性预测模型,MAD预测误差的减少量是和视频序列的内容相关的。提出的模型在编码包含不规则运动和场景变换的视频序列‘Football’上表现得最好。对于这种序列MAD预测误差的减少量可以达到79%。对于包含中等复杂运动和图像细节的视频序列(‘Bus’和‘Foreman’),MAD预测误差的减少量在37%以上。而对于包含复杂图像细节和规则运动的视频序列‘Mobile’,所提出的模型仍然能够减少MAD预测误差达到15%以上。由于提出的模型能够有效减少MAD的预测误差,这样不仅可以提高码率控制的精度,同时能够提高重建视频的质量。对所有类型的视频序列,所提出的MAD预测模型能够明显提高MAD预测的精度。尤其是对包含不规则运动和场景变换的视频序列,提出的模型表现得最好。码率控制精度和率失真RD性能,表3列出了三种码率控制算法对于四种目标比特率的码率控制精度和率失真RD性能。表3中,“Iter”是FixedQP码率控制工具的迭代次数。实验中使用的都是由JVT在JVT-Q205文件中推荐的测试序列和目标比特率。
表3所提出的算法与JVT-W043码率控制算法和JSVM FixedQP码率控制工具的率失真性能比较
从表3中可见,所提出的一种用于可伸缩视频编码的宏块级码率控制方法,JVT-W043码率控制算法和FixedQP码率控制工具在不同的比特率可以获得不错的编码结果。虽然三种算法都可以获得接近目标比特率的码率,但是我们提出的一种用于可伸缩视频编码的宏块级码率控制方法的码率控制精度在大多数情况下都要优于JVT-W043码率控制算法和FixedQP码率控制工具。这是因为在快速运动发生的时候,我们提出的算法会引起更小的预测误差。大多数的失配率都小于0.1%,而最大的失配率只有0.47%。总体平均绝对失配率只有0.14%。可以说,我们提出的码率控制算法能够非常精确的控制编码器的输出码率。与JVT-W043码率控制算法相比,编码增强层时,我们提出的一种用于可伸缩视频编码的宏块级码率控制方法能够获得更好的率失真性能。本发明所提出的算法与JVT-W043码率控制算法的率失真性能表现如表3所示。实验结果说明,与JVT-W043码率控制算法相比(1)即在相同的重建图像客观质量(PSNR)下,提出的算法能够减少编码码率可以高达5.13%;(2)。即在相同的编码码率下,提出的算法可以使峰值信噪比提高达0.28dB。总体来说,每个重建视频序列的PSNR在所有的目标比特率上都获得提高。因此,相对于JVT-W043码率控制算法,无论目标码率设置为多少,本发明中提出的算法可以有效提高编码器的编码效率。本发明为空间增强层提出了一种宏块级的码率控制算法。该算法编码增强层时,为层间预测引入了一个单独的码率-量化参数模型。本发明还提出了一种优化的MAD预测模型,该模型利用基本层以及之前时域帧的编码结果来辅助预测当前编码单元的MAD值。利用上述的两种技术,码率的失配率可以明显降低,同时编码效率得到明显提高。实验证明,相对于JVT-W043码率控制算法,本发明中提出的算法可以获得更高的码率控制精度。平均码率的失配率为0.09%。并且,本发明中提出的算法可以获得更高的编码效率。编码不同类型的视频序列得到的实验结果说明,本发明中提出的算法可以平均增加0.34dB的PSNR或者平均节省7.78%的码率。

Claims (6)

1.一种用于可伸缩视频编码的宏块级码率控制方法,其特征在于,一种用于可伸缩视频编码的宏块级码率控制方法具体是按照以下步骤进行的:
步骤一、初始化;若当前编码单元为第1帧中的第1个编码单元时,从编码配置文件中读取量化参数的初始值InitialQP,并将InitialQP分别赋值给层间预测的量化参数QPinterly的初始值和层内预测的量化参数QPintraly的初始值;
步骤二、对视频序列以宏块为编码单元进行可伸缩编码,在编码过程中使用步骤一中设置的量化参数或步骤九中设置的量化参数,编码完成后存储编码结果;具体过程为:
利用可伸缩视频编码标准的参考软件JSVM对视频序列以宏块为编码单元进行编码,在编码的过程中执行基于Lagrangian优化算法的率失真优化,
若当前宏块为增强层中第1帧中的第1个宏块时;
使用步骤一中设置的量化参数;
若当前宏块并非增强层中第1帧中的第1个宏块时;
使用步骤九中设置的量化参数;
从而选择最优编码模式,完成对每一宏块的编码后,存储关于该宏块的编码结果:编码结果包括最优编码模式;实际产生的比特数Rtxt,act;实际的MAD值MADel,act
若所述最优编码模式是层间预测模式时,实际使用的层间量化参数值
若所述最优编码模式是层内预测模式时,实际使用的层内量化参数值
所述Lagrangian为拉格朗日函数;
步骤三、根据步骤二中得到的编码结果,对宏块的MAD预测模型的系数进行更新;
步骤四、将步骤三中更新后的模型系数带入宏块的MAD预测模型,利用新的宏块的MAD预测模型对下一宏块的MAD值进行预测,得到宏块的MAD预测值MADel
步骤五、根据在步骤二中获得的编码结果,对率失真模型系数进行更新,得到更新后的率失真模型系数
为层间预测率失真模型的第一个系数;
为层间预测率失真模型的第二个系数;
为层内预测率失真模型的第一个系数;
为层内预测率失真模型的第二个系数;
步骤六、计算目标编码比特数Rtxt
根据标准测试软件JSVM中默认的编码比特数分配方法,计算下一宏块的目标编码比特数Rtxt
步骤七、利用步骤四中得到的宏块的MAD预测值MADel、步骤五中得到更新后的率失真模型系数和步骤六中得到的目标编码比特数Rtxt,计算用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly
步骤八、对步骤七中得到的用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly进行微调;
步骤九、设置在可伸缩编码过程中,进行预测编码时所使用的量化参数;
将在步骤八中计算得到的QPinterly的值赋值给进行层间预测编码时的量化参数;
将在步骤八中计算得到的QPintraly的值赋值给进行层内预测编码时的量化参数;
步骤十、检查对当前帧的编码是否结束;
若当前帧中的所有宏块都已编码完成,则对下一帧进行编码;
若当前帧中的还有宏块未被编码,返回步骤二。
2.根据权利要求1所述一种用于可伸缩视频编码的宏块级码率控制方法,其特征在于,所述步骤三中根据步骤二中得到的编码结果,对宏块的MAD预测模型的系数即式(1)中的模型系数,进行更新;具体过程为:
将步骤二中存储的增强层的第i个宏块的实际MADel,act赋值给式(1)中的
<mrow> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>i</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <msubsup> <mi>s</mi> <mn>1</mn> <mi>i</mi> </msubsup> <mo>&amp;times;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>+</mo> <msubsup> <mi>s</mi> <mn>2</mn> <mi>i</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
式中,
为计算宏块MAD层间预测值的预测模型的第一个系数;
为计算宏块MAD层间预测值的预测模型的第二个系数;
为增强层的第i个宏块的MAD层间预测值;
为增强层的第i个宏块在基本层所对应的宏块的实际MAD值;
得到后,利用线性递归方法对式(1)中的模型系数进行更新,如式(2)所示;
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mover> <mi>s</mi> <mo>~</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>&amp;CenterDot;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>i</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>i</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> </mrow> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mrow> <mo>(</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mi>n</mi> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>s</mi> <mo>~</mo> </mover> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>i</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>-</mo> <msub> <mover> <mi>s</mi> <mo>~</mo> </mover> <mn>1</mn> </msub> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
式中,
为更新后的计算宏块MAD层间预测值的预测模型第一个系数;
为更新后的计算宏块MAD层间预测值的预测模型第二个系数;
n为线性递归方法的窗口尺寸;
根据步骤二中得到的编码结果,对宏块MAD时域预测值的预测模型的系数进行更新,即式(3)中的模型系数;具体过程为:
将步骤二中存储的增强层的第i个宏块的实际MADel,act赋值给式(3)中的
<mrow> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>t</mi> <mi>e</mi> <mi>m</mi> <mi>p</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <msubsup> <mi>t</mi> <mn>1</mn> <mi>i</mi> </msubsup> <mo>&amp;times;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>t</mi> <mn>2</mn> <mi>i</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
式中,
为计算宏块MAD时域预测值的预测模型的第一个系数;
为计算宏块MAD时域预测值的预测模型的第二个系数;
为增强层的第i个宏块的MAD时域预测值;
若增强层的第i个宏块属于视频序列的第1帧,则的取值为0;
若增强层的第i个宏块不属于视频序列的第1帧,则的取值为增强层的第i个宏块在前一时域帧对应位置的宏块的MAD值;得到后,利用线性递归方法对式(3)中的模型系数进行更新,如式(4)所示;
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mover> <mi>t</mi> <mo>~</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>&amp;CenterDot;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>t</mi> <mi>e</mi> <mi>m</mi> <mi>p</mi> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>t</mi> <mi>e</mi> <mi>m</mi> <mi>p</mi> </mrow> <mi>i</mi> </msubsup> </mrow> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mrow> <mo>(</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mi>n</mi> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>t</mi> <mo>~</mo> </mover> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>t</mi> <mi>e</mi> <mi>m</mi> <mi>p</mi> </mrow> <mi>i</mi> </msubsup> <mo>-</mo> <msub> <mover> <mi>s</mi> <mo>~</mo> </mover> <mn>1</mn> </msub> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
式中,
为更新后的计算宏块MAD时域预测值的预测模型第一个系数;
为更新后的计算宏块MAD时域预测值的预测模型第二个系数;
n为线性递归方法的窗口尺寸。
3.根据权利要求2所述一种用于可伸缩视频编码的宏块级码率控制方法,其特征在于,所述步骤四中将步骤三中更新后的模型系数带入宏块的MAD预测模型,利用新的宏块的MAD预测模型对下一宏块的MAD值进行预测,得到宏块的MAD预测值MADel;具体过程为:
<mrow> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msubsup> <mi>&amp;omega;</mi> <mrow> <mi>e</mi> <mi>r</mi> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>t</mi> <mi>e</mi> <mi>m</mi> <mi>p</mi> </mrow> <mi>i</mi> </msubsup> <mo>+</mo> <msubsup> <mi>&amp;omega;</mi> <mrow> <mi>e</mi> <mi>r</mi> </mrow> <mi>i</mi> </msubsup> <mo>&amp;CenterDot;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>i</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
式中,
下标el表示增强层;
为增强层的第i个宏块的MAD预测值;
为增强层的第i个宏块的MAD时域预测值;
为增强层的第i个宏块的MAD层间预测值;
为权重因子;
其中,所述由式(6)计算得出:
<mrow> <msubsup> <mi>&amp;omega;</mi> <mrow> <mi>e</mi> <mi>r</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <mfrac> <mrow> <mo>|</mo> <mrow> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> <mo>,</mo> <mi>p</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> </mrow> <mi>i</mi> </msubsup> <mo>-</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> <mo>,</mo> <mi>a</mi> <mi>c</mi> <mi>t</mi> </mrow> <mi>i</mi> </msubsup> </mrow> <mo>|</mo> </mrow> <mrow> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> <mo>,</mo> <mi>a</mi> <mi>c</mi> <mi>t</mi> </mrow> <mi>i</mi> </msubsup> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>
式中,
下标bl表示基本层;
为增强层的第i个宏块在基本层所对应的宏块的实际MAD值;
为增强层的第i个宏块在基本层所对应的宏块的MAD预测值;
其中,增强层的第i个宏块的MAD时域预测值是通过式(3)中的线性预测模型计算得出:
<mrow> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>t</mi> <mi>e</mi> <mi>m</mi> <mi>p</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <msubsup> <mi>t</mi> <mn>1</mn> <mi>i</mi> </msubsup> <mo>&amp;times;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>t</mi> <mn>2</mn> <mi>i</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> 3
式中,
为计算宏块MAD时域预测值的预测模型的第一个系数;
为计算宏块MAD时域预测值的预测模型的第二个系数;
若增强层的第i个宏块属于视频序列的第1帧,取值为1.0,取值为0.0,的取值为0;
若增强层的第i个宏块不属于视频序列的第1帧,的值是在编码完每一宏块后在步骤三中更新获得的;为增强层的第i个宏块在前一时域帧对应位置的宏块的MAD值;
其中,增强层的第i个宏块的MAD层间预测值是通过式(1)中的线性预测模型计算得出:
<mrow> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> <mo>,</mo> <mi>i</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <msubsup> <mi>s</mi> <mn>1</mn> <mi>i</mi> </msubsup> <mo>&amp;times;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>b</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> <mo>+</mo> <msubsup> <mi>s</mi> <mn>2</mn> <mi>i</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
式中,
为计算宏块MAD层间预测值的预测模型的第一个系数;
为计算宏块MAD层间预测值的预测模型的第二个系数;
的值在编码完每一宏块后在步骤三中更新;
为增强层的第i个宏块的MAD层间预测值;
为增强层的第i个宏块在基本层所对应的宏块的实际MAD值;
其中,当增强层的视频分辨率是基本层的视频分辨率的2倍时,增强层的宏块在基本层对应宏块的位置由式(7)确定:
式中,
hel为增强层宏块在水平方向的坐标;
vel为增强层宏块在垂直方向的坐标;
hbl为增强层宏块在基本层对应宏块在水平方向的坐标;
vbl为增强层宏块在基本层对应宏块在垂直方向的坐标;
符号代表向下取值运算;
通过式(7),建立一个基本层宏块与四个增强层宏块之间的对应关系;
每个基本层的宏块尺寸为16×16,将其分割成4个8×8大小的亚宏块,每个亚宏块进行0、1、2、3的编号;
通过式(8),建立了每个增强层宏块和基本层亚宏块的一一对应关系;
增强层的宏块在基本层对应的亚宏块编号通过式(8)计算,
Subidx=vel%2×2+hel%2×2 (8)
其中,Subidx为增强层宏块对应的基本层亚宏块的编号,Subidx取值为范围为0≤Subidx≤3;
hel为增强层宏块在水平方向的坐标;
vel为增强层宏块在垂直方向的坐标。
4.根据权利要求3所述一种用于可伸缩视频编码的宏块级码率控制方法,其特征在于,所述步骤五中根据在步骤二中获得的编码结果,对率失真模型系数进行更新,得到更新后的率失真模型系数具体过程为:
1)若步骤二中存储的最优编码模式是层间预测模式,则将步骤二中存储的实际使用的层间量化参数值利用式(9)转换为层间量化步长值并将赋值给式(10)中的
量化参数值和量化步长值的关系由式(9)确定:
<mrow> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> <mo>,</mo> <mi>a</mi> <mi>c</mi> <mi>t</mi> </mrow> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>=</mo> <msup> <mn>2</mn> <mfrac> <mrow> <msubsup> <mi>QP</mi> <mrow> <mi>a</mi> <mi>c</mi> <mi>t</mi> </mrow> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> </mrow> <mn>6</mn> </mfrac> </msup> <mi>&amp;zeta;</mi> <mrow> <mo>(</mo> <msubsup> <mi>QP</mi> <mrow> <mi>a</mi> <mi>c</mi> <mi>t</mi> </mrow> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mi>%</mi> <mn>6</mn> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>
式中,
为实际使用的层间量化参数值;
为与相对应的层间量化步长值;
ζ(0)=0.625;ζ(1)=0.6875;ζ(2)=0.8125;ζ(3)=0.875;ζ(4)=1.0;ζ(5)=1.125;
将步骤二中存储的实际产生的比特数Rtxt,act赋值给式(10)中的Rtxt;将步骤二中存储的增强层的第i个宏块的实际MAD值MADel,act赋值给式(10)中的MADel
得到Rtxt和MADel后,利用线性递归方法对式(10)中的层间预测率失真模型系数进行更新;
<mrow> <msub> <mi>R</mi> <mrow> <mi>t</mi> <mi>x</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>&amp;times;</mo> <msub> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> </msub> </mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <mo>+</mo> <mfrac> <mrow> <msubsup> <mi>X</mi> <mn>2</mn> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>&amp;times;</mo> <msub> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> </msub> </mrow> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>
式中,
为实际使用的层间预测的量化步长值;
MADel为增强层的第i个宏块的实际MAD值;
2)若步骤二中存储的最优编码模式是层内预测模式,则将步骤二中存储的实际使用的层内量化参数值利用式(11)转换为层内量化步长值并将赋值给式(12)中的
量化参数值和量化步长值的关系由式(11)确定:
<mrow> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> <mo>,</mo> <mi>a</mi> <mi>c</mi> <mi>t</mi> </mrow> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>=</mo> <msup> <mn>2</mn> <mfrac> <mrow> <msubsup> <mi>QP</mi> <mrow> <mi>a</mi> <mi>c</mi> <mi>t</mi> </mrow> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> </mrow> <mn>6</mn> </mfrac> </msup> <mi>&amp;zeta;</mi> <mrow> <mo>(</mo> <msubsup> <mi>QP</mi> <mrow> <mi>a</mi> <mi>c</mi> <mi>t</mi> </mrow> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mi>%</mi> <mn>6</mn> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>
式中,
为实际使用的层内量化参数值;
为与相对应的层间量化步长值;
ζ(0)=0.625;ζ(1)=0.6875;ζ(2)=0.8125;ζ(3)=0.875;ζ(4)=1.0;ζ(5)=1.125;
将步骤二中存储的实际产生的比特数Rtxt,act赋值给式(12)中的Rtxt;将步骤二中存储的增强层的第i个宏块的实际MAD值MADel,act赋值给式(12)中的MADel
得到Rtxt和MADel后,利用线性递归方法对式(12)中的层内预测率失真模型系数进行更新;
<mrow> <msub> <mi>R</mi> <mrow> <mi>t</mi> <mi>x</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>&amp;times;</mo> <msub> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> </msub> </mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <mo>+</mo> <mfrac> <mrow> <msubsup> <mi>X</mi> <mn>2</mn> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>&amp;times;</mo> <msub> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> </msub> </mrow> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>
式中,
为实际使用的层内预测的量化步长值;
MADel为增强层的第i个宏块的实际MAD值。
5.根据权利要求4所述一种用于可伸缩视频编码的宏块级码率控制方法,其特征在于,所述步骤七中利用步骤四中得到的宏块的MAD预测值MADel、步骤五中得到更新后的率失真模型系数和步骤六中得到的目标编码比特数Rtxt,计算用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly;具体过程为:
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>R</mi> <mrow> <mi>t</mi> <mi>x</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>&amp;times;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> </mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <mo>+</mo> <mfrac> <mrow> <msubsup> <mi>X</mi> <mn>2</mn> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>&amp;times;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> </mrow> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>R</mi> <mrow> <mi>t</mi> <mi>x</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>&amp;times;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> </mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <mo>+</mo> <mfrac> <mrow> <msubsup> <mi>X</mi> <mn>2</mn> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>&amp;times;</mo> <msubsup> <mi>MAD</mi> <mrow> <mi>e</mi> <mi>l</mi> </mrow> <mi>i</mi> </msubsup> </mrow> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> </mfrac> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>
式中,
Rtxt为目标编码比特数;
是由之前的编码结果预测得到的MAD值;
为用于层间预测的量化步长;
为用于层内预测的量化步长;
若当前编码单元为第1帧中的第1个编码单元时,率失真模型系数取值为1.0、取值为0.0、取值为1.0,取值为0.0;
若当前编码单元非第1帧中的第1个编码单元时,的值在编码完每一宏块后在步骤五中更新;
将得到的用于层间预测的量化步长值转换为用于层间预测的量化参数值QPinterly;由式(14)确定:
<mrow> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>=</mo> <msup> <mn>2</mn> <mfrac> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> </mrow> <mn>6</mn> </mfrac> </msup> <mi>&amp;zeta;</mi> <mrow> <mo>(</mo> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mi>%</mi> <mn>6</mn> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> </mrow>
式中,
ζ(0)=0.625;ζ(1)=0.6875;ζ(2)=0.8125;ζ(3)=0.875;ζ(4)=1.0;ζ(5)=1.125;
将得到的用于层内预测的量化步长值转换为用于层内预测的量化参数值QPintraly;由式(15)确定:
<mrow> <msubsup> <mi>Q</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msubsup> <mo>=</mo> <msup> <mn>2</mn> <mfrac> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> </mrow> <mn>6</mn> </mfrac> </msup> <mi>&amp;zeta;</mi> <mrow> <mo>(</mo> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mi>%</mi> <mn>6</mn> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow>
式中,
ζ(0)=0.625;ζ(1)=0.6875;ζ(2)=0.8125;ζ(3)=0.875;ζ(4)=1.0;ζ(5)=1.125。
6.根据权利要求5所述一种用于可伸缩视频编码的宏块级码率控制方法,其特征在于,所述步骤八中对步骤七中得到的用于层间预测的量化参数QPinterly和用于层内预测的量化参数QPintraly进行微调;具体过程为:
用于层间预测的量化参数值QPinterly和用于层内预测的量化参数值QPintraly通过式(16)和式(17)获得:
QPinterly=min{max{QPinterly,QPw043-2,1},QPw043+2,51} (16)
QPintraly=min{max{QPintraly,QPw043-2,1},QPw043+2,51} (17)
若QPinterly-QPintraly>2,则对QPinterly和QPintraly进行进一步调整,调整过程为:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mtable> <mtr> <mtd> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <mo>=</mo> <mi>s</mi> <mi>i</mi> <mi>g</mi> <mi>n</mi> <mrow> <mo>(</mo> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>QP</mi> <mrow> <mi>w</mi> <mn>043</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <mn>1</mn> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mrow> <mo>|</mo> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>QP</mi> <mrow> <mi>w</mi> <mn>043</mn> </mrow> </msup> </mrow> <mo>|</mo> </mrow> <mo>&gt;</mo> <mrow> <mo>|</mo> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>QP</mi> <mrow> <mi>w</mi> <mn>043</mn> </mrow> </msup> </mrow> <mo>|</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <mo>=</mo> <mi>s</mi> <mi>i</mi> <mi>g</mi> <mi>n</mi> <mrow> <mo>(</mo> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>QP</mi> <mrow> <mi>w</mi> <mn>043</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <mn>1</mn> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mrow> <mo>|</mo> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>QP</mi> <mrow> <mi>w</mi> <mn>043</mn> </mrow> </msup> </mrow> <mo>|</mo> </mrow> <mo>&lt;</mo> <mrow> <mo>|</mo> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>QP</mi> <mrow> <mi>w</mi> <mn>043</mn> </mrow> </msup> </mrow> <mo>|</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <mo>=</mo> <mi>s</mi> <mi>i</mi> <mi>g</mi> <mi>n</mi> <mrow> <mo>(</mo> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>QP</mi> <mrow> <mi>w</mi> <mn>043</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <mn>1</mn> </mrow> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>w</mi> <mi>i</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <mo>=</mo> <mi>s</mi> <mi>i</mi> <mi>g</mi> <mi>n</mi> <mrow> <mo>(</mo> <msup> <mi>QP</mi> <mrow> <mi>int</mi> <mi>e</mi> <mi>r</mi> <mi>l</mi> <mi>y</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>QP</mi> <mrow> <mi>w</mi> <mn>043</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <mn>1</mn> </mrow> </mtd> <mtd> <mrow></mrow> </mtd> </mtr> </mtable> </mfenced> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow>
QPw043为通过JVT-W043码率控制算法得到一个参考量化参数值。
CN201510191391.4A 2015-04-22 2015-04-22 一种用于可伸缩视频编码的宏块级码率控制方法 Active CN104796704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510191391.4A CN104796704B (zh) 2015-04-22 2015-04-22 一种用于可伸缩视频编码的宏块级码率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510191391.4A CN104796704B (zh) 2015-04-22 2015-04-22 一种用于可伸缩视频编码的宏块级码率控制方法

Publications (2)

Publication Number Publication Date
CN104796704A CN104796704A (zh) 2015-07-22
CN104796704B true CN104796704B (zh) 2017-12-08

Family

ID=53561176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510191391.4A Active CN104796704B (zh) 2015-04-22 2015-04-22 一种用于可伸缩视频编码的宏块级码率控制方法

Country Status (1)

Country Link
CN (1) CN104796704B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900840A (zh) * 2018-07-10 2018-11-27 珠海亿智电子科技有限公司 针对硬件实现的h264宏块级码率控制方法
CN112243129B (zh) * 2020-10-15 2022-10-11 北京达佳互联信息技术有限公司 视频数据处理方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1833257A1 (en) * 2006-03-06 2007-09-12 THOMSON Licensing Method and apparatus for bit rate control in scalable video signal encoding using a Rate-Distortion optimisation
CN102595115A (zh) * 2011-01-13 2012-07-18 深圳信息职业技术学院 一种中粒度质量可伸缩视频编码优化方法、装置及信息终端
CN102685493A (zh) * 2011-03-10 2012-09-19 微软公司 用于视频编码速率控制的平均决定差预测

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070047639A1 (en) * 2003-09-23 2007-03-01 Koninklijke Philips Electronics N.V. Rate-distortion video data partitioning using convex hull search
KR100785855B1 (ko) * 2005-07-19 2007-12-14 한국전자통신연구원 향상된 snr 스케일러빌리티 제공을 위한 양자화 장치 및방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1833257A1 (en) * 2006-03-06 2007-09-12 THOMSON Licensing Method and apparatus for bit rate control in scalable video signal encoding using a Rate-Distortion optimisation
CN102595115A (zh) * 2011-01-13 2012-07-18 深圳信息职业技术学院 一种中粒度质量可伸缩视频编码优化方法、装置及信息终端
CN102685493A (zh) * 2011-03-10 2012-09-19 微软公司 用于视频编码速率控制的平均决定差预测

Also Published As

Publication number Publication date
CN104796704A (zh) 2015-07-22

Similar Documents

Publication Publication Date Title
CN101390401B (zh) 借助伪影评价的提高的图像/视频质量
CN104994383B (zh) 用于视频解码的设备
CN103733621B (zh) 基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择
CN104320657B (zh) Hevc无损视频编码的预测模式选择方法及相应的编码方法
CN103581647B (zh) 一种基于彩***运动矢量的深度图序列分形编码方法
CN104969552A (zh) 存储减少的帧内预测模式决策
CN102217315A (zh) 用于画面组的并行多线程视频编码的i帧去闪烁
CN103634601B (zh) 基于结构相似度的高效视频编码感知码率控制优化方法
CN109286812B (zh) 一种hevc视频质量估计方法
CN101569198A (zh) 解码装置以及解码方法
CN101056408B (zh) 用于确定视频编码中跳跃模式的阈值的方法和装置
CN101895758A (zh) 基于帧复杂度的h.264码率控制方法
CN104796703B (zh) 基于预测模式率失真分析的可伸缩视频编码的码率控制方法
CN101313581B (zh) 视频图像编码方法及设备
CN103384327A (zh) 基于自适应阈值的avs快速模式选择算法
CN1194544C (zh) 基于时空域相关性运动矢量预测的视频编码方法
CN104796704B (zh) 一种用于可伸缩视频编码的宏块级码率控制方法
CN101933334B (zh) 用于测量闪烁的方法
CN102946533B (zh) 视频编码
CN101179729A (zh) 一种基于帧间模式统计分类的h.264宏块模式选择方法
CN109688411B (zh) 一种视频编码率失真代价估计方法和装置
US20080152009A1 (en) Scaling the complexity of video encoding
CN104320660B (zh) 用于无损视频编码的率失真优化方法及编码方法
CN101854534B (zh) 一种h.264快速帧间模式选择方法
CN108989814A (zh) 一种基于并行编码结构的码率控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant