一种对TS流进行解密的方法与流程

文档序号:15650067发布日期:2018-10-12 23:03阅读:219来源:国知局

本发明涉及数字多媒体技术领域,尤其涉及一种ts流处理方法及装置。



背景技术:

mpeg-2(基于数字存储媒体运动图像和语音的压缩标准)是iso/iec/jtc1/sc29/wg11制定的图像压缩标准,它是为了适应数字电视节目的生成、编辑、存储、传输和显示的综合要求而研发的,广泛用于数字电视广播和dvd。目前,多媒体节目如电视节目基本上都采用mpeg-2标准进行压缩、打包,形成ts流(transportstream,传输流),ts流经过信道编码和调制后发送到信道中,进行传输。

用户观看多媒体节目时,数字电视机根据用户所选择的多媒体节目对应的ts流的pid(packageidentification,包标识码),从众多ts流中提取出对应于用户所选择的多媒体节目的ts流,并对该ts流中的节目内容进行解密,经解密后的节目内容则可以播放,供用户观看。

随着数字多媒体的发展,用户在观看多媒体节目的同时,对播放录制功能(即在播放一路多媒体节目的同时录制另一路多媒体节目)、画中画功能(即同时播放至少两路多媒体节目)等的需求也逐渐增加,当用户提出播放录制功能或/和画中画功能时,数字电视机则需要提取两路多媒体节目的ts流,并对两路ts流中的节目内容进行解密,然而,现有的数字电视机在同一时间段只能对一路ts流进行解密,实现一路ts流对应的多媒体节目的播放或录制,而不能使用一个ci卡同时对两路ts流分别进行解密,进而不能实现两路ts流分别对应的多媒体节目的播放或录制。



技术实现要素:

本发明的目的在于提供一种ts流处理方法及装置,用于对两路ts流进行解密,实现两路ts流分别对应的多媒体节目的播放或录制。

为了实现上述目的,第一方面,本发明提供一种对于两路ts流的解密方法,该方法包括:

获取到第一路ts流和第二路ts流;

对来自于第一路ts流的第一类ts数据包和来自于第二路ts流中的第二类ts数据包进行区分标记;

使用一个ci卡,在一些时段解密第一类ts数据包,在另一些时段解密第二类ts数据包;

根据所述区分标记的规则,对解密后的第一类ts数据包和第二类ts数据包进行区分以用于形成两路节目输出。

在现有技术中,为了实现两路ts流分别对应的多媒体节目的播放或/和录制,通常在数字电视机中设置两个解密卡(ci卡),每个解密单元对一路目标ts流进行解密。而将本发明实施例提供的两路ts流解密方法应用于数字电视机时,由于将解码器输出的两路ts流中的ts数据包进行区分标记,并将区分标记的ts数据包都发送至用于解密的一个ci卡,进而在一个ci卡对ts数据包解密后再根据区分标记的规则,对解密后的区分标记的ts数据包进行重新区分用以形成两路节目输出。相当于使用一个ci卡以时分复用的方式对两路ts流进行解密,从而与现有技术相比省略了一个ci卡并同样能够保障对两路ts流进行解密和节目输出;采用本发明技术方案能够简化数字电视机的结构,降低数字电视机的成本。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为ts流数据格式说明示意图;

图2为本申请实施例提供的ts流解密硬件连接的一种示意图;

图3为本申请实施例提供的ts流解密硬件连接的另一种示意图;

图4为本申请实施例中两路ts流解密方法的步骤示意图。

具体实施方式

为了进一步说明本发明实施例提供的ts流处理方法及数字电视机,下面结合说明书附图进行详细描述。

现有技术中,当多个解码器分别输出加密的两路ts流时,需要设置两个ci卡分别对不同的加密的两路ts流;而本申请提供的方案,可以仅仅使用一个ci卡对加密的两路ts流进行解密,并在解密后将解密后的ts数据进行区分以形成两路节目。

首先,对ts流进行一个简单的介绍。ts流数字电视机顶盒接收到的是一段段的码流,每个ts流都携带一些信息,如video、audio以及我们需要学习的pat、pmt等信息。

ts流的构成如图1所示,ts流是基于包(数据包)的位流格式,每个包是188个字节,(或204个字节,在188个字节后加上了16字节的crc校验数据,其他格式一样)。

整体ts流组成形式如图1所示,其中packetheader(包头)信息说明如表1所示:

表1

其中,同步标识是mpeg-2ts传输标准下的传送标识符,其通常为固定值0x47;

pid信息是ts流中的唯一标识,ts流中数据包的内容由其决定,例如,如果一个ts流中的包的包头信息中pid是0x0000,那么这个包的数据就是dvb中的pat表。

本申请数字电视机的硬件框架图如图2所示。

该电视机包括解调器、存储模块、ci卡和soc芯片;其中,存储模块的输入端分别与解调器的输出端连接,存储模块的输出端与ci卡的输入端连接,ci卡的输出端与soc芯片的输入端连接,ci卡的控制端通过cmd接口与soc芯片连接。

当两路加密的ts流由demond(解码器)解码后输入到存储模块,在该存储模块对来自于两路ts流中的ts数据包分别进行区分标记,进而将区分标记后的ts数据包,可以按照先进先出的时间顺序,并基于一定的传输速率发送给ci卡,ci卡根据其预设的解密规则,对发来的ts数据包进行解密,并在解密后将解密后的ts数据包发送回存储模块,在存储模块中根据区分标记的规则将来自于两路ts流的ts数据包重新区分开,即恢复成原来的两路数据,然后进行后续的处理以形成两路节目输出。

进一步的,各个芯片之间通过iic控制协议进行信息交互,具体的,soc芯片通过iic控制demond(解调器),设置输出ts流的数据格式及需要解调的频道,demond通过iic控制tuner进行频道的选择,tuner将demond需求的频点通过if/iq信号传给demond进行解调;demond将解调后的加密的ts流(如图中ts1和ts2)发送至存储模块,存储模块将接收到的ts1和ts2中的ts数据包进行区分标记,以区分标记的ts数据包形成的新数据流发送至ci卡中,ci卡再对区分标记的ts数据包进行解密,并将解密后的ts数据包按照区分标记规则,加以区分并形成两路节目进行播放或/和录制。

进一步的if为中频信号,iq为基带信号,dvb-s2为卫星信号,dvb-t2为地面广播信号,dvb-c为有线信号,高频头用于接收上述dvb-s2、dvb-t2/c信号,并将接收到的信号发送至demond解调。

需要注意的是,如图2和图3所示,该存储模块可以是单独的模块,也可以内置到soc芯片中,其功能和作用类似,此处不做过多的赘述。

请参阅图4,本发明实施例提供的ts流处理方法包括:

步骤s1、对获取的两路ts流中的ts数据包进行区分标记。

举例来说,以数字电视为例进行说明,目前电视节目经压缩、打包形成的ts流通常经信道编码和调制后,形成射频信号发送到信道中进行传输,此时,接收的信号则为射频信号,每个射频信号对应一路ts流,每路ts流中又包括至少一路电视节目对应的单节目ts流,每路电视节目对应的单节目ts流均具有对应的pid。现实中,当接收到多个节目信号时,每个节目信号对应一路ts流,此时用户可能有同时观看节目和录制另一路节目的需求,这就需要同时对两路ts流进行解密。为了解密后能将来自于不同路的ts流的数据包进行有效地区分,需要在解密之前将不同路ts流中的ts数据包进行区分标记。

示例性的,可更改ts数据包的包头信息中的同步标识。固有的同步标识为0x47,可分别对不同ts流中ts数据包包头信息中的同步标识做不同的更改。例如,一路ts流中的ts数据包,其包头信息中同步标识可以更改为0x48;另一路则可以更改为0x49。

方便叙述起见,我们也可以将来自于其中一路ts流的ts数据包称为第一类ts数据包,将来自于另一路ts流的ts数据包称为第二类ts数据包。

步骤s2:将已经进行区分标记的第一类ts数据包和第二类ts数据包,以串行的方式发送至一个ci卡;该ci卡依次对接收到的数据包进行解密;也就是说,该ci卡是在一些时段解密第一类ts数据包,在另一些时段解密第二类ts数据包;

一种具体的情况为:已经进行区分标记的所述第一类ts数据包被置入第一,已经进行区分标记的所述第二类ts数据包被置入第二队列,从所述第一队列和所述第二队列交替取一个ts数据包发送给所述一个ci卡进行解密。可以简单的理解为该ci卡是时分复用。

由于ts流的解调速度等原因,可能会出现暂时的ts流不连续的情况,这就会导致第一队列或第二队列暂时没有ts数据包;为了同步的需要,若取ts数据包时,所述第一队列或所述第二队列当时的状态恰好为空,则向此时这个空的所述第一队列或所述第二队列添加一个带有区分标记的空包;空包在解密后没有内容。

但是,在ci卡开始工作时,第一次对第一队列的判断时,若第一队列没有ts数据包,则不必添加空包;只需要转向对第二队列进行判断即可,因为这只是相当于首先对第二队列进行判断而已,而第一队列、第二队列也只是相对的区分。因此具体执行的是下述实施例的步骤:

第一步:ci卡开始工作;判断第一队列是否有至少一个ts数据包;若有跳转至第二步,若无跳转至第三步;

第二步:取所述第一队列首个ts数据包在ci卡中进行解密,然后跳转至第三步;

第三步:判断第二队列是否有至少一个ts数据包;若有跳转至第四步,若无跳转至第五步;

第四步:取所述第二队列首个ts数据包在ci卡中进行解密;然后跳转至第六步;

第五步:向所述第二队列添加一个空的ts数据包在ci卡中进行解密;然后跳转至第六步;

第六步:判断第一队列是否有至少一个ts数据包;若有跳转至第二步,若无跳转至第七步;

第七步:向所述第一队列添加一个空的ts数据包在ci卡中进行解密;然后跳转至第三步。

步骤s3:根据所述区分标记的规则,对解密后的第一类ts数据包和第二类ts数据包进行区分以用于形成两路节目输出。

即,根据所述区分标记的规则,对解密后的第一类ts数据包和第二类ts数据包进行区分,恢复成原来的两路ts流,进行后续处理并形成两路节目输出。这两路节目可以分别用于节目直播和节目录制。

具体地,soc芯片接收ci卡发送的解密后的ts数据包,根据ts数据包的区分规则,对解密后的第一类ts数据包和第二类ts数据包区分开,以形成两路节目输出。示例性的,若采取更改包头信息中的同步标识,则将相同的同步标识的ts数据包按时间顺序排列成一路数据流,形成一路节目。例如,若之前输入的两路ts流,一路数据包包头信息中同步标识更改为0x48,另一路更改为0x49,则在解密后会将同步标识为0x48的ts数据包重新形成一路数据流输出,而将同步标识为0x49的ts数据包重新形成另一路数据流输出。

在本发明实施例提供的两路ts流解密方法中,根据用户选择的两路所需多媒体节目,分别获取各个多媒体节目对应的ts流,对该两路ts流中的每一路ts数据包分别进行区分标记,以对该两路ts流进行区分;进而,将区分标记之后的ts数据包发送至一个ci卡,该ci卡在不同的时间段分别对不同区分标记的ts数据包进行解密;最后,该ci卡将解密后的ts数据包按照预设的区分标记规则,重新拆分为多个数据流以形成对应的两路节目,以供用户满足同时观看和录制不同多媒体节目的功能,增加用户的体验和需求。

相比于现有技术中,为了实现两路ts流分别对应的多媒体节目的播放或/和录制,通常在数字电视机中设置多个解密卡(ci卡),每个解密单元对一路目标ts流进行解密。而将本发明实施例提供的两路ts流解密方法应用于数字电视机时,由于将解码器输出的两路ts流分别包含的两类ts数据包混合并在使用ci卡解密后分开,因此只需在数字电视机中设置一个ci卡就可实现对两路ts流同时进行解密,从而可以简化数字电视机的结构,降低数字电视机的成本。

由于可能出现队列中没有ts数据包的情形,因此本发明设计将来自于第一路ts流的ts数据包放入第一队列,将来自于第二路ts流的ts数据包放入第二队列,根据第一队列和第二队列中当前ts数据包的有无情况,取ts数据包发送至ci卡进行解密,ci卡刚开始工作的第一次对队列的判断该队列没有ts数据包则直接转向第二队列进行判断,之后交替对每个队列进行判断时,若该队列此时恰好没有ts数据包,则向该队列添加一个空包发送至ci卡进行解密,然后再转向另一个队列进行判断。

在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1