获取电子节目菜单的方法及系统与流程

文档序号:13728565阅读:186来源:国知局
技术领域本发明涉及数字电视技术领域,尤其涉及一种获取电子节目菜单的方法及系统。

背景技术:
目前的数字电视的电子节目菜单(ElectronicProgramGuide,EPG)数据是从传输流(TansportStream,TS)里获取的,获取的流程包括数字电视往复监听服务器的消息、监听PSI/SI消息及对EPG数据一系列的处理等,流程非常复杂;且每获取一个频道的数据都要重新锁定对应的频点,设置对应调谐器的参数,根据信号的强弱等待调谐器锁定,等待的时间较长;然后解调器解出对应的TS流给数字电视的主芯片,主芯片再解复用,才能获取对应的EPG数据,这样获取一个新的频道至少要8秒以上,数字电视不能快速获取到EPG数据。

技术实现要素:
本发明的主要目的在于解决数字一体机快速获取电子节目菜单数据的技术问题。为实现上述目的,本发明提供一种获取电子节目菜单的方法,所述获取电子节目菜单的方法包括以下步骤:CAM卡与数字一体机建立连接,通过所述数字一体机从前端服务器上获取电子节目菜单数据并存储;当所述数字一体机再次启动后,接收到用户的获取电子节目菜单数据的指令时,将所述获取电子节目菜单数据的指令发送给所述CAM卡;所述CAM卡根据所述指令获取对应的电子节目菜单数据,将所获取的电子节目菜单数据发送给所述数字一体机,供用户及时获得需要的电子节目菜单数据。优选地,所述CAM卡与数字一体机建立连接,通过所述数字一体机从前端服务器上获取电子节目菜单数据并存储的步骤包括:所述CAM卡与数字一体机建立连接,并向所述数字一体机发送访问所述前端服务器的IP参数;在所述数字一体机根据所述IP参数向前端服务器发送获取电子节目菜单数据的请求消息,并收到所述前端服务器返回的对应的电子节目菜单数据后,所述CAM卡接收所述数字一体机发送的电子节目菜单数据;所述CAM卡将所述电子节目菜单数据封装为统一格式并存储。优选地,所述CAM卡与数字一体机建立连接,并向所述数字一体机发送访问所述前端服务器的IP参数的步骤包括:所述CAM卡与数字一体机建立低速通信会话;所述CAM卡通过所述低速通信的方式向数字一体机发送所述IP参数。优选地,所述CAM卡根据所述指令获取对应的电子节目菜单数据,将所获取的电子节目菜单数据发送给所述数字一体机的步骤之后包括:所述数字一体机对所述电子节目菜单数据进行CRC校正并存储。优选地,还包括:所述数字一体机接收到进入电子节目菜单的指令,根据所述进入电子节目菜单的指令获取所存储的电子节目菜单数据;根据所述电子节目菜单数据显示对应的电子节目菜单。此外,为实现上述目的,本发明还提供一种获取电子节目菜单的系统,所述系统包括数字一体机及CAM卡,所述数字一体机包括CI协议栈及客户端,所述CAM卡包括建立模块及发送模块,其中:所述建立模块,用于与数字一体机建立连接,通过所述数字一体机从前端服务器上获取电子节目菜单数据并存储;所述CI协议栈,用于当所述数字一体机再次启动后,接收到用户的获取电子节目菜单数据的指令时,将所述电子节目菜单数据的指令发送给所述CAM卡;所述发送模块,用于根据所述指令获取对应的电子节目菜单数据,将所获取的电子节目菜单数据发送给所述数字一体机,供用户及时获得需要的电子节目菜单数据。优选地,所述建立模块包括:建立单元,用于与数字一体机建立连接,并向所述数字一体机发送访问所述前端服务器的IP参数;接收单元,用于在所述数字一体机根据所述IP参数向前端服务器发送获取电子节目菜单数据的请求消息,并收到所述前端服务器返回的对应的电子节目菜单数据后,所述CAM卡还接收所述数字一体机发送的电子节目菜单数据;存储单元,用于将所述电子节目菜单数据封装为统一格式并存储。优选地,所述建立单元包括建立子单元,用于与数字一体机建立低速通信会话;发送子单元,用于通过所述低速通信的方式向数字一体机发送所述IP参数。优选地,所述客户端用于对所述电子节目菜单数据进行CRC校正。优选地,所述数字一体机接收到进入电子节目菜单的指令,根据所述进入电子节目菜单的指令获取所存储的电子节目菜单数据;根据所述电子节目菜单数据显示对应的电子节目菜单。本发明一种获取电子节目菜单的方法及系统,针对数字电视一体机的特点,把EPG数据置于前端服务器中,CAM卡通过数字一体机及网络把EPG数据下载到自身并存储,在数字一体机再次启动时,CAM卡再通过统一的接口传给数字一体机,获取EPG数据的流程大大简化,用户不需要长时间等待才能看到EPG,能够实现数字一体机快速获取EPG。附图说明图1为本发明获取电子节目菜单的方法第一实施例的流程示意图;图2为图1中CAM卡与数字一体机建立连接的细化流程示意图;图3为图2所示CAM卡与数字一体机建立连接的交互流程图;图4为本发明获取电子节目菜单的方法第二实施例的流程示意图;图5为本发明获取电子节目菜单的系统一实施例的功能模块示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明提供一种获取电子节目菜单的方法,参照图1,在一实施例中,该获取电子节目菜单的方法包括:步骤S101,CAM卡与数字一体机建立连接,通过所述数字一体机从前端服务器上获取电子节目菜单数据并存储;本实施例中,数字一体机与条件接收(ConditionalAccessModule,CAM)卡通过规定的硬件接口连接,并可以进行数据通信。数字一体机和CAM卡可以由不同的软硬件平台分别实现,在实际使用环境中,数字一体机会与不同提供商的CAM卡进行交互,需要处理工作过程中出现的复杂情况。其中,数字一体机包括客户端及通用接口(CommonInterface,CI)协议栈,其中,客户端是与前端服务器进行通信交互的后台应用,CI协议栈是数字一体机专门用于与CAM卡进行交互的部分。本实施例中,由于CAM卡不具备网络通信能力,因此在CAM卡与数字一体机建立连接后,CAM卡通过数字一体机从前端服务器上获取到电子节目菜单数据并存储。本实施例中,CAM卡实时从前端服务器获取电子节目菜单数据,该电子节目菜单数据按照获取时间先后排序,因为CAM卡存储空间有限,因此,优选地,当到达一个时间周期后删掉电子节目菜单数据,而保存较新的电子节目菜单数据。本实施例中,数字一体机从CAM卡获取电子节目菜单数据,原则上是获取最新的电子节目菜单数据,这样便于用户观看当前的节目,但也可以根据用户需求获取对应时间的电子节目菜单数据。值得说明的是本实施例的数字一体机为基于Android操作系统实现快速获取电子节目菜单,当然并不限于Android操作系统,其他操作系统也可以作出类似的方案。步骤S102,当数字一体机再次启动后,接收到用户的获取电子节目菜单数据的指令时,将获取电子节目菜单数据的指令发送给所述CAM卡;本实施例中,用户通过插电再次开机,或者通过遥控器按电源键再次开机。用户在数字一体机上输入获取电子节目菜单数据的指令,当接收到该指令后,数字一体机的客户端向CI协议栈发送获得电子节目菜单数据的指令,CI协议栈通过命令向CAM卡发送该获得电子节目菜单数据的指令。步骤S103,所述CAM卡根据所述指令获取对应的电子节目菜单数据,将所获取的电子节目菜单数据发送给所述数字一体机,供用户及时获得需要的电子节目菜单数据。本实施例中,CAM卡预先通过数字一体机从前端服务器上获取到电子节目菜单数据并存储,在数字一体机再次启动后,CAM卡根据数字一体机发送的指令获取所存储的电子节目菜单数据,然后发送给数字一体机。本实施例中,具体为:CAM卡向CI协议栈传送EPG数据,CI协议栈把EPG数据传送给数字一体机的客户端。其中,CAM卡以comms_send()APDU(低速通信的最小单元)向CI协议栈发送需要发给前端服务器的EPG数据,CI协议栈收到数据之后存入对应phase_id(相位编号)的缓存buffer之中,调用socket_send()(管道传送)发送EPG数据,每发完一个缓存buffer里面的数据,以comms_reply()(通讯应答)告知CAM卡哪个buffer为空并下次可用。另外,客户端根据创建的socket_fd(管道句柄)采用select(选择)去监听前端服务器,当监听到前端服务器的EPG数据,调用socket_rcv()(管道接收)获取EPG数据,并发送给CI协议栈。CI协议栈接收到EPG数据之后,采用comms_rcv()(低速通讯接收数据)发送EPG数据到CAM卡对应可用相位编号phase_id的缓存buffer里,CAM卡处理完EPG数据之后发送comms_cmd(getnextbuffer)(接收下一个缓冲器)消息,告知数字一体机哪些缓存buffer的EPG数据处理完并下次可用。本实施例不需要从传输流中获取EPG数据,因此不需要对前端服务器的消息及PSI/SI消息进行往复的监听,以及对传输流进行一系列的处理才能获取到EPG数据,流程简单,不需要等待较长的时间;本实施例可以在数字一体机启动后2秒内呈现新的EPG,将现有技术中的等待时间提高至少6秒以上,大大提高用户的体验。与现有技术相比,本实施例针对数字电视一体机的特点,把EPG数据置于前端服务器中,CAM卡通过数字一体机及网络把EPG数据下载到自身并存储,在数字一体机再次启动时,CAM卡再通过统一的接口传给数字一体机,获取EPG数据的流程大大简化,用户不需要长时间等待才能看到EPG,能够实现数字一体机快速获取EPG,提高用户体验。在一优选的实施例中,如图2所示,在上述图1对应的实施例的基础上,上述步骤S101包括:步骤S1011,所述CAM卡与数字一体机建立连接,并向所述数字一体机发送访问所述前端服务器的IP参数;步骤S1012,在所述数字一体机根据所述IP参数向前端服务器发送获取电子节目菜单数据的请求消息,并收到上述前端服务器返回的对应的电子节目菜单数据后,所述CAM卡接收所述数字一体机发送的电子节目菜单数据;步骤S1013,所述CAM卡将所述电子节目菜单数据封装为统一格式并存储。其中,CAM卡与数字一体机建立连接,并向所述数字一体机发送访问所述前端服务器的IP参数包括:所述CAM卡与数字一体机建立低速通信会话;所述CAM卡通过所述低速通信的方式向数字一体机发送所述IP参数。其中,低速通信支持多会话,每个会话分别创建一个连接(例如IP连接),每个会话分别维护16块buffer缓冲器,作为通信的缓冲作用。结合参阅图3,CAM卡与数字一体机建立连接进一步包括:1.数字一体机的CI协议栈向CAM卡发送resource-profile(资源请求);2.CAM卡向CI协议栈发送Open-lsc-session-req(低速通信会话请求);3.CI协议栈向CAM卡返回Open-lsc-session-resp(低速通信会话响应);4.CAM卡向CI协议栈发送Comms-cmd(低速通信参数);5.CI协议栈向CAM卡返回Comms-reply(低速通信参数响应);6.CAM卡与CI协议栈Connectonchannel(按低速通信参数连接);7.CI协议栈与客户端建立Socket-connect(Socket连接);8.客户端向CI协议栈返回Connect-status(连接状态);9.CI协议栈向CAM卡返回Connect-status(低速通信连接状态响应)。本实施例中,第4步到第9步是创建链接(以IP链接为例),首先数字一体机收到comms_cmd(低速通信参数),设置链接的buffersize(缓冲器的大小)、链接超时及拨号次数等参数,低速通信参数包含IP地址发起链接,CI协议栈调用socket_connect()(管道连接)链接,并返回链接状态。CAM卡通过低速通信的方式向数字一体机的CI协议栈发送访问前端服务器的IP参数,CI协议栈将IP参数发送给客户端,客户端根据述IP参数访问前端服务器,发送获取电子节目菜单数据的请求消息,前端服务器根据该请求消息向客户端返回电子节目菜单数据,客户端将电子节目菜单数据发送给CI协议栈,CI协议栈再将电子节目菜单数据通过低速通信的方式发送给CAM卡。其中,IP参数的描述如下表1所示:表1其中,descriptor_length:描述符长度为8bit字段,指示该域以后数据的长度;IP_protocol_version:该字段定义IP协议版本;IP_address:该字段是IP地址,协议类型为IPv4时,前12字节为“0”;destination_port:该字段表述主机的目标端口,接收端口由主机管理;protocol_type:该字段表述协议类型;UDP或TCP。其中,IP协议版本如下表2所示:IP协议版本类型值保留0x00IPv40x01IPv60x02其他全部值保留0x03-0xFF表2协议类型如下表3所示:协议类型类型值保留0x00TCP0x01UDP0x02其他全部值保留0x03-0xFF表3本实施例中,CAM卡将电子节目菜单数据封装为统一格式,该统一格式不做限定,由开发人员自定义。在一优选的实施例中,如图4所示,在上述图1对应的实施例的基础上,在步骤S103之后还包括:步骤S104,所述数字一体机对所述电子节目菜单数据进行CRC校正并存储。本实施例中,在电子节目菜单数据在传输过程中可能会出错,本实施例对电子节目菜单数据进行CRC(CyclicRedundancyCheck,循环冗余校验码)校正,能够对电子节目菜单数据进行数据传输检错,以保证电子节目菜单数据传输的正确性和完整性。另外,本实施例将校正后的电子节目菜单数据存储于数字一体机的FLASH中。在一优选的实施例中,在上述图4对应的实施例的基础上,在上述步骤S104之后还包括:步骤S105,数字一体机接收到进入电子节目菜单的指令,根据所述进入电子节目菜单的指令获取所存储的电子节目菜单数据;步骤S106,根据所述电子节目菜单数据显示对应的电子节目菜单。本实施例中,用户通过遥控器向数字一体机发送进入电子节目菜单的指令,数字一体机应用层的应用程序APK接收该指令,然后向应用框架层的管理模块TVManager发送获取电子节目菜单的请求,管理模块TVManager从数字一体机的FLASH中调取电子节目菜单数据,然后返回给应用层的应用程序APK,最终,数字一体机根据电子节目菜单数据显示电子节目菜单。本发明还提供一种获取电子节目菜单的系统,如图5所示,在一实施例中,系统包括数字一体机101及CAM卡102,数字一体机101包括CI协议栈及客户端,CAM卡102包括建立模块及发送模块,其中:建立模块,用于与数字一体机建立连接,通过所述数字一体机从前端服务器上获取电子节目菜单数据并存储;本实施例中,数字一体机与条件接收(ConditionalAccessModule,CAM)卡通过规定的硬件接口连接,并可以进行数据通信。数字一体机和CAM卡可以由不同的软硬件平台分别实现,在实际使用环境中,数字一体机会与不同提供商的CAM卡进行交互,需要处理工作过程中出现的复杂情况。其中,数字一体机包括客户端及通用接口(CommonInterface,CI)协议栈,其中,客户端是与前端服务器进行通信交互的后台应用,CI协议栈是数字一体机专门用于与CAM卡进行交互的部分。本实施例中,由于CAM卡不具备网络通信能力,因此在CAM卡与数字一体机建立连接后,CAM卡通过数字一体机从前端服务器上获取到电子节目菜单数据并存储。本实施例中,CAM卡的建立模块实时从前端服务器获取电子节目菜单数据,该电子节目菜单数据按照获取时间先后排序,因为CAM卡存储空间有限,因此,优选地,当到达一个时间周期后删掉电子节目菜单数据,而保存较新的电子节目菜单数据。本实施例中,数字一体机从CAM卡获取电子节目菜单数据,原则上是获取最新的电子节目菜单数据,这样便于用户观看当前的节目,但也可以根据用户需求获取对应时间的电子节目菜单数据。值得说明的是本实施例的数字一体机为基于Android操作系统实现快速获取电子节目菜单,当然并不限于Android操作系统,其他操作系统也可以作出类似的方案。CI协议栈,用于当数字一体机再次启动后,接收到用户的获取电子节目菜单数据的指令时,将获取电子节目菜单数据的指令发送给所述CAM卡的发送模块;本实施例中,用户通过插电再次开机,或者通过遥控器按电源键再次开机。用户在数字一体机上输入获取电子节目菜单数据的指令,当接收到该指令后,数字一体机的客户端向CI协议栈发送获得电子节目菜单数据的指令,CI协议栈通过命令向CAM卡发送该获得电子节目菜单数据的指令。发送模块,用于根据所述指令获取对应的电子节目菜单数据,将所获取的电子节目菜单数据发送给所述数字一体机,供用户及时获得需要的电子节目菜单数据。本实施例中,CAM卡预先通过数字一体机从前端服务器上获取到电子节目菜单数据并存储,在数字一体机再次启动后,CAM卡根据数字一体机发送的指令获取所存储的电子节目菜单数据,然后发送给数字一体机。本实施例中,具体为:CAM卡向CI协议栈传送EPG数据,CI协议栈把EPG数据传送给数字一体机的客户端。其中,CAM卡的建立模块以comms_send()APDU(低速通信的最小单元)向CI协议栈发送需要发给前端服务器的EPG数据,CI协议栈收到数据之后存入对应phase_id(相位编号)的缓存buffer之中,调用socket_send()(管道传送)发送EPG数据,每发完一个缓存buffer里面的数据,以comms_reply()(通讯应答)告知CAM卡哪个buffer为空并下次可用。另外,客户端根据创建的socket_fd(管道句柄)采用select(选择)去监听前端服务器,当监听到前端服务器的EPG数据,调用socket_rcv()(管道接收)获取EPG数据,并发送给CI协议栈。CI协议栈接收到EPG数据之后,采用comms_rcv()(低速通讯接收数据)发送EPG数据到CAM卡对应可用相位编号phase_id的缓存buffer里,CAM卡处理完EPG数据之后发送comms_cmd(getnextbuffer)(接收下一个缓冲器)消息,告知数字一体机哪些缓存buffer的EPG数据处理完并下次可用。本实施例不需要从传输流中获取EPG数据,因此不需要对前端服务器的消息及PSI/SI消息进行往复的监听,以及对传输流进行一系列的处理才能获取到EPG数据,流程简单,不需要等待较长的时间;本实施例可以在数字一体机启动后2秒内呈现新的EPG,将现有技术中的等待时间提高至少6秒以上,大大提高用户的体验。在一优选的实施例中,在上述实施例的基础上,所述建立模块包括:建立单元,用于与数字一体机建立连接,并向所述数字一体机发送访问所述前端服务器的IP参数;接收单元,用于在所述数字一体机根据所述IP参数向前端服务器发送获取电子节目菜单数据的请求消息,并收到上述前端服务器返回的对应的电子节目菜单数据后,接收所述数字一体机发送的电子节目菜单数据;存储单元,用于将所述电子节目菜单数据封装为统一格式并存储。其中,CAM卡与数字一体机建立连接,并向所述数字一体机发送访问所述前端服务器的IP参数包括:所述CAM卡与数字一体机建立低速通信会话;所述CAM卡通过所述低速通信的方式向数字一体机发送所述IP参数。其中,低速通信支持多会话,每个会话分别创建一个连接(例如IP连接),每个会话分别维护16块buffer缓冲器,作为通信的缓冲作用。其中,CAM卡与数字一体机建立连接可参阅图3,此处不再赘述。本实施例中,CAM卡通过低速通信的方式向数字一体机的CI协议栈发送访问前端服务器的IP参数,CI协议栈将IP参数发送给客户端,客户端根据述IP参数访问前端服务器,发送获取电子节目菜单数据的请求消息,前端服务器根据该请求消息向客户端返回电子节目菜单数据,客户端将电子节目菜单数据发送给CI协议栈,CI协议栈再将电子节目菜单数据通过低速通信的方式发送给CAM卡。本实施例中,IP参数可参阅上述表1、2及3中的数据,此处不再赘述。本实施例中,CAM卡将电子节目菜单数据封装为统一格式,该统一格式不做限定,由开发人员自定义。在一优选的实施例中,在上述实施例的基础上,所述客户端用于对所述电子节目菜单数据进行CRC校正。本实施例中,在电子节目菜单数据在传输过程中可能会出错,本实施例对电子节目菜单数据进行CRC(CyclicRedundancyCheck,循环冗余校验码)校正,能够对电子节目菜单数据进行数据传输检错,以保证电子节目菜单数据传输的正确性和完整性。另外,本实施例将校正后的电子节目菜单数据存储于数字一体机的FLASH中。在一优选的实施例中,在上述实施例的基础上,所述当数字一体机在接收到进入电子节目菜单的指令时,根据所述进入电子节目菜单的指令获取所存储的电子节目菜单数据;根据所述电子节目菜单数据显示电子节目菜单。本实施例中,用户通过遥控器向数字一体机发送进入电子节目菜单的指令,数字一体机应用层的应用程序APK接收该指令,然后向应用框架层的管理模块TVManager发送获取电子节目菜单的请求,管理模块TVManager从数字一体机的FLASH中调取电子节目菜单数据,然后返回给应用层的应用程序APK,最终,数字一体机根据电子节目菜单数据显示电子节目菜单。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1