文档详情

基于画面组单元时序控制算法的H.264实时流关键帧预处理

lj157****0132
实名认证
店铺
DOCX
22.81KB
约13页
文档ID:257962181
基于画面组单元时序控制算法的H.264实时流关键帧预处理_第1页
1/13

基于画面组单元时序控制算法的H.264实时流关键帧预处理 摘 要: 网络带宽特殊是上行带宽受限状况下,基于H.264高压缩率的网络音视频通话或视频会议普遍会出现不同程度的丢包现象,从而造成流媒体播放的花屏等质量问题,影响视频通话或视频会议的效果针对上述问题,提出了基于关键帧预处理的实时流媒体播放质量限制方法该方法采纳单元时序限制算法对视频关键坏帧进行实时侦测和取舍,进而削减花屏状况运用该方法将降低后处理计算的时空成本,并提高流媒体播放的流畅性通过原始帧播放、后处理播放、关键帧预处理播放3种处理方法的试验对比,证明基于播放单元时序限制算法的实时流媒体播放器,不但明显提高了播放的流畅性,播放后处理的计算困难度也降低了40%以上结果表明,该方法对提高播放质量、削减花屏状况有着突出的效果 关键词: H.264;实时流媒体;关键帧预处理;时序限制算法;画面组单元 0 引言 在实时流媒体中,视频数据的完整性确定着视频的播放质量视频数据在不同网络环境下会有不同程度的缺失,这会导致视频图像质量的下降,即便运用H.264进行视频压缩也会发觉这样的状况现在主流的流媒体播放器通过后处理方式对画面图像进行优化,但是都没有彻底解决花屏问题。

尤其在低带宽下,花屏问题特别突出所以,提高实时流媒体的播放质量是解决花屏问题的核心 基于这个问题,本文主要从两个方面对视频数据缺失缘由进行分析:1)对实时流媒体数据传输流程中四个步骤的数据缺失进行分析;2)对画面组中的关键帧与非关键帧的缺失问题进行分析,其中GOP表示一组连续的画面,一个GOP中包含一个关键帧和多个非关键帧[1]在此基础上,本文创新地提出了关键帧预处理机制,引入花屏与卡屏以及花屏与卡屏之间平衡的概念,并通过此机制提出GOP单元时序限制算法对视频的关键坏帧进行实时侦测和取舍该算法在保持视频流畅的基础上尽量丢弃花屏帧,这极大降低了后处理计算的时空成本和硬件设备的性能要求最终,本文通过3种播放器的对比试验来证明关键帧预处理播放器不但明显提高了视频的清楚度和流畅性,而且使后处理的计算困难度也有很大的降低 1 相关工作 1.1 实时流播放中的数据缺失 实时流媒体技术中运用了实时传输协议、实时传输限制协议和实时流协议等协议来支持实时流媒体的传输[2-3]在实时流媒体图像数据从传输到呈现的流程主要由4部分组成:数据通信、解包、解码和呈现 1)数据通信数据通信主要工作是完成RTP包从服务端到显示端的传输。

传输RTP包可以有TCP和UDP两种传输方式,而大多数实时流媒体运用UDP传输,所以低带宽下将不行避开地出现数据抖动这就导致了数据的依次性和完整性缺失 2)解包解包的主要工作是解析RTP包,得到RTP包中的原始媒体数据[4]每一个数据包都将被解析并组合,输出相应的媒体原始数据对于数据包抖动问题,此过程中将会丢弃过时数据包,以保留图像数据的流畅性以及实时性 3)解码解码的主要工作是运用特定的标准或格式将压缩的图像数据还原成相应的完整图像数据本文主要分析的是H.264标准在低带宽下,原始数据采集可能会有不同程度的缺失,这将导致图像数据不完整问题;在解码时,不完整数据无法还原成完整的图像数据,所以会导致帧图像不完整 4)呈现当解码完成之后,完整图像数据会进行后处理以优化图像数据,例如消退块效应等,最终进行呈现此过程中,虽然后处理可以优化图像数据,但也无法解决因图像缺失而导致的图像质量低下问题,在低带宽下尤其明显 1.2 图像帧缺失对画面的影响 在视频压缩中,每一个图像帧是代表了一幅静止的图像而在实时流媒体中,为了尽可能削减网络传输带宽,原始数据会通过各类算法被尽可能地压缩。

在H.264中也是如此,H.264中的图像帧主要分为两种:关键帧与非关键帧[5-6] 定义1 关键帧与非关键帧关键帧即为I帧,是一帧画面的完整保留,而非关键帧即为非I帧在解码时,本帧数据就可解出完整画面[7]I帧是有固定的传送时间,且一个关键帧属于一个GOP单元,单元内全部非关键帧都要依靠I帧压缩数据,所以关键帧的完整性将干脆影响图像质量假如关键帧缺失,会导致在GOP时间内图像必定会有很大程度的下降;假如关键帧完整,则在GOP时间内大部分视频图像稳定[8-10]可以看出,关键帧的缺失会干脆影响视频效果 2 GOP单元时序限制算法 2.1 关键帧预处理机制 引入关键帧的预处理将会干脆改善视频上述问题而这个预处理主要的处理逻辑就是如何利用花屏与卡屏的平衡进行丢帧才能得到最志向的播放效果 定义2 花屏与卡屏花屏与卡屏指的是在实时流媒体视频播放中两种常见的显示故障 当帧图像不完整时,图像会有出现常色不同的条纹、斑点,或位置颠倒、错乱和扭曲等状况,为花屏[11-12];而前一图像和下一图像间有短时间卡顿致使播放不连贯,为卡屏而花屏与卡屏之间可以通过丢弃不完整帧进行转换当遇到关键帧缺失时,假如将此关键帧所属的一个GOP单元内的全部帧丢弃,那么此花屏部分将被屏蔽,呈现时将不会看到花屏,但由此操作之后,这个GOP单元所在时间内将不会有新画面呈现,卡屏问题就会显现。

所以,假如能在花屏与卡屏之间找到平衡,使在保持视频流畅度的基础上尽量丢弃花屏帧,那么视频播放将会达到志向的效果 定义3 花屏与卡屏的平衡花屏与卡屏的平衡指的是一种稳定状态,使在低带宽下依据用户对视频的体验程度对花屏和卡屏作相应限制,使流媒体视频播放尽量保持流畅度,尽量丢弃花屏帧,到达一个志向的效果 换句话说,产生花屏问题的是图像帧的完整度不高,而产生卡屏问题的是连续性不高由此,假如将完整度和连续度运用算法和逻辑进行平衡,找到这样的稳定状态,那么就可以优化出最好的播放效果要达到这样的平衡关系,则须要引入两种平衡,分别是GOP单元组平衡和GOP连续性平衡 1)GOP单元组平衡GOP单元组平衡指在一组GOP单元内,通过权衡该组的连续性和完整度,使其视频效果达到最优的一种稳定状态 在低带宽下,关键帧将会出现不同程度的缺失,那么缺失程度也将影响一个GOP图像质量在一组GOP内,假如花屏效果不明显,卡屏效果明显,如若将接下来的GOP进行保留提高播放流畅性,但假如花屏效果明显,卡屏效果不明显,如若丢弃接下来的GOP将会提高播放的质量 2)GOP连续性平衡GOP连续性平衡指在一个播放时间段内,通过对全部已播放帧的缺失度权衡,在全局上达到最优的一种稳定状态。

在视频播放一段时间之后,播放器可以统计此段时间的播放质量和播放的流畅性这有助于对整个播放过程进行全局的把控当预知整个播放质量不高时,怎可以调整预处理的丢帧量,从而达到较好的播放效果 怎样运用GOP单元组平衡与GOP连续性平衡来达到花屏和卡屏的平衡,进而达到最好的播放效果,是GOP单元时序限制算法须要完成的任务 2.2 单元时序限制算法的相关变量 1)GOP标记单元一个GOP标记单元主要标识本GOP单元是否可以进行播放呈现GOP标记单结构中主要有标记参数:单元有效性标记当GOP标记单元被标记为有效时,则本GOP的关键帧和非关键帧都会进行播放呈现;反之则全部丢弃 2)标记单元时序队列队列主要对标记单元组进行时序限制和有效性限制队列结构中主要包含以下参数:GOP标记单元队列、队列容量、无效单元数其中:队列有一个最大容量,即队列中所容纳的固定数量的GOP 3)播放区间播放区间主要工作是记录一段时间内的各种帧计数和其缺失度累计和,而后其他参数主要参加丢帧算法的运算 4)缺失度缺失度是一帧中帧信号缺失数量与帧信号完整数量之比缺失度表示帧的完整程度当在低带宽下时,图像缺失就比较明显,则缺失度较高。

5)卡顿度卡顿度指在一个GOP单元组内,无效单元数与队列容量之比卡顿度表示该时间段内图像呈现的流畅程度当在低带宽下,丢帧明显,则卡顿度较高 6)丢帧度丢帧度衡量当前帧是否须要丢弃给定3个权值,分别是:缺失度权值、卡顿度权值和连续性权值其中缺失度权值是反映关键帧缺失度的比重,卡顿度权值是反映一组GOP卡顿指标的比重,连续性权值是反映在一个播放区间帧平均缺失度指标的比重若设一个播放区间内的一已播放关键帧的缺失度为KDi,共M个;一个已播放非关键帧缺失度为NKDj,共N个,i, j=1,2,…,则丢帧度计算可用式表示: DDF=D*P1+F*P2+∑Mi=1KDi+∑Nj=1NKDjM+N*P3相关阈值该算法中主要考虑3个阈值,分别为关键帧缺失度阈值、卡顿度阈值和丢帧阈值其中,关键帧缺失度阈值是关键帧的缺失度上限值在一个GOP中,假如关键帧缺失度超过缺失度阈值,则认为此GOP存在较大的缺失度卡顿度阈值即是GOP间的卡顿上限值,即在一组GOP内,假如丢弃数量达到卡顿度阈值上限,则认为此视频播放有较大卡顿丢帧阈值即是丢弃GOP的可行性上限假如当计算值超过此上限值,则视为可丢弃帧,可以进行丢弃。

在算法中,缺失度、卡顿度、丢帧度权值的确定确定了流媒体视频播放的侧重程度当带宽越低,丢帧计算量越大,则权值的影响效果越明显假如缺失度权值大于其他两个权值,则卡屏几率就会增加,但图像质量也会有所提高;假如卡顿度权值大于其他两个权值,那么虽然图像质量会下降,但保证了流畅度;当连续性权值大于其他两个权值,那么播放质量将从整体缺失度动身,再确定是否丢帧 2.3 GOP单元时序限制算法 当播放器每次解码完一个图像帧之后,就将进行关键帧预处理其算法核心就是基于花屏与卡屏的平衡来推断当前帧是否允许放行播放GOP单元时序限制算法如下所示 3 关键帧预处理试验 3.1 试验环境 试验平台采纳Intel Core i53230M 2.6GHz处理器、4GB内存、320GB SATA硬盘,操作系统为Windows 7,全部算法采纳C++语言实现,并在VS环境下编译 本次试验将选取处于低带宽环境下的流媒体源作为试验室对象,分别运用3种不同类型的播放处理连续播放30min原始图像播放不对实时流媒体作任何处理,仅仅是通过数据通信、解包、解码、呈现的步骤干脆播出实时流;后处理播放会通过后处理来优化图像效果并播放;关键帧预处理播放会在后处理优化的步骤之前加入GOP单元时序限制预处理,然后再进行播放。

试验针对同一实时流媒体源采纳3种播放方法同时进行播放,整理出3种播放方法的平均CPU运用率、平均内存运用状况、预处理丢帧状况以及3组播放图像质量效果 3.2 试验结果 通过以上试验,3种播放器的平均CPU运用和平均内存运用状况率如图1~2所示 3.3 试验分析 通过对试验,原始播放、后处理播放、关键帧预处理播放3种播放方式的平均CPU运用率和平均内存运用状况进行对比,可以得出在同等时间内,3种播放方式的平均CPU运用率分别约为1%~2%、5%、3%,其平均内存运用状况分别约为6MB、9~10MB、6~6.5MB关键预处理播放器的平均CPU运用率比干脆进行后处理的播放器降低了2%左右,平均内存运用降低了3MB左右 对关键帧预处理播放器播放统计发觉,随着GOP数量的增加,问题关键帧和问题非关键帧量成倍增加,通过预处理算法,在预处理中丢帧量约为总问题帧量的64%,这大大减轻了后处理播放中对问题帧的处理压力,与后处理播放方式相比,其计算困难度降低了40%以上 通过以上图像对比结果可知原始播放器与后处理播放器的效果相近,当遇到低带宽的状况时,花屏严峻关键帧预处理播放器可明显感觉到图像质量有很大的提升,最差质量的对比效果尤为突出。

下载提示
相似文档
正为您匹配相似的精品文档