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空间做出适当的调整。
图1 系统软件结构图
实时操作系统是嵌入式设备软件的部分。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所示。
图2 主控任务流程
4 结束语
本文设计了一个基于EM8623L的高清媒体发布终端, 具有低功耗, 结构紧凑, 高稳定性等特点。支持高效可靠的高清媒体节目本地; 支持顺序播放、即时播放和定时播放功能; 支持几乎所有高清视频媒体的流畅播放; 能够实现视频、音频、图片和滚动字幕等多媒体信息的组合播放; 并接受前端控制系统的实时监控; 具有多种音视频输出接口, 支持1080P纯高清显示。目前结合前端控制系统在银行, 机场等场所已经得到广泛推广和应用。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。