專(zhuān)利名稱(chēng):一種數(shù)字電視終端及其數(shù)據(jù)解擾方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字電視技術(shù)領(lǐng)域,尤其涉及一種數(shù)字電視終端及其數(shù)據(jù)解擾方法和裝置。
背景技術(shù):
隨著國(guó)家三網(wǎng)融合政策的大力推行,機(jī)頂盒等數(shù)字電視終端的增值業(yè)務(wù)的市場(chǎng)需求為整個(gè)社會(huì)發(fā)展帶來(lái)了巨大的商機(jī),致力于數(shù)字電視業(yè)務(wù)開(kāi)發(fā)的中間件公司也逐漸增多,中間件的種類(lèi)日趨多樣化。瀏覽器、數(shù)據(jù)廣播、股票系統(tǒng)、交互式多媒體視頻點(diǎn)播(Video On Demand, VOD)點(diǎn)播系統(tǒng),互動(dòng)游戲、以及涵蓋數(shù)字電視各類(lèi)應(yīng)用的純中間件系統(tǒng)等多種增值業(yè)務(wù)在機(jī)頂盒終端得到了廣泛移植和應(yīng)用。在實(shí)際應(yīng)用過(guò)程中,運(yùn)營(yíng)商為了控制節(jié)目和業(yè)務(wù)的播控權(quán),通常對(duì)節(jié)目流和數(shù)據(jù)流都進(jìn)行加密。當(dāng)中間件系統(tǒng)所涉及的音視頻節(jié)目和其他業(yè)務(wù)同時(shí)加密時(shí),中間件的移植就會(huì)變得較為繁瑣??紤]到入網(wǎng)機(jī)頂盒在CA認(rèn)證方面的工作量和經(jīng)費(fèi)問(wèn)題,目前中間件加密節(jié)目和業(yè)務(wù)解擾功能的實(shí)現(xiàn)大都由機(jī)頂盒廠(chǎng)家完成,中間件通過(guò)定義音視頻播放接口和數(shù)據(jù)接收接口與機(jī)頂盒終端進(jìn)行對(duì)接,通過(guò)這兩類(lèi)接口完成節(jié)目的播放和業(yè)務(wù)的瀏覽。其中,中間件通過(guò)定義音視頻播放接口和數(shù)據(jù)接收接口與機(jī)頂盒進(jìn)行交互,在上述兩類(lèi)接口內(nèi),由中間件適配層通過(guò)向盒端CA模塊傳遞節(jié)目和數(shù)據(jù)的節(jié)目映射表 (Program Map Table, PMT)啟動(dòng)解擾,完成加密節(jié)目的播放和加密數(shù)據(jù)的接收。當(dāng)用戶(hù)在中間件中選擇加密節(jié)目進(jìn)行播放時(shí),中間件通過(guò)調(diào)用自身定義的節(jié)目播放接口函數(shù)請(qǐng)求機(jī)頂盒終端進(jìn)行響應(yīng),中間件適配層根據(jù)中間件調(diào)用節(jié)目播放接口時(shí)傳遞過(guò)來(lái)的節(jié)目參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前節(jié)目對(duì)應(yīng)的PMT,將PMT通過(guò)數(shù)字證書(shū)認(rèn)證(Certificate Authority, CA)模塊定義的接口函數(shù)傳遞給CA模塊啟動(dòng)解擾功能,并將音視頻標(biāo)志碼傳輸包(Packet IDdentifier, PID)設(shè)置到音視頻解碼器,啟動(dòng)音視頻解碼器,從而完成了加密節(jié)目的播放。當(dāng)用戶(hù)在中間件里頭選擇某個(gè)業(yè)務(wù)進(jìn)行瀏覽時(shí),中間件通過(guò)調(diào)用自身定義的數(shù)據(jù)通道操作接口函數(shù)請(qǐng)求機(jī)頂盒終端進(jìn)行響應(yīng),中間件適配層在數(shù)據(jù)操作接口內(nèi)根據(jù)中間件請(qǐng)求數(shù)據(jù)時(shí)傳遞過(guò)來(lái)的待過(guò)濾的數(shù)據(jù)PID,創(chuàng)建解復(fù)用通道,將PID設(shè)置到解復(fù)用通道,從當(dāng)前傳送流中過(guò)濾出中間件當(dāng)前請(qǐng)求的數(shù)據(jù)PID所在的PMT,并將PMT通過(guò)CA模塊定義的接口函數(shù)傳遞給CA模塊啟動(dòng)解擾功能,同時(shí)啟動(dòng)解復(fù)用通道。中間件適配層從解復(fù)用通道讀取到數(shù)據(jù)后,通過(guò)中間件注冊(cè)的數(shù)據(jù)接收回調(diào)函數(shù)將收到的數(shù)據(jù)傳遞給中間件,從而完成了加密數(shù)據(jù)的接收。由于機(jī)頂盒終端解擾通道的物理資源有限,一般最多同時(shí)可分配8個(gè)解擾通道用于解擾,為了合理利用這些解擾通道,當(dāng)中間件請(qǐng)求播放一個(gè)加密節(jié)目時(shí),盒端現(xiàn)有的CA 解擾實(shí)現(xiàn)方法,通常都是實(shí)時(shí)監(jiān)測(cè)用戶(hù)傳遞過(guò)來(lái)的音、視頻節(jié)目PMT的內(nèi)容,當(dāng)發(fā)現(xiàn)有新版本的PMT傳送過(guò)來(lái)時(shí),首先釋放上一個(gè)PMT所對(duì)應(yīng)節(jié)目的解擾通道,然后為當(dāng)前PMT所對(duì)應(yīng)的節(jié)目重新分配解擾通道。當(dāng)中間件請(qǐng)求過(guò)濾一種加密數(shù)據(jù)時(shí),中間件適配層同樣也會(huì)傳遞一個(gè)PMT給CA解擾模塊,現(xiàn)有的CA解擾實(shí)現(xiàn)方法,并沒(méi)有區(qū)分提供PMT的來(lái)源是誰(shuí),全部根據(jù)最新收到的PMT內(nèi)容按照解擾流程進(jìn)行處理,所以,只要檢測(cè)到PMT發(fā)生變化,就會(huì)對(duì)解擾通道進(jìn)行釋放和再分配動(dòng)作。顯然,當(dāng)中間件適配層在處理加密節(jié)目和加密業(yè)務(wù)同時(shí)存在時(shí)的這種適配方法, 就存在如下缺點(diǎn)第一、當(dāng)用戶(hù)切換業(yè)務(wù)時(shí),由于加密數(shù)據(jù)的接收使得音視頻的解擾通道被迫釋放, 從而造成正在播放的加密節(jié)目發(fā)生停播;第二、當(dāng)用戶(hù)切換節(jié)目時(shí),也會(huì)使得由于加擾音視頻節(jié)目的播放迫使正在接收的加密數(shù)據(jù)的解擾通道被釋放,造成中間件的加密業(yè)務(wù)無(wú)法正常瀏覽。 綜上所述,如何有效的解決中間件與機(jī)頂盒中的CA模塊在適配過(guò)程中,不能很好的兼容中間件系統(tǒng)內(nèi)節(jié)目和數(shù)據(jù)同時(shí)加擾的問(wèn)題,是數(shù)字電視技術(shù)領(lǐng)域研究的方向之一。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種數(shù)字電視終端及其數(shù)據(jù)解擾方法和裝置,旨在解決中間件與機(jī)頂盒中的CA模塊在適配過(guò)程中,不能很好的兼容中間件系統(tǒng)內(nèi)節(jié)目和數(shù)據(jù)同時(shí)加擾的問(wèn)題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種數(shù)字電視終端的數(shù)據(jù)解擾方法,所述方法包括下述步驟獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表;獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù);將所述第一節(jié)目映射表和所述第二節(jié)目映射表合成,生成一混合節(jié)目映射表;將所述混合節(jié)目映射表傳遞至數(shù)字電視終端CA模塊進(jìn)行解擾。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表的步驟具體包括通過(guò)節(jié)目播放接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表的步驟具體包括查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將所述數(shù)據(jù)PID作為匹配目標(biāo),獲取與所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表,根據(jù)本發(fā)明一優(yōu)選實(shí)施例,獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表的步驟具體包括通過(guò)解復(fù)用通道創(chuàng)建接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表的步驟具體包括查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到
5所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將該數(shù)據(jù)PID作為匹配目標(biāo),找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表,并根據(jù)當(dāng)前正在播放節(jié)目的音頻PID、視頻PID,請(qǐng)求節(jié)目播放時(shí)的記錄信息,獲取正在播放節(jié)目的第一節(jié)目映射表。本發(fā)明實(shí)施例的另一目的在于提供一種數(shù)字電視終端的數(shù)據(jù)解擾裝置,所述裝置包括節(jié)目信息獲取模塊,用于獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表;業(yè)務(wù)信息獲取模塊,用于獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù);合成模塊,用于將所述第一節(jié)目映射表和所述第二節(jié)目映射表進(jìn)行合成,生成一混合節(jié)目映射表;發(fā)送模塊,用于將所述混合節(jié)目映射表傳遞至數(shù)字電視終端CA模塊進(jìn)行解擾。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述節(jié)目信息獲取模塊,用于通過(guò)節(jié)目播放接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存;所述業(yè)務(wù)信息獲取模塊,用于查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將所述數(shù)據(jù)PID作為匹配目標(biāo),找到與所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表,根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述節(jié)目信息獲取模塊,用于通過(guò)解復(fù)用通道創(chuàng)建接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存;所述業(yè)務(wù)信息獲取模塊,用于查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將這些 PID作為匹配目標(biāo),找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表,并根據(jù)當(dāng)前正在播放節(jié)目的音頻PID、視頻PID,通過(guò)查詢(xún)中間件請(qǐng)求節(jié)目播放時(shí)的記錄信息,找到正在播放節(jié)目的第一節(jié)目映射表。本發(fā)明實(shí)施例的還一目的在于提供一種數(shù)字電視終端,所述終端包括本發(fā)明實(shí)施例提供的數(shù)字電視終端的數(shù)據(jù)解擾裝置。通過(guò)上述實(shí)施例,本發(fā)明很好的解決中間件與機(jī)頂盒中的CA模塊在適配過(guò)程中, 不能很好的兼容中間件系統(tǒng)內(nèi)節(jié)目和數(shù)據(jù)同時(shí)加擾的問(wèn)題,利于機(jī)頂盒等數(shù)字電視終端的推廣普及。
圖1是本發(fā)明實(shí)施例提供的數(shù)字電視終端的數(shù)據(jù)解擾方法的流程圖;圖2是本發(fā)明實(shí)施例提供的中間件系統(tǒng)的結(jié)構(gòu)圖;圖3是本發(fā)明實(shí)施例提供的中間件音、視頻播放接口的適配流程圖;圖4是本發(fā)明實(shí)施例提供的中間件數(shù)據(jù)接收接口的適配流程圖;圖5是本發(fā)明實(shí)施例提供的將第一節(jié)目映射表與第二節(jié)目映射表合成混合節(jié)目映射表的流程圖;圖6是本發(fā)明實(shí)施例提供的數(shù)字電視終端的數(shù)據(jù)解擾裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明第一實(shí)施例提供了一種數(shù)字電視終端的數(shù)據(jù)解擾方法,所述方法包括下述步驟獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表;獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù);將所述第一節(jié)目映射表和所述第二節(jié)目映射表進(jìn)行合成,生成一混合節(jié)目映射表;將所述混合節(jié)目映射表傳遞至數(shù)字電視終端進(jìn)行解擾。本發(fā)明第二實(shí)施例提供了一種數(shù)字電視終端的數(shù)據(jù)解擾裝置,所述裝置包括節(jié)目信息獲取模塊,用于獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表; 業(yè)務(wù)信息獲取模塊,用于獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù);合成模塊,用于將所述第一節(jié)目映射表和所述第二節(jié)目映射表進(jìn)行合成,生成一混合節(jié)目映射表;發(fā)送模塊,用于將所述混合節(jié)目映射表傳遞至數(shù)字電視終端CA模塊進(jìn)行解擾。本發(fā)明第三實(shí)施例提供了一種數(shù)字電視終端,所述終端包括本發(fā)明實(shí)施例提供的數(shù)字電視終端的數(shù)據(jù)解擾裝置。請(qǐng)參閱圖1,圖1為本發(fā)明第一實(shí)施例提供的數(shù)字電視終端的數(shù)據(jù)解擾方法的流程。在步驟SlOl中,獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表。在步驟S102中,獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù)。在步驟S103中,將所述第一節(jié)目映射表和所述第二節(jié)目映射表合成,生成一混合節(jié)目映射表。在步驟S104中,將所述混合節(jié)目映射表傳遞至數(shù)字電視終端CA模塊進(jìn)行解擾。下面分兩種情況說(shuō)明,第一種為中間件音、視頻播放接口的適配流程,第二種為中間件數(shù)據(jù)接收接口的適配流程。請(qǐng)參閱圖2,機(jī)頂盒等數(shù)字電視終端中間件系統(tǒng)的結(jié)構(gòu),分為適配層,中間件以及 CA模塊。請(qǐng)參閱圖3,圖3示出了本發(fā)明實(shí)施例中間件音、視頻播放接口的適配流程。步驟S301,通過(guò)節(jié)目播放接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存。
其中,該步驟為對(duì)應(yīng)圖1中獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表的步驟。步驟S302,查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將所述數(shù)據(jù)PID作為匹配目標(biāo),獲取與所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表。其中,該步驟對(duì)應(yīng)圖1中獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表的步驟。步驟S303,將第一節(jié)目映射表與第二節(jié)目映射表合成混合節(jié)目映射表,將混合節(jié)目映射表通過(guò)CA模塊提供的接口函數(shù)傳遞給機(jī)頂盒端CA模塊,請(qǐng)求CA模塊啟動(dòng)解擾。步驟S304,設(shè)定音頻PID、視頻PID、PCR PID,并啟動(dòng)音視頻解碼器。步驟S305,盒端CA模塊開(kāi)始工作,加密節(jié)目流被還原成透明流,節(jié)目正常播出。請(qǐng)參閱圖4,圖4示出了本發(fā)明實(shí)施例中間件數(shù)據(jù)接收接口的適配流程。步驟S401,通過(guò)解復(fù)用通道創(chuàng)建接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存。其中,該步驟為對(duì)應(yīng)圖1中獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表的步驟。步驟S402,查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將該數(shù)據(jù)PID作為匹配目標(biāo),找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表, 并根據(jù)當(dāng)前正在播放節(jié)目的音頻PID、視頻PID,請(qǐng)求節(jié)目播放時(shí)的記錄信息,獲取正在播放節(jié)目的第一節(jié)目映射表。其中,該步驟對(duì)應(yīng)圖1中獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表的步驟。步驟S403,將第一節(jié)目映射表與第二節(jié)目映射表合成混合節(jié)目映射表。步驟S404,創(chuàng)建一個(gè)解復(fù)用通道,將中間件通過(guò)接口函數(shù)傳遞過(guò)來(lái)的當(dāng)前新請(qǐng)求的數(shù)據(jù)PID設(shè)置到該通道中,啟動(dòng)解復(fù)用通道。步驟S405,將合成后的混合PMT通過(guò)CA模塊提供的接口函數(shù)傳遞給盒端CA模塊, 請(qǐng)求CA模塊啟動(dòng)解擾。步驟S406,盒端CA模塊開(kāi)始工作,中間件適配層讀取解復(fù)用通道過(guò)來(lái)的數(shù)據(jù),通過(guò)中間件注冊(cè)的數(shù)據(jù)接收回調(diào)函數(shù),將過(guò)濾到的數(shù)據(jù)傳遞給中間件。請(qǐng)參閱圖5,圖5示出了將第一節(jié)目映射表與第二節(jié)目映射表合成混合節(jié)目映射表的流程。步驟S501、聲明一個(gè)類(lèi)型為unsigned char、長(zhǎng)度為10 的數(shù)組uMergePmtBuf,并初始化為0x00,用于存放合成后的混合節(jié)目映射表內(nèi)容,聲明一個(gè)類(lèi)型為unsigned char* 的指針pMergePmtBuf,同時(shí)指向uMergePmtBuf,聲明一個(gè)類(lèi)型為unsigned short的變量 nMergeByteCnt,并賦初值為0,聲明一個(gè)類(lèi)型為unsigned char*的指針pDataPmtBuf,同時(shí)指向中間件適配層傳遞過(guò)來(lái)的第二節(jié)目映射表的存儲(chǔ)地址,聲明一個(gè)類(lèi)型為unsigned char*的指針pSrvftntBuf,同時(shí)指向中間件適配層傳遞過(guò)來(lái)的第一節(jié)目映射表的存儲(chǔ)地址 2。步驟S502、將uMergePmtBuf的第一個(gè)字節(jié)填充為0x02 (標(biāo)準(zhǔn)PMT約定的TableID),并將指針uMergeftiitBuf偏移12個(gè)字節(jié)(標(biāo)準(zhǔn)PMT表頭占用節(jié)數(shù)),將 nMergeByteCnt ±曾力口 12。
步驟S503、由pDataPmtBuf [1]和pDataPmtBuf [2]計(jì)算得出的值,加上3 (存儲(chǔ) PMT的TableId占用1個(gè)字節(jié)、存儲(chǔ)PMT內(nèi)容的長(zhǎng)度占用2個(gè)字節(jié))得到數(shù)據(jù)PMT的長(zhǎng)度 nDataPmtLen,并將指針pDataPmtBuf偏移12個(gè)字節(jié)(標(biāo)準(zhǔn)PMT表頭占用12個(gè)字節(jié)),將 nDataPmtLen減少12 (標(biāo)準(zhǔn)PMT表頭占用12個(gè)字節(jié)),將nDataPmtLen大于0作為循環(huán)結(jié)束的條件,按照標(biāo)準(zhǔn)PMT的組織結(jié)構(gòu),將指針pDataPmtBuf進(jìn)行持續(xù)偏移,同時(shí)將nDataPmtLen 進(jìn)行不斷減少,通過(guò)比對(duì)CA描述子的標(biāo)識(shí)0x09,尋找數(shù)據(jù)PMT里頭的CA描述子,每發(fā)現(xiàn)一個(gè),根據(jù)指針pDataPmtBuf的位置計(jì)算出CA描述子和所屬數(shù)據(jù)的PID信息共同占用的字節(jié)個(gè)數(shù)nDataDesByte,并將CA描述子和所屬數(shù)據(jù)的PID信息一并復(fù)制到pMergeRntBuf中, 同時(shí)將 pMergePmtBuf 偏移 nDataDesByte 個(gè)字節(jié),nMergeByteCnt ±曾力卩 nDataDesByte 個(gè)字節(jié),當(dāng)循環(huán)結(jié)束時(shí),轉(zhuǎn)入步驟S504。步驟S504、由 pSrvPmtBuf [1]和 pSrvPmtBuf [2]計(jì)算得出的值,加上 3 (存儲(chǔ) PMT 的TableId占用1個(gè)字節(jié)、存儲(chǔ)PMT內(nèi)容的長(zhǎng)度占用2個(gè)字節(jié))得到第一節(jié)目映射表的長(zhǎng)度nSrvftntLen,并將指針pSrvftntBuf偏移12個(gè)字節(jié)(標(biāo)準(zhǔn)PMT表頭占用12個(gè)字節(jié))、將 nSrvPmtLen減少12 (標(biāo)準(zhǔn)PMT表頭占用12個(gè)字節(jié)),將nSrvftntLen大于0作為循環(huán)結(jié)束的條件,按照標(biāo)準(zhǔn)PMT的組織結(jié)構(gòu),將指針pSrvftiitBuf進(jìn)行持續(xù)偏移,同時(shí)將nSrvftntLen進(jìn)行不斷減少,通過(guò)比對(duì)CA描述子的標(biāo)識(shí)0x09,尋找第一節(jié)目映射表里頭的CA描述子,每發(fā)現(xiàn)一個(gè),根據(jù)指針PSrvRntBuf的位置計(jì)算出CA描述子和所屬音、視頻PID信息共同占用的字節(jié)個(gè)數(shù)nSrvDesByte,并將CA描述子和所屬音、視頻PID信息一并復(fù)制到pMergeftiitBuf 中,同時(shí)將 pMergePmtBuf 偏移 nSrvDesByte 個(gè)字節(jié),nMergeByteCnt ±曾力卩 nSrvDesByte 個(gè)字節(jié),當(dāng)循環(huán)結(jié)束時(shí),轉(zhuǎn)入步驟S505。步驟S505、將nMergeByteCnt增加4 (PMT末尾CRC校驗(yàn)位占用的字節(jié)個(gè)數(shù)),減少 3 (PMT表頭的前三個(gè)字節(jié)),由此計(jì)算得到混合節(jié)目映射表的長(zhǎng)度,將nMergeByteCnt的高 8位取出賦值給uMergePmtBuf [1],將nByteCnt的低8位取出賦值給uMergePmtBuf [2]。步驟S506、結(jié)束返回。請(qǐng)參閱圖6,圖6為本發(fā)明實(shí)施例提供的數(shù)字電視終端的數(shù)據(jù)解擾裝置的結(jié)構(gòu)。其中,節(jié)目信息獲取模塊61獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表;業(yè)務(wù)信息獲取模塊62獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù);合成模塊63將所述第一節(jié)目映射表和所述第二節(jié)目映射表合成,生成一混合節(jié)目映射表;發(fā)送模塊64將所述混合節(jié)目映射表傳遞至數(shù)字電視終端CA模塊進(jìn)行解擾。在具體實(shí)施過(guò)程中,通過(guò)中間件音、視頻播放接口進(jìn)行適配時(shí),節(jié)目信息獲取模塊 61通過(guò)節(jié)目播放接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存;業(yè)務(wù)信息獲取模塊62查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將所述數(shù)據(jù) PID作為匹配目標(biāo),找到與所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的
第二節(jié)目映射表。在具體實(shí)施過(guò)程中,通過(guò)中間件數(shù)據(jù)接收接口進(jìn)行適配時(shí),節(jié)目信息獲取模塊61通過(guò)解復(fù)用通道創(chuàng)建接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存;業(yè)務(wù)信息獲取模塊62查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將這些PID作為匹配目標(biāo),找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表。具體的數(shù)字電視終端節(jié)目的播放裝置的工作原理請(qǐng)參閱上文的描述,此處不再贅述。本發(fā)明實(shí)施例還提供一種數(shù)字電視終端,所述終端包括本發(fā)明實(shí)施例提供的數(shù)字電視終端的數(shù)據(jù)解擾裝置,鑒于該裝置在上文已有詳細(xì)的描述,此處不再贅述。本發(fā)明提出的中間件加密節(jié)目和業(yè)務(wù)實(shí)現(xiàn)解擾的適配方法,通過(guò)運(yùn)用中間件適配層的設(shè)計(jì)方法、利用適配層節(jié)目和數(shù)據(jù)PMT的合成方法,使得中間件能夠以節(jié)目和數(shù)據(jù)的混合PMT與盒端CA模塊進(jìn)行對(duì)接,在不修改盒端現(xiàn)有CA解擾模塊的前提下,有效解決了中間件系統(tǒng)內(nèi)數(shù)據(jù)和節(jié)目同時(shí)加擾時(shí),數(shù)據(jù)解擾過(guò)程與音、視頻解擾過(guò)程共存時(shí)的相互干擾問(wèn)題,實(shí)現(xiàn)了中間件加密業(yè)務(wù)和加密節(jié)目的解擾,同時(shí)降低了盒端CA解擾模塊與中間件的耦合性,提高了中間件移植時(shí)盒端CA解擾模塊的重用性,減少了開(kāi)發(fā)人員維護(hù)CA模塊的工作量。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)字電視終端的數(shù)據(jù)解擾方法,其特征在于,所述方法包括下述步驟獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表;獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù);將所述第一節(jié)目映射表和所述第二節(jié)目映射表合成,生成一混合節(jié)目映射表;將所述混合節(jié)目映射表傳遞至數(shù)字電視終端CA模塊進(jìn)行解擾。
2.如權(quán)利要求1所述的數(shù)字電視終端的數(shù)據(jù)解擾方法,其特征在于,獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表的步驟具體包括通過(guò)節(jié)目播放接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存。
3.如權(quán)利要求2所述的數(shù)字電視終端的數(shù)據(jù)解擾方法,其特征在于,獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表的步驟具體包括查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將所述數(shù)據(jù)PID作為匹配目標(biāo),獲取與所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表,
4.如權(quán)利要求1所述的數(shù)字電視終端的數(shù)據(jù)解擾方法,其特征在于,獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表的步驟具體包括通過(guò)解復(fù)用通道創(chuàng)建接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存。
5.如權(quán)利要求4所述的數(shù)字電視終端的數(shù)據(jù)解擾方法,其特征在于,獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表的步驟具體包括查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將該數(shù)據(jù)PID作為匹配目標(biāo),找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表,并根據(jù)當(dāng)前正在播放節(jié)目的音頻PID、視頻PID,請(qǐng)求節(jié)目播放時(shí)的記錄信息,獲取正在播放節(jié)目的第一節(jié)目映射表。
6.一種數(shù)字電視終端的數(shù)據(jù)解擾裝置,其特征在于,所述裝置包括節(jié)目信息獲取模塊,用于獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表;業(yè)務(wù)信息獲取模塊,用于獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù);合成模塊,用于將所述第一節(jié)目映射表和所述第二節(jié)目映射表合成,生成一混合節(jié)目映射表;發(fā)送模塊,用于將所述混合節(jié)目映射表傳遞至數(shù)字電視終端CA模塊進(jìn)行解擾。
7.如權(quán)利要求6所述的數(shù)字電視終端的數(shù)據(jù)解擾裝置,其特征在于,所述節(jié)目信息獲取模塊,用于通過(guò)節(jié)目播放接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存;所述業(yè)務(wù)信息獲取模塊,用于查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將所述數(shù)據(jù) PID作為匹配目標(biāo),找到與所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表,
8.如權(quán)利要求6所述的數(shù)字電視終端的數(shù)據(jù)解擾裝置,其特征在于,所述節(jié)目信息獲取模塊,用于通過(guò)解復(fù)用通道創(chuàng)建接口函數(shù)包含的參數(shù)信息,從當(dāng)前傳送流中過(guò)濾出當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表,并將該第一節(jié)目映射表進(jìn)行緩存;所述業(yè)務(wù)信息獲取模塊,用于查詢(xún)?cè)谡?qǐng)求過(guò)濾數(shù)據(jù)時(shí)已創(chuàng)建的所有為數(shù)據(jù)類(lèi)型的解復(fù)用通道的記錄信息,找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID,將這些PID 作為匹配目標(biāo),找到所有處于啟動(dòng)狀態(tài)的解復(fù)用通道正在過(guò)慮的數(shù)據(jù)PID所對(duì)應(yīng)的第二節(jié)目映射表,并根據(jù)當(dāng)前正在播放節(jié)目的音頻PID、視頻PID,通過(guò)查詢(xún)中間件請(qǐng)求節(jié)目播放時(shí)的記錄信息,找到正在播放節(jié)目的第一節(jié)目映射表。
9.一種數(shù)字電視終端,其特征在于,所述終端包括權(quán)利要求6至8任一項(xiàng)所述的數(shù)字電視終端的數(shù)據(jù)解擾裝置。
全文摘要
本發(fā)明公開(kāi)了一種數(shù)字電視終端及其數(shù)據(jù)的解擾方法和裝置,所述方法包括下述步驟獲取當(dāng)前播放節(jié)目所屬的第一節(jié)目映射表;獲取業(yè)務(wù)數(shù)據(jù)所屬的第二節(jié)目映射表,其中,所述業(yè)務(wù)數(shù)據(jù)包括正在被請(qǐng)求的業(yè)務(wù)數(shù)據(jù)以及已被請(qǐng)求且處于接收狀態(tài)的業(yè)務(wù)數(shù)據(jù);將所述第一節(jié)目映射表和所述第二節(jié)目映射表合成,生成一個(gè)混合節(jié)目映射表;將所述混合節(jié)目映射表傳遞至數(shù)字電視終端CA模塊進(jìn)行解擾。本發(fā)明很好的解決中間件與機(jī)頂盒中的CA模塊在適配過(guò)程中,不能很好的兼容中間件系統(tǒng)內(nèi)節(jié)目和數(shù)據(jù)同時(shí)加擾的問(wèn)題,利于機(jī)頂盒等數(shù)字電視終端的推廣普及。
文檔編號(hào)H04N21/434GK102158752SQ20111002854
公開(kāi)日2011年8月17日 申請(qǐng)日期2011年1月26日 優(yōu)先權(quán)日2011年1月26日
發(fā)明者田超 申請(qǐng)人:深圳創(chuàng)維數(shù)字技術(shù)股份有限公司