您当前的位置:五五电子网电子知识单片机-工控设备综合-其它H.264基本单元层码率控制方法 正文
H.264基本单元层码率控制方法

H.264基本单元层码率控制方法

点击数:7667 次   录入时间:03-04 11:39:27   整理:http://www.55dianzi.com   综合-其它

  内容摘要:为了提高JVT-H017码率控制提案中的基本单元层比特数分配方法在视频序列复杂度较高时分配的准确度,提出了一种视频复杂度自适应的基本单元层码率控制方法。利用DMAD参数来判断视频场景的复杂度,对JVT-H017的比特数分配方法进行了改进;同时提出了一种基本单元层编码的理想情况,并以此理想情况下的比特数消耗情况来对基本单元的比特数进行修正。仿真结果表明,该方法有效地提高了视频编码的峰值信噪比(PSNR),最大可提高0.49 dB,并且输出码率更接近预定编码码率。
关键词:H.264;码率控制;预测模型;视频复杂度

    码率控制一直是H.264/AVC视频编码标准的研究热点。由Li和Ma等人提出的JVT-H017提案在码率、图像质量和缓冲器占用度上达到了良好平衡,已成为最主流的码率控制方法。JVT-H017使用待编码基本单元的MAD(平均绝对误差)预测模型的参数来预测当前帧剩余所有基本单元的MAD,并根据所得结果为当前基本单元分配比特数。当视频复杂度较高时,基本单元的时空相关性都明显降低,此时这种基本单元比特数分配方法会产生较大误差。
    对此,许多学者提出了很多改进的码率控制方法。Jianpeng提出使用二维窗口来选取模型参数的历史数据点,但二维窗口通常数据点较少,准确度受到限制;Yang提出了空域的MAD预测模型来增加MAD预测的精确度,但计算复杂度比较高;Yin提出使用相邻已编码基本单元的MAD加权平均值来计算当前基本单元的MAD,但没有准确利用基本单元空域时域的相关性;Jen-Yeu提出利用DMAD(Difference of MAD)改进JVT-H017的帧间比特数分配方法并将其应用到基本单元层,改善了高复杂度视频和场景变换时的编码质量。
    文中在Jen-Yeu提出的基本单元层码率控制方法的基础上,对其复杂度参数进行了重新定义,提高了复杂度估计的准确性,同时利用理想状况下的比特数消耗情况来对基本单元比特数预测值进行修正。文中所有仿真均以官方验证软件JMl3.2为实验平台。

1 JVT-H017基本单元层码率控制误差分析
    JM软件采用了JVT-H017算法中的基本单元目标比特数计算方
    其中,i表示当前帧的序号,j表示当前基本单元在当前帧中的序号,Ti(j)表示基本单元的目标比特数,PMAD表示基本单元MAD的线性预测值,TRi(j)表示第i帧中第j个基本单元编码前该帧剩余比特数,Nunit表示当前帧的基本单元总数。
    JVT-H017的比特数分配方法并没有充分考虑相邻帧的基本单元间的时间和空间相关性,当视频内容变化速度比较快或发生场景变换时,基本单元之间的时空相关性变差,此时使用当前基本单元j的线性预测系数去预测当前帧剩余基本单元的MAD而得到的PMADi(k){k=j+1,j+2…Nunit}会有较大的误差,而基于PMADi(k)计算的目标比特数的准确度也会有较大幅度下降,使得基本单元的比特数分配变得不准确。

2 基于DMAD的基本单元比特分配方法
    在JVT-H017算法中,最终为待编码P帧分配的比特数f(i)由b1.jpgb2.jpg两部分组成
    b3.jpg
    其中,b1.jpg是从当前GOP剩余比特数角度为待编码P帧分配的比特数,b2.jpg是从编码码率和缓冲器占用度角度分配给待编码P帧的比特数。在JM13.2模型中,β设为常数0.5。
    Jen-Yeu通过实验发现式(2)中的系数β与图像的时间相关性有很大的关系,进而影响了帧间比特数分配和帧图像的编码信噪比,并基于此提出用DMAD(Difference of MAD)来判断视频序列的复杂度。第i帧第j个基本单元的DMAD为
    DMAD(i,j)=|MAD(i,j)-MAD(i-1,j)|        (3)
    当DMAD值较大时,表明连续的两帧之间某一帧的预测误差较大,此时图像中极有可能有高速的物体运动或发生场景变换。
    DMAD(i,j)被进一步归一化为b4.jpg
    b5.jpg
    b4.jpg用来代替式(2)中的权重系数β。由于H.264是以基本单元为基本单位进行编码的,所以式(2)被进一步改进并用来计算基本单元的目标比特数,如式(5)所示。
    b6.jpg
    其中,f(i,j)表示第i帧第j个基本单元的目标比特数,Nunit为一帧中的基本单元总数。
    但由于式(4)的分母选自帧内已编码基本单元的最大值,如果当前基本单元的DMAD只是局部最大,而其本身绝对值并不高,也会使b4.jpg取得比较大的值,从而被误判断为高复杂度,因此b4.jpg并不能很好的反应不同视频序列间复杂度的区别。
    对此,文中将复杂度从低到高排列的akiyo,mother daughter,suzie,foreman,coastguard,mobile 6个序列(在常见码率下编码,6个序列的PSNR以约2.5~4 dB递减,表明6个序列的复杂度有比较明显的差异,能够反映不同视频序列编码的普遍情况)以24 kbits/s,48kbits/s和64 kbits/s的码率进行150帧编码,记录各序列每次编码时所有P帧基本单元的DMAD值。对同一序列在3种码率下编码的基本单元DMAD记录值进行统一排序并求取排序结果的中位数,该中位数代表了对应序列的基本单元的中等复杂度。求得6个序列编码结果的中位数的平均值为0.18,它反映了不同视频序列编码时基本单元的中等复杂度的均值。
    选取0.18作为判断基数,将b4.jpg改进为β(i,j)。
    c.JPG
    β(i,j)与视频复杂度成正相关,可以有效反映相邻帧间图像复杂度的变化情况和不同视频序列复杂度的区别。若DMAD(i,j)=0.18,则当前基本单元为具有中等复杂度的基本单元,此时β(i,j)=0.5;当视频复杂度降低时,DMAD(i,j)减小,β(i,j)也会相应减小;反之亦然。而当DMAD接近或大于0.36时,即认为视频复杂度很高,或发生场景变换,此时β(i,j)取值为0.9。基于β(i,j),将式(5)改进为
    d1.jpg
    在实际编码时,由于在编码前无法得到当前基本单元的DMAD,所以用当前基本单元的PMAD来计算其DMAD的近似值

[1] [2]  下一页


本文关键字:暂无联系方式综合-其它单片机-工控设备 - 综合-其它

《H.264基本单元层码率控制方法》相关文章>>>