获取SI数据的方法及装置转让专利

申请号 : CN201010622096.7

文献号 : CN102075804B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孟新红

申请人 : 青岛海信宽带多媒体技术有限公司

摘要 :

本发明公开了一种获取SI数据的方法及装置。所述方法包括下述步骤:从数字视频广播数据传输流的section字段中解析出SI表格数据;用户发出应用请求;根据用户的应用请求读取SI表格数据,并将属于同一子表的SI表格数据组合为完整的应用请求子表;对完整的应用请求子表进行解析,输出用户需要的实际SI数据。本发明根据用户的不同需求分别获取所需要的SI表格数据进行解析,为用户提供实际的SI数据,保证多用户可以实时、快速、准确地获取到SI数据。

权利要求 :

1.一种获取业务信息SI数据的方法,其特征在于,所述方法包括下述步骤:a1、用户注册系统时间和表格版本变化的回调函数;

a2、启动后台监控,监控系统时间及表格版本;

a3、启动主控任务,从数字视频广播数据传输流的section字段中解析出SI表格数据;

a4、用户通过解析函数发出应用请求;

a5、根据用户的解析函数读取SI表格数据,并将属于同一子表的SI表格数据组合为完整的应用请求子表;

a6、根据解析函数对完整的应用请求子表进行解析,输出用户需要的实际SI数据;

而且,在启动后台监控之后,若后台监控到系统时间或表格版本发生变化时,将变化通过相应的回调函数通知用户。

2.根据权利要求1所述的方法,其特征在于,在所述步骤a3中,首先对数字视频广播数据传输流进行解复用,解析出传输流的section字段,然后,再从section字段中解析出SI表格数据。

3.一种获取业务信息SI数据的装置,其特征在于,所述装置包括:表格数据获取模块,用于从数字视频广播数据传输流的section字段中解析出SI表格数据;

应用请求子表获取模块,用于根据用户的应用请求读取SI表格数据,并将属于同一子表的SI表格数据组合为完整的应用请求子表并输出;

SI数据解析模块,用于对应用请求子表获取模块输出的完整的应用请求子表进行解析,输出用户需要的实际SI数据;

解析函数输入模块,用于输入用户的解析函数以发出应用请求;

所述应用请求子表获取模块根据用户输入的解析函数读取SI表格数据;所述SI数据解析模块根据用户输入的解析函数对完整的应用请求子表进行解析,输出用户需要的实际SI数据;

后台监控模块,用于后台监控系统时间及表格版本,并在系统时间和/或表格版本发生变化时,将变化通知用户;以及回调函数注册模块,用于用户注册系统时间和/或表格版本变化的回调函数。

4.根据权利要求3所述的装置,其特征在于,所述装置还包括:解复用控制模块,用于打开/关闭对数字视频广播数据传输流进行解复用的解复用设备。

说明书 :

获取SI数据的方法及装置

技术领域

[0001] 本发明涉及数据处理技术,具体地说,是涉及获取数字视频广播数据传输流中的SI(service information,业务信息)数据的方法及装置,属于数字视频广播技术领域。

背景技术

[0002] 近年来,数字视频广播在我国得到了飞速发展,中央及各地方省台的卫星电视节目普遍采用了数字传输,数字有线电视的国家标准已经颁布,数字地面电视也正在积极试验中。
[0003] 我国数字视频广播信源的编码标准和系统复用标准已采用MPEG-2标准,MPEG-2系统中的节目特定信息(PSI)只规定了解码所需的最基本的信息。为了适应实际应用和业务发展的需求,相关部门专门制定了一个数字视频广播的业务信息标准,即SI标准,来规范和服务于各业务提供商和设备生产厂家,以促进和保证数字视频广播业务在我国健康有序的发展。SI标准中的SI数据是数字视频广播码流的组成部分,能够帮助用户从码流中选择业务和/或事件的信息,使综合接收解码器(IRD)能自动设置可供选择的业务。
[0004] 目前,数字机顶盒软件的搜台、显示EPG信息、更新系统时间、检测SI数据变化等应用都需要获取SI数据,从SI数据中获得与应用相关的各种SI表格数据,并对SI表格数据解析后输出对用户有用的SI数据。现有技术在获取SI数据时,采用用户的每个应用各自从数字视频广播数据传输流中提取并解析所需要的数据的方法。由于不同应用可能会存在对相同SI表格数据的需求,在缺少统一的管理和协调的情况下,应用现有方法实现多应用请求相同数据时,容易发生资源冲突。而且,由于缺乏统一的管理和协调,一个应用请求发生变化而使得数字视频广播数据传输流发生变化,容易发生数据的阻塞和丢失,影响其他应用SI数据的获取,不能满足SI数据获取的及时性和准确性。此外,若系统时间或SI数据版本发生了改变,用户不能及时获知这种变化,从而影响了用户应用请求的实时性。

发明内容

[0005] 本发明的目的之一在于提供一种获取SI数据的方法,根据用户的不同需求分别获取所需要的SI表格数据进行解析,为用户提供实际的SI数据,保证多用户可以实时、快速、准确地获取到SI数据。
[0006] 为实现上述发明目的,本发明采用下述技术方案予以实现:
[0007] 一种获取SI数据的方法,所述方法包括下述步骤:
[0008] a1、从数字视频广播数据传输流的section字段中解析出SI表格数据;
[0009] a2、用户发出应用请求;
[0010] a3、根据用户的应用请求读取SI表格数据,并将属于同一子表的SI表格数据组合为完整的应用请求子表;
[0011] a4、对完整的应用请求子表进行解析,输出用户需要的实际SI数据。
[0012] 如上所述的方法,为便于识别用户请求,在所述步骤a2中,用户通过解析函数发出应用请求;在所述步骤a3中,根据用户的解析函数读取SI表格数据,并将属于同一子表的SI表格数据组合为完整的应用请求子表;在所述步骤a4中,根据解析函数对完整的应用请求子表进行解析,输出用户需要的实际SI数据。
[0013] 如上所述的方法,所述方法还包括下述步骤:b、后台监控系统时间及表格版本,并在系统时间和/或表格版本发生变化时,将变化通知用户,以保证用户应用请求的及时性和准确性。
[0014] 如上所述的方法,在将系统时间和/或表格版本的变化通知用户时,可以采用消息的方式或回调函数的方式。
[0015] 若采用回调函数的通知方式,则在所述步骤a1之前还包括步骤a0:用户注册系统时间和/或表格版本变化的回调函数;然后在所述步骤b中,系统时间和/或表格版本的变化通过回调函数的方式通知用户。
[0016] 如上所述的方法,在所述步骤a1中,首先对数字视频广播数据传输流进行解复用,解析出数字视频广播数据传输流的section字段,然后,再从section字段中解析出SI表格数据。
[0017] 本发明的目的之二在于提供一种获取SI数据的装置,利用该装置为用户应用请求提供快速、准确、及时的SI数据。
[0018] 为实现上述技术目的,本发明采用下述技术方案来实现:
[0019] 一种获取SI数据的装置,所述装置包括:
[0020] 表格数据获取模块,用于从数字视频广播数据传输流的每个section字段中解析出SI表格数据;
[0021] 应用请求子表获取模块,用于根据用户的应用请求读取SI表格数据,并将属于同一子表的SI表格数据组合为完整的应用请求子表并输出;
[0022] SI数据解析模块,用于对应用请求子表获取模块输出的完整的应用请求子表进行解析,输出用户需要的实际SI数据。
[0023] 如上所述的装置,为便于识别用户请求,所述装置还包括:
[0024] 解析函数输入模块,用于输入用户的解析函数以发出应用请求;
[0025] 所述应用请求子表获取模块根据用户输入的解析函数读取SI表格数据;所述SI数据解析模块根据用户输入的解析函数对完整的应用请求子表进行解析,输出用户需要的实际SI数据。
[0026] 如上所述的装置,为保证用户应用请求的及时性和准确性,所述装置还包括:
[0027] 后台监控模块,用于后台监控系统时间及表格版本,并在系统时间和/或表格版本发生变化时,将变化通知用户。
[0028] 如上所述的装置,所述装置还包括:
[0029] 回调函数注册模块,用于用户注册系统时间和/或表格版本变化的回调函数;
[0030] 解复用控制模块,用于打开/关闭对数字视频广播数据传输流进行解复用的解复用设备。
[0031] 与现有技术相比,本发明的优点和积极效果是:
[0032] 1、本发明采用统一管理和协调,统一从广播码流中读取不同的SI表格数据,而根据用户的不同需求仅为其提供实际所需要的SI表格数据进行解析,能够保证多用户请求均可以实时、快速地获取到SI数据,避免数据的冲突。而且,能够保证多个section的数据不会丢失,保证SI数获取的准确性。
[0033] 2、本发明实时监控系统时间及数据版本的变化,并将这些变化及时通知用户,保证为用户提供准确、及时的SI数据信息。
[0034] 结合附图阅读本发明的具体实施方式后,本发明的其他特点和优点将变得更加清楚。

附图说明

[0035] 图1是本发明获取SI数据的装置一个实施例的结构框图;
[0036] 图2是本发明获取SI数据的方法一个实施例的流程图。

具体实施方式

[0037] 下面结合附图和具体实施方式对本发明的技术方案作进一步详细的说明。
[0038] 本发明针对现有技术中用户在获取SI数据时存在的实时性和准确性较差等问题,提出了一种获取SI数据的方法及实现该方法的装置,通过不同的参数来读取数字视频广播数据传输流中的不同SI表格数据,并根据用户的不同需求获取不同的SI表格数据进行解析,将解析后的SI数据提供返回给用户使用,提供了SI数据获取的稳定性和高效性,为用户提供准确、及时的SI数据,满足用户各种与SI数据相关的需求。
[0039] 图1所示为本发明获取SI数据装置一个实施例的结构框图,该实施例以数字机顶盒从广播数据的TS流中获取用户所需的SI数据为例。
[0040] 如图1所示,该实施例的装置的具体结构及功能如下:
[0041] 该实施例的数据获取装置的执行部分可以分为3大部分:主控单元1、SI数据解析模块3及后台监控模块4。
[0042] 其中,主控单元1主要完成整个数据获取装置的启动、为用户读取相关section的数据、把属于同一子表的section数据组合成一个完整的子表、并在读取完子表数据后通知用户。
[0043] 具体来说,主控单元1包括下述各模块部分:
[0044] 表格数据获取模块12,用于从数字视频广播数据传输流的每个section字段中解析出SI表格数据;
[0045] 应用请求子表获取模块13,用于根据用户的应用请求从SI表格数据获取模块12中读取SI表格数据,并将属于同一子表的SI表格数据组合为完整的应用请求子表并输出。
[0046] 此外,主控单元1还负责打开/关闭机顶盒的解复用设备,以便从解复用设备中获取TS码流中的section数据。因此,主控单元1中还包括有解复用控制模块11,用来打开/关闭对数字视频广播数据传输流进行解复用的解复用设备。
[0047] 而且,为保证用户应用请求的及时性和准确性,该实施例的数据获取装置还设置有后台监控模块4,用于后台监控系统时间及表格版本,并在系统时间和/或表格版本发生变化时,将变化通知用户。因此,主控单元1的功能还包括控制后台监控模块4,以建立后台监控任务。
[0048] 为便于将后台监控模块4的监控变化信息及时通知用户,该实施例的数据获取装置采用回调函数的方式通知用户,而回调函数需要预先注册。因此,在该实施例的装置中设置有回调函数注册模块5,用于用户注册系统时间和/或表格版本变化的回调函数。在后台监控模块4监控到相关变化信息后,将根据用户注册的回调函数将相应的变化通知用户。
[0049] 在该实施例中,SI数据解析模块3一方面用来完成各种SI表格数据的解析,如解析节目关联表(PAT)、节目映射表(PMT)、业务描述表(SDT)、网络信息表(NIT)、事件信息表(EIT)、时间和日期表(TDT)等,对于不同的SI表格数据输出不同的用户所需要的SI数据;另一方面,SI数据解析模块3还提供供用户调用、便于识别用户应用请求的解析函数。
[0050] 因此,该实施例的装置还包括有解析函数输入模块,用于用户输入SI数据解析模块3所能识别的解析函数。而且,主控单元1中的应用请求子表获取模块13根据用户输入的解析函数读取SI表格数据,而SI数据解析模块3将根据用户输入的解析函数对完整的应用请求子表数据进行解析,以输出用户所需要的实际SI数据。
[0051] 该实施例的获取SI数据的装置的具体工作过程可进一步参考图2及下面对图2的描述。
[0052] 图2示出了本发明获取SI数据的方法的一个实施例。该实施例仍以数字机顶盒从广播数据的TS流中获取用户所需的SI数据为例,并基于图1结构的装置。
[0053] 如图2所示,该实施例获取SI数据的方法的具体流程如下:
[0054] S101:流程开始。
[0055] S102:启动机顶盒的解复用设备。解复用设备用来对机顶盒接收的广播数据TS流解复用,解析出TS流中的section字段。然后,再启动获取SI数据的流程。
[0056] S103:用户注册回调函数。
[0057] 在正式开始SI数据获取之前,需要用户根据需要注册回调函数,以便于在监控数据发送变化时,将变化通过回调函数通知用户。在该实施例的获取SI数据过程中,实时监控的数据有系统时间和SI表格数据版本。因此,用户要获取系统时间变化的信息,则需要注册监控系统时间的回调函数;要监控哪个或哪些SI表格数据版本的变化,就需要注册对应表格的回调函数。若不预先注册回调函数,则不能以回调函数方式获得监控信息。
[0058] 当然,回调函数方式返回监控信息仅作为其中一种信息反馈方式。若不注册回调函数,也可以采用消息的方式,在监测到变化时随时通过消息机制将变化反馈给用户。或者也可以采用其他可以及时将信息反馈给用户的反馈机制,在此不作具体限定。
[0059] S104:启动后台监控,监控系统时间及表格的版本。
[0060] 该后台监控是一个不断运行的任务,在机顶盒系统启动之后一直运行,不断调用相关函数获取系统时间及某些指定的表格的版本号。其中,监控系统时间的变化主要是读取TDT表中的时间并和旧系统时间比较,判断系统时间是否发生变化;监控表格版本变化则根据用户的不同需求,监控不同表格的版本号。
[0061] S105:启动主控任务,对数字视频广播数据传输流进行解复用,解析出section字段,再从每个section字段中解析出SI表格数据,备用。
[0062] 主控任务也是一个不断运行的任务,将对机顶盒工作过程中不断接收的section数据进行持续的解析,获取每个section字段中的各种SI表格数据。
[0063] S106:判断是否存在用户SI数据应用请求。若存在,执行步骤S106;否则,转至步骤S105,继续执行SI表格数据的解析。
[0064] 为便于识别用户的应用请求、以便为用户提供正确的SI数据,用户可以通过解析函数发出应用请求,即用户根据实际需求调用相对应的解析函数即可,该解析函数可被有效识别。
[0065] S107:在存在用户SI数据应用请求时,根据用户的应用请求读取SI表格数据,并将属于同一子表的SI表格数据组合为完整的应用请求子表。
[0066] 由于section字段中的SI表格数据已经被主控任务预先解析出来备用,因此,在存在用户应用请求时,只需要根据用户输入的解析函数从解析出来的SI表格数据中读取拷贝与应用请求相关的SI表格数据、并将属于同一子表的SI表格数据组合为完整的应用请求子表数据即可。采用这种方式,每个应用请求即可以快速获得相应的请求数据,且由于SI表格数据读取拷贝速度远快于从section数据中先解析、再读取的速度,即使存在多个用户的请求,也不容易造成相同数据获取间的冲突。
[0067] S108:对完整的应用请求子表进行解析,输出用户需要的实际SI数据。
[0068] 例如,对于PAT表,解析并输出TS流的ID、NIT表的PID、各个PMT表的PID和Program No.;对于SDT表,解析并输出对应节目的名称;对于NIT表,解析并输出service_name、所有频道的频率、QAM值及字节速率;对于EIT表,则解析并输出一段时间内所有事件的起始时间、结束时间、事件名称、事件简介等数据信息。
[0069] S109:判断系统时间或表格版本是否发生变化。若存在变化,执行步骤S110;若未变化,转至步骤S105,继续执行主控任务。
[0070] 设置该步骤的目的是使得整个SI数据的获取流程更加完整。实际上,由于后台监控不断运行,在监控到系统时间或表格版本发生变化时即以回调函数的方式及时将变化通知用户,因此,本领域技术人员能够获知,该步骤及下述步骤S110可能发生在整个数据获取过程的不同阶段,而不局限于在响应用户应用请求、并提供SI数据之后。
[0071] S110:在监控到系统时间或表格版本发生变化后,将变化通过回调函数通知用户。
[0072] S111:判断机顶盒是否关机。若关机,执行步骤S112;若未关机,则转至步骤S105,继续执行SI数据获取的流程。
[0073] 设置该步骤的目的也是使得整个SI数据的获取流程更加完整,以说明整个主控任务的运行、后台监控的运行是不断执行的任务,在机顶盒系统开机后、关机前将一直运行,并不断处理用户的应用请求及相关的监控任务。
[0074] S112:在机顶盒关机后,整个SI数据获取流程结束。
[0075] 以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。