新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 数字电影放映系统实现方案

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

作者: 时间:2016-12-20 来源:网络 收藏

2.3 ARM端解码应用程序的设计

本系统的应用程序是在Linux系统环境下,利用DaVinci技术的Codec Engine提供的API来完成的。应用程序运行在TMS320DM6446双核处理器的ARM端,解码存储在硬盘里的音频、视频、语音数据,通过视频末端输出接口(VPBE)输出,在OSD上实时显示。

解码线程的流程如图4所示。

应用程序主要包括5个POSIX线程:主线程(控制线程)、视频线程、显示线程、语音线程以及音频线程。从图4中可以看到,视频、语音、音频线程在主线程变成控制线程之前产生。显示线程由视频线程产生。“MSP430+IR”用来接收用户输入的命令,只有在命令行里提供了一个视频文件时,才能建立视频线程。同时,由于音频和语音要求同样的外设(AIC33),因此,不能同时解码音频和语音文件。此外,所有的线程都是抢占式的,基于优先级的时序(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机顶盒、网络摄像机、医学图像处理、视频会议等。


上一页 1 2 下一页

评论


技术专区

关闭