幀內預測模式選擇方法及裝置與流程
2023-05-07 11:35:34
本發明涉及視頻編碼技術領域,尤其涉及一種幀內預測模式選擇方法及裝置。
背景技術:
H.264是ITU(International Telecommunication Union,國際電信聯盟)和MPEG(Motion Picture Experts Group,運動圖像專家組)聯合制定的視頻編碼標準,與以往的視頻編碼標準相比,H.264標準引入了幀內預測以進一步提高要素效率,幀內預測是利用相鄰像素的相關性,以塊為單位,先根據與當前塊相鄰的已編碼過的像素來產生預測塊,然後將當前塊與預測塊做差得到預測差值,並且只對預測差值進行變換編碼,以消除相鄰塊之間的空間冗餘度,從而實現更為有效的壓縮。
為了提高幀內預測的質量,H.264標準提供了三種幀內預測:基於4×4的亮度塊幀內預測、基於16×16的亮度塊幀內預測和基於8×8的色度塊幀內預測,其中,4×4亮度塊的幀內預測具有9種預測模式:水平預測、垂直預測、直流預測、下左對角預測、下右對角預測、右垂直預測、下水平預測、左垂直預測和上水平預測;16×16亮度塊幀內預測和8×8色度塊幀內預測均具有4種預測模式:水平預測、垂直預測、直流預測和平坦預測。然後,通過預測模式的選擇得出一種最佳的預測模式使得編碼性能和編碼效率最高,現有的預測模式的選擇通常為:對於一個16×16塊或者4×4塊都需要根據當前塊的周邊塊的可用情況,給出亮度預測模式和色度預測模式列表,再根據所述列表對各種預測模式進行迭代計算,得到各種模式的代價(cost)值,並從中選出亮度和色度最優的預測模式。
在實現本發明的過程中,發明人發現現有技術中至少存在如下技術問題:
雖然H.264標準具有很高的編碼性能和編碼效率,但這是建立在遍歷每種備選預測模式以尋找出最佳預測模式的基礎之上的,其需要耗費極大的計算量, 而且大大增加了編碼器的複雜度。
技術實現要素:
本發明提供一種幀內預測模式選擇方法及裝置,其能夠大大降低進行幀內預測所需的運算量,從而降低編碼器的複雜度。
一方面,本發明提供一種幀內預測模式選擇方法,所述方法包括:
根據當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式;
計算所述備選模式列表中的各種可用的亮度預測模式的代價值;
選擇代價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式;
根據所述最優亮度預測模式配置所述當前塊的色度預測模式。
另一方面,本發明提供一種幀內預測模式選擇裝置,所述裝置包括獲取模塊、計算模塊、選擇模塊以及配置模塊,其中,
所述獲取模塊,用於根據當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式;
所述計算模塊,用於計算所述備選模式列表中的各種可用的亮度預測模式的代價值;
所述選擇模塊,用於選擇代價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式;
所述配置模塊,用於根據所述最優亮度預測模式配置所述當前塊的色度預測模式。
本發明提供的幀內預測模式選擇方法及裝置,根據當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式;計算所述備選模式列表中的各種可用的亮度預測模式的代價值;選擇代價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式;根據所述最優亮度預測模式配置所述當前塊的色度預測模式。與現有技術相比,一方面,其不再需要進行色度預測模式的迭代運算,而是根據得到的所述最優亮度預測模式來直接配置色度預測模式,從而大大降低了幀內預測所需的運算量,相應地,也能夠降低相應的編碼器的複雜度;另一方面,這種根據得到的所述 最優亮度預測模式來直接配置色度預測模式的技術方案對視頻質量產生的損耗很小,能夠確保對整體視頻效果的影響在相對較小範圍內。由此可見,其能夠在不影響整體視頻效果的前提下,大大降低幀內預測所述的運算量,進而降低相應的編碼器的複雜度。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
圖1為本發明幀內預測模式選擇方法一實施例的流程示意圖;
圖2為本發明幀內預測模式選擇方法另一實施例的流程示意圖;
圖3為本發明幀內預測模式選擇裝置一實施例的結構示意圖;
圖4為本發明幀內預測模式選擇裝置另一實施例的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
如圖1所示,本發明實施例提供一種幀內預測模式選擇方法,所述方法包括:
S11、根據當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式。
S12、計算所述備選模式列表中的各種可用的亮度預測模式的代價值。
S13、選擇代價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式。
S14、根據所述最優亮度預測模式配置所述當前塊的色度預測模式。
本發明提供的幀內預測模式選擇方法,根據當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式;計算所述備選模式列表中的各種可用的亮度預測模式的代價值;選擇代 價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式;根據所述最優亮度預測模式配置所述當前塊的色度預測模式。與現有技術相比,一方面,其不再需要進行色度預測模式的迭代運算,而是根據得到的所述最優亮度預測模式來直接配置色度預測模式,從而大大降低了幀內預測所需的運算量,相應地,也能夠降低相應的編碼器的複雜度;另一方面,這種根據得到的所述最優亮度預測模式來直接配置色度預測模式的技術方案對視頻質量產生的損耗很小,能夠確保對整體視頻效果的影響在相對較小範圍內。由此可見,其能夠在不影響整體視頻效果的前提下,大大降低幀內預測所述的運算量,進而降低相應的編碼器的複雜度。
如圖2所示,本發明實施例提供一種幀內預測模式選擇方法,所述方法包括:
S21、設置當前塊的所有可能亮度預測模式與所有可能色度預測模式之間的對應關係。
S22、根據所述當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式。
S23、計算所述備選模式列表中的各種可用的亮度預測模式的代價值。
S24、選擇代價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式。
S25、根據所述最優亮度預測模式,按照所述當前塊的所有可能亮度預測模式與所有可能色度預測模式之間的對應關係,配置所述當前塊的色度預測模式。
其中,所述對應關係的配置是基於以下原理:
對於亮度像素點來說,其數據變化可能會有很大差別,採用多種模式迭代運算有必要,但是對於圖像來說,色度像素點值的變化範圍一般較小,採用多種模式迭代沒有太大必要。
可選地,當所述當前塊為16×16的塊時,所述根據所述最優亮度預測模式,按照所述當前塊的所有可能亮度預測模式與所有可能色度預測模式之間的對應關係,配置所述當前塊的色度預測模式包括:
當所述最優亮度預測模式為垂直預測模式時,配置所述色度預測模式為垂直預測模式;
當所述最優亮度預測模式為水平預測模式時,配置所述色度預測模式為水平預測模式;
當所述最優亮度預測模式為直流預測模式或平坦預測模式時,配置所述色度預測模式為直流預測模式。
可選地,當所述當前塊為4×4的塊時,所述根據所述最優亮度預測模式,按照所述當前塊的所有可能亮度預測模式與所有可能色度預測模式之間的對應關係,配置所述當前塊的色度預測模式包括:
當所述最優亮度預測模式為垂直預測模式、水平預測模式、直流預測模式、下左對角預測模式、下右對角預測模式、右垂直預測模式、下水平預測模式、左垂直預測模式或上水平預測模式中的任一種時,配置所述色度預測方式為直流預測模式。
下面以所述當前塊為16×16的塊為例,其中,所述當前塊的上側塊不存在,所述上側塊是位於所述當前塊上方、且與所述當前塊相鄰的16×16的塊,對本發明實施例的技術方案進行具體說明。
所述當前塊的所有可能亮度預測模式與所有可能色度預測模式之間的對應關係如表1所示。
表1
由於所述當前塊的上側塊不存在,即所述當前塊的上側塊為不可用,因此,只能利用所述當前塊的左側塊中與所述當前塊相鄰的像素點對所述當前塊進行預測,其中,所述左側塊是位於所述當前塊左側、且與所述當前塊相鄰的16×16的塊,而採用垂直預測模式和平坦預測模式對當前塊進行預測時均需要使用上 側塊,因此,所述當前塊的亮度預測模式不能選擇垂直預測模式和平坦預測模式,所述備選預測模式列表僅包括其他兩種亮度預測模式,分別為水平預測模式和直流預測模式。
然後,分別計算所述水平預測模式和所述直流預測模式的代價值,例如,當前預測模式的代價值為所述當前塊中各個像素對應的預測值與像素值按位置求差平方和,其中,所述預測值為採用當前預測模式對當前塊進行預測時得到的預測塊中的像素值,即
1)分別對所述當前塊中各個像素對應的預測值與像素值求差,得到所述各個像素對應的殘差值;
2)分別對所述各個像素對應的殘差值求平方,得到所述各個像素對應的平方殘差值;
3)將所述當前塊中的各個像素對應的平方殘差值進行相加,得到所述當前預測模式的代價值。
若經過計算發現所述水平預測模式的代價值最小,則所述當前塊的最優亮度預測模式為水平預測模式,通過查詢表1可知,此時所述最優亮度預測模式對應的色度預測模式為水平預測模式,因此,配置所述當前塊的色度預測模式為水平預測模式。
若經過計算發現所述直流預測模式的代價值最小,則所述當前塊的最優亮度預測模式為直流預測模式,通過查詢表1可知,此時所述最優亮度預測模式對應的色度預測模式為直流預測模式,因此,配置所述當前塊的色度預測模式為直流預測模式。
本發明實施例提供的幀內預測模式選擇方法,其通過設置亮度預測模式與色度預測模式的對應關係,以便於在確定了所述當前塊的最優亮度預測模式之後,根據所述最優亮度預測模式和所述對應關係配置色度預測模式。與現有技術相比,一方面,其不再需要進行色度預測模式的迭代運算,而是根據得到的所述最優亮度預測模式和設置的所述對應關係來直接配置色度預測模式,從而大大降低了幀內預測所需的運算量,相應地,也能夠降低相應的編碼器的複雜度;另一方面,這種根據得到的所述最優亮度預測模式來直接配置色度預測模 式的技術方案對視頻質量產生的損耗很小,能夠確保對整體視頻效果的影響在相對較小範圍內。由此可見,其能夠在不影響整體視頻效果的前提下,大大降低幀內預測所述的運算量,進而降低相應的編碼器的複雜度。
如圖3所示,本發明實施例提供一種幀內預測模式選擇裝置,所述裝置包括獲取模塊31、計算模塊32、選擇模塊33以及配置模塊34。
其中,所述獲取模塊31,用於根據當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式;
所述計算模塊32,用於計算所述備選模式列表中的各種可用的亮度預測模式的代價值;
所述選擇模塊33,用於選擇代價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式;
所述配置模塊34,用於根據所述最優亮度預測模式配置所述當前塊的色度預測模式。
本發明實施例提供的幀內預測模式選擇裝置,根據當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式;計算所述備選模式列表中的各種可用的亮度預測模式的代價值;選擇代價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式;根據所述最優亮度預測模式配置所述當前塊的色度預測模式。與現有技術相比,一方面,其不再需要進行色度預測模式的迭代運算,而是根據得到的所述最優亮度預測模式來直接配置色度預測模式,從而大大降低了幀內預測所需的運算量,相應地,也能夠降低相應的編碼器的複雜度;另一方面,這種根據得到的所述最優亮度預測模式來直接配置色度預測模式的技術方案對視頻質量產生的損耗很小,能夠確保對整體視頻效果的影響在相對較小範圍內。由此可見,其能夠在不影響整體視頻效果的前提下,大大降低幀內預測所述的運算量,進而降低相應的編碼器的複雜度。
如圖4所示,本發明實施例提供一種幀內預測模式選擇裝置,所述裝置包括設置模塊41、獲取模塊42、計算模塊43、選擇模塊44以及配置模塊45。
其中,所述設置模塊41,用於設置當前塊的所有可能亮度預測模式與所有 可能色度預測模式之間的對應關係。
所述獲取模塊42,用於根據當前塊的周邊塊的可用情況得到所述當前塊的備選模式列表,其中,所述備選模式列表包括可用的亮度預測模式;
所述計算模塊43,用於計算所述備選模式列表中的各種可用的亮度預測模式的代價值;
所述選擇模塊44,用於選擇代價值最小的亮度預測模式作為所述當前塊的最優亮度預測模式;
所述配置模塊45,用於根據所述最優亮度預測模式配置所述當前塊的色度預測模式。
其中,所述對應關係的配置是基於以下原理:
對於亮度像素點來說,其數據變化可能會有很大差別,採用多種模式迭代運算有必要,但是對於圖像來說,色度像素點值的變化範圍一般較小,採用多種模式迭代沒有太大必要。
可選地,當所述當前塊為16×16的塊時,所述配置模塊,用於當所述最優亮度預測模式為垂直預測模式時,配置所述色預測模式為垂直預測模式;當所述最優亮度預測模式為水平預測模式時,配置所述色度預測模式為水平預測模式;當所述最優亮度預測模式為直流預測模式或平坦預測模式時,配置所述色度預測模式為直流預測模式。
可選地,當所述當前塊為4×4的塊時,所述配置模塊,用於當所述最優亮度預測模式為垂直預測模式、水平預測模式、直流預測模式、下左對角預測模式、下右對角預測模式、右垂直預測模式、下水平預測模式、左垂直預測模式或上水平預測模式中的任一種時,配置所述色度預測模式為直流預測模式。
本發明實施例提供的幀內預測模式選擇裝置,其通過設置亮度預測模式與色度預測模式的對應關係,以便於在確定了所述當前塊的最優亮度預測模式之後,根據所述最優亮度預測模式和所述對應關係配置色度預測模式。與現有技術相比,一方面,與現有技術相比,一方面,其不再需要進行色度預測模式的迭代運算,而是根據得到的所述最優亮度預測模式和設置的所述對應關係來直接配置色度預測模式,從而大大降低了幀內預測所需的運算量,相應地,也能 夠降低相應的編碼器的複雜度;另一方面,這種根據得到的所述最優亮度預測模式來直接配置色度預測模式的技術方案對視頻質量產生的損耗很小,能夠確保對整體視頻效果的影響在相對較小範圍內。由此可見,其能夠在不影響整體視頻效果的前提下,大大降低幀內預測所述的運算量,進而降低相應的編碼器的複雜度。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應該以權利要求的保護範圍為準。