一种视频图像编码方法和装置制造方法及图纸

技术编号:7351376 阅读:178 留言:0更新日期:2012-05-18 20:50
本发明专利技术公开了一种视频图像编码方法:按照现有方法对视频图像中的第一个GOP进行编码,判断当前已编码的GOP中的图像质量是否下降,如果是,按照优先跳帧的原则对下一个GOP中的图像进行编码;否则,将当前GOP的实际码率作为下一个GOP的编码码率,并将下一个GOP作为当前GOP后,设置当前GOP的目标码率;根据编码码率与目标码率的关系,确定出当前GOP的当前跳帧级别后,根据跳帧表中与当前跳帧级别对应的编码帧率对当前GOP中的图像进行编码。本发明专利技术同时公开了一种视频图像编码装置,应用本发明专利技术所述的视频图像编码方法和装置,不仅能够稳定视频图像的质量,而且,在视频图像质量稳定的情况下,目标帧率和目标码率都能够自适应网络。

【技术实现步骤摘要】

本专利技术涉及视频通信
,特别涉及一种视频图像编码方法和装置
技术介绍
在视频通信领域,通信信道带宽都是恒定、有限的,而在单纯的视频编码压缩系统中,原始视频数据经过编码压缩后得到的码流,其码率是变化的。码率不断变化的码流在恒定有限带宽的信道中传输时会存在如下问题:当码率较小时,会引起通信信道带宽资源的浪费;当码率过大时,会引起视频图像数据的丢失。目前,在视频编码中,通常通过引入码率控制将压缩编码的码流控制在一定的波动范围之内,图1给出了现有视频图像编码的原理示意图。如图1所示,编码器的码率控制参数包括目标帧率和目标码率,目标帧率和目标码率是编码器实际想要达到的输出帧率和码率,该编码方法主要包括以下步骤:步骤101:预测当前网络可用带宽资源,即编码器输出视频码流的可用传输带宽。步骤102:根据预测的可用的带宽资源,设置编码器的初始码率控制参数,包括目标帧率和目标码率和每帧的目标码流等。本步骤中,可以将目标码率设置成与可用带宽相等,或者小于可用带宽,以预留冗余保证可靠性;而目标帧率则可以综合可用带宽、编码器性能和想要达到的图像质量等因素进行设置,一般可以取经验值。这里每帧的目标码流等于每帧编码所需的比特(bit)数,例如,目标码率为1Mbps,目标帧率为25帧/秒,则每帧的目标码流为(1/25Mbit)/帧。步骤103:预测编码器所编码的视频图像将要跳帧的数目。本步骤中,可根据编码器的输入图像复杂度或编码器输出视频码流的大小等情况预测图像将要跳帧的数目。例如,编码器当前输入的图像比较复杂,用了较多的比特进行编码,那么为了保证实际输出码率不超过目标码率,则需要对下一时刻的帧进行跳帧处理,且当前输入的图像用越多的比特进行编码,则下一时刻跳帧的数目越多。同样,如果编码器输出视频码流较大,则表示当前输出帧用了较多比特进行编码,需要进行跳帧处理。步骤104:根据当前可用网络带宽资源以及跳帧的数目获得需要调整的目标帧率级数,这里目标帧率被分为若干级,便于逐级调整,根据需要调整的帧率级数获取需要更新的目标帧率。本步骤中,设置大小不同的多级目标帧率;其中,所述多级目标帧率中的最大值不超过所述编码器输出视频码流的可用传输带宽所承受的范围,至于分多少级以及各级之间的间隔这里不做限定。然后根据预测的跳帧数对当前的目标帧率进行调整,当跳帧数较大时将目标帧率进行下调,当跳帧数较小时将目标帧率进行上调。步骤105:将更新后的目标帧率反馈给编码器作为码率控制参数。至此,即完成了现有视频图像编码的原理。通过上述分析可以看出,在现有所采用的视频编码方法中,编码器的目标帧率是通过预测的跳帧数目来调整的,而预测的跳帧数目仅仅是根据编码器的输入图像复杂度或编码器输出视频码流的大小来得到的,并没有考虑到输入图像之间的相关度,由此,可能会导致某些图像跳帧不够而导致码率超标,也即现有的视频编码方法仅能够保证目标帧率能够自适应网络,而并没有考虑目标码率是否能够自适应;此外,现有的视频编码方法中,在预测跳帧数目时没有考虑图像质量,可能会导致视频图像质量的下降。
技术实现思路
有鉴于此,本专利技术提供了一种视频图像编码方法,不仅能够稳定视频图像的质量,而且,在视频图像质量稳定的情况下,目标帧率和目标码率都能够自适应网络。本专利技术还提供了一种视频图像编码装置,不仅能够稳定视频图像的质量,而且,在视频图像质量稳定的情况下,目标帧率和目标码率都能够自适应网络。为了达到上述目的,本专利技术提出的技术方案为:一种视频图像编码方法,该方法包括:A1.将视频图像中的第一个图像组GOP作为当前GOP,按照现有方法对当前GOP中的图像进行编码后,执行步骤A2;A2.判断当前GOP中的图像质量是否下降,如果是,将高于当前跳帧级别一级以上的跳帧级别作为当前跳帧级别,根据跳帧表中与当前跳帧级别对应的编码帧率对下一个GOP中的图像进行编码后,返回执行步骤A2;否则,将当前GOP的实际码率作为下一个GOP的编码码率Be,并将下一个GOP作为当前GOP后,设置当前GOP的目标码率Bs;A3.根据编码码率Be与目标码率Bs的关系,确定出当前GOP的当前跳帧级别后,根据跳帧表中与当前跳帧级别对应的编码帧率对当前GOP中的图像进行编码;A4.判断当前GOP是否是最后一个GOP,如果是,则结束整个工作流程;否则,返回执行步骤A2,直至当前GOP为最后一个GOP。所述按照现有方法对当前GOP中的图像进行编码包括:预测编码器输出视频码流的可用传输带宽,根据所述预测的可用传输带宽设置编码器的目标帧率的初始值,使得编码器根据所述设置的目标帧率初始值进行视频编码;根据编码器输入视频图像的复杂度或输出视频码流大小,预测视频图像将要跳帧的数目;根据所述预测的跳帧数目逐级调整所述编码器的目标帧率,使得编码器根据所述调整后的目标帧率进行视频编码。所述的跳帧表是根据采集帧率和编码帧率建立的,所述跳帧表中包含了跳帧级别及其对应的编码帧率。需要编码的第n帧在采集的fc帧图像内的位置In可通过如下公式计算,In=ceil(Fn*fc/fe),其中,fc为采集帧率,fe为编码帧率,Fn为需要编码的第n帧,n∈[0,fe-1],所述ceil为向上取整。步骤A3中根据编码码率Be与目标码率Bs的关系,确定出当前GOP的当前跳帧级别后,根据跳帧表中与当前跳帧级别对应的编码帧率对当前GOP中的图像进行编码包括:当Be>(1+A%)*Bs时,清零表征Be和Bs关系的两个统计值S0和S1,所述S0表示编码码率Be连续小于目标码率Bs的GOP个数,所述S1表示编码码率Be连续小于(1+A%)倍的目标码率Bs的GOP个数,所述A%表示恒定比特率CBR码率控制允许的最大超标值,且0<A≤10;当当前跳帧级别为最高跳帧级别时,根据跳帧表中当前跳帧级别对应的编码帧率对当前GOP中的图像进行编码;当当前跳帧级别为次高跳帧级别时,判断Be与(1+B%)*Bs的大小,所述B%表示CBR码率控制允许的最大超标值,5<B≤15且B>A,当Be>(1+B%)*Bs时,将高一级跳帧级别作为当前跳帧级别后,根据跳帧表中与当前跳帧级别对应的编码帧率对当前GOP中的图像进行编码,当Be≤(1+B%)*Bs时,直接根据跳帧表中与当前跳帧级别对应的编码帧率对当前GOP中的图像进行编码;否则,将高一级本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种视频图像编码方法,其特征在于,该方法包括:
A1.将视频图像中的第一个图像组GOP作为当前GOP,按照现有方法对当
前GOP中的图像进行编码后,执行步骤A2;
A2.判断当前GOP中的图像质量是否下降,如果是,将高于当前跳帧级别一
级以上的跳帧级别作为当前跳帧级别,根据跳帧表中与当前跳帧级别对应的编
码帧率对下一个GOP中的图像进行编码后,返回执行步骤A2;否则,将当前
GOP的实际码率作为下一个GOP的编码码率Be,并将下一个GOP作为当前GOP
后,设置当前GOP的目标码率Bs;
A3.根据编码码率Be与目标码率Bs的关系,确定出当前GOP的当前跳帧级别
后,根据跳帧表中与当前跳帧级别对应的编码帧率对当前GOP中的图像进行编
码;
A4.判断当前GOP是否是最后一个GOP,如果是,则结束整个工作流程;
否则,返回执行步骤A2,直至当前GOP为最后一个GOP。
2.根据权利要求1所述的方法,其特征在于,所述按照现有方法对当前GOP
中的图像进行编码包括:
预测编码器输出视频码流的可用传输带宽,根据所述预测的可用传输带
宽设置编码器的目标帧率的初始值,使得编码器根据所述设置的目标帧率初
始值进行视频编码;
根据编码器输入视频图像的复杂度或输出视频码流大小,预测视频图像
将要跳帧的数目;
根据所述预测的跳帧数目逐级调整所述编码器的目标帧率,使得编码器
根据所述调整后的目标帧率进行视频编码。
3.根据权利要求1所述的方法,其特征在于,所述的跳帧表是根据采集帧
率和编码帧率建立的,所述跳帧表中包含了跳帧级别及其对应的编码帧率。
4.根据权利要求3所述的方法,其特征在于,需要编码的第n帧在采集的

\tfc帧图像内的位置In可通过如下公式计算,
In=ceil(Fn*fc/fe),
其中,fc为采集帧率,fe为编码帧率,Fn为需要编码的第n帧,n∈[0,fe-1],
所述ceil为向上取整。
5.根据权利要求1所述的方法,其特征在于,步骤A3中根据编码码率Be与
目标码率Bs的关系,确定出当前GOP的当前跳帧级别后,根据跳帧表中与当前
跳帧级别对应的编码帧率对当前GOP中的图像进行编码包括:
当Be>(1+A%)*Bs时,清零表征Be和Bs关系的两个统计值S0和S1,所述S0
表示编码码率Be连续小于目标码率Bs的GOP个数,所述S1表示编码码率Be连
续小于(1+A%)倍的目标码率Bs的GOP个数,所述A%表示恒定比特率CBR码
率控制允许的最大超标值,且0<A≤10;
当当前跳帧级别为最高跳帧级别时,根据跳帧表中当前跳帧级别对应的编码
帧率对当前GOP中的图像进行编码;当当前跳帧级别为次高跳帧级别时,判断
Be与(1+B%)*Bs的大小,所述B%表示CBR码率控制允许的最大超标值,5<B≤15
且B>A,当Be>(1+B%)*Bs时,将高一级跳帧级别作为当前跳帧级别后,根据跳
帧表中与当前跳帧级别对应的编码帧率对当前GOP中的图像进行编码,当
Be≤(1+B%)*Bs时,直接根据跳帧表中与当前跳帧级别对应的编码帧率对当前
GOP中的图像进行编码;否则,将高一级跳帧级别作为当前跳帧级别后,根据
跳帧表中当前跳帧级别对应的编码帧率对当前GOP中的图像进行编码。
6.根据权利要求1所述的方法,其特征在于,步骤A3中根据编码码率Be与
目标码率Bs的关系,确定出当前GOP的当前跳帧级别后,根据跳帧表中与当前
跳帧级别对应的编码帧率对当前GOP中的图像进行编码包括:
当Be<Bs时,将表征Be和Bs关系的两个统计值S0和S1各加1,所述S0表
示编码码率Be连续小于目标码率Bs的GOP个数,所述S1表示编码码率Be连续
小于(1+A%)倍的目标码率Bs的GOP个数,所述A%表示恒定比特率CBR码率

\t控制允许的最大超标值,且0<A≤10;
判断S0>T0或S1>T1中的一个是否成立,所述T0和T1分别表示S0和S1
两个统计值能够达到的最大值,如果是,将低一级跳帧级别作为当前跳帧级别,
并分别清零S0和S1后,根据跳帧表中与当前跳帧级别对应的编码帧率对当前
GOP中的图像进行编码;否则,直接根据跳帧表中与当前跳帧级别对应的编码
帧率对当前GOP中的图像进行编码。
7.根据权利要求1所述的方法,其特征在于,步骤A3中根据编码码率Be与
目标码率Bs的关系,确定出当前GOP的当前跳帧级别后,根据跳帧表中与当前
跳帧级别对应的编码帧率对当前GOP中的图像进行编码包括:
当Bs≤Be≤(1+A%)*Bs时,清零表征Be和Bs关系的统计值S0,并将表征Be和Bs关系的统计值S1加1,所述S0表示编码码率Be连续小于目标码率Bs的GO...

【专利技术属性】
技术研发人员:陈航锋
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

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

1
相关领域技术