首页> 中国专利> 在主机设备和电子解扰设备之间传输视频流的方法和设备

在主机设备和电子解扰设备之间传输视频流的方法和设备

摘要

本发明涉及向USB软件狗的视频数据传输的领域。提供了一种将源于具有生产商ID的一个生产商的视频流从主机设备传输到负责解扰至少一个流的电子解扰设备的方法,所述主机设备包括控制器,该控制器包括批量管道输出传输和批量管道输入传输,包括如下步骤:‑针对每个生产商定义来自视频流的数据块,‑形成输出传输链,输出传输链包括与多个链输出描述符(oqTD)链接的链输出报头(oqH),第一链输出描述符指向包含至少一个生产商ID的输出描述分组,第二链输出描述符以及随后的链输出描述符指向数据块,每个数据块属于特定的生产商,并且最后一个链输出描述符用于生成中断,‑形成输入传输链,输入传输链包括与多个链输入描述符(iqTD)链接的链输入报头(iqH),每个链输入报头指向经解扰的数据块,‑请求控制器处理该链,‑通过电子解扰设备接收描述分组,并且识别与至少一个块相关联的密钥数据,‑使用密钥数据来解扰数据块,‑通过控制器经由批量管道输入接收经解扰的块,‑通过最后一个解扰块的接收来触发中断。

著录项

  • 公开/公告号CN107925782A

    专利类型发明专利

  • 公开/公告日2018-04-17

    原文格式PDF

  • 申请/专利权人 耐瑞唯信有限公司;

    申请/专利号CN201680050656.1

  • 发明设计人 法比安·格雷莫;

    申请日2016-08-29

  • 分类号

  • 代理机构北京银龙知识产权代理有限公司;

  • 代理人曾贤伟

  • 地址 瑞士舍索-苏尔-洛桑

  • 入库时间 2023-06-19 05:03:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-07

    授权

    授权

  • 2018-05-11

    实质审查的生效 IPC(主分类):H04N21/418 申请日:20160829

    实质审查的生效

  • 2018-04-17

    公开

    公开

说明书

引言

多媒体内容可以通过各种方式从供应商传输到终端客户。为了保护该有价值的内容,可以对内容进行加扰(加密)从而只有经授权的人能够访问它。

经加扰的多媒体内容的接收可以在不同的设备中完成,诸如个人计算机、平板设备、智能手机、或者可能不具有必要解扰(解密)能力以访问该内容的其他设备。

发明内容

在一个实施例中,电子解扰设备可以连接到主机设备并且用于解扰多媒体内容。电子解扰设备是包括经由通信端口与主机设备连接的电子芯片的便携式模块。它通常被称为“软件狗(dongle)”。电子芯片包括解扰引擎和暂时存储输入的数据块的存储器。根据特定实施例,电子解扰设备是USB软件狗,视频流是MPEG流。

当前,针对电子解扰设备的传输协议并不适于数据以与视频流兼容的比特速度的持续交换。它们被设计为适应存储数据的传输。为了解决这个问题,提出了一种通过连接到主机设备的电子解扰设备来解扰至少一个视频流的方法,该至少一个视频流源于具有生产商ID的至少一个生产商,所述主机设备包括控制器,所述控制器包括批量管道输出传输和批量管道输入传输,所述方法包括:在所述主机设备,

-针对每个生产商定义来自视频流的数据块,

-形成输出传输链,该输出传输链包括与多个链输出描述符(oqTD)链接的链输出报头(oqH),第一链输出描述符指向包含至少一个生产商ID的输出描述分组,第二链输出描述符以及随后的链输出描述符指向数据块,每个数据块属于特定的生产商,

-通过所述主机设备形成输入传输链,该输入传输链包括与多个链输入描述符(iqTD)链接的链输入报头(iqH),每个链输入描述符指向经解扰的数据块,并且最后一个链输入描述符用于生成中断,

-通过控制器将输出传输链传输到电子解扰设备,然后将经加扰的数据块传输到电子解扰设备,

在电子解扰设备:

-通过电子解扰设备接收描述分组,并且通过电子解扰设备识别与至少一个块相关联的密钥数据,

-使用密钥数据来解扰经加扰的数据块,

-将经解扰的数据返回到所述主机设备,

在主机设备:

-通过控制器接收输入传输链,从而等待来自电子解扰设备的块解扰数据,

-将接收到的经解扰的数据块存储在对应的链输入描述符(iqTD)指示的地址中,

-通过最后一个解扰块的接收来触发中断。

多媒体内容的格式优选是MPEG流。MPEG流通常包括各自具有不同分组标识符(PID)的几个子流。子流的示例是音频、视频、数据和说明文字。子流涉及来自信道的相同多媒体内容。MPEG流可以包括多个信道,每个子流的描述位于节目映射表(Program MapTable,PMT)中。就数据的加扰而言,加载到电子解扰设备中的密钥专用于子流并且使用生产商ID和PID来进行识别。

附图说明

得益于附图将更好地理解下面详细的描述,其中:

-图1示出主机设备与电子解扰设备连接的框图,

-图2示出根据本发明的一个示例链输入和链输出队列的格式。

-图3a示出传输链的第一实施例,

-图3b示出传输链的第二实施例,

-图4示出缓冲器中队列的管理,

-图5示出电子解扰设备中的模块的示例。

具体实施方式

图1示出本发明的一个实施例的不同组件。主机(其例如可以是家用多媒体接收器)包括多个层。顶层可以是TV本地应用。中间件层可以包括DVB中间件和媒体播放器模块。OS操作器可以是较低层,其包含负责执行本发明的一个实施例的流管理单元。通信层SoC可以被配置用于处理MPEG流,并且可以包括与电子解扰设备的通信模块(USB控制器)。在下面的描述中,电子解扰设备将称为“软件狗”。

图2描述用于控制器的链的格式化的一个示例,尤其是USB控制器。主机设备中的应用层接收MPEG流(或者多个MPEG流),并且为了指示USB控制器,设置链输入和链输出(CT)的格式。链输出开始于链输出报头(oqH),链输出报头(oqH)起到与链输出描述符(oqTD1至oqTDn)链接的作用。第一链输出描述符(oqTD1)指向包含至少一个生产商ID的输出描述分组。应用层负责组成多个链并且从MPEG流提取生产商ID。应用层然后将生产商ID加载在输出描述分组(oDP)中。

第一链输出描述符(odTD1)指向第二链输出描述符(odTD2)。第二链输出描述符(以及下面的链输出描述符)指向从MPEG流提取的数据块。处理MPEG流的应用层将流分为数据块,并且将它们以加载到链输出描述符中的地址加载到缓冲存储器中。

根据该链所处理的链输出描述符的最大数量,应用层能够将多于一个块加载在链中。

根据图3a和图3b的示例,当应用层处理多于一个MPEG流时,每个流的生产商ID被加载在输出描述符分组(oDP)中。图3b示出三个流被处理,并且生产商ID1、生产商ID2和生产商ID3被加载到输出描述符分组中。

形成第一数据块的MPTS1数据然后由第二链输出描述符(oqTD2)指出,形成第二数据块的MPTS2数据然后由第三链输出描述符(oqTD)指出,形成第三数据块的MPTS3数据然后由第四链输出描述符(oqTD1)指出。

应用层也配置链输入。链输入和链输出连接在一起并且形成单个事件。一经配置,应用层调用USB控制器来执行链操作。链输入是开始于与多个链输入描述符(iqTD)链接的链输入报头(iqH)的链。每个链输入描述符指向由USB软件狗的处理(即,解扰)产生的数据块。

当USB控制器接收到USB软件狗的处理数据的最后一个块时,最后一个链输入描述符(iqTDn)用于触发中断。

每个链输入描述符与MPEG流相关联。数据块的大小可以根据USB控制器的实施而改变。根据一个示例,数据块包括多个分组。每个分组代表USB事务。根据形成分组链的一个示例,除了最后一个分组以外,每个分组的大小等于标称尺寸(例如,512字节)。分组的非标称大小表示这是数据块的最后一个分组。这在图2中通过框DCo1至DCop示出。数据块的最后一个分组的大小不同于标称大小,因此表示它是数据块的最后一个分组。

根据实现的另一示例,链输出传输被配置为诸如将生产商ID置于数据块中,放置在第一分组中。生产商ID被放置在数据块的数据报头中,并且两者由USB控制器连接成串并且在单个USB事务中进行传输。

这是图3A中所示的情况。第一链输出描述符指向至少两个分组,一个是包含生产商ID的分组,第二个(以及另外的几个)是MPEG流的数据块分组。链输入与第一示例中的相同。

当USB控制器支持3a和3b两者时,3a和3b在它们相应的报头中分享共用字段,允许软件狗USB控制器区别描述符的3a链和3b链。这允许主机选择最有效的传输用于特定的处理。

链输出和链输入一经配置,USB控制器从应用层接收信号并且链被处理。到USB软件狗的传输由USB控制器例如使用批量输入与输出传输来执行。USB控制器按照指令激活并传输数据。

USB软件狗接收链输出并且从对应的分组获得生产商ID。利用生产商ID,USB软件狗可以获得与数据块对应的密钥数据。USB软件狗通过另一USB信道接收与MPEG流有关的密钥数据以继续。

USB软件狗包括填充有每个MPEG流的密钥数据的密钥表。根据第一示例,密钥表包括针对每个生产商ID的与该生产商有关的密钥数据。优选地,密钥数据包括奇密钥和偶密钥,一个当前正在使用,另一个为下一个密钥变化做准备。块数据中的一位表示当前密钥被使用。

在一个生产商ID与多个密钥数据相关联的情况下,该密钥表还可以包含分组标识符PID(或者节目ID)。该表如下:

生产商IDPID ID偶密钥奇密钥PRID1PID12PRID1PID15PRID2PID3PRID3PID10

密钥的值的示例是128位的伪随机数。

在上述示例中,生产商PRID1与MPEG流相关联,该MPEG流包括需要密钥数据进行解扰的两个子流。每个子流通过PID标识符或节目ID(在我们的示例中为PID12和PID15)来识别,每个子流与不同的密钥数据相关联。

密钥表由主机设备从授权服务器接收或者可以从一个或多个MPEG流进行提取。根据本发明的实施例,USB软件狗包括对于经加密的密钥数据进行解密所需要的密钥。经加密的密钥数据可以是由主机从MPEG流提取出的ECM(EntitleCOntrolMessage,权利控制消息)形式并且被传输到USB软件狗。

根据另一实施例,主机可以从授权服务器请求许可证文件,并且可以一旦从授权服务器接收许可证文件就将其传递到USB软件狗。许可证文件被解密并且密钥数据用于填充密钥表。USB软件狗可以包括对于经加密的密钥数据(许可证或ECM)进行解密的私钥。

一旦USB软件狗已经使用对应的密钥数据解扰数据块,经解扰的数据块就被发送到主机设备,尤其是USB控制器。后者将接收到的数据存储在第一链输出描述符中所指示的地址。因此,数据块DCo1由USB控制器传输到USB软件狗,并且当USB软件狗返回数据块DCi1时,USB控制器将它存储在第一链输入描述符iqTD1所指示的地址。

当最后一个数据链已经存储在队列的链中时,USB控制器启动中断以通知应用层。

应用层然后可以获得经解扰的数据块并且能够将它递送到诸如多媒体播放器的客户。

应当注意的是,如图4所示,MPEG流被加载在流缓冲器中。主机可以并行处理几个MPEG流,图4示出来自两个生产商(生产商#1、生产商#2)的两个MPEG流。应用层负责流缓冲器#1和流缓冲器#2的管理。缓冲器专用于一个生产商,并且应用层主要处理缓冲器的指针。缓冲器充满来自MPEG源的数据。当链输入和链输出被定义时,USB控制器处理数据块(生产商#1的块#1和生产商#2的块#2),使得能够并行处理多于一个MPEG源。客户正在使用缓冲架构并且处理它自己的指向经解扰数据的指针。

根据所示示例,流缓冲器对于加扰数据和解扰数据是相同的。然而,根据另一示例,经加扰的数据的缓冲器独立于经解扰的数据的缓冲器。在此情况下,USB控制器在从USB软件狗接收解扰块的同时将它们存储在缓冲器中。

链缓冲器的这种格式化和处理尤其适用于USB2.0传输。然而,基于如上所述的流缓冲器和链指针以及描述符,可以使用其他的协议层来传输数据。

图5示出软件狗的框图。软件狗包括四个主要模块:I/O接口模块、处理模块PRO_M、存储器MEM和解扰模块DES_M。

I/O接口可以与主机设备连接以经由专门的USB信号来接收数据。处理模块PRO_M负责引导数据流经由I/O接口进入和离开存储器MEM。存储器用作缓冲存储器并且指针(输入指针和输出指针)由处理模块来处理。数据块存储在存储器中,并且针对该块的指针被传送到解扰模块。处理模块还跟踪针对该数据块的生产商ID并且将相关密钥加载在解扰模块中。当块被解扰时,解扰模块存储经解扰的块并且向处理模块发送信号。然后指针被传送到I/O接口,该指针将经解扰的块按路线发送到I/O接口。处理模块负责执行链的指令。处理模块知道链的结构并且提取链的要素以便处理模块知道每个数据块与哪个生产商ID有关。为此,处理块与密钥存储器K_MEM连接以存储经由USB接口从主机设备接收的密钥。

根据另一实施例,密钥存储器K_MEM直接连接到解扰模块,并且当处理模块指示解扰通过生产商ID所识别的数据块时,该模块将所述生产商ID有关的密钥加载在密钥寄存器中。

虽然已经参考具体的示例实施例描述发明主题的总览,但是在不脱离本发明的各个实施例的更宽广精神和范围的情况下,对于这些实施例可以做出各种修改和改变。例如,可以将各种实施例或者它们的特征进行混合和匹配,或者通过本领域技术人员选择性地进行。发明主题的这样的实施例在此可以是指单独地或者共同地,通过术语“发明”仅是为了方便,而不是如果实际上所公开的不只一个,旨在将该申请的范围主动地限制在任何单个发明或者发明概念。

相信足够详细地描述在此所示的实施例,从而使得本领域技术人员能够实践在此所公开的教导。可以使用其他实施例以及从它们衍生的实施例,这样可以在不脱离本公开的范围的情况下做出结构化和逻辑的替换和改变。因此,详细的说明不应当被认为是限制性的,各个实施例的范围仅通过所附权利要求以及这样的权利要求有权的等同物的全部范围来进行限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号