法律状态公告日
法律状态信息
法律状态
2017-08-18
未缴年费专利权终止 IPC(主分类):H04N21/2347 授权公告日:20130410 终止日期:20160701 申请日:20110701
专利权的终止
2013-04-10
授权
授权
2011-12-21
实质审查的生效 IPC(主分类):H04N21/2347 申请日:20110701
实质审查的生效
2011-11-09
公开
公开
技术领域
本发明涉及数字多媒体的视频编码技术领域,特别是涉及对数字式视频码流的加密方法。
背景技术
数字多媒体技术发展迅速,数字电视、网络流媒体以及移动多媒体服务将在不久的将来为人们提供丰富的音视频服务。为了保护节目制作商的制作版权,在向终端用户提供多媒体服务时,通常会对节目内容进行加扰处理,即将多媒体码流进行加扰(加密)处理。经过加扰处理后,终端用户向节目供应商支付了相应费用后,才能正常接收节目。否则,终端用户即无法收看节目。
目前,多媒体码流的加扰技术已经在数字电视系统中获得了广泛的应用,加扰技术也依据DVB标准得到了发展。虽然提供加扰算法的国内外企业非常多,但是这些加扰系统(CAS)及算法均遵循了DVB通用加扰算法,不同之处在与不同系统对于加扰控制字(CW)的处理方式。但是无论哪种CAS系统,对具体的多媒体码流数据进行处理的流程是相同的。
实际应用中,采用CAS系统对数据进行加扰处理后,通常在不同级别的网络传输中还需要对音视频内容进行修改。例如,对视频进行台标、字幕的插入等的再次处理。对于这类对音视频码流数据进行再次处理的需求,需要将加扰码流通过解扰器还原为解扰码流(未加扰码流、清流)。对解扰码流完成处理后,还需对解扰流进行再加扰处理,以保证节目供应和网络运营商的权益。由于构建CAS系统非常复杂,且成本高昂,因此再次加扰处理是目前多媒体应用中的一个难题。
发明内容
基于上述现有技术,本发明提出一种基于加扰∕解扰数据交错的视频加扰系统,针对符合MPEG标准,DVB标准以及ATSC标准的视频编码流,提出了基于加扰∕解扰数据交错的再次加扰技术,该系统不需与加扰机、CA系统以及加扰控制字(CW)等数据连接,即可使系统输出TS码流具备与系统输入TS相同的CA加扰特性。
本发明提出的一种基于加扰/解扰数据交错的视频加扰系统,该系统的输入为加扰的符合MPEG标准的TS码流;输出为基于加扰/解扰数据交错处理的加扰的符合MPEG标准的TS码流,输入信号一路送至CA解扰器,一路送至加扰流∕解扰流同步处理模块;CA解扰器输出端分别连接第一MPEG系统层解复用模块、加扰流∕解扰流同步处理模块;所述第一MPEG系统层解复用模块的两个输出端分别经过视频数据转码处理模块和音频数据转码处理模块连接至基于加∕解扰数据包交错的MPEG系统层解复用模块,所述加扰流∕解扰流同步处理模块的第一输出端经关键参数及数据包提取模块连接至所述基于加∕解扰数据包交错的MPEG系统层解复用模块,第二输出端经第二MPEG系统层解复用模块连接至所述基于加∕解扰数据包交错的MPEG系统层解复用模块,其中: CA解扰器,用于对CA码流进行解扰处理,且配置与输入码流相同CA类型的解扰大卡CAM; 第一MPEG系统层解复用模块,用于符合MPEG标准的系统层解复用处理,该模块的输入为CA解扰器输出的解扰码流,输出为音频、视频基本层码流; 视频数据转码处理模块、音频数据转码处理模块,分别用于对上述第一MPEG系统层解复用模解复用得到的视频、音频基本层码流进行转码处理,该转码处理包括:视频数据的码率变化、视频数据中的图标、字幕插入处理、视频数据的码流拼接处理、音频数据的采样率变换、音频数据的码率变换; 加扰流∕解扰流同步处理模块,用于该系统输入加扰数据流与CA解扰器输出解扰码流的同步处理,该模块的输入是加扰的符合MPEG标准的TS码流和CA解扰器输出的解扰码流,有两路输出:一路输出是同步后的加扰码流;另一路输出是同步后的解扰码流; 关键参数及数据包提取模块,用于对同步后的加扰码流∕解扰码流数据中的每个数据包进行分析,分析解扰码流中的每个数据包数据,在同步后的加扰码流中提取出该数据包加扰后的数据。该模块的输入是同步后的加扰∕解扰码流,输出是加扰的关键数据包;
第二MPEG系统层解复用模块,用于实现符合MPEG系统的系统层解复用处理,该模块的输入为所述加扰流∕解扰流同步处理模块输出的加扰流∕解扰流的同步处理结果,输出为加扰的音频、视频数据;输出的音频、视频基本码流将用于后续的转码、节目拼接,字幕∕图标插入处理;
基于加∕解扰数据包交错MPEG系统层复用模块,用于基于加∕解扰数据包交错完成符合MPEG系统层解复用处理,其输入为加扰的音频、视频数据,输出是再次加扰的MPEG传输流;采用加扰/解扰码流交错方法进行MPEG再次加扰,即重复使用加扰数据中的任何部分数据,使未加扰码流数据具备加扰性质;具备加扰性质的码流在采用解码终端进行解码时,必须获得合法的CA授权,才可正确解码,否则解码终端将出现无法解码或解码出现错误数据等现象。 所述加扰流∕解扰流同步处理模块的同步处理流程包括以下步骤: 步骤一,分别同时截取5M字节的加扰和解扰TS数据流;查询加扰TS数据流的0x47同步头,在数据流中连续查询50个PID!0x1FFF的TS包,记录此50个TS包相对于0x47同步头的位置,将该TS包的PID存储为PID0并计算每个相邻PID!=0x1FFF的TS中间的数据间隔,分别记录和存储为PID_INTER0 ~PID_INTER48; 步骤二,查询解扰TS码流的0x47同步头,在解扰数据中查询PID=PID0的TS包,记录为PID_NCA0找到PID_NCA0后,顺序查找后续的50个PID!=0x1FFF的TS包,并计算每个相邻PID!=0x1FFF的TS中间的数据间隔,分别记录和存储为PID1_NCA_INTER0 ~PID_NCA_INTER48,将PID_INTER0 ~PID_INTER48与PID1_NCA_INTER0 ~PID_NCA_INTER48比对,如所有间隔相同,则认为同步处理完成; 步骤三,如果执行步骤二后仍然无法完成同步,则在PID_NCA0后顺序查找下一PID=PID0的TS包,并更新为PID_NCA0,回退至步骤二,并完成后续比对处理,直到5M解扰TS数据中所有PID=PID0都被更新为PID_NCA0; 步骤四,如果执行步骤三后仍然无法完成同步,则在PID0后顺序查找下一PID!=0x1FFF的TS包,并更新为PID0,回退至步骤一,并完成后续比对处理,直到5M解扰TS数据中所有PID!=0x1FFF都被更新为PID0。
所述关键参数及数据包提取模块流程包括以下步骤: 步骤一、分析同步后的解扰码流中每个TS包中用于加扰的视频关键数据,包括数据位置;数据名称、比特数和提取数据量; 步骤二、在同步后的解扰码流中解析到上述数据后,在同步后的加扰码流中同步提取对应的TS数据包,包括以下流程:
如果同步后的解扰码流中的TS数据包个数大于或者等于16个,则设置同步后的加扰码流中进行匹配的TS数据包的起始包顺序号为倒数第8个数据包;否则,设置同步后的加扰码流中进行匹配的TS数据包的起始顺序号从头开始; 如果同步后的解扰码流中的TS数据包个数小于等于总的TS数据包个数减去8,则设置同步后的加扰码流中进行匹配的TS数据包的结束包顺序号为同步后的解扰码流中的TS数据包之后的8个数据包;否则,设置同步后的加扰码流中进行匹配的TS数据包的结束包顺序号为同步后的解扰码流中的TS数据包的最后一个包;
从同步后的加扰码流中进行匹配的TS数据包的起始到同步后的加扰码流中进行匹配的TS数据包的结束进行循环检测:
如果同步后的加扰数据包中的连续计数器数值等于解扰数据包中的连续计数器数值,则数据包匹配成功;否则,数据包匹配失败; 依据上述流程,依据同步后的加扰数据包的连续计数器数值con_conut_NCA在加扰码流中查询16个TS数据包,选择同步后的加扰数据包的连续计数器数值con_conut_CA与同步后的解扰数据包中的连续计数器con_conut_NCA同步后的解扰数据包中的连续计数器数值相等的数据包,作为待提取的同步后的加扰数据包。
所述基于加/解扰数据包交错MPEG系统层复用流程包括以下步骤: 分析解扰码流中每个TS包数据,以MPEG-2视频编码中的数列头SH为关键数据,查看该TS包是否包括SH起始码0x000001b3;在TS包中解析到起始码后,在该包中的后续数据中查找下一语法同步码NS 0x000001 ,记录TS包为TSsnca; 在同步后的加扰码流中的对应位置提取加扰TSsca数据包,判断TSsca与TSsnca是否具有相同的PID及continues_counter,如果相同即存储TSsca,否则视为解扰错误;
将未加扰的音∕视频数据,加扰的音∕视频数据,提取模块中获得的TSsca以及PTS数据、PCR数据等其他数据送入交错复用模块;本模块依据不同的设定,从上述的不同输入中选择需要复用至输出TS流的数据;
对于视频数据,交错复用算法包括以下步骤: 分析未加扰视频数据,定位SH数据起始位置,以SH起始位置为分割点,将分割点之前的视频数据复用为整数个TS数据包,记录最后一个TS包为TSsq; 在未加扰视频数据的SH后查询下一语法同步码NS,滤除SH数据起始点到下一语法同步码NS之间的视频数据;
在TSsq数据包关键数据提取后插入对应的TSsca,TS包的头部4个字节由交错复用模块产生,剩余184个字节根据不同关键数据的长度进行确定;如果SH共有10字节~138字节,由一个TS包承载;如果SH为132字节,则该加扰包的有效负荷即为132字节,剩余的字节全部置为0xff。
所述视频数据转码处理模块∕音频数据转码处理模块中分别可以处理的音频∕视频数据符合不同的编码标准,视频至少包括:MPEG-2,MPEG-4,H.264∕AVC,H.264 SVC,H.264 MVC以及AVS等各种视频编码标准;音频至少包括MPEG-2,AAC,dobly AC-3。
与现有技术相比,本发明不需再次构建CAS系统,即可完成解扰码流的再次处理;解决数字电视系统等多媒体系统实用中的一个难题,降低系统成本,提高我国在此技术领域的国际领先性;可以处理的音频∕视频数据符合不同的编码标准,视频至少包括:MPEG-2,MPEG-4,H.264∕AVC,H.264 SVC,H.264 MVC以及AVS等各种视频编码标准;音频至少包括MPEG-2,AAC,dobly AC-3。
附图说明
图1为基于加扰∕解扰数据交错的视频码流加扰处理系统模块图; 图2 MPEG系统层的交错复用流程; 图3数字电视系统中的加扰TS流台标及字幕插入系统。
具体实施方式
为了对解扰后的码流数据进行再次加扰,可以采用加扰数据∕解扰数据交错的方式完成,系统的处理流程如下图:
如图1所示,该系统的输入为加扰的MPEG传输流(如数字电视系统中的TS码流);而该系统的输出为基于加扰/解扰数据交错处理的加扰的MEPG传输流。下面分别B对本系统的各个模块的工作过程进行详述。本发明的基于加扰/解扰数据交错的视频编码加扰系统包括: CA解扰器1,该模块对符合DVB CA等相关标准的CA码流进行解扰处理,并且需要配置与输入码流相同CA类型的CAM(即,解扰大卡); 第一MPEG系统层解复用模块2,该模块完成符合MPEG系统层 ISO-13818-1 标准的系统层解复用处理,模块的输入为CA解扰器输出的解扰码流,输出为音频、视频基本层码流(ES);输出的音频、视频基本码流将用于后续的转码、节目拼接,字幕∕图标插入等处理; 视频数据转码处理模块3、音频数据转码处理模块4;这两个模块对上述第一MPEG系统层解复用模块2解复用得到的视频、音频数据进行处理;举例来说,典型处理包括:视频数据的码率变化、视频数据中的图标、字幕插入处理、视频数据的码流拼接处理、音频数据的采样率变换、音频数据的码率变换等。本发明所针对的加扰处理为MPEG系统层加扰处理,因此,视频数据转码处理模块∕音频数据转码处理模块中分别可以处理的音频∕视频数据可以符合不同的编码标准,视频如MPEG-2,MPEG-4,H.264∕AVC,H.264 SVC,H.264 MVC以及AVS等各种视频编码标准。音频如:MPEG-2,AAC,dobly AC-3等。如果这些不同的音∕视频编码标准采用了MPEG系统层进行复用和加扰,则本发明所提供的算法即可完成音视频处理后的再次加扰处理。
加扰流∕解扰流同步处理模块5,该模块完成加扰数据流与解扰数据流的精确同步处理:由于加扰流通过CA解扰器后会产生一定延时,且数据包的顺序也可能产生变化,因此需要将解扰后的数据包与输入数据包进行精确同步;
关键参数及数据包提取模块6,该模块完成对加扰∕解扰码流的同步处理后所得到的TS数据包对齐(各个TS数据包具有相同的PID)的加扰码流∕解扰码流数据中的每个数据包数据进行分析,在加扰码流的每个数据包中提取出该数据包加扰后的关键数据;
第二MPEG系统层解复用模块7,该模块完成符合MPEG系统层 ISO-13818-1 标准的系统层解复用处理,模块的输入为上述加扰流∕解扰流同步处理模块5输出的加扰流∕解扰流的同步处理结果,输出为加扰的音频、视频数据;输出的音频、视频基本码流将用于后续的转码、节目拼接,字幕∕图标插入等处理;
基于加∕解扰数据包交错MPEG系统层复用模块8,该模块基于加∕解扰数据包交错完成符合MPEG系统层 ISO-13818-1 标准的系统层解复用处理,其输入是加扰的音频、视频数据,输出是再次加扰的MPEG传输流。
该系统的关键模块的算法步骤详细介绍如下。 加扰流∕解扰流同步处理模块中,具体的同步算法包括以下步骤:
步骤一,分别同时截取5M字节的加扰和解扰TS数据流;查询加扰TS数据流的0x47(同步字),在数据流中连续查询50个PID!0x1FFF的TS包,记录此50个TS包相对于0x47同步头的位置,将该TS包的PID存储为PID0并计算每个相邻PID!=0x1FFF的TS中间的数据间隔,分别记录和存储为PID_INTER0 ~PID_INTER48; 步骤二,查询解扰TS码流的0x47同步头,在解扰数据中查询PID=PID0的TS包,记录为PID_NCA0找到PID_NCA0后,顺序查找后续的50个PID!=0x1FFF的TS包,并计算每个相邻PID!=0x1FFF的TS中间的数据间隔,分别记录和存储为PID1_NCA_INTER0 ~PID_NCA_INTER48,将PID_INTER0 ~PID_INTER48与PID1_NCA_INTER0 ~PID_NCA_INTER48比对,如所有间隔相同,则认为同步处理完成; 步骤三,如果执行步骤二后仍然无法完成同步,则在PID_NCA0后顺序查找下一PID=PID0的TS包,并更新为PID_NCA0,回退至步骤二,并完成后续比对处理,直到5M解扰TS数据中所有PID=PID0都被更新为PID_NCA0; 步骤四,如果执行步骤三后仍然无法完成同步,则在PID0后顺序查找下一PID!=0x1FFF的TS包,并更新为PID0,回退至步骤一,并完成后续比对处理,直到5M解扰TS数据中所有PID!=0x1FFF都被更新为PID0。 由于音频∕视频的转码等处理通常仅对音∕视频的内容和部分参数进行修改,而不对码流的头部信息进行修改。例如:对视频码流进行码率变换时,变换后的码流除去码率参数外,所有参数(包括空间分辨率、帧率等)均不变化。因此,可以在加扰码流中提取那些包含有关键参数的TS数据包,并将这些关键数据包插入到输出码流中,达到对系统输出数据加扰的目的。对于解码器来说,码流中所有参数都是必须获得的,如果部分参数数据由原加扰码流中提取出的加扰TS数据包表示,则解码器必须配备合法的CA解扰授权;否则,解码器无法正常解码。 关键参数及数据包提取模块,具体处理流程如下: 步骤一、分析解扰码流中每个TS包数据,以MPEG-2视频编码为例,查看该TS包是否包括下表中的关键数据,其他编码标准则依据标准提取相应的关键数据:
表1. 用于加扰的视频关键数据(MPEG-2视频标准)
注:使用其他音∕视频标准时,则选用不同的关键参数数据
表2. 用于加扰的视频关键数据(H.264∕AVC视频标准)
注:使用H.264∕AVC视频标准时,其头部信息多采用变字长编码方式,而且可选信息较多。若超过184字节,则有两种处理方法:1)另取含余下头部信息的184字节来进行处理;2)不考虑超过184字节的头部信息,直接使用184字节进行处理。
步骤二、在解扰码流中解析到上表中的数据后,需要在加扰码流中同步提取对应的TS数据包。由于解扰处理可能引起TS数据包顺序的微小变化,加扰TS包的提取采用下述算法:
如果解扰码流中的TS数据包个数大于或者等于16个,则设置加扰码流中进行匹配的TS数据包的起始包顺序号为倒数第8个数据包;否则,设置加扰码流中进行匹配的TS数据包的起始顺序号从头开始; 如果解扰码流中的TS数据包个数小于等于总的TS数据包个数减去8,则设置加扰码流中进行匹配的TS数据包的结束包顺序号为解扰码流中的TS数据包之后的8个数据包;否则,设置加扰码流中进行匹配的TS数据包的结束包顺序号为解扰码流中的TS数据包的最后一个包;
从加扰码流中进行匹配的TS数据包的起始到加扰码流中进行匹配的TS数据包的结束进行循环检测:
如果加扰数据包中的连续计数器数值等于解扰数据包中的连续计数器数值,则数据包匹配成功;否则,数据包匹配失败。
具体流程参考如下:
if(TSNum>=16)
begin = TSNum-8;
else
begin = TSNum;
if(TSNum<=Total_TS_Num-8)
end = TSNum+8;
else
end = TSNum;
index = begin;
for(index = begin; index<end; index++)
{
if((((con_conut_CA ==con_conut_NCA))
return 0; ∕∕数据包匹配成功
}
return 1; ∕∕数据包匹配失败
其中,TSNum为解扰码流中的TS包顺序号,begin和end顺序号分别给出了在加扰码流中进行匹配的TS包开始和结束顺序号。con_conut_CA 和con_conut_NCA分别为加扰数据包和解扰数据包中的连续计数器数值,该数值可以由解析TS包的头部信息得到。采用上述算法,可以依据con_conut_NCA在加扰码流中查询16个TS数据包,选择con_conut_CA与con_conut_NCA相等的数据包为待提取的加扰数据包。
基于加∕解扰数据包交错MPEG系统层复用流程如下:
分析解扰码流中每个TS包数据,以MPEG-2视频编码中的Sequence_Header(SH)为关键数据,查看该TS包是否包括SH起始码0x000001b3。在TS包中解析到起始码后,在该包中的后续数据中查找下一语法同步码 0x000001(NS) ,记录TS包为TSsnca;
在同步后的加扰码流中的对应位置提取加扰TSsca数据包,判断TSsca与TSsnca是否具有相同的PID及continues_counter,如果相同即存储TSsca,否则视为解扰错误;
将未加扰的音∕视频数据,加扰的音∕视频数据,提取模块中获得的TSsca以及PTS数据、PCR数据等其他数据送入交错复用模块。本模块依据不同的设定,从上述的不同输入中选择需要复用至输出TS流的数据。例如,如果系统仅对视频数据进行处理(在视频数据中叠加台标等),则交错复用模块选择由加扰音频数据和视频转码模块输出的未视频数据进行复用,这样,输出TS中的音频数据仍为加扰数据。对于视频数据,以SH参数为例,交错复用算法如图2:
分析未加扰视频数据,定位SH数据起始位置,以SH起始位置为分割点,将分割点之前的视频数据复用为整数个TS数据包,记录最后一个TS包为TSsq;
在未加扰视频数据的SH后查询下NS,滤除SH数据起始点到NS之间的视频数据;
在TSsq数据包关键数据提取后插入对应的TSsca,由于TS包的顺序由复用算法确定,TSsca无法直接被使用,TS包的头部4个字节由交错复用模块产生,剩余184个字节根据不同关键数据的长度进行确定。SH共有10字节~138字节,可以由一个TS包承载。如果SH为132字节,则该加扰包的有效负荷即为132字节,剩余的字节全部置为0xff。
根据MPEG系统层复用机制,将未加扰音视频及其他数据复用输出。
下面以数字电视系统中的加扰TS流台标及字幕插入系统为列,给出本发明的一种应用实例,系统处理框图如下。
如图3.所示,数字电视信号由卫星天线接收后送入卫星机顶盒,卫星机顶盒输出ASI接口形式的加扰TS码流,加扰TS码流进入CA大卡解扰系统的同时,也送入字幕插播服务器,字幕插播服务器采用专用数据接收板卡实时采集加扰和解扰的TS码流,并采用本专利提出的技术完成交错加扰处理。字幕插播服务器的输出通过QAM调制器后送入有线电视网络,由用户终端收看。
实验采用标准的解扰器,机顶盒及码流发送器等产品构建系统。分别对NDS,Irdeto以及conax等多种CA系统进行实验。将采用不同CA系统加扰后的TS码流通过解扰器解扰得到未加扰码流,根据本文提出的方案使用软件方式进行加扰。将加扰后的码流送入解扰器,对解扰器的输出进行码流分析,码流语法无错误。同时,使用机顶盒配合不同授权的CA卡进行实验。使用授权的CA卡时,可以正常解码播放节目,而未授权的CA卡无法播放节目。本实例中的技术已经在湖北当阳广电网络,辽宁广电网络,天津广电网络等多个省市级广播电视网络中运行,可以支持多种CA系统,证明了本发明的实用性。
本发明的有益效果:
多媒体服务的应用正在飞速发展,将在数字电视,移动多媒体以及网络流媒体等领域获得广泛的应用。保护媒体资源的技术—加扰技术将成为支撑多媒体应用的关键技术。 实际应用中,采用加扰系统(CAS)对数据进行加扰处理后,通常在不同级别的网络传输中还需要对音视频内容进行修改。例如,对视频进行台标、字幕的插入等处理。对于这类对音视频码流数据进行再次处理的需求。需要将加扰码流通过解扰器还原为解扰码流(未加扰码流或清流)。对解扰码流完成处理后,还需对解扰流进行再加扰处理,以保证节目供应和网络运营商的权益。由于构建CAS系统非常复杂,且成本高昂,因此再次加扰处理是目前多媒体应用中的一个难题。本发明提供的—“基于加扰∕解扰码流交错的MPEG码流加扰技术”可以完成高安全性的再次加扰处理,系统简单,成本低,避免了再次使用CA系统的CW和加扰机,系统更加稳定和可靠。系统的输出码流为加扰流格式,兼容源码流的各种CA参数,且已经在实际的数字电视网络中使用,将在数字多媒体系统中获得非常广泛的应用。
机译: 用于实现视频信号加扰和解扰的方法,系统,编码器,解码器,广播服务器和数据介质
机译: 对视频信号进行加扰和解扰的方法,系统,编码器,解码器,广播服务器和用于实现该方法的数据介质
机译: 为实现该方法而对视频信号进行加扰和解扰的方法,系统,编码器,解码器,广播服务器和数据介质