许联国 顾民
【摘要】IPTV(Internet Protocol TV or Interactive Personal TV)即交互式网络电视是传统的电视媒体与新兴的网络媒体互相影响、互相融合的产物。它是一种利用宽带网的基础设施,以家用电视机(或计算机)作为主要终端设备,集互联网、多媒体、通信等多种技术于一体,通过互联网络协议向家庭用户提供包括数字电视在内的多种交互式数字媒体服务的崭新技术。IPTV机顶盒可以为用户提供视频直播、点播、直播时移和互动游戏等功能。通过流媒体协议的应用,用户在点播时可以像操作DVD一样进行快进、快退、暂停、定位等操作。在直播时可以快速切换电视频道,它在网络中同步录制了直播的音视频节目,并可以提供用户在任意时候进行直播时移观看。通过交互功能的应用,人们还可以进行在线互动网络游戏。
技术架构:IPTV的系统结构主要由流媒体服务、存储及认证计费等子系统构成,码流通过IP网络传输,具体内容主要是以MPEG-4为编码核心的流媒体文件,用户终端为IPTV机顶盒+电视机,或者为PC。IPTV非常容易地将电视服务和互联网浏览、电子邮件以及多种在线信息咨询及商务功能结合在一起,所以其主要优势就是交互性和网内业务的扩充。
一、综合业务平台系统构建
综合业务平台系统由媒体服务器、应用服务器、管理工作站、一级网关等组成,是系统的中央控制、信息储存和服务单元。系统可根据应用需要增加应用服务器,如视音频播放服务器,视音频压缩服务器等。服务器之间通过高速以太网相连。可提供的基本功能如:系统管理功能、用户管理功能、计费管理功能、内容管理功能、視频音频制作功能、内容检索功能、用户权限控制功能、VOD功能、服务器互连功能、网络接口功能等。
二、IPTV机顶盒硬件系统设计
通过对IPTV业务特性的分析,总结出IPTV机顶盒需要具备以下功能:
1.具备良好的网络通讯能力,并且支持各种网络通信协议,如TCP/IP、 UDP、RTCP等等。
2.支持多种视频压缩格式,如MPEG2、 MPEG4、VC-1、 H.264等等标准。
3.具备强大的增值业务,如视频点播、网络浏览、网络游戏等。
4.硬件平台性价比高,外围器件的选择上要做到物尽其用,不浪费。
三、机顶盒硬件组成系统
NX8473主芯片、DDR、NandFIash、网卡接口、USB接口、前面板(遥控和按键)接收和音视频输出等按功能将其内部结构划分为四个子系统:
1.系统控制子系统
它主要由MCU,ROM和RAM组成,MCU是机顶盒的核心,用于控制和协调各模块之间的工作,以及管理机顶盒的资源。
2.网络接口子系统
实现各种网络接口,处理有关网络协议(TCP/IP),接收输入数据包,并回传用户的控制命令。
3.数字处理子系统
包含传输解复用、解密、解扰、图形处理、MPEG视频解码、MPEG音频解码、NTSC/PAL编码器、音频DAC等模块。
4.外围设备控制子系统
允许用户可以把多种外设连接到机顶盒上。其中最基本的外设接口就是红外遥控器。
机顶盒通过以太网接口接收网络端的IP数据包,经过解包、解码,再进行视音频转换,变为可识别的模拟信号,传送到终端设备中显示和输出。同时将接收传来的控制指令发往网络服务器端。
网络服务器实现的主要功能是根据机顶盒发来的指令然后发送相应的数据到机顶盒,通过机顶盒、网络服务器的交流共同完成视频播放功能。
四、软件组件的选择
嵌入式Linux是按照嵌入式系统的特点和应用要求而设计的一种小型的操作系统。内核精简而高效、可裁剪、可移植性强并且具有非常好的网络性能等优点,使得它非常适合于IPTV机顶盒的开发。
嵌入式Linux在机顶盒的应用实现,使得用户能够通过电视来完成特定的计算机功能,并且具有良好的网络通信功能和操作界面。因此Linux操作系统在机顶盒的应用得到很大的发展。
软件结构主要分三层:U-boot层,内核层,应用层。U-Boot是Bootloader中最通用的一种,它是运行在操作系统内核之前运行的一段小程序,主要用于加载和启动内核。
(1)主要功能包括初始化主芯片、DDR,FLASH、网卡、显示芯片、串口等主要设备。
(2)将FLASH中存储的启动文件复制到内存中运行。
(3)加载Linux内核到内存并运行。
(4)显示开机LOGO。
(5)终端功能调试(MAC地址、Linux内核和文件系统的写入与删除)。
内核层主要包括linux内核,设备驱动,以及根文件系统。在嵌入式系统中,yaffs2是专门为NandFIash设计的嵌入式文件系统,软件结构得到优化,速度快。yaffs2是日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外掉电对文件系统一致性和完整性的影响。
该软件模块主要实现的功能有:运行嵌入式Linux系统。加载设备驱动。挂载根文件系统。设置系统运行的环境及参数。
机顶盒的所有功能都是通过应用程序来实现的,主程序主要控制着开机画面的显示、菜单选择、频道搜索、音视频控制、软件升级、视频点播,网页浏览,电子邮件,电子商务以及条件接收等功能。
五、消息驱动机制
消息驱动机制负责图形用户界面与操作系统、输入设备以及其它子系统等进行信息交换,也用于处理GUI(图形用户界面)系统内部的各种事件和交互,它是整个图形用户界面系统的动力源。
GUI是用于与用户进行信息交互,而交互的实现则通过一些称为“事件”的动作来触发,如外部的输入设备事件、GUI内部对象间传递信息等。消息驱动机制可以很好的解决这种基于事件驱动的多应用设计问题,并且可以形成一种处理多个系统之间、系统内部对象和对象之间关系的简洁办法。
消息驱动机制包括消息的产生、分发和处理等。在采用消息驱动的GUI系统中,计算机系统外设发生的事件,例如遥控器的敲击,遥控器按键的操作都是消息的产生。每个按键都对应着固定的事件值和一个中断号,当某个事件发生时,驱动层通过异步通知将驱动中发生的中断事件通知给应用层,然后应用层以事先约定的格式翻译为特定的消息并放入到对应的消息队列。GUI系统在开始运行后建立一个消息处理循环,在循环中不断的读取消息并处理消息,直到特定的退出消息传来为止。
采用消息驱动机制后,各部件之间形成松散的藕合关系,增加了系统部件连接和集成的灵活性,这是通过消息和响应的调用实现的,从而用户只需关心产生消息和处理消息,并且GUI系统变得更加容易维护,升级方便。
系统运行状态控制:
1.主控模塊负责
遥控/按键接收处理、系统状态控制、进程/线程管理、运行状态控制等。
2.初始化模块负责
根据系统上次退出时所保存的系统参数进行初始化、视频显示设置、音频参数设置、网络初始化、系统认证等。
3.OSD模块负责
视频参数设置、音频参数设置、显示制式参数设置、显示比例参数设置等。
4.浏览器模块负责
访问EPG服务器、显示EPG信息、中英文输入法等。
流媒体播放器模块负责:访问流媒体服务器、播放网络音视频、播放控制功能(播放/暂停/快进/快退/停止)等。
5.系统设置模块负责
设置网络参数、设置用户参数、远程升级等。
六、总结
IPTV 和机顶盒技术正在不断发展中,机卡分离的机顶的大规模发展,机卡分离的机顶盒渐成趋势。随着数字家庭概念的发展和推广,未来的机顶盒可能会演变成为家庭中客厅技术的核心控制单元,也就是业界所谓的“Home Gateway”。除了可以包括现有的视频传输功能之外,更多的是向家庭中所有的智能设备提供一条集成的,综合的交通枢纽,实现设备之间的互联互通,并且可以给不同终端提供不同个性业务,实现“Multi-Play”。机顶盒GUI系统的发展也是日新月异,支持机卡分离,个性化的机顶盒GUI系统是必然的趋势。
参考文献
[1]姚永.关于 IPTV 的几点思考[J].广播电视信息,2005, 2:50-51.
[2]陈凯.IPTV 发展分析[J].通信企业管理,2005,6:147-148.
[3]魏永明.实时嵌入式Linux系统上 GUI 的发展与展望[J].微电脑世界,2000,49:22-23.
[4]康鹏.机顶盒设备 GUI 系统的设计与实现.2003.
[5]面对对象嵌入式 GUI 研究和模式应用[J].计算机应用,2004,4:10-13.
作者简介:许联国(1987—), 男,四川大竹人,现就读于成都理工大学测试计量技术及仪器专业,研究方向:智能仪器。