《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 新品快遞 > 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亚洲国产精品_日韩亚洲一区二区
日韩一本二本av| 久久亚洲国产精品日日av夜夜| 午夜精品成人在线| 99re热这里只有精品视频| 亚洲国产精品传媒在线观看 | 欧美日韩和欧美的一区二区| 欧美v亚洲v综合ⅴ国产v| 快射av在线播放一区| 久久深夜福利免费观看| 久久久99免费视频| 久久大综合网| 久久精品视频在线播放| 久久高清国产| 久久久蜜桃一区二区人| 久久久久久电影| 久久综合久久88| 蜜桃久久av一区| 欧美精品999| 欧美日韩精品欧美日韩精品一| 欧美日韩国产首页| 欧美三级免费| 国产精品美女一区二区| 国产精品毛片a∨一区二区三区| 国产精品久久福利| 国产麻豆成人精品| 国产日韩欧美不卡| 黄网站免费久久| 91久久在线| 一区二区欧美在线| 亚洲欧美日韩国产一区二区| 欧美一二区视频| 亚洲国产mv| 日韩午夜激情| 亚洲欧美久久久久一区二区三区| 欧美一级网站| 麻豆91精品| 欧美日韩麻豆| 国产精品专区一| 伊人久久噜噜噜躁狠狠躁| 亚洲黄网站在线观看| 一本久久青青| 欧美一区二区三区免费在线看 | 狠色狠色综合久久| 亚洲大片一区二区三区| 日韩午夜剧场| 新67194成人永久网站| 久久精品日产第一区二区| 日韩视频在线永久播放| 亚洲男女自偷自拍| 久久久国产一区二区| 欧美国产精品一区| 国产精品国产成人国产三级| 国产在线精品一区二区夜色| 亚洲国产成人porn| 亚洲午夜黄色| 亚洲国产女人aaa毛片在线| 这里只有精品视频| 久久精品五月婷婷| 欧美日韩aaaaa| 国产在线精品一区二区夜色| 亚洲三级电影全部在线观看高清| 亚洲一区二区成人在线观看| 亚洲国产精品久久| 性色av一区二区怡红| 欧美高清视频一区二区| 国产精品免费一区二区三区在线观看 | 亚洲欧洲日夜超级视频| 亚洲一区视频在线| 亚洲精品网站在线播放gif| 欧美一区二区三区播放老司机 | 亚洲人成高清| 午夜一区二区三视频在线观看| 美女视频黄免费的久久| 国产精品久久久一区麻豆最新章节 | 亚洲午夜视频在线| 久久综合久久久久88| 欧美三级免费| 亚洲第一精品电影| 午夜精品久久久| 一区二区三区色| 免费成人你懂的| 国产乱人伦精品一区二区 | 99天天综合性| 久久久久久久网| 国产精品www.| 欧美日韩精品一区二区三区四区| 国产欧美大片| 一区二区黄色| 日韩一区二区免费高清| 久久久最新网址| 国产精品久久一区主播| 亚洲人成在线免费观看| 亚洲国产精品久久久久| 欧美综合国产| 国产精品久久久久久超碰 | 国产精品高潮呻吟久久av黑人| 亚洲国产精品一区在线观看不卡| 欧美亚洲一区二区在线| 亚洲欧美在线一区二区| 欧美日韩一区二区三区免费| 在线欧美福利| 欧美专区福利在线| 欧美中文在线观看国产| 国产精品九九久久久久久久| 亚洲精品少妇| 亚洲美女淫视频| 免费在线亚洲欧美| 激情久久五月天| 久久精品国产精品| 久久九九热免费视频| 国产日韩欧美一区在线| 亚洲欧美久久久| 性色av一区二区怡红| 国产精品久久久久久久浪潮网站| 99精品久久免费看蜜臀剧情介绍| 99国产精品久久久久老师| 欧美大片在线看| 亚洲国产精品一区制服丝袜| 亚洲欧洲日本专区| 欧美黄色小视频| 亚洲激情在线观看| 亚洲乱码视频| 欧美日韩国产一区二区| 99国产精品99久久久久久粉嫩| 一本高清dvd不卡在线观看| 欧美人牲a欧美精品| 亚洲精品一区二区三区蜜桃久| 99视频+国产日韩欧美| 欧美美女喷水视频| 一本色道久久综合亚洲二区三区| 一区二区三区久久| 欧美天天视频| 亚洲中字在线| 久久久久久夜| 伊人夜夜躁av伊人久久| 亚洲精选久久| 欧美日韩一级片在线观看| av成人毛片| 午夜在线一区| 国产亚洲精品综合一区91| 欧美一区二区在线| 久久综合九色| 亚洲日本中文| 亚洲图片欧美日产| 国产精品香蕉在线观看| 性欧美18~19sex高清播放| 久久一区二区三区国产精品| 激情久久久久久| 99av国产精品欲麻豆| 国产精品草草| 欧美一区亚洲一区| 欧美激情1区2区3区| 亚洲色无码播放| 久久精品国产亚洲aⅴ| 亚洲电影在线播放| 在线亚洲电影| 国产欧美一区在线| 亚洲激情电影中文字幕| 欧美日韩一卡| 欧美在线免费播放| 欧美久久久久久久久| 亚洲欧美大片| 欧美成人一区二区三区片免费| 99在线精品免费视频九九视| 香蕉久久夜色精品| 伊人一区二区三区久久精品| 一区二区三区黄色| 国产一区二区三区久久久| 日韩网站在线看片你懂的| 国产精品网站在线| 亚洲国产中文字幕在线观看| 欧美视频免费| 亚洲高清在线观看| 欧美色精品天天在线观看视频| 香蕉久久一区二区不卡无毒影院| 欧美激情久久久久久| 亚洲欧美日韩精品久久奇米色影视| 蜜臀av在线播放一区二区三区 | 亚洲黄色在线| 国产精品精品视频| 亚洲激情另类| 国产伦精品一区二区三区| 91久久精品国产91久久| 国产精品乱人伦一区二区| 亚洲精品久久久一区二区三区| 国产精品欧美日韩| 99re8这里有精品热视频免费| 国产美女一区二区| 一区二区三区 在线观看视频| 国产一区二区三区四区hd| 一个色综合av| 伊大人香蕉综合8在线视| 亚洲欧美日韩一区在线观看| 亚洲电影av| 久久久久国产精品麻豆ai换脸| 一区二区三区精品久久久| 美国成人毛片| 欧美一级片久久久久久久 | 国产伦精品一区二区三区照片91| 亚洲免费成人|