TW202023278A - 減少環路濾波緩衝器的方法及裝置 - Google Patents
減少環路濾波緩衝器的方法及裝置 Download PDFInfo
- Publication number
- TW202023278A TW202023278A TW108137854A TW108137854A TW202023278A TW 202023278 A TW202023278 A TW 202023278A TW 108137854 A TW108137854 A TW 108137854A TW 108137854 A TW108137854 A TW 108137854A TW 202023278 A TW202023278 A TW 202023278A
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- pixels
- pixel
- virtual boundary
- target
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公開了用於環路處理重建視訊的方法和裝置。 根據一種方法,確定當前圖片中待處理像素的虛擬邊界,其中虛擬邊界與塊邊界對齊,並且虛擬邊界第一側上的至少一個待處理像素需要虛擬邊界的第二側上的一個或多個第二像素。 根據該方法,如果目標待處理像素需要來自虛擬邊界的第二側的至少一個第二像素,則修改環路處理,並且修改後的環路處理消除了對虛擬邊界的第二側的任何第二像素的需要。 根據另一種方法,當用於分類的一個10×10窗口中的所需像素的一部分在虛擬邊界的另一側時,改變塊分類的操作。
Description
本發明涉及視訊編碼系統中的濾波處理。 特別地,本發明涉及與視訊編碼器或解碼器中的圖塊(tile)或切片邊界上的環路濾波器處理有關的方法和裝置。
運動估計是一種有效的幀間編解碼技術,以利用視訊序列中的時間冗餘。運動補償的幀間編解碼已在各種國際視訊編解碼標準中廣泛使用。各種編解碼標準中採用的運動估計通常是基於塊的技術,其中,針對每個宏塊或類似塊配置確定運動資訊,例如編解碼模式和運動矢量。另外,還自適應地應用幀內編解碼,其中在不參考任何其他圖片的情況下處理圖片。幀間預測殘差或幀內預測殘差通常通過變換、量化和熵編解碼進一步處理以生成壓縮視訊位元流。在編碼過程中,特別是在量化過程中,會引入編解碼偽像。為了減輕編解碼偽像,在較新的編解碼系統中已將附加處理應用於重建的視訊,以提高圖片質量。通常以環路操作來配置附加處理,以便編碼器和解碼器可以導出相同的參考圖片以實現改進的系統性能。
第1A圖示出了結合有環路處理的示例性自適應幀間/幀內視訊編解碼系統。對於幀間預測,運動估計(ME)/運動補償(MC)112用於基於來自其他圖片的視訊資料提供預測資料。開關114選擇幀內預測110或幀間預測資料,並且所選擇的預測資料被提供給加法器116以形成預測誤差,也稱為殘差。預測誤差隨後由變換(T)118,然後由量化(Q)120處理。然後,經變換和量化的殘差由熵編碼器122編解碼,以形成與壓縮視訊資料相對應的視訊位元流。然後,將與變換係數相關聯的位元流與諸如運動、模式之類的輔助資訊(side information)以及與圖片區域相關聯的其他資訊打包在一起。輔助資訊也可以經過熵編解碼以減少所需的帶寬。因此,如第1A圖所示,與輔助資訊相關的資料被提供給熵編碼器122。當使用幀間預測模式時,也必須在編碼器端重建參考圖片。因此,通過逆量化(IQ)124和逆變換(IT)126處理經變換和量化的殘差以恢復殘差。然後在重建(REC)128處將殘差加回到預測資料136以重建視訊資料。重建的視訊資料可以存儲在參考圖片緩衝器134中,並用於其他幀的預測。
如第1A圖所示,輸入視訊資料在編碼系統中經歷了一系列處理。由於一系列處理,來自REC 128的重建視訊資料可能遭受各種損害。因此,在將重建視訊資料存儲在參考圖片緩衝器134中之前,對重建視訊資料進行各種環路處理,以提高視訊質量。在正在開發的高效視訊編解碼(HEVC)標準中,已經開發了去塊濾波器(DF)130、樣本自適應偏移(SAO)131和自適應環路濾波器(ALF)132以增強圖片質量。環路濾波器資訊可能必須合併到位元流中,以便解碼器可以正確恢復所需的資訊。因此,來自SAO和ALF的環路濾波器資訊被提供給熵編解碼器122以合併到位元流中。在第1A圖中,首先將DF 130應用於重建的視訊;然後將SAO 131應用於DF處理的視訊; ALF 132應用於SAO處理的視訊。但是,可以重新安排DF、SAO和ALF之間的處理順序。
在第1B圖中示出了用於第1A圖的編碼器的相應解碼器。視訊位元流由視訊解碼器142解碼以恢復經變換和量化的殘差、SAO / ALF資訊和其他系統資訊。在解碼器側,僅執行運動補償(MC)113,而不執行ME / MC。解碼過程類似於編碼器端的重建循環。被恢復的經變換和量化的殘差、SAO / ALF資訊以及其他系統資訊用於重建視訊資料。 DF 130、SAO 131和ALF 132對重建的視訊進行進一步處理,以生成最終的增強解碼視訊。
HEVC中的編解碼過程是根據最大編解碼單元(LCU)來應用的。使用四叉樹將LCU自適應地劃分為編解碼單元。在每個葉子CU中,對每個8x8塊執行DF,在HEVC測試模型版本4.0(HM-4.0)中,DF適用於8x8塊邊界。對於每個8x8塊,首先應用跨垂直塊邊界的水平濾波,然後應用跨水平塊邊界的垂直濾波。在亮度塊邊界的處理期間,濾波器參數推導涉及每一側的四個像素,並且在濾波之後每側最多可以改變三個像素。對於跨越垂直塊邊界的水平濾波,未濾波的重建像素(即,預DF像素(pre-DF pixel))用於濾波參數推導,並且還用作濾波的源像素。對於跨水平塊邊界的垂直濾波,未濾波的重建像素(即, 預DF像素)用於濾波參數推導,而DF中間像素(DF intermediate pixel)(即,水平濾波後的像素)用於濾波。對於色度塊邊界的DF處理,濾波器參數推導涉及每一側的兩個像素,並且在濾波之後每側最多改變一個像素。對於跨越垂直塊邊界的水平濾波,未濾波的重建像素用於濾波參數推導,並用作濾波的源像素。對於跨越水平塊邊界的垂直濾波,將經DF處理的中間像素(即,水平濾波之後的像素)用於濾波參數推導,並且還用作濾波的源像素。
在HM-4.0中也採用了樣本自適應偏移(SAO)131,如第1A圖所示。 SAO可以視為濾波的一種特殊情況,其中該處理僅適用於一個像素。在SAO中,首先要進行像素分類,以將像素分為不同的組(也稱為類別或類)。每個像素的像素分類基於3x3窗口。在對圖片或區域中的所有像素進行分類後,將為每個像素組導出一個偏移量並進行傳輸。 HEVC(高效視訊編解碼)未採用ALF。但是,正在考慮將ALF用於新興的視訊編解碼標準,命名為VVC(通用視訊編解碼)。通過最小化濾波樣本和原始樣本之間的失真之和,可以得出ALF的濾波係數。此外,使用開/關控制標誌在位元流中發信得出的濾波器係數。可以在一個切片中使用多個濾波器,並且濾波器選擇包括基於塊的分類的隱式選擇和發信的語法的顯式選擇。
在HM-4.0中,將DF應用於8x8塊邊界,以減少在塊邊界處的偽影的可見性。第2圖示出了塊210中的垂直邊界212和塊220中的水平邊界222,其中部分地示出了8×8塊(4×8或8×4)。在一幅圖片中,所有垂直邊界都可以並行地水平濾波,然後所有水平邊界都可以並行地垂直濾波。在亮度邊界的處理過程中,濾波器參數推導涉及到每側的四個像素(p0
-p3
,q0
-q3
),並且在濾波後每側最多可以改變三個像素(p0
-p2
,q0
-q2
) 。對於亮度水平DF,使用DF之前的像素(即水平DF之前的像素)來導出濾波器參數和濾波。對於亮度垂直DF, 預DF像素用於導出濾波器參數,而H-DF像素(即水平DF之後的像素)用於濾波。在色度邊界的處理期間,濾波器參數推導涉及每側的兩個像素(p0
-p1
,q0-q1
),並且在濾波後每側的最多一個像素(p0
,q0
)發生變化。對於色度水平DF, 預DF像素用於導出濾波器參數和濾波。對於色度垂直DF,H-DF像素用於導出濾波器參數和濾波。.
在HM-4.0中,SAO被應用於亮度和色度分量,並且每個亮度分量被獨立地處理。 SAO可以將一張圖片劃分為多個LCU對齊區域,並且每個區域可以從兩種頻帶偏移(Band Offset,簡寫為BO)類型,四種邊緣偏移(Edge Offset,簡寫為EO)類型和無處理(OFF)中選擇一種SAO類型。對於每個要處理(也稱為要濾波)的像素,BO使用像素強度將像素分類為一個帶。如第3圖所示,將像素強度範圍平均分為32個頻帶。在像素分類之後,為每個頻帶的所有像素得出一個偏移量,然後選擇中心16個頻帶或外部16個頻帶的偏移量並進行編解碼。至於EO,它使用待處理像素的兩個相鄰(neighbor)像素將像素分類。四種EO類型分別對應於0°、90°、135° 和45° ,如第4圖所示。類似於BO,對於類別0以外的每個類別的所有像素推導出一個偏移量,其中類別0被強制為使用零偏移。表1示出了EO像素分類,其中“ C”表示要分類的像素。
表 1.
在HM-4.0中,ALF具有兩個濾波形狀選項,用於亮度和色度的cross11x5(510)和nowflake5x5(520),如第5圖所示。在每張圖片中,亮度分量可以選擇一種形狀,而色度分量可以選擇一種形狀。每張圖片最多可應用16個亮度濾波器和最多1個色度濾波器。為了允許ALF局部化(localization),亮度像素有兩種模式可以選擇濾波器。一種是基於區域的自適應(region-based adaptation,簡寫為RA)模式,另一種是基於塊的自適應(block-based adaptation,簡寫為BA)模式。 RA模式將一張亮度圖片分為16個區域。一旦知道圖片大小,就確定並固定了16個區域。區域可以合併,合併後的每個區域都使用一個濾波器。 BA模式將邊緣活動和方向用作每個4x4塊的屬性。如第6A圖所示,計算4×4塊(610)的屬性需要5×5像素(612)。計算完4x4塊的屬性後,將它們分為15類。類別可以合併,合併後每個類別將使用一個濾波器。至於色度分量,因為它們是相對平坦的,所以不使用局部適應(local adaptation),並且圖片的兩個分量共享一個濾波器。
在正在開發的新興VVC(通用視訊編解碼)標準中,已經公開了更靈活的ALF以改善性能。對於基於塊的分類,將一張圖片劃分為幾個4x4亮度塊,並為每個4x4亮度塊導出一組索引。該組索引用於從濾波器集合中選擇亮度濾波器。為了減少濾波器係數所需的資料,可以基於一個4x4塊的特徵來旋轉濾波器係數,以便不需要傳輸某些係數。在VVC中,一個亮度濾波器集合的ALF最多可使用25個組,這與基於梯度大小的5個活動級別和基於梯度方向的5個方向相關。不同的組可以共享一個濾波器,其中多個組可以合併為一個合併的組,而一個合併的組則具有一個濾波器。
為了確定組索引,計算每個4x4塊的梯度(gradient)。梯度包括對應於GradH
:水平梯度,GradV
:垂直梯度,Grad45
:Diagonal45梯度和Grad135
:Diagonal135梯度的四種類型。水平、垂直、對角線45°和對角線135°的梯度在相應方向上使用三個連續的像素,其中心權重等於-2,兩個側權重等於1。在評估塊620的選定位置評估塊分類,如第6B圖中所示,其中以灰色顯示的目標4x4塊622位於評估塊的中心。 8x8評估塊由在4x4塊的每個方向上擴展的2個像素組成。使用32個位置(即所選位置)上的梯度來計算一個4x4塊的梯度總和,其中所選位置由帶有梯度位置(例如Di,j)的小方框表示。每種類型總共累積了32個梯度,由於計算每個梯度在每個方向上需要一個額外的像素,因此需要訪問10x10個樣本才能得出梯度。如第6B圖所示,所選位置對應於2:1水平子採樣位置,偶數行和奇數行之間有一個像素的偏移
為了確定組指數,進一步計算以下兩個比率:
RatioHV
= max (GradH
,GradV
) / min (GradH
,GradV
),
RatioDia
= max (Grad135
,Grad45
) / min (Grad135
,Grad45
)
方向指數(Direction
)如下確定:
if (RatioHV
> 2 && RatioDia
> 2)Direction
= 0
else if (RatioHV
> RatioDia
)Direction
= (RatioHV
> 4.5) ? 2 : 1
elseDirection
= (RatioDia
> 4.5) ? 4 : 3
通過將(GradH + GradV)的總和量化為5個級別(活動(Activity
))來確定5個活動級別。組索引是根據(5 xDirection
+Activity
)計算得出的。
第6C圖中示出了用於亮度的7x7菱形濾波器和用於色度分量的5x5菱形濾波器的示例,其中,係數是沿對角線630的半對稱。在第6B圖中,係數0-6用於5x5菱形濾波器,係數0-12用於7x7菱形濾波器。係數以8位元表示,其中1位元為正負號(sign),而7位元為小數部分。如果需要,非中心係數(Non-center coefficient)被發信,並且在[-128,127]範圍內具有一個限幅閾值(clipping threshold)。中心係數設置為等於1。
VTM 4.0中ALF的線緩衝器(line buffer)要求如第6D圖所示。濾波器佔用面積(footprint)是用於亮度的7x7菱形濾波器和用於色度的5x5菱形濾波器。亮度濾波過程總共需要6條線。色度濾波器處理總共需要4條線。
在第6E圖中示出了VTM 4.0中ALF的基於線緩衝器需求4x4塊的分類。對4x4塊執行分類。一個4x4塊需要一個10x10的窗口,該窗口包含在7x7菱形濾波器中。如果ALF的不可用區域與4x4網格對齊,則僅需要7條線。
為了減少線緩衝器的使用,在HEVC標准開發期間提出了虛擬邊界。這個概念是當ALF應用於虛擬邊界一側的像素時,則不能使用另一側的像素,如第6F圖所示。
當基於LCU的處理用於DF、SAO和ALF時,整個解碼過程可以以LCU流水線方式並行處理多個LCU,在光柵掃描中逐LCU完成。在這種情況下,DF、SAO和ALF需要線緩衝器,因為處理一個LCU行需要來自上述LCU行(row)的像素。如果使用片外線緩衝器(例如DRAM),則外部記憶體帶寬和功耗將增加;如果使用了片上線緩衝器(例如SRAM),則將增加晶片面積。因此,儘管線緩衝器已經比圖片緩衝器小得多,但是仍然希望減少線緩衝器。
第7圖解釋了基於LCU解碼的DF、SAO和ALF所需的亮度線緩衝器的數量。給定當前的LCU(下方的H.LCU邊界710和左側的V.LCU邊界712),首先通過水平DF,然後通過垂直DF處理線A-J。接下來,建議將線K-N的水平DF延遲到下方(lower)LCU可用,以避免線K-N的垂直DF的H-DF像素的線緩衝器,由於下方LCU尚不可用,因此目前無法處理,並且DF在水平邊界的每一側需要四個pre-DF像素和四個H-DF像素,以分別導出濾波器參數和濾波,如4像素條紋(720)所示。因此,DF必須存儲四行(K-N)的pre-DF像素。接下來,將在DF輸出像素上應用SAO。由於線K-N的垂直DF不會改變線K,因此可以在線K上將水平DF附加用於SAO以處理線J,如3x3正方形(730)所示。請注意,線K的H-DF像素將不會存儲在線緩衝器中,而在下方LCU出現時必須再次生成,這在硬體上不是問題。在SAO處理線A-J之後,可以計算4x4塊屬性,如4x4正方形(740)所示。指示了5x5支撐區域(742)。此時,ALF可以處理線A-H。此後,在下方LCU出現之前,無法對當前LCU進行進一步的處理。當下方LCU到來時,首先由DF處理線K-P,然後由SAO處理線K-P。當SAO應用於線K時,需要線J。因此,必須為SAO存儲DF輸出像素的一行(J)。接下來,計算線I-P的4×4塊屬性。最後,ALF可以濾波線I-P。當濾波線I時,它需要線G-K,如濾波器形狀(750)所示,並指示濾波器中心(752)。但是,計算線I-J的塊屬性仍需要線F-J。因此,必須為ALF存儲五行(F-J)SAO輸出像素。總體而言,整個環路濾波需要10個亮度線緩衝器。當考慮整個解碼系統時,由於幀內亮度預測已經存儲了預DF像素的一行(N),因此可以共享該亮度線緩衝器。此外,如果可以使用濾波器索引線緩衝器來存儲針對線G-J的BA模式濾波器選擇,則在對線I-J進行濾波期間不必再次計算塊屬性。這樣,可以為ALF保存一行(F)SAO輸出像素。濾波器索引線緩衝器每4x4塊僅需要4位元,與像素線緩衝器相比僅約10%。
第8圖解釋了基於LCU解碼的DF、SAO和ALF所需的色度線緩衝器的數量。給定當前的LCU(H.LCU邊界810和V.LCU邊界812),首先通過水平DF處理線A-M,然後通過垂直DF處理線A-L。接下來,建議延遲線N的水平DF,直到下方LCU出現為止,以便與幀內色度預測共享線N的預DF像素的線緩衝器。至於線M-N的垂直DF,它必須等待下方LCU。請回想一下,色度DF讀取兩個H-DF像素,並可能在邊界的每一側寫入一個像素,如2像素條紋(2-pixel stripe)所示。因此,對於DF,必須存儲一行(M)的H-DF像素和一行(N)的預DF像素。接下來,將在DF輸出像素上應用SAO。由於用於線M-N的垂直DF將不會改變線M,所以線M的H-DF像素也是線M的DF輸出像素,並且SAO可以處理線L,如3×3正方形所示(820)。SAO處理線A-L之後,ALF可以處理線A-J。此後,在下方LCU出現之前,無法對當前LCU進行進一步的處理。當下方LCU到來時,首先通過水平DF處理線N-P,然後通過垂直DF和SAO處理線M-P。當SAO處理線M時,需要線L。因此,必須為SAO存儲DF輸出像素的一行(L)。最後,線K-P可以通過ALF進行濾波。當線K被濾波時,它需要線I-M,如由具有濾波器中心(822)的濾波器形狀(820)所示。因此,必須為ALF存儲四行(I-L)SAO輸出像素。總的來說,整個環路濾波需要七個色度線緩衝器。
虛擬邊界以減少線緩衝器的使用
為了消除SAO和ALF的線緩衝器要求,我們引入了虛擬邊界(VB)的概念。如第9A圖所示,VB在水平LCU邊界上向上移動了N個像素。在第9B圖中,VB在垂直LCU邊界上左移了N個像素。對於每個LCU,SAO和ALF可以在下方LCU出現之前處理VB上方的像素,但是直到下方LCU出現之前,才可以處理VB下方的像素,這是由DF引起的。考慮到HM-4.0中的DF,建議的VB和水平LCU邊界之間的間隔設置為亮度的三個像素(即第9A圖和第9B圖中的N = 3)和色度的一個像素(即在第9A圖和第9B圖中N= 1)。對SAO和ALF進行了修改,以確保VB一側上的每個要處理的像素都不需要從VB另一側進行任何資料訪問,除非可以在不使用任何其他線緩衝器的情況下及時獲得該資料。
公開了一種用於重建視訊的環路處理的方法和裝置。根據該方法,接收與當前圖片相關聯的重建像素,其中,將當前圖片劃分為多個塊,以對重建像素進行環路處理。確定當前圖片中待處理像素的虛擬邊界,其中虛擬邊界與塊邊界對齊,並且虛擬邊界第一側的至少一個待處理像素需要在虛擬邊界第二側的一個或多個第二像素。根據該方法,如果目標待處理像素需要來自虛擬邊界的第二側的至少一個第二像素,則修改環路處理,並且修改後的環路處理消除了對虛擬邊界第二側的任何第二像素的需要。
在一個實施例中,多個塊對應於4x4塊。在一實施例中,多個塊對應於最小單位,其中所有樣本共享相同的環路處理。在一個實施例中,環路處理對應於SAO(樣本自適應偏移)處理或ALF(自適應環路濾波器)處理。在一實施例中,重建的像素對應於亮度像素。對於當前圖片的色度重建像素,允許色度虛擬邊界穿過色度塊。
在一個實施例中,如果要處理的目標像素需要來自虛擬邊界的第二側的任何第二像素,則使用填充產生來自虛擬邊界的第二側的上述第二像素。在另一個實施例中,如果要處理的目標像素需要來自虛擬邊界的第二側的任何第二像素,則使用對稱填充來填充來自虛擬邊界的第二側的該第二像素。
根據另一實施例,修改的環路處理使用具有減小的佔用面積的修改的濾波器來消除對虛擬邊界的第二側上的任何第二像素的需要。
修改的環路處理可以在編碼器側以及解碼器側應用於重建的像素。
根據另一種方法,為屬於待處理像素的目標塊確定覆蓋目標塊的擴展塊。基於擴展塊為目標塊導出塊分類,其中如果導出塊分類所需的擴展塊的任何目標像素在虛擬邊界的第二側,則修改與塊分類相關聯的至少一個操作。然後,如果所述導出塊分類所需的擴展塊的任何目標像素在虛擬邊界的第二側,則使用塊分類將自適應環路濾波器處理應用於目標塊,其中與塊分類相關聯的至少一個操作被修改。
在一個實施例中,為目標塊確定評估塊,其中目標塊位於評估塊的中心,並且將周圍像素添加到評估塊以形成擴展塊。例如,目標塊對應於4x4塊,評估塊對應於8x8塊,擴展塊對應於10x10塊。在另一實施例中,目標塊對應於最小單位,其中所有採樣共享相同的自適應環路濾波器處理。
在一個實施例中,基於評估塊的所選位置處的梯度來導出塊分類。在一個實施例中,如果用於評估塊的目標所選位置的目標梯度要求虛擬邊界第二側上擴展塊的任何目標像素,則將目標梯度從用於塊分類的梯度總和中排除或設置為零。在這種情況下,梯度的總和通過評估塊所選位置處可用梯度的總數進行歸一化。替代地,根據在評估塊的所選位置處的可用梯度的總數對梯度的總和加權。
在一個實施例中,如果用於評估塊的目標所選位置的目標梯度要求在虛擬邊界的第二側上擴展塊的任何目標像素,則用於評估塊的目標所選位置的目標梯度被修改為排除虛擬邊界的第二側上的擴展塊的所述任何目標像素。
在一個實施例中,評估塊的所選位置對應於在偶數線和奇數線之間具有一個像素偏移的2:1水平子採樣位置。
以下描述是實施本發明的最佳構想模式。進行該描述是為了說明本發明的一般原理,而不應被認為是限制性的。本發明的範圍最好通過參考所附的申請專利範圍來確定。
亮度VB處理可以分為兩部分。第一部分處理VB上方的像素,而第二部分處理VB下方的像素。第10 -19圖示出了針對VB上方的像素的各種提議的亮度VB處理。在第10圖中,當前LCU的所有像素已經由REC處理,並且四行(p0
-p3
)預DF像素被存儲在DF線緩衝器中。在第11圖中,通過水平DF處理VB上方的像素。請回想一下,亮度DF在8x8塊邊界的每一側讀取四個像素並最多寫入三個像素。在第12圖中,通過垂直DF處理VB上方的像素。在第13圖中,VB上方的像素將由SAO處理。最初,線p3
的SAO處理可能需要線p2
的DF輸出像素。由於線p2
的DF輸出像素尚不可用,因此將它們替換為線p2
的預DF像素,以進行線p3
的SAO處理。在第14圖中,已經通過SAO處理了VB上方的所有像素。在第15-18圖中,ALF將處理VB上方的像素。最初,計算線p3
的ALF塊屬性需要線p0
-p4
的SAO輸出像素。由於線p0
-p2
的SAO輸出像素尚不可用,因此將線p4
-p7
的塊屬性直接用於線p3
,如第15圖所示。在濾波期間,最初也可能需要VB下方的SAO輸出像素。在這些情況下,SAO輸出像素將替換為預DF像素。在第16圖中,為ALF選擇了snowflake5x5時,snowflake5x5的最後一行(即線p2
)的SAO輸出像素(用於濾波線p4
),snowflake5x5的最後兩行(即線p1
-p2
)的SAO輸出像素(用於濾波線p3
)尚不可用,並被預DF像素取代。在第17圖中,在為ALF選擇cross9x9的情況下,cross9x9的最後一行(即線p2
)的SAO輸出像素(用於濾波線p6
),snowflake5x5的最後兩行(即線p1
-p2
)的SAO輸出像素(用於濾波線p5
)尚不可用,並被預DF像素取代。在第18圖中,其中也為ALF選擇了cross9x9,cross9x9的最後三行(線p0
-p2
)的SAO輸出像素(用於濾波線p4
)尚不可用,並被預DF像素替換。至於濾波線p3
,它最初需要線q0
,其屬於下方LCU。在這種情況下,將濾波器形狀減小為cross9x7,並將原始cross9x9的兩個垂直端的係數添加到中心像素。以此方式,不需要改變ALF語法,並且可以避免係數的乘法和除法歸一化。類似地,用於濾波線p3
的cross9x7的最後三行(即,線p0
-p2
)的SAO輸出像素尚不可用,並被預DF像素代替。在第19圖中,ALF已經處理了VB上方的所有像素。此時,可以在下方LCU出現之前將VB上方的像素寫入已解碼的圖片緩衝器。
第20 -29圖示出了針對VB下方的像素的提議亮度VB處理。在第20圖中,可以從DF線緩衝器中讀取四行(即,p0
-p3
)預DF像素。在第21圖中,線p3
的像素和VB以下的像素由水平DF處理。請注意,計算線p0
-p3
的水平DF決策需要線p0
-p7
的預DF像素。為了節省線p4
-p7
的線緩衝器,在第11圖中的線p3
-p7
的水平DF期間,計算這些水平DF決策並將其存儲在決策線緩衝器中。決策緩衝器每8x8塊僅需要一位元,並且可以簡單地實現為片上寄存器或SRAM。在第22圖中,通過垂直DF處理VB下方的像素。請記住,垂直DF決策使用預DF像素,因此在第21圖中完成水平DF之前,必須先計算水平LCU邊界處的垂直DF決策。在第23圖中,VB下方的像素將是由SAO處理。最初,線p2
的SAO處理可能需要線p3
的DF輸出像素。由於線p3
的DF輸出像素已經可用,因此SAO輸入像素不會更改。在第24圖中,SAO已經處理了VB下方(下一個VB上方)的所有像素。在第25-28圖中,ALF將處理VB下方的像素。最初,計算線p0
-p3
的ALF塊屬性需要線p0
-p4
的SAO輸出像素。但是,線p3
-p4
的SAO輸出像素不再可用。因此,如第25圖所示,將線p3
的SAO輸出像素替換為可用的DF輸出像素。此外,沿垂直方向重複填充以從線p3
的DF輸出像素生成線p4
的像素。在濾波期間,最初也可能需要VB上方的SAO輸出像素。在這些情況下,將SAO輸出像素替換為線p3
的DF輸出像素,並可以填充或減小濾波器形狀。在第26圖中,對於ALF選擇了snowflake5x5,為了濾波線p2
,將snowflake5x5的第二行(即線p3
)的SAO輸出像素替換為DF輸出像素;snowflake5x5的第一行(即,線p4
)的SAO輸出像素被線p3
的最近的DF輸出像素代替。此外,將線p2
的濾波輸出像素與線p2
的SAO輸出像素進一步平均,以生成線p2
的最終ALF輸出像素。為了濾波線p1
,將snowflake5x5的第一行(即線p3
)的SAO輸出像素替換為DF輸出像素。在第27圖中,為ALF選擇cross9x9時,對於濾波線p2
,通過將六個捨棄係數與中央像素相加,將濾波器形狀減小為cross9x3, cross9x3的第一行(即,線p3
)的SAO輸出像素替換為DF輸出像素。對於濾波線p1
,通過將四個捨棄係數添加到中心像素,將濾波器形狀減小為cross9x5,並且將cross9x5的第一行(即,線p3
)的SAO輸出像素替換為DF輸出像素。在第28圖中,對於ALF也選擇了cross9×9,對於濾波線p0
,通過將兩個捨棄係數加到中心像素,將濾波器形狀減小為cross9×7;將cross9x7的第一行(即,線p3
)的SAO輸出像素替換為DF輸出像素。對於濾波線q0
,濾波器形狀不變,並且用DF輸出像素代替cross9x9的第一行(即,線p3
)的SAO輸出像素。以此方式,不需要改變ALF語法,並且可以避免係數的乘法和除法歸一化。在第29圖中,ALF已經處理了VB以下(和下一個VB以上)的所有像素。此時,可以將VB下方(和下一個VB上方)的像素寫入解碼後的圖片緩衝器。
表2總結了亮度VB處理的設計原理。在第11圖和第21圖中,可以看到水平DF對線p3
進行了兩次處理。 這僅在基於LCU的處理中發生,而不在像HM這樣的基於圖片的處理中發生。 冗餘計算對硬體的影響很小,因為已經分配了DF硬體,並且DF並不是系統的吞吐量瓶頸。 可以通過增加一個線緩衝器來存儲線p3
的H-DF像素來避免冗餘計算。 但是,這絕對不是在硬體上的良好折衷。表 2. 亮度 VB 處理建議摘要
所提出的色度VB處理具有與所提出的亮度VB處理相同的概念和相似的原理,並在表3中進行了總結。 第30-38圖示出了對於VB上方的像素的色度VB處理,並且第39-47圖示出了對於VB下方的像素的色度VB處理。 請注意,由於色度垂直DF不使用任何預DF像素,並且線p1
的H-DF像素已經存儲在線緩衝器中,因此對於線p1
沒有色度水平DF的冗餘計算。表 3. 建議的色度 VB 處理摘要
虛擬邊界的概念仍然可以在VVC中應用,以減少線緩衝器的使用。在以上描述中,最大編解碼單元(LCU)被重命名為VVC中的編解碼樹單元(CTU)。但是,提出了一些修改以適合當前ALF設計的功能。
方法
1
虛擬邊界的位置應與最小單位(例如4x4塊)的邊界對齊。由於一個4×4亮度塊中的所有像素共享相同的濾波器係數(即,共享相同的ALF處理),所以當虛擬邊界與4×4亮度塊的邊界對齊時,具有虛擬邊界的ALF的處理變得簡單。換句話說,一個4x4亮度塊中的所有像素應位於虛擬邊界的同一側。虛擬邊界不能將任何4x4亮度塊分成兩個區域。由於沒有色度分量的分類,因此不需要與色度分量的虛擬邊界的位置相關的約束。在一個實施例中,所提議的虛擬邊界和水平CTU邊界之間的空間對於亮度設置為四個像素(即,第9A圖和第9B圖中的N = 4),對於色度設置為一個像素(即,第9A圖和第9B圖中的N = 1)。
方法
2
由於使用基於塊的分類來實現ALF的高編解碼增益,因此與其他4x4塊相比,虛擬邊界以上或虛擬邊界以下的4x4塊可被視為不同的組。如第7圖所示,將虛擬邊界設置為線J和線K之間的邊界。線G-J和線K-N中的4×4塊被視為與其他線(諸如線C-F)中的4×4塊不同的組。我們可以對線G-J和線K-N中的4x4塊應用不同的分類規則。換句話說,用於將4x4塊分組為不同類別的分類規則包括4x4塊的位置或虛擬邊界。在一實施例中,對於普通的4×4塊,存在原始的25個類別;與那些在虛擬邊界上方的4x4塊情況相對應的一個附加(即第26個)類別,以及與那些在虛擬邊界以下的4x4塊情況相對應的另一個(第27個)類別。在另一個實施例中,對於普通的4x4塊有原始的25個類別;虛擬邊界上方或下方的那些4x4塊被分類為另外的第26類。在另一個實施例中,對於普通的4x4塊有原始的25個類別;通過使用相同的分類規則,在虛擬邊界上方或下方的那些4x4塊又被分為另外25個類別。在一實施例中,ALF不應用於虛擬邊界上方或下方的這些4×4塊。在另一個實施例中,針對虛擬邊界上方或下方的這些4×4塊禁用ALF的決定以序列級別、圖片級別、圖塊級別或切片級別來發信。
對於一個4x4塊,需要一個10x10窗口來計算塊屬性。在一個實施例中,虛擬邊界另一側的所需像素在塊屬性計算過程中不使用。在另一實施例中,當所需像素位於虛擬邊界的另一側時,使用填充技術來生成所需資料,包括活動性、梯度、梯度方向等。
方法
3
虛擬邊界的位置是一個4x4亮度塊在垂直方向上的中間位置。在一個實施例中,提議的虛擬邊界和水平CTU邊界之間的間隔被設置為對於亮度為六個像素(即,第9A圖和第9B圖中的N = 6)和對於色度為一個像素(即,第9A圖和第9B圖中N = 1)。那些跨越虛擬邊界的4×4亮度塊(例如,第7圖中的線G-J中的4×4塊)未被ALF濾波。
方法
4
虛擬邊界的概念進一步擴展為一個保護帶(guard band)。對於保護帶中的那些像素,將禁用ALF。對於保護帶上方的待濾波像素或待濾波4x4塊,不能使用保護帶下方的像素,但可以參考保護帶中的像素。對於保護帶下方的待濾波像素或待濾波4x4塊,不能使用保護帶上方的像素,但可以參考保護帶中的像素。在一個實施例中,保護帶被設置為用於亮度的四個像素(即,第9A圖和第9B圖中的N = 6),並且高度是4個像素。即,保護帶被定義為第7圖中的線G-J的區域。對於那些在保護帶上方的要被濾波的像素或要被濾波的4x4塊(即,第7圖中的線A-F)僅可以使用線J以上(包括線J)的像素。對於保護帶下方(即,第7圖中的線K-P)的那些要被濾波的像素或要被濾波的4×4塊,只能使用G行以下(包括G行)的像素。在另一個實施例中,對於在保護帶以下的那些要被濾波的像素或要被濾波的4x4塊(即,第7圖中的線K-P),僅可以使用預定行以下(包括預定行)的像素,並且如果所需像素在預定行上方,則可以使用填充技術生成所需像素。例如,預定行可以是線I或線J。
方法
5
當虛擬邊界或保護帶的概念被應用並且填充技術被用於生成所需像素而不是訪問真實像素時,ALF的輸出值可以是濾波結果和未濾波像素的加權和。當在濾波過程中使用較少的實際像素時(即,在濾波過程中使用較多的填充像素),則減少了濾波結果的權重。在一實施例中,使用方法1中公開的虛擬邊界。因此,提議的虛擬邊界和水平CTU邊界之間的空間對於亮度設置為四個像素(即,第9A圖和第9B圖中的N = 4),對於色度設置為一個像素(即,第9A圖和第9B圖中的N = 1)。線G和線N中ALF的輸出值等於濾波後的結果。線H和線M中ALF的輸出值等於((濾波後的結果+未濾波的結果)/ 2)。線I和線L中ALF的輸出值等於((濾波後的結果+ 3 x未濾波的結果)/ 4)。線J和線K中ALF的輸出值等於((濾波後的結果+ 7 x未濾波的結果)/ 8)。在另一個實施例中,線G和線N中的ALF的輸出值等於((濾波後的結果+未濾波的結果)/ 2)。 線H和線M中ALF的輸出值等於(濾波後的結果+ 3 x未濾波的結果)/4。線I和線L中ALF的輸出值等於(濾波後的結果+ 7 x未濾波的結果)/ 8。線J和線K中的ALF的輸出值等於(濾波後的結果+ 15 x未濾波的結果)/ 16。在另一個實施例中,線G和線N的ALF的輸出值等於(4 x濾波後的結果+ 0 x未濾波的結果)/4。線H和線M中ALF的輸出值等於(3 x濾波後的結果+ 1 x未濾波的結果)/ 4。線I和線L中ALF的值等於((2 x濾波後的結果+ 2 x未濾波的結果)/ 4)。 線J和線K中ALF的輸出值等於((1 x濾波後的結果+ 3 x未濾波的結果)/ 4)。在另一個實施例中,當產生濾波結果和未濾波結果的加權和時考慮舍入偏移(rounding offset)。在另一實施例中,線G和線N中的ALF的輸出值等於((7×濾波後的結果+ 1×未濾波後的結果)/ 8)。 線H和線M中ALF的輸出值等於((5 x濾波後的結果+ 3 x未濾波的結果)/ 8)。線I和線L中ALF的輸出值等於((3 x濾波後的結果+ 5 x未濾波的結果)/ 8)。 線J和線K中ALF的輸出值等於((1 x濾波後的結果+ 7 x未濾波的結果)/ 8)。在另一個實施例中,當產生濾波結果和未濾波結果的加權和時考慮舍入偏移。在另一個實施例中,當產生濾波結果和未濾波結果的加權和時考慮舍入偏移。
方法
6
上述方法中的填充技術可以是直接填充、偶數鏡像填充、奇數鏡像填充、一些預定義值、待濾波像素、待濾波像素行、ALF處理之前的一些中間結果,或上述內容的某種組合。在另一實施例中,當所需像素不可用時,填充技術將使用濾波器形狀的對稱線。例如,使用方法1中提出的虛擬邊界。提議的虛擬邊界和水平CTU邊界之間的空間對於亮度設置為四個像素(即,第9A圖和第9B圖中的N = 4),對於色度設置為一個像素(即,第9A圖和第9B圖中的N = 1)。當要濾波的像素位於線K時,由於虛擬邊界,無法訪問線H-J中的實際像素。我們用L線代替J線,M線代替I線,N線代替K線。當要濾波的像素位於L線時,I和J線的真實像素不能被訪問;線N用於替換線J,線O用於替換線I。
為了減少ALF的線緩衝器的使用,上述方法可以單獨使用或組合在一起以實現一個整體解決方案。
方法
7
在一個實施例中,在虛擬邊界的另一側的所需像素在包括分類和濾波操作在內的ALF處理中被填充的樣本所代替。換句話說,填充技術用於為ALF中的所有過程生成所需的樣本,而不是訪問虛擬邊界另一側的真實像素。例如,在計算梯度時,如果在分類中使用的一個10x10窗口中的某些所需像素在虛擬邊界的另一側,則使用填充技術生成相應的像素。
在一個實施例中,當用於分類的一個10 x 10窗口中的所需像素的一部分在虛擬邊界的另一側時,改變塊分類的操作。例如,如果在分類中使用的一個10x10窗口中一部分所需像素位於虛擬邊界的另一側,則將那些位於虛擬邊界另一側的梯度設置為零(即不使用),然後將梯度的總和通過可用梯度的總數歸一化。在另一示例中,如果在分類中使用的一個10x10窗口中的一部分所需像素在虛擬邊界的另一側,則更改所需梯度的圖案,以避免使用在虛擬邊界另一側的那些像素。
可以在編碼器和/或解碼器中實現任何前述提出的方法。例如,可以在編碼器和/或解碼器的環路濾波模塊中實現任何所提出的方法。可替代地,任何提出的方法可以被實現為耦合到編碼器和/或解碼器的環路濾波模塊的電路。
第48圖示出了根據本發明的實施例的示例性的重建視訊的環路處理的流程圖。流程圖中所示的步驟可被實現為可在編碼器側的一個或多個處理器(例如,一個或多個CPU)上執行的程式代碼。流程圖中所示的步驟也可以基於硬體來實現,例如被佈置為執行流程圖中的步驟的一個或多個電子設備或處理器。根據該方法,在步驟4810中接收與當前圖片相關聯的重建像素,其中,將當前圖片劃分為多個塊,以進行重建像素的所述環路處理。在步驟4820中確定當前圖片中待處理像素的虛擬邊界,其中該虛擬邊界與塊邊界對齊,並且該虛擬邊界的第一側上的至少一個待處理像素需要該虛擬邊界的第二側上的一個或多個第二像素。如果目標待處理像素需要來自虛擬邊界的第二側的至少一個第二像素,則在步驟4830中修改所述環路處理,其中,所述修改後的環路處理消除了對虛擬邊界的第二側的任何第二像素的需要。
第49圖示出了根據本發明的實施例的重建視訊的示例性自適應環路濾波器處理的流程圖。根據另一種方法,在步驟4910中接收與當前圖片相關聯的重建像素,其中,將當前圖片劃分為多個塊,以用於重建像素的所述自適應環路濾波器處理。在步驟4920中,確定當前圖片中待處理像素的虛擬邊界,其中,在虛擬邊界的第一側上的至少一個待處理像素需要在所述虛擬邊界的第二側上的一個或多個第二像素。在步驟4930中,為屬於待處理像素的目標塊確定覆蓋目標塊的擴展塊。在步驟4940中,基於擴展塊為目標塊導出塊分類,其中,如果所述導出塊分類所需的擴展塊的任何目標像素在虛擬邊界的第二側,則至少一個與像素塊分類相關聯的操作被修改。如果所述導出塊分類所需的擴展塊的任何目標像素在虛擬邊界的第二側,則在步驟4950中使用具有至少一個操作被修改的塊分類將所述自適應環路濾波器處理應用於目標塊。
所示的流程圖旨在說明根據本發明的視訊編解碼的示例。所屬領域具有通常知識者可以在不脫離本發明的精神的情況下修改每個步驟,重新佈置步驟,拆分步驟或組合步驟以實施本發明。在本公開中,已經使用特定的語法和語義來示出用於實現本發明的實施例的示例。所屬領域具有通常知識者可以通過用等效的語法和語義替換語法和語義來實踐本發明,而不脫離本發明的精神。
呈現以上描述是為了使所屬領域具有通常知識者能夠實踐在特定應用及其要求的上下文中提供的本發明。對所描述的實施例的各種修改對於所屬領域具有通常知識者將是顯而易見的,並且本文中定義的一般原理可以應用於其他實施例。因此,本發明並不旨在限於所示出和描述的特定實施例,而是與與本文所公開的原理和新穎特徵相一致的最廣範圍相一致。在以上詳細描述中,示出了各種具體細節以便提供對本發明的透徹理解。然而,所屬領域具有通常知識者將理解可以實施本發明。
如上所述的本發明的實施例可以以各種硬體、軟體代碼或兩者的組合來實現。例如,本發明的實施例可以是集成到視訊壓縮晶片中的一個或多個電路電路或集成到視訊壓縮軟體中以執行本文描述的處理的程式代碼。本發明的實施例還可以是要在數位信號處理器(DSP)上執行以執行本文描述的處理的程式代碼。本發明還可涉及由計算機處理器、數位信號處理器、微處理器或現場可編程門陣列(FPGA)執行的許多功能。這些處理器可以被配置為通過執行定義本發明所體現的特定方法的機器可讀軟體代碼或韌體代碼來執行根據本發明的特定任務。可以以不同的編程語言和不同的格式或樣式來開發軟體代碼或固件代碼。也可以為不同的目標平台編譯軟體代碼。然而,不同的代碼格式,軟體代碼的樣式和語言以及配置代碼以執行根據本發明的任務的其他方式將不脫離本發明的精神和範圍。
在不脫離本發明的精神或基本特徵的情況下,本發明可以以其他特定形式實施。所描述的示例在所有方面僅應被認為是說明性的而非限制性的。因此,本發明的範圍由所附申請專利範圍而不是前述描述來指示。落入申請專利範圍等同含義和範圍內的所有改變均應包含在其範圍之內。
114:開關
110:幀內預測
112:ME/MC
113:MC
116:加法器
118:T
120:Q
122:熵編碼器
124:IQ
126:IT
128:REC
130:DF
131:SAO
132:ALF
134:考圖片緩衝器
136:預測資料
142:熵解碼器
210、220、610、620、622:塊
212:垂直邊界
222:水平邊界
510:cross11x5
520:nowflake5x5
612:5×5像素
630:對角線
710、712、810、812:邊界
720:4像素條紋
730、830:3x3正方形
740:4x4正方形
742:5x5支撐區域
750、820:濾波器形狀
752、822:濾波器中心
4810~4830、4910~4950:步驟
第1A圖示出了結合了DF、SAO和ALF環路處理的示例性自適應幀間/幀內視訊編碼系統。
第1B圖示出了結合了DF、SAO和ALF環路處理的示例性自適應幀間/幀內視訊解碼系統。
第2圖示出了應用於8x8塊邊界以減小在塊邊界處的偽影的可見性的解塊濾波處理的示例,其中示出了垂直邊界和水平邊界。
第3圖示出了頻帶偏移(BO)的示例,其中像素強度範圍被平均分為32個頻帶,並且為每個頻帶確定偏移值。
第4圖圖示了對應於HEVC(高效視訊編解碼)標準中用於確定當前像素的類別以應用SAO(樣本自適應偏移)的0°、90°、135°和45°的邊緣偏移(EO)窗口。
第5圖示出了自適應環路濾波器(ALF)的示例,其中ALF具有兩個濾波器形狀選項,分別對應於亮度和色度的cross11x5和snowflake5x5。
第6A圖示出了用於自適應環路濾波器(ALF)的塊自適應(BA)的示例,其中BA模式使用邊緣活動性和方向作為每個4x4塊的屬性。
第6B圖示出了通過評估評估塊的選定位置處的梯度來對目標塊進行塊分類的示例,其中以灰色顯示的目標4x4塊位於評估塊的中心。
第6C圖示出了用於亮度分量的7x7菱形濾波器和用於色度分量的5x5菱形濾波器的示例,其中係數在對角線上為半對稱。
第6D圖示出了VTM 4.0中ALF的線緩衝器要求的示例,其中濾波器佔用面積是用於亮度的7x7菱形濾波器和用於色度的5x5菱形濾波器。
第6E圖圖示了VTM 4.0中用於ALF的基於線緩衝器要求4x4塊的分類的示例,其中對4x4塊執行了分類。
第6F圖圖示了這樣的概念的示例:當將ALF應用於虛擬邊界一側的像素時,則另一側的像素將無法使用。
第7圖示出了利用基於LCU的解碼進行DF、SAO和ALF所需的亮度線緩衝器數量的示例。
第8圖示出了利用基於LCU的解碼進行DF、SAO和ALF所需的色度線緩衝器數量的示例。
第9A圖示出了通過將水平LCU邊界向上移動N個像素而得到的VB的示例。
第9B圖示出了通過將垂直LCU邊界左移N個像素而得到的VB的示例。
第10圖示出了針對VB上方的像素的示例VB處理,其中當前LCU的所有像素均已通過REC處理,並且四行(p0
-p3
)預DF像素存儲在DF線緩衝器中。
第11圖示出了針對VB上方的像素的示例VB處理,其中VB上方的像素由水平DF處理。
第12圖示出了針對VB上方的像素的示例VB處理,其中VB上方的像素由垂直DF處理。
第13圖示出了針對VB上方的像素的示例VB處理,其中VB上方的像素將由SAO處理。
第14圖示出了針對VB上方的像素的示例VB處理,其中VB上方的所有像素均已通過SAO處理。
第15圖示出了針對VB上方的像素的示例VB處理,其中由於線p0
-p2
的SAO輸出像素尚不可用,因此直接將線p4
-p7
的塊屬性重新用於線p3
。
第16圖示出了針對VB上方的像素的示例VB處理,其中snowflake5x5被選擇用於ALF,snowflake5x5的最後一行(線p2
)的SAO輸出像素(用於濾波線p4
)和snowflake5x5的最後兩行(線p1
-p2
)的SAO輸出像素(用於濾波線p3
)尚不可用,並被預DF像素替換。
第17圖示出了針對VB上方的像素的示例VB處理,其中為ALF選擇了cross9x9,cross9x9的最後一行(線p2
)的SAO輸出像素(用於濾波線p6
)和cross9x9的最後兩行(線p1
-p2
)的SAO輸出像素(用於濾波線p5
)尚不可用,並被預DF像素替換。
第18圖示出了針對VB上方的像素的示例VB處理,其中也為ALF選擇了cross9x9,cross9x9的最後三行(線p0
-p2
)的SAO輸出像素(用於濾波線p4
)尚不可用,並被預DF像素替換。
第19圖示出了針對VB上方的像素的示例VB處理,其中VB上方的所有像素均已通過ALF處理。此時,可以在下方LCU出現之前將VB上方的像素寫入已解碼的圖片緩衝器。
第20 -29圖示出了針對VB下方的像素的提議的亮度VB處理。
第20圖示出了針對VB下方的像素的示例VB處理,其中可以從DF線緩衝器讀取四行(即p0
-p3
)預DF像素。
第21圖示出了針對VB下方的像素的示例VB處理,其中線p3的像素和VB下方的像素由水平DF處理。
第22圖示出了針對VB下方的像素的示例VB處理,其中VB下方的像素由垂直DF處理。
第23圖示出了針對VB下方的像素的示例VB處理,其中VB下方的像素將由SAO處理。
第24圖示出了針對VB下方的像素的示例VB處理,其中VB下方(以及下一個VB上方)的所有像素均已由SAO處理。
第25圖示出了針對VB下方的像素的示例VB處理,其中,將線p3
的SAO輸出像素替換為可用DF輸出像素。
第26圖示出了針對VB下方的像素的示例VB處理,其中,為了濾波線p2
,將snowflake5x5的第二行(即線p3
)的SAO輸出像素替換為DF輸出像素;snowflake5x5的第一行(即,線p4
)的SAO輸出像素被線p3
的最近的DF輸出像素代替。
第27圖示出了針對低於VB的像素的示例VB處理,其中為ALF選擇了cross9x9;對於濾波線p2
,通過將六個丟棄係數(discarded coefficient)加到中心像素,將濾波器形狀減小為cross9x3;將cross9x3的第一行(即,線p3
)的SAO輸出像素替換為DF輸出像素。
第28圖示出了針對VB下方的像素的示例VB處理,其中也為ALF選擇了cross9x9;對於濾波線p0
,通過將兩個捨棄係數加到中心像素,將濾波器形狀減小為cross9x7;將cross9x7的第一行(即,線p3
)的SAO輸出像素替換為DF輸出像素。
第29圖示出了針對VB下方的像素的示例VB處理,其中VB下方(以及下一個VB上方)的所有像素均已由ALF處理。
第30 -38圖示出了對於VB上方的像素的色度VB處理。
第39 -47圖示出了對於VB下方的像素的色度VB處理。
第48圖示出了根據本發明的實施例的示例性的重建視訊的環路處理的流程圖。
第49圖示出了根據本發明的實施例的對重建視訊的示例性自適應環路濾波器處理的流程圖。
4810~4830:步驟
Claims (23)
- 一種用於重建視訊的環路處理的方法,該方法包括: 接收與當前圖片相關聯的多個重建像素,其中,將該當前圖片劃分為多個塊,用於該多個重建像素的該環路處理; 確定該當前圖片中多個待處理像素的虛擬邊界,其中該虛擬邊界與多個塊邊界對齊,該虛擬邊界的第一側的至少一個待處理像素需要該虛擬邊界的第二側的一個或多個第二像素;以及 如果目標待處理像素需要來自該虛擬邊界的該第二側的至少一個第二像素,則修改該環路處理,其中,修改後的環路處理消除了對該虛擬邊界的該第二側的任何第二像素的需要。
- 如申請專利範圍第1項所述之方法,其中,該多個塊對應於多個4×4塊。
- 如申請專利範圍第1項所述之方法,其中,該多個塊對應於多個最小單元,並且其中,每個最小塊中的所有樣本共享相同的環路處理。
- 如申請專利範圍第1項所述之方法,其中,該環路處理對應於SAO(樣本自適應偏移)處理或ALF(自適應環路濾波器)處理。
- 如申請專利範圍第1項所述之方法,其中,該多個重建像素對應於多個亮度像素。
- 如申請專利範圍第1項所述之方法,其中對於該當前圖片的多個色度重建像素,色度虛擬邊界被允許穿過多個色度塊。
- 如申請專利範圍第1項所述之方法,其中,如果要該目標待處理像素需要在該虛擬邊界的該第二側上的該至少一個第二像素,則來自該虛擬邊界的該第二側的該至少一個第二像素被填充。
- 如申請專利範圍第1項所述之方法,其中,如果該目標待處理像素要求來自該虛擬邊界的該第二側的該至少一個第二像素,則使用對稱填充填充來自該虛擬邊界的該第二側的該至少一個第二像素。
- 如申請專利範圍第1項所述之方法,其中,該修改後的環路處理使用具有減小的佔用面積的修改後的濾波器,以消除對該虛擬邊界的該第二側上的任何第二像素的需要。
- 如申請專利範圍第1項所述之方法,其中,該修改的環路處理在編碼器側被應用於該多個重建的像素。
- 如申請專利範圍第1項所述之方法,其中,該修改的環路處理在解碼器側被應用於該多個重建的像素。
- 一種用於對重建的視訊進行環路處理的裝置,該裝置包括一個或多個電子電路或處理器,該一個或多個電子電路或處理器被佈置為: 接收與當前圖片相關聯的多個重建像素,其中,將該當前圖片劃分為多個塊,以進行該多個重建像素的該環路處理; 確定該當前圖片中待處理像素的虛擬邊界,其中,該虛擬邊界與塊邊界對齊,該虛擬邊界第一側的至少一個待處理像素需要該虛擬邊界的第二側的一個或多個第二像素; 以及 如果目標待處理像素需要來自該虛擬邊界的該第二側的至少一個第二像素,則修改該環路處理,其中,修改後的環路處理消除了對該虛擬邊界的該第二側的任何第二像素的需要。
- 一種用於重建視訊的自適應環路濾波器處理的方法,該方法包括: 接收與當前圖片相關聯的多個重建像素,其中,將該當前圖片劃分為多個塊,用於該多個重建像素的自適應環路濾波處理; 確定該當前圖片中多個待處理像素的虛擬邊界,其中,在該虛擬邊界的第一側上的至少一個待處理像素需要在該虛擬邊界的第二側上的一個或多個第二像素; 對於屬於該多個待處理像素的目標塊,確定覆蓋該目標塊的擴展塊; 基於該擴展塊導出該目標塊的塊分類,其中如果所述導出該塊分類所需的該擴展塊的任何目標像素在該虛擬邊界的該第二側,則修改與該塊分類相關聯的至少一個操作;以及 如果所述導出該塊分類所需的該擴展塊的任何目標像素在該虛擬邊界的該第二側,則使用具有該至少一個操作被修改的該塊分類將該自適應環路濾波器處理應用於該目標塊。
- 如申請專利範圍第13項所述之方法,其中,針對該目標塊確定評估塊,其中,該目標塊位於該評估塊的中心,並且將周圍像素添加到該評估塊以形成該擴展塊。
- 如申請專利範圍第14項所述之方法,其中,該目標塊對應於4x4塊,該評估塊對應於8x8塊,並且該擴展塊對應於10x10塊。
- 如申請專利範圍第15項所述之方法,其中該目標塊對應於最小單元,並且其中每個最小塊中的所有樣本共享相同的自適應環路濾波器處理。
- 如申請專利範圍第14項所述之方法,其中,該塊分類是基於該評估塊的所選位置處的梯度而得出的。
- 如申請專利範圍第17項所述之方法,其中,如果用於該評估塊的目標所選位置的目標梯度需要該虛擬邊界的該第二側上的該擴展塊的任何目標像素,則從該塊分類的該梯度的總和中排除該目標梯度,或將該目標梯度設置為零。
- 如申請專利範圍第18項所述之方法,其中,根據該評估塊的該所選位置處的可用梯度的總數對該梯度的總和加權。
- 如申請專利範圍第18項所述之方法,其中,通過在該評估塊的該所選位置處的可用梯度的總數將該梯度的總和歸一化。
- 如申請專利範圍第17項所述之方法,其中,如果用於該評估塊的目標所選位置的目標梯度需要該虛擬邊界的該第二側上的該擴展塊的任何目標像素,則修改該評估塊的該目標所選位置的該目標梯度,以排除該虛擬邊界的該第二側上的該擴展塊的所述任何目標像素。
- 如申請專利範圍第17項所述之方法,其中,該評估塊的該所選位置對應於在偶數線和奇數線之間具有一個像素偏移的2:1水平子採樣位置。
- 一種用於重建視訊的自適應環路濾波器處理的裝置,該裝置包括一個或多個電子電路或處理器,其被佈置為: 接收與當前圖片相關聯的多個重建像素,其中,將該當前圖片劃分為多個塊,用於該多個重建像素的自適應環路濾波處理; 確定該當前圖片中多個待處理像素的虛擬邊界,其中,在該虛擬邊界的第一側上的至少一個待處理像素需要在該虛擬邊界的第二側上的一個或多個第二像素; 對於屬於該多個待處理像素的目標塊,確定覆蓋該目標塊的擴展塊; 基於該擴展塊導出該目標塊的塊分類,其中如果導出該塊分類所需的該擴展塊的任何目標像素在該虛擬邊界的該第二側,則修改與該塊分類相關聯的至少一個操作;以及 如果導出該塊分類所需的該擴展塊的任何目標像素在該虛擬邊界的該第二側,則使用具有該至少一個操作被修改的該塊分類將該自適應環路濾波器處理應用於該目標塊。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862749145P | 2018-10-23 | 2018-10-23 | |
US62/749,145 | 2018-10-23 | ||
US201862750282P | 2018-10-25 | 2018-10-25 | |
US62/750,282 | 2018-10-25 | ||
US201862768200P | 2018-11-16 | 2018-11-16 | |
US62/768,200 | 2018-11-16 | ||
WOPCT/CN2019/111895 | 2019-10-18 | ||
PCT/CN2019/111895 WO2020083108A1 (en) | 2018-10-23 | 2019-10-18 | Method and apparatus for reduction of in-loop filter buffer |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202023278A true TW202023278A (zh) | 2020-06-16 |
TWI738092B TWI738092B (zh) | 2021-09-01 |
Family
ID=70331215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108137854A TWI738092B (zh) | 2018-10-23 | 2019-10-21 | 減少環路濾波緩衝器的方法及裝置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11743458B2 (zh) |
EP (2) | EP3868109A4 (zh) |
CN (1) | CN113287316B (zh) |
TW (1) | TWI738092B (zh) |
WO (1) | WO2020083108A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113099221A (zh) * | 2021-02-22 | 2021-07-09 | 浙江大华技术股份有限公司 | 跨分量样点自适应补偿方法、编码方法及相关装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220020268A (ko) | 2019-06-14 | 2022-02-18 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 유닛 경계들 및 가상 경계들의 처리 |
CN113994671B (zh) * | 2019-06-14 | 2024-05-10 | 北京字节跳动网络技术有限公司 | 基于颜色格式处理视频单元边界和虚拟边界 |
JP7291846B2 (ja) | 2019-07-09 | 2023-06-15 | 北京字節跳動網絡技術有限公司 | 適応ループフィルタリングのためのサンプル決定 |
WO2021004542A1 (en) | 2019-07-11 | 2021-01-14 | Beijing Bytedance Network Technology Co., Ltd. | Sample padding in adaptive loop filtering |
EP3984219A4 (en) | 2019-07-15 | 2022-08-17 | Beijing Bytedance Network Technology Co., Ltd. | CLASSIFICATION IN AN ADAPTIVE LOOP FILTERING |
US11197030B2 (en) | 2019-08-08 | 2021-12-07 | Panasonic Intellectual Property Corporation Of America | System and method for video coding |
KR20220038670A (ko) * | 2019-08-08 | 2022-03-29 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 비디오 코딩을 위한 시스템 및 방법 |
WO2021049593A1 (en) | 2019-09-11 | 2021-03-18 | Panasonic Intellectual Property Corporation Of America | System and method for video coding |
CN114430902B (zh) | 2019-09-22 | 2023-11-10 | 北京字节跳动网络技术有限公司 | 自适应环路滤波中的填充过程 |
JP7326600B2 (ja) | 2019-09-27 | 2023-08-15 | 北京字節跳動網絡技術有限公司 | 異なるビデオユニット間の適応ループフィルタリング |
JP7454042B2 (ja) | 2019-10-10 | 2024-03-21 | 北京字節跳動網絡技術有限公司 | 適応ループ・フィルタリングにおける利用可能でないサンプル位置でのパディング・プロセス |
US11425405B2 (en) * | 2019-11-15 | 2022-08-23 | Qualcomm Incorporated | Cross-component adaptive loop filter in video coding |
CN115088265A (zh) * | 2019-12-12 | 2022-09-20 | Lg电子株式会社 | 用于控制环路滤波的图像编码装置和方法 |
WO2022066783A1 (en) * | 2020-09-23 | 2022-03-31 | Beijing Dajia Internet Information Technology Co., Ltd. | Chroma coding enhancement in cross-component sample adaptive offset with virtual boundary |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI508534B (zh) * | 2010-05-18 | 2015-11-11 | Sony Corp | Image processing apparatus and image processing method |
US8861617B2 (en) * | 2010-10-05 | 2014-10-14 | Mediatek Inc | Method and apparatus of region-based adaptive loop filtering |
JP5689563B2 (ja) * | 2011-05-10 | 2015-03-25 | メディアテック インコーポレイテッド | インループフィルターバッファーの削減方法及び装置 |
WO2012155553A1 (en) | 2011-05-16 | 2012-11-22 | Mediatek Inc. | Apparatus and method of sample adaptive offset for luma and chroma components |
US9641866B2 (en) * | 2011-08-18 | 2017-05-02 | Qualcomm Incorporated | Applying partition-based filters |
CN103891292B (zh) * | 2011-10-24 | 2018-02-02 | 寰发股份有限公司 | 视频数据环路滤波处理方法及其装置 |
US9442840B2 (en) * | 2012-12-19 | 2016-09-13 | Qualcomm Incorporated | Virtual boundary codes in a data image of a read-write memory device |
EP3761641A1 (en) | 2013-11-15 | 2021-01-06 | MediaTek Inc. | Method of block-based adaptive loop filtering |
JP7291846B2 (ja) * | 2019-07-09 | 2023-06-15 | 北京字節跳動網絡技術有限公司 | 適応ループフィルタリングのためのサンプル決定 |
-
2019
- 2019-10-18 CN CN201980068336.2A patent/CN113287316B/zh active Active
- 2019-10-18 EP EP19875755.1A patent/EP3868109A4/en active Pending
- 2019-10-18 WO PCT/CN2019/111895 patent/WO2020083108A1/en unknown
- 2019-10-18 EP EP23153780.4A patent/EP4192016A1/en active Pending
- 2019-10-18 US US17/286,713 patent/US11743458B2/en active Active
- 2019-10-21 TW TW108137854A patent/TWI738092B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113099221A (zh) * | 2021-02-22 | 2021-07-09 | 浙江大华技术股份有限公司 | 跨分量样点自适应补偿方法、编码方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3868109A1 (en) | 2021-08-25 |
CN113287316A (zh) | 2021-08-20 |
EP4192016A1 (en) | 2023-06-07 |
US11743458B2 (en) | 2023-08-29 |
US20210360238A1 (en) | 2021-11-18 |
WO2020083108A1 (en) | 2020-04-30 |
CN113287316B (zh) | 2023-07-21 |
TWI738092B (zh) | 2021-09-01 |
EP3868109A4 (en) | 2022-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI738092B (zh) | 減少環路濾波緩衝器的方法及裝置 | |
KR101567467B1 (ko) | 루프내 필터 버퍼의 감소를 위한 방법 및 장치 | |
TWI737137B (zh) | 視訊編碼之非線性適應性迴圈濾波方法和裝置 | |
US10306246B2 (en) | Method and apparatus of loop filters for efficient hardware implementation | |
US8913656B2 (en) | Method and apparatus for in-loop filtering | |
US20160241881A1 (en) | Method and Apparatus of Loop Filters for Efficient Hardware Implementation | |
TWI751623B (zh) | 具有虛擬邊界的跨分量自適應環路濾波的視頻編解碼方法及裝置 | |
US20170094273A1 (en) | Method and Apparatus for reduction of deblocking filter | |
US20170118480A1 (en) | Sample adaptive offset (sao) filtering in video coding | |
CN109792541A (zh) | 用于视频译码的去振铃滤波器 | |
WO2021046096A1 (en) | Method and apparatus for adaptive loop filtering at picture and sub-picture boundary in video coding | |
US11856198B2 (en) | Image decoding device, method, and non-transitory computer-readable storage medium | |
US20240187589A1 (en) | Image encoding apparatus, image decoding apparatus, control methods and non-transitory computer-readable storage medium | |
RU2783342C1 (ru) | Способ и устройство для нелинейной адаптивной контурной фильтрации при кодировании видео | |
TW202420827A (zh) | 用於視訊編解碼的具有虛擬邊界和多源的自適應環路濾波器的方法和裝置 | |
TW202420812A (zh) | 用於視訊編解碼的具有替代亮度分類器的自適應環路濾波器的方法和裝置 |