公开/公告号CN102045556A
专利类型发明专利
公开/公告日2011-05-04
原文格式PDF
申请/专利权人 杭州华三通信技术有限公司;
申请/专利号CN200910236453.3
申请日2009-10-22
分类号H04N7/26(20060101);
代理机构11018 北京德琦知识产权代理有限公司;
代理人谢安昆;宋志强
地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地
入库时间 2023-12-18 02:09:16
法律状态公告日
法律状态信息
法律状态
2017-05-10
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N7/26 变更前: 变更后: 申请日:20091022
专利权人的姓名或者名称、地址的变更
2012-10-31
授权
授权
2011-07-13
实质审查的生效 IPC(主分类):H04N7/26 申请日:20091022
实质审查的生效
2011-05-04
公开
公开
技术领域
本发明涉及图像编码技术,特别是涉及一种在低带宽中场景切换视频图像的编码方法和装置。
背景技术
低带宽下,如果对视频图像编码保持较高的压缩率,在瞬间发生场景切换或其它复杂情况时,其图像预测误差将上升,并且随着误差的扩散,视频图像的质量会明显下降。相反,如果在静态场景或低复杂度情况下,视频图像质量则相对较高。比如:视频会议中,分配给视频编码器的带宽一般比较低。如果视频图像的内容是给各参会人员讲解的幻灯(PPT),那么在幻灯页面不变的静止状态时,视频图像质量比较清晰,但在幻灯翻页这一场景切换时,其图像质量将变得模糊,用户体验不佳。
现有技术中,INTRA宏块刷新技术可以避免上述缺陷,防止预测误差持续扩散而造成图像质量恶化。其方法主要是对视频每一帧图像的若干宏块随机进行刷新,被刷新的宏块质量会立即变得比较高。这样,持续一段时间后,图像中所有宏块都会被刷新,整个图像的质量就会变得高,用户视觉体验就是该视频图像从模糊变为清晰了。
INTRA宏块刷新技术虽然可以将视频图像从模糊变得清晰,但其过程一般比较长。这是因为INTRA宏块刷新技术是周期性的对每一帧图像的若干宏块进行刷新,从第一批宏块刷新到最后一批宏块刷新需持续较长的时间,比如在h.263协议中针对标清格式的建议大约是132帧的时长,而场景切换的时间通常比较短,可能仅持续6~7帧。也就是说,6~7帧的场景切换造成的图像质量下降,可能需要利用较长的时间来恢复,其恢复速度太慢,用户体验不佳。
发明内容
有鉴于此,本发明第一个目的是提供一种在低带宽中场景切换视频图像的编码方法,可以提高图像从模糊到清晰的恢复速度,提高视频会议的用户体验。
本发明第二个目的是提供一种在低带宽中场景切换视频图像的编码装置,可以提高图像从模糊到清晰的恢复速度,提高视频会议的用户体验。
为了达到上述第一个发明目的,本发明提出的技术方案为:
一种在低带宽中场景切换视频图像的编码方法,该方法包括以下步骤:
在视频图像编码中,根据场景切换时长确定紧靠当前帧之前需要被检测的至少两帧,将距离远的作为远邻待检测帧,将距离近的作为近邻待检测帧;
根据远邻待检测帧和近邻待检测帧各自的偏移量计算偏移特性值,所述偏移特性值表示远邻待检测帧和近邻待检测帧之间偏移的变化程度;
将所述偏移特性值与预先设置的阈值比较,并在偏移特性值大于阈值的情况下编码一个I帧作为当前帧插入。
上述方案中,所述根据远邻待检测帧和近邻待检测帧各自偏移量计算偏移特性值的方法包括:
a、先计算远邻待检测帧和近邻待检测帧中每一帧的偏移量,所述每一帧的偏移量包括横坐标偏移量、纵坐标偏移量;所述横坐标偏移量为:每一帧中作为检测基准点宏块的运动矢量在横坐标方向的偏移量绝对值之和;所述纵坐标偏移量为:每一帧中作为检测基准点宏块的运动矢量在纵坐标方向的偏移量绝对值之和;
b、计算所有远邻待检测帧横坐标偏移量之和,所有远邻待检测帧纵坐标偏移量之和;计算所有近邻待检测帧横坐标偏移量之和,所有近邻待检测帧纵坐标偏移量之和;
c、计算远邻待检测帧横坐标偏移量之和与近邻待检测帧横坐标偏移量之和的比值,获得横坐标偏移量特性值;计算远邻待检测帧纵坐标偏移量之和与近邻待检测帧纵坐标偏移量之和的比值,获得纵坐标偏移量特性值;
d、根据设置的横坐标特性系数、计算出的横坐标偏移量特性值、设置的纵坐标特性系数、计算出的纵坐标偏移量特性值,计算获得所述的偏移特性值。
上述方案中,所述作为检测基准点的宏块是从图像中选择出的均匀分布的宏块。
上述方案中,所述场景切换为幻灯PPT翻页,所述远邻待检测帧为连续3帧,所述近邻待检测帧也为连续3帧。
为达到上述第二个发明目的,本发明提出的技术方案为:
一种在低带宽中场景切换视频图像的编码装置,该装置包括:
检测帧确定单元,用于根据场景切换时长确定紧靠当前帧之前需要被检测的至少两帧,将距离远的作为远邻待检测帧,将距离近的作为近邻待检测帧;并将确定出的远邻待检测帧和近邻待检测帧通知给偏移特性值计算单元;
偏移特性值计算单元,用于根据远邻待检测帧和近邻待检测帧各自的偏移量计算偏移特性值,所述偏移特性值表示远邻待检测帧和近邻待检测帧之间偏移的变化程度,并将偏移特性值发送给比较单元;
比较单元,用于将偏移特性值与存储单元中保存的阈值相比较,并在偏移特性值大于与阈值的情况下通知编码单元;
编码单元,用于对视频图像进行编码,并在比较单元通知偏移特性值大于阈值的情况下编码一个I帧作为当前帧插入;
存储单元,用于保存事先设置的阈值。
上述方案中,所述偏移特性值计算单元包括:
第一计算单元,用于计算远邻待检测帧和近邻待检测帧中每一帧的偏移量,并发送给第二计算单元;所述每一帧的偏移量包括横坐标偏移量、纵坐标偏移量;所述横坐标偏移量为:每一帧中作为检测基准点宏块的运动矢量在横坐标方向的偏移量绝对值之和;所述纵坐标偏移量为:每一帧中作为检测基准点宏块的运动矢量在纵坐标方向的偏移量绝对值之和;
第二计算单元,用于计算所有远邻待检测帧横坐标偏移量之和,所有远邻待检测帧纵坐标偏移量之和;计算所有近邻待检测帧横坐标偏移量之和,所有近邻待检测帧纵坐标偏移量之和;并将计算结果发送给第三计算单元;
第三计算单元,用于计算远邻待检测帧横坐标偏移量之和与近邻待检测帧横坐标偏移量之和的比值,获得横坐标偏移量特性值;计算远邻待检测帧纵坐标偏移量之和与近邻待检测帧纵坐标偏移量之和的比值,获得纵坐标偏移量特性值;将计算结果发送给第四计算单元;
第四计算单元,用于根据设置的横坐标特性系数、计算出的横坐标偏移量特性值、设置的纵坐标特性系数、计算出的纵坐标偏移量特性值,计算获得所述的偏移特性值,并将计算结果发送给比较单元。
上述方案中,所述作为检测基准点的宏块是从图像中选择出的均匀分布的宏块。
上述方案中,所述场景切换为幻灯PPT翻页,所述远邻待检测帧为连续3帧,所述近邻待检测帧也为连续3帧。
综上所述,本发明提出一种在低带宽中场景切换视频图像的编码方法和装置,可以根据场景切换时长确定需要被检测远邻待检测帧和近邻待检测帧,根据各自的偏移量计算偏移特性值,将所述偏移特性值与预先设置的阈值比较,并在偏移特性值大于阈值的情况下编码一个I帧作为当前帧插入。应用本发明方案,可以在视频编码时准确地检测出场景切换,并在场景切换处插入可以消除误差扩散的I帧,从而提高图像从模糊到清晰的恢复速度,增强用户的体验。
附图说明
图1是本发明方法流程图。
图2是本发明方法实施例中视频图像宏块划分示意图。
图3是本发明方法实施例中确定待检测帧的示意图。
图4是本发明方法实施例的流程图。
图5是本发明的装置结构示意图。
图6是本发明装置中偏移特性值计算单元502内部结构的一个实施例示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
要提高场景切换时图像质量恢复的速度,本发明需要解决两个方面的问题:一是如何检测出场景切换;二是如何对场景切换处的图像进行优化,加快从模糊到清晰的恢复速度。下面将分别对这两方面进行详细描述。
本发明方法如图1所示,其中,步骤101~103解决上述第一个方面的问题,步骤104解决上述第二个方面的问题。
步骤101:根据场景切换时长确定紧靠当前帧之前需要被检测的至少两帧,将距离远的作为远邻待检测帧,将距离近的作为近邻待检测帧。
本步骤中,场景切换的时长可以根据实际情况事先设置。比如:针对视频会议PPT翻页这种场景切换,可以设置其时长为6帧。如果针对其它场景切换,还可以设置不同的时长。在极端情况下,如果场景切换的速度非常快,可以设置其时长为2帧。也就是说,当前帧之前需要被检测的至少需要2帧。
另外,如背景技术所述,场景切换的特点是从动态重新回归到静态的连续过程,如:PPT翻页是动态的,停止翻页时是静态的。其中,动态过程中图像运动矢量的偏移量大,而静态图像运动矢量的偏移量小。根据这一特点,本发明将紧靠当前帧之前需被检测的图像分为两类,每一类至少一帧图像:一类是距离当前帧较远的,运动矢量偏移量大,作为远邻待检测帧;另一类是距离当前帧较近的,运动矢量偏移量小,作为近邻待检测帧。比如:场景切换时长为6帧,当前帧为视频的第50帧,就可以将第44~第46帧作为远邻待检测帧,将第47帧~第49帧作为近邻待检测帧。再比如,场景切换时长为2帧,当前帧为视频的第100帧,就可以将第98帧作为远邻待检测帧,将第99帧作为近邻待检测帧。
另外,还需要澄清的是,这里所述的当前帧是当前正准备编码生成的图像,但还没有存在于视频中。即,前面例子中所述的第50帧或第100帧还不存在,正准备编码生成。
步骤102:根据远邻待检测帧和近邻待检测帧各自的偏移量计算偏移特性值,所述偏移特性值表示远邻待检测帧和近邻待检测帧之间偏移的变化程度。
视频图像编码时,如果第n-1帧图像相对于第n-2帧来说有小的变化,这个变化可以用第n-1帧图像与第n-2帧图像之间运动矢量的偏移量来表示,通常也可以直接说是第n-1帧的偏移量。同样,如果第n帧相对于第n-1帧来说也有小的变化,这个变化同样可以用第n帧与第n-1之间运动矢量的偏移量来表示,即:第n帧的偏移量。这样,在编码时,就可以仅对第n-1帧和第n帧图像的偏移量进行编码,大大减少数据量,达到压缩的目的。本步骤可以利用现有技术来获得远邻待检测帧和近邻待检测帧各自的偏移量,具体计算方法将在下面的实施例中详细介绍,此处不再赘述。
总之,本步骤计算出远邻待检测帧和近邻待检测帧各自的偏移量后,就可以利用其计算两者之间偏移的变化程度。比如:如果远邻待检测帧和近邻待检测帧都只有一帧,分别为第n帧和第n-1帧。其中,第n-1帧为远邻待检测帧,第n帧为近邻待检测帧。又假如步骤102计算出第n-1帧的偏移量为m,第n帧的偏移量为n,就可以利用m和n计算第n帧和第n-1帧偏移的变化程度。当然,具体的计算方法比较多,比如:可以直接将运动矢量绝对值的差值作为其偏移的变化程度,也可以直接将运动矢量绝对值的比值作为其偏移的变化程度,还可以像下面的实施例一样利用偏移量在横坐标和纵坐标上的标量值来进行比较。不管采用哪种方式,只要可以体现远邻待检测帧和近邻待检测帧两者偏移的变化程度即可。
需要注意的是,这里体现的是远邻待检测帧和近邻待检测帧之间偏移的变化程度,并不是指它们之间的偏移量。比如:第n-1帧相对于第n-2帧的偏移量为m,第n帧相对于第n-1帧的偏移量也为m,但第n-1帧和第n帧的偏移不存在变化,或者说变化程度为0。这种情况属于图像中某个物体在进行持续匀速的运动,虽然每一帧相对于前一帧都在运动或者存在偏移量,但其变化程度不变。
步骤103:将偏移特性值与预先设置的阈值比较,如果偏移特性值大于阈值,则表明当前发生了场景切换。
本发明中,体现偏移变化程度的值称为偏移特性值。为了准确检测出切换场景,通常需要与设置的阈值进行比较,只有在超过阈值的情况下才确定是发生了场景切换。比如:仍然以远邻待检测帧为第n-1帧,近邻待检测帧为第n帧为例,如果第n-1帧的偏移量为m1,第n帧的偏移量为m2,且运动方向相同,偏移特性值为两者矢量绝对值的差值,假设这里计算出来为0.5。另外,假设事先设置的阈值为1,那么,由于计算出的偏移特性值小于阈值,说明远邻待检测帧和近邻待检测帧偏移的变化小,可能是误差或其他情况,但不属于从动态到静态这种场景切换。当然,具体如何设置阈值需要应用本发明方案的用户根据实际情况来确定。
步骤104:编码一个I帧作为当前帧插入。
本发明中,为了提高视频图像从模糊到清楚的速度,一旦检测出场景切换,就插入一个I帧。插入I帧可以提高恢复速度的原因在于:I帧无需参考其它图像就能完成自身的编码,避免因为场景切换所造成误差的扩散。相应地,在解码时,I帧可以直接利用自身的图像来获得清晰的图像,从而提高视频图像从模糊到清楚的恢复速度。
为了更好地说明本发明方案,下面用一个实施例进行详细说明。
本实施例中,假设是对低带宽下视频会议这类实时性要求高的图像进行编码,其中仅包含B帧和I帧。与现有技术一样,视频中每一帧图像中都划分了宏块,并从中均匀选择出了作为检测基准点的宏块。如图2所示,一个小方格表示一个宏块,阴影部分表示作为检测基准点的宏块,共42个。这样,在进行计算每一帧图像的偏移量时,可以只计算作为检测基准点宏块的偏移量,而不需要计算图像中所有宏块的偏移量,从而减少计算量。
另外,本实施例假设场景切换为PPT翻页,设置时长为6帧,其检测时机如图3所示。即:在准备编码第n帧时,将第n-6~第n-4连续3帧作为远邻待检测帧,将第n-3~第n-1连续3帧作为近邻待检测帧。
如图4所示,本实施例实现方法包括以下步骤:
步骤401:根据场景切换时长确定紧靠当前帧(第n帧)之前需要被检测的待检测帧,将距离远的连续3帧(第n-6~第n-4)作为远邻待检测帧,将距离近的连续3帧(第n-3~第n-1)作为近邻待检测帧。
本实施例是将距离远的连续3帧作为远邻待检测帧,将距离近的连续3帧作为近邻待检测帧,实际应用中也可以作其他方式的划分,比如:将距离远的连续2帧作为远邻待检测帧,将距离近的连续4帧作为近邻待检测帧,具体如何划分由应用本实施例方案的用户自行确定。
步骤402:计算远邻待检测帧和近邻待检测帧中每一帧的偏移量,所述每一帧的偏移量包括横坐标偏移量、纵坐标偏移量;所述横坐标偏移量为:每一帧中作为检测基准点宏块的运动矢量在横坐标方向的偏移量绝对值之和;所述纵坐标偏移量为:每一帧中作为检测基准点宏块的运动矢量在纵坐标方向的偏移量绝对值之和。
本实施例中,假设每一个作为检测基准点的宏块用MB表示,其相对于前一帧的运动矢量用MV=(xn,yn)表示,1≤n≤42。那么,每一帧图像的偏移量的计算可以用公式(1)和公式(2)表示:
其中,公式(1)为横坐标偏移量,公式(2)为纵坐标偏移量,公式(1)和公式(2)共同表示待检测帧的偏移量。
步骤403:计算所有远邻待检测帧横坐标偏移量之和,所有远邻待检测帧纵坐标偏移量之和;计算所有近邻待检测帧横坐标偏移量之和,所有近邻待检测帧纵坐标偏移量之和。
本步骤的具体计算方法可以分别用公式(3)~公式(6)表示,m=3,表示远邻待检测帧和近邻待检测帧的数量。其中,公式(3)表示所有远邻待检测帧横坐标偏移量之和,公式(4)表示所有远邻待检测帧纵坐标偏移量之和,公式(5)表示所有近邻待检测帧横坐标偏移量之和,公式(6)表示所有近邻待检测帧纵坐标偏移量之和。
步骤404:计算远邻待检测帧横坐标偏移量之和与近邻待检测帧横坐标偏移量之和的比值,获得横坐标偏移量特性值;计算远邻待检测帧纵坐标偏移量之和与近邻待检测帧纵坐标偏移量之和的比值,获得纵坐标偏移量特性值。
本步骤具体的计算方法可以分别用公式(7)和公式(8)表示:
步骤405:根据设置的横坐标特性系数、计算出的横坐标偏移量特性值、设置的纵坐标特性系数、计算出的纵坐标偏移量特性值,计算获得所述的偏移特性值。
本步骤具体的计算方法可以用公式(9)表示,其中,γ,η分别表示横坐标特性系数和纵坐标特性系数,可以根据实际情况自行设置。比如:可以设置γ∈[0,1],η∈[0,1],并且,如果图像的偏移量主要集中在横坐标轴上,就可以将纵坐标特性系数η设置为0,将横坐标特性系数设置为非0。
公式(9)
步骤406:将偏移特性值与预先设置的阈值比较,如果偏移特性值大于阈值,表明当前发生了场景切换。
步骤407:编码一个I帧作为当前帧插入。
本实施例中,步骤401~步骤406解决了如何检测到场景切换的问题,步骤407解决了如何提高图像恢复速度的问题。其中,步骤402~步骤406仅仅是计算偏移特性值的一个实施例,实际应用中还可以采用其他方式。比如前面所述的直接将运动矢量绝对值的差值作为偏移特性值,或者将运动矢量绝对值的比值作为偏移特性值。当然,即使参照本实施例中利用横坐标和纵坐标上的标量值的计算方法,也可以选择其它公式,比如:用远邻待检测帧横坐标偏移量与近邻待检测帧横坐标偏移量的方差来计算横坐标偏移量特性值,即:公式替代公式(7);用远邻待检测帧纵坐标偏移量与近邻待检测帧纵坐标偏移量的方差来计算纵坐标偏移量特性值,即:公式替代公式(8)。总之,不管采用哪种方法,只要是根据远邻待检测帧和近邻待检测帧的偏移量计算其偏移量特性值即可。
另外,本实施例只涉及如何检测到场景切换,以及如何在场景切换处编码以提高图像从模糊到清晰的恢复速度,并没有涉及其他正常情况如何编码的问题。在实际应用中,如果没有检测到场景切换,可以按照原有的视频编码方法进行,比如编码一个B帧插入,或者在编码标准规定的地方插入一个I帧。
针对上述方法,本发明还提出一种在低带宽中场景切换视频图像的编码装置。如图5所示,该装置包括:
检测帧确定单元501,用于根据场景切换时长确定紧靠当前帧之前需要被检测的至少两帧,将距离远的作为远邻待检测帧,将距离近的作为近邻待检测帧;并将确定出的远邻待检测帧和近邻待检测帧通知给偏移特性值计算单元502。
偏移特性值计算单元502,用于根据远邻待检测帧和近邻待检测帧各自的偏移量计算偏移特性值,所述偏移特性值表示远邻待检测帧和近邻待检测帧之间偏移的变化程度,并将偏移特性值发送给比较单元503。偏移特性值计算单元502实现的具体方法很多,比如:可以直接将运动矢量绝对值的差值作为其偏移的变化程度,也可以直接将运动矢量绝对值的比值作为其偏移的变化程度,还可以利用偏移量在横坐标和纵坐标上的标量值来进行比较。具体计算可以参见方法部分的介绍,此处不再赘述。
比较单元503,用于将偏移特性值与存储单元505中保存的阈值相比较,并在偏移特性值大于与阈值的情况下通知编码单元504。
编码单元504,用于对视频图像进行编码,并在比较单元503通知偏移特性值大于与阈值的情况下编码一个I帧作为当前帧插入。
存储单元505,用于保存事先设置的阈值。
其中,偏移特性值计算单元502中内部结构的一个实施例可以如图6所示,包括:
第一计算单元5021,用于计算远邻待检测帧和近邻待检测帧中每一帧的偏移量,并发送给第二计算单元5022;所述每一帧的偏移量包括横坐标偏移量、纵坐标偏移量;所述横坐标偏移量为:每一帧中作为检测基准点宏块的运动矢量在横坐标方向的偏移量绝对值之和;所述纵坐标偏移量为:每一帧中作为检测基准点宏块的运动矢量在纵坐标方向的偏移量绝对值之和。第一计算单元5021具体的计算方法可以参见上述方法实施例中步骤402的公式(1)和公式(2)。
第二计算单元5022,用于计算所有远邻待检测帧横坐标偏移量之和,所有远邻待检测帧纵坐标偏移量之和;计算所有近邻待检测帧横坐标偏移量之和,所有近邻待检测帧纵坐标偏移量之和;并将计算结果发送给第三计算单元5023。第二计算单元4022具体的计算方法可以参见上述方法实施例中步骤403的公式(3)~公式(6)。
第三计算单元5023,用于计算远邻待检测帧横坐标偏移量之和与近邻待检测帧横坐标偏移量之和的比值,获得横坐标偏移量特性值;计算远邻待检测帧纵坐标偏移量之和与近邻待检测帧纵坐标偏移量之和的比值,获得纵坐标偏移量特性值;将计算结果发送给第四计算单元5024。第三计算单元5023具体的计算方法可以参见上述方法实施例中步骤404的公式(7)~公式(8)。
第四计算单元5024,用于根据设置的横坐标特性系数、计算出的横坐标偏移量特性值、设置的纵坐标特性系数、计算出的纵坐标偏移量特性值,计算获得所述的偏移特性值,并将计算结果发送给比较单元503。第四计算单元5024具体的计算方法可以参见上述方法实施例中步骤405的公式(9)。
图6仅仅是偏移特性值计算单元502中内部结构的一个实施例而已,如果不采用上述方法计算偏移特性值,其内部结构图也可能不同。比如前面所述的直接将运动矢量绝对值的差值作为偏移特性值,或者将运动矢量绝对值的比值作为偏移特性值。当然,即使参照本实施例的计算方法,也可以选择其它公式,比如:用远邻待检测帧横坐标偏移量与近邻待检测帧横坐标偏移量的方差来计算横坐标偏移量特性值,即:用远邻待检测帧纵坐标偏移量与近邻待检测帧纵坐标偏移量的方差来计算纵坐标偏移量特性值,即:从而第三计算单元5023的功能发生相应地变化。总之,不管采用哪种方法,只要是根据远邻待检测帧和近邻待检测帧的偏移量计算其偏移量特性值即可。
应用本发明方案,由于可以在视频编码时准确地检测出场景切换,并在场景切换处插入可以消除误差扩散的I帧,从而提高图像从模糊到清晰的恢复速度,提高视频会议的用户体验。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 在预测编码方式,装置之间,预测解码方式之间的等级,装置与等级之间的预测编码程序,预测解码程序以及这些程序记录之间进行分级的视频图像编码方法中
机译: v u00ecdeo的编码方法,v u00ecdeo编码器,对v u00ecdeo进行解码的方法,v u00ecdeo解码器可还原位序列的帧。M u00ecdia存储已存储在程序中,通过计算机读取 u00ecvel即可实现一种用于对v u00ecdeo,M u00ecdia存储器进行编码的方法,该方法已存储在计算机读取的程序pass u00ecvel中,以实现对v u00ecdeo进行编码的方法。v u00ecdeo的编码方法,用于消除冗余中的冗余v u00ecdeo的帧,解码v u00ecdeo的方法以恢复输入比特序列的原始图像,以及解码装置以恢复当前帧
机译: 动态图片图像编码中的代码定量分配方式使用了该视频图像编码方法和装置