當(dāng)前位置:首頁 > 顯示光電 > 顯示光電
[導(dǎo)讀]摘要全彩LED顯示墻異步控制卡以成本低,集中管理等特點(diǎn),逐漸成為全彩LED顯示墻控制卡的主流。AM335x具有豐富的硬件外設(shè),基于Linux的軟件方案,包含GPU Composition模塊能提供完整的多圖層疊加縮放等功能,十分適合

摘要

全彩LED顯示墻異步控制卡以成本低,集中管理等特點(diǎn),逐漸成為全彩LED顯示墻控制卡的主流。AM335x具有豐富的硬件外設(shè),基于Linux的軟件方案,包含GPU Composition模塊能提供完整的多圖層疊加縮放等功能,十分適合全彩LED顯示墻的異步控制卡應(yīng)用。本文將從硬件和軟件兩個(gè)方面介紹基于AM335x提供的相應(yīng)解決方案。

1 全彩LED顯示墻控制卡簡(jiǎn)介

全彩LED顯示顯控制卡根據(jù)控制方式,可以分顯兩大顯:同步控制卡和異步控制卡。

1.1 同步控制卡

全彩LED同步顯示墻主要由PC,同步控制卡和LED顯示模塊組三部分組成,其連接方式如下:

圖1 同步控制模塊圖

同步控制卡將DVI信號(hào)轉(zhuǎn)成LED顯示模組所需要的視頻信號(hào)格式,而且用以太網(wǎng)的方式傳輸給LED顯示模組。同步控制卡本身不做視頻解碼等處理,僅做格式轉(zhuǎn)換。因此,一般采用FPGA實(shí)現(xiàn)該功能。

1.2 異步控制卡

全彩LED異步顯示墻由異步控制卡和LED顯示模組組成,其連接方式如下:

圖2 異步控制卡模塊圖

由上圖,異步控制卡主要由兩個(gè)大的部分組成:

視頻處理模塊。

在此模塊中,SOC從網(wǎng)口得到視頻流以及UI的素材,進(jìn)行視頻解碼和UI 繪制,最后通過LCD接口傳送給 FPGA。

視頻信號(hào)轉(zhuǎn)換模塊。

在此模塊中,F(xiàn)PGA將視頻信號(hào)轉(zhuǎn)換成LED顯示模組所需的信號(hào),并通過網(wǎng)口輸出,該功能和同步控制卡的 功能一樣。

對(duì)比兩種方案,可見異步控制卡具體有成本低,便于集中管理的特點(diǎn)。

2 異步控制卡系統(tǒng)分析

下面從硬件和軟件兩個(gè)方面分析其主芯片的系統(tǒng)需求。

2.1 硬件部分

從硬件上看,視頻處理模塊部分主要由最小系統(tǒng)和外圍模塊兩大部分組成。

最小系統(tǒng)

最小系統(tǒng)由主芯片,電源系統(tǒng),DDR和存儲(chǔ)四部分組成。

不同級(jí)別的全彩屏對(duì)SOC的處理能力有不同要求,具體的要求在軟件部分有說明。

外圍模塊

音頻接口,LCD接口。即LED顯示墻的基本需求。

網(wǎng)絡(luò)接口。百兆甚至千兆網(wǎng)口可以有效保證顯示內(nèi)容更新的高效性。

USB接口。便于系統(tǒng)升級(jí),以及擴(kuò)展基于USB各種外設(shè)。

SD卡/TF卡支持。便于系統(tǒng)升級(jí)以及內(nèi)容的本地更新。

此外,異步卡一般和LED顯示墻一起放置于室外,所以需要可工作在寬溫度范圍的工業(yè)級(jí)芯片。

2.2 軟件部分

軟件部分主要由操作系統(tǒng)和應(yīng)用軟件兩大部分組成。

2.2.1 操作系統(tǒng)

在異步控制卡行業(yè)中,主流系統(tǒng)選擇了Linux。

2.2.2應(yīng)用軟件

應(yīng)用軟件主要包含三個(gè)部分:

多媒體部分。

用于對(duì)音視頻碼流的解碼。

全彩屏主要分為高端和中低端兩個(gè)檔次:

高端,視頻分辨率以及顯示分辨率要求在720p分辨率以上。

中低端,視頻分辨率以及顯示分辨率在640x480以內(nèi)。

由于LED墻一般顯示物理面積大,而且亮度高,所以對(duì)視頻流的幀率要求較高,要求在每秒25幀以上。因此,對(duì)于高端產(chǎn)品,一般需帶有視頻硬解碼模塊的主芯片,其價(jià)格一般較高;對(duì)于低端產(chǎn)品,使用軟解碼可實(shí)現(xiàn),所以需要運(yùn)算性能較強(qiáng)的主芯片,成本優(yōu)勢(shì)較好。

UI 部分。

用于顯示字幕,圖片等,并處理UI 元素和視頻層的疊加。疊加部分。由于涉及到透明度,尺寸變換等,運(yùn) 算需求也很大,所以需要主芯片具有相關(guān)的硬件加速模塊。

遠(yuǎn)程控制部分。

該部分主要實(shí)現(xiàn)上位機(jī)對(duì)各控制卡的遠(yuǎn)程控制,內(nèi)容更新等功能。該部分一般通過網(wǎng)絡(luò)應(yīng)用層實(shí)現(xiàn),各控 制廠家有自己的協(xié)議。

3 AM335x的解決方案

AM335x是TI新近推出的基于ARM Cortex-A8 的SOC,外設(shè)豐富,主要針對(duì)工業(yè)應(yīng)用領(lǐng)域。針對(duì)異步控制卡應(yīng)用,TI也提供了基于Linux的解決方案。下面將從硬件和軟件兩方面分別介紹該方案。

3.1 硬件方案

AM335x具有一個(gè)強(qiáng)勁的核心Cortex-A8,該核的運(yùn)算能力可達(dá)2.0DMIPS/MHz, 而且AM335x的主頻可到1GHz,即運(yùn)算總的能力可達(dá)2000DMIPS,可流暢解碼640x480的MPEG4視頻流,而且有足夠的運(yùn)算余量繪制各種UI。

此外,AM335x還有一個(gè)3D圖形加速核,SGX530,可支持OpenGL ES2.0。TI 在OpenGL ES2.0之上提供了相應(yīng)的軟件方案,將SGX530用于視頻幀的尺寸縮放以及實(shí)現(xiàn)對(duì)UI 層和視頻層的透明疊加的加速,后面軟件部分會(huì)詳細(xì)介紹該方案。

同時(shí),AM335x具有豐富的外設(shè),如下圖所示:

圖3 AM335x異步控制卡硬件模塊圖

由上圖可見AM335x可完全涵蓋所有異步控制卡的外設(shè)需求,不需要其他擴(kuò)展。因此,總體成本具有很強(qiáng)競(jìng)爭(zhēng)力。

TI的開發(fā)板GP EVM(可查閱參考文檔[1])都可以很便利的進(jìn)行LED應(yīng)用的評(píng)估和開發(fā),下文中的軟件方案是以GP EVM為平臺(tái)進(jìn)行開發(fā)的。

3.2 軟件方案

軟件方案主要分為操作系統(tǒng)和應(yīng)用軟件兩大塊,具體介紹如下。

3.2.1 操作系統(tǒng)

如前所述,Linux是異步控制卡的主流操作系統(tǒng),因此,本方案也選擇了Linux作為平臺(tái)。AM335x EZSDK提供了Linux的完整開發(fā)包,包括板級(jí)支持包,交叉編譯器,文件系統(tǒng)等,可查閱參考文檔[2]。

3.2.2 軟件模塊

UI

在基于Linux的異步控制卡平臺(tái)上,QT以免費(fèi),開源,開發(fā)資料全以及在嵌入式系統(tǒng)上運(yùn)行效率高等特 點(diǎn),已經(jīng)成為異步控制卡廠商開發(fā)UI主要的平臺(tái)。在EZSDK中已包含對(duì)QT4的移植,可查閱參考文檔[3]。 QT在開源網(wǎng)站上也有很豐富的資源,可查閱參考文檔[4]。

多媒體

在EZSDK中提供Gstreamer+ffmpeg的多媒體解決方案,可查閱參考文檔[5]和參考Gstreamer文檔(參考文檔 [6])。在多媒體中,由于格式比較多,各種編碼的復(fù)雜度以及編碼質(zhì)量差異較大是一個(gè)難點(diǎn)。而在LED顯示 墻的應(yīng)用場(chǎng)景中,多媒體碼流可接受轉(zhuǎn)碼方式,所以可指定碼流的格式。這里,推薦的多媒體格式 MP4(MPEG4+AAC),其中MPEG4選擇simple profile,對(duì)此種碼流,若分辨率為640x480,AM335x可流暢解 碼每秒25幀以上。

顯示后端

AM335x只有一個(gè)功能簡(jiǎn)單的LCD控制器,該控制器只支持RGB格式,其在Linux中的驅(qū)動(dòng)為framebuffer,可 查閱參考文檔[7] 。相應(yīng)的上述兩個(gè)模塊的顯示后端也以framebuffer為基礎(chǔ):

Gstreamer的后端顯示插件采用fbdevsink。由于視頻解碼后的格式為YUV格式,而AM335x自帶的LCD控制器只支持RGB格式,因此此處可使用Gstreamer的插件ffmpegcolourspace進(jìn)行色度空間的轉(zhuǎn)換

QT 默認(rèn)以framebuffer為顯示后端。

Framebuffer會(huì)接收來自QT和Gstreamer的圖像幀數(shù)據(jù),然后進(jìn)行OSD的疊加和縮放等操作,數(shù)據(jù)流如下圖所示:

圖4 默認(rèn)軟件方案數(shù)據(jù)流程圖

3.2.3軟件復(fù)雜度分析

在圖4中,深色模塊為運(yùn)算較密集模塊,具體分析如下:

Gstreamer的解碼和ffmpegcolourspace(CSC plugin)兩個(gè)模塊。ARM雖然有較強(qiáng)的運(yùn)算能力,但對(duì)于較大分辨率的視頻解碼,視頻解碼的宏塊運(yùn)算等需較大運(yùn)算量。另外,色度空間涉及浮點(diǎn)運(yùn)算,而且為逐點(diǎn)運(yùn)算,所以運(yùn)算量需求也不小。以640x480分辨率的MP4(MPEG4 simple profile+AAC)為例,若幀率為30fps時(shí),ARM核的loading在91%左右,其中ffmpegcolourspace模塊約占運(yùn)算量的50%。

Framebuffer模塊。在該模塊中的OSD疊加指的是UI圖層和視頻圖層之間的疊加,而且是包含帶透明度的疊加,而圖層的縮放是指對(duì)原圖等比例的縮放,因而需對(duì)每一幀數(shù)據(jù)的每個(gè)像素點(diǎn)進(jìn)行浮點(diǎn)乘加運(yùn)算,參考ffmpegcolourspace的運(yùn)算量,該部分運(yùn)算量也應(yīng)較大??梢?,ARM核無法獨(dú)自勝任系統(tǒng)所需的全部運(yùn)算。

3.2.4 基于GPU的優(yōu)化方案–GPU Composition

GPU Composition軟件模塊,調(diào)用SGX530模塊進(jìn)行色彩空間轉(zhuǎn)換,OSD疊加,圖層縮放功能,分擔(dān)A8的運(yùn)算負(fù)載使其專注于QT,視頻解碼等應(yīng)用,下面將具體介紹。

GPU Composition模塊的編譯和安裝。在TI Wiki上有明確說明,可查閱參考文檔[8]。

GPU Composition設(shè)計(jì)分析

A.各功能模塊

圖5 GPU Composition軟件模塊圖

SGX530實(shí)現(xiàn)的功能模塊標(biāo)記為深色,具體功能如下:

a. gpuvsink該模塊設(shè)計(jì)為Gstreamer視頻顯示后端插件,將視頻解碼器解出的YUV 數(shù)據(jù)幀,傳送給SGX530模塊。按照標(biāo)準(zhǔn)的Gstreamer視頻顯示后端插件設(shè)計(jì),可采用標(biāo)準(zhǔn)的顯示后端接口編程。對(duì)于視頻輸入的尺寸,要求其寬(width)為4個(gè)像素點(diǎn)的倍數(shù)。其輸出視頻幀數(shù)據(jù)這里可稱為Video Plane。

b. linuxfbofs該模塊設(shè)計(jì)為QT架構(gòu)中的顯示后端,將QT的幀數(shù)據(jù)發(fā)送到SGX530模塊中處理。linuxfbofs和framebuffer有同樣的接口,對(duì)于QT應(yīng)用開發(fā)是透明的。其輸出界面幀數(shù)據(jù)為Graphics Plane。

GPU Composition

該模塊基于Open GL ES 2.0接口設(shè)計(jì),對(duì)輸入的Video plane和Graphics Plane進(jìn)行色彩空間轉(zhuǎn)換,圖層縮放,OSD疊加等操作,將最終的幀數(shù)據(jù)推送到Framebuffer中顯示。

B. 模塊間的數(shù)據(jù)流

模塊間的數(shù)據(jù)以Plane的形式傳遞,具體介紹如下:

a. Plane格式

Video Plane可支持YUV422,NV12,I420和YUV420 格式幀數(shù)據(jù)。

Graphics Plane可支持RGB565,RGB888和ARGB8888幀數(shù)據(jù)。

GPU Composition接收這些格式的幀數(shù)據(jù),并將其轉(zhuǎn)換為RGB格式,進(jìn)行圖層縮放,OSD疊加等操作。

b. Plane的內(nèi)存分配

SGX530輸入內(nèi)存(Buffer),只支持物理地址連續(xù)的Buffer。因此,在gpuvsink和linuxfbofs中,使用cmem(具體可查閱參考文檔[9])據(jù)此要求分配內(nèi)存Pool來存儲(chǔ)幀數(shù)據(jù),需在Linux啟動(dòng)時(shí)通過命令行參數(shù) ”mem=”配置預(yù)留給Kernel的內(nèi)存,而剩下的內(nèi)存即是給cmem所準(zhǔn)備,用于分配物理連續(xù)的內(nèi)存。

其大小的計(jì)算公式如下:

Pool size for Graphics Plane = width * height * Bytes Per Pixel

Pool size for Video Plane = video frame width * height * 2 (Bytes Per Pixel) * 8 (buffers)

對(duì)于一個(gè)Video Plane可能需要多個(gè)Buffer,其具體個(gè)數(shù)定義在

gpu-compositing/gpuvsink/src/gst_render_bridge.

#define PROP_DEF_QUEUE_SIZE 8

c. Pool傳遞

Graphics Plane和Video Plane以指針的形式將Pool傳遞給GPU Composition。

C. 模塊間的控制流

a. 配置信息數(shù)據(jù)結(jié)構(gòu)

對(duì)于Graphics Plane,通過命名管道“"/opt/gpu-

compositing/named_pipes/video_cfg_and_data_plane_X"”其配置信息在下面數(shù)據(jù)結(jié)構(gòu)中

關(guān)于此配置信息中,比較重要的有如下幾點(diǎn):

對(duì)于QT而言,對(duì)入的對(duì)對(duì)參數(shù)來自Linux的FB對(duì)對(duì),即對(duì)LCD屏的對(duì)示分辨率。

關(guān)于透明度(Alpha),Video plane在底部,因此,Graphics Plane決定Video Plane的可對(duì)度。Alpha 可分對(duì):全局Alpha,整個(gè)Plane使用同一的一個(gè)Alpha對(duì);以像素點(diǎn)(Pixel)對(duì)對(duì)位的Alpha, 即像素的數(shù)據(jù)格式對(duì)ARGB8888,可以在局部對(duì)置Alpha。

可以通對(duì)對(duì)置對(duì)出的對(duì)構(gòu)體out_g對(duì)對(duì)對(duì)出Plane的對(duì)放。

對(duì)于Video Plane, 配置信息如下:

此配置結(jié)構(gòu)體中的輸入信息,會(huì)通過Gstreamer的標(biāo)準(zhǔn)接口,通過前級(jí)的Gstreamer Plugin進(jìn)行配置。如前所述,輸入視頻幀的寬(width)的像素點(diǎn)數(shù),需為4的倍數(shù);對(duì)于輸出信息,和Graphics Plane一樣,可以通過配置輸出數(shù)據(jù)結(jié)構(gòu)out,實(shí)現(xiàn)縮放功能。

b. 命名管道(named pipe)配置信息

上述配置信息,通過存放于文件系統(tǒng)中的命名管道,傳遞到GPU Composition模塊。對(duì)于linuxfbofs,命名管道文件為/opt/gpu-compositing/named_pipes/gfx_cfg_plane_X。對(duì)于gpuvsink,命名管道文件為/opt/gpu-compositing/named_pipes/video_cfg_and_data_plane_X。

4 方案實(shí)驗(yàn)

筆者基于GPU Composition方案,在AM335x EVM板上,開發(fā)了Gstreamer和QT應(yīng)用程序,以驗(yàn)證整個(gè)異步LED顯示墻方案的性能。

4.1 代碼及編譯

代碼分成兩個(gè)應(yīng)用:

Gstreamer部分,可在參考文檔[10]下載,為一個(gè)視頻播放器,可循環(huán)播放MP4視頻

QT部分,可以在參考文檔[11]下載,包括一個(gè)時(shí)鐘和滾動(dòng)字幕。

可以根據(jù)參考文檔[8]進(jìn)行編譯。

4.2 代碼運(yùn)行

在AM335x EVM(AM3358 主頻為720MHz)上,運(yùn)行命令行如下:

這里播放的視頻流為mp4格式,其包含有分辨率為640x480的MPEG4 simple profile碼流以及AAC音頻流。

運(yùn)行效果圖如下:

圖6 示例運(yùn)行效果圖

可以從截圖中看到,OSD層和視頻層的透明度疊加很清楚。

4.3 性能分析

關(guān)于GPU Composition方案的性能提高,可以參考下面兩個(gè)截圖。

圖7中,沒有使用GPU Composition方案,CPU除了要做解碼,也需要做色彩空間轉(zhuǎn)換,其CPU占用率達(dá)到91%。

圖8中,使用了GPU分擔(dān)了視頻疊加,色彩空間轉(zhuǎn)換等運(yùn)算,在整個(gè)系統(tǒng)的總運(yùn)算量明顯大于僅僅Gstreamer播放視頻的情況下,ARM核的CPU占用率僅僅只有58%,仍給應(yīng)用程序留下運(yùn)行的空間。更多的示例可查閱參考文獻(xiàn)[8]。

圖7 單Cortex-A8軟解視頻流的系統(tǒng)負(fù)載

圖8 GPU Composition方案視頻播放的系統(tǒng)負(fù)載

5 總結(jié)

本文主要介紹了基于AM335x的全彩LED顯示墻異步控制卡方案,重點(diǎn)介紹了基于GPU 的軟件解決方案,在實(shí)現(xiàn)LED顯示墻所需的視頻層和OSD層疊加,縮放等功能的基礎(chǔ)上,仍給客戶定制的應(yīng)用程序提供了足夠的開發(fā)空間。希望該方案能加速客戶進(jìn)行異步控制卡的開發(fā)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉