【】本發(fā)明涉及使用適應(yīng)性環(huán)路濾波器(adaptive?loop?filter,簡稱alf)的視頻編解碼系統(tǒng)。特別是,本發(fā)明涉及色度分量的alf分類和/或幾何變換。
背景技術(shù)
0、
背景技術(shù):
1、多功能視頻編解碼(versatile?video?coding,簡稱vvc)是由國際電信聯(lián)盟-電信標(biāo)準(zhǔn)化部門(itu-t)視頻編解碼專家組(vceg)和國際標(biāo)準(zhǔn)化組織/國際電工委員會(iso/iec)運動圖像專家組(mpeg)共同視頻專家組(jvet)開發(fā)的最新國際視頻編解碼標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)已作為iso標(biāo)準(zhǔn)發(fā)布:iso/iec?23090-3:2021,信息技術(shù)-沉浸式媒體的編碼表示-第3部分:多功能視頻編解碼,發(fā)布于2021年2月。vvc是在其前身高效視頻編解碼(highefficiency?video?coding,簡稱hevc)的基礎(chǔ)上開發(fā)的,通過增加更多編解碼工具來提高編解碼效率,并處理包含三維(3d)視頻信號的各種類型視頻源。
2、圖1a展示了一個示例性的適應(yīng)性幀內(nèi)/幀間視頻編解碼系統(tǒng),其中包含環(huán)路處理。對于幀內(nèi)預(yù)測,預(yù)測數(shù)據(jù)是基于當(dāng)前圖片中先前編碼的視頻數(shù)據(jù)派生的。對于幀間預(yù)測112,編碼器端執(zhí)行運動估計(motion?estimation,簡稱me),并基于me的結(jié)果執(zhí)行運動補償(motion?compensation,簡稱mc),以提供從其他圖片和運動數(shù)據(jù)派生的預(yù)測數(shù)據(jù)。開關(guān)114選擇幀內(nèi)預(yù)測110或幀間預(yù)測112,所選的預(yù)測數(shù)據(jù)被提供給加法器116以形成預(yù)測誤差,也稱為殘差。然后,預(yù)測誤差經(jīng)過變換(transform,簡稱t)118處理,隨后是量化(quantization,簡稱q)120。變換和量化后的殘差隨后由熵編碼器122編碼,以包含在對應(yīng)于壓縮視頻數(shù)據(jù)的視頻比特流中。與變換系數(shù)相關(guān)的比特流隨后與幀內(nèi)預(yù)測和幀間預(yù)測相關(guān)的運動和編解碼模式等邊信息打包在一起,以及與應(yīng)用于底層圖像區(qū)域的環(huán)路濾波器相關(guān)的參數(shù)等其他信息。與幀內(nèi)預(yù)測110、幀間預(yù)測112和環(huán)路濾波器130相關(guān)的邊信息,如圖1a所示,提供給熵編碼器122。當(dāng)使用幀間預(yù)測模式時,編碼器端也必須重建參考圖片。因此,變換和量化后的殘差經(jīng)過逆量化(inverse?quantization,簡稱iq)124和逆變換(inverse?transformation,簡稱it)126處理以恢復(fù)殘差。然后,殘差被添加回預(yù)測數(shù)據(jù)136,在重建(reconstruction,簡稱rec)128處重建視頻數(shù)據(jù)。重建的視頻數(shù)據(jù)可能被存儲在參考圖片緩沖區(qū)134中,并用于其他幀的預(yù)測。
3、如圖1a所示,傳入的視頻數(shù)據(jù)在編碼系統(tǒng)中經(jīng)歷一系列處理。來自rec?128的重建視頻數(shù)據(jù)可能會因為一系列處理而受到各種損害。因此,環(huán)路濾波器130通常在重建視頻數(shù)據(jù)存儲在參考圖片緩沖區(qū)134之前應(yīng)用于重建視頻數(shù)據(jù),以提高視頻質(zhì)量。例如,可以使用去塊濾波器(deblocking?filter,簡稱df)、樣本適應(yīng)性偏移(sample?adaptive?offset,簡稱sao)和適應(yīng)性環(huán)路濾波器(adaptive?loop?filter,簡稱alf)。環(huán)路濾波器信息可能需要被納入比特流,以便解碼器能夠正確恢復(fù)所需信息。因此,環(huán)路濾波器信息也被提供給熵編碼器122以納入比特流。在圖1a中,環(huán)路濾波器130被應(yīng)用于重建視頻,然后重建樣本被存儲在參考圖片緩沖區(qū)134中。圖1a中的系統(tǒng)旨在說明一個典型視頻編碼器的示例性結(jié)構(gòu)。它可能對應(yīng)于高效視頻編解碼(hevc)系統(tǒng)、vp8、vp9、h.264或vvc。
4、如圖1b所示的解碼器,可以使用與編碼器相同或部分相同的功能塊,除了變換118和量化120,因為解碼器只需要逆量化124和逆變換126。解碼器使用熵解碼器140代替熵編碼器122,以將視頻比特流解碼為量化變換系數(shù)和所需的編解碼信息(例如,ilpf信息、幀內(nèi)預(yù)測信息和幀間預(yù)測信息)。解碼器端的幀內(nèi)預(yù)測150不需要執(zhí)行模式搜索。相反,解碼器只需要根據(jù)從熵解碼器140接收到的幀內(nèi)預(yù)測信息生成幀內(nèi)預(yù)測。此外,對于幀間預(yù)測,解碼器只需要根據(jù)從熵解碼器140接收到的幀間預(yù)測信息執(zhí)行運動補償(mc?152),而無需進行運動估計。
5、根據(jù)vvc,輸入圖片被劃分為非重疊的正方形塊區(qū)域,稱為編解碼樹單元(codingtree?units,簡稱ctus),類似于hevc。每個ctu可以被劃分為一個或多個較小尺寸的編解碼單元(coding?units,簡稱cus)。結(jié)果產(chǎn)生的cu劃分可以是正方形或矩形。此外,vvc將ctu劃分為預(yù)測單元(prediction?units,簡稱pus),作為應(yīng)用預(yù)測過程(如幀間預(yù)測、幀內(nèi)預(yù)測等)的單元。
6、vvc中的適應(yīng)性環(huán)路濾波器
7、在vvc中,應(yīng)用了基于塊的濾波器適應(yīng)的適應(yīng)性環(huán)路濾波器(alf)。對于亮度分量,每個4x4塊中從25個濾波器中選擇一個濾波器,基于局部梯度的方向和活動性。
8、濾波器形狀
9、使用兩種菱形濾波器形狀(如圖2所示)。7×7菱形形狀220用于亮度分量,5×5菱形形狀210用于色度分量。
10、塊分類
11、對于亮度分量,每個4×4塊被分類為25個類別中的一個。分類索引c是基于其方向性d和活動性的量化值派生的,如下:
12、
13、為了計算d和首先使用一維拉普拉斯算子計算水平、垂直和兩個對角方向的梯度:
14、
15、其中索引i和j指的是4×4塊內(nèi)左上角樣本的坐標(biāo),r(i,j)表示坐標(biāo)(i,j)處的重建樣本。
16、為了降低塊分類的復(fù)雜性,對垂直方向(圖3a)和水平方向(圖3b)應(yīng)用了下采樣的一維拉普拉斯計算。如圖3c-d所示,所有方向的梯度計算使用相同的下采樣位置(gd1在圖3c和gd2在圖3d中)。
17、然后,水平和垂直方向的梯度的最大值和最小值設(shè)置為:
18、
19、兩個對角方向的梯度的最大值和最小值設(shè)置為:
20、
21、為了得出方向性d的值,這些值相互比較,并與兩個閾值t1和t2比較:
22、步驟1.如果和都為真,d設(shè)置為0。
23、步驟2.如果繼續(xù)步驟3;否則繼續(xù)步驟4。
24、步驟3.如果d設(shè)置為2;否則d設(shè)置為1。
25、步驟4.如果d設(shè)置為4;否則d設(shè)置為3。
26、活動值a計算為:
27、
28、a進一步量化到0至4的范圍內(nèi),包括邊界,量化值表示為
29、對于圖像中的色度分量,不應(yīng)用分類。
30、濾波器系數(shù)和剪切值的幾何變換
31、在過濾每個4×4亮度塊之前,根據(jù)該塊計算的梯度值,對濾波器系數(shù)f(k,l)和相應(yīng)的濾波器剪切值c(k,l)應(yīng)用幾何變換,如旋轉(zhuǎn)或?qū)蔷€和垂直翻轉(zhuǎn)。這相當(dāng)于將這些變換應(yīng)用于濾波器支持區(qū)域中的樣本。這樣做的目的是通過對齊它們的方向性,使得應(yīng)用alf的不同塊更加相似。
32、引入了三種幾何變換,包括對角線,垂直翻轉(zhuǎn)和旋轉(zhuǎn):
33、對角線:fd(k,l)=f(l,k),cd(k,l)=c(l,k),
34、垂直翻轉(zhuǎn):fv(k,l)=f(k,k-l-1),cv(k,l)=c(k,k-l-1),
35、旋轉(zhuǎn):fr(k,l)=f(k-l-1,k),cr(k,l)=c(k-l-1,k),
36、其中k是濾波器的大小,0≤k,l≤k-1是系數(shù)坐標(biāo),使得位置(0,0)位于左上角,位置(k-1,k-1)位于右下角。這些變換應(yīng)用于濾波器系數(shù)f(k,1)和剪切值c(k,l),這取決于為該塊計算的梯度值。變換與四個方向的四個梯度之間的關(guān)系在下表中總結(jié)。
37、表1.為一個塊計算的梯度與變換的映射
38、
39、
40、濾波過程
41、在解碼器端,當(dāng)為ctb啟用alf時,cu內(nèi)的每個樣本r(i,j)都會被濾波,得到樣本值r′(i,j),如下所示,
42、
43、其中f(k,l)表示解碼的濾波器系數(shù),k(x,y)是剪切函數(shù),c(k,l)表示解碼的剪切參數(shù)。變量k和1的變化范圍是-l/2到l/2,其中l(wèi)表示濾波器長度。剪切函數(shù)k(x,y)=min(y,max(-y,x))對應(yīng)于函數(shù)clip3(-y,y,x).。剪切操作引入非線性,通過減少與當(dāng)前樣本值差異過大的鄰近樣本值的影響,使alf更有效。
44、交叉組件適應(yīng)性環(huán)路濾波器
45、cc-alf使用亮度樣本值來細(xì)化每個色度分量,通過對亮度通道應(yīng)用適應(yīng)性線性濾波器,然后使用此濾波操作的輸出進行色度細(xì)化。圖4a提供了cc-alf過程相對于sao、亮度alf和色度alf過程的系統(tǒng)級圖。如圖4a所示,每個顏色分量(即y、cb和cr)由其相應(yīng)的sao處理(即sao?luma?410、sao?cb?412和sao?cr?414)。sao之后,alf?luma?420應(yīng)用于經(jīng)sao處理的亮度,alf?chroma?430應(yīng)用于經(jīng)sao處理的cb和cr。然而,從亮度到色度分量(即cc-alfcb?422和cc-alf?cr?424)有一個交叉組件項。交叉組件alf的輸出(分別使用加法器432和434)加到alf?chroma?430的輸出上。
46、cc-alf中的濾波是通過對亮度通道應(yīng)用線性菱形濾波器(例如圖4b中的濾波器440和442)來完成的。在圖4b中,空心圓表示亮度樣本,點填充的圓表示色度樣本。每個色度通道使用一個濾波器,操作表示為:
47、
48、其中(x,y)是正在細(xì)化的色度分量i的位置,(xy,yy)是基于(x,y)的亮度位置,si是亮度分量中的濾波器支持區(qū)域,ci(x0,y0)代表濾波器系數(shù)。
49、如圖4b所示,亮度濾波器支持區(qū)域是考慮到亮度和色度平面之間的空間縮放因子后,與當(dāng)前色度樣本重合的區(qū)域。
50、在vvc參考軟件中,cc-alf濾波器系數(shù)是通過最小化每個色度通道相對于原始色度內(nèi)容的均方誤差來計算的。為了實現(xiàn)這一點,vtm(vvc測試模型)算法使用了一個與色度alf相似的系數(shù)推導(dǎo)過程。具體來說,導(dǎo)出了一個相關(guān)矩陣,并使用cholesky分解求解器計算系數(shù),以嘗試最小化均方誤差度量。在設(shè)計濾波器時,每張圖片最多可以設(shè)計和傳輸8個cc-alf濾波器。然后,這些結(jié)果濾波器被指示用于基于ctu的兩個色度通道。
51、cc-alf的其他特性包括:
52、設(shè)計使用3x4菱形,有8個抽頭。
53、七個濾波器系數(shù)在aps中傳輸。
54、每個傳輸?shù)南禂?shù)都有6位動態(tài)范圍,并且限制為2的冪值。
55、第八個濾波器系數(shù)在解碼器處推導(dǎo),使得濾波器系數(shù)之和等于0。
56、aps可以在切片標(biāo)頭中引用。
57、cc-alf濾波器選擇在每個色度分量的ctu級別進行控制
58、水平虛擬邊界的邊界填充使用與亮度alf相同的內(nèi)存訪問模式。
59、作為一個額外的特性,參考編碼器可以配置為通過配置文件啟用一些基本的主觀調(diào)整。啟用后,vtm會在編碼高qp并且接近中灰或包含大量亮度高頻的區(qū)域中減弱cc-alf的應(yīng)用。在算法上,這是通過在滿足以下任一條件的ctu中禁用cc-alf的應(yīng)用來實現(xiàn)的:
60、切片qp值減1小于或等于基礎(chǔ)qp值。
61、色度樣本的局部對比度大于(1<<(bitdepth-2))-1的數(shù)量超過了ctu高度,其中局部對比度是濾波支持區(qū)域內(nèi)最大和最小亮度樣本值之間的差異。
62、超過四分之一的色度樣本位于(1<<(bitdepth-1))-16和(1<<(bitdepth-1))+16的范圍內(nèi)。
63、此功能的目的是確保cc-alf不會放大解碼路徑中較早引入的偽影(這主要是因為vtm目前并沒有明確針對色度主觀質(zhì)量進行優(yōu)化)。預(yù)計替代編碼器實現(xiàn)可能不使用此功能或采用適合其編碼特性的替代策略。
64、濾波器參數(shù)信號傳遞
65、alf濾波器參數(shù)在適應(yīng)參數(shù)集(adaptation?parameter?set,簡稱aps)中被信號傳遞。在一個aps中,最多可以信號傳遞25組亮度濾波器系數(shù)和剪切值索引,以及最多八組色度濾波器系數(shù)和剪切值索引。為了減少比特開銷,不同分類的亮度組件的濾波器系數(shù)可以合并。在切塊標(biāo)頭中,用于當(dāng)前切塊的apss的索引被信號傳遞。
66、剪切值索引,從aps中解碼得出,允許使用亮度和色度組件的剪切值表來確定剪切值。這些剪切值取決于內(nèi)部比特深度。更準(zhǔn)確地說,剪切值通過以下公式獲得:
67、alfclip={round(2b-α*n)for?n∈[0..n-1]}
68、其中b等于內(nèi)部比特深度,(是一個預(yù)定義的常數(shù)值等于2.35,n等于4,這是vvc中允許的剪切值數(shù)量。然后將alfclip四舍五入到最接近的2的冪的格式值。
69、在切塊標(biāo)頭中,最多可以信號傳遞7個aps索引來指定用于當(dāng)前切塊的亮度濾波器集。過濾過程可以在ctb級別進一步控制。總是有一個標(biāo)志被信號傳遞以指示是否對亮度ctb應(yīng)用alf。亮度ctb可以在16個固定濾波器集和apss中的濾波器集之間選擇一個濾波器集。為亮度ctb信號傳遞一個濾波器集索引以指示哪個濾波器集被應(yīng)用。16個固定濾波器集是預(yù)定義的,并在編碼器和解碼器中硬編碼。
70、對于色度組件,在切塊標(biāo)頭中信號傳遞一個aps索引以指示用于當(dāng)前切塊的色度濾波器集。在ctb級別,如果aps中有多于一個色度濾波器集,則為每個色度ctb信號傳遞一個濾波器索引。
71、濾波器系數(shù)以等于128的范數(shù)量化。為了限制乘法復(fù)雜性,應(yīng)用一個比特流一致性,以便非中心位置的系數(shù)值應(yīng)在-27到27-1的范圍內(nèi),包括。中心位置系數(shù)不在比特流中信號傳遞,并被認(rèn)為等于128。
72、適應(yīng)性環(huán)路濾波器在ecm中
73、alf簡化
74、alf梯度子采樣和alf虛擬邊界處理被移除。分類的塊大小從4x4減小到2x2。濾波器大小對于亮度和色度,alf系數(shù)被信號傳遞,增加到9x9。
75、帶有固定濾波器的alf
76、為了過濾一個亮度樣本,使用三個不同的分類器(c0,c1和c2)和三組不同的濾波器(f0,f1和f2)。集合f0和f1包含固定濾波器,其系數(shù)針對分類器c0和c1進行訓(xùn)練。濾波器f2中的系數(shù)被信號傳遞。哪個濾波器從集合fi中用于給定樣本由使用分類器ci[equationid74]分配給此樣本的類ci決定。
77、過濾
78、首先,應(yīng)用兩個13x13菱形形狀固定濾波器f0和f1來得出兩個中間樣本r0(x,y)和r1(x,y)。之后,將f2應(yīng)用于r0(x,y)、r1(x,y)和鄰近樣本來得出一個過濾樣本,如
79、
80、其中fi,j是鄰近樣本和當(dāng)前樣本r(x,y)之間的剪切差異,gi是ri-20(x,y)和當(dāng)前樣本之間的剪切差異。濾波器系數(shù)ci,i=0,...21,被信號傳遞。
81、分類
82、基于方向性di和活動性為每個2x2塊分配一個類ci:
83、
84、其中md,i代表方向性總數(shù)di。如在vvc中,水平、垂直和兩個對角線梯度的值使用1-d拉普拉斯算子為每個樣本計算。樣本梯度的總和在覆蓋目標(biāo)2×2塊的4×4窗口內(nèi)用于分類器c0,并且樣本梯度的總和在12×12窗口內(nèi)用于分類器c1和c2。水平、垂直和兩個對角線梯度的總和分別表示為和通過比較確定方向性di。
85、
86、使用一組閾值。方向性d2按照vvc使用閾值2和4.5得出。對于d0和d1,首先計算水平/垂直邊緣強度和對角線邊緣強度使用閾值th=[1.25,1.5,2,3,4.5,8]。如果邊緣強度為0;否則,是最大整數(shù),使得如果邊緣強度為0;否則,是最大整數(shù),使得當(dāng)時,即水平/垂直邊緣占主導(dǎo)時,使用表2a得出di;否則,對角線邊緣占主導(dǎo)時,使用表2b得出di。
87、表2a。和到di的映射
88、
89、表2b。和到di的映射
90、
91、為了獲得將垂直和水平梯度之和ai映射到0到n的范圍內(nèi),其中n對于等于4,對于和等于15。
92、在一個alf_aps中,最多可以信號傳遞4組亮度濾波器集,每組可能有多達25個濾波器。
93、如上所述,在vvc和ecm?alf中,分類和幾何變換僅應(yīng)用于亮度分量。在本發(fā)明中,為了提高性能,開發(fā)了適用于色度分量的分類和幾何變換方法。
技術(shù)實現(xiàn)思路
0、
技術(shù)實現(xiàn)要素:
1、發(fā)明簡要概述
2、本發(fā)明公開了一種使用適應(yīng)性環(huán)路濾波器(alf)進行視頻編解碼的方法和裝置。根據(jù)該方法,接收重建像素,其中重建像素包括一個當(dāng)前顏色塊,且當(dāng)前顏色塊包括一個當(dāng)前亮度塊和一個當(dāng)前色度塊。確定當(dāng)前色度塊的轉(zhuǎn)置索引。通過將目標(biāo)色度alf應(yīng)用于當(dāng)前色度塊,得出一個過濾的色度輸出,其中轉(zhuǎn)置索引包含在用于從色度alf集合中選擇目標(biāo)色度alf的信息中,或轉(zhuǎn)置索引用于選擇目標(biāo)幾何變換以生成目標(biāo)色度alf,或兩者都有。提供過濾重建像素,其中過濾重建像素包括過濾的色度輸出。
3、在一個實施例中,目標(biāo)色度alf是通過根據(jù)轉(zhuǎn)置索引將目標(biāo)幾何變換應(yīng)用于初始色度alf得出的。在另一個實施例中,目標(biāo)色度alf是根據(jù)轉(zhuǎn)置索引從色度alf集合中選擇的。在又一個實施例中,初始色度alf是根據(jù)轉(zhuǎn)置索引從色度alf集合中選擇的,且目標(biāo)色度alf是通過根據(jù)轉(zhuǎn)置索引將目標(biāo)幾何變換應(yīng)用于初始色度alf得出的。在又一個實施例中,當(dāng)前色度塊的分類基于轉(zhuǎn)置索引和梯度分類器的方向性的組合,或轉(zhuǎn)置索引和梯度分類器的活動性的組合。在又一個實施例中,當(dāng)前色度塊的分類基于轉(zhuǎn)置索引和帶類分類器的帶類的組合。
4、在一個實施例中,轉(zhuǎn)置索引是使用當(dāng)前色度塊的色度樣本得出的。在另一個實施例中,轉(zhuǎn)置索引是使用當(dāng)前亮度塊的亮度樣本得出的。在又一個實施例中,轉(zhuǎn)置索引是使用當(dāng)前亮度塊的亮度樣本和當(dāng)前色度塊的色度樣本得出的。在又一個實施例中,用于當(dāng)前亮度塊的亮度類、亮度轉(zhuǎn)置索引或兩者分別用作當(dāng)前色度塊的色度類、轉(zhuǎn)置索引或兩者。
5、在一個實施例中,當(dāng)前色度塊的分類是從兩個或更多不同的分類器中得出的,且所述兩個或更多不同的分類器包括第一分類器和第二分類器。在另一個實施例中,如果使用第一分類器,則將目標(biāo)幾何變換應(yīng)用于初始色度alf,如果使用第二分類器,則不應(yīng)用目標(biāo)幾何變換。
6、在一個實施例中,是否將目標(biāo)幾何變換應(yīng)用于初始色度alf對于當(dāng)前色度塊是可切換的。在一個實施例中,兩個分類器用于當(dāng)前色度塊,且是否將目標(biāo)幾何變換應(yīng)用于初始色度alf取決于為當(dāng)前色度塊選擇的目標(biāo)分類器,其中兩個分類器中的一個應(yīng)用目標(biāo)幾何變換,另一個則不應(yīng)用目標(biāo)幾何變換。在另一個實施例中,用于當(dāng)前色度塊的分類器根據(jù)轉(zhuǎn)置索引應(yīng)用目標(biāo)幾何變換,且在適應(yīng)參數(shù)集(aps)、切塊(slice)或編解碼樹單元(ctu)中的標(biāo)志被信號傳遞或解析以禁用目標(biāo)幾何變換。