本發(fā)明通常涉及數(shù)字視頻信號(hào)處理,并且特別地,涉及用于對(duì)來(lái)自卷積神經(jīng)網(wǎng)絡(luò)的張量進(jìn)行編碼和解碼的方法、設(shè)備和系統(tǒng)。本發(fā)明還涉及包括記錄有用于使用視頻壓縮技術(shù)對(duì)來(lái)自卷積神經(jīng)網(wǎng)絡(luò)的張量進(jìn)行編碼和解碼的計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、卷積神經(jīng)網(wǎng)絡(luò)(cnn)是用于應(yīng)對(duì)涉及機(jī)器視覺(jué)(諸如對(duì)象檢測(cè)、實(shí)例分段(instance?segmentation)、對(duì)象跟蹤、人體姿勢(shì)估計(jì)和動(dòng)作識(shí)別等)的用例等的新興技術(shù)。cnn的應(yīng)用可以涉及作為“云”的一部分耦接到應(yīng)用服務(wù)器的、具有傳感器和一些處理能力的“邊緣裝置”的使用。cnn可能需要相對(duì)高的計(jì)算復(fù)雜度,這超過(guò)在利用邊緣裝置的計(jì)算容量或功耗方面典型地可以提供的計(jì)算復(fù)雜度。以分布式方式執(zhí)行cnn已成為使用有限能力邊緣裝置運(yùn)行前沿網(wǎng)絡(luò)的一個(gè)解決方案。換句話說(shuō),分布式處理使得傳統(tǒng)邊緣裝置通過(guò)在邊緣裝置和諸如云服務(wù)器等的外部處理部件之間分配處理來(lái)仍提供前沿cnn的能力。這種分布式網(wǎng)絡(luò)架構(gòu)可以稱為“協(xié)作智能”,并且提供了諸如將來(lái)自網(wǎng)絡(luò)的第一部分的部分結(jié)果針對(duì)若干不同的第二部分(可能各部分針對(duì)不同的任務(wù)進(jìn)行了優(yōu)化)進(jìn)行重用等的益處。協(xié)作智能架構(gòu)引入了對(duì)張量數(shù)據(jù)的高效壓縮的需求,以通過(guò)諸如wan等的網(wǎng)絡(luò)進(jìn)行傳輸。
2、cnn典型地包括諸如卷積層和全連接層等的許多層,其中數(shù)據(jù)以“張量”的形式從以一個(gè)層傳遞到下一層??绮煌b置拆分網(wǎng)絡(luò)引入了對(duì)在cnn內(nèi)從一個(gè)層傳遞到下一層的中間張量數(shù)據(jù)進(jìn)行壓縮的需求,這樣的壓縮可以被稱為“特征壓縮”,因?yàn)橹虚g張量數(shù)據(jù)經(jīng)常被稱為“特征”或“特征圖”并且表示諸如圖像幀或視頻幀等的輸入的部分處理形式。國(guó)際標(biāo)準(zhǔn)化組織/國(guó)際電工協(xié)會(huì)聯(lián)合技術(shù)協(xié)會(huì)1/小組協(xié)會(huì)29/工作組2-8(iso/iec?jtc1/sc29/wg2-8)(也稱為“運(yùn)動(dòng)圖片專家組”(mpeg))被指派研究各種上下文中的并且經(jīng)常與視頻相關(guān)的壓縮技術(shù)的任務(wù)。wg2“mpeg技術(shù)要求”已建立了“機(jī)器視頻壓縮”(vcm)特設(shè)組(ad-hocgroup),其被委托研究機(jī)器消耗所用的壓縮、以及特征壓縮。特征壓縮委托處于發(fā)布了“證據(jù)征集”(call?for?evidence,cfe)的探索階段,其征求可以顯著優(yōu)于使用最先進(jìn)的標(biāo)準(zhǔn)化技術(shù)所實(shí)現(xiàn)的特征壓縮結(jié)果的技術(shù)。
3、cnn典型地需要在訓(xùn)練階段中預(yù)先確定針對(duì)各個(gè)層的權(quán)重,其中在訓(xùn)練階段中,非常大量的訓(xùn)練數(shù)據(jù)被傳遞通過(guò)cnn,并且將由經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)確定的結(jié)果與同訓(xùn)練數(shù)據(jù)相關(guān)聯(lián)的地面真值(ground?truth)進(jìn)行比較。獲得的結(jié)果和期望的結(jié)果之間的差異被表示為“損失”并且利用“損失函數(shù)”來(lái)測(cè)量。使用所確定的損失,進(jìn)行用于更新網(wǎng)絡(luò)權(quán)重的處理(諸如隨機(jī)梯度下降(sgd)等)。網(wǎng)絡(luò)權(quán)重更新典型地涉及“梯度”的反向傳播,該“梯度”指示要應(yīng)用于網(wǎng)絡(luò)權(quán)重的差量(delta),從網(wǎng)絡(luò)的輸出層開(kāi)始并在向網(wǎng)絡(luò)的輸入層時(shí)終止,并且覆蓋網(wǎng)絡(luò)的所有中間或“隱藏”層。權(quán)重更新的速率由“學(xué)習(xí)速率”超參數(shù)進(jìn)行縮放,該“學(xué)習(xí)速率”超參數(shù)典型地被設(shè)置為便于訓(xùn)練處理在損失方面找到全局最小值(即,針對(duì)網(wǎng)絡(luò)架構(gòu)和訓(xùn)練數(shù)據(jù)的最高可能任務(wù)性能),同時(shí)避免訓(xùn)練處理“困住(stuck)”于局部最小值。困住于局部最小值對(duì)應(yīng)于獲得針對(duì)網(wǎng)絡(luò)架構(gòu)的次優(yōu)任務(wù)性能并且不能找到可導(dǎo)致更高任務(wù)性能的新權(quán)重值。通過(guò)供給被組織成“批(batch)”的輸入數(shù)據(jù)和地面真值數(shù)據(jù)來(lái)重復(fù)地更新網(wǎng)絡(luò)權(quán)重,以迭代地細(xì)化網(wǎng)絡(luò)性能,直到不再能實(shí)現(xiàn)進(jìn)一步提高準(zhǔn)確度為止。整個(gè)訓(xùn)練數(shù)據(jù)集的迭代形成訓(xùn)練的“紀(jì)元(epoch)”,并且訓(xùn)練典型地需要多個(gè)紀(jì)元以實(shí)現(xiàn)針對(duì)任務(wù)的高水平性能。然后,經(jīng)訓(xùn)練的網(wǎng)絡(luò)可用于部署,從而以權(quán)重固定且省略針對(duì)權(quán)重更新的梯度的模式操作。利用輸入執(zhí)行經(jīng)預(yù)訓(xùn)練的cnn并根據(jù)該cnn的拓?fù)鋪?lái)逐步地將輸入變換為輸出的處理通常被稱為“推斷”。
4、通常,張量具有四個(gè)維度,即:批、通道、高度和寬度。第一維度“批”在對(duì)視頻數(shù)據(jù)進(jìn)行推斷時(shí)典型地是大小1,并且指示一個(gè)幀作為一個(gè)批被傳遞通過(guò)cnn。當(dāng)訓(xùn)練網(wǎng)絡(luò)時(shí),批維度的值可以增加,使得根據(jù)預(yù)定的“批大小”在更新網(wǎng)絡(luò)權(quán)重之前在各批中多個(gè)幀被傳遞通過(guò)網(wǎng)絡(luò)。多幀視頻可以作為具有大小根據(jù)給定視頻的幀的數(shù)量而增加的批維度的單個(gè)張量被傳遞通過(guò)。然而,出于與存儲(chǔ)器消耗和訪問(wèn)相關(guān)的實(shí)際考慮,對(duì)視頻數(shù)據(jù)的推斷典型地逐個(gè)幀來(lái)進(jìn)行?!巴ǖ馈本S度指示給定張量的并發(fā)“特征圖”的數(shù)量,并且高度和寬度維度指示cnn的特定階段的特征圖的大小。通過(guò)cnn的通道數(shù)根據(jù)網(wǎng)絡(luò)架構(gòu)而變化。取決于特定網(wǎng)絡(luò)層中發(fā)生的子采樣,特征圖的大小也變化。
5、在進(jìn)行相對(duì)大量的乘法累加(mac)運(yùn)算并且相對(duì)于存儲(chǔ)器寫入和讀取大量的中間張量、以及讀取針對(duì)cnn的各層的性能的權(quán)重的情況下,cnn的整體復(fù)雜度往往相對(duì)高。因此,將神經(jīng)網(wǎng)絡(luò)分割為部分使得即使在能力較差的邊緣裝置中也這樣實(shí)現(xiàn)更復(fù)雜的網(wǎng)絡(luò)。
6、特征壓縮可以受益于現(xiàn)有的視頻壓縮標(biāo)準(zhǔn),諸如由聯(lián)合視頻專家組(jvet)開(kāi)發(fā)的通用視頻編碼(vvc)等。預(yù)料vvc將特別是隨著視頻格式的能力的增加(例如,具有更高的分辨率和更高的幀頻)而解決針對(duì)甚至更高的壓縮性能的持續(xù)需求、以及解決針對(duì)通過(guò)wan的服務(wù)遞送(其中,帶寬成本相對(duì)高)的日益增長(zhǎng)的市場(chǎng)需求。vvc可以在當(dāng)代硅工藝中實(shí)現(xiàn),并且在所實(shí)現(xiàn)的性能與實(shí)現(xiàn)成本之間提供可接受的折衷。實(shí)現(xiàn)成本可以被認(rèn)為是例如硅面積、cpu處理器負(fù)荷、存儲(chǔ)器利用率和帶寬方面中的一個(gè)或多于一個(gè)方面。vvc標(biāo)準(zhǔn)的通用性的一部分在于可用于壓縮視頻數(shù)據(jù)的工具的廣泛選擇、以及vvc適合的應(yīng)用的廣泛范圍。其他視頻壓縮標(biāo)準(zhǔn)(諸如高效率視頻編碼(hevc)和av-1等)也可以用于特征壓縮應(yīng)用。
7、視頻數(shù)據(jù)包括圖像數(shù)據(jù)的幀序列,各幀包括一個(gè)或多于一個(gè)顏色通道。在要在經(jīng)打包幀中表示特征圖數(shù)據(jù)的情況下,一般僅具有亮度而不具有顏色通道的單色幀是足夠的。在僅存在亮度樣本時(shí),所得的單色幀被認(rèn)為使用“4:0:0色度格式”。
8、vvc標(biāo)準(zhǔn)規(guī)定“基于塊的”架構(gòu),其中幀首先被分割為稱為“編碼樹(shù)單元”(ctu)的正方形區(qū)陣列。在vvc中,ctu一般占據(jù)128×128個(gè)亮度樣本。在使用vvc標(biāo)準(zhǔn)時(shí)的其他可能的ctu大小是32×32和64×64。然而,各幀的右側(cè)和下方邊緣處的ctu在面積上可能較小,其中發(fā)生隱式拆分以確保編碼塊保持在幀中。與各ctu相關(guān)聯(lián)的是定義ctu的區(qū)域向塊集合的分解的“編碼樹(shù)”(也稱為“編碼單元”(cu))。適用于僅亮度通道或僅色度通道的塊被稱為“編碼塊”(cb)。編碼塊的內(nèi)容的預(yù)測(cè)被保持在“預(yù)測(cè)塊”(pb)或“預(yù)測(cè)單元”(pu)中,并且定義要與pb或pu相加組合的樣本值的陣列的殘差塊被稱為“變換塊”(tb)或“變換單元”(tu),這是由于在tb或tu的生成中典型地使用變換處理。
9、盡管在“單元”和“塊”之間存在上述區(qū)別,但術(shù)語(yǔ)“塊”可以用作幀的區(qū)域(area)或區(qū)(region)的通用術(shù)語(yǔ),對(duì)于該區(qū)域或區(qū),操作被應(yīng)用于所有顏色通道。
10、對(duì)于各cu,生成幀數(shù)據(jù)的相應(yīng)區(qū)域的內(nèi)容(樣本值)的預(yù)測(cè)單元(pu)(“預(yù)測(cè)單元”)。此外,形成了預(yù)測(cè)與在編碼器的輸入處看到的區(qū)域的內(nèi)容之間的差(或“空間域”殘差)的表示。各顏色通道中的差可以被變換和編碼為殘差系數(shù)序列,從而形成給定cu的一個(gè)或多于一個(gè)tu。所應(yīng)用的變換可以是應(yīng)用于殘差值的各塊的離散余弦變換(dct)或其他變換。變換被單獨(dú)地應(yīng)用(即,分兩次(一次水平地且一次垂直地)進(jìn)行二維變換)。首先通過(guò)對(duì)塊中的各行樣本應(yīng)用一維變換來(lái)變換塊。然后,通過(guò)對(duì)部分結(jié)果的各列應(yīng)用一維變換來(lái)變換該部分結(jié)果,以產(chǎn)生基本上對(duì)殘差樣本去相關(guān)的變換系數(shù)的最終塊。vvc標(biāo)準(zhǔn)支持各種大小的變換,包括各邊的尺寸是2的冪的矩形塊的變換。變換系數(shù)被量化用于熵編碼到位流中。
11、可以使用幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)處理來(lái)生成vvc中的pb或pu。幀內(nèi)預(yù)測(cè)涉及使用正使用的幀中先前處理的樣本以生成該幀中當(dāng)前數(shù)據(jù)樣本塊的預(yù)測(cè)。幀間預(yù)測(cè)涉及使用從先前解碼的幀中獲得的樣本塊來(lái)生成幀中的當(dāng)前樣本塊的預(yù)測(cè)。從先前解碼的幀中獲得的樣本塊根據(jù)運(yùn)動(dòng)向量而相對(duì)于當(dāng)前塊的空間位置偏移,該運(yùn)動(dòng)向量通常被應(yīng)用濾波。幀內(nèi)預(yù)測(cè)塊可以是:(i)均勻樣本值(“dc幀內(nèi)預(yù)測(cè)”),(ii)具有偏移以及水平和垂直梯度的平面(“平面幀內(nèi)預(yù)測(cè)”),(iii)具有在特定方向上應(yīng)用的鄰近樣本的塊的總體(“角度幀內(nèi)預(yù)測(cè)”),或者(iv)使用鄰近樣本和所選擇的矩陣系數(shù)的矩陣乘法的結(jié)果。
12、vvc可以用于對(duì)來(lái)自分離成兩個(gè)部分的神經(jīng)網(wǎng)絡(luò)的第一部分(“主干”)的中間特征圖進(jìn)行壓縮。在壓縮中,來(lái)自主干的特征圖被布置到幀中并且從浮點(diǎn)域量化到適合作為視頻數(shù)據(jù)而壓縮的樣本域。為了減小特征圖的空間面積,可以在vvc編碼器和解碼器與cnn中的發(fā)生拆分的中間點(diǎn)之間的接口處實(shí)現(xiàn)附加的神經(jīng)網(wǎng)絡(luò)層。針對(duì)可能不適合于變化的和不可預(yù)測(cè)的遇到的特征圖數(shù)據(jù)的這種附加網(wǎng)絡(luò)層進(jìn)行訓(xùn)練。訓(xùn)練可能不會(huì)導(dǎo)致cnn在任務(wù)性能方面具有對(duì)各種質(zhì)量的操作點(diǎn)的適應(yīng)性。編碼器和解碼器的操作點(diǎn)也可以在操作期間變化,其中需要支持要在解碼器側(cè)供給到網(wǎng)絡(luò)的其余部分的重建張量的變化質(zhì)量水平。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是基本上克服或至少改善現(xiàn)有布置的一個(gè)或多于一個(gè)缺點(diǎn)。
2、本公開(kāi)的一方面提供一種用于將至少多個(gè)張量編碼到位流中的方法,所述多個(gè)張量形成針對(duì)單個(gè)幀的分層表示,所述方法包括:從形成所述分層表示的多個(gè)張量導(dǎo)出第一信息單元,所述多個(gè)張量至少包括第一張量和第二張量,所述第一張量的特征圖與所述第二張量的特征圖相比具有更大的空間分辨率;在第一模式中,將至少所述第一信息單元編碼到所述位流中;在第二模式中,從至少所述第一張量導(dǎo)出第二信息單元;以及在所述第二模式中,將所述第二信息單元和所述第一信息單元編碼到所述位流中。
3、本公開(kāi)的另一方面提供一種用于從位流中解碼至少多個(gè)張量的方法,所述多個(gè)張量形成針對(duì)單個(gè)幀的分層表示,所述方法包括:從位流中解碼至少包括第一信息單元的位流;在第一模式中,從所述第一信息單元導(dǎo)出形成所述分層表示的多個(gè)張量,所述多個(gè)張量至少包括第一張量和第二張量,所述第一張量的特征圖與所述第二張量的特征圖相比具有更大的空間分辨率;在第二模式中,從所述位流中解碼第二信息單元;以及在所述第二模式中,從所述第一信息單元的至少一部分和所述第二信息單元導(dǎo)出形成所述分層表示的至少一部分的多個(gè)張量,所述第二信息單元與所述第一張量相對(duì)應(yīng)。
4、本公開(kāi)的另一方面提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)程序,所述程序用于執(zhí)行用于將至少多個(gè)張量編碼到位流中的方法,所述多個(gè)張量形成針對(duì)單個(gè)幀的分層表示,所述方法包括:從形成所述分層表示的多個(gè)張量導(dǎo)出第一信息單元,所述多個(gè)張量至少包括第一張量和第二張量,所述第一張量的特征圖與所述第二張量的特征圖相比具有更大的空間分辨率;在第一模式中,將至少所述第一信息單元編碼到所述位流中;在第二模式中,從所述第一張量導(dǎo)出第二信息單元;以及在所述第二模式中,將所述第二信息單元和所述第一信息單元編碼到所述位流中。
5、本公開(kāi)的另一方面提供一種編碼器,其被配置為通過(guò)以下操作來(lái)將至少多個(gè)張量編碼到位流中,所述多個(gè)張量形成針對(duì)單個(gè)幀的分層表示:從形成所述分層表示的多個(gè)張量導(dǎo)出第一信息單元,所述多個(gè)張量至少包括第一張量和第二張量,所述第一張量的特征圖與所述第二張量的特征圖相比具有更大的空間分辨率;在第一模式中,將至少所述第一信息單元編碼到所述位流中;在第二模式中,從至少所述第一張量導(dǎo)出第二信息單元;以及在所述第二模式中,將所述第二信息單元和所述第一信息單元編碼到所述位流中。
6、本公開(kāi)的另一方面提供一種系統(tǒng),包括:存儲(chǔ)器;以及處理器,其中所述處理器被配置為執(zhí)行所述存儲(chǔ)器上所存儲(chǔ)的代碼,所述代碼用于實(shí)現(xiàn)用于將至少多個(gè)張量編碼到位流中的方法,所述多個(gè)張量形成針對(duì)單個(gè)幀的分層表示,所述方法包括:從形成所述分層表示的多個(gè)張量導(dǎo)出第一信息單元,所述多個(gè)張量至少包括第一張量和第二張量,所述第一張量的特征圖與所述第二張量的特征圖相比具有更大的空間分辨率;在第一模式中,將至少所述第一信息單元編碼到所述位流中;在第二模式中,從所述第一張量導(dǎo)出第二信息單元;以及在所述第二模式中,將所述第二信息單元和所述第一信息單元編碼到所述位流中。
7、本公開(kāi)的另一方面提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)程序,所述程序用于執(zhí)行用于從位流中解碼至少多個(gè)張量的方法,所述多個(gè)張量形成針對(duì)單個(gè)幀的分層表示,所述方法包括:從位流中解碼至少包括第一信息單元的位流;在第一模式中,從所述第一信息單元導(dǎo)出形成所述分層表示的多個(gè)張量,所述多個(gè)張量至少包括第一張量和第二張量,所述第一張量的特征圖與所述第二張量的特征圖相比具有更大的空間分辨率;在第二模式中,從所述位流中解碼第二信息單元;以及在所述第二模式中,從所述第一信息單元的至少一部分和所述第二信息單元導(dǎo)出形成所述分層表示的至少一部分的多個(gè)張量,所述第二信息單元與至少所述第一張量相對(duì)應(yīng)。
8、本公開(kāi)的另一方面提供一種解碼器,其被配置為通過(guò)以下操作來(lái)從位流中解碼至少多個(gè)張量,所述多個(gè)張量形成針對(duì)單個(gè)幀的分層表示:從位流中解碼至少包括第一信息單元的位流;在第一模式中,從所述第一信息單元導(dǎo)出形成所述分層表示的多個(gè)張量,所述多個(gè)張量至少包括第一張量和第二張量,所述第一張量的特征圖與所述第二張量的特征圖相比具有更大的空間分辨率;在第二模式中,從所述位流中解碼第二信息單元;以及在所述第二模式中,從所述第一信息單元的至少一部分和所述第二信息單元導(dǎo)出形成所述分層表示的至少一部分的多個(gè)張量,所述第二信息單元與至少所述第一張量相對(duì)應(yīng)。
9、本公開(kāi)的另一方面提供一種系統(tǒng),包括:存儲(chǔ)器;以及處理器,其中所述處理器被配置為執(zhí)行所述存儲(chǔ)器上所存儲(chǔ)的代碼,所述代碼用于實(shí)現(xiàn)用于從位流中解碼至少多個(gè)張量的方法,所述多個(gè)張量形成針對(duì)單個(gè)幀的分層表示,所述方法包括:從位流中解碼至少包括第一信息單元的位流;在第一模式中,從所述第一信息單元導(dǎo)出形成所述分層表示的多個(gè)張量,所述多個(gè)張量至少包括第一張量和第二張量,所述第一張量的特征圖與所述第二張量的特征圖相比具有更大的空間分辨率;在第二模式中,從所述位流中解碼第二信息單元;以及在所述第二模式中,從所述第一信息單元的至少一部分和所述第二信息單元導(dǎo)出形成所述分層表示的至少一部分的多個(gè)張量,所述第二信息單元與至少所述第一張量相對(duì)應(yīng)。
10、還公開(kāi)了其他方面。