1 引言
随着通信技术的不断发展, 高清应用的日益普及, 传统的多媒体信息发布终端已不能满足高清媒体的播放需求。针对现有技术存在的系统复杂, 成本较高, 播放质量差等不足, 本文介绍一种高清媒体信息发布终端设计方案, 该方案采用嵌入式平台架构及硬件解码技术, 支持多种音视频及图片格式, 能够实现视频、音频、图片和滚动字幕等多媒体信息的组合播放, 播放质量可达到卓越的高清电视品质。做为高清媒体发布系统的终端节点, 该系统在远程中央控制系统管理和控制下, 可实现定时或即时的播放广告、新闻、天气预报、物业通知等信息, 在第一时间将最新鲜的资讯传递给受众人群; 这种分众化的传播模式能够细分受众群体、区分受众需求, 优化传播过程, 提高受众群体覆盖的准确性, 从而达到传播效果的最优化, 在楼宇电视、银行、社区、车站、机场等广告播放和信息发布市场拥有广阔的应用前景。
2 硬件系统结构
本系统的主处理器选用S igma Designs公司的专业级的高清视频解码芯片EM8623L。该芯片同时集成了V ideo Decoder ( R ISC ) , ARM, DSP 三颗芯片, 支持包括MPEG - 1 /2 /4 SD /HD、WMV9 SD /HD、D ivx、H 264、VC - 1等在内的多种视频格式解码, 音频: MPEG - 1、Layer1 /2 /3(MP3)、AC - 3、AAC、PCM、WMA9等。内嵌的200MH z的ARM负责核心主控, 内存带宽32位, 并最大支持256MB的DDR, 支持64MB的闪存扩展。32位DSP专门负责音频处理, 16位R ISC 处理器负责视频解码。EM8623L 还具有2D 图形引擎及IDE、DV I、PC I、U SB 等丰富接口支持。这款基于嵌入式架构和硬解码的芯片解决方案在成本、功耗和效率上都能很好的满足高清媒体播放终端设备需求。
本文所述的高清媒体信息发布终端硬件系统结构主要包括: 高清解码芯片EM 8623L; 128MB SDRAM 和8MB 闪存; 网络接口控制器; 前面板控制电路; 内置2 5英寸笔记本SATA 硬盘接口; 提供高清数字多媒体接口(HDM I)、高清晰视频色差分量接口( YPbPr)、复合视频信号接口(V IDEO)等视频接口, 光纤数字音频接口( S /PD IF)、同轴数字音频接口( COAX IAL)、双声道立体声音频接口( R- AUD IO - L)等音频接口。此外还提供了USB2 0接口, 可与外接移动存储设备连接, 播放其中的影音资源, 并提供固件升级功能。
3 软件设计
3.1 软件架构设计
软件系统根据嵌入式系统原理和多媒体信息发布应用需求进行设计, 系统架构如图1, 主要由硬件驱动层, 实时操作系统层, 中间层和应用程序层组成。硬件驱动层是与硬件联系最紧密的软件层, 包括音视频输出接口、N IC、SATA控制器, USB2 0控制器、F lash、RS232和前面板/遥控器等的驱动, 以及和访问硬件地址寄存器的API, 是系统稳定高效运行的重要基础。设备驱动的加载可以随着操作系统启动时在内核中加载,也可以在操作系统起来之后, 单独进行模块加载, 具体可在内核编译时进行驱动加载的设定, 使得内核大小的设定较为灵活, 方便根据F lash空间做出适当的调整。
实时操作系统是嵌入式设备软件的核心部分。uC linux是针对嵌入式处理器特点设计的一种实时操作系统, 它继承了标准L inux 强大的网络功能和多任务管理功能, 支持多种文件系统, 提供标准丰富的API, 具有执行效率高、占用空间小、可扩展性强和良好的可移植性等优点。除此, 他还专为无MMU 的处理器设计, 并对L inux 内存管理和进程管理进行了改写, 满足无MMU 处理器的开发要求。由于EM8623L是一款没有MMU 的处理器, 因此本系统采用uC linux 作为操作系统内核。
中间层包括私有协议栈模块, PPPOE ( Po int- to- po intpro tocol over E thernet)模块, 音视频解码模块和2D图形加速器模块。这些模块处在实时操作系统层和应用程序层之间,向上提供API接口供应用程序调用, 向下通过实时操作系统实现API接口函数到硬件驱动层的映射。私用协议栈模块是一种基于UDP的私有可靠的数据报协议, 为支持远程大数据量下载而自主设计的。该协议栈可根据不同的网络丢包率采取自适应重发、补发等容错机制, 克服了UDP协议数据传输的不可靠性。在网络丢包率较高的网络环境中能表现出较为强劲的数据接收能力, 较好的满足了大数据量高清媒体的高速可靠下载任务, 有效数据下载率可达现有带宽的80%以上。PPPOE模块支持系统ADSL网络接入功能, 通过将开源的标准L inux上的PPPOE代码移植到嵌入式uC linux 内核实现。音视频解码模块是Sigma Designs开发的一个完整的文件播放器, 用于播放EM86231硬解码支持的多标准音视频文件和先进的显示处理功能(支持HDM I/YPbPr/AV 等视频输出和S /PDIF, 双声道等音频输出)。2D图形加速器支持高速OSD和GU I,为高清晰度显示器提供高质量的图像。
应用程序层处于软件系统的最顶层, 实现系统应用软件的主体功能, 主要包括遥控器接收处理, 图形用户界面显示, 高清媒体文件本地下载, 网络在线升级, 系统登陆远程服务器的注册认证, 视频/音频/图片/飞字等的分时控制播放和组合播放等。
3.2 系统任务设计
针对高清媒体信息发布所要求的准确性, 实时性和和即时性, 本系统主要设计了四个系统任务, 分别是: 主控任务、计时线程、网络任务线程和飞字播放线程。主控任务主要负责各任务调度, 监控服务器对主窗口和飞字窗口发出的控制命令(如暂停, 快进, 快退, 停止, 继续等操作) , 以及根据下载到本地硬盘的各种节目制作单播放相应的媒体节目, 可以实现顺序播放, 插播控制,按时间播控和手动播放等。网络任务线程包括控制信息收发线程和数据下载线程。控制信息收发线程和数据线程完成高清媒体文件的远程下载和本地存储, 控制信息收发线程主要负责协议的握手, 即协议信息发起端在200ms内未等到约定协议信息的到达, 便判定信息超时并进行重发; 数据线程主要负责网络推送的媒体文件的本地下载和存储。
计时线程主要负责获得当前的系统时间, 然后把系统时间与本地时间控制列表中每条记录的播放时间、插播控制列表的每条记录的播放时间进行比较, 如果有记录的播放时间到, 则进行相应的播放处理, 播放处理分为主窗口和飞字窗口。飞字播放线程实现根据飞字循环播放列表, 飞字插播列表, 飞字时间控制列表中的节目顺序进行相应的飞字播放操作。系统整体工作流程具体步骤如下:
( 1)启动bootloader, 进行必要的硬件初始化;
( 2)从flash中启动rom fs;
( 3)判断是否启动成功, 如果成功的话, 接下来解压app bin g z, 进行内核的初始化, 加载相应的设备驱动, 启动上层的应用程序。
( 4) 如果不成功则从硬盘中读取rom fs b in, 并写入ROM 中, 并重复进行( 3) 操作;
( 5)读取flash中默认的配置参数并设置相应的参数;
( 6)启动DHCP, 获取I P地址、网关、DNS 服务器IP、子网掩码等;
( 7)启动网络线程任务, 进行终端与服务器的对接, 注册认证; 媒体数据下载等; 如果与服务器连接成功, 则同步终端系统时间;
( 8)启动主控任务, 按照播放优先级播放指定播出列表节目。主控任务流程图如图2所示。
4 结束语
本文设计了一个基于EM8623L的高清媒体发布终端, 具有低功耗, 结构紧凑, 高稳定性等特点。支持高效可靠的高清媒体节目本地下载; 支持顺序播放、即时播放和定时播放功能; 支持几乎所有高清视频媒体的流畅播放; 能够实现视频、音频、图片和滚动字幕等多媒体信息的组合播放; 并接受前端控制系统的实时监控; 具有多种音视频输出接口, 支持1080P纯高清显示。目前结合前端控制系统在银行, 机场等场所已经得到广泛推广和应用。