导言
数字电影,是指以数字技能和设备摄制、制造、存储,并经过卫星、光纤、磁盘、光盘等物理媒体传送,将数字信号还原成契合电影技能规范的印象与声响,放映在荧幕上的影视作品。与传统电影比较,它具有画面明晰、稳定性高、节省本钱、利于环保等特色。从国际上来看,经过初期阶段的探索,数字电影技能现已相对老练,创造人员已从曩昔单纯地运用数字特技逐渐转化为将其与传统摄制、传统特技融为一体的表现手法。在国内,数字电影阅历了引入、消化、仿照、立异的进程。为了鼓舞和推动我国数字电影的开展进程,国家投入了很多的资金,在全国建设了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。考虑到体系要接多个模块,这儿使用A%&&&&&%33串行总线操控支撑的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的算法组件。