基于Intel Xscale和Linux 的視頻模塊設計-設計應用_第1頁
基于Intel Xscale和Linux 的視頻模塊設計-設計應用_第2頁
基于Intel Xscale和Linux 的視頻模塊設計-設計應用_第3頁
基于Intel Xscale和Linux 的視頻模塊設計-設計應用_第4頁
基于Intel Xscale和Linux 的視頻模塊設計-設計應用_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

2硬件設計

硬件設計時,視頻模塊的主體部分采用外置形式,與終端平臺的接口采用目前廣泛采用的USB接口,視頻模塊的硬件原理。采用這樣的硬件結構,是基于以下的考慮。①較高的傳輸速度,尤其是USB總線對實時傳輸的良好支持可以滿足圖像實時性的要求。②“即插即用”操作,終端平臺可以對攝像頭進行自動檢測和配置,節省了系統功耗。③攝像頭采用外置形式,節約了系統的硬件空間,現成USB總線的固件或芯片包含低級并行/串行轉換、誤差校驗和數據流控制算法等功能,可以簡化系統設計工作。④基于USB總線的可擴展性,可方便的進行系統功能擴展,符合嵌入式系統接口串行、高速的發展方向。⑤可移植性,采用了模塊化設計和USB總線進行傳輸,可以很容易的移植到帶有USB接口的別的嵌入式系統中。

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

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

3軟件設計

3.1軟件平臺

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

3.2視頻模塊軟件的基本結構

視頻模塊軟件的設計采取了模塊化的設計方法,根據視頻模塊設計的特點和多媒體終端視頻功能的需求,整個視頻模塊軟件有4個功能模塊組成:USB模塊、攝像頭驅動模塊、解碼模塊、視頻應用模塊,完成了采集、解碼、本地顯示、本地用戶控制和網絡傳輸等功能,其基本結構如圖2所示。為了提高圖像采集的實時性和系統性能,在各個模塊的設計過程中,根據Linux操作系統的特點和采用的解壓縮算法的特征,我們對程序和算法進行了優化、簡化,以加快計算速度,提高效率。以下將對各個模塊的功能和實現進行介紹。

3.2.1USB模塊

該模塊包括USB總線驅動程序(USBD)和主控制器驅動(HCD)。USBD主要處理USB協議中與硬件無關的部分,對協議規定的USB總線以及USB設備共有的操作和性質提供支持。HCD負責對ISP1160進行抽象和對USB的低級支持,ISP1160的寄存器編程來驅動ISP1160,為上層的USB總線驅動提供軟件接口來控制ISP1160。圖3給出了USB模塊的軟件功能結構圖。Linux操作系統提供有穩定的USB總線驅動程序,我們只需要編寫HCD程序。在HCD的設計中,我們結合ISP1160專為嵌入式設備設計的特性對實時傳輸和非實時傳輸進行不同的調度,增強了對USB總線實時傳輸的支持;結合Linux對軟中斷的良好支持,采用底半部機制(bottomhalf)提高中斷處理的實時性。通過這兩項措施有效的提高了視頻數據傳輸的穩定性和速度,降低了對系統資源的消耗。

3.2.2攝像頭驅動模塊

該模塊為攝像頭的USB類型驅動(ClassDriver),其主要功能是對視頻應用模塊提供符合Linux的視頻捕獲標準V4L2(VideoforLinuxTwo)的接口,通過USB模快接收圖像數據。V4L2是Linux平臺上處理和訪問視頻設備的的標準應用程序接口,通過該接口,模塊對視頻應用模塊提供QVGA(320*240)和VGA(640*480)兩種采集模式的切換,視頻圖像參數的調整,彩色和黑白視頻流和靜止圖像的采集功能。該驅動采用多個幀緩沖存儲空間,并使這些幀存輪流處于接收數據和存儲數據狀態,當收到圖像幀事件發生時,將會觸發相應的機制,實現了圖像幀的異步接收,異步接收機制提高了程序的運行效率。除了實現V4L2標準常規的read接口外,還重點實現了mmap(Mapdevicememoryintoapplicationaddressspace)接口,通過該接口,可以把內核空間的設備內存地址空間映射到用戶空間的地址空間,減少了圖像數據拷貝的次數,提高了圖像采集的實時性。

3.2.3解碼模塊

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

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

3.2.4視頻應用模塊

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

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

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

終端視頻模塊采集的圖像經過壓縮、解壓縮后具有較高的質量,基于PC和終端顯示并未見明顯區別。

5結論

本文針對基于IntelXscale和嵌入式Linux的多媒體終端對視頻應用的需求,從實時性、功耗和體積等著手,提供了一種多媒體終端圖像實時連續采集、顯示管理和網絡傳輸的方案,并且在實際中得到了驗證。由于采用了模塊化設計和設計的靈活性,只需稍加修改就還可以很容易的移植到別的嵌入式系統多媒體應用中。我們可以在該終端平臺上方便地進行一些基于視頻模塊的網絡應用開發,我們認為有價值的進一步開發與研究方向包括:作為嵌入式視頻網絡接入終端滿足不同方面的需要,例如遠程數字監控系統,交互式醫療,交互式可視多媒體遠程教學、網絡電臺、視頻點播等。較PC機實現的系統有具有體積小、成本低和穩定性高的特點,開發具有自主知識產權的手持式多媒體視頻網絡終端系統。當今世界已經進入了Internet時代,嵌入式系統接入Internet已成為網絡接入重要的基礎信息設施。因此,具有視

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論