CALIFORNIA STATE UNIVERSITY, NORTHRIDGE Optimized AV1 Inter
Total Page:16
File Type:pdf, Size:1020Kb
CALIFORNIA STATE UNIVERSITY, NORTHRIDGE Optimized AV1 Inter Prediction using Binary classification techniques A graduate project submitted in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering by Alex Kit Romero May 2020 The graduate project of Alex Kit Romero is approved: ____________________________________ ____________ Dr. Katya Mkrtchyan Date ____________________________________ ____________ Dr. Kyle Dewey Date ____________________________________ ____________ Dr. John J. Noga, Chair Date California State University, Northridge ii Dedication This project is dedicated to all of the Computer Science professors that I have come in contact with other the years who have inspired and encouraged me to pursue a career in computer science. The words and wisdom of these professors are what pushed me to try harder and accomplish more than I ever thought possible. I would like to give a big thanks to the open source community and my fellow cohort of computer science co-workers for always being there with answers to my numerous questions and inquiries. Without their guidance and expertise, I could not have been successful. Lastly, I would like to thank my friends and family who have supported and uplifted me throughout the years. Thank you for believing in me and always telling me to never give up. iii Table of Contents Signature Page ................................................................................................................................ ii Dedication ...................................................................................................................................... iii List of Figures ................................................................................................................................ vi List of Tables ............................................................................................................................... viii Abstract .......................................................................................................................................... ix Chapter 1: Introduction ................................................................................................................... 1 Chapter 2: Background ................................................................................................................... 4 Video Standards .......................................................................................................................... 4 Intra-frame Prediction ............................................................................................................. 6 Inter-frame Prediction ............................................................................................................. 9 AVC ...................................................................................................................................... 10 VP9 ....................................................................................................................................... 12 HEVC .................................................................................................................................... 13 AV1 ....................................................................................................................................... 15 Comparison of Video Standards ........................................................................................... 16 Inter Prediction of AV1 ............................................................................................................ 18 Statistical Classification ............................................................................................................ 20 Chapter 3: Related Work .............................................................................................................. 22 Chapter 4: Classification Methods ................................................................................................ 26 Support Vector Machines ......................................................................................................... 26 Decision Trees .......................................................................................................................... 28 Chapter 5: Implementation – Languages, Frameworks, and Tools .............................................. 32 Training Sequences ................................................................................................................... 33 Scikit-Learn ............................................................................................................................... 37 iv AV1 Reference Encoder ........................................................................................................... 40 Other helpful tools .................................................................................................................... 41 Chapter 6: Experimental Results .................................................................................................. 44 Comparison of encoding complexity ........................................................................................ 44 Conclusion .................................................................................................................................... 46 Future Work .................................................................................................................................. 47 References ..................................................................................................................................... 48 v List of Figures Figure 1 - I-Frame, P-Frame and B-Frame Example [6] ................................................................ 5 Figure 2 - 4 x 4 Prediction block .................................................................................................... 6 Figure 3 - 8 directional modes of AVC .......................................................................................... 7 Figure 4 - Original data block (left), DCT coefficients (right) ....................................................... 8 Figure 5 - Quantization table (left), quantized DCT coefficients (right) ........................................ 8 Figure 6 - H.264 encoding/decoding process ............................................................................... 11 Figure 7 - H.264 Macroblock/Sub-macroblock partitions ............................................................ 12 Figure 8 - VP9 Macroblock/Sub-macroblock partitions ............................................................... 13 Figure 9 - HEVC encoding process [8] ......................................................................................... 14 Figure 10 - GF Group using Multi-layer [10] ............................................................................... 18 Figure 11 - Four-step early-termination algorithm [12] ............................................................... 23 Figure 12 - One-dimensional data plot ......................................................................................... 26 Figure 13 - Support Vector Machine Diagram ............................................................................. 27 Figure 14 - Basic Decision Tree structure .................................................................................... 28 Figure 15 - Gini Impurity formula ................................................................................................ 29 Figure 16 - Iris Decision Tree example [17] ................................................................................. 30 Figure 17 - Technical Specs w/o SRFPM ..................................................................................... 34 Figure 18 - Technical Specs /w CRFPM enabled ......................................................................... 34 Figure 19 - Encoding Time reduction formula ............................................................................. 35 Figure 20 - Rav1e --speed preferences ......................................................................................... 35 Figure 21 - Side by Side comparison 720p video ......................................................................... 36 vi Figure 22 - Sklearn Decision Tree call ......................................................................................... 41 Figure 23 - Sklearn classifier output - Decision Tree ................................................................... 41 Figure 24 - Sklearn svm C-Vector call ......................................................................................... 42 Figure 25 - Sklearn classifier output - SVM C-Vector ................................................................. 42 Figure 26 - Sklearn svm LinearSVC call ...................................................................................... 42 Figure 27 - Sklearn classifier output - LinearSVC ....................................................................... 43 vii List of Tables Table 1 - AVC/VP9/HEVC/AV1 Comparison ............................................................................. 16 Table 2 - 10 sec encode H264/VP9/HEVC/AV1 [11] .................................................................. 17 Table 3 - Example Data of Flu Symptoms .................................................................................... 29 Table 4 - System Specs ................................................................................................................