簡易檢索 / 詳目顯示

研究生: 鄭嘉慶
Cia-Ching Cheng
論文名稱: 基於學習架構之雲端視訊轉碼加速方法
A Learning-based Cloud Video Transcoding Speedup Method
指導教授: 陳建中
Jiann-Jone Chen
口試委員: 蔡耀弘
Yao-Hong Tsai
吳怡樂
Yi-Leh Wu
閻立剛
Li-Kang Yen
唐政元
Cheng-Yuan Tang
學位類別: 碩士
Master
系所名稱: 電資學院 - 電機工程系
Department of Electrical Engineering
論文出版年: 2021
畢業學年度: 109
語文別: 中文
論文頁數: 99
中文關鍵詞: 雲端運算視訊轉碼動態排程轉碼時間預測深度學習
外文關鍵詞: Cloud computation, Video transcoding, Adaptive scheduling, Transcoding time prediction, Deep learning
相關次數: 點閱:246下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著電腦處理速度和網絡頻寬增加,雲端多媒體應用已經相當普及。因為用戶所在之網絡頻寬和使用設備不同,需要進行多媒體格式轉碼以提供符合用戶需求的多媒體碼流收視。MPEG-DASH (HTTP 動態自適應流媒體) 標準提供雲端多媒體網路串流架構,可在異質網絡和終端設備環境下做好服務品質 (quality of service, QoS) 管理。然而系統效能必頇仰賴可在雲端運算平台進行高效率視訊轉碼方法。因此在本研究中,我們研究如何設計雲端視訊轉碼之架構與方法,以及提升其轉碼效率,研究項目包括: (1) 建立基於 Apache Spark 框架的雲計算平台,進行分散式視訊轉碼運算; (2) 利用HDFS (Hadoop Distributed File System) 架構管理雲端計算之視訊片段資料儲存及轉碼後之影片; (3) 設計一個深度學習模型來預測視訊片段的轉碼時間,稱為學習式視訊轉碼時間預測模型 (Learning-based Video Transcoding Time Prediction, LVTTP) 。為了訓練 LVTTP 模型,我們擷取視訊片段中有關視訊編碼之特徵包含 I、P、B 幀的數量、畫面解析度、視訊片段之播放時間、碼率 (bits per pixel) 等作為訓練之輸入樣本,並使用實際轉碼時間作為標記數據來訓練模型; (4) 針對處理內容我們根據預測的轉碼時間排序,由大至小依序分配轉碼任務 (視訊片段)。針對系統狀態我們根據 CPU 使用率自適應調整執行器的數量,使系統能夠在負載平衡的情況下運行,達到更高的系統轉碼效率,稱此法為雲端自適應視頻轉碼 (Adaptive Video Transcoding on Cloud, AVTC)。實驗證明,我們所提出的深度學習模型與 AVTC 方法可以共同無縫運作,與最先進的CVTDRA 算法相比,可以有效地提高資源使用率達 99.5%,並將轉碼時間縮短34.8%。


    With the advance of computer and network, multimedia cloud applications become popular. However, due to different network environments and end user devices, transcoding is needed to provide user-compliant multimedia bitstream consumption. A MPEG-DASH (Dynamic Adaptive Streaming over HTTP) standard has been proposed to provide media consumption over heterogeneous networks and devices. However, to achieve compromised quality of service (QoS) video consumption, the video transcoding efficiency over a cloud computation platform dominates the system performance. In this research, we study how to improve the transcoding efficiency based on a cloud computation platform. Research works comprise: (1) Establish a cloud computation platform based on a Apache Spark framework to perform distributed video transcoding operations; (2) Utilize a HDFS (Hadoop Distributed File System) for the cloud computation system to store partitioned video segments and transcoded videos; (3) Design a deep-learning model to predict the transcoding processing time of a video segments, which is named Learninbg-based Video Transcoding Time Prediction (LVTTP) model. To train the LVTTP model, the video coding features, such as numbers of I, P, B-frames, picture resolution, duration of video playback time, bit-rates etc. are used as samples and the ground-truth transcoding time is used as labeled data; (4) Assign the transcoding tasks (segments) descendingly according to their predicted transcoding time and adjust the number of executors according to their CPU utilization rates adaptively such that the system can operate in a load-blance condition and achieve higher transcoding efficiency. We call this mehtod as Adaptive Video Transcoding on Cloud (AVTC). Experiments show that the proposed deep-learned model works seamlessly with the AVTC method which can effectively yield the resource utilization rate up to 99.5%, and shorten the transcoding time by 34.8% as compared with the state-of-the-art CVTDRA algorithm.

    摘要 I ABSTRACT II 致謝 III 目錄 IV 圖目錄 VII 表目錄 IX 第壹章 緒論 1 1.1 研究背景與動機 1 1.2 研究方法概述 2 1.3 論文組織 3 第貳章 知識背景與相關研究討論 5 2.1 媒體碼流之編碼壓縮相關背景知識 5 2.1.1 視訊轉換編碼介紹 7 2.1.2 FFMPEG 簡介 .8 2.2 雲端運算之相關背景知識 8 2.2.1 雲端運算基本定義 8 2.2.2 雲端平行處理技術 12 2.2.3 Hadoop 介紹 13 2.2.3.1 Hadoop Mapreduce 簡介 14 2.2.3.2 YARN 架構 16 2.2.3.3 HDFS 架構 18 2.2.4 Apache Spark 20 2.2.5 Apache Hadoop 與 Apache Spark 比較 22 2.3 深度學習之相關背景知識 23 2.4 排程演算法之相關背景知識 27 2.4.1 First In First Out (FIFO) 29 2.4.2 Fair Scheduler (FS) 30 第參章 本論文之系統架構設計 32 3.1 系統架構與功能說明 32 3.2 系統運作流程及轉碼流程 35 3.3 多媒體影音檔案分段之效能評估 38 3.4 參數簡介 43 3.5 深度學習分析 45 3.5.1 影響轉碼時間之可能參數 45 3.5.2 Learning-based Video Transcoding Time Prediction (LVTTP) 47 3.6 ADAPTIVE VIDEO TRANSCODING ON CLOUD (AVTC) 48 3.6.1 背景 48 3.6.2 動態資源分配 49 3.6.3 動態自適應轉碼 51 第肆章 實驗結果與系統展示 60 4.1 多機轉碼時間 60 4.2 深度學習訓練結果 62 4.3 實驗數據比較 69 4.3.1 不同演算法之比較 69 4.3.1.1 Spark 排程演算法 69 4.3.1.2 PSNR 比較 70 4.3.1.3 其他演算法之比較 73 4.3.1.4 多部工作之轉碼時間比較 75 4.3.2 不同編碼標準之比較 76 4.3.3 資源使用率比較 77 4.3.4 CPU 平均使用率比較 78 4.3.5 RAM 平均使用率比較 79 第伍章 結論與未來研究探討 80 5.1 結論 80 5.2 未來展望 81 參考文獻 82

    [1] Netflix. https://www.netflix.com/tw/
    [2] J. Dean and S. Ghemawat, “MapReduce: simplified data processing on large clusters,” Comm. of the ACM, vol. 51, pp. 107-113, 2008.
    [3] Apache Spark. https://spark.apache.org/
    [4] T. Wiegand, G. J. Sullivan, G. Bjontegaard and A. Luthra, “Overview of the H.264/AVC video coding standard,” in IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 7, pp. 560-576, July, 2003.
    [5] The Moving Picture Experts Group. http://mpeg.chiariglione.org/
    [6] International Telecommunication Union. http://www.itu.int/en/pages/default.aspx
    [7] Iain E. G. Richardson, “Video Coding Standards: H.261, H.263 and H.26L,” 2002. http://lad.dsc.ufcg.edu.br/mpeg/VCD/Ch05.pdf.
    [8] G. J. Sullivan, J. Ohm, W. Han and T. Wiegand, “Overview of the High Efficiency Video Coding (HEVC) Standard,” in IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, no. 12, pp. 1649-1668, Dec., 2012.
    [9] ITU-T Rec. H.266, Aug., 2020. https://www.itu.int/rec/T-REC-H.266-202008-I/en
    [10] Jun Xin, Chia-Wen Lin and Ming-Ting Sun, “Digital Video Transcoding,” in Proceedings of the IEEE, vol. 93, no. 1, pp. 84-97, Jan., 2005.
    [11] FFMPEG. https://www.ffmpeg.org/
    [12] NIST. https://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology
    [13] The NIST Definition of Cloud Computing, Sep., 2011. https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
    [14] C. Song, W. Shen, L. Sun, Z. Lei and W. Xu, “Distributed video transcoding based on MapReduce,” IEEE/ACIS 13th International Conf. Computer and Information Science (ICIS), pp. 309-314, 2014.
    [15] Online video transcoding. https://www.apowersoft.tw/free-online-video-converter
    [16] Z.-q Tian, J.-r Xue, W. Hu, Tao Xu and Nanning Zheng, “High performance clusterbased transcoder,” Int. Conf. Computer Application and System Modeling, pp. v2-48-v2-52, 2010.
    [17] Z. Li, Y. Huang, G. Liu, F. Wang, Z.-L. Zhang and Y. Dai, “Cloud transcoder: bridging the format and resolution gap between internet videos and mobile devices,” SIGMM of NOSSDAV, June, 2012.
    [18] T. Chen, H. Wei, M. Wei, Y. Chen, T. Hsu and W. Shih, “LaSA: A locality-aware scheduling algorithm for Hadoop-MapReduce resource assignment,” Int. Conf.
    Collaboration Technologies and Systems, pp. 342-346, 2013.
    [19] S. Ghemawat, H. Gobioff and S.-T. Leung, “The google file system,” Operating Systems Review (ACM), vol. 37, no. 5, pp. 29-43, Oct., 2003.
    [20] Apache Lucene. http://lucene.apache.org/
    [21] Apache Hadoop YARN, June, 2021.
    https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
    [22] Apache Hadoop HDFS, June, 2021.
    https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoophdfs/HdfsDesign.html
    [23] Apache Hadoop1.2.1 HDFS Architecture Guide, Oct., 2020.
    https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html#Data_Blocks
    [24] Apache Hadoop2.7.3 HDFS Architecture Guide, Aug., 2016.
    https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoophdfs/HdfsDesign.html#Data_Blocks
    [25] Apache Spark. https://spark.apache.org/
    [26] LeCun, Y., Bengio, Y. & Hinton, G., “Deep learning,” Nature 521, pp. 436–444, 2015. https://doi.org/10.1038/nature14539
    [27] T. Deneke, H. Haile, S. Lafond and J. Lilius, “Video transcoding time prediction for proactive load balancing,” IEEE Int. Conf. Multimedia and Expo (ICME), pp. 1-6, 2014.
    [28] A. Zabrovskiy, P. Agrawal, R. Mathá, C. Timmerer and R. Prodan, “ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Sequences Using Artificial Neural Network,” IEEE Int. Conf. Multimedia Big Data, pp. 316-325, 2020.
    [29] A. Zabrovskiy, P. Agrawal, A. Ilangovan, C. Timmerer and R. Prodan, “FastTTPS: fast approach for video transcoding time prediction and scheduling for HTTP adaptive streaming videos,” Cluster Computing, 2020.
    [30] Y. Sambe, S. Watanabe, D. Yu, T. Nakamura and N. Wakamiya, “High speed distributed video transcoding for multiple rates and formats,” IEICE Trans., vol.
    E88-D, no. 8, pp. 1923–1931, 2005.
    [31] Y. Wang, R. Rao and Y. Wang, “A round robin with multiple feedback job
    scheduler in Hadoop,” IEEE Int. Conf. Progress in Informatics & Computing, pp.
    471-475, 2014.
    [32] D., J. Chen and W. Zhao. “A Task Scheduling Algorithm for Hadoop Platform,” J. Comput. 8, pp. 929-936, 2013.
    [33] T. Mathew, K.-C. Sekaran and J. Jose, “Study and analysis of various task scheduling algorithms in the cloud computing environment,” Int. Conf. Advances in Computing, Communications and Informatics, pp. 658-664, 2014.
    [34] Malik, Babur Hayat, M. Amir, Bilal Mazhar, S. Ali, Rabiya Jalil and Javaria Khalid, “Comparison of Task Scheduling Algorithms in Cloud Environment,” Int. J. Advanced Computer Science and Applications 9, 2018.
    [35] S. Sahoo, I. Parida, S.-K. Mishra, B. Sahoo and A.-K. Turuk, “Resource Allocation for Video Transcoding in the Multimedia Cloud,” In: Sa P., Bakshi S., Hatzilygeroudis I., Sahoo M. (eds) Recent Findings in Intelligent Computing Techniques. Advances in Intelligent Systems and Computing, vol 707. Springer, Singapore.
    [36] N. S. Naik, A. Negi and V.-N. Sastry, “A review of adaptive approaches to
    MapReduce scheduling in heterogeneous environments,” Int. Conf. Advances in
    Computing, Communications and Informatics, pp. 677-683, 2014.
    [37] Z. Fu and Z. Tang, “Optimizing Speculative Execution in Spark Heterogeneous
    Environments,” IEEE Transactions on Cloud Computing, 2019.
    [38] Y. Liu and J. Yuan, “Spark Platform Based Video Transcoding,” Int. Conf. Testbeds and Research Infrastructures for the Development of Networks & Communities,pp. 86-92, Jan. 2018.
    [39] S. Sameti, M. Wang and D. Krishnamurthy, “Stride: Distributed Video Transcoding in Spark,” IEEE International Performance Computing and Communications Conference, pp. 1-8, 2018.
    [40] D. Seo, J. Kim and I. Jung, “Load Distribution Algorithm Based on Transcoding Time Estimation for Distributed Transcoding Servers,” Int. Conf. Information Science and Applications, pp. 1-8, 2010.
    [41] Ching-Cheng Huang, Jiann-Jone Chen and Yao-Hong Tsai, “A Dynamic and
    Complexity Aware cloud scheduling algorithm for video transcoding,” IEEE Int.
    Conf. Multimedia & Expo Workshops (ICMEW), pp. 1-6, 2016.
    [42] Y. Ji, L. Tong, T. He, J. Tan, K. Lee and L. Zhang, “Improving Multi-job MapReduce Scheduling in an Opportunistic Environment,” IEEE Int. Conf. Cloud
    Computing, pp. 9-16, 2013.
    [43] Y. Tao, Q. Zhang, L. Shi and P. Chen, “Job Scheduling Optimization for Multi-user MapReduce Clusters,” Int. Symp. Parallel Architectures, Algorithms and
    Programming, pp. 213-217, 2011.
    [44] D. Cheng, Y. Chen, X. Zhou, D. Gmach and D. Milojicic, “Adaptive scheduling of parallel jobs in spark streaming,” IEEE INFOCOM - IEEE Conf. Computer Communications, pp. 1-9, 2017.
    [45] VMware. https://www.vmware.com/tw.html
    [46] C.-C. Sung, “A Dynamic Cloud Scheduling Method for Video Transcoding based on Neural Network,” Master Thesis NTUST, 2017.
    [47] Y.-J. Kang, “Cloud Video Transcoding using Dynamic Resource Allocation,” Master Thesis NTUST, 2021.
    [48] L.-Y. Song, “A label-based dynamic cloud resource allocation method for video transcoding,” Master Thesis NTUST, 2017.
    [49] Comparison between H.263 and H.264, 2018.
    https://programmersought.com/article/530519239/
    [50] Cloud Struture, 2021. http://www.netqna.com/2014/04/define-cloud.html
    [51] ML and DL comprision, Mar., 2018. https://chih-sheng-huang821.medium.com/什麼是人工智慧-機器學習和深度學習-587e6a0dc72a
    [52] Open-GOP and Closed-GOP, Dec., 2019.
    https://streaminglearningcenter.com/blogs/open-and-closed-gops-all-you-need-toknow.html

    QR CODE