本發(fā)明涉及一種視頻壓縮,尤其涉及一種基于上下文的雙目視頻壓縮方法。
背景技術(shù):
1、隨著多媒體技術(shù)的快速發(fā)展和互聯(lián)網(wǎng)應(yīng)用的泛普及,高清視頻數(shù)據(jù)的海量增長(zhǎng)給存儲(chǔ)和傳輸帶來了巨大挑戰(zhàn)。視頻壓縮技術(shù)通過去除視頻數(shù)據(jù)中的冗余信息,有效降低了視頻文件的大小,同時(shí)盡量保持了視頻的視覺質(zhì)量。
2、現(xiàn)有神經(jīng)視頻壓縮方法多采用預(yù)測(cè)殘差編碼框架,但視頻運(yùn)動(dòng)導(dǎo)致對(duì)象邊界常出現(xiàn)新內(nèi)容,難以在先前幀中找到良好參考,從而面臨殘差大、幀間編碼效果不佳的挑戰(zhàn)。基于上下文的視頻壓縮框架以特征域上下文作為條件,能更靈活地學(xué)習(xí)時(shí)空間相關(guān)性,提升重建視頻質(zhì)量。然而,當(dāng)前研究多聚焦于單目視頻壓縮,對(duì)雙目視頻及多視點(diǎn)立體視頻壓縮探索較少。雙目視頻中,除視點(diǎn)內(nèi)部冗余外,視點(diǎn)間的相關(guān)性也為壓縮算法提供了優(yōu)化空間。有效利用這些冗余信息,可進(jìn)一步減小視頻文件大小,提升壓縮性能。
3、公開號(hào)為cn119232941a的中國(guó)發(fā)明專利申請(qǐng)公開了一種基于深度學(xué)習(xí)的雙目視頻壓縮方法,采用可變形卷積對(duì)運(yùn)動(dòng)信息和視間信息進(jìn)行處理,實(shí)現(xiàn)了利用視點(diǎn)間的冗余和本身相同視點(diǎn)間的冗余進(jìn)行高質(zhì)量視頻壓縮,但可變形卷積在訓(xùn)練過程中可能存在偏移溢出等問題,相對(duì)不穩(wěn)定。
技術(shù)實(shí)現(xiàn)思路
1、考慮到現(xiàn)有技術(shù)中訓(xùn)練相對(duì)不穩(wěn)定等問題,相比之下光流作為計(jì)算機(jī)視覺中一種較為成熟運(yùn)動(dòng)建模方法,已具備較多研究成果與高質(zhì)量的預(yù)訓(xùn)練模型?;诖?,本方法引入金字塔光流代替原有的可變形卷積方案,在保證壓縮效率的同時(shí)增強(qiáng)模型的穩(wěn)定性。
2、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種基于上下文的雙目視頻壓縮方法,采用結(jié)構(gòu)相同的第一通道和第二通道分別逐幀處理右視點(diǎn)的幀序列和左視點(diǎn)的幀序列,通道處理流程具體為:
3、光流運(yùn)動(dòng)估計(jì)模塊采用空間金字塔光流估計(jì)網(wǎng)絡(luò)計(jì)算運(yùn)動(dòng)信息,特征提取模塊提取運(yùn)動(dòng)參考幀的淺層特征,運(yùn)動(dòng)信息輸入運(yùn)動(dòng)壓縮模塊進(jìn)行壓縮后再和運(yùn)動(dòng)參考幀的淺層特征一起輸入運(yùn)動(dòng)補(bǔ)償模塊,得到運(yùn)動(dòng)上下文信息;光流視差估計(jì)模塊采用空間金字塔光流估計(jì)網(wǎng)絡(luò)計(jì)算視差信息,特征提取模塊提取視差參考幀的淺層特征,視差信息輸入視差壓縮模塊進(jìn)行壓縮后再和視差參考幀的淺層特征一起輸入視差補(bǔ)償模塊,得到視差上下文信息;利用特征融合模塊和上下文提煉模塊對(duì)運(yùn)動(dòng)上下文信息和視差上下文信息進(jìn)行融合,得到最終上下文信息,依次輸入上下文編碼模塊、上下文壓縮模塊和上下文解碼模塊,得到當(dāng)前幀壓縮后的重建幀;
4、其中,第一通道包括第一光流運(yùn)動(dòng)估計(jì)模塊、第一運(yùn)動(dòng)壓縮模塊、第一運(yùn)動(dòng)補(bǔ)償模塊、第一光流視差估計(jì)模塊、第一視差壓縮模塊、第一視差補(bǔ)償模塊、第一特征提取模塊、第一特征融合模塊、第一上下文提煉模塊、第一上下文編碼模塊、第一上下文壓縮模塊和第一上下文解碼模塊;第二通道包括第二光流運(yùn)動(dòng)估計(jì)模塊、第二運(yùn)動(dòng)壓縮模塊、第二運(yùn)動(dòng)補(bǔ)償模塊、第二光流視差估計(jì)模塊、第二視差壓縮模塊、第二視差補(bǔ)償模塊、第二特征提取模塊、第二特征融合模塊、第二上下文提煉模塊、第二上下文編碼模塊、第二上下文壓縮模塊和第二上下文解碼模塊。
5、優(yōu)選的,所述基于上下文的雙目視頻壓縮方法,包括以下步驟:
6、獲取右視點(diǎn)當(dāng)前時(shí)刻的原始幀作為第一當(dāng)前幀,獲取右視點(diǎn)上一時(shí)刻的重建幀作為第一運(yùn)動(dòng)參考幀,輸入第一光流運(yùn)動(dòng)估計(jì)模塊計(jì)算第一運(yùn)動(dòng)信息,并采用第一運(yùn)動(dòng)壓縮模塊進(jìn)行壓縮,得到第一壓縮運(yùn)動(dòng)信息;采用第一特征提取模塊對(duì)第一運(yùn)動(dòng)參考幀進(jìn)行淺層特征的提取并輸入第一運(yùn)動(dòng)補(bǔ)償模塊中,基于第一壓縮運(yùn)動(dòng)信息進(jìn)行補(bǔ)償,得到第一運(yùn)動(dòng)上下文信息;初始時(shí)刻的第一運(yùn)動(dòng)參考幀為右視點(diǎn)第一幀壓縮得到的右視點(diǎn)i幀;
7、獲取左視點(diǎn)當(dāng)前時(shí)刻的原始幀作為第二當(dāng)前幀,獲取左視點(diǎn)上一時(shí)刻的重建幀作為第二運(yùn)動(dòng)參考幀,輸入第二光流運(yùn)動(dòng)估計(jì)模塊計(jì)算第二運(yùn)動(dòng)信息,并采用第二運(yùn)動(dòng)壓縮模塊進(jìn)行壓縮,得到第二壓縮運(yùn)動(dòng)信息;采用第二特征提取模塊對(duì)第二運(yùn)動(dòng)參考幀進(jìn)行淺層特征的提取并輸入第二運(yùn)動(dòng)補(bǔ)償模塊中,基于第二壓縮運(yùn)動(dòng)信息進(jìn)行補(bǔ)償,得到第二運(yùn)動(dòng)上下文信息;初始時(shí)刻的第二運(yùn)動(dòng)參考幀為左視點(diǎn)第一幀壓縮得到的左視點(diǎn)i幀;
8、第一光流視差估計(jì)模塊以第二運(yùn)動(dòng)上下文信息作為第一視差參考幀,結(jié)合第一當(dāng)前幀計(jì)算第一視差信息,并采用第一視差壓縮模塊進(jìn)行壓縮,得到第一壓縮視差信息;采用第一特征提取模塊對(duì)第一視差參考幀進(jìn)行淺層特征的提取并輸入第一視差補(bǔ)償模塊中,基于第一壓縮視差信息進(jìn)行補(bǔ)償,得到第一視差上下文信息;采用第一特征融合模塊對(duì)第一運(yùn)動(dòng)上下文信息和第一視差上下文信息進(jìn)行融合編碼,得到第一粗略上下文信息;采用第一上下文提煉模塊對(duì)第一粗略上下文進(jìn)行提煉,得到第一最終上下文信息;
9、第一上下文編碼模塊以第一最終上下文信息為條件將第一當(dāng)前幀映射為第一潛在表示;采用第一上下文壓縮模塊對(duì)第一潛在表示進(jìn)行壓縮,得到第一壓縮潛在表示;采用第一上下文解碼模塊將第一壓縮潛在表示上采樣到具有原始分辨率的特征中,再將上采樣后的特征與第一最終上下文信息進(jìn)行級(jí)聯(lián),獲得當(dāng)前時(shí)刻的第一重建幀;
10、第二光流視差估計(jì)模塊以當(dāng)前時(shí)刻的第一重建幀作為第二視差參考幀,結(jié)合第二當(dāng)前幀計(jì)算第二視差信息,并采用第二視差壓縮模塊進(jìn)行壓縮,得到第二壓縮視差信息;采用第二特征提取模塊對(duì)第二視差參考幀進(jìn)行淺層特征的提取并輸入第二視差補(bǔ)償模塊中,基于第二壓縮視差信息進(jìn)行補(bǔ)償,得到第二視差上下文信息;采用第二特征融合模塊對(duì)第二運(yùn)動(dòng)上下文信息和第二視差上下文信息進(jìn)行融合編碼,得到第二粗略上下文信息;采用第二上下文提煉模塊對(duì)第二粗略上下文進(jìn)行提煉,得到第二最終上下文信息;
11、第二上下文編碼模塊以第二最終上下文信息為條件將第二當(dāng)前幀映射為第二潛在表示;采用第二上下文壓縮模塊對(duì)第二潛在表示進(jìn)行壓縮,得到第二壓縮潛在表示;采用第二上下文解碼模塊將第二壓縮潛在表示上采樣到具有原始分辨率的特征中,再將上采樣后的特征與第二最終上下文信息進(jìn)行級(jí)聯(lián),獲得當(dāng)前時(shí)刻的第二重建幀;
12、以當(dāng)前時(shí)刻作為上一時(shí)刻,以下一時(shí)刻作為當(dāng)前時(shí)刻,重復(fù)以上步驟直到得到幀序列中所有幀的重建幀,將右視點(diǎn)的重建幀序列和左視點(diǎn)的重建幀序列組合成為壓縮后的雙目視頻。
13、優(yōu)選的,所述第一運(yùn)動(dòng)信息表示為:
14、;
15、;
16、;
17、;
18、;
19、其中,表示t時(shí)刻第一運(yùn)動(dòng)信息;表示空間金字塔光流估計(jì)網(wǎng)絡(luò);表示t時(shí)刻右視點(diǎn)原始幀的降采樣結(jié)果,用于輸入第k個(gè)金字塔層級(jí),表示t-1時(shí)刻右視點(diǎn)重構(gòu)幀的降采樣結(jié)果,用于輸入第k個(gè)金字塔層級(jí);表示右視點(diǎn)第k個(gè)金字塔層級(jí)的運(yùn)動(dòng)光流場(chǎng),右視點(diǎn)初始運(yùn)動(dòng)光流場(chǎng);表示右視點(diǎn)第k個(gè)金字塔層級(jí)的運(yùn)動(dòng)殘差光流;表示圖像變形操作;
20、所述第二運(yùn)動(dòng)信息表示為:
21、;
22、;
23、;
24、;
25、;
26、其中,表示t時(shí)刻第二運(yùn)動(dòng)信息;k表示金字塔層級(jí),k=0,1,2,3,4;表示下采樣函數(shù);表示t時(shí)刻左視點(diǎn)原始幀的降采樣結(jié)果,用于輸入第k個(gè)金字塔層級(jí),表示t-1時(shí)刻左視點(diǎn)重構(gòu)幀的降采樣結(jié)果,用于輸入第k個(gè)金字塔層級(jí);表示上采樣函數(shù);表示左視點(diǎn)第k個(gè)金字塔層級(jí)的運(yùn)動(dòng)光流場(chǎng),左視點(diǎn)初始運(yùn)動(dòng)光流場(chǎng);表示左視點(diǎn)第k個(gè)金字塔層級(jí)的運(yùn)動(dòng)殘差光流;表示經(jīng)過訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)模型。
27、優(yōu)選的,所述第一視差信息表示為:
28、;
29、;
30、;
31、;
32、;
33、其中,表示t時(shí)刻第一視差信息;表示t時(shí)刻左視點(diǎn)運(yùn)動(dòng)上下文信息的降采樣結(jié)果;表示右視點(diǎn)第k層金字塔的視點(diǎn)光流場(chǎng);表示右視點(diǎn)第k-1層金字塔的視點(diǎn)光流場(chǎng);表示右視點(diǎn)第k層金字塔的視點(diǎn)殘差光流場(chǎng);
34、所述第二視差信息表示為:
35、;
36、;
37、;
38、;
39、;
40、其中,表示t時(shí)刻左視點(diǎn)的視差信息;表示t時(shí)刻右視點(diǎn)重構(gòu)幀的降采樣結(jié)果;表示左視點(diǎn)第k層金字塔的視點(diǎn)光流場(chǎng);表示左視點(diǎn)第k-1層金字塔的視點(diǎn)光流場(chǎng);表示左視點(diǎn)第k層金字塔的視點(diǎn)殘差光流場(chǎng)。
41、優(yōu)選的,所述第一運(yùn)動(dòng)壓縮模塊的計(jì)算過程包括以下步驟:
42、采用編碼網(wǎng)絡(luò)將第一運(yùn)動(dòng)信息映射成第一運(yùn)動(dòng)潛在表示,表示為:
43、;
44、其中,表示t時(shí)刻的第一運(yùn)動(dòng)潛在表示;表示卷積核為的卷積層函數(shù),表示歸一化層;
45、對(duì)第一運(yùn)動(dòng)潛在表示進(jìn)行量化和熵編碼得到第一運(yùn)動(dòng)熵編碼結(jié)果;第一熵編碼結(jié)果通過解碼網(wǎng)絡(luò)得到第一運(yùn)動(dòng)壓縮信息,表示為:
46、;
47、其中,表示t時(shí)刻的第一運(yùn)動(dòng)壓縮信息;表示t時(shí)刻的第一運(yùn)動(dòng)熵編碼結(jié)果;表示卷積核為的反卷積層函數(shù),表示逆歸一化層;
48、采用超先驗(yàn)編碼網(wǎng)絡(luò)捕獲第一運(yùn)動(dòng)潛在表示的隱藏信息,生成第一運(yùn)動(dòng)潛在表示的超先驗(yàn)邊沿信息;第一運(yùn)動(dòng)潛在表示的超先驗(yàn)邊沿信息經(jīng)過量化和熵編碼后反饋給圖像壓縮自編碼式網(wǎng)絡(luò)的熵編碼器和熵解碼器,輔助熵模型對(duì)潛在表示的概率分布實(shí)現(xiàn)更精準(zhǔn)的建模;
49、所述第二運(yùn)動(dòng)壓縮模塊的計(jì)算過程包括以下步驟:
50、采用編碼網(wǎng)絡(luò)將第二運(yùn)動(dòng)信息映射成第二運(yùn)動(dòng)潛在表示,表示為:
51、;
52、其中,表示t時(shí)刻的第二運(yùn)動(dòng)潛在表示;
53、對(duì)第二運(yùn)動(dòng)潛在表示進(jìn)行量化和熵編碼,得到第二運(yùn)動(dòng)熵編碼結(jié)果,第二運(yùn)動(dòng)熵編碼結(jié)果通過解碼網(wǎng)絡(luò)得到第二運(yùn)動(dòng)壓縮信息,表示為:
54、;
55、其中,表示t時(shí)刻的第二運(yùn)動(dòng)壓縮信息;表示t時(shí)刻的第二運(yùn)動(dòng)熵編碼結(jié)果;
56、采用超先驗(yàn)編碼網(wǎng)絡(luò)捕獲第二運(yùn)動(dòng)潛在表示的隱藏信息,生成第二運(yùn)動(dòng)潛在表示的超先驗(yàn)邊沿信息;第二運(yùn)動(dòng)潛在表示的超先驗(yàn)邊沿信息經(jīng)過量化和熵編碼后反饋給熵編碼器和熵解碼器,輔助熵模型對(duì)潛在表示的概率分布實(shí)現(xiàn)更精準(zhǔn)的建模;
57、所述第一視差壓縮模塊的計(jì)算過程包括以下步驟:
58、采用編碼網(wǎng)絡(luò)將第一視差信息映射成第一視差潛在表示,表示為:
59、;
60、其中,表示t時(shí)刻的第一視差潛在表示;
61、對(duì)第一視差潛在表示進(jìn)行量化和熵編碼,得到第一視差熵編碼結(jié)果,第一視差熵編碼結(jié)果通過解碼網(wǎng)絡(luò)得到第一視差壓縮信息,表示為:
62、;
63、其中,表示t時(shí)刻的第一視差壓縮信息;表示t時(shí)刻的第一視差熵編碼結(jié)果;
64、采用超先驗(yàn)編碼網(wǎng)絡(luò)捕獲第一視差潛在表示的隱藏信息,生成第一視差潛在表示的超先驗(yàn)邊沿信息;第一視差潛在表示的超先驗(yàn)邊沿信息經(jīng)過量化和熵編碼后反饋給圖像壓縮自編碼式網(wǎng)絡(luò)的熵編碼器和熵解碼器,輔助熵模型對(duì)潛在表示的概率分布實(shí)現(xiàn)更精準(zhǔn)的建模;
65、所述第二視差壓縮模塊的計(jì)算過程包括以下步驟:
66、采用編碼網(wǎng)絡(luò)將第二視差信息映射成第二視差潛在表示,表示為:
67、;
68、其中,表示t時(shí)刻的第二視差潛在表示;
69、對(duì)第二視差潛在表示進(jìn)行量化和熵編碼,得到第二視差熵編碼結(jié)果,第二視差熵編碼結(jié)果通過解碼網(wǎng)絡(luò)得到第二視差壓縮信息,表示為:
70、;
71、其中,表示t時(shí)刻的第二視差壓縮信息;表示t時(shí)刻的第二視差熵編碼結(jié)果;
72、采用超先驗(yàn)編碼網(wǎng)絡(luò)捕獲第二視差潛在表示的隱藏信息,生成第二視差潛在表示的超先驗(yàn)邊沿信息;第二視差潛在表示的超先驗(yàn)邊沿信息經(jīng)過量化和熵編碼后反饋給熵編碼器和熵解碼器,輔助熵模型對(duì)潛在表示的概率分布實(shí)現(xiàn)更精準(zhǔn)的建模。
73、優(yōu)選的,所述第一運(yùn)動(dòng)上下文信息表示為:
74、;
75、;
76、;
77、其中,表示t時(shí)刻的第一運(yùn)動(dòng)上下文信息,表示第一特征提取模塊對(duì)t-1時(shí)刻的第一運(yùn)動(dòng)參考幀提取的淺層特征,表示卷積核為的殘差塊,表示relu激活函數(shù),x表示殘差塊的輸入特征,表示殘差塊的輸出特征;
78、所述第一視差上下文信息表示為:
79、;
80、;
81、其中,表示t時(shí)刻的第一視差上下文信息;表示第一特征提取模塊對(duì)t時(shí)刻的第一視差參考幀提取的淺層特征;
82、所述第二運(yùn)動(dòng)上下文信息表示為:
83、;
84、;
85、其中,表示t時(shí)刻的第二運(yùn)動(dòng)上下文信息;表示第二特征提取模塊對(duì)t-1時(shí)刻的第二運(yùn)動(dòng)參考幀提取的淺層特征;
86、所述第二視差上下文信息表示為:
87、;
88、;
89、其中,表示t時(shí)刻的第二視差上下文信息;表示第二特征提取模塊對(duì)t時(shí)刻的第二視差參考幀提取的淺層特征。
90、優(yōu)選的,所述第一最終上下文信息表示為:
91、;
92、;
93、其中,表示t時(shí)刻的第一最終上下文信息;表示t時(shí)刻的第一粗略上下文信息;表示將特征在通道維度上進(jìn)行拼接;
94、所述第二最終上下文信息表示為:
95、;
96、;
97、其中,表示t時(shí)刻的第二最終上下文信息,表示t時(shí)刻的第二粗略上下文信息。
98、優(yōu)選的,所述第一潛在表示和所述第二潛在表示,分別表示為:
99、;
100、;
101、其中,表示t時(shí)刻的第一潛在表示,表示t時(shí)刻的第二潛在表示;表示歸一化函數(shù)。
102、優(yōu)選的,所述第一上下文壓縮模塊對(duì)第一潛在表示進(jìn)行壓縮的過程,包括以下步驟:
103、采用超先驗(yàn)?zāi)P透鶕?jù)第一潛在表示獲取第一超先驗(yàn)邊沿信息;
104、采用時(shí)間信息提取網(wǎng)絡(luò)對(duì)第一上下文信息提取特征,得到第一上下文時(shí)間先驗(yàn)信息,表示為:
105、;
106、其中,表示t時(shí)刻的第一上下文時(shí)間先驗(yàn)信息;
107、融合所述第一超先驗(yàn)邊沿信息和所述第一上下文時(shí)間先驗(yàn)信息來學(xué)習(xí)量化后的第一潛在表示的概率分布,反饋給圖像壓縮自編碼式網(wǎng)絡(luò)的熵編碼器和熵解碼器,輔助熵模型對(duì)第一潛在表示的概率分布實(shí)現(xiàn)更精準(zhǔn)的建模,得到第一壓縮潛在表示;
108、所述第二上下文壓縮模塊對(duì)第二潛在表示進(jìn)行壓縮的過程,包括以下步驟:
109、采用超先驗(yàn)?zāi)P透鶕?jù)第二潛在表示獲取第二超先驗(yàn)邊沿信息;
110、采用時(shí)間信息提取網(wǎng)絡(luò)對(duì)第二上下文信息提取特征,得到第二上下文時(shí)間先驗(yàn)信息,表示為:
111、;
112、其中,表示t時(shí)刻的第二上下文時(shí)間先驗(yàn)信息;
113、融合所述第二超先驗(yàn)邊沿信息和所述第二上下文時(shí)間先驗(yàn)信息來學(xué)習(xí)量化后的第二潛在表示的概率分布,反饋給圖像壓縮自編碼式網(wǎng)絡(luò)的熵編碼器和熵解碼器,輔助熵模型對(duì)第二潛在表示的概率分布實(shí)現(xiàn)更精準(zhǔn)的建模,得到第二壓縮潛在表示。
114、優(yōu)選的,所述第一重建幀,表示為:
115、;
116、;
117、其中,表示t時(shí)刻的第一重建幀;表示上下文解碼器;表示t時(shí)刻的第一壓縮潛在表示;
118、所述第二重建幀,表示為:
119、;
120、;
121、其中,表示t時(shí)刻的第二重建幀,表示t時(shí)刻的第二壓縮潛在表示。
122、本發(fā)明具有如下有益效果:
123、(1)本發(fā)明設(shè)計(jì)了光流運(yùn)動(dòng)估計(jì)模塊和光流視差估計(jì)模塊來估計(jì)運(yùn)動(dòng)信息和視差信息,采用金字塔光流通過多尺度結(jié)構(gòu)對(duì)運(yùn)動(dòng)信息進(jìn)行建模,在不同分辨率的圖像上逐級(jí)計(jì)算光流,提升運(yùn)動(dòng)建模精度,同時(shí)結(jié)構(gòu)更清晰、訓(xùn)練更穩(wěn)定;
124、(2)本發(fā)明引入上下文的時(shí)間先驗(yàn)信息到熵編碼模型,使用時(shí)間先驗(yàn)編碼器挖掘視頻序列中的時(shí)間相關(guān)性,從而輔助熵模型更精確地估計(jì)上下文潛在表示的概率分布,提升視頻壓縮比;
125、(3)本發(fā)明設(shè)計(jì)了上下文生成單元和上下文編解碼模塊,利用高維上下文將豐富的信息傳送到上下文編碼器和上下文解碼器,以特征域上下文信息為條件輔助視頻編解碼,這有助于重建高頻內(nèi)容以獲得更高的視頻質(zhì)量。
126、以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明,但本發(fā)明不局限于實(shí)施例。