System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于視頻編碼領域,更具體地說,一種適用于通用視頻編碼(versatilevideo?coding,vvc)的快速幀內編碼模式決策方法,可應用于實時性要求較高的視頻編碼場景中。
技術介紹
1、隨著互聯網應用的普及,用戶對于視頻的期望也不斷提升,他們希望獲得更加逼真和清晰的視覺體驗,并且期待視頻播放的流暢性能達到更高水平。為了滿足用戶的需求,出現了各種新興的視頻應用,比如超高清(ultra?high?definition,uhd)、高幀率(highframe?rate,hfr)、高動態范圍(high?dynamic?range,hdr)、寬色域(wide?color?gamut,wcg)、虛擬現實(virtual?reality,vr)和增強現實(augmented?reality,ar)。然而視頻數據的激增對有限的通信傳輸帶寬和存儲資源造成了巨大的壓力,因此聯合視頻專家團隊(joint?video?experts?team,jvet)開發了下一代視頻編碼標準vvc(versatile?videocoding)。相較于它的前任,即高效率視頻編碼hevc(high?efficiency?video?coding),vvc采用了多種新的編碼技術,比如,基于四叉樹加多類型樹(quad-tree?plus?multi-typetree,qtmt)的編碼單元(coding?unit,cu)劃分結構、更多的角度預測模式(從hevc的35種增加到了vvc的67種)、寬角度幀內預測(wide?angle?intra?prediction,
2、本專利技術所提方法lightgbm模型對幀內編碼模式進行預測,利用預測結果去除冗余的幀內編碼模式,以降低rdo過程的計算復雜度,并顯著降低vvc幀內編碼的編碼時間。首先,使用原編碼器對視頻序列進行編碼,在此過程中記錄特征數據和幀內編碼模式,并建立相應的數據集用于訓練輕量級梯度提升機器(light?gradient?boosting?machine,lightgbm)模型;其次,確定lightgbm模型訓練的超參數,并加載數據集訓練模型;最后,使用編碼器加載模型對cu幀內編碼模式進行預測,并利用預測結果去除冗余的rdo過程。本專利技術可用于vvc幀內編碼配置下的編碼,在確保編碼效率損失極少的前提下,顯著減少vvc的編碼時間。
技術實現思路
1、本專利技術旨在解決以上現有技術的問題。提出了一種基于機器學習的vvc快速幀內編碼模式決策方法。本專利技術的技術方案如下:
2、一種基于機器學習的vvc快速幀內編碼模式決策方法,其包括以下步驟:
3、s1、選擇用于訓練輕量級梯度提升機器lightgbm模型1的cu特征,該模型1實現3個類別即角度預測模式、幀內子塊劃分(intra?sub-partitions?mode,isp)模式、基于矩陣的預測(matrix?weighted?intra?prediction,mip)模式的概率預測;cu特征包括2個類別的特征,分別是紋理信息和子塊紋理信息;
4、s2、選擇用于訓練lightgbm模型2的cu特征,該模型2實現角度預測模式中的67種預測方式(包括dc、平面和65個不同的角度)的概率預測;cu特征包括3個類別的特征,分別是紋理信息、子塊紋理信息和上下文信息;
5、s3、使用修改后的vvc測試參考模型編碼器對視頻序列進行編碼,采集cu的紋理和幀內編碼模式數據,建立訓練數據集,并對lightgbm模型1、lightgbm模型2進行訓練;
6、s4、利用步驟s3已訓練好的lightgbm模型1、lightgbm模型2,對cu幀內編碼模式進行預測,跳過冗余的cu編碼模式的率失真優化(rate?distortion?optimization,rdo)過程,實現cu的快速幀內編碼模式決策。
7、進一步的,所述步驟s1中,紋理信息包括cu的水平和垂直梯度、梯度比值、方差、熵和峰度;
8、水平和垂直梯度使用sobel算子進行計算,其計算公式如下:
9、
10、公式(1)中的gh(x,y)和gv(x,y)分別表示坐標(x,y)處像素的水平梯度和垂直梯度;a(x,y)表示以坐標(x,y)為中心的像素矩陣;然后,利用公式(2)計算出當前cu像素水平方向和垂直方向的平均梯度;
11、
12、公式(2)中的|gh(x,y)|和|gv(x,y)|分別為(x,y)坐標處像素的水平梯度和垂直梯度的絕對值;gradientx和gradienty分別為當前cu的水平平均梯度和垂直平均梯度;
13、水平和垂直梯度的比值計算如下:
14、
15、其中,gradientratio表示當前cu的水平梯度和垂直梯度的比值;
16、方差計算公式如下:
17、
18、其中,p(x,y)為cu的亮度分量在(x,y)坐標處的像素值;w和h分別表示cu的寬度和高度;mean為cu像素平均值;variance為cu的像素方差;
19、熵的計算公式如下:
20、
21、其中,l是cu的亮度分量中灰度級的總數;p(i)是灰度級i的歸一化概率;entropy為cu圖像的熵;
22、峰度的計算公式如下:
23、
24、其中,n是cu中的總像素數;l是灰度級的總數;xi是灰度級i的像素數;μ是cu的灰度均值;σ是cu的灰度標準差;kurtosis是cu的峰度值。
25、進一步的,所述步驟s1中,子塊紋理信息包括:子塊方差和子塊方差的方差;子塊方差是通過將當前待編碼cu分別水平和垂直均分為4塊,并利用公式(本文檔來自技高網...
【技術保護點】
1.一種基于機器學習的VVC快速幀內編碼模式決策方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的一種基于機器學習的VVC快速幀內編碼模式決策方法,其特征在于,所述步驟S1中,紋理信息包括CU的水平和垂直梯度、梯度比值、方差、熵和峰度;
3.根據權利要求1所述的一種基于機器學習的VVC快速幀內編碼模式決策方法,其特征在于,所述步驟S1中,子塊紋理信息包括:子塊方差和子塊方差的方差;子塊方差是通過將當前待編碼CU分別水平和垂直均分為4塊,并利用公式(4)分別計算每一個子塊的方差,子塊方差的方差的計算公式如下:
4.根據權利要求1所述的一種基于機器學習的VVC快速幀內編碼模式決策方法,其特征在于,所述步驟S2中,紋理信息和子塊紋理信息與步驟S1中的完全相同,上下文信息包括:上側和左側參考行像素均值,計算公式如下:
5.根據權利要求1所述的一種基于機器學習的VVC快速幀內編碼模式決策方法,其特征在于,所述步驟S3中,采集CU的編碼數據是通過使用修改后的VTM編碼器對圖片或視頻序列進行編碼來獲取的,并在此過程中記錄CU的特征數據和幀
6.根據權利要求5所述的一種基于機器學習的VVC快速幀內編碼模式決策方法,其特征在于,所述步驟S3中,LightGBM模型的訓練參數設置為:num_leaves=31、learning_rate=0.1、early_stop_rounds=5;其中,num_leaves為每棵子樹的最大的葉子數量,用于控制模型的復雜度,較高的值可以提高模型的擬合能力,較低的值可以降低模型的過擬合;learning_rate為模型訓練的學習率,用于控制模型的學習速度;early_stop_rounds為模型訓練的早停輪數,當模型的損失在指定的回合數訓練過程中沒有任何變化時,則停止模型的訓練過程。
7.根據權利要求1所述的一種基于機器學習的VVC快速幀內編碼模式決策方法,其特征在于,所述步驟S4中,利用已訓練好的LightGBM模型,對CU幀內編碼模式進行預測,選擇最優CU幀內編碼模式或跳過冗余的CU幀內編碼模式,實現CU的快速幀內編碼模式決策的具體過程如下:
8.一種存儲介質,該存儲介質內部存儲計算機程序,其特征在于,所述計算機程序被處理器讀取時,執行上述權利要求1~7任一項所述基于機器學習的VVC幀內快速編碼模式決策方法。
...【技術特征摘要】
1.一種基于機器學習的vvc快速幀內編碼模式決策方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的一種基于機器學習的vvc快速幀內編碼模式決策方法,其特征在于,所述步驟s1中,紋理信息包括cu的水平和垂直梯度、梯度比值、方差、熵和峰度;
3.根據權利要求1所述的一種基于機器學習的vvc快速幀內編碼模式決策方法,其特征在于,所述步驟s1中,子塊紋理信息包括:子塊方差和子塊方差的方差;子塊方差是通過將當前待編碼cu分別水平和垂直均分為4塊,并利用公式(4)分別計算每一個子塊的方差,子塊方差的方差的計算公式如下:
4.根據權利要求1所述的一種基于機器學習的vvc快速幀內編碼模式決策方法,其特征在于,所述步驟s2中,紋理信息和子塊紋理信息與步驟s1中的完全相同,上下文信息包括:上側和左側參考行像素均值,計算公式如下:
5.根據權利要求1所述的一種基于機器學習的vvc快速幀內編碼模式決策方法,其特征在于,所述步驟s3中,采集cu的編碼數據是通過使用修改后的vtm編碼器對圖片或視頻序列進行編碼來獲取的,并在此過程中記錄cu的特征數據和幀內編碼模式;其中,用于采集樣本的圖片序列包含6種分辨率,分別為:416×240、832×480、1280×720、192...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。