摘要: | 近幾年來由於科技的進步,使得越來越多的人們追求更高解析度的畫面品質,所以影像輸出的多媒體也使用更高解析度的商品,因此為了有效壓縮如此高解析度影像的巨量資料,HEVC(High Efficiency Video Coding)比起上一代H.264使用了更多較新的技術來降低編碼的位元率,例如:畫面內預測、畫面間預測、碼率失真最佳化等等,但也同時造成了編碼計算複雜度也就是時間的花費提升。於是本篇論文使用了深度學習中的卷積神經網路 CNN ( Convolutional Neural Network ) 及支持向量機 SVM ( Support Vector Machine ),並且後續運用PU中的資訊,將其應用於HEVC編碼單元(CU)階段的決策,利用已經計算過的特徵,在CNN分類過後,針對緩慢移動的區塊以及快速移動的區塊,做快速的CU以及PU的分類。本論文在剛開始編碼時,就先使用SVM對編碼單元做區分,將一個CTU分類成只處理深度0、深度0~1、深度0~2、深度0~3四種類別,再利用卷積神經網路分層向下細分,將部分深度0以及深度1的CU獨立,最後使用CU、PU的特徵,來決定是否提早終止深度劃分,以及PU是否提早決定模式,以此節省後續深度所需計算時間達成編碼端縮減時間。最終實驗結果顯示,與標準的HEVC比較,整體平均BDBR上升1.64%的情況下,編碼時間大約可以節省71.1%。;Due to the advancement of technology in recent years, more and more people are pursuing higher resolution picture quality, so the multimedia output also uses higher resolution products, therefore, in order to effectively compress the huge amount of data of such high resolution video, HEVC (High Efficiency Video Coding) uses more newer technologies than the previous generation of H.264 to reduce the bit rate of encoding, such as: intra-prediction,inter-prediction,rate distortion optimization,However, it also increases the complexity of the coding calculation that is the time spent.
In this paper, we use CNN (Convolutional Neural Network) and SVM (Support Vector Machine) in deep learning to apply the information from PU to the decision of HEVC coding unit (CU) stage. We use SVM to differentiate the coding units at the beginning of coding, and classify a CTU into four categories: depth 0, depth 0~1, depth 0~2, and depth 0~3, and then use the convolutional neural network to subdivide the CU0 in layers, and separate the CU0. Finally, use the features of CU and PU to decide whether to terminate the depth division early and whether the PU decides the mode early. This saves the computation time required for subsequent depths and achieves code-side reduction. The final experimental results show that, compared with standard HEVC, the overall average BDBR increases by 1.64% and the encoding time can be saved by about 71.1%. |