0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于處理器PXA255和Linux操作系統(tǒng)實現(xiàn)多媒體終端對視頻應(yīng)用的設(shè)計

電子設(shè)計 ? 來源:計算機工程與設(shè)計 ? 作者:李英倫,杜旭,項杰 ? 2021-03-16 16:15 ? 次閱讀

1 引言

隨著計算機進入后PC時代、多媒體技術(shù)和無線通信技術(shù)的發(fā)展,融合通信、計算和多媒體功能的各類多媒體終端(如PDA)應(yīng)用正在成為開發(fā)應(yīng)用的新亮點,視頻則是這類應(yīng)用中不可缺少的重要組成部分。多媒體終端,作為嵌入式系統(tǒng),大多數(shù)應(yīng)用場合是對速度、功耗、體積有嚴(yán)格要求的車載、移動通信、手持式設(shè)備等,那么如何設(shè)計一個體積小、實時處理能力強、功耗低、可移植性強的視頻模塊以滿足嵌入式系統(tǒng)設(shè)計對速度、功耗和空間的要求和應(yīng)用開發(fā)的需求就成為一個很有意義的課題。

基于XScale 技術(shù)的新型處理器PXA255是英特爾公司推出的為無線通信設(shè)備帶來更高性能和更低能耗的微處理器產(chǎn)品,為多媒體手機、掌上電腦、車載信息通訊系統(tǒng)及其它無線互聯(lián)網(wǎng)產(chǎn)品提供了強大動力。本文介紹了基于PXA255 處理器和嵌入式Linux 操作系統(tǒng)的無線多媒體移動終端的視頻模塊的設(shè)計與開發(fā),該視頻模塊具有實時采集、壓縮、解壓、顯示、拍攝和存儲圖像等功能,經(jīng)過壓縮的視頻信號還可以通過Internet 進行傳輸。由于采用了模塊化設(shè)計,該視頻模塊還可以很。容易的移植到別的多媒體終端應(yīng)用中。

2 硬件設(shè)計

硬件設(shè)計時,視頻模塊的主體部分采用外置形式,與終端平臺的接口采用目前廣泛采用的USB 接口,視頻模塊的硬件原理框圖如圖1 所示。采用這樣的硬件結(jié)構(gòu),是基于以下的考慮。①較高的傳輸速度,尤其是USB 總線對實時傳輸?shù)牧己弥С挚梢詽M足圖像實時性的要求。②“即插即用”操作,終端平臺可以對攝像頭進行自動檢測和配置,節(jié)省了系統(tǒng)功耗。③攝像頭采用外置形式,節(jié)約了系統(tǒng)的硬件空間,現(xiàn)成USB總線的固件或芯片包含低級并行/串行轉(zhuǎn)換、誤差校驗和數(shù)據(jù)流控制算法等功能,可以簡化系統(tǒng)設(shè)計工作。④基于USB總線的可擴展性,可方便的進行系統(tǒng)功能擴展,符合嵌入式系統(tǒng)接口串行、高速的發(fā)展方向。⑤可移植性,采用了模塊化設(shè)計和USB 總線進行傳輸,可以很容易的移植到帶有USB 接口的別的嵌入式系統(tǒng)中。

基于處理器PXA255和Linux操作系統(tǒng)實現(xiàn)多媒體終端對視頻應(yīng)用的設(shè)計

由于數(shù)字?jǐn)z像頭所采集到的圖像數(shù)據(jù)是沒有經(jīng)過壓縮處理的,數(shù)據(jù)量非常大,不符合USB 總線實時傳輸?shù)囊?。因此在?jīng)過USB總線傳輸以前必須使用視頻壓縮芯片對采集到的視頻數(shù)據(jù)進行壓縮,該類芯片的特點是將某一標(biāo)準(zhǔn)的壓縮算法固化在其中, 具有開發(fā)成本低、開發(fā)周期短、運算速度快等優(yōu)點,符合圖像傳輸實時性的要求。經(jīng)過對各種專用視頻壓縮芯片的選擇,采用了OmniVision公司推出的OV518高性能攝像機到USB 接口芯片,該芯片降低了產(chǎn)品的成本,極大地簡化了單片CMOS圖像傳感器和USB的接口,可以很容易地構(gòu)成基于USB的視頻子系統(tǒng)。

OV518最大視頻傳輸速度的設(shè)計,使得系統(tǒng)能夠以更加實時的方式獲取大量的視頻信息。片內(nèi)高性能專用壓縮引擎可以達到7:1 的壓縮比,保證了從圖像傳感器到終端平臺的快速圖像傳輸。對于QVGA圖像格式,OV518的壓縮引擎支持高達30 幀/秒的傳輸速度,減少了低帶寬應(yīng)用中通常會出現(xiàn)的圖像跳動現(xiàn)象。OV518還具有優(yōu)秀的靜態(tài)圖像捕捉功能,使用起來和數(shù)碼相機一樣方便。其內(nèi)部結(jié)構(gòu)如圖1 中USB 連接橋部分所示。由于PXA255 的USB 接口只有從控制器,只能作為一個從設(shè)備使用,我們采用Philips公司的ISP1160為PXA255擴展了兩個USB主接口。ISP1160是專門用以在嵌入式系統(tǒng)或便攜式設(shè)備中實現(xiàn)USB 協(xié)議的芯片,支持所有的傳輸類型:控制、中斷、批量及同步。該芯片還提供了節(jié)能工作模式以減少功耗,每個下行端口都有獨立的過流檢測輸入引腳和電源供電開關(guān)控制輸出引腳,使系統(tǒng)電源的管理更加靈活。ISP1160與CPU的接口,是專為RISC 的CPU設(shè)計的,極大的簡化了設(shè)計工作,可以不加修改的移植到別的嵌入式系統(tǒng)應(yīng)用中??傊?,整個視頻模塊硬件設(shè)計體現(xiàn)了嵌入式系統(tǒng)設(shè)計對體積,速度和功耗的要求,既保持了很高的處理速度和很小的集成空間,又降低了系統(tǒng)的功耗。

3 軟件設(shè)計

3.1 軟件平臺

微處理器PXA255 功能強大,系統(tǒng)資源十分豐富,十分需要一個功能強大的操作系統(tǒng)來管理這些資源,經(jīng)過對各種嵌入式操作系統(tǒng)的比較,嵌入式Linux的諸多優(yōu)點非常適合于作為該終端的操作系統(tǒng):開放的源碼,可移植性強,強大的網(wǎng)絡(luò)功能和對USB 總線及Video設(shè)備的良好支持。終端平臺采用圖形用戶界面,出于嵌入式系統(tǒng)對實時性和對GUI 的占用資源少、高性能、高可靠性及可配置的考慮,我們選擇了MiniGUI圖形用戶界面支持系統(tǒng)。

3.2 視頻模塊軟件的基本結(jié)構(gòu)

視頻模塊軟件的設(shè)計采取了模塊化的設(shè)計方法,根據(jù)視頻模塊設(shè)計的特點和多媒體終端視頻功能的需求,整個視頻模塊軟件有4 個功能模塊組成:USB 模塊、攝像頭驅(qū)動模塊、解碼模塊、視頻應(yīng)用模塊,完成了采集、解碼、本地顯示、本地用戶控制和網(wǎng)絡(luò)傳輸?shù)裙δ?,其基本結(jié)構(gòu)如圖2 所示。為了提高圖像采集的實時性和系統(tǒng)性能,在各個模塊的設(shè)計過程中,根據(jù)Linux 操作系統(tǒng)的特點和采用的解壓縮算法的特征,我們對程序和算法進行了優(yōu)化、簡化,以加快計算速度,提高效率。以下將對各個模塊的功能和實現(xiàn)進行介紹。

3.2.1 USB 模塊

該模塊包括USB 總線驅(qū)動程序(USBD)和主控制器驅(qū)動(HCD)。USBD 主要處理USB 協(xié)議中與硬件無關(guān)的部分,對協(xié)議規(guī)定的USB 總線以及USB 設(shè)備共有的操作和性質(zhì)提供支持。HCD 負(fù)責(zé)對ISP1160 進行抽象和對USB 的低級支持,ISP1160 的寄存器編程來驅(qū)動ISP1160,為上層的USB 總線驅(qū)動提供軟件接口來控制ISP1160。圖3 給出了USB 模塊的軟件功能結(jié)構(gòu)圖。Linux 操作系統(tǒng)提供有穩(wěn)定的USB 總線驅(qū)動程序,我們只需要編寫HCD 程序。在HCD 的設(shè)計中,我們結(jié)合ISP1160 專為嵌入式設(shè)備設(shè)計的特性對實時傳輸和非實時傳輸進行不同的調(diào)度,增強了對USB 總線實時傳輸?shù)闹С?;結(jié)合Linux對軟中斷的良好支持,采用底半部機制(bottom half)提高中斷處理的實時性。通過這兩項措施有效的提高了視頻數(shù)據(jù)傳輸?shù)姆€(wěn)定性和速度,降低了對系統(tǒng)資源的消耗。

3.2.2 攝像頭驅(qū)動模塊

該模塊為攝像頭的USB類型驅(qū)動(ClassDriver),其主要功能是對視頻應(yīng)用模塊提供符合Linux 的視頻捕獲標(biāo)準(zhǔn)V4L2(Video for Linux Two)的接口,通過USB ??旖邮請D像數(shù)據(jù)。V4L2 是Linux 平臺上處理和訪問視頻設(shè)備的最新的標(biāo)準(zhǔn)應(yīng)用程序接口,通過該接口,模塊對視頻應(yīng)用模塊提供QVGA(320*240)和VGA(640*480)兩種采集模式的切換,視頻圖像參數(shù)的調(diào)整,彩色和黑白視頻流和靜止圖像的采集功能。該驅(qū)動采用多個幀緩沖存儲空間,并使這些幀存輪流處于接收數(shù)據(jù)和存儲數(shù)據(jù)狀態(tài),當(dāng)收到圖像幀事件發(fā)生時,將會觸發(fā)相應(yīng)的機制,實現(xiàn)了圖像幀的異步接收,異步接收機制提高了程序的運行效率。除了實現(xiàn)V4L2 標(biāo)準(zhǔn)常規(guī)的read 接口外,還重點實現(xiàn)了mmap(Map device memory into application address space)接口,通過該接口,可以把內(nèi)核空間的設(shè)備內(nèi)存地址空間映射到用戶空間的地址空間,減少了圖像數(shù)據(jù)拷貝的次數(shù),提高了圖像采集的實時性。

3.2.3 解碼模塊

由于圖像經(jīng)過了壓縮引擎的壓縮,在本地終端進行實時顯示之前必須經(jīng)過解碼模塊的解碼,如果視頻流通過網(wǎng)絡(luò)進行傳輸,在本地終端視頻流則不必經(jīng)過該模塊,但是遠程應(yīng)用仍然需要該模塊。目前圖像壓縮技術(shù)主要采用余弦變換(DCT),小波變換(Wavelet)和子帶編碼等技術(shù),其中余弦變換具有快速算法,易于用軟硬件實現(xiàn),且壓縮性能接近統(tǒng)計最佳,目前被廣泛采用,這也是壓縮引擎采用的算法。余弦變換用于數(shù)字圖像壓縮編碼時,一般采用二維變換,先將整幅圖像分成8×8 或16×16 宏塊,以宏塊為單位進行二維變換,再對每一宏塊的變換域系數(shù)用Zig - Zag 方式進行Huffman 變長編碼或算術(shù)編碼。在圖像接收端作相反的處理,即先恢復(fù)各宏塊的變換域系數(shù),再經(jīng)余弦反變換即可恢復(fù)圖像數(shù)據(jù),其解碼原理和主要步驟如圖4 所示。

該模塊是提高實時性的關(guān)鍵所在,為提高實時性,我們對代碼進行了有效的優(yōu)化,主要措施有:針對Xscale微處理器的特點,合理安排程序流程,盡量做到并行處理,提高程序運行效率;采用適合整數(shù)運算的快速反余弦變換算法,變換中只用加法和移位,減少了乘法運算量,提高了運算效率;采用基于查表的快速Huffman 解碼算法,以減少運算量,提高計算速度。通過這些措施既減少了內(nèi)存的開銷,也加快了解碼的速度,取得了滿意的效果。

3.2.4 視頻應(yīng)用模塊

視頻應(yīng)用模塊包括兩部分:本地應(yīng)用子模塊完成視頻圖像的實時顯示,本地用戶控制和圖像的存儲等功能;網(wǎng)絡(luò)傳輸子模塊完成基于RTP 的壓縮后的視頻流數(shù)據(jù)傳輸,遠程控制等功能。借助于Linux 操作系統(tǒng)對多線程機制的良好支持,主線程專門負(fù)責(zé)消息的響應(yīng),使程序能夠即時響應(yīng)用戶通過鼠標(biāo)或鍵盤輸入的命令或其他事件,輔助線程用于完成圖像的實時顯示、存儲和網(wǎng)絡(luò)傳輸?shù)绕渌容^費時的工作,這樣就不至于影響主線程的運行,保證在做圖像解碼顯示和數(shù)據(jù)傳輸?shù)耐瑫r,能夠即時響應(yīng)用戶的輸入。不同的線程完成不同的任務(wù),提高了程序的模塊化,便于維護和擴展,充分利用了系統(tǒng)資源,有利于提高應(yīng)用程序的實時性。由于對視頻輸出設(shè)備,RGB空間格式更加直接高效,而解碼??斓妮敵鰹閅UV顏色空間子格式,所以在視頻圖像的回顯之前必須進行顏色空間的轉(zhuǎn)換。該模塊圖形界面的實現(xiàn)是通過調(diào)用MiniGUI 提供的API 函數(shù)來實現(xiàn)的,MiniGUI 提供了比較豐富的類Win32API 函數(shù),給我們開發(fā)圖形界面帶來了很大的方便。

4 視頻模塊性能及測試效果

視頻模塊經(jīng)過終端測試,性能結(jié)果如表1 所示。通過結(jié)果可以看出,采集的經(jīng)過壓縮的視頻圖像幀速和經(jīng)過網(wǎng)絡(luò)傳輸后基于PC顯示的幀速都達到了理想水平,但視頻圖像在終端上顯示時,由于嵌入式系統(tǒng)處理能力較PC 機弱,解碼模塊和顯示模塊雖然經(jīng)過了優(yōu)化,但仍然占有一定的時間,使速度下降了很多。但該速度相對于嵌入式系統(tǒng)來說,也達到了實用的地步,并且不影響終端基于網(wǎng)絡(luò)的視頻應(yīng)用,隨著嵌入式微處理器處理能力的逐漸增強,這個問題也一定能得到很好的解決。比如,集成英特爾無線MMX 技術(shù)的處理速度更快的英特爾PXA27x 處理器家族新增了一系列新技術(shù)以提供額外的性能來支持高級視頻。

終端視頻模塊采集的圖像經(jīng)過壓縮、解壓縮后具有較高的質(zhì)量,基于PC 和終端顯示并未見明顯區(qū)別,圖像效果及用戶界面窗口如圖5 所示。

5 結(jié)論

本文針對基于Intel Xscale 和嵌入式Linux 的多媒體終端對視頻應(yīng)用的需求,從實時性、功耗和體積等著手,提供了一種多媒體終端圖像實時連續(xù)采集、顯示管理和網(wǎng)絡(luò)傳輸?shù)姆桨?,并且在實際中得到了驗證。由于采用了模塊化設(shè)計和設(shè)計的靈活性,只需稍加修改就還可以很容易的移植到別的嵌入式系統(tǒng)多媒體應(yīng)用中。我們可以在該終端平臺上方便地進行一些基于視頻模塊的網(wǎng)絡(luò)應(yīng)用開發(fā),我們認(rèn)為有價值的進一步開發(fā)與研究方向包括: 作為嵌入式視頻網(wǎng)絡(luò)接入終端滿足不同方面的需要,例如遠程數(shù)字監(jiān)控系統(tǒng), 交互式醫(yī)療,交互式可視多媒體遠程教學(xué)、網(wǎng)絡(luò)電臺、視頻點播等。較PC機實現(xiàn)的系統(tǒng)有具有體積小、成本低和穩(wěn)定性高的特點,開發(fā)具有自主知識產(chǎn)權(quán)的手持式多媒體視頻網(wǎng)絡(luò)終端系統(tǒng)。當(dāng)今世界已經(jīng)進入了Internet 時代, 嵌入式系統(tǒng)接入Internet 已成為網(wǎng)絡(luò)接入重要的基礎(chǔ)信息設(shè)施。因此, 具有視頻模塊的嵌入式系統(tǒng)在交互式多媒體、嵌入式系統(tǒng)、消費電子產(chǎn)品等領(lǐng)域具有很強的應(yīng)用背景和市場前景。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228806
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8447

    瀏覽量

    150720
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6684

    瀏覽量

    123140
收藏 人收藏

    評論

    相關(guān)推薦

    實現(xiàn)PXA255處理器與CF卡的接口設(shè)計

    和高性價比等優(yōu)點,十分適合嵌入式系統(tǒng)的應(yīng)用。因此,可選擇CF卡作為地理信息數(shù)據(jù)的存儲載體。PXA255處理器提供了PCMCIA/CF卡控制,可以方便地
    發(fā)表于 04-08 09:36

    如何在Intel XScale PXA255上構(gòu)建嵌入式Linux應(yīng)用平臺

    多媒體手提設(shè)備和無線設(shè)備越來越受到市場的歡迎,Intel XScale PXA255處理器正是針對這一情況推出的。它采用Intel XScale微結(jié)構(gòu)體系框架,采用ARMV5TE的7級超流水線,可以
    發(fā)表于 07-17 08:11

    如何利用PXA255處理器的Sitsang開發(fā)平臺實現(xiàn)紅外模塊的設(shè)計?

    本文將詳細(xì)講解基于Inte1的PXA255處理器的Sitsang開發(fā)平臺紅外模塊的設(shè)計,其中包括Linux下的IrDA驅(qū)動程序的開發(fā)和基于MC68HC908AP64紅外發(fā)射的軟硬件設(shè)
    發(fā)表于 04-27 06:03

    怎么實現(xiàn)基于Intel Xscale和嵌入式Linux視頻模塊設(shè)計?

    本文介紹了基于PXA255 處理器和嵌入式Linux 操作系統(tǒng)的無線多媒體移動終端
    發(fā)表于 06-07 06:25

    PXA255上的嵌入式Linux應(yīng)用平臺說明

    PXA255上的嵌入式Linux應(yīng)用平臺說明
    發(fā)表于 03-28 09:52 ?28次下載

    基于PXA255的windows ce.net的bootlo

    本文首先介紹了Windows CE.NET 操作系統(tǒng)的定制,然后詳細(xì)介紹了基于PXA255和Windows CE.NET 操作系統(tǒng)的嵌入式系統(tǒng)Bootloader 的開發(fā),特別是
    發(fā)表于 08-14 16:03 ?28次下載

    基于PXA255的嵌入式Linux應(yīng)用平臺的構(gòu)建

    基于Intel XScale PXA255 處理器Linux 操作系統(tǒng),在其基礎(chǔ)上構(gòu)建嵌入式Linux應(yīng)用平臺。步驟主要包括加載Bootl
    發(fā)表于 08-29 08:22 ?8次下載

    應(yīng)用處理器PXA255上的嵌入式Linux系統(tǒng)開發(fā)

    介紹了Intel公司新近推出的一種嵌入式應(yīng)用處理器——Plx舵55,研究了PXA255的開發(fā)平臺DBPXA255,著重闡述了如何在基于嵌入式應(yīng)用處理器
    發(fā)表于 11-06 15:10 ?9次下載

    基于PXA255的GPRS圖像傳輸系統(tǒng)設(shè)計

    提出了一種基于Intel PXA255 嵌入式微處理器和MC55 無線通訊模塊的圖像采集、壓縮與傳輸?shù)脑O(shè)計方案。在PXA255 的平臺上,通過選擇適合的芯片、無線傳輸模塊并利用MPEG-4
    發(fā)表于 12-29 23:55 ?51次下載

    基于PXA255的嵌入式智能減振系統(tǒng)設(shè)計

    以一懸臂梁為例,介紹了一個基于Intel PXA255處理器的嵌入式智能減振系統(tǒng)的硬件與軟件的設(shè)計與實現(xiàn),Windows CE操作系統(tǒng)的移植
    發(fā)表于 07-27 15:11 ?25次下載

    PXA255上的嵌入式Linux應(yīng)用平臺

    PXA255上的嵌入式Linux應(yīng)用平臺 PXA255是Intel繼PXA250后的第二代XScale處理器,也是一款高檔的Intel個人
    發(fā)表于 06-25 08:15 ?1060次閱讀

    Intel Xscale PXA255嵌入式處理器與CF卡的

    Intel Xscale PXA255嵌入式處理器與CF卡的硬件接口設(shè)計 以導(dǎo)航設(shè)備存儲系統(tǒng)應(yīng)用為例,本文討論了Intel Xscale PXA255嵌入式
    發(fā)表于 09-26 17:39 ?923次閱讀
    Intel Xscale <b class='flag-5'>PXA255</b>嵌入式<b class='flag-5'>處理器</b>與CF卡的

    PXA255處理器與CF卡的接口設(shè)計

    以導(dǎo)航設(shè)備存儲系統(tǒng)應(yīng)用為例,本文討論了Intel Xscale PXA255 嵌入式處理器與 CF卡 的硬件接口設(shè)計,并以讀寫CF卡扇區(qū)的程序為例,給出了CF卡軟件編寫的技巧。該設(shè)計為基于PX
    發(fā)表于 06-01 15:27 ?29次下載
    <b class='flag-5'>PXA255</b><b class='flag-5'>處理器</b>與CF卡的接口設(shè)計

    PXA255處理器在WinCE系統(tǒng)下的BootLoader的設(shè)計與實現(xiàn)

    PXA255處理器在WinCE系統(tǒng)下的BootLoader的設(shè)計與實現(xiàn)
    發(fā)表于 10-25 10:04 ?4次下載
    <b class='flag-5'>PXA255</b><b class='flag-5'>處理器</b>在WinCE<b class='flag-5'>系統(tǒng)</b>下的BootLoader的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    探究PXA255的VoIP語音傳輸系統(tǒng)

    摘要:文章研究IP語音傳輸系統(tǒng)的總體架構(gòu),實現(xiàn)了一個基于PXA255處理器的嵌入式IP電話終端硬件平臺,為該平臺建立
    的頭像 發(fā)表于 04-23 15:23 ?2060次閱讀
    探究<b class='flag-5'>PXA255</b>的VoIP語音傳輸<b class='flag-5'>系統(tǒng)</b>