專(zhuān)利名稱:基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字多媒體的視頻編碼技術(shù)領(lǐng)域,特別是涉及對(duì)數(shù)字式視頻碼流的加密方法。
背景技術(shù):
數(shù)字多媒體技術(shù)發(fā)展迅速,數(shù)字電視、網(wǎng)絡(luò)流媒體以及移動(dòng)多媒體服務(wù)將在不久的將來(lái)為人們提供豐富的音視頻服務(wù)。為了保護(hù)節(jié)目制作商的制作版權(quán),在向終端用戶提供多媒體服務(wù)時(shí),通常會(huì)對(duì)節(jié)目?jī)?nèi)容進(jìn)行加擾處理,即將多媒體碼流進(jìn)行加擾(加密)處理。經(jīng)過(guò)加擾處理后,終端用戶向節(jié)目供應(yīng)商支付了相應(yīng)費(fèi)用后,才能正常接收節(jié)目。否則, 終端用戶即無(wú)法收看節(jié)目。目前,多媒體碼流的加擾技術(shù)已經(jīng)在數(shù)字電視系統(tǒng)中獲得了廣泛的應(yīng)用,加擾技術(shù)也依據(jù)DVB標(biāo)準(zhǔn)得到了發(fā)展。雖然提供加擾算法的國(guó)內(nèi)外企業(yè)非常多,但是這些加擾系統(tǒng)(CAQ及算法均遵循了 DVB通用加擾算法,不同之處在與不同系統(tǒng)對(duì)于加擾控制字(CW) 的處理方式。但是無(wú)論哪種CAS系統(tǒng),對(duì)具體的多媒體碼流數(shù)據(jù)進(jìn)行處理的流程是相同的。實(shí)際應(yīng)用中,采用CAS系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行加擾處理后,通常在不同級(jí)別的網(wǎng)絡(luò)傳輸中還需要對(duì)音視頻內(nèi)容進(jìn)行修改。例如,對(duì)視頻進(jìn)行臺(tái)標(biāo)、字幕的插入等的再次處理。對(duì)于這類(lèi)對(duì)音視頻碼流數(shù)據(jù)進(jìn)行再次處理的需求,需要將加擾碼流通過(guò)解擾器還原為解擾碼流 (未加擾碼流、清流)。對(duì)解擾碼流完成處理后,還需對(duì)解擾流進(jìn)行再加擾處理,以保證節(jié)目供應(yīng)和網(wǎng)絡(luò)運(yùn)營(yíng)商的權(quán)益。由于構(gòu)建CAS系統(tǒng)非常復(fù)雜,且成本高昂,因此再次加擾處理是目前多媒體應(yīng)用中的一個(gè)難題。
發(fā)明內(nèi)容
基于上述現(xiàn)有技術(shù),本發(fā)明提出一種基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng), 針對(duì)符合MPEG標(biāo)準(zhǔn),DVB標(biāo)準(zhǔn)以及ATSC標(biāo)準(zhǔn)的視頻編碼流,提出了基于加擾/解擾數(shù)據(jù)交錯(cuò)的再次加擾技術(shù),該系統(tǒng)不需與加擾機(jī)、CA系統(tǒng)以及加擾控制字(CW)等數(shù)據(jù)連接,即可使系統(tǒng)輸出TS碼流具備與系統(tǒng)輸入TS相同的CA加擾特性。本發(fā)明提出的一種基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng),該系統(tǒng)的輸入為加擾的符合MPEG標(biāo)準(zhǔn)的TS碼流;輸出為基于加擾/解擾數(shù)據(jù)交錯(cuò)處理的加擾的符合MPEG標(biāo)準(zhǔn)的TS碼流,輸入信號(hào)一路送至CA解擾器,一路送至加擾流/解擾流同步處理模塊;CA解擾器輸出端分別連接第一 MPEG系統(tǒng)層解復(fù)用模塊、加擾流/解擾流同步處理模塊;所述第一 MPEG系統(tǒng)層解復(fù)用模塊的兩個(gè)輸出端分別經(jīng)過(guò)視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊和音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊連接至基于加/解擾數(shù)據(jù)包交錯(cuò)的MPEG系統(tǒng)層解復(fù)用模塊,所述加擾流/解擾流同步處理模塊的第一輸出端經(jīng)關(guān)鍵參數(shù)及數(shù)據(jù)包提取模塊連接至所述基于加/解擾數(shù)據(jù)包交錯(cuò)的MPEG系統(tǒng)層解復(fù)用模塊,第二輸出端經(jīng)第二 MPEG系統(tǒng)層解復(fù)用模塊連接至所述基于加/解擾數(shù)據(jù)包交錯(cuò)的MPEG系統(tǒng)層解復(fù)用模塊,其中CA解擾器,用于對(duì)CA碼流進(jìn)行解擾處理,且配置與輸入碼流相同CA類(lèi)型的解擾大卡CAM ;第一 MPEG系統(tǒng)層解復(fù)用模塊,用于符合MPEG標(biāo)準(zhǔn)的系統(tǒng)層解復(fù)用處理,該模塊的輸入為CA解擾器輸出的解擾碼流,輸出為音頻、視頻基本層碼流;視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊、音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊,分別用于對(duì)上述第一 MPEG系統(tǒng)層解復(fù)用模解復(fù)用得到的視頻、音頻基本層碼流進(jìn)行轉(zhuǎn)碼處理, 該轉(zhuǎn)碼處理包括視頻數(shù)據(jù)的碼率變化、視頻數(shù)據(jù)中的圖標(biāo)、字幕插入處理、視頻數(shù)據(jù)的碼流拼接處理、音頻數(shù)據(jù)的采樣率變換、音頻數(shù)據(jù)的碼率變換;加擾流/解擾流同步處理模塊,用于該系統(tǒng)輸入加擾數(shù)據(jù)流與CA解擾器輸出解擾碼流的同步處理,該模塊的輸入是加擾的符合MPEG標(biāo)準(zhǔn)的TS碼流和CA解擾器輸出的解擾碼流,有兩路輸出一路輸出是同步后的加擾碼流;另一路輸出是同步后的解擾碼流;關(guān)鍵參數(shù)及數(shù)據(jù)包提取模塊,用于對(duì)同步后的加擾碼流/解擾碼流數(shù)據(jù)中的每個(gè)數(shù)據(jù)包進(jìn)行分析,分析解擾碼流中的每個(gè)數(shù)據(jù)包數(shù)據(jù),在同步后的加擾碼流中提取出該數(shù)據(jù)包加擾后的數(shù)據(jù)。該模塊的輸入是同步后的加擾/解擾碼流,輸出是加擾的關(guān)鍵數(shù)據(jù)包;
第二 MPEG系統(tǒng)層解復(fù)用模塊,用于實(shí)現(xiàn)符合MPEG系統(tǒng)的系統(tǒng)層解復(fù)用處理,該模塊的輸入為所述加擾流/解擾流同步處理模塊輸出的加擾流/解擾流的同步處理結(jié)果,輸出為加擾的音頻、視頻數(shù)據(jù);輸出的音頻、視頻基本碼流將用于后續(xù)的轉(zhuǎn)碼、節(jié)目拼接,字幕/圖標(biāo)插入處理;
基于加/解擾數(shù)據(jù)包交錯(cuò)MPEG系統(tǒng)層復(fù)用模塊,用于基于加/解擾數(shù)據(jù)包交錯(cuò)完成符合MPEG系統(tǒng)層解復(fù)用處理,其輸入為加擾的音頻、視頻數(shù)據(jù),輸出是再次加擾的MPEG 傳輸流;采用加擾/解擾碼流交錯(cuò)方法進(jìn)行MPEG再次加擾,即重復(fù)使用加擾數(shù)據(jù)中的任何部分?jǐn)?shù)據(jù),使未加擾碼流數(shù)據(jù)具備加擾性質(zhì);具備加擾性質(zhì)的碼流在采用解碼終端進(jìn)行解碼時(shí),必須獲得合法的CA授權(quán),才可正確解碼,否則解碼終端將出現(xiàn)無(wú)法解碼或解碼出現(xiàn)錯(cuò)誤數(shù)據(jù)等現(xiàn)象。所述加擾流/解擾流同步處理模塊的同步處理流程包括以下步驟 步驟一,分別同時(shí)截取5M字節(jié)的加擾和解擾TS數(shù)據(jù)流;查詢加擾TS數(shù)據(jù)流的0x47同步頭,在數(shù)據(jù)流中連續(xù)查詢50個(gè)PID ! OxlFFF的TS包,記錄此50個(gè)TS包相對(duì)于0x47同步頭的位置,將該TS包的PID存儲(chǔ)為PIDO并計(jì)算每個(gè)相鄰PID ! =OxlFFF的TS中間的數(shù)據(jù)間隔,分別記錄和存儲(chǔ)為PID_INTER0 >ID_INTER48 ;步驟二,查詢解擾TS碼流的0x47同步頭,在解擾數(shù)據(jù)中查詢PID=PIDO的TS包,記錄為PID_NCA0找到PID_NCA0后,順序查找后續(xù)的50個(gè)PID ! =OxlFFF的TS包,并計(jì)算每個(gè)相鄰PID ! =OxlFFF的TS中間的數(shù)據(jù)間隔,分別記錄和存儲(chǔ)為 PID1_NCA_INTER0 >ID_NCA_INTER48,將PID_INTER0 >ID_INTER48 與PID1_NCA_INTER0 >ID_NCA_INTER48比對(duì),如所有間隔相同,則認(rèn)為同步處理完成;步驟三,如果執(zhí)行步驟二后仍然無(wú)法完成同步,則在PID_NCA0后順序查找下一PID=PIDO的TS 包,并更新為PID_NCA0,回退至步驟二,并完成后續(xù)比對(duì)處理,直到5M解擾TS數(shù)據(jù)中所有 PID=PIDO都被更新為PID_NCA0 ;步驟四,如果執(zhí)行步驟三后仍然無(wú)法完成同步,則在PIDO 后順序查找下一 PID ! =OxlFFF的TS包,并更新為PID0,回退至步驟一,并完成后續(xù)比對(duì)處理,直到5M解擾TS數(shù)據(jù)中所有PID ! =OxlFFF都被更新為PIDO。 所述關(guān)鍵參數(shù)及數(shù)據(jù)包提取模塊流程包括以下步驟步驟一、分析同步后的解擾碼流中每個(gè)TS包中用于加擾的視頻關(guān)鍵數(shù)據(jù),包括數(shù)據(jù)位置;數(shù)據(jù)名稱、比特?cái)?shù)和提取數(shù)據(jù)量;步驟二、在同步后的解擾碼流中解析到上述數(shù)據(jù)后,在同步后的加擾碼流中同步提取對(duì)應(yīng)的TS數(shù)據(jù)包,包括以下流程
如果同步后的解擾碼流中的TS數(shù)據(jù)包個(gè)數(shù)大于或者等于16個(gè),則設(shè)置同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的起始包順序號(hào)為倒數(shù)第8個(gè)數(shù)據(jù)包;否則,設(shè)置同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的起始順序號(hào)從頭開(kāi)始; 如果同步后的解擾碼流中的 TS數(shù)據(jù)包個(gè)數(shù)小于等于總的TS數(shù)據(jù)包個(gè)數(shù)減去8,則設(shè)置同步后的加擾碼流中進(jìn)行匹配的 TS數(shù)據(jù)包的結(jié)束包順序號(hào)為同步后的解擾碼流中的TS數(shù)據(jù)包之后的8個(gè)數(shù)據(jù)包;否則,設(shè)置同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的結(jié)束包順序號(hào)為同步后的解擾碼流中的TS 數(shù)據(jù)包的最后一個(gè)包;
從同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的起始到同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的結(jié)束進(jìn)行循環(huán)檢測(cè)
如果同步后的加擾數(shù)據(jù)包中的連續(xù)計(jì)數(shù)器數(shù)值等于解擾數(shù)據(jù)包中的連續(xù)計(jì)數(shù)器數(shù)值, 則數(shù)據(jù)包匹配成功;否則,數(shù)據(jù)包匹配失敗;依據(jù)上述流程,依據(jù)同步后的加擾數(shù)據(jù)包的連續(xù)計(jì)數(shù)器數(shù)值COn_COnut_NCA在加擾碼流中查詢16個(gè)TS數(shù)據(jù)包,選擇同步后的加擾數(shù)據(jù)包的連續(xù)計(jì)數(shù)器數(shù)值COn_COnut_CA與同步后的解擾數(shù)據(jù)包中的連續(xù)計(jì)數(shù)器COn_COnUt_ NCA同步后的解擾數(shù)據(jù)包中的連續(xù)計(jì)數(shù)器數(shù)值相等的數(shù)據(jù)包,作為待提取的同步后的加擾數(shù)據(jù)包。所述基于加/解擾數(shù)據(jù)包交錯(cuò)MPEG系統(tǒng)層復(fù)用流程包括以下步驟分析解擾碼流中每個(gè)TS包數(shù)據(jù),以MPEG-2視頻編碼中的數(shù)列頭SH為關(guān)鍵數(shù)據(jù),查看該TS包是否包括 SH起始碼0x000001b3 ;在TS包中解析到起始碼后,在該包中的后續(xù)數(shù)據(jù)中查找下一語(yǔ)法同步碼NS 0x000001,記錄TS包為T(mén)Ssnca ;在同步后的加擾碼流中的對(duì)應(yīng)位置提取加擾 TSsca數(shù)據(jù)包,判斷I^sca與TSsnca是否具有相同的PID及continues_counter,如果相同即存儲(chǔ)TSsca,否則視為解擾錯(cuò)誤;
將未加擾的音/視頻數(shù)據(jù),加擾的音/視頻數(shù)據(jù),提取模塊中獲得的TSsca以及PTS數(shù)據(jù)、PCR數(shù)據(jù)等其他數(shù)據(jù)送入交錯(cuò)復(fù)用模塊;本模塊依據(jù)不同的設(shè)定,從上述的不同輸入中選擇需要復(fù)用至輸出TS流的數(shù)據(jù);
對(duì)于視頻數(shù)據(jù),交錯(cuò)復(fù)用算法包括以下步驟分析未加擾視頻數(shù)據(jù),定位SH數(shù)據(jù)起始位置,以SH起始位置為分割點(diǎn),將分割點(diǎn)之前的視頻數(shù)據(jù)復(fù)用為整數(shù)個(gè)TS數(shù)據(jù)包,記錄最后一個(gè)TS包為T(mén)Ssq ;在未加擾視頻數(shù)據(jù)的SH后查詢下一語(yǔ)法同步碼NS,濾除SH數(shù)據(jù)起始點(diǎn)到下一語(yǔ)法同步碼NS之間的視頻數(shù)據(jù);
在TSsq數(shù)據(jù)包關(guān)鍵數(shù)據(jù)提取后插入對(duì)應(yīng)的TSsca,TS包的頭部4個(gè)字節(jié)由交錯(cuò)復(fù)用模塊產(chǎn)生,剩余184個(gè)字節(jié)根據(jù)不同關(guān)鍵數(shù)據(jù)的長(zhǎng)度進(jìn)行確定;如果SH共有10字節(jié) 138字節(jié),由一個(gè)TS包承載;如果SH為132字節(jié),則該加擾包的有效負(fù)荷即為132字節(jié),剩余的字節(jié)全部置為Oxff。所述視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊/音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊中分別可以處理的音頻/ 視頻數(shù)據(jù)符合不同的編碼標(biāo)準(zhǔn),視頻至少包括MPEG-2,MPEG-4,H. 264 / AVC, H. 264 SVC, H. 264 MVC以及AVS等各種視頻編碼標(biāo)準(zhǔn);音頻至少包括MPEG-2,AAC, dobIy ACS0與現(xiàn)有技術(shù)相比,本發(fā)明不需再次構(gòu)建CAS系統(tǒng),即可完成解擾碼流的再次處理;解決數(shù)字電視系統(tǒng)等多媒體系統(tǒng)實(shí)用中的一個(gè)難題,降低系統(tǒng)成本,提高我國(guó)在此技術(shù)領(lǐng)域的國(guó)際領(lǐng)先性;可以處理的音頻/視頻數(shù)據(jù)符合不同的編碼標(biāo)準(zhǔn),視頻至少包括 MPEG-2, MPEG-4, H. 264 / AVC, H. 264 SVC, H. 264 MVC 以及 AVS 等各種視頻編碼標(biāo)準(zhǔn);音頻至少包括 MPEG-2,AAC, dobIy AC-3。
圖1為基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻碼流加擾處理系統(tǒng)模塊圖;圖2 MPEG系統(tǒng)層的交錯(cuò)復(fù)用流程;圖3數(shù)字電視系統(tǒng)中的加擾TS流臺(tái)標(biāo)及字幕插入系統(tǒng)。
具體實(shí)施例方式為了對(duì)解擾后的碼流數(shù)據(jù)進(jìn)行再次加擾,可以采用加擾數(shù)據(jù)/解擾數(shù)據(jù)交錯(cuò)的方式完成,系統(tǒng)的處理流程如下圖
如圖1所示,該系統(tǒng)的輸入為加擾的MPEG傳輸流(如數(shù)字電視系統(tǒng)中的TS碼流);而該系統(tǒng)的輸出為基于加擾/解擾數(shù)據(jù)交錯(cuò)處理的加擾的MEPG傳輸流。下面分別B對(duì)本系統(tǒng)的各個(gè)模塊的工作過(guò)程進(jìn)行詳述。本發(fā)明的基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻編碼加擾系統(tǒng)包括CA解擾器1,該模塊對(duì)符合DVB CA等相關(guān)標(biāo)準(zhǔn)的CA碼流進(jìn)行解擾處理,并且需要配置與輸入碼流相同CA類(lèi)型的CAM (S卩,解擾大卡);第一 MPEG系統(tǒng)層解復(fù)用模塊2,該模塊完成符合MPEG系統(tǒng)層IS0-13818-1標(biāo)準(zhǔn)的系統(tǒng)層解復(fù)用處理,模塊的輸入為CA解擾器輸出的解擾碼流,輸出為音頻、視頻基本層碼流(ES);輸出的音頻、視頻基本碼流將用于后續(xù)的轉(zhuǎn)碼、節(jié)目拼接,字幕/圖標(biāo)插入等處理;視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊3、音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊4 ;這兩個(gè)模塊對(duì)上述第一 MPEG系統(tǒng)層解復(fù)用模塊2解復(fù)用得到的視頻、音頻數(shù)據(jù)進(jìn)行處理;舉例來(lái)說(shuō),典型處理包括視頻數(shù)據(jù)的碼率變化、視頻數(shù)據(jù)中的圖標(biāo)、字幕插入處理、 視頻數(shù)據(jù)的碼流拼接處理、音頻數(shù)據(jù)的采樣率變換、音頻數(shù)據(jù)的碼率變換等。本發(fā)明所針對(duì)的加擾處理為MPEG系統(tǒng)層加擾處理,因此,視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊/音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊中分別可以處理的音頻/視頻數(shù)據(jù)可以符合不同的編碼標(biāo)準(zhǔn),視頻如MPEG-2,MPEG-4, H. 264 / AVC, H. 264 SVC, H. 264 MVC 以及 AVS 等各種視頻編碼標(biāo)準(zhǔn)。音頻如MPEG_2,AAC, dobly AC-3等。如果這些不同的音/視頻編碼標(biāo)準(zhǔn)采用了 MPEG系統(tǒng)層進(jìn)行復(fù)用和加擾,則本發(fā)明所提供的算法即可完成音視頻處理后的再次加擾處理。加擾流/解擾流同步處理模塊5,該模塊完成加擾數(shù)據(jù)流與解擾數(shù)據(jù)流的精確同步處理由于加擾流通過(guò)CA解擾器后會(huì)產(chǎn)生一定延時(shí),且數(shù)據(jù)包的順序也可能產(chǎn)生變化, 因此需要將解擾后的數(shù)據(jù)包與輸入數(shù)據(jù)包進(jìn)行精確同步;
關(guān)鍵參數(shù)及數(shù)據(jù)包提取模塊6,該模塊完成對(duì)加擾/解擾碼流的同步處理后所得到的 TS數(shù)據(jù)包對(duì)齊(各個(gè)TS數(shù)據(jù)包具有相同的PID)的加擾碼流/解擾碼流數(shù)據(jù)中的每個(gè)數(shù)據(jù)包數(shù)據(jù)進(jìn)行分析,在加擾碼流的每個(gè)數(shù)據(jù)包中提取出該數(shù)據(jù)包加擾后的關(guān)鍵數(shù)據(jù);
第二 MPEG系統(tǒng)層解復(fù)用模塊7,該模塊完成符合MPEG系統(tǒng)層IS0-13818-1標(biāo)準(zhǔn)的系統(tǒng)層解復(fù)用處理,模塊的輸入為上述加擾流/解擾流同步處理模塊5輸出的加擾流/解擾流的同步處理結(jié)果,輸出為加擾的音頻、視頻數(shù)據(jù);輸出的音頻、視頻基本碼流將用于后續(xù)的轉(zhuǎn)碼、節(jié)目拼接,字幕/圖標(biāo)插入等處理;
基于加/解擾數(shù)據(jù)包交錯(cuò)MPEG系統(tǒng)層復(fù)用模塊8,該模塊基于加/解擾數(shù)據(jù)包交錯(cuò)完成符合MPEG系統(tǒng)層IS0-13818-1標(biāo)準(zhǔn)的系統(tǒng)層解復(fù)用處理,其輸入是加擾的音頻、視頻數(shù)據(jù),輸出是再次加擾的MPEG傳輸流。該系統(tǒng)的關(guān)鍵模塊的算法步驟詳細(xì)介紹如下。加擾流/解擾流同步處理模塊中,具體的同步算法包括以下步驟
步驟一,分別同時(shí)截取5M字節(jié)的加擾和解擾TS數(shù)據(jù)流;查詢加擾TS數(shù)據(jù)流的0x47 (同步字),在數(shù)據(jù)流中連續(xù)查詢50個(gè)PID ! OxlFFF的TS包,記錄此50個(gè)TS包相對(duì)于 0x47同步頭的位置,將該TS包的PID存儲(chǔ)為PIDO并計(jì)算每個(gè)相鄰PID ! =OxlFFF的TS 中間的數(shù)據(jù)間隔,分別記錄和存儲(chǔ)為PID_INTER0 >ID_INTER48 ;步驟二,查詢解擾TS碼流的0x47同步頭,在解擾數(shù)據(jù)中查詢PID=PIDO的TS包,記錄為PID_NCA0找到PID_NCA0 后,順序查找后續(xù)的50個(gè)PID ! =OxlFFF的TS包,并計(jì)算每個(gè)相鄰PID ! =OxlFFF的TS 中間的數(shù)據(jù)間隔,分別記錄和存儲(chǔ)為PID1_NCA_INTER0 PID_NCA_INTER48,將PID_INTER0 >ID_INTER48與PID1_NCA_INTER0 >ID_NCA_INTER48比對(duì),如所有間隔相同,則認(rèn)為同步處理完成;步驟三,如果執(zhí)行步驟二后仍然無(wú)法完成同步,則在PID_NCA0后順序查找下一 PID=PIDO的TS包,并更新為PID_NCA0,回退至步驟二,并完成后續(xù)比對(duì)處理,直到5M解擾TS數(shù)據(jù)中所有PID=PIDO都被更新為PID_NCA0 ;步驟四,如果執(zhí)行步驟三后仍然無(wú)法完成同步,則在PIDO后順序查找下一 PID ! =OxlFFF的TS包,并更新為PID0,回退至步驟一, 并完成后續(xù)比對(duì)處理,直到5M解擾TS數(shù)據(jù)中所有PID ! =OxlFFF都被更新為PID0。由于音頻/視頻的轉(zhuǎn)碼等處理通常僅對(duì)音/視頻的內(nèi)容和部分參數(shù)進(jìn)行修改,而不對(duì)碼流的頭部信息進(jìn)行修改。例如對(duì)視頻碼流進(jìn)行碼率變換時(shí),變換后的碼流除去碼率參數(shù)外,所有參數(shù)(包括空間分辨率、幀率等)均不變化。因此,可以在加擾碼流中提取那些包含有關(guān)鍵參數(shù)的TS數(shù)據(jù)包,并將這些關(guān)鍵數(shù)據(jù)包插入到輸出碼流中,達(dá)到對(duì)系統(tǒng)輸出數(shù)據(jù)加擾的目的。對(duì)于解碼器來(lái)說(shuō),碼流中所有參數(shù)都是必須獲得的,如果部分參數(shù)數(shù)據(jù)由原加擾碼流中提取出的加擾TS數(shù)據(jù)包表示,則解碼器必須配備合法的CA解擾授權(quán);否則,解碼器無(wú)法正常解碼。關(guān)鍵參數(shù)及數(shù)據(jù)包提取模塊,具體處理流程如下步驟一、分析解擾碼流中每個(gè) TS包數(shù)據(jù),以MPEG-2視頻編碼為例,查看該TS包是否包括下表中的關(guān)鍵數(shù)據(jù),其他編碼標(biāo)準(zhǔn)則依據(jù)標(biāo)準(zhǔn)提取相應(yīng)的關(guān)鍵數(shù)據(jù)
表1.用于加擾的視頻關(guān)鍵數(shù)據(jù)(MPEG-2視頻標(biāo)準(zhǔn))
權(quán)利要求
1.一種基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng),該系統(tǒng)的輸入為加擾的符合MPEG 標(biāo)準(zhǔn)的TS碼流;輸出為基于加擾/解擾數(shù)據(jù)交錯(cuò)處理的加擾的符合MPEG標(biāo)準(zhǔn)的TS碼流, 輸入信號(hào)一路送至CA解擾器,一路送至加擾流/解擾流同步處理模塊;CA解擾器輸出端分別連接第一 MPEG系統(tǒng)層解復(fù)用模塊、加擾流/解擾流同步處理模塊;所述第一 MPEG系統(tǒng)層解復(fù)用模塊的兩個(gè)輸出端分別經(jīng)過(guò)視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊和音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊連接至基于加/解擾數(shù)據(jù)包交錯(cuò)的MPEG系統(tǒng)層解復(fù)用模塊,所述加擾流/解擾流同步處理模塊的第一輸出端經(jīng)關(guān)鍵參數(shù)及數(shù)據(jù)包提取模塊連接至所述基于加/解擾數(shù)據(jù)包交錯(cuò)的 MPEG系統(tǒng)層解復(fù)用模塊,第二輸出端經(jīng)第二 MPEG系統(tǒng)層解復(fù)用模塊連接至所述基于加/ 解擾數(shù)據(jù)包交錯(cuò)的MPEG系統(tǒng)層解復(fù)用模塊,其中 CA解擾器,用于對(duì)CA碼流進(jìn)行解擾處理,且配置與輸入碼流相同CA類(lèi)型的解擾大卡CAM ; 第一 MPEG系統(tǒng)層解復(fù)用模塊,用于符合MPEG標(biāo)準(zhǔn)的系統(tǒng)層解復(fù)用處理,該模塊的輸入為CA解擾器輸出的解擾碼流, 輸出為音頻、視頻基本層碼流;視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊、音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊,分別用于對(duì)上述第一 MPEG系統(tǒng)層解復(fù)用模解復(fù)用得到的視頻、音頻基本層碼流進(jìn)行轉(zhuǎn)碼處理,該轉(zhuǎn)碼處理包括視頻數(shù)據(jù)的碼率變化、視頻數(shù)據(jù)中的圖標(biāo)、字幕插入處理、視頻數(shù)據(jù)的碼流拼接處理、音頻數(shù)據(jù)的采樣率變換、音頻數(shù)據(jù)的碼率變換; 加擾流/解擾流同步處理模塊,用于該系統(tǒng)輸入加擾數(shù)據(jù)流與CA解擾器輸出解擾碼流的同步處理,該模塊的輸入是加擾的符合MPEG標(biāo)準(zhǔn)的TS碼流和CA解擾器輸出的解擾碼流,有兩路輸出一路輸出是同步后的加擾碼流;另一路輸出是同步后的解擾碼流;關(guān)鍵參數(shù)及數(shù)據(jù)包提取模塊,用于對(duì)同步后的加擾碼流/解擾碼流數(shù)據(jù)中的每個(gè)數(shù)據(jù)包進(jìn)行分析,分析解擾碼流中的每個(gè)數(shù)據(jù)包數(shù)據(jù),在同步后的加擾碼流中提取出該數(shù)據(jù)包加擾后的數(shù)據(jù);該模塊的輸入是同步后的加擾/解擾碼流,輸出是加擾的關(guān)鍵數(shù)據(jù)包;第二 MPEG系統(tǒng)層解復(fù)用模塊,用于實(shí)現(xiàn)符合MPEG系統(tǒng)的系統(tǒng)層解復(fù)用處理,該模塊的輸入為所述加擾流/解擾流同步處理模塊輸出的加擾流/解擾流的同步處理結(jié)果,輸出為加擾的音頻、視頻數(shù)據(jù);輸出的音頻、視頻基本碼流將用于后續(xù)的轉(zhuǎn)碼、節(jié)目拼接,字幕/圖標(biāo)插入處理;基于加/解擾數(shù)據(jù)包交錯(cuò)MPEG系統(tǒng)層復(fù)用模塊,用于基于加/解擾數(shù)據(jù)包交錯(cuò)完成符合MPEG系統(tǒng)層解復(fù)用處理,其輸入為加擾的音頻、視頻數(shù)據(jù),輸出是再次加擾的MPEG傳輸流;采用加擾/解擾碼流交錯(cuò)方法進(jìn)行MPEG再次加擾,即重復(fù)使用加擾數(shù)據(jù)中的任何部分?jǐn)?shù)據(jù),使未加擾碼流數(shù)據(jù)具備加擾性質(zhì);具備加擾性質(zhì)的碼流在采用解碼終端進(jìn)行解碼時(shí),必須獲得合法的CA授權(quán),才可正確解碼。
2.如權(quán)利要求1所述的基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng),其特征在于,所述加擾流/解擾流同步處理模塊的同步處理流程包括以下步驟步驟一,分別同時(shí)截取5M字節(jié)的加擾和解擾TS數(shù)據(jù)流;查詢加擾TS數(shù)據(jù)流的0x47同步頭,在數(shù)據(jù)流中連續(xù)查詢50個(gè)PID ! OxlFFF的TS包,記錄此50個(gè)TS包相對(duì)于0x47同步頭的位置,將該TS包的PID存儲(chǔ)為PIDO并計(jì)算每個(gè)相鄰PID ! =OxlFFF的TS中間的數(shù)據(jù)間隔,分別記錄和存儲(chǔ)為PID_INTER0 >ID_INTER48 ;步驟二,查詢解擾TS碼流的0x47同步頭,在解擾數(shù)據(jù)中查詢PID=PIDO的TS包,記錄為 PID_NCA0找到PID_NCA0后,順序查找后續(xù)的50個(gè)PID ! =OxlFFF的TS包,并計(jì)算每個(gè)相鄰PID ! =OxlFFF的TS中間的數(shù)據(jù)間隔,分別記錄和存儲(chǔ)為PID1_NCA_INTER0 >ID_NCA_INTER48,將 PID_INTER0 PID_INTER48 與 PID1_NCA_INTER0 >ID_NCA_INTER48 比對(duì),如所有間隔相同,則認(rèn)為同步處理完成;步驟三,如果執(zhí)行步驟二后仍然無(wú)法完成同步,則在PID_NCA0后順序查找下一 PID=PIDO的TS包,并更新為PID_NCA0,回退至步驟二,并完成后續(xù)比對(duì)處理,直到5M解擾TS數(shù)據(jù)中所有PID=PIDO都被更新為PID_NCA0 ; 步驟四,如果執(zhí)行步驟三后仍然無(wú)法完成同步,則在PIDO后順序查找下一 PID ! =OxlFFF的TS 包,并更新為PID0,回退至步驟一,并完成后續(xù)比對(duì)處理,直到5M解擾TS數(shù)據(jù)中所有PID ! =OxlFFF都被更新為PIDO。
3.如權(quán)利要求1所述的基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng),其特征在于,所述關(guān)鍵參數(shù)及數(shù)據(jù)包提取模塊流程包括以下步驟步驟一、分析同步后的解擾碼流中每個(gè)TS包中用于加擾的視頻關(guān)鍵數(shù)據(jù),包括數(shù)據(jù)位置;數(shù)據(jù)名稱、比特?cái)?shù)和提取數(shù)據(jù)量;步驟二、在同步后的解擾碼流中解析到上述數(shù)據(jù)后,在同步后的加擾碼流中同步提取對(duì)應(yīng)的TS數(shù)據(jù)包,包括以下流程如果同步后的解擾碼流中的TS數(shù)據(jù)包個(gè)數(shù)大于或者等于16個(gè),則設(shè)置同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的起始包順序號(hào)為倒數(shù)第8個(gè)數(shù)據(jù)包;否則,設(shè)置同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的起始順序號(hào)從頭開(kāi)始; 如果同步后的解擾碼流中的 TS數(shù)據(jù)包個(gè)數(shù)小于等于總的TS數(shù)據(jù)包個(gè)數(shù)減去8,則設(shè)置同步后的加擾碼流中進(jìn)行匹配的 TS數(shù)據(jù)包的結(jié)束包順序號(hào)為同步后的解擾碼流中的TS數(shù)據(jù)包之后的8個(gè)數(shù)據(jù)包;否則,設(shè)置同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的結(jié)束包順序號(hào)為同步后的解擾碼流中的TS 數(shù)據(jù)包的最后一個(gè)包;從同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的起始到同步后的加擾碼流中進(jìn)行匹配的TS數(shù)據(jù)包的結(jié)束進(jìn)行循環(huán)檢測(cè)如果同步后的加擾數(shù)據(jù)包中的連續(xù)計(jì)數(shù)器數(shù)值等于解擾數(shù)據(jù)包中的連續(xù)計(jì)數(shù)器數(shù)值, 則數(shù)據(jù)包匹配成功;否則,數(shù)據(jù)包匹配失敗;依據(jù)上述流程,依據(jù)同步后的加擾數(shù)據(jù)包的連續(xù)計(jì)數(shù)器數(shù)值COn_COnut_NCA在加擾碼流中查詢16個(gè)TS數(shù)據(jù)包,選擇同步后的加擾數(shù)據(jù)包的連續(xù)計(jì)數(shù)器數(shù)值Con_ConUt_CA與同步后的解擾數(shù)據(jù)包中的連續(xù)計(jì)數(shù)器COn_ COnUt_NCA同步后的解擾數(shù)據(jù)包中的連續(xù)計(jì)數(shù)器數(shù)值相等的數(shù)據(jù)包,作為待提取的同步后的加擾數(shù)據(jù)包。
4.如權(quán)利要求1所述的基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng),其特征在于,所述基于加/解擾數(shù)據(jù)包交錯(cuò)MPEG系統(tǒng)層復(fù)用流程包括以下步驟分析解擾碼流中每個(gè)TS包數(shù)據(jù),以MPEG-2視頻編碼中的數(shù)列頭SH為關(guān)鍵數(shù)據(jù),查看該TS包是否包括SH起始碼0x000001b3 ;在TS包中解析到起始碼后,在該包中的后續(xù)數(shù)據(jù)中查找下一語(yǔ)法同步碼NS 0x000001,記錄TS包為T(mén)Ssnca ; 在同步后的加擾碼流中的對(duì)應(yīng)位置提取加擾Tkca數(shù)據(jù)包,判斷I^sca與TSsnca是否具有相同的PID及連續(xù)計(jì)數(shù)器continues^ounter,如果相同即存儲(chǔ)TSsca,否則視為解擾錯(cuò)誤;將未加擾的音/視頻數(shù)據(jù),加擾的音/視頻數(shù)據(jù),提取模塊中獲得的TSsca以及PTS數(shù)據(jù)、PCR數(shù)據(jù)等其他數(shù)據(jù)送入交錯(cuò)復(fù)用模塊;本模塊依據(jù)不同的設(shè)定,從上述的不同輸入中選擇需要復(fù)用至輸出TS流的數(shù)據(jù);對(duì)于視頻數(shù)據(jù),交錯(cuò)復(fù)用算法包括以下步驟頻數(shù)據(jù),定位SH數(shù)據(jù)起始位置,以SH起始位置為分割點(diǎn),將分割點(diǎn)之前的視頻數(shù)據(jù)復(fù)用為整數(shù)個(gè)TS數(shù)據(jù)包,記錄最后一個(gè)TS包為T(mén)Ssq ; 在未加擾視頻數(shù)據(jù)的SH后查詢下一語(yǔ)法同步碼NS,濾除SH數(shù)據(jù)起始點(diǎn)到下一語(yǔ)法同步碼NS之間的視頻數(shù)據(jù);在TSsq數(shù)據(jù)包關(guān)鍵數(shù)據(jù)提取后插入對(duì)應(yīng)的TSsca,TS包的頭部4個(gè)字節(jié)由交錯(cuò)復(fù)用模塊產(chǎn)生,剩余184個(gè)字節(jié)根據(jù)不同關(guān)鍵數(shù)據(jù)的長(zhǎng)度進(jìn)行確定;如果SH共有10字節(jié) 138字節(jié),由一個(gè)TS包承載;如果SH為132字節(jié),則該加擾包的有效負(fù)荷即為132字節(jié),剩余的字節(jié)全部置為Oxff。
5.如權(quán)利要求1所述的基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng),其特征在于,所述視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊/音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊中分別可以處理的音頻/視頻數(shù)據(jù)符合不同的編碼標(biāo)準(zhǔn),視頻至少包括MPEG-2,MPEG-4, H. 264 / AVC, H. 264 SVC, H. 264 MVC 以及AVS等各種視頻編碼標(biāo)準(zhǔn);音頻至少包括MPEG-2,AAC, dobIy AC-3。
全文摘要
本發(fā)明公開(kāi)了一種基于加擾/解擾數(shù)據(jù)交錯(cuò)的視頻加擾系統(tǒng),該系統(tǒng)輸入加擾的符合MPEG標(biāo)準(zhǔn)的TS碼流;輸出基于加擾/解擾數(shù)據(jù)交錯(cuò)處理的加擾的符合MPEG標(biāo)準(zhǔn)的TS碼流,包括CA解擾器、加擾流∕解擾流同步處理模塊、第一、第二MPEG系統(tǒng)層解復(fù)用模塊、加擾流∕解擾流同步處理模塊;視頻數(shù)據(jù)轉(zhuǎn)碼處理模塊和音頻數(shù)據(jù)轉(zhuǎn)碼處理模塊以及基于加∕解擾數(shù)據(jù)包交錯(cuò)的MPEG系統(tǒng)層解復(fù)用模塊。本發(fā)明不需再次構(gòu)建CAS系統(tǒng),即可完成解擾碼流的再次處理;解決數(shù)字電視系統(tǒng)等多媒體系統(tǒng)實(shí)用中的難題,降低系統(tǒng)成本,提高我國(guó)在此技術(shù)領(lǐng)域的國(guó)際領(lǐng)先性;所處理的音頻∕視頻數(shù)據(jù)符合不同編碼標(biāo)準(zhǔn),視頻至少包括MPEG-2,MPEG-4,H.264∕AVC,H.264SVC,H.264MVC以及AVS;音頻至少包括MPEG-2,AAC,doblyAC-3等不同標(biāo)準(zhǔn)。
文檔編號(hào)H04N21/242GK102238418SQ20111018356
公開(kāi)日2011年11月9日 申請(qǐng)日期2011年7月1日 優(yōu)先權(quán)日2011年7月1日
發(fā)明者劉昱, 李秀清, 段繼忠, 汪少初, 潘榕, 程相昱 申請(qǐng)人:昆明億尚科技有限公司