本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種基于Hadoop MapReduce的Block數(shù)據(jù)透明加擾方法。
背景技術(shù):
近年來,數(shù)字視頻技術(shù)迅猛發(fā)展,從視頻會議到視頻點播,從數(shù)字電視到多視點電視,相關(guān)的數(shù)字視頻應用層出不窮,且已經(jīng)走進千家萬戶。然而,從視頻服務商的角度出發(fā),面臨著一個難題:如何保障已付費或已授權(quán)的用戶可接受高質(zhì)量的數(shù)字視頻服務,而未付費或未授權(quán)用戶只能看低質(zhì)量但又能分辨內(nèi)容的數(shù)字視頻服務?這就是數(shù)字視頻透明加擾技術(shù)。由于視頻信號的數(shù)據(jù)量大,而網(wǎng)絡(luò)帶寬有限,因此數(shù)字視頻總是以壓縮的形式進行傳播的。隨著Hadoop大數(shù)據(jù)工具的出現(xiàn),如何在Hadoop MapReduce過程中結(jié)合視頻編碼的特點,實現(xiàn)加擾之后的數(shù)據(jù)格式兼容性,又不影響數(shù)據(jù)的編碼效率和有效傳輸,是一項具有挑戰(zhàn)性的難題。
眾所周知,Hadoop由許多元素構(gòu)成,其最底部是Hadoop Distributed File System(HDFS),它存儲Hadoop集群中所有存儲節(jié)點上的文件。HDFS的上一層是MapReduce引擎。目前,針對Hadoop MapReduce的數(shù)據(jù)加密方法相對較少,而主要側(cè)重于HDFS。例如,論文《一種具有數(shù)據(jù)隱私加密功能的Hadoop系統(tǒng)》(江蘇船舶,2013,30(6):25-27)提出了基于HDFS的混合加密算法;論文《Hadoop下混合加密算法的研究》(數(shù)字技術(shù)與應用,2015)提出一種三重加密方案,使用AES加密HDFS,然后通過RSA加密密鑰,最后使用指紋識別技術(shù)將RSA的私鑰存儲在云端。
對于視頻大數(shù)據(jù)而言,如果在HDFS進行加密,則會難以保證視頻數(shù)據(jù)格式兼容性。因此,有必要提供一種改進的基于Hadoop MapReduce的Block數(shù)據(jù)透明加擾方法來克服上述缺陷。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種基于Hadoop MapReduce的Block數(shù)據(jù)透明加擾方法,以保證視頻數(shù)據(jù)格式的兼容性。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下:
提供一種基于Hadoop MapReduce的Block數(shù)據(jù)透明加擾方法,包括:
根據(jù)視頻圖像的離散余弦變換編碼特點對離散余弦變換系數(shù)進行Zigzag映射及行程編碼;
對經(jīng)過Zigzag映射及行程編碼后的離散余弦變換系數(shù)引入加擾算法以實現(xiàn)對所述視頻圖像的數(shù)據(jù)的透明加擾。
與現(xiàn)有技術(shù)相比,本發(fā)明的方法先根據(jù)視頻圖像的離散余弦變換編碼特點對離散余弦變換系數(shù)進行Zigzag映射及行程編碼,再引入加擾算法以實現(xiàn)對視頻圖像的數(shù)據(jù)的透明加擾。該方法中充分考慮了視頻圖像的離散余弦變換(DCT)編碼特點,且是在Zigzag映射和行程編碼之后引入的加擾算法,沒有改變視頻原有格式,從而保證了視頻數(shù)據(jù)格式的兼容性,非常適合于在線視頻點播、數(shù)字電視等視頻服務應用。
具體地,根據(jù)視頻圖像的離散余弦變換特點對離散余弦變換系數(shù)進行Zigzag映射及行程編碼具體地包括:
將每個視頻圖像的16×16塊按Zigzag順序劃分為16個4×4塊;
將每個4×4塊采用Zigzag映射方式形成B(i,0)、B(i,1)、......、B(i,15),其中,B表示塊,i表示塊中第i個4×4塊;
將16個4×4塊相對應的數(shù)據(jù)采用Map過程映射到16個對應的Reduce端以形成塊B(i,j),每一塊B(i,j)中具有16個數(shù)據(jù);
采樣行程編碼技術(shù)將每個塊B(i,j)中的16個數(shù)據(jù)合并為新的第j個Block;
對新的第j個Block進行Reduce數(shù)據(jù)處理以形成Block0‘、Block1‘、......、Block15‘。
具體地,對經(jīng)過Zigzag映射及行程編碼后的離散余弦變換系數(shù)引入加擾算法具體為:
對Block0‘、Block1‘、......、Block15‘逐一引入加擾算法以實現(xiàn)對視頻圖像的數(shù)據(jù)的透明加擾。
可選地,加擾算法為Blocki’中系數(shù)符號的隨機翻盤。具體地,假設(shè)系數(shù)為B(i,j)(0≤i,j≤15),隨機密鑰為K(i,j)(0≤i,j≤15,K(i,j)=±1),則翻盤后的系數(shù)為B(i,j)‘=E(B(i,j))=B(i,j)×K(i,j)。這種方法雖然沒有改變系數(shù)的統(tǒng)計特性,加擾效果不顯著,但算法簡單,易于實現(xiàn),對計算資源消耗少。
可選地,加擾算法為Blocki’隨機洗牌。具體地,將Blocki’(0≤i≤15)作為一個基本單位進行隨機置亂,而Blocki’中系數(shù)的相對位置不變。這種洗牌改變了塊間相關(guān)性,總體效果優(yōu)于符號的隨機翻盤。
可選地,加擾算法為Blocki’中系數(shù)B(i,j)(0≤i,j≤15)的隨機洗牌。具體地,將每個Blocki’中系數(shù)B(i,j)進行隨機置亂,破壞了系統(tǒng)的統(tǒng)計特性,其置亂效果總體上最優(yōu),但對計算資源和密鑰開銷也大,適合于高安全性的視頻保密需求。
通過以下的描述并結(jié)合附圖,本發(fā)明將變得更加清晰,這些附圖用于解釋本發(fā)明的實施例。
附圖說明
圖1為Zigzag映射過程示意圖。
圖2為本發(fā)明基于Hadoop MapReduce的Block數(shù)據(jù)透明加擾方法的主流程圖。
圖3為本發(fā)明方法一實施例的流程圖。
圖4為本發(fā)明MapReduce過程的示意圖。
具體實施方式
現(xiàn)在參考附圖描述本發(fā)明的實施例,附圖中類似的元件標號代表類似的元件。
為了更好地闡述本發(fā)明,先對其所涉及的基本技術(shù)做如下介紹:
(1)行程編碼技術(shù)
其基本原理是:用一個符號值或串長代替具有相同值的連續(xù)符號(連續(xù)符號構(gòu)成了一段連續(xù)的“行程”,行程編碼因此而得名),使符號長度少于原始數(shù)據(jù)的長度。例如:999999777775500000,行程編碼為:(9,6)(7,5)(5,2)(3,4)(0,5)??梢姡谐叹幋a的位數(shù)遠遠少于原始字符串的位數(shù)。
(2)Zigzag映射技術(shù)
在JPEG、MEPG、H.26X等視頻圖像編碼中,普遍采用了離散余弦變換(DCT)變換編碼算法,將圖像從像素域變換到頻率域。由于一般視頻圖像都存在很多冗余和相關(guān)性,所以DCT轉(zhuǎn)換到頻率域之后,只有很少的一部分頻率分量的系數(shù)才不為0,大部分系數(shù)都為0(或者說接近于0),這樣就可以進行高效的編碼,以達到壓縮的目的。DCT變換以Block(塊)為單位,塊大小可定義為M×N,通常具有4×4、8×8、16×16三種塊大小。以8×8塊為例,如圖1所示,通過DCT變換得到的系數(shù)矩陣圖將具體如下特征:從左上角依次到右下角,頻率越來越高,左上角的值比較大,到右下角的值就很小很小了,而且絕大部分均為0或接近于0。換句話說,圖像的能量幾乎都集中在左上角這個地方的低頻系數(shù)上面。
在這種背景下,采用Zigzag映射和行程編碼技術(shù)可以極大地提升圖像編碼效率,也是目前圖像編碼普通采用的編碼方式。
因此,基于上述技術(shù),本發(fā)明的工作原理是:結(jié)合視頻DCT變換編碼的特點,如JPEG、MEPG、H.26X等,在DCT系數(shù)經(jīng)過Zigzag映射和行程編碼之后,通過引入加擾算法,以實現(xiàn)視頻圖像數(shù)據(jù)的透明加擾,可應用于在線視頻點播、數(shù)字電視等視頻服務。需要說明的是,在本發(fā)明中,加擾過程是指在reduce之后、output之前的過程。
具體地,請參考圖2,本發(fā)明的方法主要包括:
S201,根據(jù)視頻圖像的離散余弦變換編碼特點對離散余弦變換系數(shù)進行Zigzag映射及行程編碼;
S202,對經(jīng)過Zigzag映射及行程編碼后的離散余弦變換系數(shù)引入加擾算法以實現(xiàn)對視頻圖像的數(shù)據(jù)的透明加擾。
具體地,再請參考圖3及圖4,在本發(fā)明的一優(yōu)選實施例中,該方法具體包括:
S301,將每個視頻圖像16×16Block塊按Zigzag順序(如圖1)分為16個4×4塊。
S302,針對每個4×4塊,采用Zigzag映射方式形成B(i,0)、B(i,1)、......、B(i,15),其中,i表示Block中第i個4×4塊。
S303,采用Map過程將16個4×4塊相對應數(shù)據(jù)映射到16個對應的Reduce端。由于圖像的DCT變換特點,B(i,j)(任一個block中,j取值不變)中的16個數(shù)據(jù)具有很強的相關(guān)性。
S304,在合并過程中,采用行程編碼技術(shù),將每個B(i,j)(任一個block中,j取值不變)中的16個強相關(guān)性數(shù)據(jù)合并為新的第j個Block。
S305,做Reduce數(shù)據(jù)處理,形成Block0‘、Block1‘、......、Block15‘。
S306,針對每個Blocki‘(即Block0‘、Block1‘、......、Block15‘)逐一引入加擾算法以實現(xiàn)對所述視頻圖像的數(shù)據(jù)的透明加擾,其中0≤i≤15。
具體地,加擾算法分別包括以下三種:
算法1:Blocki’中系數(shù)符號的隨機翻盤。假設(shè)系數(shù)為B(i,j)(0≤i,j≤15),隨機密鑰為K(i,j)(0≤i,j≤15,K(i,j)=±1),則翻盤后的系數(shù)為B(i,j)‘=E(B(i,j))=B(i,j)×K(i,j)。這種方法雖然沒有改變系數(shù)的統(tǒng)計特性,加擾效果不顯著,但算法簡單,易于實現(xiàn),對計算資源消耗少。
算法2:Blocki’隨機洗牌。將Blocki’(0≤i≤15)作為一個基本單位進行隨機置亂,而Blocki’中系數(shù)的相對位置不變。這種洗牌改變了塊間相關(guān)性,總體效果優(yōu)于符號的隨機翻盤。
算法3:Blocki’中系數(shù)B(i,j)(0≤i,j≤15)的隨機洗牌。將每個Blocki’中系數(shù)B(i,j)進行隨機置亂,破壞了系統(tǒng)的統(tǒng)計特性,其置亂效果總體上最優(yōu),但對計算資源和密鑰開銷也大,適合于高安全性的視頻保密需求。
從以上描述可以看出,與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:充分考慮了圖像的DCT變換特點,針對不同應用對加擾效果的需求,給出了三種加擾方法,且由于沒有改變視頻原有格式,保證了視頻數(shù)據(jù)格式兼容性,非常適合于在線視頻點播、數(shù)字電視等視頻服務的應用。
此外,就本發(fā)明的技術(shù)方案,還做了相關(guān)的實驗比較。具體地,在進行試驗時,采用的實驗環(huán)境為:Hadoop-1.2.1,Ubuntu 14.04,聯(lián)想四核CPU,主頻2.6GHz,內(nèi)存8G,硬盤512G。所得到的實驗結(jié)果為:實驗以信噪比、運行時間及碼率作為觀察變量,為了保證實驗的準確度,實驗中以H.264標準視頻格式作為測試視頻,每幀為704×576像素(D1),并將Map和Reduce數(shù)量均設(shè)為16。取128M大小的H.264標準視頻進行測試,與未采用加擾算法相比較,如下表所示:
以上結(jié)合最佳實施例對本發(fā)明進行了描述,但本發(fā)明并不局限于以上揭示的實施例,而應當涵蓋各種根據(jù)本發(fā)明的本質(zhì)進行的修改、等效組合。