?

4K視頻流HEVC編解碼傳輸的異構多核方法研究

2019-04-04 03:17李毅航張寬尹雅君唐俊龍唐立軍
現代電子技術 2019年6期
關鍵詞:編解碼視頻流時鐘

李毅航 張寬 尹雅君 唐俊龍 唐立軍

關鍵詞: 超高清視頻; 4K視頻流; HEVC編解碼傳輸; 異構多核; 視頻分辨率; 編碼速率

中圖分類號: TN919.3?34; TP302.1 ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)06?0121?05

Abstract: The HEVC video codec standard is commonly used to compress and decompress high?definition video data, but for the ultra?high definition video data of 4K and above, the traditional video stream codec transmission method is difficult to achieve high?efficient video compression ratio and compression speed. Therefore, a heterogeneous multi?core video stream transmission method based on ARM+FPGA is proposed in this paper for the HEVC codec of ultra?high definition video stream. The Linux system is built by using the ARM, so as to realize multi?tasking processing and real?time monitoring. The FPGA is used to realize hardware acceleration, so as to receive, convert, process, encode, decode, output and display video streams. The HEVC codec transmission test was conducted on the Zynq UltraScale+MPSOC all programmable platform for the 4K video with a resolution of 3 840×2 160, frame rate of 30 f/s, pixel format of YUV420, color depth of 8 bits, and time duration of 120 s. The test results show that the time duration of the encoding is only 71s, and the compression rate of video data is as high as 6.19%, which can satisfy the codec transmission requirement of the 4K video.

Keywords: ultra?high definition video; 4K video stream; HEVC codec transmission; heterogeneous multi?core; video resolution; encoding rate

0 ?引 ?言

隨著4K超高清視頻(分辨率3 840×2 160)不斷的推廣和應用,由于圖像清晰度的大幅提高,導致視頻流數據量的劇增,因此,迫切需要使用HEVC/H.265高效的視頻編解碼標準,以解決海量的視頻圖像傳輸以及儲存的問題[1]。而HEVC的編碼復雜度高,傳統的嵌入式方案很難滿足4K視頻流穩定快速的傳輸,保障HEVC編解碼高效壓縮以及提高編解碼速率[2]。

本文采用Zynq UltraScale+MPSOC全可編程平臺,利用軟硬件協同的機制,構建異構多核的軟硬件系統構架,探索一種高效的視頻流編解碼傳輸方法。針對4K視頻流龐大的數據量傳輸問題,對視頻直接內存存取進行研究,以減少數據搬運過程中資源的占用;對視頻流數據類型分析,對不同的視頻數據進行轉換處理研究,來適配編解碼器需求的格式。根據編解碼器對數據的吞吐量,研究視頻流傳輸通路的帶寬、時鐘以及延遲等,來保證編解碼高效運行[3]。

1 ?視頻流編解碼傳輸方案

通常采用PC機進行4K視頻HEVC編解碼,但由于自身體積較大,不便集成和小型化,而ARM往往受限于自身的性能不足,難以進行HEVC編解碼運算,單純的FPGA因為開發周期過長,且應用形式單一,不能快速適應視頻分辨率改變和視頻流格式變化。本文主要探討異構多核的視頻流傳輸方法,利用FPGA硬件加速的特性來設計視頻流編解碼傳輸通路,利用ARM多任務處理與實時監控的特點來改變傳輸通路性能參數,高效靈活的方式保證4K視頻流從接收、轉移、處理、編解碼和輸出過程中穩定傳輸。傳輸通路總體結構如圖1所示。

1.1 傳輸通路構架與速率要求

若以4K圖像30 f/s,YUV420像素格式,顏色深度為8位的視頻流接收,接收的數據帶寬[4]將達到約5.0 Gb/s。為了更好地傳輸4K視頻流,要求傳輸速率[5]最好能達到接收速率的4倍,即20.0 Gb/s左右。

視頻流接收,采用DisplayPort 1.2高清數字顯示接口標準,通過4路數據傳輸達到21.6 Gb/s,單路傳輸為5.4 Gb/s,能夠支持4K視頻流傳輸。

視頻流轉移,使用VDMA高速數據傳輸將視頻流存儲到內存中進行下一步處理,最高數據帶寬能達到1 024 bit,選擇以128 bit帶寬,200 MHz的頻率運行,傳輸速率約為23.8 Gb/s。

視頻流處理,對采集的視頻流數據類型進行分析,通過像素格式轉換、像素位數改變、像素數據轉移等方式來得到HEVC編解碼能支持的視頻流格式。

視頻編解碼,搭建多路高帶寬的數據線,并盡可能提高時鐘頻率來保證視頻的傳輸與提高編解碼器效率。視頻流輸出,對于解碼完成的數據,采用2?4路HDMI1.4高清數字顯示接口標準輸出分屏顯示,每路HDMI數據傳輸速率最高達到10.2 Gb/s,2路以上即可滿足性能需求。

1.2 傳輸通路控制方案

ARM與FPGA的數據交互。ARM與FPGA相結合的異構多核構架,有利于優勢互補,ARM使FPGA處理數據以及修改配置更加靈活,FPGA使ARM數據運算以及數據存儲更加迅速,ARM與FPGA通過AXI總線實現數據交互[6]。FPGA中每個IP核擁有自己的基地址,ARM通過AXI總線讀/寫基地址偏移的寄存器數據,來檢測與控制IP核數據與參數。

FPGA與ARM內存共享。在ARM端進行PetaLinux操作系統移植,進行編解碼頂層設計,使FPGA與ARM協同工作。通過FSBL(一級引導程序)對ARM進行初始化配置,加載FPGA邏輯電路固件,生成U?boot引導Linux內核啟動,讀取設備樹文件來加載底層硬件驅動,使ARM可以控制驅動程序,分配內存地址空間,運行Linux系統,實現FPGA與ARM內存共享。從而達到與FPGA數據交互的目的。

編解碼的優化。ARM通過操作系統來控制FPGA中的視頻流編解碼,來實現編解碼優化與應用。把Linux用戶空間分為三層:底層為編解碼控制軟件,包括定制內核模塊、定制用戶空間庫、實現編解碼基本控制;中層為OpenMAX綜合層,使用開源的多媒體組件標準接口,實現編解碼軟硬件交互;頂層為Gstreamer應用層,利用開源的跨平臺多媒體構架,提供編解碼,以及視頻傳輸通道基本操作。

2 ?視頻流編解碼傳輸實現

2.1 ?視頻流高速數據傳輸

FPGA內部的數據傳輸往往采用DMA的方式,但普通DMA的傳輸速度[7]大約為750 Mb/s,遠不能達到4K視頻流的傳輸需求,因此,使用視頻流專用的DMA來搬運龐大的視頻數據。VDMA能支持數據帶寬為8的倍數,最高支持1 024 bit,時鐘頻率能達到200 MHz左右。在視頻流數據映射到內存地址之前建立一個異步行緩沖區來處理幀速率變化,最多緩存32幀數據,設計控制和狀態寄存器與AXI總線連接,便可直接在ARM端配置異步行緩沖區臨時保存像素數據。同時ARM也能修改VDMA的數據帶寬與時鐘頻率等參數,實現VDMA實時改變傳輸速率來存儲數據。建立相互獨立的寫入與讀取線路,對內存地址映射,訪問未對齊內存地址數據,允許幀緩存區從內存中任何地址開始讀寫,保障數據不會丟失。視頻流輸入/輸出與外部時鐘信號同步,使VDMA成為異步全雙工通信模式。VDMA結構框圖如圖2所示。

2.3 ?視頻流編解碼傳輸分析

2.3.1 ?編解碼傳輸線路與時鐘實現

在相同質量的視頻流下,HEVC/H.265編碼率比AVC/H.264提高大約50%,所以HEVC編解碼器需要更高的數據吞吐量[9]。設計雙路的編解碼數據流,數據流帶寬達到128 bit,實現編解碼同時進行并提高編解碼數據流的傳輸速度。

由于整個傳輸通路的速率瓶頸在于編碼器的編碼速度,故建立編碼器緩存器來保障編碼器更流暢的編碼。編解碼器都設計有一個32位MCU來實現與硬件的交互,MCU接收到來自ARM的命令,把它分解為多個slice或者tile級命令,盡可能地降低編解碼解析命令所花費的時間。

編解碼在超高的工作頻率下運行,必須保證時鐘頻率的穩定。鎖相環是閉環的控制系統,可以鎖定輸入信號的相位,能輸出精確穩定的時鐘[10]。鎖相環參考時鐘頻率高達667 MHz,實現編解碼高速運算,通過分頻出4路時鐘,并提供給編碼器、編碼器的MCU、解碼器與解碼器的MCU,異步的時鐘能使編解碼器運行時互不干擾,大幅度降低編解碼出錯概率。同時編解碼器的時鐘并不是固定的,在ARM端的控制下,實現系統時鐘的動態調節,以便編解碼器對不同類型的視頻流都能進行最優化的編解碼。編解碼設計框圖如圖4所示。

2.3.2 ?傳輸通路延遲性分析

傳輸通路的延遲是研究編解碼傳輸通路一個很重要的參數屬性,即指視頻流從接收。經過一系列過程,再到視頻數據顯示所需要的時間,延遲是層層疊加的,主要包括圖像采集延遲,來源幀在DMA緩沖延遲、編碼器延遲、傳輸比特流緩沖延遲、網絡傳輸或者存儲延遲。對于解碼來說,存在緩沖編碼圖像延遲、解碼器延遲、顯示幀緩沖延遲以及顯示器顯示延遲。編解碼器的延遲基本是穩定的,為輸入延遲、硬件延遲與輸出延遲的總和。編碼器主要延遲在于對圖像重新排序時緩存一幀圖像所花費的時間。解碼器主要延遲在于熵解碼等待的時間和像素解碼等待的時間。經過FPGA硬件邏輯分析儀測試所得傳輸通路各段延遲時間如圖5所示。

3 ?4K視頻流編解碼傳輸測試及結果分析

Xilinx公司的Zynq UltraScale+MPSOC ZCU106開發板包含集成FPGA與ARM的XCZU7EV異構芯片,使用該開發板對4K視頻流編解碼傳輸方法進行測試與驗證。

3.1 視頻流編解碼傳輸通路測試

通過超清攝像頭采集RGB視頻數據,經過VDMA把視頻流映射到內存地址,同時把RGB像素格式轉換為YUV420像素格式,對視頻流進行HEVC編碼,再對視頻流進行HEVC解碼,把解碼后的視頻流通過Displayport 1.2高清數字顯示接口在顯示屏上顯示。任意采集視頻,視頻圖像播放正常,沒有出現卡頓、失幀、錯位等情況,顯示成像效果如圖6所示,表明視頻流傳輸通路正常運行。

3.2 編解碼壓縮效果

為了證明傳輸路通能夠保證4K視頻經HEVC編解碼后能穩定輸出顯示,對傳輸通路中耗時最長,也是傳輸瓶頸所在的編碼部分進行測試。對視頻分辨率為3 840×2 160,幀率為30 f/s,時長120 s,像素格式為YUV420,顏色深度為8位的視頻進行H.265編碼。測試結果表明,編碼所用時長為71 s,遠小于視頻時長120 s,能滿足對4K視頻播放需求。為了測試在傳輸通路中編解碼的壓縮率,對以上的編碼視頻進行HEVC解碼,測試結果表明,解碼后的視頻原始文件大小為1 307 MB,經過HEVC編碼后的文件大小為81 MB,壓縮率達到6.19%。

4 ?結 ?語

本文采用異構多核體系構架,利用FPGA實現4K視頻流編解碼傳輸硬件加速,ARM對其進行多任務處理和實時監控,搭建VDMA對采集的視頻流進行搬運,提高了視頻流傳輸速度,保證了視頻傳輸的穩定性。同時對視頻流格式進行處理,轉換為編解碼支持的視頻流,采用多通道、高帶寬的數據通道大幅提高了編解碼傳輸率,搭載Linux系統也使編解碼更具靈活性。這種視頻流編解碼傳輸方法,比傳統處理器在編解碼速率上有著明顯的優勢,其壓縮率和壓縮速率能很好地滿足4K超高清視頻流的傳輸要求。

參考文獻

[1] SUZUKI K, TAJIRI T, TAKABA N, et al, Method of downsizing the 4K uncompressed video signal generator [C]// Proceedings of IEEE 6th Global Conference on Consumer Electronics. Nagoya: IEEE, 2017: 1?3.

[2] OH J G, WON Y J, LEE J S S, et al. A convergence broadcasting transmission of fixed 4K UHD and mobile HD services through a single terrestrial channel by employing FEF multiplexing technique in DVB?T2 [J]. Electrical engineering, 2017, 99(3): 1021?1042.

[3] KIM Y, CHOI J S, KIM M. A real?time convolutional neural network for super?resolution on FPGA with applications to 4K UHD 60 fps video services [J]. IEEE transactions on circuits and systems for video technology, 2018, 8: 1.

[4] PETRIN?AK L, GRBI? R, KAPROCKI Z, et al. Challenges in 4K UHD multimedia device testing [C]// Proceedings of International Conference on Zooming Innovation in Consumer Electronics. Novi Sad: IEEE, 2017: 5?8.

[5] HWANG S, SONG J, LEE Y, et al, A 1.62~5.4 Gb/s receiver for display port version 1.2a with adaptive equalization and referenceless frequency acquisition techniques [J]. IEEE transactions on circuits and systems I: regular papers, 2017, 64(10): 2691?2702.

[6] 黃超,魯湛,賀健,等.基于ZYNQ的微型光譜儀高速數據采集系統設計[J].現代電子技術,2016,39(3):109?111.

HUANG Chao, LU Zhan, HE Jian, et al. Design of ZYNQ?based high?speed data acquisition system for micro?spectrometer [J]. Modern electronics technique, 2016, 39(3): 109?111.

[7] KAVIANIPOUR H, MUSCHTER S, BOHM C. High performance FPGA?based DMA interface for PCIe [J]. IEEE transactions on nuclear science, 2014, 61(2): 745?749.

[8] SON T N, HOANG T M, DZUNG N T, et al. Fast FPGA implementation of YUV?based fractal image compression [C]// Proceedings of IEEE 5th International Conference on Communications and Electronics. Danang: IEEE, 2014: 440?445.

[9] ARAYACHEEPPREECHA P, PUMRIN S, SUPMONCHAI B. Flexible input transform architecture for HEVC encoder on FPGA [C]// Proceedings of 12th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology. Hua Hin: IEEE, 2015: 2?5.

[10] XIE Changying, ZHANG Maosong, LI Guoli, et al, Design of PLL based On FPGA under unbalanced conditions [C]// Proceedings of IEEE 11th Conference on Industrial Electronics and Applications. Hefei: IEEE, 2016: 315?320.

猜你喜歡
編解碼視頻流時鐘
邊緣實時視頻流分析系統配置動態調整算法研究
別樣的“時鐘”
基于視頻流傳輸中的擁塞控制研究
古代的時鐘
1553B總線控制器編解碼設計
大型民機試飛遙測視頻編解碼方法研究
基于H.265編解碼的高清視頻傳輸系統研究
鐵路貨場智能大門集裝箱全景圖像采集方法研究
有趣的時鐘
美國視頻流市場首現飽和征兆
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合