Professional Documents
Culture Documents
電 機 工 程 系
碩士學位論文
學 號 : M10707324
運用殘差網路及隨機森林預測方法於加速
H.266/QTMT幀內編碼
研 究 生: 黃 昱 寰
指 導 教 授: 陳 建 中 博士
中 華 民 國 一 百 零 九 年 七 月 二 十 三 日
摘要
隨著 5G 通信的發展,帶動 4K 以上的超高畫質影像、擴增實境(AR)/虛擬實境
(VR)、360 度全景投影等新技術的進步。為了提供更高畫質的沉浸式體驗,需要更多
儲存空間及網路頻寬,其中高畫質視訊壓縮的效能扮演關鍵角色。JVET(Joint Video
Exploration Team)自 2015 年開始制定新的視訊壓縮標準 H.266/VVC(Versatile Video
Coding),預計於 2020 年正式發布為新一代的國際視訊壓縮標準。H.266/VVC 採用了四
分樹加多分樹劃分(QuadTree plus Multi-Type tree, QTMT)的編碼架構,即在原 QT 葉節
點下再使用多分樹(Multi-type Tree)繼續向下劃分,使 CU 不侷限於正方形,而能夠根據
影像的局部紋理採用合適的尺寸;另外為了匹配更多型態的紋理特徵,幀內預測模式
也從原先的 35 種增加到 67 種。這些新技術讓 H.266/VVC 編碼效能大幅提升,但也需
要更高的運算複雜度,實驗顯示 H.266 幀內編碼所需時間為 H.265/HEVC 的 18 倍。本
論文針對 H.266 幀內編碼架構,研究快速編碼模式決策演算法。我們提出了劃分深度
及劃分模式的快速決策:(1)在深度快速決策的部分,針對 32× 32 大小的亮度區塊
(Luma block),使用 ResNetV2 的架構來抽取影像特徵並預測當前區塊 BTDepth 的最大
值,再將預測所得到的 Label 對應到深度範圍表,對於不在範圍內的深度則可透過提前
跳過(Early Skip)或提前終止(Early Terminate)來降低編碼運算量;(2)在劃分模式快速決
策的部分,同樣使用 32×32 大小的亮度區塊作為預測標的。為了模擬多標籤分類器的
功能,使用隨機森林分別訓練六種劃分模式的二元分類器,再將個別的預測結果組合
成 6 digits 的整數串,對於預測值為 0 的劃分模式及其後續 subCUs 則不再嘗試劃分,
藉此省去遞迴劃分所花費的時間。將兩種快速決策演算法結合之後,實驗結果顯示,
與 VTM7.0 的原始編碼結果相比,本論文提出的方法在 BDBR 僅上升 0.70%的情況下,
能夠節省 39.16%的編碼時間。
i
Abstract
The fifth generation (5G) network enables the advance of video processing techniques,
such as 4k and 8k UHD, augmented/virtual reality (AR/VR) and 360° videos. To provide high
fidelity immersive experience, it needs high-speed communication, low-latency transmission,
and huge data storage space, all of which depend on Highly Efficient Video Coding (HEVC)
techniques. The Joint Video Exploration Team started to study the next-generation video
compression standard - H.266/VVC (Versatile Video Coding) since 2015, which is expected to
be finalized in 2020. The H.266/VVC adopts QuadTree (QT) plus Multi-Type (MT) tree
(QTMT) block partition structure to encode one coding unit (CU). Apart from the recursive
QT partition structure adopted in the H.265/HEVC, the recursive MT is applied to each leaf
node to enable more flexible block partitions according to different local texture. Besides, it
increases the number of Intra prediction modes from 35 to 67 to well encode various texture
patterns. These new techniques enable the H.266/VVC to achieve high video coding efficiency,
but also lead to very high time complexity. In comparison, the time complexity of H.266 is 18
times of that of the H.265 in terms of execution time. In this research, to reduce the VVC
encoding time complexity, we proposed one fast CU depth decision method and one fast CU
coding mode decision method: (1) For the fast CU depth decision, we select 3232 luma blocks
as training samples and utilize a ResNetV2 model to predict the maximum BTDepth value of
one CU. Based on the predicted depth label, it can get a depth range from a pre-determined
lookup table. It performs RDO tests only for depths in this range to reduce time complexity
while maintaining coding quality; (2) For fast CU coding mode decision, we utilize a Random
Forest learning algorithm for classification of the same size luma blocks, in which 6 different
binary classifiers act as a multi-label classifier. If the predicted coding mode is label “0”, there
is no need to further partition on this CU and its subCUs. Experiments showed that the
proposed fast encoding method, comprising the fast CU depth decision process and the fast CU
coding mode decision process, can reduce up to 39.16% of encoding time with just 0.7%
increase in BDBR as compared to the default VTM7.0.
ii
致謝
在研究所的兩年期間成長了許多,在編碼及影像處理方面都有更進一步的瞭解。
首先要感謝陳建中老師讓我有機會能加入 MMLAB,這段時間非常照顧我們,也鼓勵
實驗室的同學都能在有興趣的領域自由發展;在碩一時也提供了產學合作的機會,讓
我能及早熟悉程式語法,並累積深度學習的實作經驗,才能順利找到實習,能做您的
學生真的很幸運!
建安和宇峯,軟體硬體都精通的你們,遇到不熟悉的事情也會試著去研究,看著
你們認真的背影,聽到了實驗室要起飛的聲音;座位有生活感兼具設計感的晟儒,總
是看到你在標註資料,祝你的研究可以順利完成;默默做了很多事的嘉慶,也是實驗
室的好男人擔當,很多地方都受到你的幫忙,有機會再一起去梅花湖騎腳踏車吧;英
文很溜的承翰,祝你能找到有興趣的研究領域~
還有長春之家可愛的室友們,每次的火鍋之夜都讓乾涸的靈魂重新充滿活力;也
謝謝宇龍帶我東奔西跑,踩點台北的美食和景點,未來的路上請你繼續包涵囉;最後
要謝謝家人們,總是尊重我的選擇並願意溝通,也提供我專心做研究的環境,以後換
我分擔你們的煩惱。
願身邊的家人好友們,平安健康、事事順心。
黃昱寰 2020.08.06
iii
目錄
摘要 .......................................................................................................................................... I
ABSTRACT ...........................................................................................................................II
致謝 ....................................................................................................................................... III
目錄 ....................................................................................................................................... IV
表目錄 ................................................................................................................................... IX
第一章 緒論 ............................................................................................................................. 1
v
5.2 實驗結果 ................................................................................................................. 56
5.2.1 與原始 VTM 之編碼結果進行比較 ............................................................ 56
5.2.2 與其他 H266/VVC 相關之幀內編碼快速演算法進行比較 ...................... 61
6.1 結論 ........................................................................................................................ 62
6.2 未來研究討論 ........................................................................................................ 63
參考文獻 ................................................................................................................................ 64
vi
圖目錄
vii
圖 4-6. 本論文提出之 CNN 模型基本架構..................................................................... 37
圖 4-19. 本論文提出之結合劃分深度快速決策及劃分模式快速決策之演算法流程圖
.................................................................................................................................... 54
viii
表目錄
x
第一章 緒論
1.1 研究背景
隨著網路及行動裝置的普及,人們習慣透過線上影像串流觀賞影片,也對影像解
析度及幀率更為要求,而在儲存空間和網路速度都受限制的狀況下,視訊編碼的技術
能讓裝置更有效率的存取多媒體資料。H.265/HEVC [1] 為市面上常使用的編碼技術,
而隨著 5G 時代的到來,4K 及 4K 以上的超高畫質影像、AR/VR、360 度的全景投影等
新興技術也備受期待,為了提供使用者沉浸式的體驗,這些高質量的影像往往對儲存
空間及網路速度有更高的要求;為了因應這些需求,ISO/IEC 組織 MPEG (Motion
Picture Expert Group)和 ITU-T 組織 VCEG (Video Coding Experts Group)聯合成立的 JVET
在 H.265/HEVC 的基準之上,制定了新的視訊壓縮標準 H.266/VVC [2],目標在生成與
HEVC 相同品質的影像時,能夠節省 50%以上的 bitrate,也就是達到 2 倍以上的壓縮
率。目前 VTM (VVC Test Model)[3, 4]是由 JVET 所開發的 H.266/VVC 參考軟體,從表
1-1 可以看到初代 VTM 已能節省約 45%的 bitrate,並計畫在 2020 年底正式發布為新一
代國際視訊壓縮標準。
1.2 研究動機與目的
綜上所述,H.266/VVC 採用了更多元的分割方法及預測角度,在進一步提升壓縮
率的同時,又保有良好的影像品質。但這些新技術的引入,同時也造成編碼複雜度
高、編碼時間過長的問題。因此若要讓 H.266/VVC 的技術能夠普及地被使用,就必須
1
讓 H.266/VVC 的編碼速度有所提升。
在尋找最優 CU 的過程中,需要透過不斷的遞迴,來計算各種劃分情況下的
RDCost,並選出代價最低的 RDCost 作為最終劃分方式;而因為 QTMT 架構的引入了
二分樹劃分及三分樹劃分,使得不同劃分方式的的組合擁有更多變化,編碼複雜度也
大為增加,H.266/VVC 在幀內編碼所花費的時間更為 H.265/HEVC 的 18 倍 [6],因此需
要對 H.266/VVC 的幀內編碼模式提出可降低運算時間的架構和演算法。
1.3 論文組織
本論文的內容共分六章,最後附上參考文獻,各章的主要內容如下。
第1章 緒論
本章將說明本論文的研究背景、動機與目的。
第2章 背景知識
本章將介紹本研究理論與實作之背景知識,背景知識部分將著重於 H.266/VVC
的編碼單元及幀內預測流程之相關知識探討,以及殘差網路(ResNet)與隨機森林
(Random Forest)之簡介。
2
第5章 實驗結果與分析討論
第6章 結論與未來展望
本章將依據實驗結果與本論文之貢獻作總結與論述,並提出未來發展、改進的
方向與研究重點。
3
第二章 知識背景
本 章 將 敘 述 與 本 論 文 研 究 相 關 之 背 景 知 識 與 相 關 文 獻 探 討 , 分 別 如 下 :(1)
H.266/VVC 視 訊 編 碼 標 準 介 紹 ;(2)殘 差 網 路(ResNet)介 紹 ;(3)隨 機 森 林(Random
Forest)介紹。
4
(Alternative Temporal Motion Vector Prediction, ATMVP)等新技術。綜合上述的說明,可
以感受到 H.266/VVC 編碼所需的計算量及複雜度遠比 HEVC 增加許多。
5
2.1.2.2 QTMT 的架構
6
(a) 劃分結果示意圖
(b) 劃分結果樹狀圖
7
2.1.2.3 邊界的 CU 劃分
而當 CU 的一部分超出圖片的右邊界或下邊界,這個 CU 將被強制劃分,直到每個
CU 都在圖片的邊界中,具體規則如表 2-2 所示,另外需要注意的是套用邊界劃分規則
的 CU,MTDepth 可能會大於 3。
表 2-2. 圖片邊界劃分規則[4]
2.1.2.4 CU 對於冗餘劃分的限制
在 QTMT 架構中,因為提供了多樣化的劃分模式,不同的劃分選擇可能會有相同
的劃分結果,而在 H.266/VVC 中,制定了一套規則來避免特定冗餘劃分的情況:
8
(4)VTT 劃分的第二個子 CU 中的 VBT 被禁用,以防止形成兩次垂直二分樹劃分的重
複情形,如圖 2-4(d)所示。
9
2.1.3 幀內預測 (Intra Prediction)
幀內預測主要是利用鄰近已編碼過的區塊來生成預測值,並將預測值與原始值相
減得到殘差,透過這樣的操作消除空間上的冗餘,幀內預測可分為 4 個步驟:參考像
素的獲取、參考像素的平滑濾波、當前區塊的預測、邊界濾波,以下將個別進行介
紹。
2.1.3.1 參考像素的獲取
圖 2-5. 參考像素示意圖[4]
當某一部分的重建值不能被使用時,則遵照以下規則:
10
(2)當 5 個部分的重建值有部分不可用時,先查看最左下方的重建值是否可用,若可
使用,則從下往上遍歷,不可用的重建值則利用下方最相鄰的重建值填充;到達
左上角後,在從左往右遍歷,不可用的重建值則利用左方最相鄰的重建值填充。
(3)若最左下角的重建值無法使用,則從下往上,從左往右進行遍歷,直到找到可用
的重建值,並將此重建值填充到最左下角,然後按照(2)的規則進行重建值的填
充。
2.1.3.2 參考像素的平滑濾波
為了減少噪聲(Noise)對預測的影響,會先對參考像素進行平滑濾波,而平滑濾波
本質為一個低通濾波器,其中,只對符合 VVC 中特定條件的亮度分量進行平滑濾波。
圖 2-6 . 平滑濾波示意圖[4]
需要注意強濾波只適用於大於等於 32× 32 的亮度區塊,且需符合 abs(A+C-
2B)<threshold 及 abs(C+E-2D)<threshold 等條件,其中 A 為最左小角參考像素、B 為左
11
側最下方參考像素、C 為左上角參考像素、D 上方最右側參考像素、E 最右上角參考像
素,threshold = 1 << (bitdepth-5) = 32。從 threshold 的設定可以看出強濾波是用於低紋
理區域,沿著每個方向的紋理進行線性內插並取代當前參考值,透過這樣的方式消除
了局部的紋理變化,儘管這種紋理變化很細微,但在 32×32 以上的亮度區塊仍可能造
成幀內預測時的紋理失真。
2.1.3.3 當前區塊的預測
圖 2-7. 預測模式示意圖[4]
12
DC 模式適用於平滑區域,在 DC 模式中,若當前區塊為正方形,則計算上方和左
方參考像素的平均值作為 dcValue,並把 dcValue 作為當前區塊中每個像素點的預測
值;若當前區塊的寬大於高,則只使用上方參考像素的平均值作為 dcValue;若當前區
塊的高大於寬,則只使用左側參考像素的平均值作為 dcValue,如圖 2-8(a)所示。而
Planar 模式又稱作平面預測模式,適用於紋理緩慢變化的區域,在 Planar 模式中,利用
水平方向及垂直方向的線性插值的平均值作為當前像素點的預測值,如圖 2-8(b)所
示。
角度模式適用於紋理較為複雜的區域,在角度模式中,為了減少複雜度,會將需
要用到的參考像素統一到一維上:對於水平預測模式 2-33,將上方參考像素投影到左
側;對於垂直預測類別 34-66,則將左側參考像素投影到上方。將參考像素變成一維的
形式後,再根據採用的預測角度,將投影到的參考像素點作為預測值。
13
(3)當左側 CU 及上方 CU,其中一個為角度模式,另一個為非角度模式時,將 MAX
設 定 為 該 角 度 模 式 的 值 ,MPM list = {Planar, DC, MAX, MAX-1, MAX+1,
MAX+2 }
對於特定幾種涉及邊界的預測模式,會執行進一步的濾波,使預測方向的紋理即
使存在較大變化,仍能保有邊界的連續性。越接近對角模式,第一列或第一行與相鄰
的參考像素之間的差距越大,所以需要與參考像素進行濾波,以減少邊界的不連貫
性:
2.2 殘差網路(ResNet)介紹
2.2.1 ResNetV1
隨著網路深度加深,出現了因為梯度消失而導致準確率下降的現象,而 Kaiming
He 團隊提出的殘差網路(ResNet) [7],利用殘差結構(Building block)有效地解決了梯度
消失的問題,如圖 2-9 所示。其中曲線傳遞的部分為 Identity mapping,即公式中的 x
15
(input);直線傳遞部分為 Residual mapping,為公式中的 F(x),因為最後的輸出 y =
F(x)+x,即 F(x) = y-x,所以殘差指的就是 F(x)。
不會輕易被抵銷,也就有效的避免了權重很小時梯度消失的問題。從另一個角度來
看,當網路效能已達到最佳但又繼續加深網路時,residual mapping 的值將趨近於 0 (反
向傳播時),只剩下 identity mapping 的 1,這樣網路的權重不會再做調整,一樣處於最
佳的狀態,因此即使網路加深,網路的效能也不會因此而下降。
𝐿−1
𝑥𝐿 = 𝑥𝑙 + ∑ 𝐹(𝑥𝑙 , 𝑊𝑙 ) (2.4)
𝑖=𝑙
16
ResNet 中提出了為兩種殘差結構,如圖 2-10 所示,左邊結構適用於淺層網路,如
ResNet34;右邊結構適用於深層網路,如 ResNet50/101/152。其中右邊結構又稱做
bottleneck block,目的是為了降低參數數量,先透過 1×1 的卷積將 256 channel 降維至
64 channel,執行 3×3 卷積後再透過 1×1 卷積恢復至原本維度。
17
2.2.2 ResNetV2
18
2.3 隨機森林(Random Forest)介紹
2.3.1 決策樹單元
決策樹(Decision Tree)是一種樹狀結構(可為二分樹或非二分樹),在每個非葉節點
會進行特徵的測試,並以得到最大信息增益為原則(Information Gain, IG)選擇出分支,
最後在每個葉節點會存放一個類別。使用決策樹的過程如圖 2-12 所示,會從根節點開
始,對資料中的對應特徵屬性進行測試,並根據測試的條件選擇分支,直到到達葉節
點並將葉節點存放的類別作為決策結果。
2.3.2 資訊增益
分支的樣本數目。因為目標是獲得最大信息增益,對同一個非葉節點來說,原始的資
訊 量 是 固 定 的 , 因 此分 割 後 的 資 訊 量 要 越小 越 好 。 而 常 見 的 資訊 量 有 兩 種 : 熵
(Entropy) 式(2.7)以及 Gini 不純度(Gini Impurity) 式(2.8),其中 c 表示類別數目,𝑝(𝑖|𝑡)
19
表示樣本屬 i 類別的機率。
𝑚
𝑁𝑗
𝐼𝐺(𝐷𝑝 , 𝑓) = 𝐼(𝐷𝑝 ) − ∑ 𝐼(𝐷𝑗 ) (2.6)
𝑁𝑝
𝑗=1
𝑐 𝑐
式的信息增益較高,因此會偏好 b 切割方式。
2.3.3 隨機森林
森林中的每棵樹按照以下規則生成:
20
訓練樣本(這種採樣方法稱作 Bootstrap Sample),作為該樹的訓練集。因此可
以知道,每棵樹的訓練集都是不同的,且訓練集中包含重複的樣本。
(3) 每棵樹都能最大程度的生長,並且沒有剪枝過程。
因此可以知道,隨機森林採用了 “隨機抽樣”及“隨機選取特徵”,兩種隨機性的引
入,使得隨機森林不易出現過擬合,且具備很好的抗噪能力;而隨機森林的森林指的
是它將每棵決策樹的判斷結果蒐集起來,再根據每個結果的得票數給出一個最終的結
果。因此在隨機森林中,有兩個重要參數需要設定:一個是森林中應該包含幾棵樹,
通常較多的樹能讓模型有較好的性能,但也會需要更大的儲存空間及運算時間;另一
個是選取的特徵個數 m,縮小 m 會讓樹之間的相關性減弱,並讓單棵樹的分類能力下
降,反之亦然,因此通常會透過袋外錯誤率(Out of Bag Error)來選擇最優的 m。
21
第三章 H.266/VVC 相關快速演算法介紹
3.1 傳統機器學習演算法
在全局特徵中,平均梯度及最大梯度可用於表示該區塊的紋理複雜度,複雜的紋
理區塊傾向於繼續向下劃分;對於四種 MT 劃分方式要使用水平劃分還是垂直劃分,
則與紋理方向有高度關聯性。在局部特徵中,上下/左右的紋理複雜度差異與 MT 劃分
中要使用水平劃分還是垂直劃分有高度關聯性。在上下文資訊中,若鄰近 CU 都具有
較大的 QT 深度或 QTMT 深度,則目前 CU 也有較大的可能性繼續向下劃分,反之則
較有機會提前終止。
在訓練過程中,利用剪枝來避免過擬合;而在預測時,只採用信心程度大於等於
90%的結果,否則則按照原本的編碼流程進行完整的 RDO 計算。另外注意到在文獻
[12]所提出的快速編碼流程中,會先對 QT 進行判斷,若判段結果為非 QT,則再對四
種 MT 進行平行判斷。
22
而在實驗結果部分,若只對劃分方式進行加速,則 BDBR 增加 1.56%,並可節省
52.59%的編碼時間;若再加上預測模式的加速,則 BDBR 增加 1.93%,可節省 62.46%
的編碼時間。
圖 3-1. CU 快速編碼流程[12]
3.2 深度學習演算法
23
算時間。
𝐵𝑇𝑅𝐷𝑂_𝑛𝑢𝑚𝑏𝑒𝑟 = 2 × 2 + 2 × 2 × 4 + 2 × 2 × 4 × 4 = 84 (3.1)
BTDepth=1 BTDepth=2 BTDepth=3
24
而實驗結果部分,若採取 RD Maintaining 策略,則 BDBR 僅增加 0.69%,可節省
42.33%的編碼時間;而若採取 Low Complexity 策略,則 BDBR 增加 2.04%,並可節省
62.08%的編碼時間。
25
第四章 H.266/VVC 編碼單位之快速演算法
為 了 做 到 壓 縮 品 質 的 最 佳 化 ,H.266/VVC 透 過 遞 迴 呼 叫 xCompressCU 及
xCheckModeSplit,遍歷所有可能的劃分模式。以 128×128 大小的 CTU 為例,64×64 大
小的的亮度塊會進行:幀內預測及四分樹等兩種劃分模式;32×32 大小的亮度塊會進
行:幀內預測、四分樹、水平二分樹、垂直二分樹、水平三分樹及垂直三分樹等六種
劃分模式。以這種方式劃分到最底層之後,再以 bottom-up 的方式比較各種劃分模式的
RDCost,最終決定整塊 CTU 的劃分方式。
從前一節提到的 CU 劃分流程可知,若能提前得知目前編碼區塊的最大深度,在
處理不合適的深度時,可藉由提前跳過(Early Skip)省略 RDO 的計算;在達到劃分的最
大深度時,也能做到劃分的提前終止(Early Terminate)。透過提前跳過及提前終止這兩
26
種手段,可以加速編碼的流程。
4.2.1 劃分深度的分類
27
以圖 4-2 為例,每塊 subCU 上標示的數字為該 subCU 的 BTDepth,因為該區塊已
經劃分至 32×32 大小(兩次的四分樹劃分),所以該區塊具備初始的 BTDepth=4,透過
式(4.1)可獲得區塊內的 subCUs 的 BTDepth 的最大值。因此,區塊 a 的 class_depth 將會
是 6,區塊 b 的 class_dpeth 將會是 10。
(a) 區塊 a (b) 區塊 b
圖 4-2. 區塊的 class_depth
28
表 4-2. 訓練影片簡介
Total # coded
Sequence Resolution Frame #1 (Luma) Description Encoded frame #
frames frames
1, 61, 121,
Tango 4096x2160 294 moderate motion 6
181, 241, 294
29
表 4-3. 不同 QP 下的亮度區塊及對應 Label
Label
QP Sequence
0 1 2 3 4 5 6 7
Tango
Traffic
22
Basketballdrive
Keiba
Tango
Traffic
27
Basketballdrive
Keiba
Tango
Traffic
32
Basketballdrive
Keiba
Tango
Traffic
37
Basketballdrive
Keiba
30
表 4-4. 訓練影片中 Label 的分布情形
單位 (%)
四捨五入至小數第一位
Label
Sequence Class QP
0 1 2 3 4 5 6 7
22 9.8 24.0 14.2 11.3 15.9 16.7 6.7 1.4
Tango 27 32.1 34.3 13.7 8.9 6.5 3.8 0.7 0.1
A1
4096x2160 32 40.7 31.1 12.0 8.2 5.2 2.5 0.4 0.0
37 52.1 30.1 10.4 4.8 2.0 0.6 0.0 0.0
22 0.6 10.2 4.9 5.5 10.7 16.9 20.6 30.7
Traffic 27 1.6 10.2 7.1 7.6 15.4 22.0 20.1 16.1
A
2560x1600 32 3.1 11.4 6.6 8.1 18.6 27.0 17.9 7.2
37 8.9 17.5 11.5 11.6 19.6 21.0 8.4 1.5
22 4.5 16.0 6.1 7.7 19.5 17.0 12.5 16.7
Basketballdrive 27 9.0 15.6 11.0 11.5 22.7 13.1 8.8 8.4
B
1920x1080 32 14.8 18.2 10.9 11.3 19.7 13.1 7.5 4.7
37 27.1 24.9 12.8 10.4 11.9 7.6 3.6 1.7
22 7.4 14.3 6.1 6.0 10.8 10.3 13.4 31.7
Cactus 27 10.6 15.2 8.6 6.7 13.6 13.2 13.4 18.7
B
1920x1080 32 9.6 16.2 8.6 8.0 13.8 19.2 13.9 10.7
37 16.7 23.8 12.4 9.2 12.7 13.3 7.3 4.5
22 43.6 16.5 3.5 3.4 6.5 6.9 7.1 12.5
Johnny 27 46.1 13.4 3.8 4.8 7.3 8.5 7.6 8.6
E
1280x720 32 43.1 14.0 4.1 4.6 9.2 10.9 8.3 5.8
37 48.1 17.1 6.5 4.9 8.5 8.6 4.8 1.4
22 1.7 7.8 3.2 3.2 6.4 12.1 17.0 48.6
Bqmall 27 3.4 8.0 3.5 3.5 9.7 15.0 20.4 36.5
C
832x480 32 4.8 7.3 3.5 4.5 12.8 20.5 22.5 24.1
37 7.6 12.5 6.0 6.9 16.6 22.2 16.2 12.1
22 17.5 10.6 3.2 3.2 8.6 15.3 21.5 20.1
Keiba 27 21.9 13.2 4.7 4.3 11.5 18.1 14.6 11.8
C
832x480 32 19.4 13.3 4.9 5.8 16.2 19.8 13.3 7.3
37 24.9 19.5 9.0 7.7 15.8 12.8 7.1 3.3
22 0.0 0.6 0.2 0.6 1.3 1.5 9.8 86.1
Partyscene 27 0.0 0.5 0.3 0.9 2.4 4.6 14.1 77.3
C
832x480 32 0.0 0.7 0.3 0.8 5.0 11.4 21.7 60.0
37 0.0 1.6 1.7 2.0 10.5 19.9 23.1 41.2
31
4.2.3 訓練資料的蒐集
𝑅𝐷𝐶𝑜𝑠𝑡𝑜𝑝𝑡 − 𝑅𝐷𝐶𝑜𝑠𝑡𝑠𝑢𝑏
∆𝑅𝐷𝐶𝑜𝑠𝑡 = | | ≤ 0.005 (4.2)
𝑅𝐷𝐶𝑜𝑠𝑡𝑜𝑝𝑡 + 𝑅𝐷𝐶𝑜𝑠𝑡𝑠𝑢𝑏
圖 4-3. 畫面的切割示意圖
為了進一步消除離群值(Outlier),使用了梯度變異數(Gradient Variance, GV) [17]來
量化 32×32 大小亮度區塊的紋理複雜程度,如式(4.3)所示。其中使用到了如圖 4-4 所
示的 Sobel 濾波器來計算亮度區塊中的每一個像素點(Pi,j)的水平梯度(Gxi,j)及垂直梯度
(Gyi,j),GRADi,j 為梯度振幅,如式(4.4)所示。μ為該亮度區塊內梯度的平均值,如式
(4.5)所示。Sobel 濾波器多用於測邊,影像經過 Sobel 濾波器之後邊線紋理將變得明
顯,如圖 4-5 所示。
32
31 31
1
𝐺𝑉 = ∑ ∑(𝐺𝑅𝐴𝐷𝑖,𝑗 − 𝜇)2 (4.3)
32 × 32
𝑖=0 𝑗=0
31 31
1
μ= ∑ ∑ 𝐺𝑅𝐴𝐷𝑖,𝑗 (4.5)
32 × 32
𝑖=0 𝑗=0
Gx Gy
1 0 -1 1 2 1
2 0 -2 0 0 0
1 0 -1 -1 -2 -1
(a) 水平方向
(a) 水平方向 (b) 垂直方向
33
表 4-5. 各 Label 的 GV 範圍 (以 QP27 為例)
GV (original) GV (after outlier removal)
Label
min max min max
0 0 2117.663 0.523 44.949
1 0 3825.594 1.1 218.415
2 0.149 4302.669 4.198 520.737
3 0.557 4472.321 10.457 878.245
4 3.223 5706.859 27.923 1589.519
5 2.724 6304.312 51.722 2220.079
6 13.032 7106.14 169.472 3325.74
7 46.372 9264.33 621.309 4784.056
Label
QP
0 1 2 3 4 5 6 7
22 6402 10309 4235 3608 6498 7077 7504 14406
27 15840 17126 8112 6155 9418 8818 7591 9400
32 25902 23078 10641 7757 10442 10199 7090 5508
37 37112 27515 12299 8461 10547 9582 4675 2516
34
為了避免這種狀況,對於樣本數目不足的 Label,再從 Ultra Video Group (UVG)[18]
這個資料庫中選取 6 支 4K 影片進行編碼,詳情請參照表 4-7。另外值得注意的是,通
常 4K 測試影片的 bit-depth 為 10,也就是灰階影像的像素值最高為 210-1,因此在處理
bit-dpeth 為 10 的影像時,需要先將像素值右移 2 個位元再加入訓練資料集,以配合其
它 bit-depth 為 8 的影像。
1, 121, 241,
Bosphorus 3840x2160 600 6
361, 481, 600
1, 121, 241,
HoneyBee 3840x2160 600 6
361, 481, 600
1, 121, 241,
Jockey 3840x2160 600 6
361, 481, 600
1, 121, 241,
ReadySetGo 3840x2160 600 6
361, 481, 600
1, 61, 121,
ShakeNDry 3840x2160 300 6
181, 241, 300
1, 121, 241,
YachtRide 3840x2160 600 6
361, 481, 600
35
表 4-8. 加入 UVG dataset 之後,各 QP 值中 Label 的分布情形
Label
QP
0 1 2 3 4 5 6 7
22 14246 14244 13247 10433 13449 14342 14283 14406
27 17257 17126 17151 15365 17183 16695 13911 15351
32 25902 25769 25799 17767 19712 19096 12800 8979
37 37112 27515 27064 17836 19025 17795 9008 3995
36
4.2.4 CNN 的架構與訓練
4.2.4.2 損失函數的選擇
大部分深度學習的分類任務都是使用 softmax + cross-entropy 作為損失函數(Loss
Function)。而為了讓類別之間可以更明顯的區別開來,這邊再加入了 center-loss [19]進
行聯合訓練,center-loss 為每個類別提供了一個類別中心,並且會最小化 mini-batch 中
樣本與對應類別中心的距離,進而使類內距離更為收斂。下方圖 4-7 (a) 為手寫數字辨
識 mnist 使用 cross-entropy 作為損失函數的訓練結果,而圖 4-7 (b) 為使用 cross-entropy
+ center-loss 作為損失函數的訓練結果,可以看出加入 center-loss 縮短了類內的距離。
𝑚
1 2
𝐿𝐶 = ∑‖𝑥𝑖 − 𝑐𝑦𝑖 ‖2 (4.6)
2
𝑖=1
𝑚 𝑇 𝑚
𝑒 𝑊𝑦𝑖 𝑥𝑖 +𝑦𝑖 𝜆 2
= − ∑ 𝑙𝑜𝑔 𝑇 + ∑‖𝑥𝑖 − 𝑐𝑦𝑖 ‖2 (4.7)
𝑖=1 ∑𝑛𝑗=1 𝑒 𝑊𝑗 +𝑏𝑗 2𝑖=1
4.2.4.3 模型的訓練
訓練的部分使用了 tensorflow_keras [21]作為框架,其中 3×3 Convolution 使用了
he_normal 進 行 初 始 化 , 並 在 每 次 的 3 × 3 Convolution 中 加 入 值 為 0.0001 的
l2_regularization 避 免 過 擬 合 ;Callback 的 部 分 使 用 了 ReduceLROnPlateau 及
EarlyStopping,ReduceLROnPlateau 會在驗證集準確率無法再提升時,調降 lr 的值試圖
找到 global minimum,而 EarlyStopping 會在驗證集準確率無法再提升時,及時終止訓
練以避免過擬合。在 label 的部分則加入了 label smoothing 的技巧,如式(4.8)所示,
label 由原本的 yk 轉化為y𝑘𝐿𝑆 ,其中 K 為類別數,𝛼為超參數,yk 在 k 為正確類別時為
1,其餘時候為 0。可以看出 label 由原本極端的 one-hot encoding 轉化為較為平滑的形
式,其作用相當於在真實分布中加入噪聲,並減少 true_label 在計算 loss 時的權重,進
而避免過擬合。label smoothing 下的 cross-entropy 如式(4.9)所示,其中𝑝𝑡 為正確類別對
應的輸出機率,𝑝𝑖 為非正確類別對應的輸出機率。
39
𝛼
y𝑘𝐿𝑆 = 𝑦𝑘 (1 − 𝛼) + , 𝑦𝑘 ∈ {0,1} (4.8)
𝐾
𝛼 𝛼
= − (1 − 𝛼 + ) log𝑝𝑡 − ∑ 𝑙𝑜𝑔𝑝𝑖 (4.9)
𝐾 𝐾
𝑖≠𝑡
為了降低訓練難度,將模型分為兩個階段進行訓練:第一階段僅使用 QP27 的樣
本,優化器則選用了 Adam [22],並設定初始 learning_rate 為 0.001,batch_size 為 100,
圖 4-9. 模型的混淆矩陣
40
因 Label 又代表著亮度區塊的紋理複雜度,從圖 4-9 的混淆矩陣可以進一步看出,
Label 之間是存在關聯性的,如一個正確預測值為 3 的亮度區塊,模型容易將它誤判成
Label 2 或 Label 4,而不易將其誤判成其他相差更遠的 Label。而從表 4-3 可以看出,即
使使用人眼去觀測,鄰近 Label 間的亮度區塊也不易區分,因此使用 Class Activation
Map (CAM)[23]的技術,來確認模型是根據甚麼影像特徵做出判斷,結果如圖 4-10 所
示,最上排為原始亮度區塊,中間為套用 CAM 之後的熱像圖,區塊愈白表示模型對此
區塊愈加敏感,最下排為將原始亮度區塊與熱像圖疊加後的結果。從疊加後的結果可
以看出,對於較為複雜的影像區塊,模型多聚焦在影像特徵變化快速的區域。至此,
可以確認模型具備判斷亮度區塊複雜度的能力。
41
4.2.5 應用 CNN 之劃分深度快速決策
42
Offline inference
圖 4-11. 本論文提出之深度快速決策演算法流程圖
43
表 4-9. Label 及對應深度範圍
0 QTDepth=2, BTDepth=0
1 QTDepth=2, BTDepth=0
2 QTDepth=2, BTDepth=0-1
QTDepth=2, BTDepth=0-2
3
QTDepth=3, BTDepth=0
QTDepth=2, BTDepth=0-3
4
QTDepth=3, BTDepth=0-1
QTDepth=2, BTDepth=0-4
5 QTDepth=3, BTDepth=0-2
QTDepth=4, BTDepth=0
QTDepth=2, BTDepth=0-5
6 QTDepth=3, BTDepth=0-3
QTDepth=4, BTDepth=0-1
QTDepth=3, BTDepth=0-4
7
QTDepth=4, BTDepth=0-2
44
劃分模式,就能在降低時間複雜度的同時,又能保有良好的壓縮品質。
4.3.1 分類器的架構
基於前述原因,我們希望能設計一個多標籤的分類器(Multi-label Classification),
將有機會被選中的劃分模式標示為 1,沒有機會被選中的劃分模式標示為 0。然而隨機
森林(Random Forest)本身並沒有支援多標籤的功能,鑒於隨機森林本身的訓練成本及
計算成本較低,我們將多標籤分類器簡化為 6 個二元分類器,如圖 4-13 所示,其中輸
入為 32×32 大小的亮度區塊,輸出為由 6 個 0/1 組成的整數串。
圖 4-13. 本論文提出之使用隨機森林模擬多標籤分類器之架構
45
4.3.1 劃分模式的分析
因此可以歸納出:
(1) 劃分模式選擇與紋理複雜度相關。
(2) 劃分模式選擇與紋理方向相關。
(3) 劃分模式與區塊內的紋理分布相關。
46
圖 4-14. Keiba frame#1 在 QP 27 時的亮度劃分結果
47
4.3.2 特徵值的選擇
(1) 根 據 區 塊 內 的 紋 理 複 雜 度 , 使 用 了 GradientVariance、GradientMean、
GradientMax、Depth 等 4 種特徵值,其中 GradientVariance 為 4.2.3 節中的式
(4.3),用以代表該亮度區塊之紋理複雜度;GradientMean 為 4.2.3 節中的式
(4.5),為該亮度區塊之梯度平均值;GradientMax 為下方式(4.10),為該亮度
區塊之梯度最大值,其中 i,j 代表區塊中的像素點的座標;而 Depth 為 4.2 節中
深度模型的預測結果,其中𝑦𝑛 為模型的最終輸出,如式(4.11)所示。
31 31
31 31
(3) 根 據 區 塊 內 的 紋 理 分 布 , 使 用 了 VARQUA、VARUB、VARLR、VARMUB、
VARMLR 等 5 種特徵值,其中 VARQUA 為 CU 經過四分樹劃分後,四塊 subCUs
變異數加總的平均,如圖 4-15 及式(4.14)所示;VARUB 為 CU 經過水平二分樹
劃分後,上下兩塊 subCUs 變異數差值的絕對值,如圖 4-16(a)及式(4.15)所
示;VARLR 為 CU 經過垂直二分樹劃分後,左右兩塊 subCUs 變異數差值的絕
對值,如圖 4-16(b)及式(4.15)所示;VARMUB 為 CU 經過水平三分樹劃分後,
中間及上面兩塊 subCUs 變異數差值的絕對值再加上中間及下面兩塊 subCUs
變異數差值的絕對值,如圖 4-17(a)及式(4.16)所示;VARMLR 為 CU 經過垂直
48
三分樹劃分後,中間及左邊兩塊 subCUs 變異數差值的絕對值再加上中間及右
邊兩塊 subCUs 變異數差值的絕對值,如圖 4-17(b)及式(4.16)所示。
3
1
𝑉𝐴𝑅𝑄𝑈𝐴 = ∑ 𝑉𝑎𝑟𝑖𝑒𝑛𝑐𝑒𝑠𝑢𝑏𝐶𝑈𝑖 (4.14)
4
𝑖=0
49
4.3.3 RandomForest 的訓練
4.3.3.1 訓練資料的蒐集
訓練資料的部分,使用了表 4-2 及表 4-7 所提及的 14 支訓練影片,並分成 22、
27、32、37 等 4 種 QP 值。一樣先將畫面切割成數個 32×32 大小的亮度區塊,再進行
上一小節 11 種特徵值的提取,接著依照 8:2 的比例分成訓練集及驗證集。測試集的
部 分 則 使 用 了 catrobot、daylightroad、trafficflow、drums、bqterrace、kimono、
parkscene、kristenandsara、fourpeople、basketballdrill、racehorsesc、blowingbubble 等
12 支不同解析度的影片。另外,Random Forest 為一種集成式的分類器,透過結合多個
弱分類器來構築一個穩健(Robust)的模型,因此模型本身具備抗 outlier 及抗 overfitting
的特性,所以這邊不需要再對蒐集到的樣本做額外的篩選。
4.3.3.2 模型的訓練
訓練框架的部分,使用 sklearn 的 RandomForestClassifier [24]。從表 4-10 可以觀察
出,每種劃分模式的比例並不平均,因此訓練的時候,採用欠採樣(Undersampling)的
策略。舉例來說,若要訓練四分樹劃分的二元分類器,假設目前使用四分樹劃分的樣
本數為 10000 個,將這 10000 個樣本標示為 1 (positive),接著從其他非四分樹劃分的樣
本中隨機選取同樣數目的(10000 個) 樣本,並將這 10000 個樣本標示為 0 (negative)。
50
表 4-11. QP 值為 27 時,對測試集的準確率及混淆矩陣
51
圖 4-18 為 6 種二元分類器個別的特徵值重要程度,一樣以 QP27 為例,可以看到
對於 QT 及 NOT SPLIT 這兩種分類器,Depth、GradientMax、GradientVariance 這些與
紋理複雜度相關的特徵值是較為重要的;而對於 HBT、VBT、HTT、VTT 這四種分類
器,GradX、GradY 這兩種與紋理方向相關的特徵值是較為重要的;對於水平方向的劃
分模式如 HBT 及 HTT,VARUB 及 VARMUB 的重要程度會大於 VARLR 及 VARMLR;對於
垂直方向的劃分模式如 VBT 及 VTT 則相反。
圖 4-18. QP 值為 27 時,六種二元分類器的特徵重要程度
52
4.4 H.266/VVC 之劃分深度快速決策結合劃分模式快速決策
53
Offline inference
圖 4-19. 本論文提出之結合劃分深度快速決策及劃分模式快速決策之演算法流程圖
54
第五章 實驗結果與討論
5.1 實驗環境設置
表 5-1. 環境設置
硬體設置
CPU Intel(R) Xeon(R) CPU E5-2630 v4 @2.20GHz
RAM 128 GB RAM
OS Microsoft Windows 10 Professional 64-bit
軟體配置
Reference software VTM Encoder Version 7.0rc1
Configuration file encoder_intra_vtm
FramesToBeEncoded 100
QP 22, 27, 32, 37
比,如式(5.1)所示,其中𝐸𝑛𝑐𝑜𝑑𝑖𝑛𝑔𝑇𝑖𝑚𝑒 𝑄𝑃 𝑖
𝑣𝑡𝑚 7.0
為 VTM7.0 的編碼時間及對應 QP 值,QP
3
1 𝐸𝑛𝑐𝑜𝑑𝑖𝑛𝑔𝑇𝑖𝑚𝑒 𝑄𝑃 𝑖
𝑣𝑡𝑚 7.0
− 𝐸𝑛𝑐𝑜𝑑𝑖𝑛𝑔𝑇𝑖𝑚𝑒 𝑄𝑃 𝑖
𝑝𝑟𝑜𝑝𝑜𝑠𝑒𝑑
△𝑇 = ∑ × 100% (5.1)
4
𝑖=0
𝐸𝑛𝑐𝑜𝑑𝑖𝑛𝑔𝑇𝑖𝑚𝑒 𝑄𝑃𝑖 𝑣𝑡𝑚 7.0
55
5.2 實驗結果
56
表 5-2. 與 VTM 7.0 為參考軟體之編碼效能表現
BD-PSNR BDBR ΔT
Test Sequence
(dB) (%) (%)
CampfireParty -0.049 1.870 51.083
ClassA1 Drums -0.023 0.504 53.767
4K Tango* -0.014 1.258 69.450
ToddlerFountain -0.019 0.366 36.890
Catrobot -0.021 0.853 44.736
ClassA2 DaylightRoad -0.023 0.747 45.583
4K RollerCoaster -0.057 1.394 56.475
TrafficFlow -0.022 1.210 53.416
BasketballDrive* -0.048 0.547 55.091
BQTerrace -0.050 0.554 33.125
ClassB
Cactus* -0.032 0.629 37.531
1920×1080
Kimono -0.027 0.405 53.004
ParkScene -0.020 0.348 32.094
BasketballDrill -0.049 1.048 29.895
ClassC BQMall* -0.044 0.580 30.774
832×480 PartyScene* -0.011 0.132 28.027
RaceHorsesC -0.050 0.626 32.281
BasketballPass -0.035 0.515 27.031
ClassD BlowingBubbles -0.008 0.124 22.081
416×240 BQSquare -0.020 0.212 19.171
RaceHorses -0.007 0.092 23.586
FourPeople -0.063 0.862 27.994
ClassE
Johnny* -0.063 1.058 41.054
1280×720
KristenAndSara -0.060 0.859 35.702
Average -0.034 0.700 39.160
57
表 5-3. 以 Class 為單位之編碼效能表現
BDBR ΔT
Test Classes Resolution
(%) (%)
ClassA1 4K 0.999 52.797
ClassA2 4K 1.051 50.052
ClassB 1920×1080 0.496 42.169
ClassC 832×480 0.597 30.244
ClassD 416×240 0.236 22.967
ClassE 1280×720 0.927 34.916
圖 5-2. 4 種 QP 下的△ 𝑇
58
對於加入劃分模式快速決策演算法的影響如表 5-5 所示,左邊表格為採用本論文
完整演算法的結果,而右邊表格為僅採用深度快速決策演算法的結果,以平均結果來
看,採用完整演算法的結果在 BDBR 增加 0.033%的狀況下,△ 𝑇 僅上升 1.958%,與預
期結果有所出入。因此接下來對此現象的原因進行探討,首先從圖 4-19 可以看到,在
offline inference 的時候,透過 Depth label adjustment 的步驟來避免預測的衝突,因此對
於部分亮度區塊,深度預測 label 的值增加了,需要嘗試的深度範圍也有所增加,這點
從 CampfireParty、DaylightRoad 等 測 試 序 列 可 以 看 出 : 採 用 完 整 演 算 法 的
BDBR(1.87%, 0.747%)反而比只採用深度快速決策演算法的 BDBR(1.931%, 0.773%)還
要低,這是因為深度預測的 label 變得更嚴謹了,需要嘗試的深度範圍也有所增加,也
就需要更多的時間執行 RDO 計算;因此即使劃分模式預測能省去部分 QTMT 模式的
嘗試,兩者抵銷之下,能解省的時間也就不如預期的多。而另一方面,劃分模式快速
決策演算法的預測結果是由 6 個二元分類器(QT, HBT, VBT, HTT, VTT, NOT SPLIT)組成
的,其中 NOT SPLIT 預測為 1 與深度預測為 1 的功能是相同的,都為在 32×32 大小時
不再繼續向下劃分,因此將 NOT SPLIT 作為 Depth label adjustment 步驟中不再向下劃
分的第二次確認。因為 NOT SPLIT 並無節省時間的功能,因此劃分模式快速決策演算
法是藉由 QTMT 部分的預測結果為 0 來省去模式的嘗試劃分,然而當 QTMT 預測為 0
且 NOT SPLIT 為 1 時,這種預測結果並無實際加速的功能,我們將這種預測結果稱作
resultuseless。表 5-4 為劃分模式的測試集中,具有加速效果的預測結果在該劃分模式所
佔比例,而𝑟𝑎𝑡𝑖𝑜𝑢𝑠𝑒𝑓𝑢𝑙 是透過式(5.2)計算而得,其中𝑛𝑢𝑚_𝑟𝑒𝑠𝑢𝑙𝑡𝑢𝑠𝑒𝑙𝑒𝑠𝑠 為 resultuseless 在劃
𝑝𝑟𝑒𝑑𝑖𝑐𝑡=0
分模式𝑚𝑜𝑑𝑒_𝑖中所佔數目;𝑛𝑢𝑚_𝑟𝑒𝑠𝑢𝑙𝑡𝑚𝑜𝑑𝑒_𝑖 為在劃分摸式𝑚𝑜𝑑𝑒_𝑖中預測結果為 0
的數目,且皆在 QTMT 信心≧90%,NOT SPLIT 信心≧50%的狀況下計算。將表 5-4 進
一步結合表 4-10 可以知道,因為 QP 在 32 或 37 時,選擇 NOT SPLIT 的比例增加,這
將造成 resultuseless 的數量上升,因此在 QP 為 32 或 37 時,實際具加速效果的預測結果
佔比相當少。而因為𝑟𝑎𝑡𝑖𝑜𝑢𝑠𝑒𝑓𝑢𝑙 在 4 種 QP 值中的平均都偏低,因此這也是造成劃分模
式快速決策演算法僅能節省少量時間的原因之一。
59
𝑛𝑢𝑚_𝑟𝑒𝑠𝑢𝑙𝑡𝑢𝑠𝑒𝑙𝑒𝑠𝑠
𝑟𝑎𝑡𝑖𝑜𝑢𝑠𝑒𝑓𝑢𝑙 = 1 − 𝑝𝑟𝑒𝑑𝑖𝑐𝑡=0 (5.2)
𝑛𝑢𝑚_𝑟𝑒𝑠𝑢𝑙𝑡𝑚𝑜𝑑𝑒_𝑖
表 5-4. 實際有加速效果的劃分模式預測結果在測試集所佔比例
表 5-5. 有無加入劃分模式預測之編碼效能表現比較
60
5.2.2 與其他 H266/VVC 相關之幀內編碼快速演算法進行比較
表 5-6. 文獻[27]及文獻[15]與本論文提出之演算法的編碼效能比較
表 5-6 為本論文提出之演算法與其它幀內編碼快速演算法的編碼效能比較,文獻
[27]原為適用於 H.265/HEVC 的編碼單元快速演算法,其透過 CNN 去預測一塊 64×64
大小的 CTU,在 64×64、32×32、16×16 等 3 個階段是否執行四分樹劃分;而文獻[12]
將這個方法重新實現在 VTM2.0 編碼器上,這邊我們使用其在 VTM2.0 上的編碼結果。
文獻[15]是透過 CNN 預測 32×32 大小的 CU 及其 subCUs 是否執行劃分,其特點是利用
Shape-adaptive pooling 層來調整 feature map 的大小,使得輸入不再侷限於固定大小的
CU。
61
第六章 結論與未來研究探討
6.1 結論
本論文提出了劃分深度快速決策演算法及劃分模式快速決策演算法,並在不會發
生衝突的狀況下,將兩種演算法合併並平行處理。在劃分深度快速決策演算法的部
分,參考了文獻[4]的作法,並將其改進為 QTMT 架構也適用的演算法:使用 32×32 大
小 CU 內 BTDepth 的最大值來獲得 Label,在處理類別不平衡的問題時,則另外編碼
UVG Dataset 補 齊 不 足 的 類 別 , 對 於 數 量 仍 不 平 均 的 類 別 , 則 在 訓 練 時 設 定
class_weight 來調整 loss 的加權,接著透過 GradientVariance 及∆𝑅𝐷𝐶𝑜𝑠𝑡來濾除易造成
模型混淆的訓練樣本;在模型架構的部分,因為層數越深的 layer 能擷取更高層級的影
像特徵,因此將 stage2 及 stage3 的輸出做 GAP 及 concat,並透過 concat QP 值使模型
能適用於多種 QP 值,最後經過 FC 層輸出分類結果;loss function 的部分,結合了
cross-entropy loss 及 center-loss,使類間距離越大、類內距離越小,進而改善鄰近類別
容易混淆的問題;最後再根據 Label 的對應深度範圍做到深度的 early skip 及 early
terminate,達到加速編碼的目的。在劃分模式快速決策演算法的部分,則利用機器學
習中的隨機森林進行分類,因為隨機森林未提供多標籤分類器的功能,因此分別訓練
6 種劃分模式的二元分類器代替之,並一樣在 CU 為 32×32 大小時,使用 11 種影像特
徵進行分類,最後只採用信心≧90%的預測結果,而當 QTMT 預測為 0 時,則可略過
此種劃分模式及後續 subCUs 的嘗試劃分,藉此達到加速編碼的目的。最後將兩種演算
法進行合併,並且根據劃分模式的預測結果來調整深度預測的 Label,使得兩種演算法
不會發生衝突。實驗結果顯示,與 VTM 7.0 的原始編碼結果相比,本論文提出之演算
法可節省 39.16%的編碼時間,而 BDBR 僅增加 0.70%。
62
6.2 未來研究討論
本論文仍有一些相關問題需要更進一步的做探討與改進。其相關討論如下:
(3)承(2),在劃分模式快速決策演算法的架構無法更動的前提下,可以參考文獻[3]的作
法,針對幀內預測的 67 種預測模式做加速處理;雖然目前 VTM 已經使用 3-stage 的
方式來加速預測模式的選擇,但在 RMD 步驟時仍然需要對 37-41 種模式進行 HCOST
的計算,這部分的運算複雜度也是相當高。而若能在保有高壓縮品質的狀況下,減
少需要嘗試的預測模式,讓幀內預測所需的時間縮短,同樣能達到加速編碼流程的
目的,因此加速預測模式的選擇也是值得深入研究的方向之一。
63
參考文獻
[1] G. J. Sullivan, J. Ohm, W. Han, and T. Wiegand, “Overview of the High Efficiency
Video Coding (HEVC) Standard,” IEEE Transactions on Circuits and Systems for Video
Technology, vol. 22, no. 12, pp. 1649-1668, 2012.
[2] B. Bross, “Versatile Video Coding (Draft 1),” JVET-J1001, Joint Video Exploration
Team (JVET), 2018.
[3] F. Bossen, X. Li, and K. Sühring, “Guidelines for VVC reference software
development,” JVET-N1003, Joint Video Exploration Team (JVET), 2019.
[4] J. Chen, Y. Ye, and S. Kim, “Algorithm description for Versatile Video Coding and Test
Model 5 (VTM 5),” JVET-N1002, Joint Video Exploration Team (JVET), 2019.
[5] Y. Huang et al., “A VVC proposal with quaternary tree plus binary-ternary tree coding
block structure and advanced coding techniques,” IEEE Transactions on Circuits and
Systems for Video Technology, vol. 30, no. 5, pp. 1311-1325, 2020.
[6] F. Bossen, X. Li, and K. Suehring, “AHG report: Test model software
development(AHG3),” JVET-J0003, Joint Video Exploration Team (JVET), 2018.
[7] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,”
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 770-778,
2016.
[8] K. He, X. Zhang, S. Ren, and J. Sun, “Identity mappings in deep residual networks,”
European Conference on Computer Vision, pp. 630-645, 2016.
[9] L. Breiman, “Random forests,” Machine Learning, vol. 45, no. 1, pp. 5-32, 2001.
[10] J. R. Quinlan, “Induction of decision trees,” Machine Learning, vol. 1, no. 1, pp. 81-
106, 1986.
[11] E. Alshina, G. Sullivan, M. Corp, J.-R. Ohm, and J. Boyce, JVET-G1001: Algorithm
description of Joint Exploration Test Model 7 (JEM7), 2018.
[12] H. Yang et al., “Low complexity CTU partition structure decision and fast intra mode
64
decision for versatile video coding,” IEEE Transactions on Circuits and Systems for
Video Technology, 2019.
[13] Z. Jin, P. An, C. Yang, and L. Shen, “Fast QTBT partition algorithm for intra frame
coding through convolutional neural network,” IEEE Access, vol. 6, pp. 54660-54673,
2018.
[14] J. An, H. Huang, K. Zhang, Y. Huang, and S. Lei, “Quadtree plus binary tree structure
integration with JEM tools,” JVET-B0023, Joint Video Exploration Team (JVET), 2016.
[15] G. Tang, M. Jing, X. Zeng, and Y. Fan, “Adaptive CU split decision with pooling-
variable CNN for VVC intra encoding,” IEEE Visual Communications and Image
Processing (VCIP), pp. 1-4, 2019.
[16] Z. Liu et al., “CU partition mode decision for HEVC hardwired intra encoder using
convolution neural network,” IEEE Transactions on Image Processing, vol. 25, no. 11,
pp. 5088-5103, 2016.
[17] T.-L. Lin, H.-Y. Jiang, J.-Y. Huang, and P.-C. Chang, “Fast intra coding unit partition
decision in H.266/FVC based on spatial features,” Journal of Real-Time Image
Processing, pp. 1-18, 2018.
[18] A. Mercat, M. Viitanen, and J. Vanne, “UVG dataset: 50/120fps 4K sequences for video
codec analysis and development,” Accepted to ACM Multimedia Syst. Conf., Istanbul,
Turkey, 2020.
[19] Y. Wen, K. Zhang, Z. Li, and Y. Qiao, “A discriminative feature learning approach for
deep face recognition,” European Conference on Computer Vision, pp. 499-515, 2016.
[21] M. Abadi et al., “Tensorflow: A system for large-scale machine learning,” 12th
{USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 16),
pp. 265-283, 2016.
[22] D. P. Kingma, and J. Ba, “Adam: A method for stochastic optimization,” arXiv preprint
arXiv:1412.6980, 2014.
65
[23] B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba, “Learning deep features
for discriminative localization,” Proceedings of the IEEE Conference on Computer
Vision and Pattern Recognition, pp. 2921-2929, 2016.
[25] K. Suehring, and X. Li, “JVET common test conditions and software reference
configurations,” JVET-B1010, 2016.
[26] J. Jung, and S. Pateux, “An Excel add-in for computing Bjontegaard metric and its
evolution,” ITU-T VCEG contribution VCEG-AE07, Marrakech, 2007.
66