本發(fā)明涉及視頻編碼領域。尤其是,本發(fā)明涉及用于對圖像幀序列中的圖像幀進行幀間編碼的方法和編碼器。
背景技術:
1、在對視頻的圖像幀進行編碼時,通常對每個圖像幀應用空間變化的壓縮水平,以便降低比特率,但同時保持圖像幀的不同區(qū)域中的感知質量水平。在觀看者更感興趣的圖像幀的區(qū)域中可能使用較低的壓縮水平,而對于觀看者不太感興趣的區(qū)域可能使用較高的壓縮水平。這可以通過使用更多的比特對圖像的感興趣區(qū)域進行編碼并且使用更少的比特對不太感興趣的區(qū)域進行編碼來實現(xiàn)。確定感興趣的區(qū)域(roi)的構成可以取決于應用而變化,例如,移動的水平或者圖像細節(jié)的水平可以確定圖像的特定區(qū)域是否應視為roi。
2、當使用如上所述的方法時,發(fā)明人注意到在特定情況下在具有高壓縮水平的圖像幀的區(qū)域中出現(xiàn)偽影的問題。這些類型的偽影的特征是在受影響的區(qū)域的不同區(qū)之間,感知質量上的明顯差異。這些偽影傾向于隨著時間的推移而惡化、增加,直到下一個i幀被編碼。觀察到這些問題的示例是圖像中移動物體的背景區(qū)域中,諸如汽車后面的道路、墻壁上細微的光線變化或者湖面上反射的極光。
3、us10425642b1公開了一種方法,用于在應用于圖像幀上的編碼單元的殘差系數(shù)的量化參數(shù)存在大方差時提高圖像質量。為了減少方差,在第一編碼過程中為圖像幀的編碼單元計算平均量化參數(shù),并且然后將該平均量化參數(shù)用于確定待應用于第二編碼過程中的編碼單元的更新后的量化參數(shù)。
4、us20150373328a1公開了一種可變比特率系統(tǒng),其中,編碼器使用兩遍編碼方案逐幀改變量化參數(shù)。整個幀序列的第一遍分析確定哪些幀更復雜,并且第二遍分析根據(jù)第一遍分析改變幀的量化參數(shù),以進行更有效的編碼。
5、ep2132938b1公開了為了滿足比特率約束或者利用未使用的帶寬的目的而使用兩遍編碼方案。通過改變視頻塊的視頻編碼模式(諸如從跳過模式到直接模式)并且調整量化參數(shù),在第二編碼過程中對第一編碼過程的編碼進行精煉。
6、us200260083a1公開了如何通過基于預定塊的高通濾波版本的統(tǒng)計樣本值分布的離散度來確定圖像的預定塊的編碼量化參數(shù),從而可以使圖像上的編碼量化參量變化或者自適應更有效。
7、us20020312021a1公開了一種分析調制視頻壓縮方法,該方法允許編碼過程基于監(jiān)控圖像的內容動態(tài)地調整量化??梢詰脙杀榫幋a方案,其中,第一遍用于基于例如目標比特率和場景中對象的數(shù)量和大小來導出與前景對象相關聯(lián)的量化參數(shù)值。
8、因此,在這方面有改進的需要。
技術實現(xiàn)思路
1、鑒于上述,因此本發(fā)明的目的是通過提供一種提高圖像幀的高壓縮區(qū)域中的感知質量的編碼方法來克服或者減輕上述問題。
2、上述目的通過所附獨立權利要求所限定的本發(fā)明來實現(xiàn)。有利的實施方式通過所附從屬權利要求限定。
3、發(fā)明人認識到,出現(xiàn)在圖像幀的高度壓縮區(qū)域中的偽影是由一些像素塊被幀內編碼而其它相鄰像素塊被幀間編碼引起的。幀間編碼的像素塊根據(jù)視頻中先前編碼的幀中的信息進行時間預測。得益于時間預測,待編碼的剩余殘差通常較小,這允許像素塊盡管在高壓縮水平下仍被編碼并且被感知為高質量。這與僅根據(jù)當前幀中的信息進行空間預測的幀內編碼塊形成對比。在那個情況下,待編碼的殘差通常大得多,導致相同的高壓縮水平的感知質量相對較低。結果,幀間編碼塊被感知為比幀內編碼塊具有更高的質量。這種質量上的差異導致解碼視頻中出現(xiàn)偽影,并且在幀內編碼塊和鄰近的幀間編碼塊之間的邊界周圍將尤其明顯。在解碼器處應用解塊濾波器容易通過在這些邊界處引入振鈴偽影來進一步突出偽影。視頻的未來圖像幀中的幀間編碼塊也將參考這些幀內編碼塊,導致問題隨著時間的推移而惡化。
4、為了克服或者減輕上述問題,建議采用兩遍編碼方案來識別并且選擇性地降低位于圖像幀的高度壓縮區(qū)域中的幀內編碼像素塊的壓縮。本發(fā)明的兩遍編碼方案包括步驟:使用獲得的應用于幀中的每個像素塊的壓縮水平執(zhí)行第一編碼過程,以識別圖像幀中可能導致所描述的偽影出現(xiàn)的幀內編碼像素塊,即壓縮水平超過壓縮水平閾值的幀內編碼像素塊。在運行第二編碼過程之前,降低在第一編碼過程中已經(jīng)被識別為潛在有問題的塊的壓縮水平。為這些識別的塊降低壓縮水平通常具有增加編碼器在第二編碼過程中選擇對識別的塊進行幀間編碼的概率的效果。因此,因為偽影是由一些像素塊被幀內編碼而其它像素塊被幀間編碼引起的,所以降低了在第二編碼過程之后出現(xiàn)偽影的概率。進一步,如果識別的塊最終也在第二編碼過程中被幀內編碼,則壓縮水平仍將被降低,并且感知質量將得到提高,減少在第二編碼過程之后仍然存在的任何潛在偽影的影響。
5、術語“像素塊”應理解為意指已經(jīng)分組在一起的一組相鄰的像素。這些像素塊形成圖像幀中的單元,編碼器在對圖像幀進行編碼時對像素塊進行操作。取決于用于對圖像進行編碼的編碼標準,這些像素塊也可以表示為宏塊、編碼樹單元或者編碼單元。像素塊在大多數(shù)情況下可以是正方形的,例如,包括8×8、16×16或者32×32像素。也可以將像素分組為其它大小和形狀的像素塊。
6、術語“像素塊的壓縮水平”指在像素塊的編碼期間像素塊中的圖像數(shù)據(jù)被壓縮的程度或者水平。當通過量化實現(xiàn)壓縮時,如基于變換的編解碼器的通常情況,壓縮水平可以對應于對像素塊進行編碼時應用的量化水平。取決于用于在第一編碼過程和第二編碼過程中對圖像幀進行編碼的編碼標準,這樣的量化水平也可以表示為量化值、量化參數(shù)、量化索引或者步長。
7、用詞“在第一編碼過程中對圖像幀進行幀間編碼”和“在第二編碼過程中對圖像幀進行幀間編碼”指圖像幀被幀間編碼兩次,即在兩輪或者兩個階段中被幀間編碼。第一編碼過程因此指圖像幀第一次被幀間編碼,并且第二編碼過程指圖像幀第二次被幀間編碼。因此,該方法在本文中有時也稱為兩遍編碼方法或者兩遍編碼方案。第一編碼過程的目的是識別并且降低編碼圖像幀中可能產(chǎn)生偽影的像素塊的壓縮水平。然后,在第二編碼過程中使用針對識別的像素塊的降低的壓縮水平對圖像幀進行第二次編碼,以輸出其中的偽影被減輕的編碼視頻。
8、本發(fā)明包括三個方面;方法、編碼器和計算機可讀存儲介質。第二方面和第三方面一般可以具有與第一方面相同的特征和優(yōu)點。進一步注意,除非另有明確說明,否則本發(fā)明涉及特征的所有組合。
1.一種用于對圖像幀序列中的圖像幀進行幀間編碼的方法,包括:
2.根據(jù)權利要求1所述的方法,其中,每個識別的像素塊的所述壓縮水平被降低到等于或者低于所述壓縮水平閾值的值。
3.根據(jù)權利要求1所述的方法,其中,所述圖像幀中的每個像素塊具有相應的壓縮水平閾值,該相應的壓縮水平閾值的設定與對所述序列中的先前圖像幀中的空間上對應的像素塊最后進行幀內編碼時使用的壓縮水平相關,該空間上對應的像素塊與所述像素塊具有相同的空間位置。
4.根據(jù)權利要求3所述的方法,其中,所述圖像幀中的像素塊的所述壓縮水平閾值設定為與對所述序列的先前圖像幀中的空間上對應的像素塊最后進行幀內編碼時使用的所述壓縮水平相比具有預定義的正偏移,該預定義的正偏移對應于壓縮水平的相對增加。
5.根據(jù)權利要求4所述的方法,其中,每個識別的像素塊的所述壓縮水平被降低到對所述序列中的先前圖像幀中的空間上對應的像素塊最后進行幀內編碼時使用的所述壓縮水平。
6.根據(jù)權利要求1所述的方法,其中,在每次對所述圖像幀序列中的圖像幀進行幀間編碼時,執(zhí)行所述方法。
7.根據(jù)權利要求1所述的方法,其中,針對所述圖像幀序列中的圖像幀的選擇執(zhí)行所述方法,所述選擇少于所述圖像幀序列中待被幀間編碼的所有圖像幀。
8.根據(jù)權利要求7所述的方法,進一步包括:
9.根據(jù)權利要求1所述的方法,其中,所述第一編碼過程中的所述幀間編碼比所述第二編碼過程中的所述幀間編碼以更低的所述圖像幀的分辨率進行操作。
10.根據(jù)權利要求7所述的方法,其中,在每次對圖像幀進行幀間編碼時,執(zhí)行獲得壓縮水平、在第一編碼過程中對所述圖像幀進行幀間編碼和識別像素塊的所述步驟,但是僅在所述圖像幀中的識別的像素塊的所述數(shù)量高于像素塊閾值的條件下才執(zhí)行降低所述壓縮水平和在所述第二編碼過程中對所述圖像幀進行編碼的步驟。
11.根據(jù)權利要求1所述的方法,其中,不在所述圖像幀的感興趣區(qū)域內的像素塊的所述壓縮水平高于在所述圖像幀的感興趣區(qū)域內的像素塊的所述壓縮水平。
12.根據(jù)權利要求1所述的方法,其中,所述第一編碼過程和所述第二編碼過程由相同的編碼單元執(zhí)行。
13.一種用于對圖像幀序列中的圖像幀進行幀間編碼的編碼器,包括被配置為執(zhí)行權利要求1所述的方法的電路。
14.一種包括計算機程序代碼的計算機可讀存儲介質,當由計算機執(zhí)行時,所述計算機程序代碼使所述計算機執(zhí)行根據(jù)權利要求1所述的方法。