具体实施方式
在数字电视中,所有视频、音频、文字、图片等经数字化处理后都变成了数据,并按照MPEG-2的标准打包,形成固定长度(如188个字节)的数据包,然后将这些数据包进行复用,形成TS流,通常一个物理频道对应一个TS流,一个物理频道的TS流由多个节目频道及业务信息组成。在TS流中如果没有引导信息,数字电视的终端设备将无法找到需要的码流信息,所以在MPEG-2中,专门定义了PSI信息,其作用是自动设置和引导接收机进行解码。PSI信息在复用时通过复用器插入到TS流中,并用特定的包标识符(PacketIdentifier,以下简称:PID)进行标识。
在MPEG-2标准中定义的PSI信息,是对单一TS流的描述,由于系统通常存在多个TS流。PSI由节目关联表(PAT)、条件接收表(CAT)、节目映射表(PMT)和网络信息表(NIT)组成,这些表插入到TS中传输。PSI指定了如何从一个携带多个节目的传送流中正确找到特定的节目,当接收机要接收某一个指定节目时,它首先从PAT中取得这个节目的PMT的PID值,然后从TS中找出与此PID值相对应的PMT,从这个PMT中获得构成这个节目的基本码流的PID值,根据这个PID值滤出相应的视频、音频和数据等基本码流,解码后复原为原始信号,删除含有其余PID的传送包。
PSI数据只提供了单个TS的信息,使接收机能对单个TS中的不同节目流进行解码,但它不能提供多个TS的有关业务和节目的类型、什么节目、什么时间开始等信息,因此DVB系统对PSI进行了扩展,在PSI四个表的基础上再增加九个表,提供了其它不同信息种类的多种表格,形成SI。SI是对整个系统所有码流信息的描述,描述系统传输内容、广播数据流的编排和时间表等数据。
SI定义了9个表信息,分别为:①业务群关联表(BAT):它提供了业务群相关的信息,给出了业务群的名称以及每个业务群中的业务列表;②业务描述表(SDT):它包含了描述系统中业务的数据,例如业务名称,起始时间、持续时间等;③事件信息表(EIT):它包含了与事件或节目相关的数据,EIT是生成EPG的主要表;④运行状态表(RST):它给出了事件的状态(运行/非运行),运行状态表更新这些信息,允许自动适应切换事件;⑤时间和日期表(TDT):它给出了与当前的时间和日期相关的信息,由于这些信息更新频繁,所以需要单独使用一个表;⑥时间偏移表(TOT):它给出了与当前时间、日期和本地时间偏移相关的信息,由于这些信息更新频繁,所以需要单独使用一个表;⑦填充表(ST):它用于使现有的段无效,例如在一个传输系统的边界;⑧选择信息表(SIT):它仅用于码流片段中,如记录一段码流,它包含了描述该码流片段业务信息间段的地方;⑨间断信息表(DIT):它仅用于码流片段,如记录的一段码流中,它将插入到码流片段业务信息间断的地方。
这里值得一提的是,NIT在MPEG-2标准中未予以规定,而是由SI规定。上述SI中的各个表在实际使用中并不都需要传送给数字电视的终端设备,其中NIT、SDT、EIT是必需传送的,其它表则按照需要进行选择传送。
将SI所提供的数据通过有序地组织起来,生成类似节目报的形式,它能在数字电视上即时浏览,这样将大大方便用户的使用,这就是电子节目指南EPG的实现。
现有的数字电视终端有两种形态,一个是机顶盒+电视,一个是电视卡+电脑终端,在本实施例中终端设备即指电脑终端。本发明实施例的实现涉及电视卡+电脑终端的形态。现有的电视卡或者包含电视卡功能的其他产品中,电视卡在完成信号的接收解调之后,把整个TS流传递给电脑终端,由电脑终端完成节目搜索,即从PAT表→PMT表→NIT表→SDT表→EIT表解析信息的方式构造EPG或ESG,即电脑终端实现节目搜索和保存,以及节目单的显示。
本发明实施例的方案中,电视卡除了DVB-T信号的接收解调,还要在电视卡上实现终端设备的节目搜索功能,因此,为了使终端设备以统一的方法实现电子节目指南,将接收到的构造电子节目指南信息转换为文本文件信息,该文本文件信息的格式可以是XML,并将该XML文本文件信息从另一个通道发送至终端设备,从而终端设备再不需要关注与数字电视标准相关的ESG/EPG的传输和编码。
如图1所示,为本发明获取电子节目指南信息的方法实施例一的流程示意图。该获取电子节目指南信息的方法包括如下步骤:
步骤101、接收传输码流中的构造电子节目指南信息,生成电子节目指南信息数据库;
本实施例以DVB-T电视标准为例,但是并非是对本发明的限定,本发明实施例中的方案可以应用于不同的电视标准。在DVB-T中,移动电视终端上的电视卡,该电视卡相当于数字电视中的机顶盒,将复用于MPEG-2的TS中的构造电子节目指南信息接收下来,并用这些信息生成EPG信息数据库;
步骤102、将电子节目指南信息数据库中的构造电子节目指南信息转换为文本文件信息;
在电视卡中将EPG信息数据库中的构造EPG信息组织成文本文件信息,类似于网络中的浏览网页,这样可以避免移动电视终端对EPG信息数据库中的各个表信息的跟踪;
步骤103、将电子节目指南信息以文本文件信息形式推送至终端设备;
电视卡将其组织成的文本文件信息发送至移动电视终端上;从而使终端设备获得节目信息,可实现EPG的显示。
本实施例提供的获取电子节目指南的方法,通过将TS流传送来的构造电子节目指南信息转换为文本文件形式,形成文本文件形式的EPG,再推送至终端设备,与用户进行交互,终端设备再不需要关注与数字电视标准相关的ESG/EPG的传输和编码。可以将各种电视标准,例如将支持DVB-T和DVB-H的终端设备实现EPG或ESG的方法统一起来,给终端设备提供一致的访问接口来获得EPG或ESG信息。
如图2所示,为本发明获取电子节目指南信息的方法实施例二的流程示意图。该获取电子节目指南信息的方法包括如下步骤:
步骤201、接收传输码流中的节目专用信息,生成节目专用信息数据库;
在本实施例中,仍以DVB-T电视标准为例。在DVB-T中,移动电视终端上的电视卡将复用于MPEG-2的TS中的PSI接收下来,需要注意的是,对于不同的电视标准,其获取TS流中的数据的过程可能不相同,但获取到的信息是基本一致的,本实施例中仅以DVB-T电视标准为例。获取PSI数据并生成PSI数据库的具体过程为:
首先要搜索物理频道的频点信息,可以采用下述的三种方法进行搜索:
①单频点搜索,即在指定的频率下,搜索到DVB-T信号,即成功,记录该频点,否则失败;②全频段搜索,即在制定的频率范围内遍历每个频点,凡是搜索到DVB-T信号的频点就记录下来;③按照网络信息表(NetworkInformation Table,以下简称:NIT)的搜索功能进行搜索,即在指定的频率范围内搜索到一个频点,得到对应的DVB-T信号,分析得到的该信号的TS中的NIT,并记录该NIT中列出的频率范围内可用的频点;
然后根据搜索到的物理频道的频点信息,从PAT中取得该物理频道中的节目频道的PMT的PID值,然后从TS中找出与此PID值相对应的PMT,从这个PMT中获得构成这个节目的基本码流的PID值,根据这个PID值滤出相应的视频、音频和数据等基本码流,解码后复原为原始信号;即对每个搜索到的频点,根据该频点下的TS中提取的PAT、PMT,读取每个该物理频道下的每个节目频道的信息,并把结果呈现给用户;
最后,将物理频道的频点信息和节目频道的信息记录,并生成PSI数据库,用户还可以把不要的节目频道删除,将最终的搜索结果记录下来,成为PSI数据库。
其中,生成的该PSI数据库主要包括如图3所示的两种表格的数据内容,第一个表格(1)由左至右依次为:物理频道的频点信息、该物理频道覆盖范围的小区ID、该频点对应的TSID、以及该频点下的节目频道的数量;第二个表格(2)由左至右依次为:传输流ID,即哪个物理频道、哪一个节目频道、该节目频道的名称、以及该节目频道对应的数据流列表信息,至少包括音频流信息和视频流信息。
步骤202、对接收到的当前PSI数据进行解析,并判断当前PSI数据是否与前一PSI数据相同,若相同,执行步骤203;若不同,执行步骤204;
步骤203、丢弃当前PSI数据,执行步骤205;
步骤204、更新当前PSI数据库;
移动电视终端,即终端设备是定期接收发送端不断发送的PSI数据,如果遇到哪个物理频道更换了频段,或者重新设置了频点,则发送端下发的PSI数据中就包括更新的PAT、PMT或者NIT;移动电视终端不停地接收并解析来自发送端的PSI数据,若发送端的PSI数据没有变化时,则丢弃接收到的PSI数据;当发送端的PSI数据发生改变时,将再次进行上述的物理频道的搜索以及节目频道的节目信息的获取,然后更新PSI数据库。
步骤205、将PSI数据库中的PSI数据信息转换为PSI文本文件信息;
有了PAT、PMT、及NIT即可进行基本的频道选择和播放控制。因此,在电视卡和终端设备的接口上,可以把如图3所示的表(1)和表(2)所代表的几个表格内的信息用内部的文本文件格式加以替换,使得终端设备无需再跟踪PSI数据库中的各个表格的信息。
由文本文件替换表格,是由电视卡生成的,该文本文件由若干个频道描述组成,每个频道描述包含:由TS标识(TS_ID)、每个节目的运营商标识(Orgnet_ID)、及具体节目标识(ServiceID)唯一组成的内部频道标识;频道名称;其他的关于该频道的信息,如介绍等信息。该文本文件命名为ChannelList.dat。
步骤206、将生成的PSI文本文件信息推送至终端设备;
由电视卡将名称为ChannelList.dat的文本文件推送给移动电视终端,其中,每次重新搜索,电视卡接收到更新的PSI数据之后,电视卡都会推送新的文本文件给移动电视终端,覆盖原有的文件。
步骤207、接收传输码流中的包括节目附加信息的业务信息,生成业务信息数据库;
接收传输码流中的包括节目附加信息的业务信息,生成业务信息数据库具体为:
步骤2071、从传输码流中提取网络信息表,即NIT表;
步骤2072、根据网络信息表,再从传输码流中解析业务信息的表信息;
根据NIT表携带的传输系统参数搜索所有载波信息,再从传输码流中解析出SDT、EIT表等信息;
步骤2073、构造包括节目附加信息的业务信息,生成业务信息数据库。
构造出的包括节目附加信息的SI数据,基本上就包括了实现EPG所需要的信息数据,并生成SI数据库。
其中,该SI数据,即EPG信息主要包括:传送信息的天数(例如一周)、传送频道的数目和名称、传送的节目数、节目提供商的标识和名称、传送网络的信息(网络标识和网络名称),其细节信息还包括:节目名称、节目的简单介绍、节目的开始和结束时间、节目的主题、节目的类属、节目的观看分级限制(例如对某个年龄段进行限制)。
步骤208、对接收到的当前SI数据进行解析,并判断当前SI数据是否与前一SI数据相同,若相同,执行步骤209;若不同,执行步骤210;
步骤209、丢弃当前SI数据,执行步骤211;
步骤210、更新当前SI数据库;
接收端会不停地接收、解析来自发送端的SI数据,当发送端的SI数据改变时,将更新SI数据库;否则,若发送端的SI数据不变,接收的SI数据将被丢弃。
步骤211、将SI数据库中的业务信息转换为SI文本文件信息;
步骤212、将生成的SI文本文件信息推送至终端设备;
由上述描述可知,实际由SI数据构成的EPG信息并非包括所有的SI数据,其中SDT和EIT中的信息较为重要和基础,因此,生成的SI文本文件信息主要体现在以下两个主要的文件信息中,分别为:一个是频道信息文件,主要包括SDT给出的复用器中与每个业务有关的名称、业务提供者、业务类型等信息,这些信息对应着频道信息,其中名称、业务提供者、业务类型等需要传递给用户;一组节目指南文件,每个文件用节目频道的ID命名,与EIT对应,包含事件的标识(Event_ID)、名称、起止时间、长度、运行状态、是否加密、节目介绍、节目码流类型、节目类型、限制级别、交互联系电话号码,以及用于播放器的播放参数等。
具体为:EPG使用SI来帮助用户对节目进行搜索。在选择一个节目时,可能首先查找BAT,根据BAT的名称列出一系列的节目种类,比如新闻、体育、电影、音乐等,选择其中自己感兴趣的类型,如电影,于是得到有关电影的BAT;终端设备根据此BAT中包含的服务信息,得到一个服务选择列表;此时可以根据喜好,选择所希望观看的电影频道。要实现这一目的,EPG需要找到服务所对应的传输流,这是EPG根据BAT中所对应的传输流标识符查找NIT中传输流的描述,直到找到相应的传输流标识流所对应的描述,根据描述中的参数(如频率、调制方式等)调到相应的播出频道。调到该频道后,就可以解调出传输流,再根据BAT中得到的服务标识符在当前的传输流的SDT中查找对应的服务,得到有关服务的信息,然后用户就可以根据自己的兴趣来对事件项进行选择。这时EPG根据所选事件的标识符和服务标识符查找EIT,得到有关事件的信息,比如什么时间开始、共多长等。
步骤213、终端设备根据接收到的指令读取对应的SI文本文件信息及PSI文本文件信息,并显示;
上述得到的EPG的两种文件的格式遵循XML规范。其定义如下:
1)EPGType作为电视卡和终端设备之间的数据传送单位,对于EPG部分更新的情况,EPGType中可能只包含了Service,Content或者Schedule部分,有些传输流中可能还不包含与content对应的数据:
<complexType name=″EPGType″>
<element name=″Service″type=ServiceType IsArray=TRUE>
<element name=″Schedule″type=ScheduleType IsArray=TRUE>
</complexType>
2)频道描述,此信息来源于:
<complexType name=″ServiceType″>
<sequence>
<element name=″serviceID″>
<element name=″ServiceName″
<element name=″ServiceNumber″>
在该频道描述信息中,可能还包括以下可选数据,这取决于PSI表的信息情况,即:
<element name=″ServiceDescription″>
<element name=″ServiceGenre″>
<element name=″ServiceType″>
<element name=″ParentalGuidance″>
<element name=″ServiceLanguage″>
<element name=″ServiceProvider″>
<element name=″PrivateData″>
<element name=″freeToAir″>
<element name=″clearToAir″>
</sequence>
</complexType>
从上述定义可以看出来,这些内容都是面向EPG显示的,只有serviceID这一项是实现终端设备向电视卡发出控制命令时所需要的。其中,serviceID取值于EIT表的service_id,其他数据项来源于SDT和PMT的内容。
3)节目具体信息描述,此信息来源于:
<complexType name=″ScheduleType″>
<sequence>
<element name=″ProgramName″>
<element name=″StartTime″>
<element name=″EndTime″>
<element name=″scheduleID″>
</sequence>
</complexType>
从定义可以看出来,这些内容都是面向EPG显示的,只有ServiceRef指向ServiceType的ServiceID;其中scheduleID是一个编号,用来唯一标识一个频道的一个节目。
通过上述的XML规范,用户通过输入EPG操作指令到移动电视终端,就可以读取对应的XML文本文件信息了,该文本文件信息包括了PSI和SI数据库生成的信息,在终端设备上进行显示用户指定的电子节目指南信息,从而获得节目信息。
本实施例提供的获取电子节目指南信息的方法,通过将PSI信息及SI信息转换为文本文件信息,来实现用户通过输入的EPG指令来读取一个文本信息,从而实现与使用DVB-H标准的终端设备实现ESG的方法统一起来,给终端设备提供一致的访问接口来获得EPG或ESG信息。
如图4所示,为本发明获取电子节目指南信息的装置实施例一的结构示意图。该获取电子节目指南信息的装置包括:电视卡1,用于接收传输码流中的构造电子节目指南信息;并将构造电子节目指南信息转换为文本文件信息;发送至终端设备;终端设备2,用于接收文本文件信息;并根据接收到的指令读取对应的文本文件信息,并显示。
具体为:电视卡1将复用于MPEG-2的TS中的构造电子节目指南信息接收下来,并用这些信息生成EPG信息数据库;然后电视卡将EPG信息数据库中的信息转换为文本文件信息;发送至终端设备2,终端设备2根据接收到的指令读取对应的文本文件信息,并在终端设备2上进行显示,从而使得用户可以获得节目信息,实现EPG。
本实施例提供的获取电子节目指南信息的装置,通过电视卡将接收的构造电子节目指南信息转换为文本文件信息,再根据指令进行显示,以实现EPG,可以为具有不同电视标准的同一终端设备实现EPG/ESG的统一。
如图5所示,为本发明获取电子节目指南信息的装置实施例二的结构示意图。该获取电子节目指南信息的装置中的电视卡1具体包括:
接收模块11,用于接收传输码流中的构造电子节目指南信息;生成模块12,用于从接收模块11接收到传输码流中的构造电子节目指南信息后,生成电子节目指南信息数据库;转换模块13,用于将生成模块12生成的电子节目指南信息数据库中的构造电子节目指南信息转换为文本文件信息;发送模块14,用于发送转换模块13转换的文本文件信息至终端设备2。
其中接收模块11中包括有:第一接收模块111,用于接收传输码流中的节目专用信息,生成节目专用信息数据库;所述第一接收模块111具体包括:搜索模块1111,用于搜索物理频道的频点信息;读取模块1112,用于根据搜索到的物理频道的频点信息,从节目关联表及节目映射表中读取节目频道信息;第一生成模块1113,用于将物理频道的频点信息和节目频道信息记录,并生成节目专用信息数据库。
接收模块中还包括有:第二接收模块112,用于接收传输码流中的包括节目附加信息的业务信息,生成业务信息数据库;所述第二接收模块112具体包括:提取模块1121,用于从传输码流中提取网络信息表;解析模块1122,用于根据所述网络信息表,再从传输码流中解析业务信息的表信息;第二生成模块1123,用于构造包括节目附加信息的业务信息,生成业务信息数据库。
在该获取电子节目指南信息的装置中的电视卡还包括有:更新模块3,用于对接收到的当前构造电子节目指南信息进行解析,若当前所述构造电子节目指南信息与前一所述构造电子节目指南信息不同,则更新当前所述电子节目指南信息数据库;若当前所述构造电子节目指南信息与前一所述构造电子节目指南信息相同,则丢弃当前所述构造电子节目指南信息。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。