基于MapReduce的并行视频处理技术的设计与实现
摘 要 随着互联网的发展,视频数据量快速增长,用单机处理海量视频数据非常耗时,因此提高视频处理效率已成为视频领域新的挑战。本文设计了基于MapReduce的视频处理输入输出格式,并应用该设计实现对视频数据的并行处理,有效提高了视频处理效率。
【关键词】MapReduce 大数据处理 视频处理 Xuggle
图片、视频数据量急剧增长,传统的单机操作已不能胜任视频处理。提高海量视频数据处理的效率常用的方法是使用多处理器,但效果并不显著。本文提出基于MapReduce计算框架的视频数据处理模型,并实现了计算机视觉的相关算法。
1 MapReduce计算框架介绍
MapReduce是谷歌提出的软件框架,基于该框架的应用程序能够运行在由上千个普通机器组成的大型集群上,并以一种可靠容错的方式并行处理T级别的数据集。每个MapReduce任务都被初始化为一个Job。每个Job又可以分为两个阶段:Map阶段和Reduce。这两个阶段分别用两个函数来表示,即Ma函数和Reduce函数。
2 基于Mapreduce的视频处理设计
MapReduce是对海量数据进行并行处理的计算框架,因此MapReduce框架也可以对海量视频数据进行分析处理。但用于MapReduce处理的数据类型多是针对于文本数据,而视频是非结构化的数据,所以不能用MapReduce直接处理视频数据,需要设计MapReduce下用于处理视频的数据类型,处理流程如图1所示:
3 基于MapReduce的视频处理算法实现
为了检验基于MapReduce的海量视频处理框架的有效性,实验实现了基于MapReduce的人车分类算法。通过对采集的视频进行智能分析,获取运动目标,并通过分析目标的边缘方向分布对其进行自动分类,有效区别道路上的行人和车辆。与单机处理结果对比如表1:
由表1可知:同等大小的视频,在Hadoop集群上运用MapReduce框架进行人车分类算法所需的时间明显小于在单机上处理所需的时间,因此面对海量视频数据,采用基于MapReduce的视频处理框架可以提高视频处理的效率。
4 结束语
本文根据MapReduce计算框架的特点,设计了一种MapReduce框架上针对视频文件处理的输入输出格式,使得视频数据在MapReduce框架上并行处理,提高了视频分析的效率。将MapReduce应用于视频处理,这是一种应用创新,有效地提高了视频处理的速率。
参考文献
[1]Moretti,C.,Bui,H.,Hollingsworth, K.,Rich,B.,Flynn,P.,Thain,D.:All-pairs:Anabstraction fordata-intensive computing on campus grids.IEEE Transactions on Parallel and Distributed Systems21,33-46(2010).
[2]Pereira,R.,Azambuja,M.,Breitman,K.,Endler,M.:An architecture for distributed high Performance video processing in the cloud.In:Proceedings of the 2010 IEEE 3rd International Conference on Cloud Computing.pp.482-489.CLOUD’10(2010).
[3]B.White,T.Yeh,J.Lin,and L.Davis,"Web-scale computer vision using MapReduce for multi media datamining",in DMKDD'10,2010,articleNo.9.
[4]Chris Sweeney,Liu Liu,Sean Arietta,Jason Lawrence.HIPI:Ahadoop Image Processing Interface for Image-based MapReduce Tasks,B.S. Thesis. University of Virginia, Department of Computer Science,2011.
通讯作者
王春利(1980-),男,硕士学位。现为桂林电子科技大学信息科技学院讲师。主要研究方向为差分方程、计算机视觉相关理论。
作者单位
1.桂林电子科技大学信息与通信学院 广西壮族自治区桂林市 541004
2.桂林电子科技大学信息科技学院 广西壮族自治区桂林市 541004