机载数字音视频记录仪的设计.docx
- 文档编号:5991845
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:36
- 大小:3.35MB
机载数字音视频记录仪的设计.docx
《机载数字音视频记录仪的设计.docx》由会员分享,可在线阅读,更多相关《机载数字音视频记录仪的设计.docx(36页珍藏版)》请在冰豆网上搜索。
机载数字音视频记录仪的设计
机载数字音视频记录仪的设计
院(系)名称:
专业名称:
学生姓名:
指导教师:
Thedesignofanairbornedigitalaudioandvideorecorder
郑重声明
本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。
尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本学位论文的知识产权归属于培养单位。
本人签名:
日期:
摘要
在现代航空技术中,视频的压缩记录是很重要的一个研究内容,通过它可以实时记录飞机的多种直观信息,对飞行指挥和作战训练起到积极的指导作用。
随着DSP技术的不断发展,视频监控技术取得了非常大的进展,在目前的安防领域内,硬盘录像机(DVR)是炙手可热的明星产品。
硬盘录像机,又名数字视频录像机,相对于传统的模拟视频录像机,采用硬盘录像,故常常被称为硬盘录像机。
DaVinci是TI推出的面向新一代数字视频产品的开发平台,其独特的DSP和ARM双核结构不仅能同时满足视频应用在运算能力和控制功能上的要求,而且大大简化了系统设计的复杂性。
本文以TMS320DM6467媒体处理器为核心处理器,以合众达的VPM6467作为开发平台,实现了PAL视频或者720P视频的采集,使用CODECENGINE调用DSP端的编码算法对视频进行压缩编码,将压缩后的视频存入硬盘。
关键词:
DVR;视频压缩存储;DM6467;CODECENGINE
ABSTRACT
Compressedvideorecordingisanimportantresearchfieldinmodernaviation.Withthehelpofit,variousintuitionalinformationofanairplanecanberecordedinrealtime,whichleadstoagoodguidancefortheflightcommandandcombattraining.
WiththecontinuousdevelopmentofDSPtechnology,videosurveillancetechnologyhasmade very greatprogress in the security field,theharddisk recorder(DVR)isaveryfamousproduct.Harddiskrecorders, alsoknownas digitalvideorecorders, asopposedto traditionalanalog videorecorders, DVR,itis oftenreferredtoas harddiskrecorders.
DaVinci is a developmentplatform fornext-generation digitalvideoproducts, TI'suniqueDSP andARM dual-corestructure cannotonly meet the requirements of videoapplications on the computingpower andcontrolfunctions, butalso greatlysimplifiesthecomplexity of the systemdesign.Inthispaper,selecttheTMS320DM6467mediaprocessorasthecoreprocessor,theVPM6467producedbyArrow-Seedasthedevelopmentplatform.RealizethevideocaptureofPALor720P,usetheCODECENGINEtocallthe DSP-side coding algorithm forvideo compression,andsavetheencodeddatatotheharddisk.
Keywords:
DVR;Videocompressionandstorage;DM6467;CODECENGINE
目 录
第1章绪论
1.1研究背景和意义
近年来,随着电子和计算机技术的蓬勃发展,数字视频压缩技术不断进步,音视频记录仪越来越受到人们的重视,广泛应用在机载、安防、执法等领域。
例如在飞机的日常训练中,音视频记录仪发挥着重要作用,其通用文件管理方式和越来越清晰的图像效果受到航空电子系统的青睐,它可以实时记录飞行器的飞行及训练过程中的各种信息,能够直观、真实地反映飞行员在空中的飞行和操作情况。
通过地面回放设备的播放,飞行员可以准确地把握自身的不足并及时改进,从而提高训练水平[1]。
1.2国内外研究现状和发展趋势
传统的录像系统受到当时技术发展水平的局限,录像介质一般采用磁带,而磁带为一次性产品,不能进行反复地拷贝、重放,图像的高质量保存受到了很大的威胁。
随着半导体技术以及数字存储技术的发展,视频和音频的数字化、存储成为现实。
以数字视频录像DVR为核心组成的数字视频监控系统以其功能集成化、录像数字化、使用简单化、监控智能化、控制网络化等优势,在安防领域得到了广泛重视,成为传统录像监控系统的替代产品[2]。
目前国内各种战机上大多采用专门的数据传输卡存储用于加载飞行计划任务数据并记录飞行过程中的飞行参数,而对于显示器上显示的画面和飞行员通话声音信息则是通过进口的VTR(磁带录像机)实现机载记录的。
目前装备的VTR只能实现1路复合视频和1路音频的实时记录,采用小型磁带作为模拟视音频的存储介质,可以借助地面配套设备实现音视频模拟数据的数字化,该数字化过程需要花费几倍飞行时间,不能满足及时分析的需要。
一架飞机上只装备一个VTR,为了能多记录不同种的视频信息,专门设计了一个模块将几路视频分时送给仅有一路视频记录功能的VTR,这样不同路的视频不断切换,不但不连续而且丢失了很多信息。
多数显示器大小为5×5(512×512),而输出画面分辨率只能为CIF(352×288),画面缩小了,放大后不能清晰判别细节信息。
国内现在有三个研究所在进行相关的技术研究,但都没有形成产品[3]。
国外新型战机上大都采用了DVR来实现机载音视频的记录。
美国、日本、以色列、瑞典及欧洲各国也都有自己的DVR产品装备新型战机。
DVR能实现机载视频的数字化记录,能记录2路或更多路视频信息,采用固态非易失性存储介质,高速传输接口使得地面数据输出时间较短,方便存储和读取及回放,大多数采用MPEG2或更高的MPEG4标准的压缩算法,输出图像分辨率为D1(720×576),效果更清晰。
有很多DVR集成了数据传输卡及总线监控记录等更多功能,并能在地面设备上根据记录数据恢复飞机各个时刻的飞行姿态,与多路视频同步显示,重现飞行战术态势,为分析提供更多信息[4]。
1.3主要内容及目标
本论文的主要工作是在VPM6467开发板上设计并实现对于视频的采集、压缩、存储。
该设计系统是将模拟的视频信号采集进来转换为相应格式的数字信号,然后选用合适的压缩算法压缩编码,通过主控单元对各路压缩信号进行缓冲、管理,然后写入硬盘。
论文主要内容如下:
第一章为绪论部分,主要介绍了机载数字音视频记录仪的发展历史和国内外研究现状,以及本文的研究内容与目标。
第二章介绍系统总体架构,以及开发环境。
第三章介绍系统的硬件部分,主要介绍TMS320DM6467芯片和VPM6467开发平台。
第四章介绍系统的软件部分,主要介绍CODECENGINE,软件流程图,以及程序运行结果。
第五章对全文进行了一个总结概括,并对后续的工作做了展望。
第2章系统总体概述与开发环境
2.1DaVinci技术
2006年TI推出了第一款基于DSP和ARM双核结构的DaVinci芯片。
TIDaVinci平台正如它的名字,TI曾许诺在这个平台上工程师们可以像文艺复兴时期的大师达芬奇一样,尽情地挥洒他们的创意。
其中DaVinci技术的定义并不仅仅局限为高度集成的片上系统(SoC),而是被赋予了更为广阔的含义,包括优化的软件应用、开发工具、DaVinci处理器和DaVinci技术支持系统[5]。
DaVinci技术充分利用了TI25年的数字信号处理与集成电路专业技术来提供片上系统(SoC),能够在集成了处理器、开发工具、软件以及系统专业技术四种要素的平台中实现数字视频、音频技术。
这种系统针对灵活的数字视频应用而进行了精心优化,拥有业界领先的性能并集成了可编程DSP内核、ARM处理器以及视频加速协处理器。
凭借高效的处理能力、存储器、I/O带宽、平衡的内部互连以及专用外设组合,基于DaVinci技术的SoC能够以低成本为视频应用提供理想的核心动力,非常适用于开发各种优化的数字视频终端设备[6]。
在嵌入式DVR系统软件开发过程中有四个核心点:
处理器、开发工具及平台、软件设计、硬件系统设计。
TI的DaVinci技术将这些要素融合在一起,提供了一个快速开发DVR系统软件的平台。
该技术主要应用于嵌入式DVR系统、机顶盒、数字视频会议设备、数码相机、高级医疗设备、便携式视频播放终端等等[7]。
DaVinci技术主要包括:
(1)DaVinci软件:
一般均具有较强的可操作性和优化效率的音视频编解码器,如H.264解码器/编码器,MPEG-4解码器/编码器,H.263解码器/编码器,WMV9解码器/编码器,MPEG-2解码器/编码器,JPEG解码器/编码器,AAC+解码器/编码器,WMA9解码器/编码器,G.711,G.728,G.723.1,G.729ab。
(2)DaVinci开发工具:
用于设计和开发数字音、视频应用软件。
(3)DaVinci处理器:
包括可扩展的或(和)可编程的DSP或基于DSP的片上系统(SOC)芯片。
(4)DaVinci操作系统:
DaVinci技术支持Linux、WinCE等操作系统。
(5)DaVinci支持:
由第三方提供的对DaVinci技术支持[8]。
综上所述,DaVinci技术的应用可以大幅提高系统的开发效率,而且,往往还可以同时降低系统的成本。
本文用得到芯片就是DaVinci系列中的TMS320DM6467。
2.2开发环境
SEED-VPM6467Linux开发环境通常包括Linux服务器、Windows工作台及
SEED-VPM6467平台三者处于同一个网络中,如图2.1所示:
开发工程师在Linux服务器上建立交叉编译环境,Windows工作台通过串口和JTAG与SEED-VPM6467开发平台连接,开发人员可以在Windows工作台进行程序开发或者远程登陆到Linux服务器进行开发。
图2.1开发环境
Linux服务器搭建选择常用的Linux发行版本,便于各种资源的搜集。
本方案在虚拟机VMwareWorkstation6.0.1中安装了RedHatEnterpriseLinux5作为开发环境中的Linux服务器。
Windows工作台选择win7下的超级终端,如图2.2所示,超级终端是一个通用的串行交互软件,很多嵌入式应用的系统有与之交换的相应程序,通过这些程序,可以通过超级终端与嵌入式系统交互,使超级终端成为嵌入式系统的“显示器”。
超级终端的原理是将用户输入随时发向串口(采用TCP协议时是发往网口,这里只说串口的情况),但并不显示输入[8]。
它显示的是从串口接收到的字符。
所以,嵌入式系统的相应程序应该完成的任务便是:
1、将自己的启动信息、过程信息主动发到运行有超级终端的主机;
2、将接收到的字符返回到主机,同时发送需要显示的字符(如命令的响应等)到主机[9]。
图2.2 超级终端
2.3SEED-SDK开发软件套件
SEED-VPM6467平台随机的开发软件套件为SEED-VPM6467_SDK,该套件基于TI的系列套件进行整合,将TI的繁琐的安装、配置、各个目录下程序编译器路径复杂的配置等进行简化,很大程度上减少用户的繁琐操作,降低开发者的开发难度。
SEED-VPM6467包括以下3个组件:
(1)DVSDK:
该目录下为DVEVM与DVSDK套件,包括各种cmem、dsplink、framecomponent、codecengine、demo源码及dspbios、xdctools、cgtools等dsp端编译器等资源。
(2)Arm-2008q1:
该目录下为ARM端的arm-none-linux-gnueabi-交叉编译工具链。
(3)Kernel:
该目录为linux内核。
(4)Nfs:
该目录为配置完毕的NFS文件系统。
(5)Test_src:
该目录为linux下测试程序源码。
SEED-SDK经过简单的配置即可使用。
SEED-SDK安装在linux服务器下,其中的linux内核要烧写到目标板中,文件系统可以烧写到目标板,也可以通过网络挂载的方式挂载linux服务器中的文件系统(即nfs文件夹)[10]。
2.3.1DVSDK软件包
DVSDK软件开发套件是SEED-SDK开发软件套件中的一个组件,它是由TI提供的,主要的作用是建立DSP与ARM之间的联系。
Linux数字视频软件开发套件(digitalvideosoftwaredevelopkit,DVSDK),可以帮助DaVinci系统集成商成功地实现快速开发基于Linux的多媒体应用,因为它们可以轻易被植入DaVinci系列的不同器件中。
每个DVSDK都包含一套预先测试的操作系统、应用程序框架和包含示例程序的编解码器库,这些示例程序可以演示从外设流入和流出的实时音频和视频数据的解码和编码工作。
特别地,DVSDK在具有DSP内核的DaVinci器件方面提供了完整的框架,这一框架为开发人员轻松利用DSP加速编解码器提供了极大的便利性,他们可以无需对DSP本身进行编程。
对于所有DaVinci器件,DVSDK包含:
(1)引导加载(u-boot):
用于从各种外设中启动Linux的软件。
(2)编解码器引擎多媒体堆栈:
xDM(xDAIS)作为一组相同的多媒体编解码器API,由编解码器引擎算法执行框架提供,该API具有与加速器环境无关特征,也就是说无论编解码器是在ARM、DSP还是在专用加速器上都是可以正常运行的。
开发人员在此基础上就可以基于先进的编解码器引擎去构建更为高级的多媒体框架功能(例如AV同步或流解析功能)。
而专业的Linux应用开发人员可以在编解码器引擎的帮助下直接在DSP上远程实例化并执行编解码器和算法,而不再需要去编写任何DSP代码。
(3)DaVinci多媒体接口(DaVinciMultimediaApplicationInterface,DMAI):
DMAI可实现具有高便携性与可移植性的多媒体应用的开发,它们可以很轻易被从某个器件或操作系统移到其它器件或操作系统。
(4)多媒体编解码器:
DVSDK提供了编解码器库以及相关的AV剪辑,在此基础上开发人员能够立即开发和对现实应用进行评估。
(5)演示程序:
演示程序主要展示了解码和编码操作,对如何将框架、编解码器、视频和音频子系统驱动器相集成以实现完整的应用进行了详尽的说明[11]。
2.4系统总体结构和视频格式
2.4.1系统总体结构
系统的总体模块图如图2.3所示。
图2.3系统总体模块图
本方案中的视频采集编码都涉及到视频的格式,在此有必要对视频的格式作一些介绍。
2.4.2YUV格式
视频前端采集到的未经过处理的数据都是YUV格式的。
YUV是被欧洲电视系统所采用的一种颜色编码方法,在现代彩色电视系统中,通常采用三管彩色摄影机或彩色CCD摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到RGB,再经过矩阵变换电路得到亮度信号Y和两个色差信号R-Y(即U)、B-Y(即V),最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。
这种色彩的表示方法就是所谓的YUV色彩空间表示。
采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的[12]。
YUV格式是对RGB格式的一个优化。
RGB也是颜色编码方式的一种,RGB色彩模式是通过对R、G、B三个颜色通道的变化以及他们相互之间的叠加来得到各种各样的颜色。
而人眼对于亮度(Y分量)相对色度(U和V分量)更为敏感,因此减少对色度分量的采样肉眼也察觉不到图像质量的变化,YUV主要的格式有YUV420,YUV422,YUV411和YUV444[13]。
下面介绍YUV411,其余格式与之类似。
在原来的RGB中,对于一个点,三个分量分别存8bit信息量,一个点共需要24bits。
而在YUV411中,4个点存4个Y分量,1个U分量,1个V分量,1个分量存8bit的信息,这样4个点共存储了48bits的信息,平均每个点存12bits的信息,这样就把数据压缩了一半。
对于YUV420,4:
2:
0并不意味着只有Y,U而没有V分量。
它指得是对每行扫描线来说,只有一种色度分量以2:
1的抽样率存储。
相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:
2:
0的话,下一行就是4:
0:
2,再下一行是4:
2:
0,以此类推。
2.4.3PAL,720p,1080i,1080p视频格式
这些视频格式都是电视标准,PAL电视标准用于中国、欧洲等国家和地区,标准的数字化PAL电视标准分辨率为720*576。
720P是美国电影电视工程师协会(SMPTE)制定的高等级高清数字电视的格式标准,有效显示格式为:
1280×720。
SMPTE(美国电影电视工程协会)将数字高清信号数字电视扫描线的不同分为1080P、1080I、720P(i是interlace,隔行的意思,p是Progressive,逐行的意思)。
720P是一种在逐行扫描下达到1280×720的分辨率的显示格式。
1080i格式的分辨率为1920×1080i/60Hz,1080p格式的分辨率为1920×1080逐行扫描[14]。
第3章硬件部分
3.1TMS320DM6467芯片
TMS320DM6467是TI2007年底推出的一款DaVinci系列芯片,是业界首个单片多格式实时编码转换解决方案,它是基于DSP的片上系统(SOC),并集成了ARM9和TMS320C64x+DSP内核,拥有高清视频编解码协处理器(HD-VICP)及其他丰富的接口,采用硬件逻辑来增强视频编解码功能模块的速度,这样很多以前由DSP完成的工作就交由协处理器来处理,极大地提高了处理速度。
DM6467的目标应用领域包括视频广播、媒体网关、监控领域的数字视频服务器和录像机以及IP机顶盒[15]。
3.1.1芯片具体特征
(1)高性能数字媒体SoC
a)594MHZ时钟速率的C64x+DSP核
b)297MHZ时钟速率的ARM926EJ-S
c)每个时钟周期可以运行8条32bit的C64x+指令
d)DSP运算能力达到4752MIPS
e)同C64xDSP,ARMS处理器软件兼容
(2)先进的具有超长指令字的TMS320C64x+DSP内核
a)8个高度独立的功能模块
b)6个ALUC32-/40-比特),每一个都能在一个周期内完成单32bit,双组16bit或四组8bit的算法
c)两个乘法器可在一个周期内完成4组16x16bit乘法(32bit结果)或8组8x8bit乘法(16bit结果)
d)支持非对齐方式(32位和64位)的存取结构
e)64个32bit通用寄存器
f)指令打包以减少代码量
g)所有指令都可以条件执行
h)其他的C64x+的增强功能
1.受保护的模式操作(一种2层的带特权的程序执行系统,支持更大容量的操作系统和存储器保护等系统特性)
2.异常支持,以便错误检测和程序的重定向,保证代码执行的健壮性
3.硬件支持块循环操作以减少代码量
(3)C64x+指令设置特点
a)比特寻址(支持8/16/32/64bit数据,为各种应用提供有效的存储器支持)
b)8bit溢出保护
c)域操作和指令提取、置位、清除及位计数,支持控制和运算中常见的各种操作
d)饱和及归一化,支持主要的算术运算
e)紧凑16位指令:
通常的指令(AND,ADD,LD,MPY等有16位的版本,以减少代码量
f)增加指令来支持复杂乘法
(4)C64x+L1/L2存储器结构
a)L1P存储器包括32KBRAM。
允许用户将L1PRAM的全部或部分配置成通常的程序RAM或Cache。
可以配置的Cache的大小为32KBRAM中的0KB,4KB,8KB,16KB和32KB
b)L1D存储器包括32KBRAM。
允许用户将L1DRAM的全部或部分配置成通常的数据RAM或Cache。
可以配置的Cache的大小为32KBRAM中的0KB,4KB,8KB,16KB和32KB
c)L2存储器包括128KBRAM。
允许用户将L2RAM的全部或部分配置成通常的RAM或Cache。
可以配置的Cache的大小为128KBRAM中的0KB,4KB,8KB,16KB,32KB,64KB和128KB
(5)ARM926EJ-S内核
a)支持32bit或16bit的指令(配备Thumb扩展)
b)DSP指令扩展和单周期的乘法–累加单元(MAC),提高16位定点运算性能
c)ARMJazelle技术
d)为了进行实时调试的嵌入式ICE逻辑
(6)ARM9内存结构
a)16K-Byte指令Cache
b)8K-Byte数据Cache
c)16K-Byte内部RAM(访问宽度32位)
d)8K-Byte内部ROM(作为可选的非AEMIF引导方式的ARM引导)
(7)嵌入式的跟踪缓冲器(ETB),带有4KB内存以便ARM9调试
(8)数据对齐方式:
ARM和DSP均为小头对齐(LittleEndian)
(9)两个可编程的高清视频图像协处理器(HD-VICP)引擎,支持一系列的解码、编码和转码操作H.264,MPEG-2,VC1,MPEG-4,SP/ASP
(10)视频接口(VPIF)
a)可配置为两个8位SD(BT.656),或者一个16位HD(BT.1120),或者一个原始视频捕获通道(8位/10位/12位)
b)可配置为两个8位SD(BT.656),或者一个16位HD(BT.1120)视频显示通道
(11)视频数据转换引擎(VDCE)
a)水平、垂直下调节(downscaling)
b)色度转换(4:
2:
2<—>4:
2:
0)
(12)两个传送流接口(TSIF)模块(一个可配置为并行/串行,一个只能做
串行)
a)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机载 字音 视频 记录仪 设计