專利名稱:流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)及其服務(wù)器端、客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及流媒體處理技術(shù)領(lǐng)域,尤其涉及一種流媒體可見水印 5實(shí)時(shí)嵌入系統(tǒng)及其服務(wù)器端、客戶端。
背景技術(shù):
近年來(lái),隨著因特網(wǎng)的普及,流媒體服務(wù)取得了飛速的發(fā)展,應(yīng)用范圍不斷擴(kuò)大,不僅涌現(xiàn)出了以YouTube等為代表的一系列流媒體 服務(wù)網(wǎng)站,網(wǎng)上會(huì)議系統(tǒng)、P2P ( Peer to Peer,點(diǎn)對(duì)點(diǎn))網(wǎng)絡(luò)電視點(diǎn)10播系統(tǒng)等應(yīng)用也逐漸完善。并且,隨著網(wǎng)絡(luò)技術(shù)的進(jìn)一步發(fā)展和各種 多媒體終端設(shè)備的普及,流媒體服務(wù)必將得到的更大的發(fā)展。伴隨著流媒體服務(wù)的發(fā)展,流媒體的數(shù)字版權(quán)保護(hù)問(wèn)題也越來(lái)越 突出,并且逐漸成為當(dāng)前信息安全領(lǐng)域的一個(gè)熱門問(wèn)題。因?yàn)榱髅襟w 系統(tǒng)在服務(wù)過(guò)程中需要處理大量的信息,并且處理過(guò)程要求有很高的15實(shí)時(shí)性,所以流媒體服務(wù)系統(tǒng)的版權(quán)保護(hù)問(wèn)題對(duì)算法設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn) 都有很高的要求。特別是對(duì)于視頻會(huì)議等應(yīng)用,數(shù)據(jù)源信息在通過(guò)攝 像頭釆集到后,必須馬上進(jìn)行處理和轉(zhuǎn)發(fā),不能釆用傳統(tǒng)版權(quán)保護(hù)中 將視頻信息存儲(chǔ)為文件后再處理的策略。同時(shí),目前的版權(quán)保護(hù)算法 的時(shí)間和空間的復(fù)雜度很高,難以滿足流媒體應(yīng)用中對(duì)大量信息處理20的實(shí)時(shí)性要求,具有很大的局限性。發(fā)明內(nèi)容(一) 要解決的技術(shù)問(wèn)題本發(fā)明的目的是提供一種流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)及其服 務(wù)器端、客戶端,以解決現(xiàn)有技術(shù)的流媒體應(yīng)用中不能實(shí)時(shí)嵌入水印25 保護(hù)的問(wèn)題。(二) 技術(shù)方案為了達(dá)到上述目的,本發(fā)明的技術(shù)方案提出一種流媒體可見水印 實(shí)時(shí)嵌入系統(tǒng)的服務(wù)器端,包括視頻釆集模塊,進(jìn)行視頻數(shù)據(jù)的實(shí)時(shí)采集; 視頻編碼模塊,對(duì)釆集的視頻數(shù)據(jù)進(jìn)行壓縮編碼; 5 水印嵌入模塊,在所述視頻編碼模塊進(jìn)行壓縮編碼后輸出的碼流中嵌入數(shù)字水印信息,得到含水印的視頻數(shù)據(jù);流媒體處理模塊,對(duì)所述水印嵌入模塊輸出的含水印的視頻數(shù)據(jù) 進(jìn)行存儲(chǔ),并根據(jù)客戶端的連接請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)。上述的服務(wù)器端中,所述視頻釆集模塊進(jìn)一步包括10 視頻捕捉子模塊,對(duì)視頻圖像進(jìn)行實(shí)時(shí)捕捉,獲取動(dòng)態(tài)視頻數(shù)據(jù),并保存為原始的視頻格式;編碼初始化子模塊,對(duì)所述原始視頻格式的視頻數(shù)據(jù)進(jìn)行簡(jiǎn)單的 初始編碼;數(shù)據(jù)緩存子模塊,對(duì)所述初始編碼后的視頻數(shù)據(jù)進(jìn)行緩存。 15 上述的服務(wù)器端中,所述視頻編碼模塊進(jìn)一步包括MPEG-4編碼子模塊,將所述視頻釆集模塊輸出的視頻數(shù)據(jù)壓縮 編碼為MPEG-4格式的視頻數(shù)據(jù);編碼幀控制子模塊,根據(jù)圖像序列的前后差異分析,和/或根據(jù) 預(yù)設(shè)的編碼指令,控制所述MPEG-4編碼子模塊的當(dāng)前幀的編碼格20 式。上述的服務(wù)器端中,所述的MPEG-4格式包括ffmpeg、 Divx或 Xvid等具體編碼方式。上述的服務(wù)器端中,所述當(dāng)前幀的編碼格式包括I幀、P幀或B25 上述的服務(wù)器端中,所述水印嵌入模塊進(jìn)一步包括水印讀取子模塊,用于讀入可見水印圖像的信息; 嵌入配置子模塊,用于設(shè)置水印嵌入的初始位置、強(qiáng)度、移動(dòng)速度及終點(diǎn)位置參數(shù);數(shù)據(jù)融合子模塊,根據(jù)預(yù)設(shè)的圖像融合算法及所述參數(shù)的配置, 將所述可見水印圖像嵌入所述視頻編碼模塊輸出的碼流中。上述的服務(wù)器端中,所述服務(wù)器端還包括 5 嵌入開關(guān)模塊,用于根據(jù)需要使能或失效所述水印嵌入模塊,以控制是否向所述視頻編碼模塊輸出的碼流中嵌入數(shù)字水印信息。本發(fā)明的技術(shù)方案還提出一種流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)的 客戶端,包括網(wǎng)絡(luò)連接模塊,發(fā)起與服務(wù)器端的連接請(qǐng)求,并接收所述服務(wù)器io 端根據(jù)所述連接請(qǐng)求發(fā)送的視頻數(shù)據(jù);視頻解碼模塊,對(duì)所述網(wǎng)絡(luò)連接模塊接收的所述視頻數(shù)據(jù)進(jìn)行解碼,得到原始圖像序列;視頻播放模塊,使用所述視頻解碼模塊輸出的原始圖像序列進(jìn)行 播放。15 上述的客戶端中,所述網(wǎng)絡(luò)連接模塊進(jìn)一步包括連接建立子模塊,發(fā)起與服務(wù)器端的連接請(qǐng)求,并根據(jù)響應(yīng)建立與所述服務(wù)器端的連接;視頻接收子模塊,利用建立的所述連接,接收所述服務(wù)器端發(fā)送的視頻數(shù)據(jù)包;20數(shù)據(jù)緩沖子模塊,對(duì)所述視頻接收子模塊輸出的視頻數(shù)據(jù)進(jìn)行緩 存處理;數(shù)據(jù)校驗(yàn)子模塊,對(duì)所述數(shù)據(jù)緩沖子模塊緩存的視頻數(shù)據(jù)包進(jìn)行 校驗(yàn),丟棄破損包,并將接收的完整包進(jìn)行重組及排序。本發(fā)明的技術(shù)方案還提出一種流媒體可見水印實(shí)時(shí)嵌入系統(tǒng),包25括服務(wù)器端及客戶端,所述服務(wù)器端包括視頻釆集模塊,進(jìn)行視頻數(shù)據(jù)的實(shí)時(shí)采集;視頻編碼模塊,對(duì)釆集的視頻數(shù)據(jù)進(jìn)行壓縮編碼; 水印嵌入模塊,在所述視頻編碼模塊進(jìn)行壓縮編碼后輸出的碼流中嵌入數(shù)字水印信息,得到含水印的視頻數(shù)據(jù);流媒體處理模塊,對(duì)所述水印嵌入模塊輸出的含水印的視頻數(shù)據(jù)5進(jìn)行存儲(chǔ),并根據(jù)客戶端的連接請(qǐng)求進(jìn)行轉(zhuǎn)發(fā);所述客戶端包括網(wǎng)絡(luò)連接模塊,發(fā)起與服務(wù)器端的連接請(qǐng)求,并接收所述服務(wù)器端根據(jù)所述連接請(qǐng)求發(fā)送的視頻數(shù)據(jù);視頻解碼模塊,對(duì)所述網(wǎng)絡(luò)連接模塊接收的所述視頻數(shù)據(jù)進(jìn)行解 io碼,得到原始圖像序列;視頻播放模塊,使用所述視頻解碼模塊輸出的原始圖像序列進(jìn)行 播放。(三)有益效果本發(fā)明流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)及其服務(wù)器端、客戶端的技 15 術(shù)方案,將數(shù)字水印技術(shù)與視頻數(shù)據(jù)編解碼融合在一起,完成了在流 媒體傳輸過(guò)程中實(shí)時(shí)地進(jìn)行可見水印的嵌入,從而實(shí)現(xiàn)了流媒體信息 訪問(wèn)過(guò)程中的版權(quán)保護(hù)及鑒別。
圖i為本發(fā)明流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)服務(wù)器端實(shí)施例圖; 20 圖2為本發(fā)明流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)客戶端實(shí)施例圖; 圖3為本發(fā)明流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)實(shí)施例圖。
具體實(shí)施方式
以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。 圖1為本發(fā)明流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)服務(wù)器端實(shí)施例圖, 25如圖所示,本實(shí)施例的服務(wù)器端IO包括視頻釆集模塊ll,進(jìn)行視 頻數(shù)據(jù)的實(shí)時(shí)釆集;視頻編碼模塊12,對(duì)釆集的視頻數(shù)據(jù)進(jìn)行壓縮 編碼;水印嵌入模塊l3,在視頻編碼模塊12進(jìn)行壓縮編碼后輸出的碼流中嵌入數(shù)字水印信息,得到含水印的視頻數(shù)據(jù);流媒體處理模塊 14,對(duì)水印嵌入模塊13輸出的含水印的視頻數(shù)據(jù)進(jìn)行存儲(chǔ),并根據(jù)客戶端的連接請(qǐng)求進(jìn)行轉(zhuǎn)發(fā);嵌入開關(guān)模塊15,用于根據(jù)需要使能或失效水印嵌入模塊13,以控制是否向視頻編碼模塊12輸出的碼流5中嵌入數(shù)字水印信息。其中,視頻釆集模塊ll進(jìn)一步包括視頻捕捉子模塊lll,對(duì)視頻圖像進(jìn)行實(shí)時(shí)捕捉,獲取動(dòng)態(tài)視頻數(shù)據(jù),并保存為原始的視頻格式;編碼初始化子模塊112,對(duì)原始視頻格式的視頻數(shù)據(jù)進(jìn)行簡(jiǎn)單的初始編碼;數(shù)據(jù)緩存子模塊l13,對(duì)初始編碼后的視頻數(shù)據(jù)進(jìn)行緩存。io 視頻編碼模塊12進(jìn)一步包括MPEG-4編碼子模塊121,將視頻采集模塊11輸出的視頻數(shù)據(jù)壓縮編碼為MPEG-4格式的視頻數(shù)據(jù), 具體的編碼方式例如ffmpeg、Divx及Xvid等;編碼幀控制子模塊122, 根據(jù)分析圖像序列的前后差異,和/或根據(jù)預(yù)設(shè)的編碼指令,控制 MPEG-4編碼子模塊121的當(dāng)前幀的編碼格式。例如當(dāng)前后畫面變化15劇烈的時(shí)候,編碼幀控制子模塊122可控制MPEG-4編碼子模塊121 將當(dāng)前幀編碼成為獨(dú)立的I幀,如果畫面總體變化平緩則編碼成為P 幀(支持B幀的時(shí)候還可以編碼為B幀);如果使用預(yù)設(shè)的編碼指令, 例如,當(dāng)需要保證畫面的連續(xù)性,適時(shí)地減小運(yùn)動(dòng)向量預(yù)測(cè)帶來(lái)的誤 差積累時(shí),可以由編碼幀控制子模塊122控制MPEG-4編碼子模塊20 121定期(每隔幾秒)強(qiáng)制編碼生成I幀,或者當(dāng)編碼的幀數(shù)積累達(dá) 到某一個(gè)值(如100幀)時(shí)強(qiáng)制編碼生成I幀。本實(shí)施例的水印嵌入模塊13進(jìn)一步包括水印讀取子模塊131, 用于讀入可見水印圖像的信息;嵌入配置子模塊132,用于設(shè)置水印 嵌入的初始位置、強(qiáng)度、移動(dòng)速度及終點(diǎn)位置參數(shù);數(shù)據(jù)融合子模塊25 133,則根據(jù)預(yù)設(shè)的圖像融合算法及嵌入配置子模塊132中的參數(shù)配 置,將可見水印圖像嵌入視頻編碼模塊12輸出的碼流中。圖2為本發(fā)明流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)客戶端實(shí)施例圖,如圖所示,本實(shí)施例的客戶端20包括網(wǎng)絡(luò)連接模塊21,發(fā)起與服務(wù)器端的連接請(qǐng)求,并接收服務(wù)器端根據(jù)連接請(qǐng)求發(fā)送的視頻數(shù)據(jù);視頻解碼模塊22,對(duì)網(wǎng)絡(luò)連接模塊21接收的視頻數(shù)據(jù)進(jìn)行解碼,得到 原始圖像序列;視頻播放模塊23,使用視頻解碼模塊22輸出的原始 5圖像序列進(jìn)行播放。其中,網(wǎng)絡(luò)連接模塊21進(jìn)一步包括連接建立子模塊211,發(fā) 起與服務(wù)器端的連接請(qǐng)求,并根據(jù)響應(yīng)建立與服務(wù)器端的連接;視頻 接收子模塊212,利用建立的連接接收服務(wù)器端發(fā)送的視頻數(shù)據(jù)包; 數(shù)據(jù)緩沖子模塊213,對(duì)視頻接收子模塊212輸出的視頻數(shù)據(jù)進(jìn)行緩 io存處理;數(shù)據(jù)校驗(yàn)子模塊214,對(duì)數(shù)據(jù)緩沖子模塊213緩存的視頻數(shù) 據(jù)包進(jìn)行校驗(yàn),丟棄破損包,并將接收的完整包進(jìn)行重組及排序?;谏鲜龅姆?wù)器端10與客戶端20,本發(fā)明流媒體可見水印實(shí) 時(shí)嵌入系統(tǒng)實(shí)施例如圖3所示,其采用經(jīng)典的Client/Server (客戶/ 服務(wù)器)結(jié)構(gòu), 一個(gè)服務(wù)器端10通過(guò)網(wǎng)絡(luò)30與多個(gè)客戶端20互聯(lián), 15實(shí)現(xiàn)流媒體可見水印的實(shí)時(shí)嵌入及流媒體信息的傳輸。以下結(jié)合上述 服務(wù)器端及客戶端的實(shí)施例對(duì)本實(shí)施例的系統(tǒng)構(gòu)成進(jìn)行詳細(xì)說(shuō)明。本實(shí)施例系統(tǒng)服務(wù)器端10中視頻釆集、視頻編碼、水印嵌入及 流媒體處理四個(gè)模塊的具體實(shí)現(xiàn)如下 1 )視頻釆集模塊20 其使用高品質(zhì)的數(shù)字?jǐn)z像頭,獲取實(shí)時(shí)的圖像數(shù)據(jù)。該攝像頭具備通用PC機(jī)的標(biāo)準(zhǔn)接口。本模塊中使用開源軟件MPEG4IP中的 MP4Live部分,MP4Live用C+十編寫,工作于Linux環(huán)境下,能夠快 速高效地驅(qū)動(dòng)硬件設(shè)備,如USB攝像頭和系統(tǒng)USB總線。本實(shí)施例視頻釆集模塊使用的攝像頭通過(guò)先進(jìn)的CCD圖像解析25芯片實(shí)時(shí)獲取動(dòng)態(tài)圖像數(shù)據(jù),并根據(jù)其底層硬件驅(qū)動(dòng)將數(shù)據(jù)編碼成原 始的YUV格式的圖像數(shù)據(jù),完成初步的編碼。為了保證視頻數(shù)據(jù)源 的高質(zhì)量以及實(shí)時(shí)流暢性,本實(shí)施例使用的數(shù)字?jǐn)z像頭具備高的圖像分辨率,在不使用插值擴(kuò)充的情況下其具備最高720*576的圖像分辨 率;同時(shí)其具有高分辨率下每秒25 30幀以上的幀率,人眼不再感到 明顯遲滯,滿足視頻實(shí)時(shí)性的要求,保證了用戶觀看視頻的流暢性; 攝像頭還使用了高速的USB2.0接口與系統(tǒng)相連接,也保證了釆集到 5的圖像數(shù)據(jù)能夠被快速連續(xù)地傳送至系統(tǒng)緩沖區(qū),供視頻編碼模塊使 用。在此過(guò)程中,系統(tǒng)還通過(guò)多線程和同步等方法來(lái)保證接收到的原 始數(shù)據(jù)被準(zhǔn)確無(wú)誤地送至編碼模塊進(jìn)行編碼。此外,在存放至編碼幀隊(duì)列之前,MP4Live還對(duì)原始的視頻數(shù)據(jù) 進(jìn)行了一些必要的處理,設(shè)置一些視頻解析的選項(xiàng),如壓縮編碼后視 io頻數(shù)據(jù)的尺寸、畫面亮度、畫面對(duì)比度、每秒編碼幀率、是否保存視 頻文件等。2)視頻編碼模塊其讀取視頻釆集模塊釆集得到的YUV格式的圖像數(shù)據(jù),進(jìn)行壓 縮編碼。壓縮編碼時(shí),其釆用開源的Xvid編碼器。Xvid編碼器使用 15了 l丄OFinal版本,可以完成從YUV格式的圖像序列到Xvid格式的 MPEG-4視頻流的編碼。Xvid編碼器以動(dòng)態(tài)鏈接庫(kù)的方式運(yùn)行,其編碼輸出的是完整的 一幀視頻數(shù)據(jù)。在其編碼的過(guò)程中,會(huì)分析當(dāng)前緩沖區(qū)中緩存的圖像 序列,通過(guò)當(dāng)前圖像與之前圖像之間的差異比較,來(lái)控制編碼幀的格 20式。當(dāng)前后畫面變化劇烈的時(shí)候就將其編碼成為獨(dú)立的I幀,如果畫 面總體變化平緩則編碼成為P幀(支持B幀的時(shí)候還可以編碼為B另外,Xvid編碼器還可以接受顯式的開關(guān)指令來(lái)設(shè)置當(dāng)前編碼 幀的格式。比如,當(dāng)需要保證畫面的連續(xù)性,適時(shí)地減小運(yùn)動(dòng)向量預(yù) 25測(cè)帶來(lái)的誤差積累時(shí),可以定期(每隔幾秒)強(qiáng)制編碼生成I幀,或 者當(dāng)編碼的幀數(shù)積累達(dá)到某一個(gè)值(如IOO幀)時(shí)強(qiáng)制編碼生成I幀。 在本實(shí)施例的系統(tǒng)中使用了后一種方法,每編碼完成100幀時(shí),下一幀強(qiáng)制編碼成I幀。在實(shí)際測(cè)試中該方法有效地減輕了誤差積累帶來(lái) 的畫面下降,1/100的強(qiáng)制刷新比率也沒(méi)有對(duì)編碼性能造成影響。如果服務(wù)器端設(shè)置了允許錄制編碼結(jié)果至實(shí)際文件,那么編碼器編碼得到的視頻數(shù)據(jù)可以被存為MPEG-4視頻文件。在設(shè)定的錄制時(shí) 5間里,編碼器產(chǎn)生的碼流都會(huì)被寫入指定文件名的MPEG-4視頻文 件。3)水印嵌入模塊其接收編碼器生成的Xvid格式的碼流,根據(jù)系統(tǒng)設(shè)置選擇性地 加入數(shù)字水印信息。 io 本系統(tǒng)服務(wù)器端搭建在Linux環(huán)境下,其中可見水印信息放在/home目錄下,水印文件可以通過(guò)配套的圖像預(yù)處理軟件(PhotoShop 等)得到。通過(guò)對(duì)配置文件進(jìn)行設(shè)置,用戶可以控制可見水印嵌入的 初始位置、強(qiáng)度、移動(dòng)的速度和終點(diǎn)位置。實(shí)際運(yùn)行的時(shí)候,用戶只 需要將得到的水印文件和配置文件放到指定的文件夾下,系統(tǒng)在啟動(dòng) 15時(shí)就能夠自動(dòng)完成加載,并按要求完成可見水印的嵌入搡作。數(shù)字水印信息被嵌入至Xvid編碼生成的視頻碼流中,完成了數(shù) 字水印信息的嵌入操作之后,經(jīng)修改的新的碼流就被作為實(shí)際傳輸所 需的視頻數(shù)據(jù)送至流媒體處理模塊,供存儲(chǔ)和轉(zhuǎn)發(fā)使用。另外,在系統(tǒng)初始運(yùn)行時(shí),管理員可以設(shè)置是否需要嵌入數(shù)字水 20印信息,其可以通過(guò)上述服務(wù)器端實(shí)施例的嵌入開關(guān)模塊或其他方式 來(lái)實(shí)現(xiàn)。該項(xiàng)設(shè)置保證了本系統(tǒng)運(yùn)行的靈活性,可以根據(jù)實(shí)際需求選 擇性地加入該功能,因此嵌入開關(guān)模塊也屬于服務(wù)器端的可選單元。為了提高系統(tǒng)對(duì)抗水印破解的能力,系統(tǒng)釆用數(shù)據(jù)融合算法,使 水印圖像與原始的視頻圖像融合在一起,使得結(jié)果碼流中水印部分的25數(shù)據(jù)并非常量,而是隨著原始碼流中視頻數(shù)據(jù)的變化而變化。除此之夕卜,還可能使水印圖像在視頻畫面中隨時(shí)間進(jìn)行移動(dòng),運(yùn)動(dòng)的速度和 方向均可以在系統(tǒng)的配置文件中進(jìn)行設(shè)置。這樣,得到的結(jié)果碼流中水印部分的數(shù)據(jù)又隨著時(shí)間的變化而變化。上面的方法,使系統(tǒng)對(duì)抗 水印破解的能力大大增強(qiáng),進(jìn)一步提高了系統(tǒng)的健壯性。 4)流媒體處理模塊其是服務(wù)器端的最后一個(gè)環(huán)節(jié),通過(guò)讀取系統(tǒng)相應(yīng)的接口,獲得 5 視頻編碼模塊編碼生成的視頻碼流,然后進(jìn)行存儲(chǔ)和轉(zhuǎn)發(fā)。其中,存發(fā)則是針對(duì)用戶的連接請(qǐng)求,完成視頻數(shù)據(jù)的流傳輸。當(dāng)向用戶進(jìn)行視頻數(shù)據(jù)傳輸時(shí),如果服務(wù)器端設(shè)置了水印開關(guān), 那么可以在準(zhǔn)備傳輸流的同時(shí)對(duì)需要傳輸?shù)囊曨l流嵌入數(shù)字水印。當(dāng) 10向用戶進(jìn)行視頻數(shù)據(jù)傳輸時(shí),使用網(wǎng)絡(luò)通用的流媒體傳輸協(xié)議,以及滿足通用協(xié)議的數(shù)據(jù)包格式,如RTP (Real Time Protocol,實(shí)時(shí)傳輸 協(xié)議)、RTSP ( Real Time Streaming Protocol,實(shí)時(shí)流協(xié)議),還可以實(shí)時(shí)傳輸控制協(xié)議)。 15 當(dāng)向用戶進(jìn)行視頻數(shù)據(jù)傳輸時(shí),根據(jù)流媒體處理模塊的設(shè)置,針對(duì)不同的網(wǎng)絡(luò)狀況,可以選擇具體的傳輸模式,如RTP over TCP ( Transmission Control Protocol,傳輸控制協(xié)議) RTP over UDP ( User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議) RTSP over UDP20 具體釆用何種策略,取決于實(shí)際使用的平臺(tái)以及網(wǎng)絡(luò)支持條件。流媒體處理模塊負(fù)責(zé)讀入視頻編碼模塊中Xvid編碼器編碼之后嵌入了數(shù)字水印信息的視頻碼流,存儲(chǔ)于流媒體處理模塊的媒體庫(kù) 中,供客戶端用戶點(diǎn)播使用。該模塊在本系統(tǒng)中相對(duì)服務(wù)器端其它模塊較為獨(dú)立,可以看成是25 單獨(dú)的組件。本實(shí)施例系統(tǒng)的流媒體處理模塊使用了 Apple公司的DSS (Darwin Streaming Server,達(dá)爾文流媒體服務(wù)器),其是Apple公司面向商業(yè)用戶提供的Quick Time Streaming Server的 一個(gè)開源版本, 針對(duì)流媒體應(yīng)用開發(fā)者,方便其進(jìn)行二次開發(fā)。DSS的功能是提供通 用流媒體服務(wù)器所具備的存儲(chǔ)(管理媒體信息),以及供用戶點(diǎn)播所 需的調(diào)度和傳輸。5 DSS的使用較為便利,僅僅需要開發(fā)人員完成一些基本的定制,其多數(shù)配置選項(xiàng)都是通過(guò)一個(gè)Xml格式的腳本文件進(jìn)行設(shè)置,同時(shí) 其中多數(shù)設(shè)置項(xiàng)都被設(shè)為符合絕大多數(shù)流媒體應(yīng)用場(chǎng)景的默認(rèn)參數(shù)。 因此在使用DSS時(shí)僅需根據(jù)需要合理地設(shè)置某幾項(xiàng)參數(shù),如連接超 時(shí)時(shí)限,最大連接數(shù),媒體播放時(shí)限等。10 本實(shí)施例中,DSS部署于Linux環(huán)境下。DSS需要管理員設(shè)置一個(gè)基本的媒體存儲(chǔ)目錄,其在啟動(dòng)之后會(huì)定時(shí)查詢?cè)撃夸浵碌拿襟w文 件并對(duì)其進(jìn)行屬性分析,分析得到的結(jié)果進(jìn)行歸類編目。DSS目前支持的媒體格式有三種視頻方面包括MOV和MP4, 音頻方面支持MP3。其中,MOV為Apple公司獨(dú)有的視頻文件格式,15而MP4貝U是符合ISO (International Organization for Standardization, 國(guó)際標(biāo)準(zhǔn)化組織)標(biāo)準(zhǔn)的MPEG-4文件。另外,DSS還支持以SDP (Session Description Protocol,會(huì)話描述協(xié)議)格式定義的媒體信息 流。本實(shí)施例中通過(guò)MP4Live生成特定的MPEG-4格式的視頻數(shù)據(jù) 流,因此可以被DSS支持。20 本實(shí)施例在服務(wù)器端Xvid編碼器輸出的是MPEG-4格式的編碼碼流,而非MP4文件,因此當(dāng)使用MPEG-4格式的視頻數(shù)據(jù)流時(shí), 需要有一個(gè)流信息描述文件。本實(shí)施例可使用通用的SDP協(xié)議,其 可詳細(xì)記錄媒體流的一些屬性信息,如分辨率、視頻流數(shù)據(jù)地址、視 頻/音頻流格式及同步信息等。在修改MP4Live的輸出后,運(yùn)行時(shí)會(huì)25 輸出 一 個(gè)SDP文件。該SDP文件詳細(xì)描述了 Xvid編碼器生成的碼流。 DSS通過(guò)對(duì)該SDP文件的分析就可以找到真正的視頻數(shù)據(jù)流并正確 定位,由此來(lái)完成對(duì)視頻流數(shù)據(jù)的存儲(chǔ)和轉(zhuǎn)發(fā)。在接受用戶的連接請(qǐng)求后,DSS自動(dòng)在媒體庫(kù)中查詢相應(yīng)的媒體 信息,當(dāng)負(fù)載合理的情況下讀取媒體信息,并且按照流媒體傳輸?shù)耐?用協(xié)議和格式組織視頻數(shù)據(jù)包,完成網(wǎng)絡(luò)傳送。本實(shí)施例系統(tǒng)客戶端10中網(wǎng)絡(luò)連接、視頻解碼及視頻播放三個(gè)5模塊的具體實(shí)現(xiàn)如下1)網(wǎng)絡(luò)連接模塊其負(fù)責(zé)發(fā)起與服務(wù)器端中流媒體處理模塊的連接,通過(guò)連接之后 接收流媒體處理模塊發(fā)送的視頻數(shù)據(jù)包,并對(duì)其進(jìn)行重排序。在接收 到服務(wù)器端發(fā)送的數(shù)據(jù)包之后,首先對(duì)數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)校驗(yàn),丟棄破10損包,并將接收的完整包進(jìn)行重組和排序,然后送至緩沖區(qū),供解碼器使用。在向流媒體處理模塊進(jìn)行連接請(qǐng)求時(shí),本實(shí)施例使用的是標(biāo)準(zhǔn)的RTSP協(xié)議格式。在從流媒體處理模塊接收視頻數(shù)據(jù)時(shí),可以有以下 幾種不同的傳輸模式,如 15 RTP over TCPRTP over UDPRTSP over UDP具體采用何種策略,則根據(jù)服務(wù)器端的設(shè)置,由其中的流媒體處 理模塊根據(jù)實(shí)際使用的平臺(tái)以及網(wǎng)絡(luò)支持條件來(lái)選擇決定。 20 本實(shí)施例中,連接請(qǐng)求使用流媒體中的通用訪問(wèn)協(xié)議RTSP,其發(fā)送的RTSP連接請(qǐng)求格式如下 rtsp:〃192.168.1.113/20070頓.sdp意指向IP地址為192.168.1.113的計(jì)算機(jī)發(fā)送連接請(qǐng)求,請(qǐng)求名 為20070404.sdp描述文件描述的視頻流/音頻流。25 在請(qǐng)求得到通過(guò)之后,網(wǎng)絡(luò)連接模塊就開始進(jìn)行數(shù)據(jù)接收。此階段的數(shù)據(jù)接收使用流媒體網(wǎng)絡(luò)傳輸中的通用協(xié)議RTP。由于網(wǎng)絡(luò)條件差異,路由的選擇不同,順序發(fā)送的數(shù)據(jù)包有可能不能依次到達(dá)客戶端的網(wǎng)絡(luò)連接模塊,因此需要對(duì)亂序的數(shù)據(jù)包進(jìn)行 重排列。由于RTP協(xié)議中每一個(gè)用于傳輸?shù)拿襟w數(shù)據(jù)包中都加入了 時(shí)間戳,記錄了其在傳輸過(guò)程中的排列順序。因此,在客戶端的網(wǎng)絡(luò) 連接模塊只需要在收到數(shù)據(jù)包之后,將一定量(幾秒至幾分鐘)的數(shù) 5據(jù)包緩存至緩沖區(qū)中。之后分析緩沖區(qū)中每一個(gè)包中所含的時(shí)間戳, 根據(jù)時(shí)間戳的先后順序?qū)?shù)據(jù)包重排。另外,網(wǎng)絡(luò)傳輸中也經(jīng)常會(huì)出 現(xiàn)數(shù)據(jù)包損壞,時(shí)間戳無(wú)法提取的情況,這種情況下的處理方法是直 接丟棄該數(shù)據(jù)包。重排好的數(shù)據(jù)包序列則可以暫存至解碼器的緩沖 區(qū)。10 2)視頻解碼模塊其使用符合ISO標(biāo)準(zhǔn)的MPEG-4解碼器,對(duì)純視頻數(shù)據(jù)包進(jìn)行 解碼,將其還原成為最原始的圖像序列。 3)視頻播放模塊其使用解碼后得到的圖像序列,通過(guò)窗口顯示的方式將最初的視15頻內(nèi)容播放出來(lái),供用戶欣賞。該模塊根據(jù)圖像的大小自動(dòng)調(diào)整播放窗口的大小,還可以根據(jù)用戶的設(shè)置調(diào)節(jié)播放窗口的畫面參數(shù),如亮 度和對(duì)比度等,直接影響用戶的視覺感覺。該模塊還可以包括一些流 媒體視頻播放所需的控制開關(guān),如"連接"、"播放"、"暫停"、"停止"、 "靜音"、"音量調(diào)節(jié)"等。20 上述本實(shí)施例系統(tǒng)的客戶端使用了開源軟件MPEG4IP,使用了其提供的MP4Player作為默認(rèn)的解碼器和播放器。其中所有代碼的修 改,都是在MPEG4IP的基礎(chǔ)上完成的。在實(shí)時(shí)流媒體應(yīng)用中,實(shí)時(shí)性是一個(gè)非常關(guān)鍵的因素,無(wú)論應(yīng)用 的場(chǎng)景如何,針對(duì)的對(duì)象如何,實(shí)時(shí)性都是這一類應(yīng)用中應(yīng)該保證的25最基本要求。實(shí)時(shí)性的具體指標(biāo),通常表現(xiàn)為客戶端能夠獲得每秒至少IO幀視頻數(shù)據(jù)(人眼視覺要求)。而對(duì)于生成視頻碼流的服務(wù)器端 來(lái)說(shuō),其視頻編碼器的編碼效率必須達(dá)到每秒30幀,甚至更高。這樣才能在采取若干流控和擁塞控制的前提下保證客戶端相應(yīng)的接收 速率和播放速率。于是服務(wù)器端要求生成碼流的效率必須高,而釆用 的數(shù)字水印算法計(jì)算復(fù)雜性要低。針對(duì)此種情況,上述本發(fā)明可見水印實(shí)時(shí)嵌入系統(tǒng)實(shí)施例,將編 5碼過(guò)程和水印嵌入過(guò)程有機(jī)的結(jié)合起來(lái),而不是在編碼完全結(jié)束后再 進(jìn)行水印的嵌入,從而不必為加入水印信息而重新進(jìn)行編解碼,大大 的提高了系統(tǒng)的效率。另一方面,服務(wù)器端的可見水印嵌入操作完全 對(duì)客戶端透明,客戶端在接收到視頻數(shù)據(jù)之后,只需進(jìn)行標(biāo)準(zhǔn)的解碼 操作便能夠得到帶有可見水印標(biāo)志的圖像畫面。充分保證了服務(wù)器端 10的編碼器和客戶端的解碼器的運(yùn)行效率不受影響。因此,本發(fā)明可以 充分保證較高的幀率,使用戶獲得較為滿意的播放體驗(yàn)。以上為本發(fā)明的最佳實(shí)施方式,依據(jù)本發(fā)明公開的內(nèi)容,本領(lǐng)域 的普通技術(shù)人員能夠顯而易見地想到一些雷同、替代方案,均應(yīng)落入 本發(fā)明保護(hù)的范圍。
權(quán)利要求
1、一種流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)的服務(wù)器端,其特征在于,包括視頻采集模塊,進(jìn)行視頻數(shù)據(jù)的實(shí)時(shí)采集;視頻編碼模塊,對(duì)采集的視頻數(shù)據(jù)進(jìn)行壓縮編碼;水印嵌入模塊,在所述視頻編碼模塊進(jìn)行壓縮編碼后輸出的碼流中嵌入數(shù)字水印信息,得到含水印的視頻數(shù)據(jù);流媒體處理模塊,對(duì)所述水印嵌入模塊輸出的含水印的視頻數(shù)據(jù)進(jìn)行存儲(chǔ),并根據(jù)客戶端的連接請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)。
2、 如權(quán)利要求1所述的服務(wù)器端,其特征在于,所述視頻采集模塊進(jìn)一步包括視頻捕捉子模塊,對(duì)視頻圖像進(jìn)行實(shí)時(shí)捕捉,獲取動(dòng)態(tài)視頻數(shù)據(jù), 并保存為原始的視頻格式; 15 編碼初始化子模塊,對(duì)所述原始視頻格式的視頻數(shù)據(jù)進(jìn)行簡(jiǎn)單的初始編碼;數(shù)據(jù)緩存子模塊,對(duì)所述初始編碼后的視頻數(shù)據(jù)進(jìn)行緩存。
3、 如權(quán)利要求l所述的服務(wù)器端,其特征在于,所述視頻編碼 模塊進(jìn)一步包括20 MPEG-4編碼子模塊,將所述視頻釆集模塊輸出的視頻數(shù)據(jù)壓縮編碼為MPEG-4格式的視頻數(shù)據(jù);
4、如權(quán)利要求3所述的服務(wù)器端,其特征在于,所述的MPEG-4格式包括ffmpeg、 Divx或Xvid。
5、如權(quán)利要求4所述的服務(wù)器端,其特征在于,所述當(dāng)前幀的 編碼格式包括I幀、P幀或B幀。
6、 如權(quán)利要求1所述的服務(wù)器端,其特征在于,所述水印嵌入 模塊進(jìn)一步包括水印讀取子模塊,用于讀入可見水印圖像的信息; 嵌入配置子模塊,用于設(shè)置水印嵌入的初始位置、強(qiáng)度、移動(dòng)速5度及終點(diǎn)位置參數(shù);數(shù)據(jù)融合子模塊,根據(jù)預(yù)設(shè)的圖像融合算法及所述參數(shù)的配置, 將所述可見水印圖像嵌入所述視頻編碼模塊輸出的碼流中。
7、 如權(quán)利要求1 6任一項(xiàng)所述的服務(wù)器端,其特征在于,所述 服務(wù)器端還包括io 嵌入開關(guān)模塊,用于根據(jù)需要使能或失效所述水印嵌入模塊,以控制是否向所述視頻編碼模塊輸出的碼流中嵌入數(shù)字水印信息。
8、 一種流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)的客戶端,其特征在于, 包括網(wǎng)絡(luò)連接模塊,發(fā)起與服務(wù)器端的連接請(qǐng)求,并接收所述服務(wù)器 is端根據(jù)所述連接請(qǐng)求發(fā)送的視頻數(shù)據(jù);視頻解碼模塊,對(duì)所述網(wǎng)絡(luò)連接模塊接收的所述視頻數(shù)據(jù)進(jìn)行解 碼,得到原始圖像序列;視頻播放模塊,使用所述視頻解碼模塊輸出的原始圖像序列進(jìn)行 播放。
9、如權(quán)利要求8所述的客戶端,其特征在于,所述網(wǎng)絡(luò)連接模塊進(jìn)一步包括連接建立子模塊,發(fā)起與服務(wù)器端的連接請(qǐng)求,并根據(jù)響應(yīng)建立 與所述服務(wù)器端的連接;視頻接收子模塊,利用建立的所述連接,接收所述服務(wù)器端發(fā)送 25 的視頻數(shù)據(jù)包;數(shù)據(jù)緩沖子模塊,對(duì)所述視頻接收子模塊輸出的視頻數(shù)據(jù)進(jìn)行緩 存處理;數(shù)據(jù)校驗(yàn)子模塊,對(duì)所述數(shù)據(jù)緩沖子模塊緩存的視頻數(shù)據(jù)包進(jìn)行 校驗(yàn),丟棄破損包,并將接收的完整包進(jìn)行重組及排序。
10、 一種流媒體可見水印實(shí)時(shí)嵌入系統(tǒng),其特征在于,包括服務(wù) 器端及客戶端,所述服務(wù)器端包括視頻采集模塊,進(jìn)行視頻數(shù)據(jù)的實(shí)時(shí)釆集; 視頻編碼模塊,對(duì)釆集的視頻數(shù)據(jù)進(jìn)行壓縮編碼; 水印嵌入模塊,在所述視頻編碼模塊進(jìn)行壓縮編碼后輸出的碼流中嵌入數(shù)字水印信息,得到含水印的視頻數(shù)據(jù);流媒體處理模塊,對(duì)所述水印嵌入模塊輸出的含水印的視頻數(shù)據(jù)進(jìn)行存儲(chǔ),并根據(jù)客戶端的連接請(qǐng)求進(jìn)行轉(zhuǎn)發(fā); 所述客戶端包括網(wǎng)絡(luò)連接模塊,發(fā)起與服務(wù)器端的連接請(qǐng)求,并接收所述服務(wù)器 端根據(jù)所述連接請(qǐng)求發(fā)送的視頻數(shù)據(jù);視頻解碼模塊,對(duì)所述網(wǎng)絡(luò)連接模塊接收的所述視頻數(shù)據(jù)進(jìn)行解 碼,得到原始圖像序列;視頻播放模塊,使用所述視頻解碼模塊輸出的原始圖像序列進(jìn)行 播放。
全文摘要
本發(fā)明涉及一種流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)的服務(wù)器端,包括視頻采集模塊,進(jìn)行視頻數(shù)據(jù)的實(shí)時(shí)采集;視頻編碼模塊,對(duì)采集的所述視頻數(shù)據(jù)進(jìn)行壓縮編碼;水印嵌入模塊,在視頻編碼模塊進(jìn)行壓縮編碼后輸出的碼流中嵌入數(shù)字水印信息,得到含水印的視頻數(shù)據(jù);流媒體處理模塊,對(duì)水印嵌入模塊輸出的含水印的視頻數(shù)據(jù)進(jìn)行存儲(chǔ),并根據(jù)客戶端的連接請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)。本發(fā)明還包括一種對(duì)應(yīng)的客戶端及由上述服務(wù)器端、客戶端組成的流媒體可見水印實(shí)時(shí)嵌入系統(tǒng)。本發(fā)明流媒體可見水印實(shí)時(shí)嵌入實(shí)施方案,將數(shù)字水印的融合與視頻數(shù)據(jù)的編碼結(jié)合在一起,完成了在流媒體傳輸過(guò)程中實(shí)時(shí)地進(jìn)行可見水印的嵌入,從而實(shí)現(xiàn)了流媒體信息訪問(wèn)過(guò)程中的版權(quán)保護(hù)及鑒別。
文檔編號(hào)H04N7/24GK101325702SQ20081011723
公開日2008年12月17日 申請(qǐng)日期2008年7月25日 優(yōu)先權(quán)日2008年7月25日
發(fā)明者靖 張, 靈 朱, 王思亮, 王道順, 琳 董 申請(qǐng)人:清華大學(xué)