一種雙向幀間預(yù)測方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻編解碼技術(shù)領(lǐng)域,特別涉及一種雙向幀間預(yù)測方法及裝置。
【背景技術(shù)】
[0002]由于視頻中連續(xù)的若干幀圖像之間存在較強時間相關(guān)性,所以在進行視頻編碼時,常利用各個視頻幀之間的時間相關(guān)性來減少視頻幀間的冗余,達到壓縮數(shù)據(jù)的目的。視頻中當(dāng)前視頻幀與其他視頻幀之間的時間相關(guān)性不僅表現(xiàn)在當(dāng)前視頻幀與在其之前編碼的視頻幀之間存在時間相關(guān)性,也表現(xiàn)在當(dāng)前視頻幀與在其之后編碼的視頻幀之間存在時間相關(guān)性,基于此,在進行視頻編碼時,可以考慮雙向幀間預(yù)測,以得到較佳的編碼效果。
[0003]顧名思義,一次完整的雙向幀間預(yù)測要包含兩個方向的幀間預(yù)測,一般是指包括前向幀間預(yù)測和后向幀間預(yù)測,這兩個方向的幀間預(yù)測分別對應(yīng)各自的參考幀隊列,例如,前向參考幀隊列和后向參考幀隊列。
[0004]現(xiàn)有技術(shù)中,在進行雙向幀間預(yù)測時,獲得目標編碼塊的目標幀間預(yù)測模式M后,可得到目標編碼塊的各個原始預(yù)測圖像塊,具體的,可以按照以下方式獲得任一原始預(yù)測圖像塊對應(yīng)的雙向幀間預(yù)測結(jié)果:
[0005]在前向參考幀隊列所包含的各個參考幀上進行幀間預(yù)測,得到Bw的前向幀間預(yù)測結(jié)果;
[0006]根據(jù)所得到的前向幀間預(yù)測結(jié)果,在后向參考幀隊列所包含的各個參考幀上進行幀間預(yù)測,得到的后向幀間預(yù)測模式;
[0007]經(jīng)過上述兩個步驟即可得到的雙向幀間預(yù)測結(jié)果。進一步的,按照上述獲得雙向幀間預(yù)測結(jié)果的方式,獲得目標編碼塊的其他原始預(yù)測圖像塊的雙向幀間預(yù)測結(jié)果后,即得到了目標編碼塊在M下的雙向幀間預(yù)測結(jié)果。
[0008]可見,現(xiàn)有技術(shù)中是以原始預(yù)測圖像塊為單位進行的前向幀間預(yù)測和后向幀間預(yù)測的,對于一次雙向幀間預(yù)測而言,前向幀間預(yù)測對應(yīng)的幀間預(yù)測模式和后向幀間預(yù)測對應(yīng)的幀間預(yù)測模式相同,這樣,實際應(yīng)用中目標編碼塊存在N中可用幀間預(yù)測模式時,只有N中雙向幀間預(yù)測模式可供目標編碼塊選擇,可選的雙向幀間預(yù)測模式較少,不利用提高編碼效率。
【發(fā)明內(nèi)容】
[0009]本發(fā)明實施例公開了一種雙向幀間預(yù)測方法及裝置,以增加可選的雙向幀間預(yù)測模式。
[0010]為達到上述目的,本發(fā)明實施例公開了一種雙向幀間預(yù)測方法,所述方法包括:
[0011]獲得第一預(yù)測方向?qū)?yīng)的第一參考幀列表、第一可用幀間預(yù)測模式集合和第二預(yù)測方向?qū)?yīng)的第二參考幀列表、第二可用幀間預(yù)測模式集合;
[0012]根據(jù)所述第一可用幀間預(yù)測模式集合,獲得目標編碼塊Bt的目標幀間預(yù)測模式M ;
[0013]在所述第一參考幀列表所包含的各參考幀中進行幀間預(yù)測,獲得所述Bt在所述M下針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果;
[0014]根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果,在所述第二參考幀列表所包含的各參考幀中進行幀間預(yù)測,分別獲得所述Bt在所述第二可用幀間預(yù)測模式集合中的各個幀間預(yù)測模式下針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果;
[0015]根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果和針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果,獲得所述Bt在所述M下的雙向幀間預(yù)測結(jié)果。
[0016]在本發(fā)明的一種具體實現(xiàn)方式中,所述在所述第一參考幀列表所包含的各參考幀中進行幀間預(yù)測,獲得所述Bt在所述M下針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果,包括:
[0017]根據(jù)所述M,確定所述4對應(yīng)的原始預(yù)測圖像塊;
[0018]分別在所述第一參考幀列表所包含的各參考幀中進行幀間預(yù)測,獲得所確定的各個原始預(yù)測圖像塊針對第一預(yù)測方向的幀間預(yù)測結(jié)果;
[0019]根據(jù)所獲的各個原始預(yù)測圖像塊針對第一預(yù)測方向的幀間預(yù)測結(jié)果,獲得所述Bt在所述M下針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果。
[0020]在本發(fā)明的一種具體實現(xiàn)方式中,所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果中包含:在所述M下,所述Bt針對所述第一預(yù)測方向的預(yù)測結(jié)果圖像塊B p;
[0021]所述根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果,在所述第二參考幀列表所包含的各參考幀中進行幀間預(yù)測,分別獲得所述Bt在所述第二可用幀間預(yù)測模式集合中的各個幀間預(yù)測模式下針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果,包括:
[0022]根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果中包含的Bp和所述Bt,確定針對所述第二預(yù)測方向的原始預(yù)測圖像塊Btj;
[0023]在所述第二參考幀列表所包含的各參考幀中進行幀間預(yù)測,分別獲得所述Btj在所述第二可用幀間預(yù)測模式集合中的各個幀間預(yù)測模式下的幀間預(yù)測結(jié)果,進而獲得所述Bt在所述第二可用幀間預(yù)測模式集合中的各個幀間預(yù)測模式下針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果。
[0024]在本發(fā)明的一種具體實現(xiàn)方式中,所述根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果和針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果,獲得所述Bt在所述M下的雙向幀間預(yù)測結(jié)果,包括:
[0025]根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果和針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果,確定在所述M分別與所述第二可用幀間預(yù)測模式集合中包含的幀間預(yù)測模式組成的各雙向幀間預(yù)測模式下所述Bt的率失真系數(shù);
[0026]根據(jù)所確定的率失真系數(shù)中的最小率失真系數(shù)對應(yīng)的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果和針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果,獲得所述Bt在所述M下的雙向幀間預(yù)測結(jié)果。
[0027]在本發(fā)明的一種具體實現(xiàn)方式中,所述第一可用幀間預(yù)測模式集合中包括:skip模式和/或merge模式。
[0028]在本發(fā)明的一種具體實現(xiàn)方式中,所述第二可用幀間預(yù)測模式集合中包括:三角形預(yù)測模式,其中,所述三角形預(yù)測模式中所包含的三角形圖像塊為:按照原始預(yù)測圖像塊的左向?qū)蔷€和/或右向?qū)蔷€劃分得到的。
[0029]為達到上述目的,本發(fā)明實施例公開了一種雙向幀間預(yù)測裝置,所述裝置包括:
[0030]列表和模式獲得模塊,用于獲得第一預(yù)測方向?qū)?yīng)的第一參考幀列表、第一可用幀間預(yù)測模式集合和第二預(yù)測方向?qū)?yīng)的第二參考幀列表、第二可用幀間預(yù)測模式集合;
[0031]預(yù)測模式獲得模塊,用于根據(jù)所述第一可用幀間預(yù)測模式集合,獲得目標編碼塊目標幀間預(yù)測模式M ;
[0032]第一預(yù)測結(jié)果獲得模塊,用于在所述第一參考幀列表所包含的各參考幀中進行幀間預(yù)測,獲得所述Bt在所述M下針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果;
[0033]第二預(yù)測結(jié)果獲得模塊,用于根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果,在所述第二參考幀列表所包含的各參考幀中進行幀間預(yù)測,分別獲得所述81在所述第二可用幀間預(yù)測模式集合中的各個幀間預(yù)測模式下針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果;
[0034]第三預(yù)測結(jié)果獲得模塊,用于根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果和針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果,獲得所述Bt在所述M下的雙向幀間預(yù)測結(jié)果O
[0035]在本發(fā)明的一種具體實現(xiàn)方式中,所述第一預(yù)測結(jié)果獲得模塊,包括:
[0036]第一圖像塊確定子模塊,用于根據(jù)所述M,確定所述應(yīng)的原始預(yù)測圖像塊;
[0037]第一預(yù)測結(jié)果獲得子模塊,用于分別在所述第一參考幀列表所包含的各參考幀中進行幀間預(yù)測,獲得所確定的各個原始預(yù)測圖像塊針對第一預(yù)測方向的幀間預(yù)測結(jié)果;
[0038]第二預(yù)測結(jié)果獲得子模塊,用于根據(jù)所獲的各個原始預(yù)測圖像塊針對第一預(yù)測方向的幀間預(yù)測結(jié)果,獲得所述Bt在所述M下針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果。
[0039]在本發(fā)明的一種具體實現(xiàn)方式中,所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果中包含:在所述M下,所述Bt針對所述第一預(yù)測方向的預(yù)測結(jié)果圖像塊B p;
[0040]所述第二預(yù)測結(jié)果獲得模塊,包括:
[0041]第二圖像塊確定子模塊,用于根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果中包含的Bp和所述B τ,確定針對所述第二預(yù)測方向的原始預(yù)測圖像塊Btj;
[0042]第三預(yù)測結(jié)果獲得子模塊,用于在所述第二參考幀列表所包含的各參考幀中進行幀間預(yù)測,分別獲得所述在所述第二可用幀間預(yù)測模式集合中的各個幀間預(yù)測模式下的幀間預(yù)測結(jié)果,進而獲得所述4在所述第二可用幀間預(yù)測模式集合中的各個幀間預(yù)測模式下針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果。
[0043]在本發(fā)明的一種具體實現(xiàn)方式中,所述第三預(yù)測結(jié)果獲得模塊,包括:
[0044]系數(shù)確定子模塊,用于根據(jù)所獲得的針對所述第一預(yù)測方向的幀間預(yù)測結(jié)果和針對所述第二預(yù)測方向的幀間預(yù)測結(jié)果,確定在所述M分別與所述第二可用幀間預(yù)測模式集合中包含的幀間預(yù)測模式組成的各雙向幀間預(yù)測模式下所述Bt的率失真系數(shù);
[0045]第四預(yù)測結(jié)果獲得子模塊,用于根據(jù)所確定的率失真系數(shù)中的最小率失真系數(shù)對應(yīng)的針對所述第