一种机顶盒中CA中间件的交互方法及设备与流程

文档序号:13476620阅读:277来源:国知局
本发明涉及通信
技术领域
:,特别涉及一种机顶盒中ca中间件的交互方法,还涉及一种机顶盒。
背景技术
::数字电视系统是一个从节目采集、节目制作节目传输直到用户端都以数字方式处理信号的端到端的系统。基于dvb技术标准的广播式和“交互式”数字电视.采用先进用户管理技术能将节目内容的质量和数量做得尽善尽美并为用户带来更多的节目选择和更好的节目质量效果,数字电视系统可以传送多种业务,如高清晰度电视、标准清晰度电视、互动电视及数据业务等。数字电视系统的ca(conditionalaccess,条件接收)是一种技术手段,它只允许被授权的用户使用某一业务,未经授权的用户不能使用这一业务。其基本流程为:ca过程通过cw控制字(节目流进行解扰的钥匙)将ts加密,终端通过它解密。前端将cw加密后送到终端。终端通过智卡解出cw控制字,并将控制字上送解码器以还原ts。在上述过程中,emm与ecm在ts流中传输,ecm的内容包含由sk加密的cw以及节目来源、时间、内容分类和节目价格等信息,emm的内容则包括pdk加密过的sk以及地址、用户授权信息(例如用户可以收看的节目或时间段,用户付的收视费等信息)。在现有技术中,适用于前端数字电视的ca系统存在多个,每个ca给出的移植接口各不相同,功能不尽相同。鉴于目前市场现状,机顶盒软件就得按照各个ca系统的移植文档做相应的移植,由于编程接口不相同,就会使得软件人员需要花费很大的精力对ca系统按照不同的厂商进行移植,从而影响机顶盒应用软件的推出速度。技术实现要素:本发明提供一种机顶盒中ca中间件的交互方法和设备,通过建立会话通道管理授权控制信息ecm、授权管理信息emm数据的获取实现解扰,应用端使用唯一功能接口,从而加快了机顶盒应用程序的移植速度。为了达到以上目的,本发明提供一种机顶盒中ca中间件的交互方法,其特征在于,所述ca中间件接收来自应用的pid信息,所述应用通过唯一接口将所述pid信息发送给所述ca中间件;所述ca中间件将所述pid信息发送给对应的ca系统,所述ca中间件通过多个接口分别与多个ca系统通信。另一方面,本申请实施例还提出了一种机顶盒,其特征在于,包括:第一接口模块,用于所述ca中间件接收来自应用的pid信息,所述应用通过唯一接口将所述pid信息发送给所述ca中间件;第二接口模块,用于所述ca中间件将所述pid信息发送给对应的ca系统,所述ca中间件通过多个接口分别与多个ca系统通信。与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:本申请实施例公开了一种机顶盒中ca中间件的交互方法,其特征在于,所述ca中间件接收来自应用的pid信息,所述应用通过唯一接口将所述pid信息发送给所述ca中间件;所述ca中间件将所述pid信息发送给对应的ca系统,所述ca中间件通过多个接口分别与多个ca系统通信。通过本申请实施例所提出的技术方案,应用通过唯一功能接口可以完成不同cas系统的解扰以及实现授权管理功能,提高应用移植性,从而保证不同平台功能的一致性。附图说明图1为本申请实施例中提供的一种会话通道建立方法流程示意图;图2为本申请实施例中提供了一种会话通道创建的模块关系示意图;图3为本申请实施例中提供了一种会话通道建立设备结构示意图。具体实施方式正如本申请
背景技术
:所陈述的,在现有的ca系统中,各个ca存在不同的移植接口,机顶盒软件需要按照各个ca系统的移植应用做相应的移植,且编程接口不同,缺少一种保证不同平台功能一致性的方案。有鉴于
背景技术
:中的问题,本申请提出了一种机顶盒中ca中间件的交互方法,该方法可以实现授权管理功能,保证了不同ca平台的一致性,进而解决了机顶盒应用软件推出速度的问题。如图1所示,为本申请实施例所提出的一种机顶盒中ca中间件的交互方法的流程示意图,所述方法应用于机顶盒中,该方法包括以下步骤:s101、所述ca中间件接收来自应用的pid信息,所述应用通过唯一接口将所述pid信息发送给所述ca中间件。具体的实施例中,该交互方法还包括如下步骤:s1011、注册与各会话类型对应的回调函数,所述会话类型包括授权控制信息ecm会话、授权管理信息emm会话以及系统会话;在注册与各会话类型对应的回调函数之前,还需要进行初始化处理。具体操作如下:操作一、对所述机顶盒的智能卡初始化处理;操作二、对解复用器demux(demultiplexe,解复用器)初始化处理,其中,demux主要作用是将多路信号分解恢复成多个原来信号的设备,软件中的demux是该设备的驱动参数设置接口;操作三、对事件event初始化处理。s1012所述应用通过所述回调函数检索内存中的控制字段,在检索到所述控制字段后将所述控制字段回调给所述应用。该控制字段是加密的,在上述应用中进行解码处理。另外本发明提供了一种唯一功能接口,该接口包括一种会话通道,以实现应用与ca中间件之间进行交互。具体的实施例中,创建会话通道的方法如下:创建与所述系统会话对应的会话通道并分配固定的会话标识,分配用于获取所述pid信息的主通道以及分配用于获取设置过滤条件的数据的子通道,并根据会话的数据结构、所述主通道标识以及所述子通道标识建立与所述ecm会话或所述emm会话对应的会话通道,并获取与所述ecm会话或所述emm会话对应的会话标识。需要说明的是,该初始化处理是在应用端调用之后进行的。需要说明的是,上述的情况差别在于所处的情景状态不同,在实际应用中,可以根据实际情况进行判断,这样的变化并不会影响本申请的保护范围。需要注意的是,所述会话通道标识用于识别当前会话通道。特别地,由于本会话类型是用来管理智能卡状态以及邮件、osd等功能,无需分配数据通道来获取数据。只需创建一个会话通道,此会话通道的标识是固定分配的,系统初始化只需要一个会话通道即可,无需反复创建销毁。上述方法中具体会话的数据结构包含:包标识符pid,三种会话类型(ecm、emm、system)以及源类型标识。其中,pid(packetidentifier,包标识符)是唯一标识包数据。源类型标识具有通用性。会话通道主要在于统一管理,可以节约资源,有利于提高播放加扰节目速度,避免资源。进一步,在创建与所述各类型会话对应的会话通道并分配对应的会话标识之后,还需要绑定事件到会话通道,具体如下:所述应用通过绑定事件到会话通道对所述emm会话对应的会话通道绑定邮件事件和屏幕显示信息osd事件,对所述ecm会话对应的会话通道绑定智能卡事件,对所述系统会话对应的会话通道绑定智能卡事件;若检测到有新事件发生时,则通过创建所述会话通道时注册的所述回调函数推送到所述应用。需要注意的是,会话通道状态包含创建、开始、启动等状态。例如在具体实施例中,会话通道的启动状态过程以及停止状态过程如下:启动过程:当需要启动ecm或emm对应的会话通道时,若会话通道的状态为非启动状态,则启动主通道和子通道获取相对应的ecm数据或emm数据,并更新会话通道的状态为启动状态;当需要启动系统会话对应的会话通道时,若会话通道的状态为非启动状态,更新会话通道状态为启动状态。停止过程:当需要停止ecm或emm对应的会话通道时,若会话通道的状态为非停止状态,则停止主通道和子通道获取相对应的ecm数据或emm数据,并更新会话通道的状态为停止状态;当需要停止系统会话对应的会话通道时,若会话通道的状态为非停止状态,更新会话通道的状态为停止状态。为了准确地对本发明技术方案进行阐述,首先将本申请方案中所涉及的技术术语介绍如下:回调函数:一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。在具体的应用场景中,所述给类型会话对应的回调函数具体有以下情况:a、所述ecm会话对应的回调函数包含事件类型(智能卡)、设置密钥标识;b、所述emm会话对应的回调函数包含事件类型(邮件、屏幕显示信息osd)、邮件到达标识、所述osd到达标识;c、所述系统会话对应的回调函数包含事件类型(智能卡)、智能卡移除、智能卡插入、智能卡错误、智能卡无授权。上述情况涉及的回调函数主要包括事件类型和事件标识两类,在具体的应用场景中,事件类型包含以下若干种:smartcard(智能卡)mall(邮件)osd(on-screendisplay,屏幕显示信息)demux(解复用器)事件标识包含以下若干种:smartcard(智能卡):removed、inserted、invalid、non_contract、set_keysmail(邮件):mail_arrivedosd(屏幕显示信息):osd_arriveddemux(解复用器):demux_timeout、null_session、packet_nocoming相应的,在实际的应用场景中,回调函数的c语言形式的如下:a、ecm类型会话相应的回调函数包含smartcard,设置key。b、emm类型会话相应的回调函数包含mail,osd,mail_arrived和osd_arrived。c、system类型会话相应的回调函数包含smartcard,smartcard_removed、smartcard_insert、smartcard_error、smartcard_non_contract。ecm(entitlementcontrolmessage):授权控制信息。ecm就是专用的条件接收信息,包含用来解扰的控制信息。emm(entitledmanagemessage):授权管理信息。用来解出每个频道的ecm信息,它一般定期或不定期地发给机顶盒的ic卡,它内含授权信息、账面的费用、个人管理信息等。s102、所述ca中间件将所述pid信息发送给对应的ca系统,所述ca中间件通过多个接口分别与多个ca系统通信。优选实施例中,多个接口主要在于数据的获取以及处理。所述ca中间件通过解复用demux过滤出对应的ca平台的所述ecm数据及所述emm数据;所述ecm数据与所述对应的ca平台的智能卡交互获取所述控制字段,所述emm数据解析出所述mall数据和所述osd数据。其中控制字段相当于一种密钥。另外,在实际的应用场景中,为了获取智能卡号和智能卡状态,对智能卡也会进行管理,通过接口获取智能卡插入、智能卡拔出、无效卡状态。并且监控智能卡状态,实时把状态信息通过会话通道事件管理模块通知用户获取显示。与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:本申请实施例公开了一种机顶盒中ca中间件的交互方法,其特征在于,所述ca中间件接收来自应用的pid信息,所述应用通过唯一接口将所述pid信息发送给所述ca中间件;所述ca中间件将所述pid信息发送给对应的ca系统,所述ca中间件通过多个接口分别与多个ca系统通信。通过本申请实施例所提出的技术方案,应用通过唯一功能接口可以完成不同cas系统的解扰以及实现授权管理功能,提高应用移植性,从而保证不同平台功能的一致性。为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。本发明实施例提供了一种机顶盒中ca中间件的交互方法,通过创建会话通道方式采用一种功能接口来管理ecm、emm数据获取并实现解扰以及给应用端提供ca应用的功能,例如邮件通知、osd通知以及智能卡状态等。对于邮件通知,用户如果需要处理邮件通知,需要在创建emm会话时注册邮件事件,当有邮件收到的时候会发出通知mail_arrived。用户可以根据通知获取当前邮件具体信息,并进行显示。对于osd通知,用户如果需要处理osd,需要在创建emm会话时注册osd事件,当有邮件收到的时候会发出osd_arrived通知。用户可以根据通知获取当前osd信息,并进行显示处理。机顶盒播放加密节目需要启动相应的cas系统,获取相应的ecm和emm数据信息,然后进行处理获取控制字对音视频进行解扰,并完成邮件,osd等数据的显示以及节目状态的显示。数字电视系统的ca(conditionalaccess,条件接收)是一种技术手段,它只允许被授权的用户使用某一业务,未经授权的用户不能使用这一业务。而加密节目的播放,需要机顶盒应用软件切换播放加扰电视节目,切换频点,或是前端pmt,cat数据变化时,提取ecm和emm信息,送给不同的ca系统,然后解出控制字(cw),根据控制字对音视频流进行解扰,实现音视频的播放。用户端播放加扰节目,每个ca各自有一套获取ecm,emm数据的机制,ecm,emm数据处理也是各自处理,卡状态是有智能卡管理模块来触发,节目没有授权以及无法观看信息每个ca系统都会有不同的处理方法。针对上述处理流程,在具体地应用场景中,本发明实施例中提供了一种会话通道创建模块,模块关系如图2所示,包括以下模块:a、初始化模块:智能卡初始化,demux初始化,事件event初始化。b、会话创建模块:包含emm、ecm和system会话创建。具体的创建会话的数据结构包含pid、三种会话类型(ecm,emm,system)、源类型标识(具有通用性)。事件类型主要包含:1、智能卡smartcard2、邮件mall3、屏幕信息显示osd4、解复用器demux事件标识主要包含:1、smartcard(智能卡):removed、inserted、invalid、non_contract、set_keys;2、mail(邮件):mail_arrived;3、osd(屏幕菜单式调节方式):osd_arrived;4、demux(解复用器):demux_timeout、null_session、packet_nocoming。基于上述具体实施例所提出的会话模型,该具体实施例中的会话创建模块内的工作步骤如下:1、根据会话类型注册相应的回调函数a、ecm类型会话:注册ecm的相关回调函数(包含事件类型smartcard、事件标识设置key标识);b、emm类型会话:注册emm的相关回调函数(包含事件类型mail和osd、事件标识mail_arrived和osd_arrived标识);c、system类型会话:注册system的相关回调函数(包含事件类型smartcard、事件标识smartcard_removed、smartcard_insert、smartcard_error、smartcard_non_contract)。2、创建会话功能:a、ecm或emm会话类型:首先检查会话状态,若不存在ecm或是emm会话,则分配一个主通道用来获取当前pid的数据。分配一个子通道用于获取设置过滤条件的数据。根据设置的会话的数据结构和分配的主通道和子通道标识来创建一个会话通道。会话通道状态机包含creat、start、stop三个状态。返回一个特定的会话通道标识,用于识别当前会话通道。会话通道统一管理,可以节约资源,有利于提高播放加扰节目速度,避免资源通道反复创建以及删除。b、system会话类型:由于本会话类型是用来管理智能卡状态以及邮件、osd等功能,无需分配数据通道来获取数据。只需创建一个会话通道,此会话通道的标识是固定分配的,系统初始化只需要一个会话通道即可,无需反复创建销毁。应用端会预先调用初始化模块和会话创建模块,此部分操作是在如图3所示系统结构中的中间层进行的。然后通过ecm会话注册的回调函数返给应用端cw,通过emm会话注册的回调函数返给应用mail和osd,通过system会话注册的回调函数返给应用卡状态以及节目状态。c、会话通道事件管理模块:包含初始化事件处理器、停止事件处理器、绑定事件到会话通道、解绑定会话通道事件。推送数据到事件处理器模块,应用端通过绑定事件到会话通道模块来对emm会话通道绑定mail和osd事件,对ecm会话通道绑定smartcard事件,对system会话通道绑定smartcard事件。会话通道事件管理的后台任务实时查询事件队列,检测到有事件发生就会通过创建会话通道时注册的回调函数推送到应用端。d、会话通道启动模块:检查会话通道状态,如果启动则返回。否则,若是ecm或是emm会话通道则启动数据获取主通道和子通道来获取ecm或emm数据。并更新会话通道状态为start状态。若是system会话通道只需更新会话通道状态为start状态。e、会话通道停止模块:检查会话通道状态,如果已经停止则返回。否则,若是ecm或是emm会话通道则停止数据获取主通道和子通道来获取ecm或emm数据。并更新会话通道状态为stop状态。若是system会话通道只需更新会话通道状态为stop状态。f、数据处理模块:通过处理ecm数据,与智能卡交互得到cw,推送数据到事件处理器模块。通过会话通道事件管理模块通知用户设置解扰器,并进行加扰节目的播放。通过处理emm数据,解析出mail和osd数据,推送数据到事件处理器模块。通过会话通道事件管理模块通知用户获取显示。g、智能卡管理模块:用于管理智能卡状态,可以通过接口获取智能卡插入、智能卡拔出、无效卡状态。并且监控智能卡状态,实时把状态信息通过会话通道事件管理模块通知用户获取显示。在本实施例中,部分技术名词以及术语解释如下:cas(conditionalaccesssystem):条件接收系统cas是指用来控制订户对广播服务或者节目进行接收的系统,cas能实现电视台各项业务的统一管理授权和控制。cw(controlword):控制字或密钥pmt(programmaptable):节目映射表cat(conditionalaccesstable):条件接收表ecm(entitlementcontrolmessage):授权控制信息emm(entitlementmanagementmessage):授权管理信息ts(transportstream):传输流demux(demultiplexe):解复用器。其主要作用是将多路信号分解恢复成多个原来信号的设备。软件中的demux是该设备的驱动参数设置接口。pid(packetidentifier):包标识符pid是唯一标识包数据。同一类型的包只有一个pid。pid是demux实现的基础,没有设置pid就无法过滤数据。section:即段section是一种用来把在所有的mpeg-2表和si表映射成ts包的语法结构。段的长度是可变的。除eit表外,每个表中的段限长为1024字节,但eit中的段限长4096字节。每一个段由以下元素的组合唯一标识:表标识符table_id表标识符扩展table_id_extentsion段号section_number版本号version_number当前后续指示符current_next_indicatorosd(onscreendisplay):即屏幕显示信息加扰:改变标准电视信号的特性,以防止非授权者接收到清晰的图像和伴音。这种改变应在加解扰系统控制下,在发送端按规定处理。加扰是通过控制字cw(controlword)对传输流进行顺序扰乱并按位加密的过程,而加密部分实际完成对控制字(cw)的保护。加密:在加解扰系统的发送端,将“与解扰相关的信息”用密码方式处理后传送,以防止非授权者直接利用该信息进行解扰。解扰:将被加扰的电视信号恢复成标准电视信号。这种恢复是在加解扰系统的控制下,在接收端按规定处理。解密:在加解扰系统的接收端,把“与解扰相关的信息”恢复原样,以供解扰。dvb(digitalvideobroadcasting,数字视频广播)同密技术:同密技术是指同一网络中多个不同的cas生产商使用一个通用加解扰算法和相同的控制字(controlword,cw),从而使得多个不同的cas一起工作的技术。dvb多密技术:多密技术是指使用一台机顶盒能够接收不同cas节目的技术。基于与上述方法同样的发明构思,本发明实施例中还提供了一种机顶盒中,如图3所示,包括:第一接口模块31,用于所述ca中间件接收来自应用的pid信息,所述应用通过唯一接口将所述pid信息发送给所述ca中间件;第二接口模块32,用于所述ca中间件将所述pid信息发送给对应的ca系统,所述ca中间件通过多个接口分别与多个ca系统通信。优选地,还包括:注册模块33,用于注册与各会话类型对应的回调函数,所述会话类型包括授权控制信息ecm会话、授权管理信息emm会话以及系统会话;检索模块34,用于所述应用通过所述回调函数检索内存中的控制字段,在检索到所述控制字段后将所述控制字段回调给所述应用。创建模块35,用于创建与所述系统会话对应的会话通道并分配固定的会话标识,分配用于获取所述pid信息的主通道以及分配用于获取设置过滤条件的数据的子通道,并根据会话的数据结构、所述主通道标识以及所述子通道标识建立与所述ecm会话或所述emm会话对应的会话通道,并获取与所述ecm会话或所述emm会话对应的会话标识;所述会话通道标识用于识别当前会话通道。绑定模块36,用于所述应用通过绑定事件到会话通道对所述emm会话对应的会话通道绑定邮件事件和屏幕显示信息osd事件,对所述ecm会话对应的会话通道绑定智能卡事件,对所述系统会话对应的会话通道绑定智能卡事件;若检测到有新事件发生时,则通过创建所述会话通道时注册的所述回调函数推送到所述应用。所述ca中间件通过解复用demux过滤出对应的ca平台的所述ecm数据及所述emm数据;所述ecm数据与所述对应的ca平台的智能卡交互获取所述控制字段,所述emm数据解析出所述mall数据和所述osd数据。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1