王振華,陳啟美,陳釗正
(南京大學 電子科學與工程學院,江蘇 南京 210093)
審片在電視行業(yè)中一般是指新聞成片從記者編輯完成到最后播出的過程。由于傳統(tǒng)模式審片需要審片人固定在電視臺內部某個特定的區(qū)域進行,限制了審片人的時間和工作,同時也嚴重限制了節(jié)目的審查時間。雖然目前已有一些基于外網的審片系統(tǒng)[1-2],但其安全性卻缺乏相應的機制來保障,或者不夠充分,一般是將節(jié)目加密后下載到審片終端,再由終端解碼后進行節(jié)目審查。這種安全機制必須進行文件的整體搬移,同時密碼不容易實時更新,容易被截獲和破解。
本文設計了一種基于Https的實時在線視頻審片模式,將MPEG-2視頻轉換為H.264格式后通過3G網絡發(fā)送到手機上,并建立一系列安全設置保證審片和相應數據的安全。
電視臺內存儲的MPEG-2格式視頻體積過大,不適合使用3G網絡傳輸,因此需要將其轉換為H.264格式。常用的轉碼算法有級聯像素域轉換編碼(CPDT),此算法先對視頻完全解碼,在像素域進行空間或時間的重采樣,再重新編碼。這種方法由于對宏塊數據的運動矢量和編碼模式都重新做了計算,因此重建圖像質量高,但是轉碼效率低,難以達到審片系統(tǒng)技術的要求。另有壓縮域處理算法(CDP),直接處理壓縮域數據,相比CPDT效率較高,得到了廣泛應用,但也有諸多困難:1)H.264定義了7種宏塊模式[3-4],轉碼時需要對這7種模式分別測試編碼效率,運算量巨大;2)H.264提出了1/4像素運動估計的方法,以提高進度,但也因此需要對MPEG-2中的運動矢量重新搜索;3)H.264采用4×4大小的整形變換代替MPEG-2中8×8大小的DCT變換,因此無法按照傳統(tǒng)壓縮域視頻處理方式在DCT域進行運動補償等操作。
為解決上述困難,本文采用了如圖1所示的轉碼算法,圖中的輸入為MPEG-2碼流,輸出為H.264碼流。
在圖1中,整個算法在壓縮域完成,然而H.264采用4×4大小的整形變換代替MPEG-2中8×8大小的DCT變換。為了在壓縮域正確完成轉碼而不增加額外的計算量,在幀內編碼時使用DCT-to-PEL結構完成MPEG-2與H.264之間變換模式的轉換;在幀間編碼時使用DCT-to-DCT結構完成MPEG-2與H.264之間變換模式的轉換。進一步在幀內編碼時同樣使用DCT-to-DCT結構完成MPEG-2與H.264之間變換模式的轉換,可省略圖1中幀內預測的計算開銷。
為解決遍歷宏塊模式導致的運算量過大的問題,可以利用轉碼前后碼流數據的相關性預測H.264的宏塊模式。由于手機審片對分辨力要求不高,因此轉碼時會將MPEG-2視頻的水平和垂直分辨力各降低一半,這樣MPEG-2中的相鄰4個宏塊對應H.264的1個宏塊,轉碼前MPEG-2碼流可提供的特征數據有塊模式、MV、SAD。而轉碼后通過統(tǒng)計計算所獲得的H.264碼流的特征數據有塊模式、MV。通過分析、比較所有這些數據,選擇其中取值相對較大的數據作為關鍵影響因子,通過這種方法減少轉碼時間,提高了轉碼效率,與此同時又不會對PSNR以及主觀性能造成很大的影響。
該系統(tǒng)通過一系列加密和安全設置保證審片的安全性,安全設置主要包含以下4個方面:
1)設立中心服務器:中心服務器設置在內網中,并提供公網接口,主要負責MPEG-2到H.264的轉碼、視頻的加密與發(fā)布以及審片意見的接收。
2)對審片終端的證書認證:在審片終端安裝證書,證書根據終端的序列號的哈希值生成,具有唯一性,離開本機即失效。
3)視頻流的加密發(fā)布:對視頻流采用AES算法[5]加密。
4)審片意見的加密返回:終端采用證書公鑰對由審片意見、隨機數、時間戳組成的字符串加密后返回中心服務器。
中心服務器的設立隔離了內網和外網的數據,提高了安全性,且兼容原有審片系統(tǒng)。中心服務器分為轉碼模塊、發(fā)布模塊、通信模塊、密鑰庫及證書認證中心4部分組成。中心服務器的結構如圖2所示。
中心服務器接收到從電視臺內部節(jié)目制作中心發(fā)送來的MPEG-2視頻后,首先由轉碼模塊將MPEG-2視頻轉換為H.264視頻;此視頻存放在中心服務器硬盤上,由發(fā)布模塊以Https方式發(fā)布;通信模塊負責與審片終端的交互通信以及接收返回的審片意見;返回的審片意見經解密后存放在電視臺內部數據庫。
終端為智能手機、PDA或筆記本或計算機,在終端上安裝數字證書,證書使用Openssl生成,Openssl是一個開源的加密工具,可以生成私鑰和簽發(fā)X.509證書。
對終端的認證采取如下步驟:
1)終端試圖登錄系統(tǒng)時,服務器將隨機數和時間戳組成的字符串使用私鑰加密后,發(fā)送到終端;
2)終端使用證書解密上述字符串;
3)終端將用戶名密碼隨機數和時間戳組成的字符串使用證書加密后發(fā)送到服務器;
4)服務器解密此字符串并驗證通過后,終端才可登錄系統(tǒng)。
在服務器端設置有時間窗口,若時間戳與當前系統(tǒng)時間差大于此窗口,則丟棄數據包。此時間窗口設置得越大,則對網絡的延遲性容忍度越高,設置得越小,則對竊聽和偽造數據的防范性越好。
對審片意見的加密同樣要通過以上步驟。
2.3.1 加密算法
現在常用的加密方法分為對稱加密和非對稱加密兩類。對稱加密的加密和解密采用同樣的密鑰,解密即加密的逆運算。這類加密的安全性基本依賴于密鑰長度,相比非對稱加密安全性較差,且密鑰管理困難,但優(yōu)點是計算速度快。非對稱加密使用兩個密鑰:公鑰和私鑰,分別用來加密和解密。這類算法安全性高,密鑰管理簡單,但算法較為復雜。為減少運算量,本系統(tǒng)對流媒體傳輸采用AES對稱加密算法。
AES即高級加密標準,又被稱為Rijndael加密法,是現在對稱加密最流行的算法之一,由比利時密碼學家Joan Daemen和Vincent Rijmen所設計。參考文獻[5]對算法做了詳細描述。加密算法由以下部分組成:1)一個初始化的圈密鑰加法;2)Nr-1圈變換,Nr為圈數;3)最后1圈變換。
用C偽代碼表示如下:
2.3.2 解密算法
對稱加密算法的解密算法就是加密算法的逆運算,解密算法用C偽代碼表示如下:
本實驗在Windows Mobile手機、Android手機和iPhone上都作了測試,均可正常運行。視頻分辨力為CIF(352×288),幀率為15 f/s(幀/秒)。服務器使用英特爾至強雙核處理器,Ubuntu9.04操作系統(tǒng)。實驗使用的網絡為電信CDMA2000。對審片系統(tǒng)共進行了6次延時測試,結果如表1所示。
表1 審片系統(tǒng)延時測試
實驗共進行了6次4.5 h測試,大部分時間播放流暢,延時為2~3 s左右,偶爾會出現緩沖,緩沖后延時會增大到約6 s。對于對延時沒有很嚴格要求的審片系統(tǒng)來說,這一性能可以滿足要求。
使用筆記本式計算機訪問審片系統(tǒng)。筆記本式計算機上已經安裝了數字證書,連接時要求確認證書,如圖3所示。點擊確認后,則終端與服務器間的通信都是經過加密的。
該文實現了一種安全的外網審片系統(tǒng),大大提高了審片的效率,且通過多種認證和加密手段保證了系統(tǒng)的安全性。該系統(tǒng)已經在南京電視臺試運行,且在Win?dows Mobile,Android,iOS上都可正常運行,實現了跨平臺的應用。
[1]姚威,鄧偉,史鵬程,等.一種網絡化文件化數字媒體節(jié)目審片系統(tǒng):中國,200910305534.4[P].2010-02-17.
[2]李向坤.基于3G公用網的廣播電視新聞采集傳輸系統(tǒng)研究[J].中國傳媒大學學報:自然科學版,2009,16(2):78-82.
[3]畢厚杰.新一代視頻壓縮編碼標準[M].北京:人民郵電出版社,2005.
[4]PURI A,CHEN Xuemin,LUTHRA A.Video coding using the H.264/MPEG-4 AVC compression standard[J].Signal Processing:Image Communication,2004,19(9):793–849.
[5]DAEMEN J,RIJMEN V.AES Proposal:Rijndael[R/OL].[2011-11-02].http://www.cryptosoft.de/docs/Rijndael.pdf.