导言
数字电影,是指以数字技能和设备摄制、制造、存储,并经过卫星、光纤、磁盘、光盘等物理媒体传送,将数字信号还原成契合电影技能规范的印象与声响,放映在荧幕上的影视作品。与传统电影比较,它具有画面明晰、稳定性高、节省本钱、利于环保等特色。从国际上来看,经过初期阶段的探索,数字电影技能现已相对老练,创造人员已从曩昔单纯地运用数字特技逐渐转化为将其与传统摄制、传统特技融为一体的表现手法。在国内,数字电影阅历了引入、消化、仿照、立异的进程。为了鼓舞和推动我国数字电影的开展进程,国家投入了很多的资金,在全国建设了100多个数字影院。依据我国国情,首先是遍及和推动我国社区及农村地区的数字电影的开展,因而,需求很多的低端装备的活动数字电影放映设备。
达芬奇技能是一种内在丰厚的技能综合体,是美国TI公司推出的针对数字多媒体运用而定制的依据DSP的体系解决计划组件的调集,其为多媒体设备开发者简化规划并加快产品立异供给了集成的处理器、软件与东西。TI公司在达芬奇渠道上专门为音视频编解码(Codec)多媒体运用精心规划了体系结构,供给了丰厚的体系程序接口(SPI)、运用程序接口(API)以及视频、图画、话音和音频千余种流媒体算法组件。运用体系开发者只需将它们封装成运转包,就能轻松地规划出高可用性和高可靠性的数字视频产品。
为了满意我国的实践需求,本文在达芬奇体系硬件渠道的基础上,运用达芬奇软件技能,提出了开发数字电影放映体系的计划及其详细完结办法。该计划有利于缩短产品的研制周期,更快地占领市场。
1 硬件规划
数字电影放映体系首要是以数字多媒体处理器TMS320DM6446为中心来完结的。TMS320DM6446是TI公司的高集成度视频处理芯片,业界称为达芬奇(DaVinci)数字媒体片上体系(Digital Media system-on-Chip,DMSoC)。图1为TMS320DM6446功用结构框图。
如图1所示,DMSoC包含ARM子体系、DSP子体系、视频处理子体系(VPSS)、体系操控模块、电源办理模块、外部存储接口、外围操控模块和交流中心资源(SCR)等。其间,ARM子体系首要担任TMS320DM6446体系的全体装备和模块功用操控,以及调用视频算法。作业频率近600 MHz的DSP子体系担任视频算法的履行,其最大处理才干能够到达4800MIPS,极大地增强了音频和视频的解码才干。视频处理子体系包含1个视频前端输入接口(VPFE)和1个视频结尾输出接口(VPBE),视频前端输入接口用于捕获视频信号,视频结尾输出接口将图画输出到OSD上显现。
本体系的结构框图如图2所示。体系经过异步外部存储器接口(EMIF)外接64 MB的NAND Flash,用于存储发动代码和数据,以引导加载ARM Linux操作体系。运用ATA操控器接口外接160 GB 2.5 in的ATA硬盘,首要用于Linux体系的文件体系、运用程序和很多数字影片文件的存储。因为ATA硬盘输出的是3.3 V电压信号,而TMS320DM6446硬盘操控器输出的电压信号为1.8 V,为使硬盘与主CPU正常衔接,需求电压转化芯片来确保硬盘的正常作业。此外,为了便利改动视频节目及便于试验的测验,本体系还经过MMC/SD存储卡接口扩展了2 GB的SD卡和USB2.0接口。运用TMS320DM6446的32位DDR2操控器接256 MB DDR2型SDRAM缓冲视频输入图形数据,作为OSD的缓冲器来存储ARM和DSP代码。
体系的视频前端输入接口(VPFE)支撑复合视频(CVBS)输入及S-端子输入。视频结尾输出接口VPBE支撑模仿视频输出,包含复合视频(CVB-S)输出、S端子输出、重量视频输出(YPbPr)及VGA输出;一起,支撑数字视频输出(DVI)。视频解码模块选用TI公司的高质量视频解码芯片TV-P5158,把常见的基带模仿视频格局转化为数字视频格局。输入的视频数据经过TVP5158视频解码芯片转化成10位YUV4:2:2的格局,然后送至视频前端处理,处理完的数据再经视频结尾处理后保存至硬盘。音频解码模块选用TI公司的低功耗立体声解码芯片TLV320AIC33。考虑到体系要接多个模块,这儿运用AIC33串行总线操控支撑的I2C协议,经过I2C接口与DSP的音频端接口相连。别的,为了监控硬件渠道的发动状况,运用TMS320DM6446集成的UART外设操控器,扩展了UART通用异步串口,装备RS232用于体系发动时操控台。
2 软件规划
数字电影放映体系的软件规划首要是在Linux体系环境下,运用达芬奇软件结构结构来完结的。经过将契合数字媒体规范(xDM)的音频和视频算法打包在由CodecEngine(代码引擎)办理的Codec Server(代码服务器)里,ARM端的运用程序就能够调用集成在Codec Server里的音频和视频算法,解码来自Linux文件体系的音频、视频、语音数据,输出到TMS320DM6446上操控视频和语音外设的Linux器材驱动器。
2.1 达芬奇软件开发办法
在进行本体系软件开发时,软件开发流程如图3所示。
软件开发详细步骤如下:
①DSP端,在TI公司推出的CCS3.3开发环境下,把音视频解码算法修正成契合数字媒体规范(xDM)的方式,并编译生成一个算法的库文件*.lib(等同于Linux环境下的*.a64P,直接在Linux环境下修正文件后缀名即可)。
②生成一个在DSP上运转的可履行程序*.x64P(即.out文件),也便是Codec Server。本体系的Codec Server里集成了MPEG-2、MPEG-4、H.264、AAC、MP3、G.71l多种方式的音视频解码器。
③依据Codec Server的称号及其间包含的详细的音视频解码算法,创立Codec Engine的装备文件*.cfg,包含Engine的不同装备、称号,每个Engine里包含的Codec以及每个Codec运转在ARM仍是DSP端等。例如,在.cfg文件中,能够修正获得Codec模块的相关句子,按需求引证Codec模块。获得不同模块的句子如下;
代码模块能够自己开发,也能够充分运用第三方的软件技能,任何与xDM兼容的算法都能够集成到Codec Server中。这样就避免了开发的重复性,降低了开发的难度。
④将收集到的不同音视频Codec包、Codec Server和Engine装备文件*.cfg以及运用程序经过编译、链接,终究生成ARM端可履行文件。2.2 达芬奇中心结构Codec Engine
Codec Engine是介于运用程序和代码服务器的中心层,是运用DaVinci技能简化数字产品开发的要害组件。它为运用程序供给了VISA接口,在不用考虑杂乱的视频、图画、话音和语音处理算法(VISA)的前提下,运用Codec Engine供给的API,运用程序能够便利地调用契合xDM的算法组件。
2.3 ARM端解码运用程序的规划
本体系的运用程序是在Linux体系环境下,运用DaVinci技能的Codec Engine供给的API来完结的。运用程序运转在TMS320DM6446双核处理器的ARM端,解码存储在硬盘里的音频、视频、语音数据,经过视频结尾输出接口(VPBE)输出,在OSD上实时显现。
解码线程的流程如图4所示。
运用程序首要包含5个POSIX线程:主线程(操控线程)、视频线程、显现线程、语音线程以及音频线程。从图4中能够看到,视频、语音、音频线程在主线程变成操控线程之前发生。显现线程由视频线程发生。“MSP430+IR”用来接纳用户输入的指令,只要在指令行里供给了一个视频文件时,才干树立视频线程。一起,因为音频和语音要求相同的外设(A%&&&&&%33),因而,不能一起解码音频和语音文件。此外,一切的线程都是抢占式的,依据优先级的时序(SCHED_FIFO),其间,显现线程具有最高的优先级,接下来是视频线程,操控线程的优先级最低。线程的初始化由Rendezvous共用程序模块来同步。该模块运用POSIX的条件来同步线程的初始化。每个线程履行其初始化后,告诉Rendezvous的目标。一切的线程都完毕初始化后,一起解锁,开端履行主循环。
3 测验成果
本体系的软件开发是在虚拟机上的Linux操作体系下进行的,Linux操作体系的版别为Monta Vista Linux Professional Edition v4。测验前,用穿插网线将硬件渠道经过交流机与主机相连,并装备NFS(Network File System,网络文件体系)服务,使得开发板和主机能够相互拜访;一起,在主机的Windows环境下,将开发板与主机用串口线相连,设置超级终端,经过超级终端监控硬件体系的发动状况,并设置指令参数。
测验时,在超级终端里输入解码指令,硬件体系经过MSP430解析输入的指令,读取存储在HDD(硬盘)里的音视频数据,运用OSD在线显现解码的影片。图5~图7分别为对MPEG-2、MPEG-4、H.264音视频的解码图画。
结语
本文结合达芬奇数字多媒体技能提出了数字电影放映体系的硬件解决计划及软件规划办法。运用达芬奇对高层Linux的支撑、规范化的API以及产品化的底层驱动器,大大降低了规划数字视频体系的杂乱性,缩短了产品的开发周期。测验标明,所规划的数字电影放映体系支撑多种格局的数字影片的高清播映,且具有高稳定性和高可靠性。该规划计划还能够用于其他数字产品的开发,如IP机顶盒、网络摄像机、医学图画处理、视频会议等。