DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 611|回复: 0
打印 上一主题 下一主题

[GPS] 基于GIS与Android的移动视频技术研究

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:13:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Computer Knowledge and Technology 电脑知识与技术
本栏目责任编辑:唐一东 多媒体技术及其应用
第8卷第1期(2012年1月)
基于GIS与Android的移动视频技术研究
林夏,陈义华
(合肥工业大学资源与环境工程学院,安徽合肥230009)
摘要:介绍了当前视频GIS 系统发展的状况,研究分析了基于GIS 的视频编解码及传输、空间信息与视频信息的结合等技术。在此
基础上设计了一个基于Android 平台的远程移动视频GIS 系统。详细论述了系统的总体构架、工作原理,主要功能及系统实现的关
键技术等,最后分析了系统存在的不足和今后研究的方向。
关键词:Android;H264视频流;RTP协议;移动视频GIS;GPS
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2012)01-0159-04
Research on the Mobile Video Technology Based on GIS and Android
LIN Xia, CHEN Yi-hua
(School of Resource and Environment Engineering, Hefei University of Technology, Hefei 230009, China)
Abstract: This paper introduces the current situation of the development of the video GIS system. Then the technology of video encod?
ing, decoding and transmission and the method of combination of spatial data and video data are analyzed. On this foundation, a remote
mobile video GIS system based on the Android platform is proposed. The architecture, working principle, main function and key tech?
niques of system are discussed. Eventually, the defects existed in system is analyzed and the future research direction of mobile video system
is summarized.
Key words:android; H264 video; RTP protocol; mobile video GIS; GPS
随着地理信息(GIS)系统迅速地发展和广泛应用,与多媒体数据尤其是视频数据结合的GIS无论在效果还是表现力上都比传统
的GIS有着天然优势。国外在这方面的研究比较早,Berry(2000)提出了视频地图系统,即在视频的一个声道中记录精确的位置和事
件数据,并提出数据的外业采集、内业处理与实际应用方案。[1]Navarrete& Blat (2002)在VideoGIS项目中通过建立视频片段的地理索
引,来将视频影像和地理信息相结合。[2]国内也有过相关研究:孔云峰(2007)在一个公路视频GIS项目中,实现了视频和地图的同步
播放和交互查询。[3]丰江帆和张宏(2007)在视频直播系统项目中,融合了GPS和视频数据,实现了基于位置的视频直播系统。[4]宋
宏权(2010)用Adobe Flex技术,成功设计和实现了基于Web的视频GIS系统,把视频GIS研究又向前发展了一步。[5]
如今,随着网络通信技术的成熟和广泛应用,尤其是3G网络的普及,基于网络多媒体的视频地理信息系统已然蓬勃发展,并且
日渐成熟。目前比较流行的一种做法,是把视频数据传输到服务器端,然后在服务器端通过手工处理音频通道或建立视频影像元
数据记录空间位置信息,来实现地理空间信息与视频信息的同步。另一种做法是把GIS技术应用到视频监控系统中,实现位置信息
与视频信息的同步。近几年来,随着智能手机和云服务的普及应用,可以预见,基于手持移动端的移动视频地理信息系统将会成为
未来的研究热点。
本文将从网络多媒体角度,利用GIS和视频处理技术,设计了基于Andriod平台的远程移动视频地理信息系统,对系统的主要内
容及关键技术进行了详细的分析。
1 系统设计与分析
1.1 系统总体架构设计
移动视频地理信息系统由手持移动终端、无线通信、Web服务器和基于GIS的视频接收终端几个主要部分组成,系统构架见图1
所示。
图1 系统架构图
系统工作原理为:手持移动终端通过Android手机内置的GPS芯片通过定位卫星获取当前GPS坐标(经度和纬度),与手机采集
收稿日期:2011-11- 06
作者简介:林夏(1989-),主要研究方向为WebGIS、Mobile GIS应用与开发。
E-mail: [img]mailto:eduf@cccc.net.cn]eduf@cccc.net.cn
[img]http://www.dnzs.net.cn]http://www.dnzs.net.cn
Tel:+86-551-5690963 5690964
ISSN 1009-3044
Computer Knowledge and Technology 电脑知识与技术
Vol.8, No.1, January 2012
159
Computer Knowledge and Technology 电脑知识与技术
多媒体技术及其应用 本栏目责任编辑:唐一东
第8卷第1期(2012年1月)
的视频实时同步编码,通过无线通信网络发送给视频接收终端。视频接收终端接受到手持移动终端发来的数据后,经过解码,一边
实时显示视频数据,一边将GPS坐标与地图上的坐标进行匹配,在地图上动态显示移动端当前位置。从而实现在视频接收终端观
看移动端视频的同时,同步地在地图上显示移动端的当前位置和周围环境状况。此外,在手持移动端和视频接收终端,都可以地图
进行查询和空间分析操作,方便此系统在各个领域中对特定应用需求的扩展应用。
1.2 系统功能设计
移动视频GIS系统设计的主要作用是为了适应当今网络通讯技术特点,特别是WIFI和3G网络的普及前提下,利用先进的视频
技术、网络传输技术结合GIS技术,提供移动用户更清晰、高质量的实时视频通信的同时,支持强大的空间查询和分析能力,增强用
户体验。
本系统的核心数据是视频和空间数据。要实现移动端实时视频采集和显示,系统需要分模块对视频数据进行采集、编码、传
输、解码、存储和显示等处理。系统要丰富用户体验和增强数据多样性,需要将视频和空间位置信息融合,再在基本电子地图功能
的基础上,用GIS定制空间分析功能。由于不同移动用户可以和不同视频接收终端进行通信,因此系统需要针对不同用户进行信息
管理。系统功能结构如图2所示。
图2 系统功能结构图
2 系统实现
2.1 环境平台
本系统手持移动终端采用基于Android平台的ArcGIS API for Android组件进行开发。Android是基于Linux的开源手机平台;由
操作系统、中间件、用户界面和应用软件四部分组成,是首个为移动终端打造的真正开放和完整地移动软件平台。ArcGIS API for
Android是ESRI公司开发的在Android平台下为GIS开发者提供的软件开发包,通过接口可以实现显示并导航地图、查找地址点、采
集GIS 数据等功能,可以最大程度地满足本系统的开发要求。基于以上思路,手持移动端基于Android平台利用ArcGIS API进行开
发;视频接收终端采用.net平台利用ArcGIS Engine组件开发;Web服务器端利用ArcGIS Server发布地图和相关服务,以供手持移动
端调用。
2.2 视频编码格式与传输协议
从手机硬件和无线通信技术特点出发,为了同时保证视频的清晰度和流畅性,必须选择一个先进的视频编码格式和合适的传
输协议。本系统采用H.264标准作为视频压缩标准,采用RTP协议作为传输协议,在技术选择上保证视频流的容量小、高保真、快速
传输,从而实现视频的实时清晰播放。H.264是国际组织新制定的视频编码标准,具有高压缩比、码率低;图像质量高、容错能力强;
网络适应性强;应用范围广等优点,是现代视频通信的首选格式。实时传输协议RTP是用于Internet上针对多媒体通信制定的一种
传输协议,详细说明了音视频的标准数据包格式,相对于其他协议更强调实时性。经过在WIFI网测试,本系统能理想地通过RTP
协议以H.264格式传输视频,到达实时观看移动视频的效果。
2.3视频数据与GPS信息实时编码
为使视频多样性和提高编码速度,系统中采用JNI(Java native Interface)技术调用移植到Android平台的第三方组件FFmpeg sdk
来实现视频流和GPS信息的同步编码。FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,提供了录制、转换以及
流化音视频的完整解决方案。视频编码时,使用脚本命令来存储实时GPS信息。脚本命令包括索引、脚本类型、脚本内容。这样当
摄像头每获取一帧并进行编码时,就在编码中添加一条脚本命令,从而实现视频数据和GPS信息的融合。
2.4数据传输
H.264视频流要通过RTP进行传输,这要求H.264视频数据需要根据RTP规范封装成数据包。采用简单的打包方案,把H.264
的NALU放入负载中,配置RTP包头的一系列参数,从而形成一个完整地RTP数据包,通过网络发送给视频接收端。其流程分为两
部分:(1)移动端发送数据。其流程简单归纳为:初始化RTP结构、创建RTP套接字、开启上下文会话;(2)视频接收终端接受数据。
其流程为:建立数据接收缓冲区、从socket端读取数据到缓冲区、从缓冲区读取RTP报文到指定位置。
2.5 数据解码
视频接收终端接受到的数据是RTP包数据,因此要经过一些列的拆包、组包、解码之后才能进行播放。具体流程为网络接收线
程从网络接口读取数据流,把其放入接受缓冲区中,有可能需要RTP包时序处理。接着经解码线程从“接收缓冲区”中拆包处理后,
将数据读取到“视频帧缓冲区”中,可能需要组包处理。此时,再用GPS线程把GPS信息读取后直接在地图上高亮显示出来。同时,
为了消除抖动,再把数据放到环形缓冲区中处理。然后当解码器资源充足时,解码线程就从环形缓冲区中读取数据进行解码,否则
160
Computer Knowledge and Technology 电脑知识与技术
本栏目责任编辑:唐一东 多媒体技术及其应用
第8卷第1期(2012年1月)
进行丢包处理。经解码器解码后,将得到yuv420格式视频流,转化为RGB格式后,再放入到“显示缓冲区”中,最终播放器从“显示缓
冲区”中读取视频流播放。
本系统采用在windows下对FFmpegsdk二次开发实现H. 264视频流的解码和实时播放。系统数据流程图如图3所示。
图3 系统数据流程图
2.6 系统实现
基于以上设计思想,结合最初的功能需求,作者开发了以合肥工业大学校园为例的远程移动视频GIS系统。该系统不仅建立了
合肥市的空间数据库,而且实现了设计所需的功能要求。
系统开发主要分两部分:手持移动终端和视频接收终端。手持移动终端采用Android + ArcGIS API for Android开发,在逻辑上
采用三层架构:上层应用层使用Java编码,实现视频采集、视频实时编码等基本功能;中间层JNI层实现对底层的调用,用C++编写;
底层数据接收层,实现RTP协议的网络传输、视频编解码等功能,用C语言编写。电子地图的基本功能通过ArcGIS API for Android
接口编程来实现,空间分析功能通过调用ArcServer发布GP服务实现。视频接收终端采用在.net平台下用ArcEngine进行二次开发。
图4为带GPS的手持移动终端采集视频并实时传输的用户界面,当移动用户登录后,就可通过设置IP地址和端口与指定视频接
收终端连接,按下“录制”按钮,就开始发送实时采集的视频与GPS信号,实现视频通信。
图5为视频接收终端实时显示视频并定位到移动端GPS位置的用户界面。图中正在对合肥工业大学主教附近进行视频采集。
图4 手持移动端图5 视频接收终端
3 系统实现相关技术
3.1 JNI + NDK技术
Android的上层应用是用Java写的,底层媒体库是用C语言写的。为了摈弃Java语言效率低的缺点,本系统采用JNI(Java native
interface)+NDK(Native Development Kit)的技术,直接对底层库进行操控,以提高视频采集和编解码的效率。NDK提供了一些列的
工具集,帮助Android开发者快速开发动态库,并能自动将动态库和java应用一起打包成安装包文件。JNI允许Java代码和其他语言
编写的代码进行交互。在Android中提供JNI的方式,让Java程序可以调用C语言程序。本系统移动端,网络传输和编码模块都采
用了JNI + NDK技术。
3.2 RTP封包处理
为了达到实时的效果,系统采用了H.264视频标准编码和RTP协议来传输视频数据。H.264编码器支持的视频流格式是YUV
(Android视频采集默认的生成格式),其压缩系统包括视频编码层(VCl)和网络提取层(NAL),分别负责实现视频数据压缩编码和解
码和对视频数据进行封装打包后使其在网络中传送。H.264数据的RTP封包实质就是先配好RTP数据分组头部,再把NALU(网络
提取层单元)打包进RTP的负载中,从而通过RTP协议传输。本系统先定义了RTP协议的相关数据结构:数据报文结构、头部结构、
头扩展结构、同部源结构和RTP会话上下文结构,再用打包算法把已生成的H.264视频负载到RTP数据包中。打包的常用算法有:
固定包长打包算法、面向实时流媒体的混合模式打包算法、基于NALU大小的单个或者分割打包算法等。方法各有优缺点,因此要
根据系统需求,选择合适的算法。本文鉴于Android系统性能的考虑,使用了较简单的固定包长打包算法。其优点是算法简单,打
包效率高;缺点是NAL单元有可能不放到同一个RTP包中,但这可以通过在视频接受端进行视频预处理解决,使视频分帧后再播
放。
161
Computer Knowledge and Technology 电脑知识与技术
多媒体技术及其应用 本栏目责任编辑:唐一东
第8卷第1期(2012年1月)
3.3 多线程技术
多线程技术的好处在于线程之间共用内存,节省了内存;相互间的切换,由于速度快,就像多个线程同时执行一样,提高了效
率。在本系统中,手持移动端和视频接收终端都用了多线程技术。在手持移动端,由于手机的CPU处理能力远不及PC机,为了保
持系统性能而不出现黑屏、死机等状况,用分线程去处理那些CPU占用率高的任务。其中,用主线程完成UI界面刷新和即时功能操
作的响应,如按钮的即时响应、UI界面的切换;用分线程执行CPU占用率高和耗时的工作,如视频编码、网络通讯。在视频接收终
端,线程的引入是为了减少程序并发执行时所付出的时间和空间开销,使系统具有良好的并发性。从网络接收RTP包到最终播放,
用了4个线程:网络接收线程、解码线程、GPS数据读取线程、视频播放线程;3个缓冲区:接收缓冲区、视频数据环形缓冲区和显示缓
冲区,以使视频接收端在缓冲一段时间后流畅播放视频。
4 总结
本论文研究的创新之处在于根据现代手机系统和网络通信特点,采用最新的技术,设计了一个基于Android的远程移动视频系
统,融合了视频信息和空间位置信息,实现了视频和空间信息的查询和分析功能。实践表明,本文提出的基本思路和设计方案具有
可行性。此外,本系统具有良好的可扩展性,可根据不同行业、领域的需求定制和扩展相应的功能,应用到如车载视频监控、森林火
灾监控、视频旅游等方面。
同时,本文也只是基于一个实验性系统去探究和设计,存在着一些问题。(1)经过测试,在WIFI网络下,视频能流畅播放。但用
普通网络(带宽40kb~60kb),视频则不是很流畅;(2)视频有时会出现跳跃的现象。这是由于有时RTP协议是不可靠传输协议,有时
会出现丢包现象。此外,此系统没有对RTP包接受部分进行很好的失序和拥塞处理,也是导致视频不稳定因素之一;(3)移植性不
佳,未实现跨平台性。基于Android的远程视频移动GIS系统应具有和不同平台环境的视频接收终端进行通信的能力,而本系统并
未处理这方面的问题。
随着3G网络的成熟和普及,基于手持设备系统的视频地理信息系统将有巨大的发展空间和应用。无论是硬件设备、网络传输
速度的提高,还是软件技术的发展更新,都意味着视频编解码和传输性能的提高,届时将实现真正意义上的实时的、高保真的视频
播放。在下一阶段的研究中,主要有三个研究方向:(1)完善视频与空间信息相结合的模型,把GIS技术更广泛地利用到移动视频领
域;(2)开发具有良好封装性和可移植性的模块功能。将视频编解码模块、网络通信模块封装得更好,提供不同数据格式的编解码
接口和不同协议的封包接口,供上层应用调用;(3)针对Android系统特点的网络通信技术、编码技术、分包算法的研究和优化。
参考文献:
[1] Berry J K. Capture‘Where’and‘When’on Video-Based GIS[J].GEOWORLD,2000(9):26-27.
[2] Navarrete T, Blat J. VideoGIS:segmenting and indexing video based on geographic information[C]. 5thAGILE Conference on Geographic
Information Science, Palma(Balearic Islands, Spain),April 25th-27th 2002.
[3] 孔云峰.一个公路视频GIS的设计与实现[J].公路,2007(1):119-121
[4] 丰江帆,张宏,沙月进. GPS车载移动视频监控系统的设计[J].测绘通报,2007(2):51-53.
[5] 宋宏权,孔云峰.Adobe Flex框架中的视频GIS系统设计与开发.武汉大学学报(信息科学版),2010,35(6):743-745.
[6] 魏聪颖.基于事实流媒体传输系统的H.264组包算法研究[J].计算机科学,2007,34(8):41-44.
[7] 胡晓乐.基于Android平台的MID视频监控系统的设计与实现[D].广州:中山大学,2010.
(上接第150页)
此外值得一提的是,如果把摄像机变焦的原理而形成的景物呈现清晰与不清晰的对比,也算所一种摄像机运动的话,是可以更
好的展现空间和深度。因为焦距本身就是模仿人眼在观察纵深的景物时,把视线的注意力集中从景物的某一点上移动到另一景物
的某一点。视线集中在前景上,前景清晰,后景不清晰;反之亦然。在镜头设计实践中,利用这一原理就能把场景上各个层,清晰度
限制在一个特定的深度范围内,使前后景或多或少地虚化,造成清晰与不清晰的对比,影像之间清晰与不清晰的对比越大,深度感
越强,使空间深度显得更大。并且在软件中这些模糊值可以调节改变,形成视觉焦点从一个点转向另一个点的效果。这样不仅可
以强调空间和深度,而且还具有突出画面中的主体,引起观众的注意的作用。
3 结束语
这种多层相对运动的方式表达和塑造空间的方法是以后计算机动画中塑造空间的核心理念之一。为现代的后期合成软件和一些
三维软件提供了参考模型和理论依据。现代计算机技术以及图形图像学的发展,已经逐步将原有的技术转化成以计算机生成方式所取
代,利用现在的后期合成软件将画面中场景分层移动,利用软件中的层概念来模拟多层动画摄像机的方式来实现场景中的空间表现。
参考文献:
[1] 马塞尔·马尔丹.电影语言[M]..北京: 中国电影出版社,2006.
[2] [美]鲁道夫·阿恩海姆,.艺术与视知觉[M].滕守尧,朱疆源,译. 四川:四川人民出版社,1998.
[3] 张会军. 影像造型的视觉构成[M].北京:中国电影出版社,2002.
[4] 赵前,何嵘.动画片场景设计与镜头运用[M].北京:人民大学出版社,2005.
[5] 徐正则.从2D到2.5D——日本科幻动画片的发展之路[J].现代电影技术,2006(12):54-58.
[6] 许伟民,袁鹏飞.Adobe After Effects CS5经典教程[M].北京:人民邮电出版社,2010.
162】
基于GIS与Android的移动视频技术研究.pdf (1.39 MB, 下载次数: 0)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-11 13:48 , 耗时 0.093211 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表