自適應樣點補償編碼、對視頻碼流進行解碼的方法及裝置的制造方法
【技術領域】
[0001]本發明涉及視頻編碼技術領域,特別涉及一種自適應樣點補償編碼、對視頻碼流進行解碼的方法及裝置。
【背景技術】
[0002]HEVC (High Efficiency Video Coding,高效率視頻編碼)是一種新的視頻壓縮標準,可以在一定程度上替代H.264/AVC(—種視頻編碼標準)編碼標準。
[0003]HEVC可以使1080P的視頻在壓縮時壓縮效率提高50%左右,這就意味著視頻的質量將上升很多,而且可以節省大量的網絡帶寬,對于消費者而言,可以享受到更高質量的視頻內容。
[0004]然而,現有技術中,遠程桌面訪問、遠程游戲、云計算等許多應用已經非常普遍,此類應用的一個很重要的特點就是在自然視頻中混有文字、以及計算機生成的圖像等信息。而文字以及計算機生成的圖像等信息可能會經常重復性地出現某些圖案(如某些字符、圖標和線條),例如通過計算機繪制的PCB (Printed Circuit Board,印刷電路板),就具有大量重復的橫線和豎線。與自然視頻序列相比,由計算機生成的圖像紋理較多,在視頻編碼中視為含有大量高頻信息,采用HEVC對其進行編碼,效果不是很好。
[0005]因為此類具有大量重復信息的視頻,在空間相鄰區域經常出現重復信息,在時域相鄰區域也常常出現連續的被編碼為相同模式的區域,意味著此類視頻的空間與時間相關性較強。而HEVC中在編碼時傳統的塊劃分模式無法很好的去除這種相關性,導致編碼壓縮比較低,編碼質量較差。
【發明內容】
[0006]本發明實施例提供一種自適應樣點補償編碼、對視頻碼流進行解碼的方法及裝置,用于解決在對具有大量重復信息的視頻進行編碼時編碼壓縮比較低的技術問題。
[0007]—種自適應樣點補償編碼方法,包括以下步驟:
[0008]在對視頻幀進行自適應樣點補償編碼時,根據像素值的取值范圍劃分M個帶,并令所述M個帶分別與原始最大編碼單元和處理最大編碼單元對應,以將所述原始最大編碼單元和所述處理最大編碼單元中包括的像素點分別歸入相應的帶中;其中,所述原始最大編碼單元和所述處理最大編碼單元的尺寸均為第一尺寸,所述第一尺寸大于64*64,所述原始最大編碼單元為所述視頻幀劃分得到的,所述處理最大編碼單元為將所述原始最大編碼單元處理后得到的;
[0009]對于分別包含有所述原始最大編碼單元的M個帶和所述處理最大編碼單元的M個帶,分別計算每個帶中包括的像素點的像素值的平均值;
[0010]根據每個帶對應的兩個平均值,分別計算每個帶對應的偏移量,并從中確定出值最大的偏移量;
[0011]從所述M個帶中選擇連續的N個帶,其中,值最大的偏移量對應的帶包括在所述N個帶中;N為大于等于4且小于M的整數,且N為2的倍數;
[0012]至少將所述N個帶對應的N個偏移量經過熵編碼寫入所述處理最大編碼單元構成的視頻碼流。
[0013]可選的,根據每個帶對應的兩個平均值,分別計算每個帶對應的偏移量,包括:將每個帶對應的兩個平均值相減,取得到的結果的絕對值作為帶對應的偏移量。
[0014]可選的,N等于6,或N等于8。
[0015]一種對視頻碼流進行解碼的方法,包括:
[0016]獲得待解碼的視頻碼流,所述視頻碼流對應于處理最大編碼單元;其中,所述處理最大編碼單元為將原始最大編碼單元處理后得到的,所述原始最大編碼單元為將待編碼視頻幀進行劃分得到的;所述原始最大編碼單元和所述處理最大編碼單元的尺寸均為第一尺寸,所述第一尺寸大于64*64 ;
[0017]解析出所述視頻碼流中包括的N個偏移量;所述N個偏移量為對M個帶中的連續的N個帶進行處理得到的,所述M個帶為根據像素值的取值范圍劃分的,N為大于等于4且小于M的整數,且N為2的倍數;
[0018]利用所述N個偏移量分別對所述N個帶中包括的像素點進行補償。
[0019]可選的,利用所述N個偏移量分別對所述N個帶中包括的像素點進行補償,包括:將其中每個偏移量分別與相應的帶中包括的各像素點的像素值相加。
[0020]一種自適應樣點補償編碼裝置,包括:
[0021]劃分模塊,用于在對視頻幀進行自適應樣點補償編碼時,根據像素值的取值范圍劃分M個帶,并令所述M個帶分別與原始最大編碼單元和處理最大編碼單元對應,以將所述原始最大編碼單元和所述處理最大編碼單元中包括的像素點分別歸入相應的帶中;其中,所述原始最大編碼單元和所述處理最大編碼單元的尺寸均為第一尺寸,所述第一尺寸大于64*64,所述原始最大編碼單元為所述視頻幀劃分得到的,所述處理最大編碼單元為將所述原始最大編碼單元處理后得到的;
[0022]第一計算模塊,用于對于分別包含有所述原始最大編碼單元的M個帶和所述處理最大編碼單元的M個帶,分別計算每個帶中包括的像素點的像素值的平均值;
[0023]第二計算模塊,用于根據每個帶對應的兩個平均值,分別計算每個帶對應的偏移量,并從中確定出值最大的偏移量;
[0024]選擇模塊,用于從所述M個帶中選擇連續的N個帶,其中,值最大的偏移量對應的帶包括在所述N個帶中;N為大于等于4且小于M的整數,且N為2的倍數;
[0025]操作模塊,用于至少將所述N個帶對應的N個偏移量經過熵編碼寫入所述處理最大編碼單元構成的視頻碼流。
[0026]可選的,所述第二計算模塊具體用于:將每個帶對應的兩個平均值相減,取得到的結果的絕對值作為帶對應的偏移量。
[0027]可選的,N等于6,或N等于8。
[0028]一種對視頻碼流進行解碼的裝置,包括:
[0029]獲取模塊,用于獲得待解碼的視頻碼流,所述視頻碼流對應于處理最大編碼單元;其中,所述處理最大編碼單元為將原始最大編碼單元處理后得到的,所述原始最大編碼單元為將待編碼視頻幀進行劃分得到的;所述原始最大編碼單元和所述處理最大編碼單元的尺寸均為第一尺寸,所述第一尺寸大于64*64 ;
[0030]解析模塊,用于解析出所述視頻碼流中包括的N個偏移量;所述N個偏移量為對M個帶中的連續的N個帶進行處理得到的,所述M個帶為根據像素值的取值范圍劃分的,N為大于等于4且小于M的整數,且N為2的倍數;
[0031]補償模塊,用于利用所述N個偏移量分別對所述N個帶中包括的像素點進行補償。
[0032]可選的,所述補償模塊具體用于:將其中每個偏移量分別與相應的帶中包括的各像素點的像素值相加。
[0033]本發明實施例提供一種自適應樣點補償編碼方法,其中最大編碼單元(即原始最大編碼單元)的尺寸由現有技術中的64*64進行擴大,令最大編碼單元的尺寸大于64*64,這樣,在將所述視頻幀進行劃分時,所能劃分的最大的塊的尺寸就大于現有技術中的64*64,在對具有大量重復信息的視頻進行編碼時,就能將該視頻劃分為較大的塊來進行編碼,這樣可以比較有效地去除相關性,盡量將重復部分放到一個塊中一次性編碼完成,無需分為多個塊來分別編碼,提高了編碼質量。并且,因為增大了最大編碼單元的尺寸,則在劃分視頻幀時,可能劃分出的塊的數量就會減少,那么在編碼時所使用的語法元素的數量也就相應減少,例如,在對一個大塊進行編碼時,只需使用一個語法元素,而在對四個小塊進行編碼時,需使用四個語法元素(這里的數字只是舉例,并不代表實際數量),那么,得到的最終的編碼壓縮文件所使用的比特數目明顯減少,編碼壓縮文件的體積較小,從而顯然提高了壓縮比。
【附圖說明】
[0034]圖1為本發明實施例中自適應樣點補償編碼方法的主要流程圖;
[0035]圖2為本發明實施例中對視頻碼流進行解碼的主要方法流程圖;
[0036]圖3為本發明實施例中自適應樣點補償編碼裝置的主要結構框圖;
[0037]圖4為本發明實施例中對視頻碼流進行解碼的裝置的主要結構框圖。
【具體實施方式】
[0038]本發明實施例中的自適應樣點補償編碼方法包括:在對視頻幀進行自適應樣點補償編碼時,根據像素值的取值范圍劃分M個帶,并令所述M個帶分別與原始最大編碼單元和處理最大編碼單元對應,以將所述原始最大編碼單元和所述處理最大編碼單元中包括的像素點分別歸入相應的帶中;其中,所述原始最大編碼單元和所述處理最大編碼單元的尺寸均為第一尺寸,所述第一尺寸大于64*64,所述原始最大編碼單元為所述視頻幀劃分得到的,所述處理最大編碼單元為將所述原始最大編碼單元處理后得到的;編碼并重建,