达芬奇技术课程_第1页
达芬奇技术课程_第2页
达芬奇技术课程_第3页
达芬奇技术课程_第4页
达芬奇技术课程_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、学号成绩 davinci技术原理及应用课程论文题目: 基于达芬奇技术的 作 者 向灿群 班 级 11-1bf 院 别 信息与通信工程 专 业 电信工程实验完成时间 2014年5月12日 1 达芬奇技术概述达芬奇技术是一种数字图像、视频、语音、音频信号处理的新平台,以其为基础的应用开发层出不穷。该技术是一种内涵丰富的综合体,包含达芬奇处理器、软件、开发环境、算法库和其他技术支持等。正因为涉及的技术面广,因此有比较高的技术门槛。2 视频设备驱动tms320dm6446中的视频处理子系统有两个接口,分别为用于视频输入的视频前端输入(vpff)接口和用于图像输出的视频末端输出

2、(vpbe)接口。 视频前端输入(vpfe)接口由1个ccd控制器(ccdc)、1个预处理器、柱状模块、自动曝光/白平衡/聚焦模块(h3a)和寄存器组成。ccd控制器可以与视频解码器、cmos传感器或电荷耦合装置连接;预处理器是一个实时的图形处理器,它把cmos或ccd得到的原始图形从rgb(三原色)转变为yuv4:2:0编码;柱状模块和h3a模块则提供原始图形信息。 视频末端输出(vpbe)接口由1个在线视频显示处理器(osd)和1个视频编码器组成。在线视频显示处理器既能够显示两组独立的视频窗口或两组独立的osd窗口,还可以以1个视频窗口、1个osd窗口和1个属性窗口的形式显示。视频解码器以

3、54mhz进行d/a转换,可以提供ntsc/pal、s等格式的视频或音频输出。3 编解码引擎框架 davinci是dsp和arm双核架构的soc芯片。对芯片与外界的交互通过arm端的montavista linux和相关驱动与应用程序来管理,dsp端只处理编解码相关的算法。dsp和arm之间的通讯和交互是通过引擎(engine)和服务器(server)来完成的。编解码引擎(codec engine)a. 核心引擎api 从应用来说,ce就是用来调用xdais算法的一组api的集合,用户可以通过这些api来实例化和调用xdais算法。达芬奇提供了一组visa接口,用于给应用程序与xdm兼容的xd

4、ais算法相交互。需要注意,不管算法是运行在本地(arm端),还是远端(dsp端),也不管硬件体系是只有arm 或是只有dsp或两者都有,也不管os是linux、vxworks、dsp/bios,还是wince,对算法的接口调用都是一致的。这点通过引擎的配置文件*.cfg 可以看出来,而且通过配置文件可以决定自己的codec是运行在arm端还是dsp端。ce包括核心引擎api和visa api ,核心引擎api相关接口模块为: 初始化模块(ceruntime_)、ce 运行时模块(engine_)、抽象层内存模块(memory_); visa api 的接口模块我们常用的有: 视频编码接口(v

5、idencx_)、视频解码接口(viddecx_)、音频编码接口(audencx_)、音频解码接口(auddecx_),各模块分别包含在对应的头文件中。应用程序必须使用ce 的核心引擎的三个相关模块去打开和关闭编解码引擎的实例。需要注意的是引擎的句柄是非线程保护的,对单独使用ce 的每个线程来说,必须执行engine_open 并管理好自己的引擎句柄,而对多线程应用来说,也可以顺序的访问一个共享的引擎实例,我们目前采用的就是后者,只定义了一个引擎句柄,多个解码器共用。编解码引擎同时还提供相关的api用以访问系统的内存使用状况和cpu的负载信息,接口如下:engine_open: 打开一个编解码

6、引擎;engine_close: 关闭一个编解码引擎,通常是在删除算法实例后调用之来释放相关资源;engine_getcpuload: 获取cpu的使用百分比;engine_getlasterror: 获取最后一个失败操作所引发的错误代码;engine_getusedmem: 获取内存使用状况b. visa api创建一个算法实例: *_create()编解码引擎cehandle_264创建完毕后,可以通过它来创建自己的算法实例,需要调用*_create(),其中*可以是video 或audio的相应编解码模块的名字。关闭一个算法实例: *_delete()viddec_delete(264h

7、andle); /*注意:只有当与算法相关的内存片清除后,才可以调用之删除算法实例*/控制一个算法实例: *_control()viddec_control(264handle, xdm_setparame, dynamicparamsptr, &encstatus);第一个参数是已经打开的算法实例句柄; 第二个参数是一整型的command id,它定义在xdm.h中; 第三个参数是需要动态改变算法的参数; 第四个参数是一个结构体变量,不同模块具有不同的结构。通过算法实例处理数据: *_process()status = viddec_process(264handle &inbufdesc,

8、&outbufdesc, &inargs, &outargs);第二和第三个参数是xdm_bufdesc类型的结构体,其中包含了内存片段的数目和开始地址以及长度信息;第四第五个参数分别为算法实例提供输入和输出地址。c. 编译一个编解码引擎-引擎配置文件(ceapp.cfg) 引擎的配置文件是以*.cfg文件形式存储的,目前我们工程里面含两个*.cfg: app里面含ceapp.cfg,里面包含对引擎的配置,还有一个是video_copy.cfg,在serve下,是对服务器的配置文件之一,后面会讲到。ceapp.cfg通过makefile文件使用package.xdc来产生一个*.c文件和一个链

9、接命令脚本文件。一个引擎配置文件包含如下内容: 引擎的名字以及包含在引擎内的编解码器和它们的名字。从这里可以看出,前面定义h264dec等名字的作用,用于应用程序中标识算法类别,也可以看出一个引擎是可以由几个编解码器模块共用的。4 系统设计与实现(来自网络)1、系统方案设计 针对目前机器人系统存在的不足,本文以全自主移动机器人为背景,设计了一种基于嵌入式rtlinux的移动机器人平台。该平台具有体积小、模块化设计、功耗低、实时性强、可靠性高、软件的可裁减性和可移植性等优点,并且具有以下功能:采用轮式行走机构,控制性能好,速度快,最大速度为2.5m/s;视觉系统采用全景摄像头,可以实现目标的识别

10、、跟踪和定位;选用红外传感器和超声波传感器,可以实现避障功能;具有无线网络功能,可以通过计算机对机器人发送指令,读取传感器信息,实时显示图像信息;具有盘球、射门装置,可以完成带球和射门动作;具有简单的语音控制系统,通过语音识别、接受指令并执行相应的动作;具有lcd触摸屏交互功能,便于信息的交互和确认。为了简化设计,把系统分为软件和硬件两个部分。每个部分都按照模块化和可扩展性的设计思想进行设计。2、 系统硬件设计3、 系统软件设计5 总结达芬奇(davinci)技术是消费类电子产品领域的重大里程碑,能够促进新型数字视频应用市场的增长并使现有应用更加简单易用。达芬奇(davinci)技术将充分满足众多新兴的数字视频创新产品对实时视频的需求。这些应用领域包括:视频安全监控系统、ip机顶盒、视频会议、车载信息娱乐系统、便携式媒体以及数码像机等。参考文献1 张起贵, 张胜,张刚. 最新dsp技术达芬奇系统、框架和组件m. 国防工业出版社,2009.2 谷湘煜,郑小龙.数字视频系统设计中的集成新概念(上)j.电子产品世界,2006.3 张广立,

温馨提示

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

评论

0/150

提交评论