本文作者:kaifamei

一種CTU的確定方法、裝置、終端設備及存儲介質與流程

更新時間:2025-12-26 18:18:44 0條評論

一種CTU的確定方法、裝置、終端設備及存儲介質與流程


一種ctu的確定方法、裝置、終端設備及存儲介質
技術領域
1.本發明涉及視頻編碼相關技術領域,尤其涉及一種ctu的確定方法、裝置、終端設備及存儲介質。


背景技術:



2.hevc作為新一代視頻編碼標準,相比上一代視頻編碼標準h.264/avc在壓縮效率上提升了一倍,但與此同時編碼復雜度也大大增加。由于hevc中引入的新技術導致編碼的復雜度極高,這對于視頻會議等實時應用場景來說,極高的編碼復雜度導致無法實用。現有技術存在一種hevc幀間編碼快速模式選擇方法,從時空域相關性的角度估計當前ctu(編碼樹單元)的深度預測范圍、模式選擇和提前cu終止,來判決ctu深度,從而根據ctu深度來確定ctu的設置,從而通過設置好的ctu加速hevc編碼過程。
3.但現有技術僅考慮了時空域相關性,沒有考慮當前ctu塊本身的紋理特征。因此,現有技術對于ctu深度判決和降低編碼復雜度具有局限性,所計算獲得的ctu深度準確率較低,根據低準確率的ctu深度所確定的ctu會影響hevc的編碼效率。
4.因此,亟需一種ctu的確定策略,來解決最優ctu的深度計算準確率低的問題。


技術實現要素:



5.本發明實施例提供一種ctu的確定方法、裝置、終端設備及存儲介質,以提高最優ctu的深度計算準確率。
6.為了解決上述問題,本發明一實施例提供一種ctu的確定方法,包括:
7.獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍;其中,所述若干已編碼ctu為所述目標ctu時空域相鄰的ctu;
8.根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性、以及所述深度數據,獲取目標ctu的深度預測數據;
9.根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度;其中,所述目標ctu的紋理復雜度的類型包括以下一種或多種:平坦塊、復雜塊和普通塊;
10.所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間;所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間;
11.根據目標ctu的深度區間選定目標ctu,并基于選定的目標ctu執行hevc編碼。
12.作為上述方案的改進,所述獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍,具體為:
13.根據目標ctu時空域相鄰的已編碼ctu,讀取并獲得若干已編碼ctu的深度數據;
14.根據所述深度數據,在若干已編碼ctu的深度值中,選取最大深度值和最小深度值,作為目標ctu的初步深度遍歷范圍。
15.作為上述方案的改進,所述根據所述若干已編碼ctu與所述目標ctu之間的時空域
相關性、以及所述深度數據,獲取目標ctu的深度預測數據,具體為:
16.根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性,確定目標ctu空域左側的cul、目標ctu空域上側的cua、目標ctu空域左上側的cula、目標ctu空域右上側的cura、以及目標ctu時域同位的cucol;其中,所述若干已編碼ctu包括:cul、cua、cula、cura和cucol;
17.根據所述深度數據,獲取cul右半塊的平均深度值level1、cua下半塊的平均深度值level2、cula中的第一編碼單元的平均深度值level3、cura中的第二編碼單元的平均深度值level4和cucol的平均深度值level5,并代入預測深度計算公式進行計算,獲得深度預測數據;其中,在cula的所有編碼單元中,所述第一編碼單元和所述目標ctu的距離為第一預設值;在cura的所有編碼單元中,所述第二編碼單元和所述目標ctu的距離為第二預設值;所述深度數據包括:level1、level2、level3、level4和level5;以及所述預測深度計算公式如下:
[0018][0019]
其中,n=5,ωi為時空域相鄰ctu的權重因子,leveli為時空域相鄰ctu的編碼深度值;權重因子ωi是根據當前ctu與時空域相鄰ctu的相關性進行設置的。
[0020]
作為上述方案的改進,所述根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度,具體為:
[0021]
根據所述目標ctu的像素數據,通過roberts梯度算子計算方法,計算獲得目標ctu的平均梯度值;
[0022]
根據所述平均梯度值,通過預設的紋理復雜度下閾值和紋理復雜度上閾值,獲得目標ctu的紋理復雜度:當平均梯度值小于紋理復雜度下閾值時,所述目標ctu為平坦塊;當平均梯度值大于紋理復雜度下閾值且小于紋理復雜度上閾值時,所述目標ctu為普通塊;當平均梯度值大于紋理復雜度上閾值時,所述目標ctu為復雜塊。
[0023]
作為上述方案的改進,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,具體為:
[0024]
所述目標ctu為復雜塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;
[0025]
當初步深度遍歷范圍的最小深度值小于等于第一深度閾值時,則進行深度擴展,且目標ctu的深度區間為[1,3];
[0026]
當深度預測數據的數值大于第二深度閾值時,則目標ctu的深度區間為[2,3]。
[0027]
作為上述方案的改進,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,還包括:
[0028]
所述目標ctu為平坦塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;
[0029]
當初步深度遍歷范圍的最小深度值大于等于第三深度閾值時,則進行深度裁剪,且目標ctu的深度區間為[0,2];
[0030]
當深度預測數據的數值小于第四深度閾值時,則目標ctu的深度區間為[0,2]。
[0031]
作為上述方案的改進,所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間,具體為:
[0032]
所述目標ctu為普通塊時,根據所述若干已編碼ctu與所述目標ctu之間的深度相關性,確定目標ctu時域同位的cucol、cucol空域左側的culc、以及目標ctu空域左側的cul;其中,所述若干已編碼ctu包括:cucol、culc和cul;
[0033]
根據所述深度數據,獲取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;
[0034]
根據depth
co
、depthl
co
、depthl和所述深度預測數據depth
pre
,獲取目標ctu的深度區間:當depthl
co
《depth
co
、depthl≥2且depth
pre
≥2時,則目標ctu的深度區間最小深度值為2;當depthl
co
《depth
co
、depthl≥1且depth
pre
≥1時,則目標ctu的深度區間最小深度值為1;當depthl
co
》depth
co
、depthl≤1且depth
pre
≤1時,則目標ctu的深度區間最大深度值為1;當depthl
co
》depth
co
、depthl≤2且depth
pre
≤2時,則目標ctu的深度區間最大深度值為2。
[0035]
相應的,本發明一實施例還提供了一種ctu的確定裝置,包括:第一數據獲取模塊、第二數據獲取模塊、第三數據獲取模塊、深度區間計算模塊和結果生成模塊;
[0036]
所述第一數據獲取模塊,用于獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍;其中,所述若干已編碼ctu為所述目標ctu時空域相鄰的ctu;
[0037]
所述第二數據獲取模塊,用于根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性、以及所述深度數據,獲取目標ctu的深度預測數據;
[0038]
所述第三數據獲取模塊,用于根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度;其中,所述紋理復雜度包括以下一種或多種:平坦塊、復雜塊和普通塊;
[0039]
所述深度區間計算模塊,用于所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間;所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間;
[0040]
所述結果生成模塊,用于根據目標ctu的深度區間選定目標ctu,并基于選定的目標ctu執行hevc編碼。
[0041]
作為上述方案的改進,所述第一數據獲取模塊,包括:深度數據獲取單元和初步深度遍歷范圍計算單元;
[0042]
所述深度數據獲取單元,用于根據目標ctu時空域相鄰的已編碼ctu,讀取并獲得若干已編碼ctu的深度數據;
[0043]
所述初步深度遍歷范圍計算單元,用于根據所述深度數據,在若干已編碼ctu的深度值中,選取最大深度值和最小深度值,作為目標ctu的初步深度遍歷范圍。
[0044]
作為上述方案的改進,所述第二數據獲取模塊,包括:時空域相關性獲取單元和深度預測數據計算單元;
[0045]
所述時空域相關性獲取單元,用于根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性,確定目標ctu空域左側的cul、目標ctu空域上側的cua、目標ctu空域左上側的cula、目標ctu空域右上側的cura、以及目標ctu時域同位的cucol;其中,所述若干已編碼ctu包括:cul、cua、cula、cura和cucol;
[0046]
所述深度預測數據計算單元,用于根據所述深度數據,獲取cul右半塊的平均深度值level1、cua下半塊的平均深度值level2、cula中的第一編碼單元的平均深度值level3、cura中的第二編碼單元的平均深度值level4和cucol的平均深度值level5,并代入預測深度
計算公式進行計算,獲得深度預測數據;其中,在cula的所有編碼單元中,所述第一編碼單元和所述目標ctu的距離為第一預設值;在cura的所有編碼單元中,所述第二編碼單元和所述目標ctu的距離為第二預設值;所述深度數據包括:level1、level2、level3、level4和level5;以及所述預測深度計算公式如下:
[0047][0048]
其中,n=5,ωi為時空域相鄰ctu的權重因子,leveli為時空域相鄰ctu的編碼深度值;權重因子ωi是根據當前ctu與時空域相鄰ctu的相關性進行設置的。
[0049]
作為上述方案的改進,所述第三數據獲取模塊,包括:平均梯度值計算單元和判斷單元;
[0050]
所述平均梯度值計算單元,用于根據所述目標ctu的像素數據,通過roberts梯度算子計算方法,計算獲得目標ctu的平均梯度值;
[0051]
所述判斷單元,用于根據所述平均梯度值,通過預設的紋理復雜度下閾值和紋理復雜度上閾值,獲得目標ctu的紋理復雜度:當平均梯度值小于紋理復雜度下閾值時,所述目標ctu為平坦塊;當平均梯度值大于紋理復雜度下閾值且小于紋理復雜度上閾值時,所述目標ctu為普通塊;當平均梯度值大于紋理復雜度上閾值時,所述目標ctu為復雜塊。
[0052]
作為上述方案的改進,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,具體為:
[0053]
所述目標ctu為復雜塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;
[0054]
當初步深度遍歷范圍的最小深度值小于等于第一深度閾值時,則進行深度擴展,且目標ctu的深度區間為[1,3];
[0055]
當深度預測數據的數值大于第二深度閾值時,則目標ctu的深度區間為[2,3]。
[0056]
作為上述方案的改進,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,還包括:
[0057]
所述目標ctu為平坦塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;
[0058]
當初步深度遍歷范圍的最小深度值大于等于第三深度閾值時,則進行深度裁剪,且目標ctu的深度區間為[0,2];
[0059]
當深度預測數據的數值小于第四深度閾值時,則目標ctu的深度區間為[0,2]。
[0060]
作為上述方案的改進,所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間,具體為:
[0061]
所述目標ctu為普通塊時,根據所述若干已編碼ctu與所述目標ctu之間的深度相關性,確定目標ctu時域同位的cucol、cucol空域左側的culc、以及目標ctu空域左側的cul;其中,所述若干已編碼ctu包括:cucol、culc和cul;
[0062]
根據所述深度數據,獲取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;
[0063]
根據depth
co
、depthl
co
、depthl和所述深度預測數據depth
pre
,獲取目標ctu的深度區間:當depthl
co
《depth
co
、depthl≥2且depth
pre
≥2時,則目標ctu的深度區間最小深度值為2;當depthl
co
《depth
co
、depthl≥1且depth
pre
≥1時,則目標ctu的深度區間最小深度值為
1;當depthl
co
》depth
co
、depthl≤1且depth
pre
≤1時,則目標ctu的深度區間最大深度值為1;當depthl
co
》depth
co
、depthl≤2且depth
pre
≤2時,則目標ctu的深度區間最大深度值為2。
[0064]
相應的,本發明一實施例還提供了一種計算機終端設備,包括處理器、存儲器以及存儲在所述存儲器中且被配置為由所述處理器執行的計算機程序,所述處理器執行所述計算機程序時實現如本發明所述的一種ctu的確定方法。
[0065]
相應的,本發明一實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質包括存儲的計算機程序,其中,在所述計算機程序運行時控制所述計算機可讀存儲介質所在設備執行如本發明所述的一種ctu的確定方法。
[0066]
由上可見,本發明具有如下有益效果:
[0067]
本發明提供了一種ctu的確定方法,首先根據與目標ctu時空域相鄰的若干已編碼ctu的深度數據,進行目標ctu的初步深度遍歷范圍的計算;再結合目標ctu與若干已編碼ctu的時空域相關性,通過深度數據和時空域相關性進行深度預測數據的計算;然后根據目標ctu的像素數據進行紋理復雜度的計算;最后根據不同紋理復雜度的ctu類型,在初步深度遍歷范圍的基礎上,結合深度預測數據和深度數據進行目標ctu的深度區間的計算,從而提高了ctu的深度區間計算準確率,通過獲得的ctu深度區間確定最優ctu,并通過最優ctu執行hevc編碼,能夠降低hevc編碼的復雜度,繼而提高hevc編碼效率。
附圖說明
[0068]
圖1是本發明一實施例提供的ctu的確定方法的流程示意圖;
[0069]
圖2是本發明一實施例提供的ctu的確定裝置的結構示意圖;
[0070]
圖3是本發明一實施例提供的若干已編碼ctu與目標ctu的時空域相鄰的位置關系;
[0071]
圖4是本發明一實施例提供的在空域中若干已編碼ctu與目標ctu之間的深度相關性;
[0072]
圖5是本發明一實施例提供的一種終端設備結構示意圖。
具體實施方式
[0073]
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例?;诒景l明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0074]
實施例一
[0075]
參見圖1,圖1是本發明一實施例提供的一種ctu的確定方法的流程示意圖,如圖1所示,本實施例包括步驟101至步驟105,各步驟具體如下:
[0076]
步驟101:獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍;其中,所述若干已編碼ctu為所述目標ctu時空域相鄰的ctu。
[0077]
在本實施例中,所述獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍,具體為:
[0078]
根據目標ctu時空域相鄰的已編碼ctu,讀取并獲得若干已編碼ctu的深度數據;
[0079]
根據所述深度數據,在若干已編碼ctu的深度值中,選取最大深度值和最小深度值,作為目標ctu的初步深度遍歷范圍。
[0080]
在一具體的實施例中,設最大深度值為d
max
,最小深度值為d
min
,則目標ctu的初步深度遍歷范圍計算方法具體如下:
[0081][0082]
其中d
min
和d
max
表示所有存在的時空域相鄰ctu中的最小深度值和最大深度值,dr表示當前ctu的初步深度遍歷范圍。
[0083]
若當前ctu的時空域相鄰ctu都不存在,則dr為[0,3]。
[0084]
在一具體的實施例中,為更好地說明與目標ctu(圖3中cu0)時空域相鄰的已編碼ctu,請參見圖3,如圖3所示,空域(當前幀)相鄰已編碼的ctu(左側ctu:cul,上側ctu:cua,左上ctu:cula,右上ctu:cura)和時域(前向參考幀)已編碼的同位ctu(cucol)。
[0085]
步驟102:根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性、以及所述深度數據,獲取目標ctu的深度預測數據。
[0086]
在一具體的實施例中,為更好地說明若干已編碼ctu與目標ctu之間的時空域相關性,請參見圖4;其中,左邊ctu的深度值采用目標ctu左邊ctu的右半ctu塊的平均深度值;同理上邊ctu的深度值采用目標ctu上邊ctu的下半ctu塊的平均深度值;由于左上和右上塊與目標ctu的相關性較小,左上ctu的深度值和右上ctu的深度值采用與目標ctu最相鄰的cu的深度值。
[0087]
在本實施例中,所述根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性、以及所述深度數據,獲取目標ctu的深度預測數據,具體為:
[0088]
根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性,確定目標ctu空域左側的cul、目標ctu空域上側的cua、目標ctu空域左上側的cula、目標ctu空域右上側的cura、以及目標ctu時域同位的cucol;其中,所述若干已編碼ctu包括:cul、cua、cula、cura和cucol;
[0089]
根據所述深度數據,獲取cul右半塊的平均深度值level1、cua下半塊的平均深度值level2、cula中的第一編碼單元的平均深度值level3、cura中的第二編碼單元的平均深度值level4和cucol的平均深度值level5,并代入預測深度計算公式進行計算,獲得深度預測數據;其中,在cula的所有編碼單元中,所述第一編碼單元和所述目標ctu的距離為第一預設值;在cura的所有編碼單元中,所述第二編碼單元和所述目標ctu的距離為第二預設值;所述深度數據包括:level1、level2、level3、level4和level5;以及所述預測深度計算公式如下:
[0090][0091]
其中,n=5,ωi為時空域相鄰ctu的權重因子,leveli為時空域相鄰ctu的編碼深度
值;權重因子ωi是根據當前ctu與時空域相鄰ctu的相關性進行設置的。
[0092]
在一具體的實施例中,在cula的所有編碼單元中,選取與目標ctu最近的編碼單元作為第一編碼單元(即所述第一編碼單元和所述目標ctu的距離為第一預設值);在cura的所有編碼單元中,選取與目標ctu最近的編碼單元作為第二編碼單元(即所述第二編碼單元和所述目標ctu的距離為第二預設值);
[0093]
由于左邊ctu(即cul)和上邊ctu(cua)與目標ctu的相關性大一些,ωi分別設為0.25;左上ctu(即cula)和右上ctu(即cura)與當前目前ctu的相關性小一些,ωi分別設為0.2,時域同位ctu(即cucol)對應的ωi設為0.1。
[0094]
步驟103:根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度;其中,所述目標ctu的紋理復雜度的類型包括以下一種或多種:平坦塊、復雜塊和普通塊。
[0095]
在本實施例中,所述根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度,具體為:
[0096]
根據所述目標ctu的像素數據,通過roberts梯度算子計算方法,計算獲得目標ctu的平均梯度值;
[0097]
根據所述平均梯度值,通過預設的紋理復雜度下閾值和紋理復雜度上閾值,獲得目標ctu的紋理復雜度:當平均梯度值小于紋理復雜度下閾值時,所述目標ctu為平坦塊;當平均梯度值大于紋理復雜度下閾值且小于紋理復雜度上閾值時,所述目標ctu為普通塊;當平均梯度值大于紋理復雜度上閾值時,所述目標ctu為復雜塊。
[0098]
在一具體的實施例中,roberts梯度算子計算方法為:
[0099]gx
=f(x+1,y)-f(x,y)
[0100]gy
=f(x,y+1)-f(x,y)
[0101]
g(x,y)=|g
x
+gy|
[0102][0103]
其中,f(x,y)表示位置(x,y)處的像素值,g
x
表示(x,y)的水平方向梯度,gy表示(x,y)的垂直方向梯度,g(x,y)表示(x,y)處的梯度,g
avg
表示當前ctu的平均梯度值;height表示當前ctu的高度,width表示當前ctu的寬度,因此i的范圍限制為x~x+width,j的范圍限制為y~y+height。
[0104]
在一具體的實施例中,為更好地表示紋路復雜度的選取,采用以下公式進行說明:
[0105][0106]
其中,tc表示當前ctu的紋理復雜度,simple表示當前ctu為平坦塊,common表示當前ctu為普通塊,complex表示當前ctu為復雜塊,thr1表示紋理復雜度下閾值,thr2表示紋理復雜度上閾值;在本實施例中,thr1為5,thr2為10。
[0107]
步驟104:所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間;所述目標ctu為普通塊時,根據深度預測數據和深度數據
獲取目標ctu的深度區間。
[0108]
在本實施例中,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,具體為:
[0109]
所述目標ctu時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;
[0110]
當初步深度遍歷范圍的最小深度值小于等于第一深度閾值時,則進行深度擴展,且目標ctu的深度區間為[1,3];
[0111]
當深度預測數據的數值大于第二深度閾值時,則目標ctu的深度區間為[2,3]。
[0112]
在一具體的實施例中,若當前ctu為復雜塊,并且其預測深度數據depth
pre
大于2(第二深度閾值),則當前ctu的深度區間為[2,3],即當前ctu跳過深度0和1的計算;若當前ctu為復雜塊,并且dr中的最小深度值小于等于1(第一深度閾值),則進行深度擴展,當前ctu的深度區間為[1,3],即當前ctu跳過深度0的計算。
[0113]
在本實施例中,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,還包括:
[0114]
所述目標ctu為平坦塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;
[0115]
當初步深度遍歷范圍的最小深度值大于等于第三深度閾值時,則進行深度裁剪,且目標ctu的深度區間為[0,2];
[0116]
當深度預測數據的數值小于第四深度閾值時,則目標ctu的深度區間為[0,2]。
[0117]
在一具體的實施例中,若當前ctu為平坦塊,并且其預測深度數據depth
pre
小于2(第四深度閾值),則當前ctu的深度區間為[0,2],即當前ctu跳過深度3的計算;若當前ctu為平坦塊,并且dr中的最大深度值大于等于2(第三深度閾值),則進行深度裁剪,當前ctu的深度區間為[0,2],即當前ctu跳過深度3的計算。
[0118]
在本實施例中,所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間,具體為:
[0119]
所述目標ctu為普通塊時,根據所述若干已編碼ctu與所述目標ctu之間的深度相關性,確定目標ctu時域同位的cucol、cucol空域左側的culc、以及目標ctu空域左側的cul;其中,所述若干已編碼ctu包括:cucol、culc和cul;
[0120]
根據所述深度數據,獲取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;
[0121]
根據depth
co
、depthl
co
、depthl和所述深度預測數據depth
pre
,獲取目標ctu的深度區間:當depthl
co
《depth
co
、depthl≥2且depth
pre
≥2時,則目標ctu的深度區間最小深度值為2;當depthl
co
《depth
co
、depthl≥1且depth
pre
≥1時,則目標ctu的深度區間最小深度值為1;當depthl
co
》depth
co
、depthl≤1且depth
pre
≤1時,則目標ctu的深度區間最大深度值為1;當depthl
co
》depth
co
、depthl≤2且depth
pre
≤2時,則目標ctu的深度區間最大深度值為2。
[0122]
步驟105:根據目標ctu的深度區間選定目標ctu,并基于選定的目標ctu執行hevc編碼。
[0123]
本實施例首先根據與目標ctu時空域相鄰的若干已編碼ctu的深度數據,進行目標ctu的初步深度遍歷范圍計算;再結合目標ctu與若干已編碼ctu的時空域相關性,通過深度數據和時空域相關性進行深度預測數據的計算;然后根據目標ctu的像素數據進行紋理復雜度的計算;最后根據不同紋理復雜度的ctu類型,在初步深度遍歷范圍的基礎上,結合深
度預測數據和深度數據進行目標ctu的深度區間的計算。確定當前ctu的深度區間,加速hevc編碼過程。本實施例相比開源編碼器x265,在低延時p(lowdelay p)測試條件下,平均率失真性能沒有損失的情況下,編碼時間復雜度平均降低8.1%。
[0124]
實施例二
[0125]
參見圖2,圖2是本發明一實施例提供的一種ctu的確定裝置的結構示意圖,包括:第一數據獲取模塊201、第二數據獲取模塊202、第三數據獲取模塊203、深度區間計算模塊204和結果生成模塊205;
[0126]
所述第一數據獲取模塊201,用于獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍;其中,所述若干已編碼ctu為所述目標ctu時空域相鄰的ctu;
[0127]
所述第二數據獲取模塊202,用于根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性、以及所述深度數據,獲取目標ctu的深度預測數據;
[0128]
所述第三數據獲取模塊203,用于根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度;其中,所述目標ctu的紋理復雜度的類型包括以下一種或多種:平坦塊、復雜塊和普通塊;
[0129]
所述深度區間計算模塊204,用于所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間;所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間;
[0130]
所述結果生成模塊205,用于根據目標ctu的深度區間選定目標ctu,并基于選定的目標ctu執行hevc編碼。
[0131]
作為上述方案的改進,所述第一數據獲取模塊201,包括:深度數據獲取單元和初步深度遍歷范圍計算單元;
[0132]
所述深度數據獲取單元,用于根據目標ctu時空域相鄰的已編碼ctu,讀取并獲得若干已編碼ctu的深度數據;
[0133]
所述初步深度遍歷范圍計算單元,用于根據所述深度數據,在若干已編碼ctu的深度值中,選取最大深度值和最小深度值,作為目標ctu的初步深度遍歷范圍。
[0134]
作為上述方案的改進,所述第二數據獲取模塊202,包括:時空域相關性獲取單元和深度預測數據計算單元;
[0135]
所述時空域相關性獲取單元,用于根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性,確定目標ctu空域左側的cul、目標ctu空域上側的cua、目標ctu空域左上側的cula、目標ctu空域右上側的cura、以及目標ctu時域同位的cucol;其中,所述若干已編碼ctu包括:cul、cua、cula、cura和cucol;
[0136]
所述深度預測數據計算單元,用于根據所述深度數據,獲取cul右半塊的平均深度值level1、cua下半塊的平均深度值level2、cula中的第一編碼單元的平均深度值level3、cura中的第二編碼單元的平均深度值level4和cucol的平均深度值level5,并代入預測深度計算公式進行計算,獲得深度預測數據;其中,在cula的所有編碼單元中,所述第一編碼單元和所述目標ctu的距離為第一預設值;在cura的所有編碼單元中,所述第二編碼單元和所述目標ctu的距離為第二預設值;所述深度數據包括:level1、level2、level3、level4和level5;以及所述預測深度計算公式如下:
[0137][0138]
其中,n=5,ωi為時空域相鄰ctu的權重因子,leveli為時空域相鄰ctu的編碼深度值;權重因子ωi是根據當前ctu與時空域相鄰ctu的相關性進行設置的。
[0139]
作為上述方案的改進,所述第三數據獲取模塊203,包括:平均梯度值計算單元和判斷單元;
[0140]
所述平均梯度值計算單元,用于根據所述目標ctu的像素數據,通過roberts梯度算子計算方法,計算獲得目標ctu的平均梯度值;
[0141]
所述判斷單元,用于根據所述平均梯度值,通過預設的紋理復雜度下閾值和紋理復雜度上閾值,獲得目標ctu的紋理復雜度:當平均梯度值小于紋理復雜度下閾值時,所述目標ctu為平坦塊;當平均梯度值大于紋理復雜度下閾值且小于紋理復雜度上閾值時,所述目標ctu為普通塊;當平均梯度值大于紋理復雜度上閾值時,所述目標ctu為復雜塊。
[0142]
作為上述方案的改進,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,具體為:
[0143]
所述目標ctu為復雜塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;
[0144]
當初步深度遍歷范圍的最小深度值小于等于第一深度閾值時,則進行深度擴展,且目標ctu的深度區間為[1,3];
[0145]
當深度預測數據的數值大于第二深度閾值時,則目標ctu的深度區間為[2,3]。
[0146]
作為上述方案的改進,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,還包括:
[0147]
所述目標ctu為平坦塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;
[0148]
當初步深度遍歷范圍的最小深度值大于等于第三深度閾值時,則進行深度裁剪,且目標ctu的深度區間為[0,2];
[0149]
當深度預測數據的數值小于第四深度閾值時,則目標ctu的深度區間為[0,2]。
[0150]
作為上述方案的改進,所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間,具體為:
[0151]
所述目標ctu為普通塊時,根據所述若干已編碼ctu與所述目標ctu之間的深度相關性,確定目標ctu時域同位的cucol、cucol空域左側的culc、以及目標ctu空域左側的cul;其中,所述若干已編碼ctu包括:cucol、culc和cul;
[0152]
根據所述深度數據,獲取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;
[0153]
根據depth
co
、depthl
co
、depthl和所述深度預測數據depth
pre
,獲取目標ctu的深度區間:當depthl
co
《depth
co
、depthl≥2且depth
pre
≥2時,則目標ctu的深度區間最小深度值為2;當depthl
co
《depth
co
、depthl≥1且depth
pre
≥1時,則目標ctu的深度區間最小深度值為1;當depthl
co
》depth
co
、depthl≤1且depth
pre
≤1時,則目標ctu的深度區間最大深度值為1;當depthl
co
》depth
co
、depthl≤2且depth
pre
≤2時,則目標ctu的深度區間最大深度值為2。
[0154]
本實施例通過第一數據獲取模塊獲得目標ctu的初步深度遍歷范圍,通過第二數據獲取模塊獲得目標ctu的深度預測數據,通過第三數據獲取模塊獲得目標ctu的紋理復雜
度,將獲得的深度預測數據、初步深度遍歷范圍和紋理復雜度輸入至深度區間計算模塊進行目標ctu深度區間的計算,并將深度區間輸入至結果生成模塊選定目標ctu,從而根據選取的目標ctu執行hevc編碼。本實施例通過獲得的ctu深度區間確定最優ctu,并通過最優ctu執行hevc編碼,能夠降低hevc編碼的復雜度,繼而提高hevc編碼效率。
[0155]
實施例三
[0156]
參見圖5,圖5是本發明一實施例提供的終端設備結構示意圖。
[0157]
該實施例的一種終端設備包括:處理器501、存儲器502以及存儲在所述存儲器502中并可在所述處理器501上運行的計算機程序。所述處理器501執行所述計算機程序時實現上述各個ctu的確定方法在實施例中的步驟,例如圖1所示的ctu的確定方法的所有步驟。或者,所述處理器執行所述計算機程序時實現上述各裝置實施例中各模塊的功能,例如:圖2所示的ctu的確定裝置的所有模塊。
[0158]
另外,本發明實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質包括存儲的計算機程序,其中,在所述計算機程序運行時控制所述計算機可讀存儲介質所在設備執行如上任一實施例所述的ctu的確定方法。
[0159]
本領域技術人員可以理解,所述示意圖僅僅是終端設備的示例,并不構成對終端設備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如所述終端設備還可以包括輸入輸出設備、網絡接入設備、總線等。
[0160]
所稱處理器501可以是中央處理單元(central processing unit,cpu),還可以是其他通用處理器、數字信號處理器(digital signal processor,dsp)、專用集成電路(application specific integrated circuit,asic)、現成可編程門陣列(field-programmable gate array,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等,所述處理器501是所述終端設備的控制中心,利用各種接口和線路連接整個終端設備的各個部分。
[0161]
所述存儲器502可用于存儲所述計算機程序和/或模塊,所述處理器501通過運行或執行存儲在所述存儲器內的計算機程序和/或模塊,以及調用存儲在存儲器502內的數據,實現所述終端設備的各種功能。所述存儲器502可主要包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區可存儲根據手機的使用所創建的數據(比如音頻數據、電話本等)等。此外,存儲器可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如硬盤、內存、插接式硬盤,智能存儲卡(smart media card,smc),安全數字(secure digital,sd)卡,閃存卡(flash card)、至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。
[0162]
其中,所述終端設備集成的模塊/單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發明實現上述實施例方法中的全部或部分流程,也可以通過計算機程序來指令相關的硬件來完成,所述的計算機程序可存儲于一計算機可讀存儲介質中,該計算機程序在被處理器執行時,可實現上述各個方法實施例的步驟。其中,所述計算機程序包括計算機程序代碼,所述計算機程序代碼可以為源代碼形式、對象代碼形式、可執行文件或某些中間形式等。所述
計算機可讀介質可以包括:能夠攜帶所述計算機程序代碼的任何實體或裝置、記錄介質、u盤、移動硬盤、磁碟、光盤、計算機存儲器、只讀存儲器(rom,read-only memory)、隨機存取存儲器(ram,random access memory)、電載波信號、電信信號以及軟件分發介質等。
[0163]
需說明的是,以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。另外,本發明提供的裝置實施例附圖中,模塊之間的連接關系表示它們之間具有通信連接,具體可以實現為一條或多條通信總線或信號線。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。
[0164]
以上所述是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍。

技術特征:


1.一種ctu的確定方法,其特征在于,包括:獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍;其中,所述若干已編碼ctu為所述目標ctu時空域相鄰的ctu;根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性、以及所述深度數據,獲取目標ctu的深度預測數據;根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度;其中,所述目標ctu的紋理復雜度的類型包括以下一種或多種:平坦塊、復雜塊和普通塊;所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間;所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間;根據目標ctu的深度區間選定目標ctu,并基于選定的目標ctu執行hevc編碼。2.根據權利要求1所述的ctu的確定方法,其特征在于,所述獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍,具體為:根據目標ctu時空域相鄰的已編碼ctu,讀取并獲得若干已編碼ctu的深度數據;根據所述深度數據,在若干已編碼ctu的深度值中,選取最大深度值和最小深度值,作為目標ctu的初步深度遍歷范圍。3.根據權利要求1所述的ctu的確定方法,其特征在于,所述根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性、以及所述深度數據,獲取目標ctu的深度預測數據,具體為:根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性,確定目標ctu空域左側的cul、目標ctu空域上側的cua、目標ctu空域左上側的cula、目標ctu空域右上側的cura、以及目標ctu時域同位的cucol;其中,所述若干已編碼ctu包括:cul、cua、cula、cura和cucol;根據所述深度數據,獲取cul右半塊的平均深度值level1、cua下半塊的平均深度值level2、cula中的第一編碼單元的平均深度值level3、cura中的第二編碼單元的平均深度值level4和cucol的平均深度值level5,并代入預測深度計算公式進行計算,獲得深度預測數據;其中,在cula的所有編碼單元中,所述第一編碼單元和所述目標ctu的距離為第一預設值;在cura的所有編碼單元中,所述第二編碼單元和所述目標ctu的距離為第二預設值;所述深度數據包括:level1、level2、level3、level4和level5;以及所述預測深度計算公式如下:其中,n=5,ω
i
為時空域相鄰ctu的權重因子,level
i
為時空域相鄰ctu的編碼深度值;權重因子ω
i
是根據當前ctu與時空域相鄰ctu的相關性進行設置的。4.根據權利要求1所述的ctu的確定方法,其特征在于,所述根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度,具體為:根據所述目標ctu的像素數據,通過roberts梯度算子計算方法,計算獲得目標ctu的平均梯度值;根據所述平均梯度值,通過預設的紋理復雜度下閾值和紋理復雜度上閾值,獲得目標
ctu的紋理復雜度:當平均梯度值小于紋理復雜度下閾值時,所述目標ctu為平坦塊;當平均梯度值大于紋理復雜度下閾值且小于紋理復雜度上閾值時,所述目標ctu為普通塊;當平均梯度值大于紋理復雜度上閾值時,所述目標ctu為復雜塊。5.根據權利要求1所述的ctu的確定方法,其特征在于,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,具體為:所述目標ctu為復雜塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;當初步深度遍歷范圍的最小深度值小于等于第一深度閾值時,則進行深度擴展,且目標ctu的深度區間為[1,3];當深度預測數據的數值大于第二深度閾值時,則目標ctu的深度區間為[2,3]。6.根據權利要求5所述的ctu的確定方法,其特征在于,所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間,還包括:所述目標ctu為平坦塊時,獲取目標ctu的初步深度遍歷范圍和深度預測數據;當初步深度遍歷范圍的最小深度值大于等于第三深度閾值時,則進行深度裁剪,且目標ctu的深度區間為[0,2];當深度預測數據的數值小于第四深度閾值時,則目標ctu的深度區間為[0,2]。7.根據權利要求1所述的ctu的確定方法,其特征在于,所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間,具體為:所述目標ctu為普通塊時,根據所述若干已編碼ctu與所述目標ctu之間的深度相關性,確定目標ctu時域同位的cucol、cucol空域左側的culc、以及目標ctu空域左側的cul;其中,所述若干已編碼ctu包括:cucol、culc和cul;根據所述深度數據,獲取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;根據depth
co
、depthl
co
、depthl和所述深度預測數據depth
pre
,獲取目標ctu的深度區間:當depthl
co
<depth
co
、depthl≥2且depth
pre
≥2時,則目標ctu的深度區間最小深度值為2;當depthl
co
<depth
co
、depthl≥1且depth
pre
≥1時,則目標ctu的深度區間最小深度值為1;當depthl
co
>depth
co
、depthl≤1且depth
pre
≤1時,則目標ctu的深度區間最大深度值為1;當depthl
co
>depth
co
、depthl≤2且depth
pre
≤2時,則目標ctu的深度區間最大深度值為2。8.一種ctu的確定裝置,其特征在于,包括:第一數據獲取模塊、第二數據獲取模塊、第三數據獲取模塊、深度區間計算模塊和結果生成模塊;所述第一數據獲取模塊,用于獲取若干已編碼ctu的深度數據,并根據所述深度數據確定目標ctu的初步深度遍歷范圍;其中,所述若干已編碼ctu為所述目標ctu時空域相鄰的ctu;所述第二數據獲取模塊,用于根據所述若干已編碼ctu與所述目標ctu之間的時空域相關性、以及所述深度數據,獲取目標ctu的深度預測數據;所述第三數據獲取模塊,用于根據所述目標ctu的像素數據,獲取所述目標ctu的紋理復雜度;其中,所述紋理復雜度包括以下一種或多種:平坦塊、復雜塊和普通塊;所述深度區間計算模塊,用于所述目標ctu為平坦塊時或復雜塊時,根據初步深度遍歷范圍和深度預測數據獲取目標ctu的深度區間;所述目標ctu為普通塊時,根據深度預測數據和深度數據獲取目標ctu的深度區間;
所述結果生成模塊,用于根據目標ctu的深度區間選定目標ctu,并基于選定的目標ctu執行hevc編碼。9.一種計算機終端設備,其特征在于,包括處理器、存儲器以及存儲在所述存儲器中且被配置為由所述處理器執行的計算機程序,所述處理器執行所述計算機程序時實現如權利要求1至7中任意一項所述的一種ctu的確定方法。10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質包括存儲的計算機程序,其中,在所述計算機程序運行時控制所述計算機可讀存儲介質所在設備執行如權利要求1至7中任意一項所述的一種ctu的確定方法。

技術總結


本發明公開了一種CTU的確定方法、裝置、終端設備及存儲介質,首先根據與目標CTU時空域相鄰的若干已編碼CTU的深度數據,進行目標CTU的初步深度遍歷范圍的計算;再結合目標CTU與若干已編碼CTU的時空域相關性,通過深度數據和時空域相關性進行深度預測數據的計算;然后根據目標CTU的像素數據進行紋理復雜度的計算;最后根據不同紋理復雜度的CTU類型,在初步深度遍歷范圍的基礎上,結合深度預測數據和深度數據進行目標CTU的深度區間的計算,從而提高了CTU的深度區間計算準確率,通過獲得的CTU深度區間確定最優CTU,并通過最優CTU執行HEVC編碼,能夠降低HEVC編碼的復雜度,繼而提高HEVC編碼效率。HEVC編碼效率。HEVC編碼效率。


技術研發人員:


受保護的技術使用者:

廈門億聯網絡技術股份有限公司

技術研發日:

2022.09.26

技術公布日:

2023/1/17


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-84008-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2023-01-28 07:07:09

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
,2人圍觀
參與討論