著录项信息
专利名称 | 节目更新方法和装置 |
申请号 | CN201510431661.4 | 申请日期 | 2015-07-21 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-11-04 | 公开/公告号 | CN105025371A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N21/458 | IPC分类号 | H;0;4;N;2;1;/;4;5;8;;;H;0;4;N;2;1;/;2;6;2查看分类表>
|
申请人 | 深圳TCL数字技术有限公司 | 申请人地址 | 广东省深圳市前海深港合作区前湾一路鲤鱼门街一号前海深港合作区管理局综合办公楼A栋201室(入驻深圳市前海商务秘书有限公司)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳TCL数字技术有限公司 | 当前权利人 | 深圳TCL数字技术有限公司 |
发明人 | 罗克光;潘信;崔振宇;吴正兵 |
代理机构 | 深圳市世纪恒程知识产权代理事务所 | 代理人 | 胡海国 |
摘要
本发明公开了一种节目更新方法,所述节目更新方法包括:获取当前频点对应的节目数据表,所述节目数据表包括版本号和节目信息;在获取到所述节目数据表时,获取服务器中存储的节目数据表及其版本号;在所述当前频点的节目数据表的版本号与服务器中存储的节目数据表的版本号不一致时,采用所述服务器中存储的节目数据表中的节目信息以及版本号更新所述各个频点对应的节目数据表,所述节目数据表中包含所有频点的节目信息。本发明还公开了一种节目更新装置。本发明实现了在当前频点对节目进行更新,而不需要跳频更新,从而不影响用户观看节目。
1.一种节目更新方法,其特征在于,所述节目更新方法包括以下步骤:
获取有线电视网络传输流中的节目数据表,将所述节目数据表存储在本地并向所有频点播发,其中,所述节目数据表中预先封装了私有自定义描述子,所述私有自定义描述子存储了所有频点的节目信息;
在终端启动,或者当接收到节目更新指令时,根据所述终端的启动信号或者所述节目更新指令,获取当前频点对应的节目数据表,所述节目数据表包括版本号和节目信息;
在获取到所述节目数据表时,获取服务器中存储的节目数据表及其版本号;
在所述当前频点的节目数据表的版本号与服务器中存储的节目数据表的版本号不一致时,采用所述服务器中存储的节目数据表中的节目信息以及版本号更新各个频点对应的节目数据表,所述节目数据表中包含所有频点的节目信息。
2.如权利要求1所述的节目更新方法,其特征在于,所述获取服务器中存储的节目数据表及其版本号包括:
向所述服务器发送终端启动信号或者节目更新指令,以供所述服务器在接收到所述终端启动信号或者节目更新指令时,向所述终端反馈传输流数据;
接收所述服务器发送过来的传输流数据;
在所述传输流数据中获取所述节目数据表,并对所述节目数据表进行解析,以获取所述节目数据表的版本号。
3.如权利要求1或2所述的节目更新方法,其特征在于,所述获取当前频点对应的节目数据表之后包括:
在未获取到所述节目数据表时,获取主频点对应的信息表及服务器中存储的信息表,所述信息表包括版本号;
在所述主频点对应的信息表的版本号与服务器中存储的信息表的版本号不一致时,采用所述服务器中存储的信息表依次更新各个频点对应的信息表。
4.如权利要求1所述的节目更新方法,其特征在于,所述节目信息包括节目要素、音频标识符、视频标识符、节目类型及节目名称。
5.一种节目更新装置,其特征在于,所述节目更新装置包括:
第一获取模块,用于获取有线电视网络传输流中的节目数据表,将所述节目数据表存储在本地并向所有频点播发,其中,所述节目数据表中预先封装了私有自定义描述子,所述私有自定义描述子存储了所有频点的节目信息;在终端启动,或者当接收到节目更新指令时,根据所述终端的启动信号或者所述节目更新指令,获取当前频点对应的节目数据表,所述节目数据表包括版本号和节目信息;
第二获取模块,用于在获取到所述节目数据表时,获取服务器中存储的节目数据表及其版本号;
第一更新模块,用于在所述当前频点的节目数据表的版本号与服务器中存储的节目数据表的版本号不一致时,采用所述服务器中存储的节目数据表中的节目信息以及版本号更新各个频点对应的节目数据表,所述节目数据表中包含所有频点的节目信息。
6.如权利要求5所述的节目更新装置,其特征在于,所述第二获取模块包括:
发送单元,用于向所述服务器发送终端启动信号或者节目更新指令,以供所述服务器在接收到所述终端启动信号或者节目更新指令时,向所述终端反馈传输流数据;
接收单元,用于接收所述服务器发送过来的传输流数据;
解析单元,用于在所述传输流数据中获取所述节目数据表,并对所述节目数据表进行解析,以获取所述节目数据表的版本号。
7.如权利要求5或6所述的节目更新装置,其特征在于,所述节目更新装置还包括:
第三获取模块,用于在第二获取模块未获取到所述节目数据表时,获取主频点对应的信息表及服务器中存储的信息表,所述信息表包括版本号;
第二更新模块,用于在所述主频点对应的信息表的版本号与服务器中存储的信息表的版本号不一致时,采用所述服务器中存储的信息表依次更新各个频点对应的信息表。
8.如权利要求5所述的节目更新装置,其特征在于,所述节目信息包括节目要素、音频标识符、视频标识符、节目类型及节目名称。
节目更新方法和装置\n技术领域\n[0001] 本发明涉及终端设备技术领域,尤其涉及一种节目更新方法和装置。\n背景技术\n[0002] 目前,终端在进行节目更新时,先跳转到主频点加载NIT(Network Information Table,锁频加载网络信息表)的数据。当位于主频点的NIT表中版本号发生变化,则跳转到节目搜索界面依次从每个频点中获取PAT(Program Associate Table,节目关联表)、PMT(Program Mapping Table,节目映射表)、SDT(Service Description Table,业务描述表)等数据,以进行节目搜索,并保存搜索到的节目,实现对节目列表进行更新。因此,终端在进行节目搜索的时候,用户不得不终止当前的观看节目活动。\n发明内容\n[0003] 本发明的主要目的在于提供一种节目更新方法和装置,旨在实现在当前频点完成节目更新,从而不影响用户观看节目。\n[0004] 为实现上述目的,本发明提供了一种节目更新方法,所述节目更新方法包括:\n[0005] 获取当前频点对应的节目数据表,所述节目数据表包括版本号和节目信息;\n[0006] 在获取到所述节目数据表时,获取服务器中存储的节目数据表及其版本号;\n[0007] 在所述当前频点的节目数据表的版本号与服务器中存储的节目数据表的版本号不一致时,采用所述服务器中存储的节目数据表中的节目信息以及版本号更新所述各个频点对应的节目数据表,所述节目数据表中包含所有频点的节目信息。\n[0008] 优选地,所述获取服务器中存储的节目数据表及其版本号包括:\n[0009] 向所述服务器发送终端启动信号或者节目更新指令,以供所述服务器在接收到所述终端启动信号或者节目更新指令时,向所述终端反馈传输流数据;\n[0010] 接收所述服务器发送过来的传输流数据;\n[0011] 在所述传输流数据中获取所述节目数据表,并对所述节目数据表进行解析,以获取所述节目数据表的版本号。\n[0012] 优选地,所述获取当前频点对应的节目数据表之前包括:\n[0013] 在终端启动,或者当接收到节目更新指令时,根据所述终端的启动信号或者所述节目更新指令,获取当前频点对应的节目数据表。\n[0014] 优选地,所述获取当前频点对应的节目数据表之后包括:\n[0015] 在未获取到所述节目数据表时,获取主频点对应的信息表及服务器中存储的信息表,所述信息表包括版本号;\n[0016] 在所述主频点对应的信息表的版本号与服务器中存储的信息表的版本号不一致时,采用所述服务器中存储的信息表依次更新各个频点对应的信息表。\n[0017] 优选地,所述节目信息包节目要素、音频标识符、视频标识符、节目类型及节目名称。\n[0018] 此外,为实现上述目的,本发明还提供了一种节目更新装置,所述节目更新装置包括:\n[0019] 第一获取模块,用于获取当前频点对应的节目数据表,所述节目数据表包括版本号和节目信息;\n[0020] 第二获取模块,用于在获取到所述节目数据表时,获取服务器中存储的节目数据表及其版本号;\n[0021] 第一更新模块,用于在所述当前频点的节目数据表的版本号与服务器中存储的节目数据表的版本号不一致时,采用所述服务器中存储的节目数据表中的节目信息以及版本号更新所述各个频点对应的节目数据表,所述节目数据表中包含所有频点的节目信息。\n[0022] 优选地,所述第二获取模块包括:\n[0023] 发送单元,用于向所述服务器发送终端启动信号或者节目更新指令,以供所述服务器在接收到所述终端启动信号或者节目更新指令时,向所述终端反馈传输流数据;\n[0024] 接收单元,用于接收所述服务器发送过来的传输流数据;\n[0025] 解析单元,用于在所述传输流数据中获取所述节目数据表,并对所述节目数据表进行解析,以获取所述节目数据表的版本号。\n[0026] 优选地,所述节目更新装置还包括:\n[0027] 触发模块,用于在终端启动,或者当接收到节目更新指令时,根据所述终端的启动信号或者所述节目更新指令,触发第一获取模块获取当前频点对应的节目数据表。\n[0028] 优选地,所述节目更新装置还包括:\n[0029] 第三获取模块,用于在第二获取模块未获取到所述节目数据表时,获取主频点对应的信息表及服务器中存储的信息表,所述信息表包括版本号;\n[0030] 第二更新模块,用于在所述主频点对应的信息表的版本号与服务器中存储的信息表的版本号不一致时,采用所述服务器中存储的信息表依次更新各个频点对应的信息表。\n[0031] 优选地,所述节目信息包节目要素、音频标识符、视频标识符、节目类型及节目名称。\n[0032] 本发明实施例通过获取当前频点对应的节目数据表,其中节目数据表包括版本号和节目信息,同时获取服务器中存储的节目数据表及其版本号。当当前频点的节目数据表的版本号与服务器中存储的节目数据表的版本号不一致时,采用服务器中存储的节目数据表中的节目信息以及版本号更新各个频点对应的节目数据表,以对节目进行更新。由于节目数据表中包含所有频点的节目信息,使得终端可以在当前频点进行节目更新,而无需挨个频点进行节目更新,从而不影响用户观看节目。\n附图说明\n[0033] 图1为本发明节目更新方法第一实施例的流程示意图;\n[0034] 图2为本发明节目更新方法第一实施例中获取服务器中存储的节目数据表及其版本号的细化流程示意图;\n[0035] 图3为本发明节目更新方法第二实施例的流程示意图;\n[0036] 图4为本发明节目更新方法第三实施例的流程示意图;\n[0037] 图5为本发明节目更新装置第一实施例的功能模块示意图;\n[0038] 图6为本发明节目更新装置第一实施例中第二获取模块的细化功能模块示意图;\n[0039] 图7为本发明节目更新装置第二实施例的功能模块示意图;\n[0040] 图8为本发明节目更新装置第三实施例的功能模块示意图。\n[0041] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。\n具体实施方式\n[0042] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0043] 如图1所示,示出了本发明一种节目更新方法第一实施例。\n[0044] 本实施例提供的节目更新方法主要用于终端对节目进行更新,该终端的类型可根据实际需要进行设置,用于接收节目,例如,终端可为数字电视机顶盒、数字电视一体机、手持电视终端等数字电视。以下将以数字电视对电视节目的更新为例进行详细说明。\n[0045] 本实施例的节目更新方法包括以下步骤:\n[0046] 步骤S10、获取当前频点对应的节目数据表,所述节目数据表包括版本号和节目信息;\n[0047] 本实施例中,根据MPEG-2标准中的TS(Transport Stream,传输流)流格式,预先设置一个节目数据表的数据结构,该节目数据表可命名为SUT(Service Update Table,私有表),该SUT表以传输流的形式在有线电视网络中传输到数字电视,数字电视接收到该SUT表后将其存储在本地。存储在本地SUT表向所有频点播发,即SUT表存在于所有的频点中。\n[0048] SUT表包括版本号,用于指示是否需要对SUT表的数据进行更新,即当存储在本地的该SUT表的版本号与服务器发送过来的SUT表的版本号不一致时,则表示需要更新SUT表的数据。该SUT表还包括节目信息,该节目信息可存储在命名为私有自定义描述子的预设描述子,该私有自定义描述子包括了所有频点的节目信息。其中,节目信息可包括节目要素(即节目的三要素)、音频标识符(音频PID)、视频标识符(视频PID)、PCR_PID、节目类型及节目名称等。\n[0049] 鉴于在TS中预设SUT表,该SUT表中包括用于存储所有频点的节目信息的私有自定义描述子,本实施例中当需要对节目进行更新时,数字电视将直接加载当前频点对应的SUT表,而不需要跳转到主频点加载NIT表中的数据。\n[0050] 步骤S20、在获取到所述节目数据表时,获取服务器中存储的节目数据表及其版本号;\n[0051] 一般在TS的数据中,都预留有未定义的信息表,以便于广电运营商可以根据不同业务需要进行自定义。因此,服务器可以根据预定义的数据格式在TS的数据中对SUT表进行自定义,以生成传输流数据传送至数字电视。当上述得到SUT表后,为了将SUT表的版本号与服务器中存储的版本号进行比较,数字电视需要获取服务器中存储的SUT表,并对传输过来的该SUT表进行解析,以得到服务器中存储的SUT表的版本号。该服务器可为广电运营商的电视节目编辑发送端。\n[0052] 步骤S30、在所述当前频点的节目数据表的版本号与服务器中存储的节目数据表的版本号不一致时,采用所述服务器中存储的节目数据表中的节目信息以及版本号更新所述各个频点对应的节目数据表,所述节目数据表中包含所有频点的节目信息。\n[0053] 根据上述得到当前频点的SUT表与服务器中存储的SUT表后,检查该SUT表的版本号是否发生变化,即将服务器传送过来的SUT表的版本号与数字电视本地所存储的SUT表的版本号进行比较。若数字电视接收到的服务器传送过来的SUT表的版本号与数字电视本地所存储的SUT表的版本号不一致,则确定电视节目需要进行更新。\n[0054] 具体地,采用服务器中存储的SUT表中的节目信息以及版本号更新各个频点对应的SUT表,即根据预定义的数据格式解析当前频点的SUT表。再根据私有自定义描述子的标记得到SUT表中的私有自定义描述子,然后根据预先定义的数据格式逐个字节对该私有自定义描述子进行解析。将当前频点SUT表中的节目信息删除,在当前频点存储服务器传送过来的节目信息。从而实现将服务器发送过来的私有自定义描述子替换当前频点的私有自定义描述子。\n[0055] 由于当前频点的SUT表中的私有自定义描述子包含所有频点的节目信息,因此通过解析SUT表中的私有自定义描述子,可获取节目的三要素、音频PID、视频PID、PCR_PID、节目类型、节目名称等节目信息,不需要跳转到主频点或者特定频点,并依次获取每个频点的节目信息。此时不管终端当前处于哪个频点,都可以对节目信息进行更新。\n[0056] 用户可以继续观看当前的电视节目,整个节目更新过程置于后台执行,对于用户来说是透明的,从而带来更好地用户体验。若当前频点的SUT表的版本号与服务器发送过来的节SUT表的版本号一致,则不需要对电视节目进行更新。\n[0057] 本发明实施例中SUT表以传输流的形式在有线电视网络中传输到数字电视,并向所有频点播发,从而通过获取当前频点对应的SUT表及服务器中存储的SUT表,并当当前频点对应的SUT表的版本号与服务器传送过来的SUT表的版本号不一致时,采用服务器中存储的节目数据表中的节目信息以及版本号更新各个频点对应的节目数据表,以对节目进行更新。由于SUT表包含了所有的频点的节目信息,使得在数字电视在进行节目搜索时无需依次获取每个频点的节目信息,直接对当前频点的节目信息进行更新即可实现对所有频点的节目信息表进行更新,从而不影响用户观看节目。\n[0058] 进一步地,如图2所示,基于上述实施例,本实施例中,上述步骤S20可包括:\n[0059] 步骤S21、向所述服务器发送终端启动信号或者节目更新指令,以供所述服务器在接收到所述终端启动信号或者节目更新指令时,向所述终端反馈传输流数据;\n[0060] 步骤S22、接收所述服务器发送过来的传输流数据;\n[0061] 步骤S23、在所述传输流数据中获取所述节目数据表,并对所述节目数据表进行解析,以获取所述节目数据表的版本号。\n[0062] 本实施例中,在上述服务器根据预定义的数据格式在TS的数据中对SUT表进行自定义后,在SUT表中进一步封装私有自定义描述子,以用于存储所有频点的节目信息。然后服务器将SUT表以传输流数据的形式发送至数字电视。定义SUT表的示例如表1所示,封装私有自定义描述子的示例如表2所示。\n[0063] 表1.定义SUT表的示例\n[0064]\n[0065] 其中,SUT表中的具体数据格式定义如下:\n[0066] 1)table_id:唯一表标识,8位。\n[0067] 2)version_number:表的版本号,5位。当这个字段发生变化的时候,表示需要更新表数据。\n[0068] 3)service_update_loop_length:更新节目总频点数,12位。\n[0069] 4)transport_stream_id:传输流ID,16位。\n[0070] 5)original_network_id:原始网络ID,16位。\n[0071] 6)service_info_descriptors_length:当前网络描述的节目个数,12位。\n[0072] 7)Service_info_descriptor:封装在SUT表中的私有自定义描述子。\n[0073] 表2.封装私有自定义描述子的示例\n[0074]\n[0075]\n[0076] 其中,私有自定义描述子的具体数据格式定义如下:\n[0077] 1)descriptor_tag:描述子标记,8位,按照规定取值范围(0x80到0xFE)。\n[0078] 2)descriptor_length:描述子长度,8位。\n[0079] 3)PCR_PID:PCR的PID,用于播放,13位。\n[0080] 4)reserved:保留,3位。\n[0081] 5)stream_type:节目类型,8位。\n[0082] 6)service_id:节目ID,16位。\n[0083] 7)elementary_PID:TS包含有的相关节目元素,13位,如音频PID或视频PID等。\n[0084] 8)ES_info_length:这是一个12位长度字段,前两位为00,该字段指示了跟随其后的描述相关节目元素的字节数。\n[0085] 9)service_name_length:这是一个12位长度字段,前两位为00,该字段指示了跟随其后的描述相关节目名称的字节数。\n[0086] 10)service_name:节目名称,长度由service_name_length决定。\n[0087] 当数字电视是在启动时获取到SUT表,则数字电视将向服务器发送启动信号,服务器在接收到数字电视的启动信号后,将传输流数据传送至该数据电视。或者当用户通过预设的节目更新按键等方式触发数字电视获取到SUT表时,则数字电视将向服务器发送节目更新指令,服务器在接收到数字电视的节目更新指令后,将传输流数据传送至该数据电视。\n[0088] 数字电视接收到服务器发送过来的传输流数据后,由于服务器发送过来的传输流数据中包含了大量的数据表信息,因此,需要在上述预定义SUT表的数据格式,根据SUT表唯一表标识对该大量的数据表进行过滤处理,从传输流数据中获取SUT表。然后根据上述预定义的数据格式对SUT表进行解析,以得到服务器发送过来的SUT表的版本号。\n[0089] 进一步地,如图3所示,基于上述实施例,提出了本发明节目更新方法的第二实施例,该实施例中上述步骤S10之前可包括:\n[0090] 步骤S40、终端启动或者当接收到节目更新指令;\n[0091] 步骤S10、根据所述终端的启动信号或者所述节目更新指令,获取当前频点对应的节目数据表。\n[0092] 本实施例中,触发数据电视获取当前频点对应的SUT表的方式可包括:方式一:在数字电视开机时,将产生启动信号,根据数字电视的启动信号将自动获取当前频点对应的SUT表;方式二:用户在观看电视节目的过程中,用户可通过遥控器上预设的节目更新按键、或数字电视上预置的节目更新按键、或触摸屏、或预设图标等方式,向数字电视发送节目更新指令,当数字电视接收到节目更新指令时,获取当前频点对应的SUT表。\n[0093] 可以理解的是,上述触发数据电视获取当前频点对应的SUT表的方式仅为具体实施方式的枚举,本领域技术人员提出的其它触发数据电视获取当前频点对应的SUT表的方式获取的方式,均在本发明的保护范围内。\n[0094] 进一步地,如图4所示,基于上述实施例,提出了本发明节目更新方法的第三实施例,该实施例中上述步骤S10之后可包括:\n[0095] 步骤S50、在未获取到所述节目数据表时,获取主频点对应的信息表及服务器中存储的信息表,所述信息表包括版本号;\n[0096] 步骤S60、在所述主频点对应的信息表的版本号与服务器中存储的信息表的版本号不一致时,采用所述服务器中存储的信息表依次更新各个频点对应的信息表。\n[0097] 当数字电视在当前频点未获取到对应的上述预定义的SUT表时,说明该数字电视不支持上述预定义的SUT表的数据格式,仅支持在主频点播发信息表,该信息表为NIT表,因此,该数字电视在本地存储有仅在主频点播发的NIT表,该NIT表包括版本号。该主频点为用于存储NIT表的预设频点,该主频点可根据具体情况而灵活设置,且每个频点存储各自对应的节目信息。\n[0098] 此时,该数字电视在对节目进行更新时,需要跳转到主频点加载NIT表的数据。同时,向服务器发送节目更新请求,以使服务器根据节目更新请求向数字电视发送传输流数据。数字电视根据NIT表的标识在服务器传送过来的传输流数据中获取NIT表,并将数字电视本地存储的NIT表的版本号与服务器发送过来的NIT表的版本号进行比较,若一致,则不需要对节目进行更新;若不一致,则需要对节目进行更新。\n[0099] 具体地,更新节目方式可为:数字电视终止当前的节目观看活动,跳转到节目搜索界面,依次挨个频点获取PAT(Program Associate Table,节目关联表)、PMT(Program Mapping Table,节目映射表)、SDT(Service Description Table,业务描述表)等数据,以将服务器中存储的信息表依次对应更新各个频点对应的信息表,达到对节目进行更新的目的。\n[0100] 对应地,如图5所示,提出本发明一种节目更新装置第一实施例。\n[0101] 本实施例提供的节目更新装置主要用于终端对节目进行更新,该终端的类型可根据实际需要进行设置,用于接收节目,例如,终端可为数字电视机顶盒、数字电视一体机、手持电视终端等数字电视。以下将以数字电视对电视节目的更新为例进行详细说明。\n[0102] 本实施例的节目更新装置包括:\n[0103] 第一获取模块100,用于获取当前频点对应的节目数据表,所述节目数据表包括版本号和节目信息;\n[0104] 本实施例中,根据MPEG-2标准中的TS(Transport Stream,传输流)流格式,预先设置一个节目数据表的数据结构,该节目数据表可命名为SUT(Service Update Table,私有表),该SUT表以传输流的形式在有线电视网络中传输到数字电视,数字电视接收到该SUT表后将其存储在本地。\n[0105] 存储在本地SUT表向所有频点播发,即SUT表存在于所有的频点中。SUT表包括版本号,用于指示是否需要对SUT表的数据进行更新,即当存储在本地的该SUT表的版本号与服务器发送过来的SUT表的版本号不一致时,则表示需要更新SUT表的数据。该SUT表还包括节目信息,该节目信息可存储在命名为私有自定义描述子的预设描述子,该私有自定义描述子包括了所有频点的节目信息。其中,节目信息可包括节目要素(即节目的三要素)、音频标识符(音频PID)、视频标识符(视频PID)、PCR_PID、节目类型及节目名称等。\n[0106] 鉴于在TS中预设SUT表,该SUT表中包括用于存储所有频点的节目信息的私有自定义描述子,本实施例中当需要对节目进行更新时,数字电视将调用第一获取模块100直接加载当前频点对应的SUT表,而不需要跳转到主频点加载NIT表中的数据。\n[0107] 第二获取模块200,用于在获取到所述节目数据表时,获取服务器中存储的节目数据表及其版本号;\n[0108] 一般在TS的数据中,都预留有未定义的信息表,以便于广电运营商可以根据不同业务需要进行自定义。因此,服务器可以根据预定义的数据格式在TS的数据中对SUT表进行自定义,以生成传输流数据传送至数字电视。当上述得到SUT表后,为了将SUT表的版本号与服务器中存储的版本号进行比较,数字电视需要调用第二获取模块200获取服务器中存储的SUT表,并对传输过来的该SUT表进行解析,以得到服务器中存储的SUT表的版本号。该服务器可为广电运营商的电视节目编辑发送端。\n[0109] 第一更新模块300,用于在所述当前频点的节目数据表的版本号与服务器中存储的节目数据表的版本号不一致时,采用所述服务器中存储的节目数据表中的节目信息以及版本号更新所述各个频点对应的节目数据表,所述节目数据表中包含所有频点的节目信息。\n[0110] 根据上述得到当前频点的SUT表与服务器中存储的SUT表后,检查该SUT表的版本号是否发生变化,即将服务器传送过来的SUT表的版本号与数字电视本地所存储的SUT表的版本号进行比较。若数字电视接收到的服务器传送过来的SUT表的版本号与数字电视本地所存储的SUT表的版本号不一致,则确定电视节目需要进行更新。\n[0111] 具体地,由第一更新模块300采用服务器中存储的SUT表中的节目信息以及版本号更新各个频点对应的SUT表,即根据预定义的数据格式解析当前频点的SUT表。再根据私有自定义描述子的标记得到SUT表中的私有自定义描述子,然后根据预先定义的数据格式逐个字节对该私有自定义描述子进行解析。将当前频点SUT表中的节目信息删除,在当前频点存储服务器传送过来的节目信息。从而实现将服务器发送过来的私有自定义描述子替换当前频点的私有自定义描述子。\n[0112] 由于当前频点的SUT表中的私有自定义描述子包含所有频点的节目信息,因此通过解析SUT表中的私有自定义描述子,可获取节目的三要素、音频PID、视频PID、PCR_PID、节目类型、节目名称等节目信息,不需要跳转到主频点或者特定频点,并依次获取每个频点的节目信息。此时不管终端当前处于哪个频点,第一更新模块300都可以对节目信息进行更新。用户可以继续观看当前的电视节目,整个节目更新过程置于后台执行,对于用户来说是透明的,从而带来更好地用户体验。若当前频点的SUT表的版本号与服务器发送过来的节SUT表的版本号一致,则第一更新模块300不需要对电视节目进行更新。\n[0113] 本发明实施例中SUT表以传输流的形式在有线电视网络中传输到数字电视,并向所有频点播发,从而通过获取当前频点对应的SUT表及服务器中存储的SUT表,并当当前频点对应的SUT表的版本号与服务器传送过来的SUT表的版本号不一致时,采用服务器中存储的节目数据表中的节目信息以及版本号更新各个频点对应的节目数据表,以对节目进行更新。由于SUT表包含了所有的频点的节目信息,使得在数字电视在进行节目搜索时无需依次获取每个频点的节目信息,直接对当前频点的节目信息表进行更新即可实现对所有频点的节目信息表进行更新,从而不影响用户观看节目。\n[0114] 进一步地,如图6所示,基于上述实施例,本实施例中,上述第二获取模块200可包括:\n[0115] 发送单元210,用于向所述服务器发送终端启动信号或者节目更新指令,以供所述服务器在接收到所述终端启动信号或者节目更新指令时,向所述终端反馈传输流数据;\n[0116] 接收单元220,用于接收所述服务器发送过来的传输流数据;\n[0117] 解析单元230,用于在所述传输流数据中获取所述节目数据表,并对所述节目数据表进行解析,以获取所述节目数据表的版本号。\n[0118] 本实施例中,在上述服务器根据预定义的数据格式在TS的数据中对SUT表进行自定义后,在SUT表中进一步封装私有自定义描述子,以用于存储所有频点的节目信息。然后服务器将SUT表以传输流数据的形式发送至数字电视。定义SUT表的示例如表1所示,封装私有自定义描述子的示例如表2所示。\n[0119] 表1.定义SUT表的示例\n[0120]\n[0121] 其中,SUT表中的具体数据格式定义如下:\n[0122] 1)table_id:唯一表标识,8位。\n[0123] 2)version_number:表的版本号,5位。当这个字段发生变化的时候,表示需要更新表数据。\n[0124] 3)service_update_loop_length:更新节目总频点数,12位。\n[0125] 4)transport_stream_id:传输流ID,16位。\n[0126] 5)original_network_id:原始网络ID,16位。\n[0127] 6)service_info_descriptors_length:当前网络描述的节目个数,12位。\n[0128] 7)Service_info_descriptor:封装在SUT表中的私有自定义描述子。\n[0129] 表2.封装私有自定义描述子的示例\n[0130]\n[0131]\n[0132] 其中,私有自定义描述子的具体数据格式定义如下:\n[0133] 1)descriptor_tag:描述子标记,8位,按照规定取值范围(0x80到0xFE)。\n[0134] 2)descriptor_length:描述子长度,8位。\n[0135] 3)PCR_PID:PCR的PID,用于播放,13位。\n[0136] 4)reserved:保留,3位。\n[0137] 5)stream_type:节目类型,8位。\n[0138] 6)service_id:节目ID,16位。\n[0139] 7)elementary_PID:TS包含有的相关节目元素,13位,如音频PID或视频PID等。\n[0140] 8)ES_info_length:这是一个12位长度字段,前两位为00,该字段指示了跟随其后的描述相关节目元素的字节数。\n[0141] 9)service_name_length:这是一个12位长度字段,前两位为00,该字段指示了跟随其后的描述相关节目名称的字节数。\n[0142] 10)service_name:节目名称,长度由service_name_length决定。\n[0143] 当数字电视是在启动时获取到SUT表,则数字电视将调用发送单元210向服务器发送启动信号,服务器在接收到数字电视的启动信号后,将传输流数据传送至该数据电视。或者当用户通过预设的节目更新按键等方式触发数字电视获取到SUT表时,则数字电视将调用发送单元210向服务器发送节目更新指令,服务器在接收到数字电视的节目更新指令后,将传输流数据传送至该数据电视。\n[0144] 数字电视由接收单元220接收到服务器发送过来的传输流数据后,由于服务器发送过来的传输流数据中包含了大量的数据表信息,因此,需要在上述预定义SUT表的数据格式,根据SUT表唯一表标识对该大量的数据表进行过滤处理,从传输流数据中获取SUT表。然后解析单元230根据上述预定义的数据格式对SUT表进行解析,以得到服务器发送过来的SUT表的版本号。\n[0145] 进一步地,如图7所示,基于上述实施例,本实施例中,上述节目更新装置还包括:\n[0146] 触发模块400,用于在终端启动,或者当接收到节目更新指令时,根据所述终端的启动信号或者所述节目更新指令,触发第一获取模块获取当前频点对应的节目数据表。\n[0147] 本实施例中,触发模块400触发数据电视获取当前频点对应的SUT表的方式可包括:方式一:在数字电视开机时,将产生启动信号,根据数字电视的启动信号将自动获取当前频点对应的SUT表;方式二:用户在观看电视节目的过程中,用户可通过遥控器上预设的节目更新按键、或数字电视上预置的节目更新按键、或触摸屏、或预设图标等方式,向数字电视发送节目更新指令,当数字电视接收到节目更新指令时,获取当前频点对应的SUT表。\n[0148] 可以理解的是,上述触发数据电视获取当前频点对应的SUT表的方式仅为具体实施方式的枚举,本领域技术人员提出的其它触发数据电视获取当前频点对应的SUT表的方式获取的方式,均在本发明的保护范围内。\n[0149] 进一步地,如图8所示,基于上述实施例,本实施例中,上述节目更新装置还包括:\n[0150] 第三获取模块500,用于在第二获取模块未获取到所述节目数据表时,获取主频点对应的信息表及服务器中存储的信息表,所述信息表包括版本号;\n[0151] 第二更新模块600,用于在所述主频点对应的信息表的版本号与服务器中存储的信息表的版本号不一致时,采用所述服务器中存储的信息表依次更新各个频点对应的信息表。\n[0152] 当数字电视在当前频点获取不到对应的上述预定义的SUT表时,说明该数字电视不支持上述预定义的SUT表的数据格式,仅支持在主频点播发信息表,该信息表为NIT表,因此,该数字电视在本地存储有仅在主频点播发的NIT表,该NIT表包括版本号。该主频点为用于存储NIT表的预设频点,该主频点可根据具体情况而灵活设置,且每个频点存储各自对应的节目信息。\n[0153] 此时,该数字电视在对节目进行更新时,第三获取模块500需要跳转到主频点加载NIT表的数据。同时,向服务器发送节目更新请求,以使服务器根据节目更新请求向数字电视发送传输流数据。数字电视根据NIT表的标识在服务器传送过来的传输流数据中获取NIT表,并将数字电视本地存储的NIT表的版本号与服务器发送过来的NIT表的版本号进行比较,若一致,则第二更新模块600不需要对节目进行更新;若不一致,则第二更新模块600需要对节目进行更新。\n[0154] 具体地,第二更新模块600更新节目的方式可为:数字电视终止当前的节目观看活动,跳转到节目搜索界面,依次挨个频点获取PAT(Program Associate Table,节目关联表)、PMT(Program Mapping Table,节目映射表)、SDT(Service Description Table,业务描述表)等数据,以将服务器中存储的信息表依次更新各个频点对应的信息表,达到对节目进行更新的目的。\n[0155] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
法律信息
- 2019-02-26
- 2016-06-29
实质审查的生效
IPC(主分类): H04N 21/458
专利申请号: 201510431661.4
申请日: 2015.07.21
- 2015-11-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |