999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用深度學習的HEVC幀內編碼單元快速劃分算法

2021-03-13 06:00:44易清明林成思
小型微型計算機系統 2021年2期
關鍵詞:深度

易清明,林成思,石 敏

(暨南大學 信息科學技術學院,廣州 510632)

1 引 言

H.265/HEVC(High Efficiency Video Coding,高效視頻編碼)是ITU-T和ISO/IE在2013年聯合發布的繼H.264/AVC之后的新一代高效視頻編碼壓縮標準[1].HEVC標準致力于在保證視頻編碼質量的前提下,在編碼效率上比AVC提升一倍,為此HEVC引入了一系列新的技術.但同時編碼復雜度急劇增加,使得在多媒體應用上HEVC存在對設備的運算能力要求的較高門檻,因此HEVC亟需通過算法優化降低編碼復雜度.

在HEVC中,為了適應視頻圖像平緩區域和復雜區域的不同編碼特性,一幅圖像可以被劃分為互不重疊的編碼樹單元[2](CTU),在CTU內部采用基于四叉樹的循環分層結構劃分為若干個CU,這個遞歸過程占據了HEVC編碼時間的80%以上,其原因在于對于每一個CU劃分的可能方案HEVC采用了暴力遞歸的做法遍歷每一種方案通過計算RD代價(RD-cost)以尋求最優碼率,這個過程存在大量的冗余計算[3].

自HEVC標準發布以來,許多針對HEVC編碼單元快速劃分的優化方案被陸續提出,不同程度地減少了CU劃分的冗余計算.文獻[4]所提出的算法定義了基于RD代價(RD-cost)的貝葉斯決策方法,在每個CU深度級別執行提前CU分裂和修剪,減少 CU分割遍歷次數.文獻[5]利用前一幀以及當前幀相鄰CU的劃分結果,對當前幀的CU劃分方式進行預判.文獻[6]利用了輸入圖像紋理梯度等特性,利用紋理復雜度自適應地跳過一些CU大小.文獻[7]提供自適應決策能力來擴展基于關鍵點的CU深度決策(KCD)方法,一定程度上降低了編碼計算復雜度.以文獻[8,9]為代表的基于支持向量機(SVM)的快速CU大小決策算法提取圖像特征來判斷CU復雜度,然后基于SVM建立CU大小決策的分類器結構.文獻[10]同樣使用SVM來進行預測幀內CU劃分,同時結合幀內角度預測模式,進一步減少幀內預測的計算復雜度.另外,隨著深度學習的不斷發展,很多深度學習方法被應用到視頻編解碼的領域.文獻[11]使用了一個兩層的卷積神經網絡結構來預測單個CU是否劃分的二分類問題.文獻[12]使用了一個更深的3層CNN結構來預測整個CTU的模型,并建立了一個針對CU劃分的數據庫CPIH,改善了網絡的學習能力.

上述幀內CU劃分快速選擇算法都能夠在一定程度上減少CU劃分冗余計算,縮減編碼時間,但仍存在自身缺陷.例如早期啟發式方法如文獻[4-7]依賴與人為指定的經驗特征,無法挖掘CU劃分過程中的深層次特征.文獻[8-10]利用的SVM的方法學習能力有限,相比深度學習模型在預測能力上稍顯不足,準確率不能得到保證.而深度學習方法如文獻[11,12]等也存在著一些問題,如分開使用3個同樣的CNN來分別預測3種大小的CU劃分,在不同深度的CU劃分中沒有建立聯系;同時每次網絡只判斷一層的CU劃分情況,需要反復調用多次才能預測出整個CTU的劃分,仍有改進的空間.

本文針對以上問題,提出一種基于深度學習編碼單元快速劃分算法.首先與一些三級分類器方法需要反復調用分類器不同的是,本文方法一次性預測整個CTU的CU劃分情況,將同一個CTU中不同深度的CU劃分建模為一個整體;另外,為了更好地適應CU劃分的層級結構,本文算法使用了一種基于Inception模塊[13]的神經網絡結構,使之內嵌于HEVC編碼框架中,直接根據亮度像素值對編碼單元的劃分進行提前預測,有效地去除了All Intra配置下中冗余的CU劃分計算.

2 基于深度學習的快速編碼單元劃分算法

與上一代編碼標準H.264相比,HEVC新引入了通過四叉樹方式靈活劃分的樹形結構單元(CTU),一個CTU大小一般為64×64,可以劃分為不同大小編碼單元(CU).為了貼合不同視頻圖像的紋理特征,每個CU共設有4種可能劃分尺寸:64×64、32×32、16×16和8×8.圖1為CTU劃分為CU的示意圖.本文深度學習模型以整個CTU的亮度塊像素作為輸入,各個尺寸的CU分割模式作為輸出,經過訓練學習以獲得較為準確的CU劃分預測效果.

圖1 HEVC CU劃分結構示意圖Fig.1 HEVC CU Splitting Structure

2.1 劃分模式建模

圖2 CU不同層次的劃分決策表示Fig.2 Representation of division decision in different levels of CU

2.2 數據集的建立

表1 本文數據集來源的信息Table 1 Information on the source of this data set

為了進一步增加數據庫的多樣性,避免在訓練時產生過擬合的現象,本文對數據庫中樣本進行了兩項處理:幀級間隔取樣(Frame level interval sampling,FLIS),以及數據增強處理(Data augmentation,DA).

幀級間隔取樣是為了去除空間樣本的相似性.雖然將視頻的每一幀所有CTU的劃分的情況都作為數據加入數據集能快速獲得大量數據,但是由于視頻圖像的時空相似性,相鄰的兩幀視頻圖像非常相似.事實上重合度非常高的數據如果都作為訓練數據,不利于訓練數據的多樣性.為了去除重復數據,增加訓練樣本間的差異性,本文對原始視頻的幀進行了截取,每隔5幀收集一幀的CTU劃分數據,因此實際采取的樣本為原始視頻所有幀的完整CTU的1/5.

另外,進行數據增強處理能豐富樣本的數量,減小過擬合風險,并使得訓練得到的模型具有更好的泛化能力和魯棒性.對上述得到的樣本進行旋轉90°、180°、270°和左右翻轉,如圖3所示(取自sunflower_1080p25.yuv).把得到的新數據都加入到數據集中,數據的數目會擴大為原來5倍.因此,進行了幀級間隔取樣和數據增強之后,樣本總數不變,但豐富性增加.

圖3 對CU劃分樣本進行數據增強Fig.3 Data augmentation for CU partition samples

所有樣本中訓練集、驗證集和測試集的樣本數量分別占總樣本的85%、5%和10%,樣本數量信息如表2所示.

表2 本文數據集的樣本信息Table 2 Information of this data set

2.3 基于深度學習的CU劃分預測模型總體結構

本文提出的基于Inception模塊的CU劃分預測模型總體結構如圖3所示.除了必要的輸入層、輸出層以外,深度學習模型主要由一個卷積層、兩個Inception模塊、一個池化層和全連接網絡組成,見圖4.圖中@代表卷積核的數目,箭頭代表數據在神經網絡中的流動.

圖4 深度學習模型結構圖Fig.4 Structural diagram of deep learning model

輸入層Input為一個64×64的CTU亮度塊,為YUV視頻Y分量組成的亮度像素塊.首先經過圖像歸一化層N1,使用全局歸一化處理整個圖像數據,使得訓練數據更快地收斂.

然后,經過一層4×4卷積層Conv1.為了貼合CU劃分過程的非重疊(Non-overlap)特性,在這一層我們設置卷積層的跨度(Stride)等于卷積核的大小(Kernel size),使得在第一層中卷積為非重疊的,對應HEVC標準中CU劃分的特點.

步驟1:初始化,t=0,t為當前迭代次數,N為種群大小。若k≥N,則根據適應度值從小到大選取前N個作為初始值將(xP1,yP1),(xP2,yP2),…,(xPi,yPi),…,(xPN,yPN)賦值給(xW1(t),yW1(t)),…,(xWi(t),yWi(t)),…,(xWN(t),yWN(t)),i的取值為1~N;若k

為了進一步學習更高層次和不同大小范圍的特征,接下來采用兩個Inception模塊Inc1、Inc2,見圖5.Inception模塊最早來源于Google Inception Net,后者可以控制計算量和參數量的同時,獲得非常好的分類性能,在圖像分類領域取得了長足進展,是非常優秀并且實用的模型.

圖5 本文Inception模塊結構圖Fig.5 Structural diagram of inception module in this paper

與傳統的卷積神經網絡(CNN)中的卷積層不同,Inception模塊同一層中包含不同大小的卷積核.傳統的CNN網絡每一層的卷積核大小是固定的,卷積核的大小確定了感受野的大小,因此傳統CNN卷積層沒有辦法同時獲取不同大小的圖像特征.而Inception 模塊采用了分支的方法,每一層包含了若干個分支,而每個分支包含了不同大小的卷積核,可以同時獲得不同大小的感受野,獲取到層次更加豐富的特征,增加多樣性(Diversity).另外Inception模塊采用了許多大小為1×1的卷積核,來進行低成本的跨通道的特征變換,減少運算耗費的資源,同時降低過擬合的風險.

本文將Inception Net[13]中的Inception模塊應用到CU劃分的實際問題時進行了一些修改,采用的Inception模塊分別有4個分支(Branch),第1分支中,對輸入進行1×1的卷積操作,其作用是對不同通道之間的信息進行整合,使得模型的表達能力得到提升,還能有效調節輸出的通道數,有效控制運算量.第2個分支先使用了1×1的卷積,然后連接4×4的卷積,獲取大小為4×4的區域的特征.第3分支類似,先進行1×1卷積,然后連接2×2卷積,獲取大小為2×2的區域的特征.最后一個分支直接進行padding=SAME和stride=1的2×2均勻池化,然后再進行1×1卷積降低維度,進一步增加多樣性.

接下來是全局池化層Pool1,進行全局池化,進一步精簡特征.采用了一個2×2大小的池化處理,步長stride也為2,為非重疊池化,對特征進行過濾,在保留主要特征的前提下大大降低參數數目,可以減少過擬合的風險,并降低模型運算量.

在之后連接3個全連接層Fc1、Fc2和Fc3,分別對3個不同的輸出進行學習.全連接層把之前層提取的局部特征通過權值矩陣組裝成完整的圖,進一步得出最終劃分結果.為了對應于HEVC三種不同大小的CU的層級劃分結構,在這里使用了3個分開的全連接網絡,分別預測3種深度的CU劃分結果.

輸出層Output為最后的輸出,分別有1、4、16個輸出,分別對應64×64、32×32、16×16的CU劃分判斷.最終輸出個數為21個.

除了Output層使用Sigmoid激活函數以外,其余各層使用Leaky_ReLU作為激活函數.該函數相比Sigmoid函數收斂速度更快,且不會出現梯度消失的問題,同時輸出對負值輸入有很小的坡度,可以減少靜默神經元的出現,允許基于梯度的學習,解決了ReLU函數進入負區間后,導致神經元不學習的問題.而Output層輸出為二分類問題,這里使用Sigmoid激活函數得到預測概率值(分布在0到1之間).最終推斷出預測概率后,大于0.5的判斷為劃分,小于0.5的輸出值判斷為不劃分.

為了計算預測的損失,基于下面的3個深度的交叉熵之和來定義損失函數L:

(1)

(2)

3 實驗結果分析

為了驗證提出的基于Inception模塊的深度學習模型的有效性,本文將訓練好的深度學習模型嵌入到HEVC官方參考軟件HM16.12[3]中進行編碼測試.本文測試環境的硬件配置為3.20GHz主頻的Intel Core i7-8750H CPU,運行內存大小為8G,在64位Windows10操作系統下進行測試,深度學習模型實現的框架使用Tensorflow1.14.0.測試對象按照JCTVC-L1100[14]測試條件,在A-E的5類不同分辨率的編碼標準測試序列中選取10個測試視頻序列,每一種分辨率選取兩個視頻來進行實驗.對選取的10個測試視頻的前50幀使用AI(AllIntraMain)全幀內編碼配置進行編碼測試,可以充分體現出視頻的編碼效果.

對于評估方法,本文使用提案VCEG-M33中所提的BD-BR方法[15],主要評價指標有3個,分別為BD-BR,BD-PSNR,ΔT.BD-BR表示相同圖像質量(PSNR)的情況下碼率的相對值,該值越小表示碼率越小,在編碼效率上表現更加優秀.而BD-PSNR表示相同碼率的情況下亮度分量峰值信噪比的差異,該值越小表示圖像視頻質量損失越小.ΔT表示編碼時間縮減量,代表著計算復雜度的降低程度,其計算公式如下:

(3)

式中Timeprop代表使用本文算法的實際編碼時間,而TimeHM16.12表示原始編碼器HM16.12的編碼耗時.另外,4種不同的量化參數(QP)分別為22,27,32和37,本文實驗將4種QP下編碼時間縮減量取平均作為最終編碼時間縮減量.

表3為本文算法實驗得出的BD-BR、BD-PSNR、實際編碼時間以及與原始編碼器編碼時間相比的編碼節省時間ΔT.從表3中的實驗結果可以看出,本文利用深度學習的方法大幅縮減了編碼時間,與HEVC原始編碼器HM16.12相比平均節省了61.31%的編碼時間,特別在BasketballDrive序列中時間節省達到了75.04%,在高分辨率的視頻中時間節省表現較為優秀.而BD-BR僅上升1.86%,BD-PSNR值也僅為-0.13dB.由此可以看出本文算法可以大幅減少HEVC編碼復雜度,減少編碼時間消耗.同時BD-BR和BD-PSNR的值較小也說明本文算法對視頻的碼率和是視頻的質量影響在可接受的范圍內.

表3 本文算法的BD-PSNR、BD-BR、實際編碼時間和ΔT(與HM16.12對比)Table 3 BD-BR,BD-PSNR,actual encoding time and ΔT in this paper(compared with HM16.12)

圖6為視頻序列BasketballDrill由原始HM編碼器與本文提供的深度學習算法進行編碼的編碼性能對比,可以更加直觀地體現出算法在碼率和圖像質量的表現.從圖中可以看出,本文算法R-D(Rate-distortion)曲線和原始編碼器的R-D曲線幾乎重疊,表明本文算法在圖像質量和編碼效率上性能良好.

圖6 BasketballDrill序列的R-D曲線Fig.6 R-D curves of BasketballDrill sequence

表4給出了與現有5種不同的HEVC編碼單元劃分算法進行比較結果,其中ΔT為所有測試序列在4個QP配置下編碼時間縮減的平均值.與文獻[5]中利用時空相關性跳過某些CU劃分深度的方法相比,本文方法時間節省顯著提升,這是由于本文方法一次性預測所有CU劃分方法,跳過的編碼單元深度計算過程更多.與文獻[6]中使用圖像紋理的快速算法相比,本文預測準確度更高因此編碼的碼率損失遠遠小于該算法效果.與文獻[9]中使用SVM的方法相比,在碼率和圖像質量相差不大的情況下,進一步節省了10%左右的編碼時間.文獻[11]為一個淺層的神經網絡方法,但由于神經網絡與本文相比層數較淺,本文算法編碼性能提高較為明顯,BD-BR降低了4.6%左右.與文獻[12]的神經網絡方法相比,BD-PSNR和節省時間幾乎相同的情況下有更低的碼率,在對碼率需求更高的存儲、實時傳輸方面應用更有優勢.

表4 本文算法與其他算法的編碼性能比較Table 4 Coding performance comparisons between the proposed algorithm and other algorithms

4 結論與討論

本文利用基于深度學習的方法,對HEVC中復雜度極高的編碼單元CU劃分過程進行了預測,根據亮度塊像素預測出整個編碼樹單元CTU的劃分情況,使得冗余劃分計算得到消除.首先,對不同分辨率的37個視頻序列進行編碼,收集大量CU劃分信息樣本,建立了一個HEVC的CU劃分數據集.然后設計了一個與CU劃分相適應的深度學習模型,使用Inception模塊和池化、全連接等神經網絡層進行學習預測,訓練出用于CU劃分決策的深度學習神經網絡.最后把模型嵌入HEVC官方測試軟件HM16.12,對劃分結果進行預測,進而消除了CU劃分的暴力遍歷,有效降低了編碼復雜度.實驗表明,與HM16.12相比,本文算法在編碼性能和圖像質量變化不大的情況下(BD-BR與BD-PSNR僅為1.86%和-0.13dB),顯著地提高了編碼速度,編碼時間平均降低了61.31%.但不足之處在于未能考慮到幀間編碼的情況,未來可增加對幀間預測的處理,減少幀間編碼的復雜度.

猜你喜歡
深度
深度理解不等關系
四增四減 深度推進
深度理解一元一次方程
深度觀察
深度觀察
深度觀察
深度觀察
芻議深度報道的深度與“文”度
新聞傳播(2016年10期)2016-09-26 12:14:59
提升深度報道量與質
新聞傳播(2015年10期)2015-07-18 11:05:40
微小提議 深度思考
主站蜘蛛池模板: 成人国产精品一级毛片天堂| 青草视频网站在线观看| 第一区免费在线观看| 色综合中文字幕| 欧美激情综合一区二区| 婷婷丁香在线观看| 国产亚洲欧美在线视频| 国内精品一区二区在线观看| 免费人成黄页在线观看国产| 亚洲av综合网| 无码高潮喷水专区久久| 青青热久免费精品视频6| 婷婷亚洲天堂| 久久一日本道色综合久久| 香蕉伊思人视频| 婷婷久久综合九色综合88| 人妻无码中文字幕一区二区三区| 2022国产无码在线| 免费看美女自慰的网站| 天天干天天色综合网| av一区二区三区高清久久| 欧美国产视频| 亚洲国产日韩在线成人蜜芽| 高清久久精品亚洲日韩Av| 国产激爽大片高清在线观看| 国产自在自线午夜精品视频| 久久青草精品一区二区三区| 亚洲欧洲国产成人综合不卡| 日韩精品无码一级毛片免费| 日本高清有码人妻| 久久永久视频| 午夜精品久久久久久久99热下载 | 狠狠色丁香婷婷| 成年A级毛片| av尤物免费在线观看| 成人精品区| 亚洲天堂区| 国产亚洲欧美在线中文bt天堂 | 中文字幕人妻av一区二区| 啪啪永久免费av| 国产精品视屏| 99色亚洲国产精品11p| a毛片基地免费大全| 在线观看视频99| 精品第一国产综合精品Aⅴ| 亚洲娇小与黑人巨大交| 911亚洲精品| 日韩色图区| 中文字幕在线看视频一区二区三区| 成人国产免费| 试看120秒男女啪啪免费| 国模粉嫩小泬视频在线观看| 成人精品在线观看| 久久精品aⅴ无码中文字幕| 国产全黄a一级毛片| 久久熟女AV| a级毛片毛片免费观看久潮| 日韩av在线直播| 欧美伦理一区| 精品少妇人妻无码久久| 伊人无码视屏| 亚洲手机在线| 日韩精品亚洲人旧成在线| 欧美激情福利| AV不卡无码免费一区二区三区| 找国产毛片看| 亚洲欧美另类色图| 国产一区二区三区日韩精品 | 亚洲bt欧美bt精品| 一级一级一片免费| 夜夜操国产| 国产激情在线视频| 福利在线一区| 国产精品.com| 中国丰满人妻无码束缚啪啪| 亚洲免费三区| 色成人亚洲| 亚洲精品中文字幕午夜| 在线国产综合一区二区三区| 在线观看网站国产| 国产精品手机视频| 国产日韩精品欧美一区喷|