《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 新品快遞 > AM335x 平臺在全彩LED 顯示墻異步控制卡的應用

AM335x 平臺在全彩LED 顯示墻異步控制卡的應用

2015-02-03

摘要 

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

1 全彩LED 顯示墻控制卡簡介 

全彩 LE D顯示顯控制卡根據控制方式, 可以分顯兩大顯: 同步控制卡和異步控制卡。 

1.1 同步控制卡 

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

 

                圖 1 同步控制模塊圖

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

1.2 異步控制卡 

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

                  圖 2 異步控制卡模塊圖

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

· 視頻處理模塊。  

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

· 視頻信號轉換模塊。 

在此模塊中,FPGA 將視頻信號轉換成LED 顯示模組所需的信號,并通過網口輸出,該功能和同步控制卡的功能一樣。 

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

2 異步控制卡系統分析 

下面從硬件和軟件兩個方面分析其主芯片的系統需求。 

2.1 硬件部分 

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

· 最小系統 

最小系統由主芯片,電源系統,DDR 和存儲四部分組成。 

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

· 外圍模塊 

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

- 網絡接口。百兆甚至千兆網口可以有效保證顯示內容更新的高效性。 

- USB 接口。便于系統升級,以及擴展基于USB 各種外設。 

- SD 卡/TF 卡支持。便于系統升級以及內容的本地更新。 

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

2.2 軟件部分 

軟件部分主要由操作系統和應用軟件兩大部分組成。 

2.2.1 操作系統 

在異步控制卡行業中,主流系統選擇了Linux。 

2.2.2 應用軟件 

應用軟件主要包含三個部分: 

· 多媒體部分。 

用于對音視頻碼流的解碼。 

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

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

- 中低端 ,視頻分辨率以及顯示分辨率在640x480 以內。 

由于LED 墻一般顯示物理面積大,而且亮度高,所以對視頻流的幀率要求較高,要求在每秒25 幀以上。因此,對于高端產品,一般需帶有視頻硬解碼模塊的主芯片,其價格一般較高;對于低端產品,使用軟解碼可實現,所以需要運算性能較強的主芯片,成本優勢較好。 

· UI 部分。 

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

· 遠程控制部分。 

該部分主要實現上位機對各控制卡的遠程控制,內容更新等功能。該部分一般通過網絡應用層實現,各控制廠家有自己的協議。 

3 AM335x 的解決方案 

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

3.1 硬件方案 

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

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

同時,AM335x 具有豐富的外設,如下圖所示: 

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

由上圖可見AM335x 可完全涵蓋所有異步控制卡的外設需求,不需要其他擴展。因此,總體成本具有很強競爭力。 

TI 的開發板GP EVM(可查閱參考文檔 [1] )都可以很便利的進行LED 應用的評估和開發,下文中的軟件方案是以GP EVM 為平臺進行開發的。 

3.2 軟件方案 

軟件方案主要分為操作系統和應用軟件兩大塊,具體介紹如下。 

3.2.1 操作系統 

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

3.2.2 軟件模塊 

· UI 

在基于Linux 的異步控制卡平臺上,QT 以免費,開源,開發資料全以及在嵌入式系統上運行效率高等特點,已經成為異步控制卡廠商開發UI 主要的平臺。在EZSDK 中已包含對QT4 的移植,可查閱參考文檔[3]。QT 在開源網站上也有很豐富的資源,可查閱參考文檔 [4] 。 

· 多媒體 

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

· 顯示后端

AM335x 只有一個功能簡單的LCD 控制器,該控制器只支持RGB 格式,其在Linux 中的驅動為framebuffer,可查閱參考文檔 [7] 。相應的上述兩個模塊的顯示后端也以framebuffer 為基礎:

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

- QT 默認以framebuffer 為顯示后端。 

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

                  圖 4 默認軟件方案數據流程圖 

3.2.3 軟件復雜度分析 

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

· Gstreamer 的解碼和ffmpegcolourspace(CSC plugin)兩個模塊。 

ARM 雖然有較強的運算能力,但對于較大分辨率的視頻解碼,視頻解碼的宏塊運算等需較大運算量。另外,色度空間涉及浮點運算,而且為逐點運算,所以運算量需求也不小。 

以640x480 分辨率的MP4(MPEG4 simple profile+AAC) 為例,若幀率為30fps 時,ARM 核的loading 在91%左右,其中ffmpegcolourspace 模塊約占運算量的50%。

· Framebuffer 模塊。 

在該模塊中的 OSD 疊加指的是 UI 圖層和視頻圖層之間的疊加,而且是包含帶透明度的疊加,而圖層的縮放是指對原圖等比例的縮放,因而需對每一幀數據的每個像素點進行浮點乘加運算,參考ffmpegcolourspace 的運算量,該部分運算量也應較大。 

可見,ARM 核無法獨自勝任系統所需的全部運算。 

3.2.4 基于GPU 的優化方案 – GPU Composition 

GPU Composition 軟件模塊,調用 SGX530 模塊進行色彩空間轉換,OSD 疊加,圖層縮放功能,分擔A8 的運算負載使其專注于QT,視頻解碼等應用,下面將具體介紹。 

· GPU Composition 模塊的編譯和安裝 

在TI Wiki 上有明確說明,可查閱參考文檔[8]。 

· GPU Composition 設計分析 

A. 各功能模塊 

                 圖 5 GPU Composition 軟件模塊圖  

 

SGX530 實現的功能模塊標記為深色,具體功能如下: 

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

b. linuxfbofs 

該模塊 設計為QT 架構中的顯示后端,將QT 的幀數據發送到SGX530 模塊中處理。linuxfbofs 和framebuffer 有同樣的接口,對于QT 應用開發是透明的。其輸出界面幀數據為Graphics Plane。 

GPU Composition 

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

B. 模塊間的數據流 

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

a. Plane 格式 

Video Plane 可支持YUV422,NV12,I420 和 YUV420 格式幀數據。 

Graphics Plane 可支持RGB565,RGB888 和ARGB8888 幀數據。 

GPU Composition 接收這些格式的幀數據,并將其轉換為RGB 格式,進行圖層縮放,OSD 疊加等操作。 

b. Plane 的內存分配 

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

其大小的計算公式如下: 

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) 

對于一個Video Plane 可能需要多個Buffer,其具體個數定義在 

gpu-compositing/gpuvsink/src/gst_render_bridge.h 

#define PROP_DEF_QUEUE_SIZE 8 

c. Pool 傳遞 

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

C. 模塊間的控制流 

a. 配置信息數據結構 

對于Graphics Plane,通過命名管道“"/opt/gpu-compositing/named_pipes/video_cfg_and_data_plane_X"”其配置信息在下面數據結構中 

關于此配置信息中,比較重要的有如下幾點: 

· 對于 QT 而言,對入的對對參數來自 Linux 的 FB 對對,即對 LCD 屏的對示分辨率。 

· 關于透明度(Alpha),Video plane 在底部,因此,Graphics Plane 決定 Video Plane的可對度。Alpha 可分對:全局Alpha,整個Plane 使用同一的一個Alpha 對;以像素點(Pixel)對對位的Alpha, 即像素的數據格式對ARGB8888, 可以在局部對置Alpha。 

· 可以通對對置對出的對構體out_g 對對對出Plane 的對放。 

對于Video Plane, 配置信息如下: 

此配置結構體中的輸入信息,會通過Gstreamer 的標準接口,通過前級的Gstreamer Plugin 進行配置。如前所述,輸入視頻幀的寬(width)的像素點數,需為4 的倍數;對于輸出信息,和Graphics Plane 一樣,可以通過配置輸出數據結構out,實現縮放功能。 

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

上述配置信息,通過存放于文件系統中的命名管道,傳遞到GPU Composition 模塊。 

對于linuxfbofs,命名管道文件為/opt/gpu-compositing/named_pipes/gfx_cfg_plane_X 。 

對于gpuvsink,命名管道文件為/opt/gpu-compositing/named_pipes/video_cfg_and_data_plane_X 

4 方案實驗 

筆者基于GPU Composition 方案,在AM335x  EVM 板上,開發了Gstreamer 和QT 應用程序,以驗證整個異步LED 顯示墻方案的性能。 

4.1 代碼及編譯 

代碼分成兩個應用: 

· Gstreamer 部分,可在參考文檔[10]下載,為一個視頻播放器,可循環播放MP4 視頻 

· QT 部分,可以在參考文檔 [11] 下載,包括一個時鐘和滾動字幕。 

可以根據參考文檔[8]進行編譯。 

4.2 代碼運行 

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

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

運行效果圖如下: 

                                          圖 6 示例運行效果圖 

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

4.3 性能分析 

關于GPU Composition 方案的性能提高,可以參考下面兩個截圖。 

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

圖8 中,使用了GPU 分擔了視頻疊加,色彩空間轉換等運算,在整個系統的總運算量明顯大于僅僅Gstreamer 播放視頻的情況下,ARM 核的CPU 占用率僅僅只有58%,仍給應用程序留下運行的空間。 

更多的示例可查閱參考文獻[8]。 

                     圖 7 單Cortex-A8 軟解視頻流的系統負載 

                 圖 8 GPU Composition 方案視頻播放的系統負載

5 總結 

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

6 參考文獻 

1.  http://www.ti.com/tool/tmdxevm3358 

2. http://processors.wiki.ti.com/index.php/Sitara_Linux_Software_Developer%E2%80%99s_Guide 

3.  http://processors.wiki.ti.com/index.php/Building_Qt 

4.  http://qt-project.org/ 

5.  http://processors.wiki.ti.com/index.php/ARM_Multimedia_Users_Guide 

6.  http://gstreamer.freedesktop.org/ 

7.  http://processors.wiki.ti.com/index.php/AM335x_LCD_Controller_Driver%27s_Guide 

8.  http://processors.wiki.ti.com/index.php/GPU_Compositing#About_GPU_Compositing 

9.  http://processors.wiki.ti.com/index.php/CMEM_Overview 

10. http://processors.wiki.ti.com/index.php/File:Playbin2.zip 

11. http://processors.wiki.ti.com/index.php/File:Clock.zip 

12. http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide 

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
1769国内精品视频在线播放| 亚洲视频一区二区在线观看| 亚洲欧美成人网| 久久av二区| 午夜免费日韩视频| 中文日韩欧美| 一区二区免费看| 亚洲欧洲精品一区二区精品久久久| 国产真实久久| 国产一区二区三区视频在线观看 | 先锋影音久久久| 亚洲一区三区在线观看| 一本色道久久综合一区| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 免费欧美日韩| 欧美va亚洲va日韩∨a综合色| 久久亚洲午夜电影| 美女啪啪无遮挡免费久久网站| 久久夜色精品| 欧美成人精品一区二区三区| 免费人成精品欧美精品| 欧美激情a∨在线视频播放| 欧美黄色成人网| 欧美日韩另类综合| 欧美视频日韩视频在线观看| 国产精品成人一区二区网站软件| 国产精品久久久久久超碰| 国产精品视频最多的网站| 国产欧美一区二区精品婷婷| 国产日韩欧美精品综合| 狠狠色丁香久久综合频道| 在线观看成人一级片| 亚洲国产欧美另类丝袜| 亚洲免费电影在线| 亚洲一区自拍| 久久福利毛片| 亚洲精品一区二区三区不| 在线一区免费观看| 欧美一区亚洲一区| 免费成人网www| 欧美三区免费完整视频在线观看| 国产精品入口尤物| 樱桃成人精品视频在线播放| 亚洲日本aⅴ片在线观看香蕉| 一区二区三区国产盗摄| 欧美亚洲在线播放| 亚洲啪啪91| 亚洲影院免费| 久久―日本道色综合久久| 欧美电影资源| 国产精品免费看片| 一区精品在线| 一本一本久久a久久精品综合妖精| 香蕉久久夜色精品国产使用方法| 亚洲国产午夜| 亚洲一区二区三区在线播放| 久久精品国产亚洲a| 欧美精品日本| 国产日韩欧美电影在线观看| 亚洲高清不卡在线| 亚洲一区二区三区视频| 亚洲第一伊人| 亚洲尤物视频在线| 老司机精品久久| 国产精品久久久久一区二区三区共| 国产视频综合在线| 日韩视频三区| 亚洲成人在线视频播放| 亚洲视频观看| 欧美jizzhd精品欧美喷水| 国产精品实拍| 亚洲日韩视频| 欧美在线观看www| 亚洲一区精品在线| 欧美 日韩 国产 一区| 国产精品免费看| 亚洲日本欧美在线| 久久国产主播精品| 亚洲一区在线免费观看| 欧美成在线视频| 国产综合色精品一区二区三区| 亚洲精品一区二区在线观看| 欧美一级理论性理论a| 中文av字幕一区| 欧美电影免费观看高清完整版| 国产综合在线看| 亚洲永久免费视频| aa国产精品| 欧美a级理论片| 激情五月婷婷综合| 午夜视黄欧洲亚洲| 亚洲欧美日韩视频二区| 欧美国产精品一区| 一区二区三区在线观看国产| 亚洲欧美网站| 午夜亚洲伦理| 欧美视频一区二区| 亚洲精品久久久久久下一站| 91久久国产综合久久蜜月精品 | 亚洲精品一区久久久久久 | 玖玖玖国产精品| 国产亚洲精品一区二区| 亚洲一区三区电影在线观看| 正在播放亚洲一区| 欧美人与性动交α欧美精品济南到| 今天的高清视频免费播放成人| 欧美一二三区精品| 欧美一区二区三区啪啪| 欧美天天在线| 日韩午夜在线播放| 在线一区日本视频| 欧美日韩国产精品专区| 亚洲欧洲在线看| 99国产精品99久久久久久| 欧美a级在线| 亚洲电影下载| 最新国产乱人伦偷精品免费网站 | 欧美国产另类| 在线免费观看日韩欧美| 亚洲国产毛片完整版| 久久天堂av综合合色| 韩国女主播一区二区三区| 久久成人免费网| 久久午夜激情| 在线观看日韩www视频免费| 最新国产拍偷乱拍精品| 欧美成人黑人xx视频免费观看| 亚洲国产综合视频在线观看| 日韩午夜电影| 欧美三级第一页| 亚洲一区精彩视频| 欧美一二三区在线观看| 国产欧美一区二区三区沐欲| 欧美影院久久久| 久久综合精品一区| 亚洲缚视频在线观看| 99国产麻豆精品| 欧美日韩综合视频| 亚洲一区二区在线视频| 久久精品在线视频| 在线观看欧美日韩国产| 99视频一区二区| 国产精品老牛| 欧美中文字幕不卡| 欧美成人资源网| av不卡在线观看| 欧美在线啊v一区| 激情久久综艺| 亚洲视频一区二区| 国产欧美日本| 亚洲黄色影院| 欧美日韩在线第一页| 亚洲专区一区| 麻豆视频一区二区| 亚洲美洲欧洲综合国产一区| 先锋影音网一区二区| 激情久久综艺| 亚洲午夜三级在线| 国产色产综合产在线视频| 亚洲日本欧美| 国产精品美女久久久久久免费| 香蕉久久夜色精品国产使用方法 | 日韩视频在线观看一区二区| 亚洲一区二区三区影院| 国产亚洲美州欧州综合国| 亚洲精选视频免费看| 国产精品国产a| 亚洲第一福利社区| 欧美视频在线观看 亚洲欧| 香蕉尹人综合在线观看| 欧美成人一二三| 亚洲欧美日本伦理| 欧美搞黄网站| 亚洲欧美综合| 欧美激情一区二区久久久| 亚洲欧美日韩国产成人精品影院 | 欧美日本韩国一区| 欧美一区二区三区视频免费播放 | 国产精品国产三级国产aⅴ入口| 羞羞视频在线观看欧美| 欧美极品一区二区三区| 性xx色xx综合久久久xx| 欧美激情第9页| 欧美一区二区三区免费观看视频| 欧美日韩成人综合| 久久成人免费日本黄色| 国产精品xnxxcom| 亚洲精品视频啊美女在线直播| 国产精品裸体一区二区三区| 亚洲日本乱码在线观看| 国产啪精品视频| 一区二区三区产品免费精品久久75 | 夜夜嗨av一区二区三区免费区| 久久免费视频这里只有精品| 一区二区欧美精品| 欧美va亚洲va国产综合| 性欧美xxxx大乳国产app| 欧美日韩精品三区| 亚洲国产精品va在线看黑人| 国产精品视频xxxx|