一种视频的帧率检测方法与流程

文档序号:12498107阅读:4991来源:国知局
一种视频的帧率检测方法与流程

本发明涉及计算机多媒体技术领域,尤其是涉及一种视频的帧率检测方法。



背景技术:

随着互联网发展的深入,越来越多的视频内容被生产与消费,同时,视频的质量也越来越得到用户的关注。导致视频丢帧的环节主要在拍摄、传输、播放这三个环节。目前,有越来越多的视频在智能手机、平板电脑上拍摄与播放,由于这些设备在性能上与专业设备存在差距,越来越多的视频内容在帧率这个指标上存在瑕疵。与此同时,通过移动网络传输视频情况也加重了丢帧的问题。因此,对视频帧率的快速检测的需求日益增多。

传统的检测方法主要是在拍摄时,对拍摄的每一帧进行编号(参考),并把这个编号添加到视频帧上。然后在播放时,对影响进行扫描,如果出现编号跳跃的情况,就表示有丢帧。传统方法主要是在摄像头在采集到视频图片后加入帧编号,因此无法检测因摄像头性能不佳导致的丢帧。另外,由于编号信息被放入到视频帧中,因此,在检测过程中必须完整播放一次视频才能完成检测。



技术实现要素:

本发明的目的是针对上述问题提供一种视频的帧率检测方法。

本发明的目的可以通过以下技术方案来实现:

一种视频的帧率检测方法,所述方法包括下列步骤:

1)读取第一帧视频数据,并计算该帧视频数据的二值特征;

2)读取下一帧视频数据,并计算当前视频数据的二值特征;

3)比较当前视频数据的二值特征与其上一帧视频数据的二值特征是否相同,若是则记录掉帧并进入步骤4),若否则进入步骤4);

4)保存当前视频数据的二值特征,判断当前视频数据是否为最后一帧视频数据,若是则结束视频的帧率检测并输出掉帧记录,若否则返回步骤2)。

所述二值特征的计算方法具体为:

11)对视频数据进行格式转换,得到视频数据的灰度图;

12)提取步骤11)得到的灰度图的二值特征,即为视频数据的二值特征。

所述步骤11)具体为:

111)将视频数据从YUV格式转换为RGB格式;

112)对RGB格式的数据进行灰度处理,得到灰度图。

所述将视频数据从YUV格式转换为RGB格式具体为:

R=1.164(Y-16)+1.596(V-128)

G=1.164(Y-16)-0.813(V-128)-0.391(U-128)

B=1.164(Y-16)+2.018(U-128)

其中,R为RGB格式中R通道的值,G为RGB格式中G通道的值,B为RGB格式中B通道的值,Y为YUV格式中Y通道的值,U为YUV格式中U通道的值,V为YUV格式中V通道的值。

所述对RGB格式的数据进行灰度处理具体为:

Gray=R×0.299+G×0.587+B×0.114

其中,Gray为得到的灰度图,R为RGB格式中R通道的值,G为RGB格式中G通道的值,B为RGB格式中B通道的值。

所述步骤12)具体为:

121)将视频数据的灰度图按照相邻的3×3个像素进行分割得到所有3×3像素块;

122)对每一个分割得到的3×3像素块,将像素块内的每一个周围点的像素与中心像素进行数值比较,若该周围点的像素大于中心像素,则周围点的值记为1,否则该周围点的值记为0;

123)以像素块的左上角为起点,按顺时针方向依次获取周围点的值,得到的序列即为该像素块的局部二值特征,将所有像素块的局部二值特征进行组合,得到灰度图的二值特征。

与现有技术相比,本发明具有以下有益效果:

(1)传统的检测方法通过对视频帧添加编号来进行帧率检测,因而在摄像头性能不佳时,无法检测到掉帧,与传统方法相比,由于本方法是将当前帧视频数据的二值特征与上一帧视频数据的二值特征进行比对,因而在摄像头性能不佳导致丢帧时,也可以检测出来。

(2)本方法在检测视频帧率时,只需有当前帧的视频数据和上一帧的视频数据即可实现,因此既可以对完整视频进行帧率检测,也可以对视频的特定区间进行帧率检测,在对视频的特定区间进行检测时,无需完整播放视频,减小了检测时间,提高了检测效率。

(3)通过对视频数据进行格式转换提取视频的二值特征,操作简单且效率高,便于实现。

(4)通过进行像素值比较得到像素块的局部二值特征,将所有像素块的局部二值特征组合得到灰度图的二值特征,只需通过比较即可完成计算,计算量小,计算速度快,从而提高了整体帧率检测的速度。

(5)本方法无需对视频进行任何预处理即可实现,实现简单,适用范围广。

附图说明

图1为本发明的方法流程图;

图2为二值特征计算的示例图,其中(2a)为3×3像素块,(2b)为该像素块在二值特征计算后的结果。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1所示,为一种视频的帧率检测方法,包括下列步骤:

1)读取第一帧视频数据,并计算该帧视频数据的二值特征:

11)对视频数据进行格式转换,得到视频数据的灰度图:

111)将视频数据从YUV格式转换为RGB格式,即:

R=1.164(Y-16)+1.596(V-128)

G=1.164(Y-16)-0.813(V-128)-0.391(U-128)

B=1.164(Y-16)+2.018(U-128)

其中,R为RGB格式中R通道的值,G为RGB格式中G通道的值,B为RGB格式中B通道的值,Y为YUV格式中Y通道的值,U为YUV格式中U通道的值,V为YUV格式中V通道的值;

112)对RGB格式的数据进行灰度处理,得到灰度图,即:

Gray=R×0.299+G×0.587+B×0.114

其中,Gray为得到的灰度图,R为RGB格式中R通道的值,G为RGB格式中G通道的值,B为RGB格式中B通道的值;

12)提取步骤11)得到的灰度图的二值特征,即为视频数据的二值特征:

121)将视频数据的灰度图按照相邻的3×3个像素进行分割得到所有3×3像素块;

122)对每一个分割得到的3×3像素块,将像素块内的每一个周围点的像素与中心像素进行数值比较,若该周围点的像素大于中心像素,则周围点的值记为1,否则该周围点的值记为0;

123)将所有周围点的值按顺时针排序得到二进制序列,即为该像素块的局部二值特征,将所有像素块的局部二值特征进行组合,得到灰度图的二值特征;

2)读取下一帧视频数据,并计算当前视频数据的二值特征;

3)比较当前视频数据的二值特征与其上一帧视频数据的二值特征是否相同,若是则记录掉帧并进入步骤4),若否则进入步骤4);

4)保存当前视频数据的二值特征,判断当前视频数据是否为最后一帧视频数据,若是则结束视频的帧率检测并输出掉帧记录,若否则返回步骤2)。

如图2所示,为步骤122)的具体示例图,图(2a)中为一个3×3像素块,将像素块中周围每一块的像素值与中心像素块的像素值69进行比较,大于69的块标记为1,小于或等于69的块标记为0,得到的结果如图(2b)所示,将图(2b)的值以像素块的左上角为起点,按顺时针方向依次获取周围点的值,则得到该像素块的二值特征为“01011010”。

利用本方法对一部长约20分钟,960×540分辨率的视频进行帧率检测,在一台普通配置的电脑上耗时约150秒,与传统方法相比,速度提高了8倍,可见本方法的效率有了显著的提高。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1