基于嵌入式系统危险区域探测机器人数字音视频实时传_第1页
基于嵌入式系统危险区域探测机器人数字音视频实时传_第2页
基于嵌入式系统危险区域探测机器人数字音视频实时传_第3页
基于嵌入式系统危险区域探测机器人数字音视频实时传_第4页
基于嵌入式系统危险区域探测机器人数字音视频实时传_第5页
已阅读5页,还剩87页未读 继续免费阅读

基于嵌入式系统危险区域探测机器人数字音视频实时传.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分类号:T P 2 4 2 密级: 单位代码:10 4 2 2 学号:2 0 0 712 3 51 第办孽 硕士学位论文 S h a n d o n gU n i v e r s i t yM a s t e r ST h e s i s 论文题目:基于嵌入式系统的危险区域探测机器 人数字音视频实时传输系统设计 D e s i g no nD i g i t a lV i d e o A u d i oR e a l t i m e T r a n s m i s s i o nS y s t e mo fD a n g e rA r e a s t e m oa nae r E x p l o r a t i o nR o b o tB a s e do nE m b e d d e d S y s t e m 姓 名 专业 导师 合作导师 范晨 控制理论与控制工程 2 0 10 年5 月18 日 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究作出重要贡献的个人和集体,均己在文中以明确方 式标明。本声明的法律责任由本人承担。 妒 日 论文作者签名: 兰垦五 日期:2 111 :茎:! 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:垄叁导师签 ;曩 日期:迦f ! :S :! y 山东大学硕士学位论文 目录 摘要l A B S T R A C T 3 第1 章绪论1 1 1 课题研究背景l 1 2 实时数字音视频传输系统的概况。1 1 3 基于危险区域探测机器人数字音视频传输系统的基本介绍2 1 4 系统软硬件总体体系结构设计3 1 4 1 系统硬件体系结构3 1 4 2 系统软件体系结构4 1 4 - 3 嵌入式系统开发环境体系结构4 1 5 论文的主要内容和组织结构。6 第2 章视频的采集与播放。7 2 1 视频解码芯片7 2 2 摄像头接口子系统7 2 3L i n u x 内核编译8 2 4V i d e oF o rL i n u x2 标准9 2 5 视频播放9 2 6 视频采集的具体流程9 2 7 视频播放的具体流程1 0 2 8 视频采集时视频图像大小的转换1 1 2 9 卅、结1 z I 第3 章视频图像数据的编解码1 5 3 1O M A P 3 5 3 0 的视频编解码架构l5 3 2D i g i t a lV i d e oS o f t w a r eD e v e l o p m e n tK i t 介绍1 6 3 2 1 编译D V S D K 需要安装的组件1 6 3 2 2 编译D S P L i n k 18 3 3C o d e cE n g i n e 编解码引擎1 9 3 4D a v i n c iM u l t i m e d i a A p p l i c a t i o nI n t e r f a c e 达芬奇多媒体应用程序接I Z ! 2 1 3 5 音视频数据的传输3 0 3 5 1U D P 协议服务端流程3 0 3 5 2U D P 协议客户端流程31 3 5 3 为保证系统实时性传输所采取的措施3 2 3 6 音视频数据的解码3 3 3 7 小结3 7 第4 章音频数据的采集与编码3 9 4 1 基于A L S A 的音频采集系统3 9 4 2 音频的编码与解码4 3 4 2 1X D C ( e X p r e s sD S P C o m p o n e n t s ) 管理系统4 4 4 2 2L i n u x 中的M a k e f i l e 规则4 5 4 2 3 编写基于X D C 的M a k e f i l e 4 6 4 2 4 编写音频源码文件4 9 4 2 5 在接收端的G 7 1 l 音频解码5 1 4 2 6 编写( 2 7 11 音频解码源文件5 2 4 3 小结5 5 第5 章嵌入式图形化界面设计5 7 5 1 嵌入式图形界面开发软件5 7 5 2Q t E m b e d d e d 开发包的编译与安装5 8 5 3 在Q t E m b e d d e d 中加入触摸屏驱动5 9 5 4Q t E m b e d d e d 编程6 l 5 4 1Q t E m b e d d e d 程序框架设计6 l 5 4 2Q t E m b e d d e d 图形界面程序框架编写6 4 5 4 3 为Q t 的一个事件增加响应函数6 4 5 4 4 在Q t 的一个线程中调用某个进程6 6 5 5 小结6 8 第6 章总结与展望。6 9 6 1 总结6 9 6 2 展望7 0 附录A 危险区域探测机器人通信系统部分实物照片7 l 参考文献。7 3 致。谢7 7 攻读硕士期间发表的学术论文和参与的科研工作。7 9 山东大学硕士学位论文 摘要 本文研究了一种基于嵌入式系统的危险区域探测机器人数字音视频传输系 统。在我国,煤矿事故、火灾、地震时有发生,这些灾难发生后,由于现场环境 的复杂性和危险性,救援工作往往很难开展,也给救援队员的生命带来很大隐患。 因此就有必要研制这种能够代替搜救队员深入到危险区域并探测现场有用信息 的机器人。本文主要着重于危险区域探测机器人的音频与视频实时传输功能,实 现将现场的音视频数据传送给指挥中心。 本文首先讨论了危险区域探测机器人的硬件平台,这是危险区域探测机器人 数字音视频传输子系统稳定、可靠、有效运行的基础。结合先进的双核处理器架 构,介绍了视频采集的硬件接口和数据格式,并描述了具体的实现方法。对嵌入 式系统中的视频采集流程、软件编写步骤以及对采集到的视频数据进行格式转换 做了重点介绍。 接下来本文研究了一种基于主流视频编解码算法的实时视频编解码框架。该 框架包括在数字视频开发包中进行视频编码的开发、视频编解码的详细流程;并 将编解码过程与视频数据采集相结合,对数据进行实时编解码;对编解码完成的 视频数据,通过U D P 网络协议进行传输,并探讨了提高系统的实时性能所采取 的措施。 在视频采集、编解码的基础上,本文还介绍了如何实现音频数据的实时采集、 播放、编解码与传输。介绍了嵌入式操作系统中的音频接口和安装配置方法,提 出了基于此标准的音频采集与音频编解码开发流程,实现了无线实时语音的全双 工通信。将语音与视频相结合,操作人员可以更好的了解危险区域探测机器人探 测灾难现场的实时情况,有助于下一步决策。 本文的最后一部分探讨了如何建立一个简洁、友好的图形用户界面方便操作 人员对危险探测机器人的操作,并将视频数据通过直观的界面显示出来。本部分 主要介绍了嵌入式系统中的图形界面软件和在此平台下的开发流程,最终实现了 将音视频的采集、编解码和播放与机器人控制命令的发送集成到图形界面当中, 使得整个数字音视频实时传输系统更加完善,通用性能更好。 本课题的研究内容紧紧抓住危险区域探测机器人通信的关键技术,并结合最 1 新的硬件和软件发展趋势进行研究,采用了先进的硬件平台和主流的嵌入式操作 系统,结合目前编解码算法的前沿成果,成功实现了在一个硬件平台上的语音、 视频实时编码传输和危险区域探测机器人的操作,并进行了实验。结果表明本文 所研究的成果完全可以满足危险区域探测机器人的实时音视频传输需要。 关键词:危险区域探测机器人;O M A P 3 5 3 0 双核处理器;嵌入式L i n u x ; 音视频编解码;嵌入式图形用户界面 2 A B S T R A C T T h i sp a p e rp r e s e n t sad i g i t a lv i d e oa n da u d i ot r a n s m i s s i o ns y s t e mo ft h ed a n g e r a r e ae x p l o r a t i o nr o b o tb a s e do ne m b e d d e do p e r a t i n gs y s t e m I nC h i n a , m i n e a c c i d e n t s 、f i r e sa n de a r t h q u a k eo c c u r sa tt i m e s ,a n dt h eu n k n o w na n dc o m p l e x e n v i r o n m e n tm a k e st h es u c c o rah a r dw o r ka n db r i n g sg r e a td a n g e rt ot h er e s c u e m e m b e r s T h i sm a k e si tn e c e s s a r yt od e v e l o pas u b s t i t u t ef o rt h er e s c u em e m b e r st o d e t e c tt h ed a n g e r o u sa r e a sa f t e rt h ed i s a s t e r s ,w h i c hC a np r o v i d eu s e f u li n f o r m a t i o no f t h ee n v i r o n m e n t ,a n ds t r o n gs u p p o r tf o rt h ep l a n n i n ga n ds c h e d u l i n gf o rt h er e s c u e o p e r a t i o n T h i sp a p e ri sm a i n l ya b o u tt h er e a l t i m ev i d e oa n da u d i oc o m m u n i c a t i n g s u b s y s t e mo ft h ed a n g e ra r e ae x p l o r a t i o nr o b o ta n dt h ei m p l e m e n t a t i o no ft h ev i d e o a n da u d i od a t at r a n s m i s s i o n A tt h eb e g i n n i n g t h i sp a p e rd e a l s 、撕t ht h eh a r d w a r ep l a t f o r mo ft h ed a n g e ra r e a e x p l o r a t i o nr o b o t ,w h i c hi st h eb a s i so ft h es t e a d yr u n n i n go ft h ed i g i t a lv i d e oa n d a u d i ot r a n s m i s s i o ns u b s y s t e m I ti n t r o d u c e st h eh a r d w a r ei n t e r f a c ea n dd a t af o r m a tf o r v i d e o c a p t u r e w i t ht h en e w e gd u a l c o r eC P Ua r c h i t e c t u r e ,a n d g i v e s t h e i m p l e m e n t a t i o n I ta l s om a k e sad e s c r i p t i o no ft h ev i d e oc a p t u r ep r o c e d u r e ,t h e s o f t w a r ed e v e l o p i n gp r o c e d u r ea n dt h ef o r m a tc o n v e r t i o no ft h ec a p t u r e dv i d e od a t a f o re m b e d d e ds y s t e m Ar e a l t i m ev i d e oa n da u d i oc o d e cf r a m e w o r kb a s e do nt h em a i n s t r e a mo fc o d e c c a ng e tm o r ei n f o r m a t i o ni nt h ed a n g e ra r e aw h i c ht h ed a n g e ra r e ae x p l o r a t i o nr o b o t i si na n dh e l p sm a k en e x td e c i s i o n s I nt h ee n d ,t h i sp a p e rp r e s e n t sh o wt oe s t a b l i s ham o r ef r i e n d l ya n de a s yg r a p h i c i n t e r f a c et of a c i l i t a t et h em a n i p u l a t i o no ft h ed a n g e ra r e ae x p l o r a t i o nr o b o ta n dp l a y t h ev i d e od a t ac a p t u r e dv i at h i si n t e r f a c e T h i sp a r ta l s oi n t r o d u c e st h ep r o c e d u r ei n d e v e l o p i n gg r a p h i ci n t e r f a c ei ne m b e d d e ds y s t e m s ,i m p l e m e n t i n gt h ei n t e g r a t i o no f t h ev i d e oa n da u d i oc a p t u r ea n dc o d e ca n dt h er o b o tc o n t r o l l i n gi n t ot h eg r a p h i c i n t e r f a c e ,m a k i n gt h ed i g i t a lr e a l t i m ev i d e oa n da u d i oc o m m u n i c a t es y s t e mm o r e p e r f e c ta n du n i v e r s a l T h ep a p e rs t u d i e ss o m ek e yt e c h n o l o g i e sf o rt h ed e v e l o p m e n to ft h ed a n g e ra r e a e x p l o r a t i o nr o b o tw i t ht h et r e n do ft e l e c o ma n dt h eb r e a k t h r o u g h si n t h en e w e s t h a r d w a r ea n ds o f t w a r ee m b e d d e do p e r a t i n gs y s t e mp l a t f o r m s C o m b i n dw i mt h e l a t e s tr e s e a r c hi nc o d e ca s p e c t ,am e c h a n i s mf o rv i d e oa n da u d i oc a p t u r e ,c o d e ca n d t r a n s m i s s i o ni ss u c c e s s f u l l yf u l f i l l e da n dt e s t e do n au n i f i e dh a r d w a r ea r c h i t e c t u r ea n d i ts h o w st h a tt h ew o r k sd o n ei nt h i sp a p e ra r ea b l et os a t i s f yt h en e e do ft h ev i d e oa n d a u d i ot r a n s m i t t i n gs u b s y s t e mo nt h ed a n g e ra r e ae x p l o r a t i o nr o b o t K e yW o r d s :d a n g e r a r e a e x p l o r a t i o nr o b o t ;O M A P 3 5 3 0 d u a l C O r e p r o c e s s o r ; e m b e d d e dL i n u x ;v i d e oa n da u d i oc o d e c ;e m b e d d e dg r a p h i cu s e ri n t e r f a c e 4 山东大学硕士学位论文 1 1 课题研究背景 第1 章绪论 危险区域探测机器人是矿难、火灾等突发事件发生时,第一时间代替搜救人 员进入现场执行搜救探测任务的移动机器人【l J 。这种机器人可以以远程操作的方 式深入到复杂、危险、不确定的灾害现场,探测未知环境信息,搜索和营救被困 者。危险区域探测机器人可以应用于许多救援场合,比如地震、台风、洪水、矿 难、消防、危险物排除等。 本课题的目标是研究基于嵌入式平台的危险区域探测机器人指令控制与音 视频处理子系统。该系统硬件基于T I 公司的O M A P 3 5 3 0 双核处理器【2 】,采用嵌 入式L i n u x 操作系统,在功能上首先要实现对机器人的远程无线控制,并且实现 将机器人在危险区域获得的视频图像与音频数据在第一时间实时的传送给操作 人员的手持终端设备,以便操作人员对营救工作的开展作出决定。采用这种方式, 可以充分利用危险区域探测机器人深入探测灾难现场的优点,在第一时间得到灾 难现场的视频和声音,非常有利于救援工作决策【3 】。因此,本文介绍了嵌入式系 统中的音频与视频的采集方法,并实现了编解码算法对数据的压缩,并通过友好 的图形界面实现了上述功能。 1 2 实时数字音视频传输系统的概况 目前市场上存在多种无线音视频传输系统,从工作机制上来讲,可以分为模 拟系统和数字系统。模拟系统就是用摄像机、麦克风等采集的连续的模拟信号, 采用调幅、调频、调相等方式直接调制载波,在接收端解调后直接播出。这种方 式的优点是图像较清晰,传输的延时较小;缺点是在空间中充满各种无线通信信 号以及各种设备发出的辐射,这些信号和辐射与系统信号同时到达接收系统,构 成噪声,这种噪声在接收端很难被识别出来并消除,因此会影响接收端图像的质 量,在接收端解收到的信号是畸变的,这种畸变很难被消除。并且由于采集到的 信号是连续的,所以数据较难储存和处理。 1 数字系统是将摄像机、麦克风等采集的连续变化的模拟信号通过采样的方式 变成一系列不连续的、用0 和1 表示的信号,再用O 和l 调制载波。在接收端将 信号解调成0 和l 信号后,再复原成连续信号,然后播放。在数字系统中,由于 信号是0 和1 组成的,因此上述噪声和畸变在接收端很容易被消除,在长距离传 输中,经过中继站,信号能完全复原。这种方式采集到的数据与其他数字设备格 式统一,方便保存和后期处理【4 】。由于本系统需要对采集的视频数据进行分析处 理,而且考虑到危险区域现场的环境比较复杂,因此我们采用了数字传输的方式 进行音视频数据的传输。 受到硬件条件的制约,传统的数字音视频传输系统大都不具备很强的实时性 能和很精确的音视频数据。由于音视频数据特别是视频数据的数据量非常庞大, 因此需要复杂的编解码算法对音视频数据进行实时压缩编码;而实时的编解码算 法对于处理器的浮点运算能力要求非常高,因此传统的数字音视频实时传输系统 只能在较低分辨率的情况下工作;并且由于音视频数据的处理占用了大量C P U 资源,因此很难再同时进行其他操作。 基于上述原因,我们采用T I 公司最新的O M A P 3 5 3 0 双核处理器的硬件平台 来处理数字音视频数据的传输。首先,O M A P 3 5 3 0 双核处理器具有双核架构, 片上带有一个T M S 3 2 0 C 6 4 x 的D S P 处理器,频率达到4 3 0 M H z ,专门用于解决 音视频数据的实时编解码任务,由于D S P 在大运算量和浮点计算方面的优势, 非常适合数据的编解码运算,因此这大大提高了编解码的实时性能和可靠性,也 极大减轻了主C P U 的负担【5 】;其次,O M A P 3 5 3 0 运行操作系统的C P U 为一个主 频达到6 0 0 M H z 的A R MC o r t e x A 8 处理器,完全可以满足运行主流的嵌入式操 作系统和音视频实时处理的任务要求,在运行这些任务的同时处理器还有能力运 行一些额外的任务,提高了整个系统的稳定性和可靠性;此外,O M A P 3 5 3 0 的 尺寸很小,功耗低,可以在电池容量较小的情况下连续工作较长时间,非常适合 于危险区域探测机器人的音视频传输系统【6 J 。 因此我们采用了O M A P 3 5 3 0 芯片作为危险区域探测机器人的硬件平台,这 使得我们可以在不影响对机器人正确操作的前提下,还可以流畅的进行实时数字 音视频传输,并且提供了直观的图形界面【7 】。 2 山东大学硕士学位论文 1 3 基于危险区域探测机器人数字音视频传输系统的基本介绍 基于危险区域探测机器人的数字音视频实时传输系统在功能上主要用于危 险区域探测机器人同控制机器人的操作人员与指挥中心之间的通信,通过无线网 络连接通信系统的发送端与接收端。发送端位于危险区域探测机器人内部,用于 接收操作人员发送的机器人控制命令,将其发送给机器人的运动控制系统,并将 在灾难现场采集到的实时数字音视频数据流发送给操作人员;接收端受操作人员 的控制,用于向危险区域探测机器人发送控制命令,并接收机器人传送回的音视 频数据,将其显示在接收端显示屏上。整个系统实现了无需救援人员深入到灾难 现场,即可获得第一手的现场情况。 在硬件上,危险区域探测机器人数字音视频传输系统采用O M A P 3 5 3 0 双核 C P U ,采用嵌入式L i n u x 操作系统,将运行操作系统任务和进行音视频编解码分 配给不同的处理器,使得整个系统的效率和实时性能大大提高;在编解码算法上 采用目前压缩比最高的H 2 6 4 和M P E G 4 视频压缩算澍剐,大大提高了相同网络 带宽情况下传回视频数据的清晰程度,增强了视频编解码的可靠性,并且可以根 据现场情况的不同来选择相应的编解码算法,发送端对采集到的数据进行实时编 码,传送给接收端后接收端对数据进行实时解码。整个系统可以进行视频的单工 传输和音频的全双工传输。考虑系统的易用性和可扩展性,设计了直观的嵌入式 图形界面程序,使得操作变得简单方便。 1 4 系统软硬件总体体系结构设计 1 4 1 系统硬件体系结构 系统硬件结构主要由O M A P 3 5 3 0 开发板、视频采集卡和无线路由器三部分 组成。O M A P 3 5 3 0 开发板主要由O M A P 3 5 3 0 芯片和各种外围电路如视频输入输 出接口、以太网口、U S B 接口和S D 卡接口电路等,负责运行嵌入式L i n u x 系统 和执行操作系统的各个应用程序,包括嵌入式图形界面程序、机器人控制命令的 发送程序等,发送采集到的视频和音频数据并监听视频和音频的接收端口,对采 集到的视频数据和音频数据进行实时编码与解码,是整个音视频通信系统的核 心;视频采集卡主要由视频解码芯片T V P 5 1 4 6 构成,主要功能是用于将外接的 3 模拟摄像头采集到的模拟视频数据转换为分辨率为7 2 0 * 5 7 6 分辨率的数字视频 数据,以便实现数字视频的编解码;无线路由器主要用于传输编码完成的数字视 频数据和音频数据,通过以太网口与O M A P 3 5 3 0 开发板的以太网口相连。 1 4 2 系统软件体系结构 系统软件体系结构通过可视化的嵌入式图形界面程序实现。在实时音视频传 输系统的发送端,主要包括视频采集进程、视频编码进程、音频采集进程、音频 编码进程、音视频数据发送进程,实现了将摄像头和麦克风采集到的视频和音频 同步编码并传输;在实时音视频传输系统的接收端,主要包括音视频数据接收进 程、视频解码进程、视频播放进程、音频解码进程、音频播放进程,实现了接收 发送端发送的视频和音频数据,并将视频和音频数据解码并播放。 视频采集 音频视频数 据发送 图1 1 系统软硬件体系结构示意图 1 4 3 嵌入式系统开发环境体系结构 在对嵌入式L i n u x 系统进行开发时,需要在上位机构建一个嵌入式系统的开 发环境,包括了运行在嵌入式系统中的各种内核源码、库文件和头文件等,是进 行程序编写的必要条件,主要包括经过编译的L i n u x 内核源码、用于音视频数据 4 山东大学硕士学位论文 编解码的D V S D K 、用于音频采集和播放的A L S A 库文件和嵌入式图形界面的开 发环境Q t E m b e d d e d 。其中L i n u x 内核源码是指将在O M A P 3 5 3 0 开发板上运行的 L i n u x 发行版的内核进行编译并形成经过编译后的内核源码,这是整个上位机开 发编译环境的基础,在上位机编写的各个音视频编解码进程都需要通过调用该内 核源码实现对嵌入式L i n u x 操作系统接口函数的调用;D V S D K 是T I 公司专门用 于O M A P 系列芯片的数字音视频程序的一个开发包,包括了C o d e cE n g i n e 编解 码引擎、D M A I 达芬奇多媒体程序接口等组件,可以方便开发人员快速的开发出 基于数字信号处理器的视频和音频编解码程序;A L S A 接口是L i n u x 操作系统中 的标准音频接口,在上位机编写相关音频的采集和播放程序时,需要调用该接口 的库文件和接口函数;Q t E m b e d d e d 是专门用于嵌入式L i n u x 系统的一个嵌入式 图形界面开发环境,主要用于开发基于嵌入式系统的可视化图形界面程序,包括 了一系列的头文件、库文件和A P I 函数,开发人员通过调用这些接口函数可以 方便快速的开发出类似于W i n d o w s 界面的可视化窗口程序。 L L , j I t E m b e d d e d 开发环境 l i j D V S D K 、。 一: il麓 ,j l ! ; 目 ;Linux内核源码 i 图1 - 2 嵌入式系统开发环境体系结构图 5 1 5 论文的主要内容和组织结构 危险区域探测机器人平台平台的研究是一个涉及机械、控制、传感检测、通 信、人工智能等多学科的综合系统,由于工作环境的特殊性,有许多关键技术尚 待解决。 本课题将结合危险区域探测机器人平台的研制过程,研究其用于搜救探测任 务的传输系统的一些关键技术,这些关键技术的研究和改进或来源于现场实验发 现的问题,或是基于对危险区域探测机器人平台性能的不断提升,且经过了多次 测试,积累了宝贵的经验,为机器人的进一步发展打下了良好的基础。 本论文内容的安排如下: 第二章介绍了整个数字音视频传输系统的硬件基础,包括基于O M A P 3 5 3 0 芯片的视频采集的I S P 接口和通信格式等。目前主流的嵌入式L i n u x 视频采集和 播放标准是V 4 L 2 标准,本章将基于此标准研究视频采集和播放的具体流程、嵌 入式L i n u x 内核的裁剪和编译,并对视频采集时图像文件的格式转换方法进行介 绍。 第三章主要描述了如何在嵌入式系统中实现视频编解码算法。介绍了两种视 频的编码算法,并将这两种算法在系统中的应用方法做了介绍,并且研究了如何 在T I 公司的数字视频开发包中实现视频编码的开发,并对O M A P 平台下的视频 编解码流程做了详细介绍,然后研究了视频数据在U D P 协议下的传送方法,并 提出了提高系统实时性能的解决方案。 第四章主要探讨了音频数据的采集和编解码方法。介绍了L i n u x 下的A L S A 音频接口和它的的配置和编译流程,并且提出了基于A L S A 的音频采集与播放 程序的软件开发流程;然后介绍了音频编码算法,实现了基于嵌入式系统的音频 编解码程序,并介绍了基于包管理工具和其下的音频编解码程序开发流程,使得 整个系统更加规范。 第五章主要基于在嵌入式L i n u x 平台下实现图形用户界面的设计。介绍了嵌 入式图形界面软件Q t E m b e d d e d 的配置和编译方法,分析了基于Q t 的编程方法, 将音视频的采集、编解码和播放与机器人控制命令的发送集成到图形晃面当中, 实现了整个数字音视频传输系统的界面化。 6 山东大学硕士学位论文 第2 章视频采集与播放 视频的采集与播放是整个数字音视频传输系统的基础。首先在硬件方面,需 要对视频数据进行格式转换,通过视频解码芯片对摄像头的数据进行处理;软件 方面,在嵌入式L i n u x 系统中,视频的采集和播放主要基于V 4 L 2 标准,因此本 系统的视频采集和播放都要符合该标准。 2 1 视频解码芯片 本系统采用了通过模拟摄像头输入进行A D 转换的方式进行视频采集,无 论从可靠性还是通用性能上都大大优于数字摄像头。考虑到视频采集的精度以及 与L i n u xO M A P 内核驱动的匹配,本系统采用T I 公司的T V P 5 1 4 6 视频解码芯片。 该芯片采用1 0 路视频输入终端,可以对每路输入进行1 0 位精度的A D 转换, 输入格式可以是P A L 或N T S C ,输出Y C b C r 格式的数字信号。该芯片的驱动程 序在T I 公司官方发布的L i n u xO M A P2 6 2 8 官方内核中已经集成好,因此只要 重新配置内核,选择相应的驱动并重新编译内核,即可使用该芯片。 2 2 摄像头接口子系统 摄像头接口子系统( C a m e r aI n t e r f a c eS u b s y s t e m ,简称I S P ) 是O M A P 3 5 3 0 芯 片上一个视频处理的关键接口【9 】。该接口可以实现图像和视频的捕捉,格式转换, 视频记录,数字变焦等功能。 I S P 接口分别支持R G B 和Y C b C r 格式的图像传感器,可以支持S Y N C 采集 模式和I T U 采集模式【10 1 。在S Y N C 采集模式中存在帧同步信号( V e r t i c a l S y n c h r o n i z a t i o nS i g n a l ) 和行同步信号( H o r i z o n t a lS y n c h r o n i z a t i o nS i g n a l ) ,而在I T U 模式中则不存在这两个信号。由于T V P 5 1 4 6 视频解码芯片采用S Y N C 模式采集 Y C b C r 格式的视频数据,因此本系统I S P 接口采用了S Y N C 模式。 其中C A MD O C A MD 1 1 为1 2 位的数据总线,用于传输采集到的视频数据 流。C A MP C L K 为时钟信号,C A MV S 为帧同步信号,C A MH S 为行同步信 号,这两个信号用于同步视频数据的帧和行。下图为一个视频采集信号时序的示 7 2 3L i n u x 内核编译 由于T I 官方提供的L i n u x 内核并未包含T V P 5 1 4 6 视频解码芯片的驱动,因 此我们要下载内核的源文件并重新编译,以获得该驱动程序。编译内核的方法首 先要配置内核,配置内核的方法有如下几个【1 2 】: # m a k ec o n f i g基于文本的最为传统的配置界面 # m a k em e n u c o n f i g 基于文本选单的配置界面 # m a k ex c o n f i g基于图形窗口模式的配置界面 对于每一个驱动程序,有三种选择与之对应,分别是 “Y ”一将该功能编译进内核 N 一不将该功能编译进内核 “M ”一将该功能编译成可以在需要时动态插入到内核中的模块。 由于我们采用嵌入式L i n u x 系统,因此尽量要减少内核的大小,对内核进行 裁剪,尽量减少不必要的驱动程序模块,这样可以使我们的内核占用更少的存储 空间,提高运行时的响应速度。编译内核最关键的地方就是配置内核。一般采用 m a k em e n u c o n f i g 配置内核。 m a k ez l m a g e 编译内核驱动模块 m a k em o d u l e s m a k em o d u l e si n s t a l l 即可生成内核映像文件。将此映像文件下载到F L A S H 中即可使用T v P 5 1 4 6 8 山东大学硕士学位论文 芯片的解码功能。 2 4V i d e oF o r L i n u x2 标准 L i n u x 下的视频采集方式有基于F r a m e b u f f e r ,V i d e oF o rL i n u x ,V i d e oF o r L i n u x2 等。本系统采用V i d e oF o rL i n u x2 标准13 1 。V i d e oF o rL i n u x2 是L i n u x 下 最新的视频采集接口,从内核2 5 后就集成到标准内核中,集成了大量视频设备 的驱动程序,并提供一系列接口函数,进行基本的I O 操作、中断处理及内存管 理等功能。 V 4 L 2 采用两层机制1 4 1 。底层的驱动程序编写与传统的L i n u x 驱动程序编写 类似,需要重写驱动程序的相关函数如o p e n ( ) ,c l o s e ( ) ,i o c t l 0 等,通过V 4 L 2 驱动 程序的成员函数来调用V 4 L 2 驱动程序。编写底层驱动时需要读写芯片寄存器, 以实现上层驱动程序对底层硬件的透明化。一旦某芯片的底层驱动程序编写完 毕,上层驱动程序即将该芯片抽象为一个主设备号为8 l 的设备,采用统一的函 数接口对其进行控制【15 1 。本系统中由于底层的芯片驱动已经集成好,因此只需 要在应用程序中调用相应的V 4 L 2A P I 函数即可完成对T V P 5 1 4 6 解码芯片的操 作。 2 5 视频播放 L i n u x 下的视频播放同样遵守V 4 L 2 接口,分为打开视频播放设备,读写设 备信息,设置设备参数,进行视频播放,关闭设备五步。 2 6 视频采集的具体流程 ( 1 ) 打开视频设备: o p e n ( C A P T U R E _ D E V I C E ,oR D W R ) ; ( 2 ) 读取设备信息 i o c t l ( 木c a p t u r e _ f d ,V I D I O C _ Q U E R Y C A P , & c a p a b i l i t y ) ; ( 3 ) 更改设备当前设置( 可选) ( 4 ) 进行视频采集 9 操作系统一般把系统使用的内存划分成用户空间和内核空间,分别由 应用程序管理和操作系统管理【1 6 】。应用程序可以直接访问内存的地 址,而内核空间存放的是供内核访问的代码和数据,用户不能直接访 问。V 4 L 2 捕获的数据,最初是存放在内核空间的,这意味着用户不能 直接访问该段内存,必须通过某些手段来转换地址。一共有三种视频 采集方式【1 7 】:使用r e a d w r i t e 方式,用户指针模式和内存映射方式。 r e a d w r i t e 方式:在用户空间和内核空间不断拷贝数据,占用了大量用户 内存空间,效率不高。用户指针模式:内存片段由应用程序自己分配。 这点需要在v 4 1 2 r e q u e s t b u f f e r s 里将m e m o r ) r 字段设置成 V 4 L 2M E M O R YU S E R P T R 。内存映射方式:把设备里的内存映射到 应用程序中的内存控件,直接处理设备内存,这是一种有效的方式。 本系统就是使用这种方式。 采用内存映射方式的优点是操作系统不需要真的把处于内核空间的视 频数据复制到用户空间,而只是将视频数据所处的内存指针传给程序 并做一个转化,使得程序可以访问该处的内存。这样做的好处是避免 了实际的数据拷贝,使得视频采集的效率大大的提高了。 v o i d 宰m m a p ( v o i d 宰s t a r t ,s i z e tl e n g t h ,i n tp r o t ,i n tf l a g s ,i n tf d ,o f f t , o f f s e t ) ; ( 5 ) 对采集的视频进行处理 对于采集进来的视频数据可以选择直接写入显示屏的缓冲区以实现本 地显示图像,也可以选择对采集的视频数据进行处理,如进行视频编 码,网络发送等操作。本系统对采集到的数据先进行视频编码,然后 通过U D P 协议发送给接收端。 ( 6 ) 关闭视频设备。 c l o s e ( c a p t u r e _ f d ) 这里c a p t u r ef d 为第一步o p e n 函数返回的设备描述符。 2 7 视频播放的具体流程 ( 1 ) 打开视频设备: 山东大学硕士学位论文 o p e n ( C A P T U R E _ D E V I C E ,O _ R D W R ) ; 这里与视频采集的第一步类似。 ( 2 ) 读取设备信息 i o c t l ( 术c a p t u r e _ f d ,V I D I O C _ Q U E R Y C A P , & c a p a b i l i t y ) ; 这里与视频采集的第二步类似。 ( 3 ) 更改设备当前设置( 可选) ( 4 ) 对要播放的视频数据进行处理 在本系统中,接收端通过U D P 协议从网络接受到已经编码的视频数 据,由于无法直接播放这些数据,需要先进过视频解码转换为Y C r C b 格式后才能进行播放。 ( 5 ) 进行视频播放 进行视频播放实际就是将要播放的数据写入显示屏的缓冲区,同样也 是通过V 4 L 2 的标准,由于显示屏的缓冲区也处于操作系统的内核空 间,用户并不能直接操作,因此也存在三种视频播放的方式。同样本 系统也采用内存映射的方式将视频数据映射到显示屏缓冲区。 v o i d 幸m m a p ( v o i d 幸s t a r t ,s i z e _ _ tl e n g t h ,i n tp r o t ,i n tf l a g s ,h a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论