本技術(shù)涉及數(shù)據(jù)處理,尤其涉及基于加密視頻的信息隱藏方法、裝置、電子設(shè)備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品。
背景技術(shù):
1、在vvc(versatile?video?coding,多功能視頻編碼)視頻編碼場景中,關(guān)于加密域信息隱藏方案通常是基于cavlc(context-adaptive?varialbe-length?coding,基于上下文的自適應(yīng)變長編碼)熵編碼實現(xiàn)的,并且保留了cabac(context-adaptive?binaryarithmetic?coding,上下文自適應(yīng)的二進制算術(shù)編碼)熵編碼模式,針對這種熵編碼模式的加密域信息隱藏方法均是在cabac的二進制化之后實現(xiàn)的。
2、此外,目前基于h.266/vvc的研究都局限于視頻本身的加密,雖然針對數(shù)字圖像設(shè)計了許多加密和水印算法。然而,視頻編解碼過程比圖像壓縮過程復(fù)雜得多。因此,上述算法無法直接不能應(yīng)用到在vvc加密視頻中加入隱藏信息的場景中。
3、上述內(nèi)容僅用于輔助理解本技術(shù)的技術(shù)方案,并不代表承認上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實現(xiàn)思路
1、本技術(shù)的主要目的在于提供一種基于加密視頻的信息隱藏方法、裝置、電子設(shè)備、計算機可讀存儲介質(zhì)及計算機程序產(chǎn)品,旨在解決目前的加密域信息隱藏方案無法應(yīng)用到vvc加密視頻的數(shù)據(jù)隱藏場景的技術(shù)問題。
2、為實現(xiàn)上述目的,本技術(shù)提出一種基于加密視頻的信息隱藏方法,所述的基于加密視頻的信息隱藏方法包括:
3、根據(jù)預(yù)設(shè)的第一密鑰和第二密鑰分別生成對應(yīng)的第一加密序列和第二加密序列;
4、在對原始視頻進行熵編碼的過程中,通過所述第一加密序列對原始視頻對應(yīng)的原始qtc符號、原始mvd符號以及原始亮度ipm分別進行加密,得到加密vvc碼流;
5、通過所述第二加密序列對原始隱藏信息進行加密,得到加密隱藏信息;
6、將所述加密隱藏信息嵌入所述加密vvc碼流中,并對嵌入所述加密隱藏信息后的加密vvc碼流進行二進制化處理,得到目標(biāo)加密視頻。
7、在一實施例中,所述加密vvc碼流至少包括加密qtc符號、加密mvd符號以及加密亮度ipm;
8、所述通過所述第一加密序列對原始視頻對應(yīng)的原始qtc符號、原始mvd符號以及原始亮度ipm分別進行加密,得到加密vvc碼流的步驟包括:
9、當(dāng)編碼到qtc時,根據(jù)所述第一加密序列對所述原始qtc符號進行加密,得到加密qtc符號;
10、當(dāng)編碼到mvd時,根據(jù)所述第一加密序列對所述原始mvd符號的mvd水平分量和mvd垂直分量分別進行加密,得到加密mvd符號;
11、當(dāng)編碼到亮度ipm時,根據(jù)所述第一加密序列對所述原始亮度ipm的色度ipm進行加密,得到加密亮度ipm。
12、在一實施例中,所述根據(jù)所述第一加密序列對所述原始qtc符號進行加密,得到加密qtc符號的步驟包括:
13、在編碼過程中,依次對所述原始qtc符號和所述第一加密序列中的每一位分別進行異或運算,得到加密qtc符號;
14、或,在編碼過程中,基于所述第一加密序列中每一位的取值情況,依次對所述原始qtc符號中的每一位進行處理,得到加密qtc符號,其中,當(dāng)所述第一加密序列中的當(dāng)前位為0時,所述原始qtc符號中的對應(yīng)位的數(shù)值保持不變,當(dāng)所述第一加密序列中的當(dāng)前位為1時,對所述原始qtc符號中的對應(yīng)位的數(shù)值取相反數(shù)。
15、在一實施例中,所述加密mvd符號包括加密后的mvd水平分量和加密后的mvd垂直分量;
16、所述根據(jù)所述第一加密序列對所述原始mvd符號的mvd水平分量和mvd垂直分量分別進行加密,得到加密mvd符號的步驟包括:
17、基于所述第一加密序列中每一位的取值情況,對所述mvd水平分量中的每一位進行處理,得到加密后的mvd水平分量,其中,當(dāng)所述第一加密序列中的當(dāng)前位為0時,保持所述mvd水平分量中的對應(yīng)位的數(shù)值不變,當(dāng)所述第一加密序列中的當(dāng)前位為1時,對所述mvd水平分量中的對應(yīng)位的數(shù)值取相反數(shù);
18、基于所述第一加密序列中每一位的取值情況,對所述mvd垂直分量中的每一位進行處理,得到加密后的mvd垂直分量,其中,當(dāng)所述第一加密序列中的當(dāng)前位為0時,保持所述mvd垂直分量中的對應(yīng)位的數(shù)值不變,當(dāng)所述第一加密序列中的當(dāng)前位為1時,對所述mvd垂直分量中的對應(yīng)位的數(shù)值取相反數(shù)。
19、在一實施例中,所述將所述加密隱藏信息嵌入所述加密vvc碼流中的步驟包括:
20、確定當(dāng)前編碼單元中qtc振幅對應(yīng)的非零系數(shù)個數(shù);
21、當(dāng)所述非零系數(shù)個數(shù)大于1且小于預(yù)設(shè)數(shù)量時,隨編碼進度在所述加密vvc碼流中的當(dāng)前編碼單元中嵌入1比特的加密隱藏信息,其中,所述當(dāng)前編碼單元的非零系數(shù)大于1;
22、當(dāng)所述非零系數(shù)個數(shù)不小于所述預(yù)設(shè)數(shù)量時,隨編碼進度在所述加密vvc碼流的當(dāng)前編碼單元中前預(yù)設(shè)數(shù)量的幅值中嵌入2比特的加密隱藏信息。
23、在一實施例中,所述在所述加密vvc碼流中的當(dāng)前編碼單元中嵌入1比特的加密隱藏信息的步驟包括:
24、對所述當(dāng)前編碼單元中各非零系數(shù)的振幅之和與1進行取模運算,得到第一余數(shù);
25、若所述第一余數(shù)與所述加密隱藏信息的當(dāng)前位的異或結(jié)果為0,則保持各所述非零系數(shù)的振幅不變;
26、若所述異或結(jié)果為1且各所述非零系數(shù)的振幅均相等,則將所述當(dāng)前編碼單元的最后一個非零系數(shù)的振幅加1;
27、否則,將所述當(dāng)前編碼單元的最后一個非零系數(shù)的振幅減1。
28、在一實施例中,所述預(yù)設(shè)數(shù)量為9,所述在所述加密vvc碼流的當(dāng)前編碼單元中前預(yù)設(shè)數(shù)量的幅值中嵌入2比特的加密隱藏信息的步驟之后,所述方法還包括:
29、對前三個非零系數(shù)的振幅之和與1進行取模運算,得到第二余數(shù);
30、對第四個至第六個非零系數(shù)的振幅之和與1進行取模運算,得到第三余數(shù);
31、對第七個至第九個非零系數(shù)的振幅之和與1進行取模運算,得到第四余數(shù);
32、當(dāng)所述第二余數(shù)與第三余數(shù)的異或結(jié)果等于所述加密隱藏信息的當(dāng)前位,且所述第三余數(shù)與所述第四余數(shù)的異或結(jié)果等于所述加密隱藏信息的當(dāng)前位的后一位時,保持各所述非零系數(shù)的振幅不變;
33、當(dāng)所述第二余數(shù)與第三余數(shù)的異或結(jié)果不等于所述加密隱藏信息的當(dāng)前位,且所述第三余數(shù)與所述第四余數(shù)的異或結(jié)果等于所述加密隱藏信息的當(dāng)前位的后一位時,判斷前三個非零系數(shù)的振幅是否均為1;
34、若是,則將第三個非零系數(shù)的振幅置為2,否則,將前三個非零系數(shù)中最后一個大于1的非零系數(shù)減1;
35、當(dāng)所述第二余數(shù)與第三余數(shù)的異或結(jié)果不等于所述加密隱藏信息的當(dāng)前位,且所述第三余數(shù)與所述第四余數(shù)的異或結(jié)果不等于所述加密隱藏信息的當(dāng)前位的后一位時,判斷第四個至第六個非零系數(shù)的振幅是否均為1;
36、若是,則將第六個非零系數(shù)的振幅置為2,否則,將第四個至第六個非零系數(shù)中最后一個大于1的振幅的取值減1;
37、當(dāng)所述第二余數(shù)與第三余數(shù)的異或結(jié)果等于所述加密隱藏信息的當(dāng)前位,且所述第三余數(shù)與所述第四余數(shù)的異或結(jié)果不等于所述加密隱藏信息的當(dāng)前位的后一位時,判斷第七個至第六個非零系數(shù)的振幅是否均為1;
38、若是,則將第九個非零系數(shù)的振幅置為2,否則,將第七個至第九個非零系數(shù)中最后一個大于1的振幅的取值減1。
39、在一實施例中,所述基于加密視頻的信息隱藏方法還包括:
40、基于所述第一密鑰和所述第二密鑰,生成分別對應(yīng)的第一解密序列和第二解密序列;
41、對所述目標(biāo)加密視頻進行熵解碼,得到對應(yīng)的加密元素;
42、從所述加密元素中非零系數(shù)大于1的編碼單元中提取出加密隱藏信息,并通過第二解密序列還原所述加密隱藏信息,得到原始隱藏信息;
43、通過所述第一解密序列對提取加密隱藏信息后的加密元素進行解密,得到原始qtc符號、原始mvd符號以及原始亮度ipm;
44、對所述原始qtc符號、所述原始mvd符號以及所述原始亮度ipm先后進行反量化、反變換以及幀內(nèi)/幀間預(yù)測,得到原始視頻。
45、此外,為實現(xiàn)上述目的,本技術(shù)還提出一種基于加密視頻的信息隱藏裝置,所述基于加密視頻的信息隱藏裝置包括:
46、序列生成模塊,用于根據(jù)預(yù)設(shè)的第一密鑰和第二密鑰分別生成對應(yīng)的第一加密序列和第二加密序列;
47、選擇加密模塊,用于根據(jù)在對原始視頻進行熵編碼的過程中,通過所述第一加密序列對原始視頻對應(yīng)的原始qtc符號、原始mvd符號以及原始亮度ipm分別進行加密,得到加密vvc碼流;
48、隱藏加密模塊,用于通過所述第二加密序列對原始隱藏信息進行加密,得到加密隱藏信息;
49、信息嵌入模塊,用于將所述加密隱藏信息嵌入所述加密vvc碼流中,并對嵌入所述加密隱藏信息后的加密vvc碼流進行二進制化處理,得到目標(biāo)加密視頻。
50、此外,為實現(xiàn)上述目的,本技術(shù)還提出一種電子設(shè)備,所述設(shè)備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序配置為實現(xiàn)如上文所述的基于加密視頻的信息隱藏方法的步驟。
51、此外,為實現(xiàn)上述目的,本技術(shù)還提出一種存儲介質(zhì),所述存儲介質(zhì)為計算機可讀存儲介質(zhì),所述存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文所述的基于加密視頻的信息隱藏方法的步驟。
52、此外,為實現(xiàn)上述目的,本技術(shù)還提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文所述的基于加密視頻的信息隱藏方法的步驟。
53、本技術(shù)提出了一種基于加密視頻的信息隱藏方法,首先根據(jù)預(yù)設(shè)的第一密鑰和第二密鑰分別生成對應(yīng)的第一加密序列和第二加密序列,在對原始視頻進行熵編碼的過程中,通過所述第一加密序列對原始視頻對應(yīng)的原始qtc(quantized?transformcoefficient,量化變化系數(shù))符號、原始mvd(motion?vector?difference,運動矢量差)符號以及原始亮度ipm(intra?prediction?mode,幀內(nèi)預(yù)測模式)分別進行加密,得到加密vvc碼流,再通過所述第二加密序列對原始隱藏信息進行加密,得到加密隱藏信息,最后將所述加密隱藏信息嵌入所述加密vvc碼流中,并對嵌入所述加密隱藏信息后的加密vvc碼流進行二進制化處理,得到目標(biāo)加密視頻。本技術(shù)的技術(shù)方案中采取了qtc、mvd、ipm等相對獨立的語法元素分別進行加密操作,這樣加密完成后的目標(biāo)加密視頻的隱藏信息提取過程和解密過程可交換,允許加密形式的標(biāo)記和篡改檢測。另外,由于本技術(shù)技術(shù)方案中的加密過程在熵編碼的二進制之前進行,相比傳統(tǒng)的二進制后進行信息隱藏,能有效提高數(shù)據(jù)隱藏方案的嵌入容量,而且本技術(shù)技術(shù)方案中采用的選擇加密和信息隱藏技術(shù)均對vvc編碼器的格式?jīng)]有影響,因此具有格式兼容性,帶有隱藏數(shù)據(jù)的加密視頻可由標(biāo)準vvc解碼器解碼,能適用于vvc編碼器加密視頻中的加入隱藏信息的場景。