采用浏览器技术实现扩展epg功能的方法

文档序号:6519486阅读:405来源:国知局

专利名称::采用浏览器技术实现扩展epg功能的方法
技术领域
:本发明涉及动态网页设计和电子节目指南,用于通过光纤同轴电缆混合网(HFC)来访问电子节目指南,电子节目指南通过动态网页设计来实现,具体涉及采用浏览器技术实现扩展EPG功能的方法。
背景技术
:1、HTMLHTML是超文本标记语言(HyperTextMarkupLanguage)的缩写,是一种用来制作超文本文档的简单标记语言,通过利用各种标记(Tag)来标记文档的结构以及标记超链接(Hyperlink)的信息。2、JAVASCRIPTJAVASCRIPT是由Netscape公司所设计的一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言,使用它的目的是与HTML超文本标记语言一起实现在一个Web页面中链接多个对象、与Web客户交互作用,从而可以开发客户端的应用程序等。3、EPG电子节目指南EPG(ElectronicProgramGuide)是为了方便用户对信息的获取而制作的运行于用户端综合接收解码器IRD(IntegratedReceiverDecoder)的应用程序,它通过电视屏幕向用户提供由文字、图形、图像组成的人机交互界面,负责电视节目和各种业务的导航。在通常的网页浏览中,浏览器接收内嵌JAVASCRIPT或其它脚本语言的HTML文本和相关网页元素,如图片、背景音乐等,通过解析HTML文本后在正确的位置显示文本中的信息和网页元素,其中HTML语言规定了信息的显示格式和具体特性,JAVASCIPT或其它脚本语言规定了信息的来源以及与用户的交互。但现行的EPG方案中EPG信息主要来源于服务信息(SI)表,而SI信息中携带数据主要是通过有限数量的描述符(discription),仅描述了基本的EPG信息,信息内容不够丰富,对信息的呈现方式也未做规定,由终端EPG应用程序来完成EPG信息的组织与定位,EPG系统功能的扩展必须通过终端应用程序升级来实现。
发明内容本发明的目的为了丰富EPG信息,更有利于EPG功能的扩展,提供一种扩展EPG功能的方法。本发明在发送端定义一组EPG页面,通过编辑这些页面能够方便的插入新的EPG信息,并能够定义所有EPG信息的显示格式和具体特性,接收端解释这组页面并将EPG信息呈现。本发明的技术方案一种采用浏览器技术实现扩展电子节目指南EPG功能的方法,实现EPG功能扩展系统包括EPG发送端和EPG接收端和浏览器,该方法按以下步骤进行(1)、发送端通过页面编辑器定义一组EPG页面,并且生成实时服务信息SI数据;(2)、在发送端把EPG页面转换成EPG传输流TS;(3)、SI数据和传输流TS在系统层复用后通过电视通信频道播发;(4)、接收端接收SI数据和传输流TS,解析SI数据并建立SI数据库,接收端通过调用浏览器模块来解析EPG发送端播发来的EPG页面生成的传输流TS,生成EPG页面缓存并显示;(5)、用户通过EPG页面与本地的SI数据库进行交互。借鉴浏览器的思想,编辑EPG页面时,通过标记语言来规定EPG信息的显示格式和具体特性,通过脚本语言来定义EPG信息的来源以及与用户间的交互。HTML是一种比较成熟的标记语言,JAVASCRIPT是一种应用极为广泛的脚本语言,因此,本发明采用了HTML4.01作为EPG标记语言的蓝本,采用JAVASCRIPT1.5作为EPG脚本语言。其中,标记语言主要采用了如下标记1、文件标记<HTML><HEAD><TITLE><BODY>2、框架标记<FRAMESET><FRAME>3、表格标记<TABLE><TR><TD>4、排版标记<P><BR><HR><CENTER><PRE><DIV><NOBR><WBR>5、其它标记<A><IMG><MAP><AREA><BGSOUND><EMBED><MARQUEE><LINK>6、新增标记<DVB>说明<1>标记<TITLE>说明的文字为该EPG页面名,仅在链接时作为标识,并不呈现在终端显示屏幕上。<2>标记<DVB>的属性包括table_id、ts_id、org_net_id、ext_id、des_tag、des_con、action和target。table_id表标识符,具体值与DVB标准中保持一致。若该属性存在,标记<DVB>指向SI表,否则指向一个服务。ts_id传输流标识符。org_net_id原始网络标识符。ext_id扩展标识符。若标记<DVB>指向NIT表,则本属性表示为网络标识符(network_id);若标记<DVB>指向BAT表,则本属性表示为业务关联束标识符(bouquet_id);若标记<DVB>指向SDT表或EIT表,则本属性表示为服务标识符(service_id);支持列表结构,例如ext_id=“listservice_id”表示SDT表中多个service_id,并且service_id为该列表的索引。des_tag描述符标签,具体值与DVB标准中保持一致。des_con描述符字段,本属性表示描述符中具体字段值。如无des_tag字段,则表示SI表中具体字段值。支持多字段组合,例如des_con=“name;time”action本属性表示标记<DVB>所指向内容的行为。例如链接到index.htm定义为action=“linkindex.htm”,播放节目定义为action=“play”。target本属性表示action所指定行为的执行位置。一般定义为所指向frame的name值,也可为4个特殊的保留值。它们是—parent在当前FRAMESET位置执行。—top在当前整个窗口位置执行,比如本身FRAMESET位于另一个FRAMESET中。—self强制在当前FRAME中执行。—blank在新窗口执行。<3>标记<table>中新增属性maxTr,表示该表格中同时显示的最大单元行数。新增属性maxTd,表示该表格中每行同时显示的最大单元格数。<4>其它标记与HTML4.01中意义保持一致。<5>脚本语言遵循JAVASCRIPT1.5中的所有规定。SI由许多业务信息表(SI-TABLE),如束状关联表(BAT,或称业务群关联表)、网络信息表(NIT)、业务描述表(SDT)、事件信息表(EIT)等组成,每种SI-TABLE提供相应的业务信息,它们分成若干段映射到具有指定进程标识符PID的TS包中传输。如图1所示的几个表结构,其定义如下网络信息表(NIT)网络信息表给出了由该表中网络标识符(network_id)所标识的特定传输网络的相关的信息,包括网络名称、物理参数和网络中的业务列表等。业务关联束表(BAT)业务关联束表给出了由该表中业务关联束标识符(bouquet_id)所标识的业务群的相关信息,包括业务群的名称以及业务群中的业务列表等。服务描述表(SDT)服务描述表给出了由该表中原始网络标识符(original_network_id)和传输流标识符(transport_stream_id)共同标识的TS流中各业务的相关信息。事件信息表(EIT)事件信息表给出了由该表中原始网络标识符(original_network_id)、传输流标识(transport_stream_id)和服务标识符(service_id)共同标识的业务中各事件的有关信息,包括事件名称、起始时间、持续时间等。在分析具体的表结构后,不难发现,在传输流中,EPG信息主要是通过SI表中的描述符来表示,如在NIT、SDT和BAT中可通过服务列表描述符(service_descriptor)以文本形式给出业务提供者的名称和业务名称,在EIT中通过短事件描述符(short_event_descriptor)以文本方式给出预告事件的名称和该事件的简短描述。因此,在SI表中获取相关信息时,可采用新增的<DVB>标记来标识一个具体的描述符内容,从而实现EPG页面与SI表的结合。在采用以EPG页面的形式来实现EPG时,EPG信息可以来源于SI表、前端数据库或者设计时输入,信息来源极为丰富。由于部分EPG信息具有实时性,例如当前播放节目清单,因而在生成EPG页面时可采用如下方式若页面中包含具体的EPG实时信息,则通过动态生成新的EPG实时页面从而反映EPG信息的变化,若页面中不包含具体的EPG实时信息,仅描述信息的一个指向,即该信息在SI表中的存放位置,则可以通过标记<DVB>来描述,接收端应提供一组应用程序接口(API)来获取这些参数的值,这样通过SI表的变化从而反映EPG信息的变化,同时通过HTML语言可以方便的加入例如文字广告等EPG扩展信息。本发明的有益效果相对于目前的EPG实现方式而言,有着如下的几个优点(1)数字电视终端不需要一个专用的EPG应用程序,通过标准的浏览器可以实现EPG信息的呈现,方便于不同平台间的移植。(2)EPG的外观设计和其它增值服务的变化可以直接反映在服务器端的网页上,不需要对每个用户的数字电视终端EPG应用程序重新升级。图1SI表中描述符结构图。图2EPG发送端子系统结构图。图3EPG接收端子系统结构图。图4浏览器模块结构图。图5HTML解析模块的工作流程图。具体实施例方式如图2所示的EPG发送端子系统,该子系统包括一个节目管理器,其能够将多路音视频原始流通过PES打包器,通过在节目层复用,生成携带相应的PAT表和PMT表的音视频传输流;一个SI服务器生成实时的SI数据;一个EPG页面编辑器生成EPG页面组。这些数据在系统层复用后通过电视通信频道、如地面广播、有线分布、卫星广播等播发到接收端。在使用EPG页面编辑器时,可导入预定义的EPG页面模版,当页面中包含具体的EPG实时信息时,可直接通过JAVASCRIPT来实现EPG页面的动态生成;当页面中仅描述实时信息的一个指向时,如上所述,通过标记<DVB>来描述具体的SI信息,利用接收端提供的API来获取这些信息,然后通过JAVASCRIPT来组织这些实时信息。为区分JAVASCRIPT和HTML,引入标记<%%>,在两个%间的为JAVASCRIPT语言段。在编辑EPG页面时,可在页面的<title>标记中加入字符串“index.htm”作为EPG首页的标识。如图3所示的EPG接收端子系统负责SI数据和EPG页面的接收与解析、SI数据库的建立、EPG界面的显示等。解码器从接收的TS传输流中解析出SI数据,并在本地建立SI数据库,用户通过EPG页面与本地SI数据库进行交互。为了方便用户的随机接入,SI数据是重复发送的,接收端不停的接收、解析来自发送端的SI数据,若发送端的SI数据改变,本地SI数据库就进行刷新,否则重复接收的SI数据就被丢弃。如图4所示浏览器模块结构图,图中各部分的功能为1、数据接收模块初始化接收环境,建立接收通道以接收页面数据。2、缓存管理模块负责SI数据的接收与解析,并建立相应的SI数据库;负责网页、图像数据的装载、淘汰操作,对用户的每次请求,本模块根据缓存数据决定是否调用数据接收模块。3、解析模块负责解析HTML文档,并生成带有显示信息和控制信息的中间结构,同时利用接收端提供的相应的API来完成图像、声音数据的解码以及解释执行网页中的JAVASCRIPT脚本。4、显示模块负责显示由解析模块解析过的网页,并处理用户与页面的交互。在缓存管理模块建立SI数据库时,SI数据必须按照一定的数据结构进行存储,这样才能方便、快捷地对其进行检索和数据的提取。特别是对EPG系统,运行于机顶盒的实时操作系统中,需要对用户的交互进行实时的动作。SI数据库建立的好坏对其性能有重要的影响。SI数据中大量的信息都是通过描述符来传输的,所以可用树状链表来存储数据。解析模块的主要组成部分是HTML解析器。HTML文档的解释过程可分为词法分析、语法分析和语义处理这几个步骤。HTML解析器初始化后调用语法分析器。语法分析器根据语法规则从词法分析器中取得单词并检查文法,然后调用语义分析器进行语义检查,语法分析无误后,语法分析器调用语义处理函数生成解释结果。如图5所示的HTML解析的工作流程图,HTML的语义文法是上下文有关文法,所以对HTML的语义文法的分析是借助于堆栈技术实现的。我们定义了HTML标记栈来检查HTML文档中的文法是否正确,起始标记入栈前,检查它在文档中的位置是否正确,结束标记退栈前,检查是否与栈顶元素检查它在文档中的位置是否正确,结束标记退栈前,检查是否与栈顶元素匹配。HTML解析器的工作流程如下首先初始化标记栈,如果HTML文档分析未完成,则进入词法分析;在词法分析中,如果文本为标记,则取标记名称和属性,进入标记处理,否则进入文本处理;在标记处理中,如果标记为单标记,则进一步判断是否为图像img标记以决定是否调用图像处理器,从而对单标记处理生成页面元素,如果标记不为单标记,并且标记为起始标记,则进一步判断是否为描述script标记以决定是否调用javascript解释器,将该起始标记入栈,修改栈顶属性,如果该标记不为起始标记,则相应的标记出栈;在文本处理中,过滤掉空格和制表符,然后将该文本分割为中西文字符后以生成页面元素;完成本次词法分析后,继续分析HTML文档,重复以上过程,HTML文档分析完成后则退出处理程序,然后调用显示模块呈现EPG页面。JAVASCRIPT解释器和图像处理器是解析模块功能的扩展,它们由HTML解析器调用。当HTML解析器遇到描述<script>标记后,从HTML文档中分离出JAVASCRIPT脚本,调用JAVASCRIPT解释器解释执行;对于图像<img>标记,HTML解析器则生成图像处理器所规定的消息,启动图像处理器来异步处理图像的接收、解码等工作。当用户进入EPG应用时,浏览器模块接收并解析EPG首页,调用相关的API执行该页面,通过用户的遥控器输入实现各页面间的跳转,从而实现EPG功能。权利要求1.一种采用浏览器技术实现扩展电子节目指南EPG功能的方法,实现EPG功能扩展系统包括EPG发送端和EPG接收端和浏览器,该方法按以下步骤进行(1)、发送端通过页面编辑器定义一组EPG页面,并且生成实时服务信息SI数据;(2)、在发送端把EPG页面转换成EPG传输流TS;(3)、SI数据和传输流TS在系统层复用后通过电视通信频道播发;(4)、接收端接收SI数据和传输流TS,解析SI数据并建立SI数据库,接收端通过调用浏览器模块来解析EPG系统发送端播发来的EPG页面生成的传输流TS,生成EPG页面缓存并显示;(5)、用户通过EPG页面与本地的SI数据库进行交互。2.根据权利要求1所述的方法,其特征在于所述的页面编辑器定义一组EPG页面,通过标记语言来规定EPG信息的显示格式和具体特性,通过脚本语言来定义EPG信息的来源以及与用户间的交互,标记语言遵循超文本标记语言HTML4.01的规定,脚本语言遵循JAVASCRIPT1.5的规定。3.根据权利要求1所述的方法,其特征在于EPG页面编辑时,可导入预定义的EPG页面模版,当页面中包含具体的EPG实时信息时,可直接通过JAVASCRIPT来实现EPG页面的动态生成;当页面中仅描述实时信息的一个指向时,通过标记<DVB>来描述具体的SI信息,利用接收端提供的API来获取这些信息,然后通过JAVASCRIPT来组织这些实时信息;为区分JAVASCRIPT和HTML,引入标记<%%>,在两个%间的为JAVASCRIPT语言段;在编辑EPG页面时,可在页面的<title>标记中加入字符串“index.htm”作为EPG首页的标识。4.根据权利要求1所述的方法,其特征在于所述浏览器模块解析EPG系统发送端播发来的EPG页面生成的传输流TS,生成EPG页面缓存并显示,其HTML解析器的工作流程如下首先初始化标记栈,如果HTML文档分析未完成,则进入词法分析;在词法分析中,如果文本为标记,则取标记名称和属性,进入标记处理,否则进入文本处理;在标记处理中,如果标记为单标记,则进一步判断是否为图像img标记以决定是否调用图像处理器,从而对单标记处理生成页面元素,如果标记不为单标记,并且标记为起始标记,则进一步判断是否为描述script标记以决定是否调用javascript解释器,将该起始标记入栈,修改栈顶属性,如果该标记不为起始标记,则相应的标记出栈;在文本处理中,过滤掉空格和制表符,然后将该文本分割为中西文字符后以生成页面元素;完成本次词法分析后,继续分析HTML文档,重复以上过程,HTML文档分析完成后则退出处理程序,然后调用显示模块呈现EPG页面,JAVASCRIPT解释器和图像处理器是解析模块功能的扩展,由HTML解析器调用,当HTML解析器遇到描述<script>标记后,从HTML文档中分离出JAVASCRIPT脚本,调用JAVASCRIPT解释器解释执行;对于图像img标记,HTML解析器则生成图像处理器所规定的消息,启动图像处理器来异步处理图像的接收、解码工作。全文摘要本发明涉及扩展EPG功能的方法,该方法如下发送端通过页面编辑器定义一组EPG页面;通过电视通信频道播发这组EPG页面;在接收端解析EPG页面并呈现,以及根据用户的输入实现交互。相对于目前的EPG实现方式而言,有着如下的几个优点(1)数字电视终端不需要一个专用的EPG应用程序,通过标准的浏览器可以实现EPG信息的呈现,方便于不同平台间的移植。(2)EPG的外观设计和其它增值服务的变化可以直接反映在服务器端的网页上,不需要对每个用户的数字电视终端EPG应用程序重新升级。文档编号G06F17/00GK1731839SQ20051001930公开日2006年2月8日申请日期2005年8月17日优先权日2005年8月17日发明者刘卫忠,李卫国,尹西林,王静申请人:武汉东太信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1