Atria Logic公司開發(fā)的H.264編解碼IP(包括AL-H264E-4KI422-HW編碼器和AL-H264D-4KI422-HW解碼器)移植到Xilinx Zynq Z-7045 SoC上,能夠?qū)崿F(xiàn)UHD 4K@60fps視頻流的操作,如下圖所示:
ArTIa Logic公司開發(fā)的H.264編解碼IP設計模塊圖
ArTIa Logic設計的AL-H264E-4KI422-HW 編碼IP核是基于硬件的,特性豐富,低延遲,高質(zhì)量,面向H.264(AVC) UHD Hi422幀內(nèi)編碼。AL-H264E-4KI422-HW編碼器與AL-H264D-4KI422-HW低延遲解碼器配對使用。
該IP核包含的特性如下:
全面的模塊化設計,支持用戶自定義和擴展
支持幀內(nèi)H.264和Hi422 5.1編碼和解碼
集成HDMI2.0接收和發(fā)送子系統(tǒng)
支持8/10位編解碼
支持RGB,YUV 4:2:2/4:4:4
低延遲 ~0.3秒
支持可變比特率(VBR)和恒定比特率(CBR)方式
視頻質(zhì)量0.99% SSIM,或者50dB PSNR或者更高
視頻處理子系統(tǒng)用于預/后處理,包括顏色空間轉(zhuǎn)換,視頻縮放和濃度二次抽樣
支持Gbps以太網(wǎng)數(shù)據(jù)流輸出
我們需要設計一個方案來評估我們的UHD編碼和解碼IP核以滿足4K@60fps性能需要,那么我們需要一個靈活的,功能強大的平臺。最終我們選用Xilinx ZC706評估套件,其是基于Zynq Z-7045 SoC,原因如下:
有一個現(xiàn)成的FMC擴展板卡,提供4K HDMI視頻接口:TB-FMC-HDMI 4K 2.0版本子卡
Zynq Z-7045 SoC豐富的可編程邏輯資源能夠適應編碼器和解碼器IP邏輯,滿足嚴格的時序要求以達到性能要求
Zynq SoC的處理器系統(tǒng)集成了雙核ARM Cortex-A9 MPCore處理器,能夠讓我們有能力修改應用驅(qū)動軟件和自定義設計,像是應用設計的GUI接口
H.264編碼器支持H.264 Hi422格式配置,5.1標準(3840x2160p30)幀內(nèi)唯一編碼。支持10位視頻流這表示從視頻條帶來看不會出現(xiàn)灰度和顏色退化現(xiàn)象。支持YUV4:2:2視頻流意味著能夠?qū)崿F(xiàn)更好的顏色劃分——尤其對于紅色很明顯——這使得圖像更加清晰。對于醫(yī)療成像場合視頻質(zhì)量非常重要。
Atria Logic公司UHD H.264編碼器IP模塊圖
幀內(nèi)編碼讓H.264編碼器實現(xiàn)幀頻延遲,宏模塊流水線架構(gòu)設計則進一步降低延遲:大約0.3毫秒。流水線設計支持每個時鐘處理八個像素點,實現(xiàn)實時的4K@60fps視頻編碼。
Atria Logic公司開發(fā)的這款H.264編碼器僅使用了Zynq Z-7045 SoC 78%的可編程邏輯和DSP資源,以及55%的可用RAM,為其他必需電路預留了足夠的空間。
H.264解碼器支持H.264 Hi422格式配置,5.1標準(3840x2160p30)幀內(nèi)唯一編碼。同編碼器一樣支持10位視頻流編碼,即從視頻條帶來看不會出現(xiàn)灰度或者顏色退化現(xiàn)象。解碼器也支持YUV 4:2:2視頻格式,支持幀內(nèi)解碼,采用流水線架構(gòu)實現(xiàn)解碼器的幀率延遲。
Atria Logic公司 UHD H.264解碼器IP模塊圖
對于任何閉環(huán)的人/機應用低延遲都非常重要。當AL-H264E-4KI422-HW編碼器和AL-H264D-4KI422-HW低延遲解碼器通過IP網(wǎng)絡連接起來時,玻璃延遲時間大約是0.6毫秒(不包括傳輸時間)。這大約是兩個幀的延遲時間。
Atria Logic H.264解碼器的實現(xiàn)僅占用了Zynq Z-7045 SoC 68%的可編程邏輯資源,35%的DSP資源,以及45%的RAM,為其它必需電路留出了足夠的空間。
HDMI子系統(tǒng)包括兩個主要模塊:Xilinx LogicCore HDMI TX和RX子系統(tǒng),如下圖所示:
HDMI收發(fā)器(GTX)模塊發(fā)送和接收串行HDMI TX和RX傳輸?shù)臄?shù)據(jù),并且在串行數(shù)據(jù)流和片上并行數(shù)據(jù)流之前轉(zhuǎn)換。收發(fā)器模塊實現(xiàn)并行數(shù)據(jù)與串行數(shù)據(jù)之間的相互轉(zhuǎn)換采用的是Zynq SoC高速GT收發(fā)器作為HDMI PHY物理層接口。
TX子系統(tǒng)包括發(fā)送模塊、AXI Video轉(zhuǎn)換、視頻時序控制和可選的HDCP模塊。Axi Video數(shù)據(jù)流通道每個時鐘傳輸兩到四個像素點到HDMI TX子系統(tǒng),并且支持8,10,12位數(shù)據(jù)編碼。這個數(shù)據(jù)流符合AXI設計參考手冊(UG761)中定義的視頻傳輸協(xié)議,視頻轉(zhuǎn)換模塊將輸入的AXI-Stream轉(zhuǎn)換為本地視頻格式,視頻時序控制器用于生成本地視頻時序。音頻AXI Stream將多通道未壓縮的音頻數(shù)據(jù)傳輸給HDMI TX子系統(tǒng)。Zynq Z-7045 SoC的ARM Cortex-A9處理器通過CPU接口控制HDMI TX子系統(tǒng)的發(fā)送模塊。
HDMI RX子系統(tǒng)包括三個AXI協(xié)議接口。視頻轉(zhuǎn)換橋?qū)⒉东@的本地視頻轉(zhuǎn)換為AXI Stream數(shù)據(jù)流,將這些視頻數(shù)據(jù)通過AXI Video接口輸出,符合AXI設計參考手冊(UG761)中定義的協(xié)議規(guī)范。視頻時序控制器則測量視頻時序,接收的音頻通過AXI Stream音頻接口發(fā)送出去。CPU接口則實現(xiàn)與外設的控制和狀態(tài)數(shù)據(jù)通信。
HDCP模塊是可選的,不含在標準的IP核配置中。