您的位置首页  阜阳文化  影视

数字电影放映系统实现方案

  数字电影,是指以数字技术和设备摄制、制作、存储,并通过卫星、光纤、磁盘、光盘等物理传送,将数字信号还原成符合电影技术标准的影像与声音,放映在银幕上的影视作品。与传统电影相比,它具有画面清晰、稳定性高、节约成本、利于环保等特点。从国际上来看,经过初期阶段的摸索,数字电影技术已经相对成熟,创作人员已从过去单纯地运用数字特技逐步为将其与传统摄制、传统特技融为一体的表现手法。在国内,数字电影经历了引进、消化、模仿、创新的过程。为了鼓励和推动我国数字电影的发展进程,国家投入了大量的资金,在全国建设了100多个数字影院。根据我国国情,首先是普及和推进我国社区及农村地区的数字电影的发展,因此,需要大量的低端配置的流动数字电影放映设备。

  达芬奇技术是一种内涵丰富的技术综合体,是美国TI公司推出的针对数字多应用而定制的基于DSP的系统解决方案组件的集合,其为多设备开发者简化设计并加速产品创新提供了集成的处理器、软件与工具。TI公司在达芬奇平台上专门为音视频编解码(Codec)多应用精心设计了系统框架,提供了丰富的系统程序接口(SPI)、应用程序接口(API)以及视频、图像、话音和音频千余种流算法组件。应用系统开发者只需将它们封装成运行包,就能轻松地设计出高可用性和高可靠性的数字视频产品。

  为了满足我国的实际需求,本文在达芬奇系统硬件平台的基础上,利用达芬奇软件技术,提出了开发数字电影放映系统的方案及其具体实现方法。该方案有利于缩短产品的研发周期,更快地占领市场。

  如图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串行总线C接口与DSP的音频端接口相连。另外,为了硬件平台的启动情况,利用TMS320DM6446集成的UART外设控制器,扩展了UART通用异步串口,配置RS232用于系统启动时控制台。

  数字电影放映系统的软件设计主要是在Linux系统下,利用达芬奇软件框架结构来完成的。通过将符合数字标准(xDM)的音频和视频算法打包在由CodecEngine(代码引擎)管理的Codec Server(代码服务器)里,ARM端的应用程序就可以调用集成在Codec Server里的音频和视频算法,解码来自Linux文件系统的音频、视频、语音数据,输出到TMS320DM6446上控制视频和语音外设的Linux器件驱动器。

  ①DSP端,在TI公司推出的CCS3.3开发下,把音视频解码算法修改成符合数字标准(xDM)的形式,并编译生成一个算法的库文件*.lib(等同于Linux下的*.a64P,直接在Linux下修改文件后缀名即可)。

  ③根据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的算法组件。

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186
友荐云推荐