幀內像素預測方法、編碼方法、解碼方法及其裝置的制造方法
【技術領域】
[0001]本發明總體地涉及視頻編碼和解碼技術,尤其涉及一種幀內預測方法、視頻編碼方法和視頻解碼方法和裝置。
【背景技術】
[0002]視頻壓縮技術廣泛用于各種產品中,例如數字機頂盒(STB)、高清電視解碼器、DVD播放器、數字攝像機、網絡多媒體視頻應用等等。存在壓縮數字視頻內容的各種視頻編碼方法。已經存在許多視頻壓縮標準來使得各種視頻編碼方法標準化。這些標準的例子包括MPEG-U MPEG-2 (ITU-T H.262)、MPEG-4、ITU-T H.261, ITU-T H.263, ITU-T H.264。
[0003]諸如MPEG標準之類的視頻編碼標準通常通過利用諸如時間和空間預測、變換和量化、熵編碼之類的各種編碼技術來實現數據壓縮。視頻編碼器中的壓縮通常包括幀間預測和幀內預測,以提高編碼效率。幀間預測利用視頻的圖像之間的時間相關性,而幀內預測利用視頻的圖像內的像素的空間相關性。
[0004]幀間預測和幀內預測通常都是對像素塊執行的。
[0005]對于幀內預測,通常是利用已經重建像素來外插待預測塊,例如,對當前圖像中任意一個待編碼塊,利用其周圍已經重構的像素沿著某個方向進行插值,并將插值后的結果作為待編碼塊的預測塊。待編碼塊與預測塊之間的差作為預測殘差,預測殘差經過變換量化后進行編碼。
【發明內容】
[0006]根據本發明的一個方面,提供一種預測圖像中的像素的幀內像素預測方法,可以包括:目標模板定義步驟,定義當前待預測像素的目標模板;匹配模板確定步驟,將所述目標模板與該幀的搜索區域的候選模板相比較,以及確定所述候選模板中至少一個與所述目標模板匹配的匹配模板;以及預測值確定步驟,基于所述至少一個匹配模板來確定當前待預測像素的預測值。
[0007]在一個示例中,所述當前待預測像素的目標模板由該位于當前待預測像素的左側和上側的像素組成。
[0008]在一個示例中,該幀內像素預測方法還可以包括,將所述目標模板中尚未重構的像素設置為無效像素,以及所述匹配模板確定步驟包括:基于目標模板中的已重構像素和候選模板中的已重構像素,確定目標模板與候選模板之間的匹配度;以及選擇匹配度最高的一個或多個作為所述至少一個匹配模板。
[0009]在一個示例中,所述基于所述至少一個匹配模板來確定當前待預測像素的預測值可以包括:根據當前待預測像素與其目標模板之間的相對位置關系,獲得與匹配模板具有所述相對位置關系的參考像素;以及基于匹配模板和參考像素或者基于參考像素,確定當前待預測像素的預測值。
[0010]在一個示例中,該幀內像素預測方法還可以包括:將當前待預測像素的值與當前待預測像素的預測值之間的差作為預測殘差;對預測殘差進行編碼,以供將該編碼后的預測殘差發送到解碼器側;以及在編碼器側對編碼后的預測殘差進行解碼,并將解碼后的殘差與待預測像素的預測值相加,獲得對應位置像素的重構值。
[0011 ] 在一個示例中,該幀內像素預測方法還可以包括:將像素重新排列并分塊,得到各個作為編碼目標的塊,使得分塊后的塊中的多個像素盡可能不同時出現在重新排列前的幀中的原始塊中,且使得塊中的像素在被預測時,其在重新排列前的幀中的目標模板中的像素盡可能地已重構;對于當前待編碼塊:對于塊中的每個像素,在重新排列前的幀中執行上述目標模板定義步驟、匹配模板確定步驟和預測值確定步驟,由此得到每個像素的預測值,從而得到當前待編碼塊的預測塊;使用當前待編碼塊的預測塊對當前待編碼塊進行編碼。
[0012]根據本發明的另一方面,提供了一種對圖像進行幀內編碼的編碼方法,可以包括:目標模板定義步驟,定義當前待預測像素的目標模板;匹配模板確定步驟,將所述目標模板與該幀的搜索區域的候選模板相比較,以及確定所述候選模板中至少一個與所述目標模板匹配的匹配模板;以及預測值確定步驟,基于所述至少一個匹配模板來確定當前待預測像素的預測值;以及基于預測編碼步驟,基于所述當前待預測像素的預測值對所述當前待預測像素或者該當前待預測像素所屬于的塊進行編碼。
[0013]在一個示例中,該編碼方法還可以包括:像素重組織分塊步驟,將像素重新排列并分塊,得到各個作為編碼目標的塊,使得分塊后的塊中的多個像素盡可能不同時出現在重新排列前的幀中的原始塊中,且使得塊中的像素在被預測時,其在重新排列前的幀中的目標模板中的像素盡可能地已重構;對于當前待編碼塊:對于塊中的每個像素,在重新排列前的幀中執行上述目標模板定義步驟、匹配模板確定步驟和預測值確定步驟,由此得到每個像素的預測值,從而得到當前待編碼塊的預測塊;使用當前待編碼塊的預測塊對當前待編碼塊進行編碼。
[0014]在一個示例中,所述使用當前待編碼塊的預測塊對當前待編碼塊進行編碼可以包括獲得殘差塊、量化殘差塊、對量化后的殘差塊進行熵編碼。
[0015]在一個示例中,其中所述分塊后得到的塊中存在大小不同的塊。
[0016]在一個示例中,像素重組織分塊步驟可以使得盡可能多的分塊后塊的大小為具體編碼標準中的塊的大小。
[0017]在一個示例中,關于該編碼方法,圖像的大小為MxN,編碼的塊的大小為TxT,M和N是T的整數倍,其中M表示圖像的行數,N表示圖像的列數,以圖像最上方的像素行稱為第O行,圖像最左側的像素列稱為第O列,P1, ,表示圖像中位置在第i行,第j列的像素點,O彡i彡M-1,0彡i彡N_1,M、N和T均為大于I的正整數,重組后的第P行,第q列的像素點Rp,q對應于重組前的像素點P1, j;0彡P彡M-1,0彡q彡N-1,
[0018]其中i,j的計算公式分別如公式(I)、(2)所示:
[0019]i = (P mod T) x (M/T) +rounddown (p/T)(I)
[0020]j = (q mod T) x (N/T) +rounddown (q/T)(2)
[0021 ] 其中mod表示取模運算,X表示乘法運算,rounddown O表示向下取整運算。
[0022]在一個示例中,關于該編碼方法,圖像的大小為MxN,編碼的塊的大小為TxT,M和N的值不是T的整數倍,其中M表示圖像的行數,N表示圖像的列數,以圖像最上方的像素行稱為第O行,圖像最左側的像素列稱為第O列,P1,,表示圖像中位置在第i行,第j列的像素點,O ( i ^M-1,O ( i ( N-1, M、N和T均為大于I的正整數,重組后的第P行,第q列的像素點Rp,q對應于重組前的像素點Pli j,重組后的圖像大小為((rounddown(M/T) +1) xT) X ((rounddown (N/T) +1) xT), (rounddown (M/T) +1) xT 表不重組后的圖像的行數,(rounddown (N/T) +1)表示重組后的圖像的列數,O < p < (rounddown (M/T) +1) xT-Ι,O彡q彡(rounddown (N/T)+l)xT-l,重組后的圖像中像素點Rp, q對應于重組前的圖像中的像素點P^,其中i,j的計算公式為:
[0023]i = (P mod T) x (rounddown (M/T) +1) +rounddown (p/T)當(p mod T) < (M mod T)時,(3)
[0024]i = (M mod T) x (rounddown (M/T) +1) + ( (p mod T) - (M mod T))X rounddown (M/T) +rounddown (p/T)當(p mod T) > = (M mod T)且 p〈M 時,(4)
[0025]i無有效值,此時RPiq = O當p> = M時,(5)
[0026]其中j的計算公式為:
[0027]j = (q mod T) x (rounddown (N/T) +1) +rounddown (q/T)當(q mod T) < (N mod T)時,(6)
[0028]j = (N mod T) x (rounddown (N/T) +1) + ( (q mod T) - (N mod T))X rounddown (N/T) +rounddown (q/T)當(q mod T) > = (N mod T)且 q〈N 時,(7)
[0029]j無有效值,此時Rp,q = 0當q> = N時⑶。
[0030]在一個示例中,關于該編碼方法,圖像的大小為MxN,編碼的塊的大小為TxT,M和N的值不是T的整數倍,其中M表示圖像的行數,N表示圖像的列數,以圖像最上方的像素行稱為第O行,圖像最左側的像素列稱為第O列,P1, ,表示圖像中位置在第i行,第j列的像素點,O ( i ^M-1,O ( i ( N-1, M、N和T均為大于I的正整數,重組后的第P行,第q列的像素點Rp,q對應于重組前的像素點Pli j,重組后的圖像大小為((rounddown(M/T) +1) xT) X ((rounddown (N/T) +1) xT), (rounddown (M/T) +1) xT 表不重組后的圖像的行數,(rounddown(N/T) +1)xT 表示重組后的圖像的列數,O ^ p ^ (rounddown(M/T)+1)xT,0彡q彡(rounddown (Ν/Τ)+1)χΤ,重組后的圖像中像素點Rp,q對應于重組前的圖像中的像素點P^,其中i,j的計算公式為:
[0031]i = (P mod T) x (rounddown (M/T) +1) +rounddown (p/T)當(p mod T) < (M mod T)時,(9)
[0032]i = (M mod T) x (rounddown (M/T) +1) + ( (p mod T) - (M mod T))X rounddown (M/T) +rounddown (p/T)當(p mod T) > = (M mod T)且 p〈M 時,
(10)
[0033]i無有效值,此時Rp,q = O當p> = M時,(11)
[0034]其中j的