首页> 中国专利> 一种可伸缩视频编码的空间增强层码率控制实现方法

一种可伸缩视频编码的空间增强层码率控制实现方法

摘要

本发明公开了一种可伸缩视频编码的空间增强层码率控制实现方法,包括以下步骤:自适应对第一个编码的I、P、B帧设定初始量化参数QP值;根据实际编码比特数计算各帧的编码复杂度以及各帧的MAD值;编码完一个图像组GOP之后,根据整个GOP的实际编码比特数和各帧的编码复杂度及各帧所处的时间等级和空间等级,计算该时空等级上图像帧所占的权重;对关键帧,利用分配的比特数和二次R-D模型,计算量化参数,进行编码,对非关键帧,由离此非关键帧最近的两个关键帧的QP及其所属的时域等级决定其QP。本发明可伸缩视频编码的空间增强层码率控制实现方法可以实现可伸缩视频编码的空域增强层的码率控制,弥补其只有基本层码率控制的缺陷。

著录项

  • 公开/公告号CN102186084A

    专利类型发明专利

  • 公开/公告日2011-09-14

    原文格式PDF

  • 申请/专利号CN201110154629.8

  • 发明设计人 付鋆;张萍;于鸿洋;

    申请日2011-06-07

  • 分类号H04N7/26(20060101);

  • 代理机构

  • 代理人

  • 地址 523808 广东省东莞市松山湖科技产业园区总部二路17号

  • 入库时间 2023-12-18 03:13:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-03

    未缴年费专利权终止 IPC(主分类):H04N7/26 授权公告日:20130731 终止日期:20150607 申请日:20110607

    专利权的终止

  • 2013-07-31

    授权

    授权

  • 2011-11-02

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20110607

    实质审查的生效

  • 2011-09-14

    公开

    公开

说明书

技术领域

本发明涉及视频编码,具体涉及一种可伸缩视频编码的空间增强层码率控制实现方法。

背景技术

可伸缩视频编码(Scalable Video Coding)是联合视频组JVT组织开发的作为H.264/AVC标准的扩展标准。在SVC下,一段视频序列可以编码成一个基本层和多个增强层,基本层具有最低视频质量,增强层可以改善基本层质量。随着视频编码标准的发展,码率控制作为其中的重要技术也得到了广泛的发展,码率控制技术是视频通信系统应用中必不可少的部分,它能保证视频数据在通道内传输时充分利用带宽。码率控制的目的就是使码率满足信道和存储媒体要求并尽可能地提高视频质量。根据编码协议的不同经典码率控制算法有H.261中的RM8码率控制算法、MPEG-2中的TM5码率控制算法、MPEG-4中的VM8码率控制算法、H.263中的TMN8码率控制算法、基于ρ-domain模型的码率控制算法以及H.264中采用的码率控制算法。其中,TM5算法是早期的研究成果,TMN8、VM8、H.264中采用的码率控制算法均采用率失真模型,ρ-domain的码率控制算法则是采用通过比较分析图像压缩前后的信息最后得到的模型。目前上述的各个算法无法应用于可伸缩视频编码技术中,使得现有的SVC编码器没有实现空域增强层码率控制的。

发明内容

本发明需解决的问题是提供一种编码效率高、空域增强层的码率可控的可伸缩视频编码的空间增强层码率控制实现方法。

为了实现上述目的,本发明设计出一种可伸缩视频编码的空间增强层码率控制实现方法,包括如下步骤:

S1,自适应对第一个编码的I、P、B帧设定初始量化参数QP值;

S2,编码图像帧,根据实际编码比特数计算各帧的编码复杂度以及各帧的MAD值;

S3,编码完一个图像组GOP之后,根据整个GOP的实际编码比特数和各帧的编码复杂度及各帧所处的时间等级和空间等级,计算该时空等级上图像帧所占的权重;

S4,根据已编码GOP的各时空等级上实际编码比特数计算该时空等级上的平均编码比特数,并预测下一GOP中相同时空等级上的权重值;

S5,对上一GOP的实际权重值和预测的下一GOP的预测权重值进行加权求和,得到下一GOP的各时空等级权重值;

S6,根据各时空等级权重值对相应时空等级上的编码帧进行比特分配,并用MAD比例值进行微调;

S7,对关键帧,利用分配的比特数和二次R-D模型,计算量化参数,进行编码,对非关键帧,由离此非关键帧最近的两个关键帧的QP及其所属的时域等级决定其QP,跳到S2;

S8,判断是否编码完一个GOP,如果编完,跳到S3,否则跳到S2。

上述步骤S2中,已编码帧的编码复杂度由公式(一)

XFcomplexity(i,k,l)=Qstep(i,k,l)·Bits(i,K,l),i=1,2,3,...,得到,已编码各帧的MAD比例由公式(二)MADRatio=MAD(i)Σji-1MAD(j)i-j得到。

上述步骤S3中,某一特定时空等级上图像帧所占的权重可由公式(三)λ~(i,k,l)=XFcomplexity(i-1,k,l)Σn=0SLMaxΣm=0TLMaxXFcomplexity(i-1,m,n)·GOPBits(i-1)N(k,l)·(RF)-1得到。

上述步骤S4中,已编码GOP的各时空等级上实际编码比特数计算该时空等级上的平均编码比特数,由公式(四)

λ(i,k,l)=λ(i-1,k,l)·(i-2)+KLBits(i-1,k,l)N(,l)·(RF)-1i-1·(RF)-1得到;并根据公式(四)预测下一GOP中相同时空等级上的权重值,由公式(五)

λestimate(i,k,l)=a·λ(i,k,l)+(1-a)·KLBits(i-1,k,l)N(k,l)·(RF)-1得到;其中KLBits(i-1,k,l)表示当前GOP中时域等级为k,空域等级为l的时空等级上所有帧的实际编码比特数,a为固定权重值。

上述步骤S5中,对上一GOP的实际权重值和预测的下一GOP的预测权重值进行加权求和,得到下一GOP的各时空等级权重值,由公式(六)λ(i,k,l)=b·λ~(i,k,l)+(1-b)·λestimate(i,k,l)得到,其中b也为固定权重值。

上述步骤S6中,根据公式(七)T~i(j)=λ(i,k,l)·RF+γ·(Si(j)-Vi(j)),其中Si(j)为当前缓冲区充盈程度,Vi(j)为虚拟缓冲区,对各时空等级上的编码帧进行初次比特分配,考虑上一GOP的实际编码状态,再次为待编码帧分配比特,由公式(八)

T^i(j)=XFcomplexity(i-1,k,l)Σn=0SLMaxΣm=0TLMaxXFcomplexity(i-1,m,n)·GOPBits(i-1)得到,最终的比特分配为两者的加权和,由公式(九)得到,最后再根据MADRatio进行微调。

上述步骤S7中,对关键帧,利用分配的比特数和二次R-D模型,计算QP,进行编码,对非关键帧,由离此非关键帧最近的两个关键帧的QP及其所属的时域等级决定其QP,由公式(十)QP=max(QP(i-1),QP(i))+HL-TL得到,其中QP(i-1),QP(i)分别为最近的两个关键帧的QP,HL为最大的时域等级,TL为当前帧所属的时域等级。

本发明可伸缩视频编码的空间增强层码率控制实现方法宏观上采用按照等级权重的方式进行比特分配,微观上结合已编码帧的MAD(MeanAbsolute Difference)值对比特分配进行微调的方法,在当前的可伸缩视频编码的编码器,仅实现了基本层的码率控制,对增强层都没有实现其码率控制,尽管其中的“FixedQPEncoder”工具能达到指定的码率,但是由于迭代地调用编码过程耗费了大量的时间,不适合实际应用,本发明的克服SVC编码器没有实现空域增强层码率控制的不足,提供一种编码效率高的空域增强层的码率控制方法。

附图说明:

图1是本发明可伸缩视频编码的空间增强层码率控制实现方法的量化参数QP更新流程图;

图2是本发明可伸缩视频编码的空间增强层码率控制实现方法的码率控制流程图。

具体实施方式

为了便于本领域技术人员的理解,下面将结合具体实施例及附图对本发明的结构原理作进一步的详细描述:

如图1、图2所示,设计一种可伸缩视频编码的空间增强层码率控制实现方法,该方法包括如下步骤:S1:根据Bpp(Bit Per Pixel)值自适应对第一个编码的I、P、B帧设定初始量化参数QP值;

Bpp由目标码率R,图像帧率F,图像尺寸Weight、Height以及采样格式所决定。由Bpp值决定第一个I帧的量化参数QP,第一个P帧和第一个B帧的QP则为I帧的QP加1得到。

S2:编码图像帧,根据实际编码比特数计算各帧的编码复杂度以及已编码各帧的MAD比例;

已编码帧的编码复杂度由公式(一)得到,已编码各帧的MAD比例由公式(二)得到。

XFcomplesity(i,k,l)=Qstep(i,k,l)·Bits(i,k,l),i=1,2,3,...,     (一)

MADRatio=MAD(i)Σji-1MAD(j)i-j(二)

其中Qstep(i,k)为编码该帧的量化步长,Bits(i,k)为编码该帧的实际编码比特数,MAD(i)表示第i帧的MAD值。

S3:在一个图像组(COP)编码完之后,可以得到整个GOP的实际编码比特数GOPBits(i-1),各帧的编码复杂度以及整个GOP内所有帧的编码复杂度之和,所以某一特定时空等级上图像帧所占的权重可由公式(三)得到。

λ~(i,k,l)=XFcomplexity(i-1,k,l)Σn=0SLMaxΣm=0TLMaxXFcomplexity(i-1,m,n)·GOPBits(i-1)N(k,l)·(RF)-1(三)

其中SLMax,TLMax分别表示空域和时域的最大等级,N(k,l)表示属于该时空等级的所有帧数。

S4:根据已编码GOP的各时空等级上实际编码比特数计算该时空等级上的平均编码比特数,如公式(四)所示,并根据公式(四)预测下一GOP中相同时空等级上的权重值,如公式(五);

λ(i,k,l)=λ(i-1,k,l)·(i-2)+KLBits(i-1,k,l)N(,l)·(RF)-1i-1·(RF)-1(四)

λestimate(i,k,l)=a·λ(i,k,l)+(1-a)·KLBits(i-1,k,l)N(k,l)·(RF)-1(五)

其中KLBits(i-1,k,l)表示当前GOP中时域等级为k,空域等级为l的时空等级上所有帧的实际编码比特数,a为固定权重值。

S5:对上一GOP的实际权重值和预测的下一GOP的预测权重值进行加权求和,得到下一GOP的各时空等级权重值,如公式(六)

λ(i,k,l)=b·λ~(i,k,l)+(1-b)·λestimate(i,k,l)(六)

其中b也为固定权重值。

S6:根据公式(七)对各时空等级上的编码帧进行初次比特分配,考虑上一GOP的实际编码状态,再次为待编码帧分配比特,如公式(八)计算,最终的比特分配为两者的加权和,如公式(九),最后再根据MADRatio进行微调。

T~i(j)=λ(i,k,l)·RF+γ·(Si(j)-Vi(j))(七)

其中Si(j)为当前缓冲区充盈程度,Vi(j)为虚拟缓冲区。

T^i(j)=XFcomplexity(i-1,k,l)Σn=0SLMaxΣm=0TLMaxXFcomplexity(i-1,m,n)·GOPBits(i-1)(八)

Ti(j)=β·T^i(j)+(1-β)·T~i(j)(九)

S7:对关键帧,利用分配的比特数和二次R-D模型,计算QP,进行编码,对非关键帧,由离此非关键帧最近的两个关键帧的QP及其所属的时域等级决定其QP,如式(十),跳到S2;

QP=max(QP(i-1),QP(i))+HL-TL      (十)

其中QP(i-1),QP(i)分别为最近的两个关键帧的QP,HL为最大的时域等级,TL为当前帧所属的时域等级。

S8:判断是否编码完一个GOP,如果编完,跳到S3,否则跳到S2。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权力要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号