|
5 EPG系统的关键技术 实现EPG系统是一个比较复杂的工程性问题,这里不可能详细的叙述其中的每一个细节,概括起来主要有以下几个关键技术:发端的SI数据的组织和生成,接收端SI数据的接收和解析,接收端SI数据库的建立,EPG界面的显示等。其中有些是用硬件实现,如SI数据的接收和解析;有些则用软件实现,如SI数据库的建立和EPG界面的显示。下面对其进行阐述。 5.1 SI数据的组织和生成 发端的SI数据的组织和生成,由发端的SI服务器(SI Server)完成这部分功能,接收端的SI解析与此功能相反,主要负责SI数据表的重建。SI数据的组织要符合DVB—SI中的语法定义和MPEG—2的语法定义,同时要纵观传输网络中的所有业务信息。信息内容应与PSI和SI表中的信息相对应,它可按照Network-Transport Stream-Service-Event的分层顺序描述,同时内嵌Transport Stream-Program(Service)-Element Stream的分层顺序。 5.2 SI数据库的建立 SI数据必须按照一定的数据结构进行存储,这样才能方便、快捷地对其进行检索和数据的提取。特别是对EPG系统,运行于机顶盒的实时操作系统中,需要对用户的交互进行实时的动作。SI数据库建立的好坏对其性能有重要的影响。SI数据主要有:网络信息、传输流信息、业务(节目)信息,业务的事件信息等,并且大量的信息都是通过描述子来传输的,所以可用树状链表来存储数据,构成从网络、传输流、业务、事件的树状结构,传送不同信息的描述子用继承于同一基类的描述子类来表示。 5.3 EPG系统的显示技术 当电视节目和EPG应用同时启动时,用户看到的可能是节目画面和EPG界面的叠加,用户所看到的电视画面从前到后可以分为三层,依次为图形层、视频层和背景层。如图3所示。
 图3
这里的图形层也就是下面所说的OSD(On Screen Display)层,OSD界面显示技术指在图像画面上叠加文字显示,使屏幕为用户提供更多的附加信息。视频层为当前正在收看的节目(解码出来的活动图像);背景层为没有播放电视节目和启动EPG菜单时的屏幕图像。EPG画面在图形层上构建,EPG画面是由许多EPG图形元素(如按钮、文本框、选择按钮、组件容器等)叠加而成。界面的状态转移是通过消息驱动的机制来实现的,在消息响应函数中进行消息处理。用见到的是屏幕图像是这三层的叠加(blend)后的图像。 EPG界面显示的总体思想是:SI数据与图形元素分离。包括以下几部分:SI数据的检索与提取,EPG界面所需的图形元素库,状态转移控制器,OSD层绘制引擎,OSD层图、视频层、背景层及这三层的Blend操作。图4是EPG屏幕显示实现的模块参考框图。
 图4
SI数据检索模块快速的检索本地SI数据库,提供EPG界面当前输入焦点所需的数据信息;OSD层图形元素库提供界面所需的图形元素,该库存于本地机顶盒的ROM中;状态转移控制器接收用户遥控器的输入,提供当前显示所需的活动焦点,控制状态转移地流向;OSD层图像是指EPG界面图形元素合成后的图像;OSD绘制引擎决定显示的相应算法,接收各模块提供的数据,完成OSD层图形的绘制,最后是OSD层、视频层和背景层的blend操作。 叠加是按照Porter-Duff[2]规则,按照如下步骤进行: 第一步:OSD层的各图形元素利用Porter-Duff规则按传统图形模型合成,通常为SRC规则。 第二步:背景层的视频层利用Porter-Duff规则中的SRC_OVER规则合成。 第三步:最后利用Porter-Duff规则中的SRC_OVER规则将前面两步合成的结果再进行合成(OSD层的合成结果为源,而背景层和视频层的合成结果为目标)。 Porter-Duff规则如下: 若记为: Cs=被合成的源图像像素的颜色分量(如Cr,Cg,Cb) Cd=被合成的目的图像像素的颜色分量(如Cr,Cg,Cb) Cc=合成后图像像素的颜色分量(如Cr,Cg,Cb) |
|
|
|
|