日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]隨著網(wǎng)絡(luò)及通信技術(shù)的發(fā)展,形式多樣的嵌入式設(shè)備作為繼PC機(jī)后的信息處理工具正日益滲透到社會(huì)生活的各個(gè)領(lǐng)域。在IP化和視頻化的雙重推動(dòng)下,以嵌入式設(shè)備作為視頻處理與傳輸終端在視頻監(jiān)控,視頻會(huì)議等領(lǐng)域得到越來(lái)

隨著網(wǎng)絡(luò)及通信技術(shù)的發(fā)展,形式多樣的嵌入式設(shè)備作為繼PC機(jī)后的信息處理工具正日益滲透到社會(huì)生活的各個(gè)領(lǐng)域。在IP化和視頻化的雙重推動(dòng)下,以嵌入式設(shè)備作為視頻處理與傳輸終端在視頻監(jiān)控,視頻會(huì)議等領(lǐng)域得到越來(lái)越廣泛的應(yīng)用。為了進(jìn)一步提高傳輸?shù)膶?shí)時(shí)性和圖像質(zhì)量,本文在硬件平臺(tái)上采用 Intel新一代的XScale處理器PXA270,增強(qiáng)了媒體處理能力,降低了系統(tǒng)功耗。同時(shí),為了最大限度的發(fā)揮處理器的性能優(yōu)勢(shì),本文采用 INTEL針對(duì)PXA27X系列開(kāi)發(fā)的高性能集成函數(shù)庫(kù),即IPP庫(kù)函數(shù)作為MPEG-4視頻編解碼的函數(shù)骨架,采用MPEG-4編解碼,在LINUX嵌入式操作系統(tǒng)上實(shí)現(xiàn)并優(yōu)化了視頻傳輸系統(tǒng)。

1 系統(tǒng)硬件組成及工作流程

1.1 系統(tǒng)組成

本系統(tǒng)硬件組成如圖1所示,采用Intel公司的嵌入式處理器PXA270作為主控CPU,該款處理器的主頻率可達(dá)520MHz,可以滿足系統(tǒng)在編解碼條件下的速度要求。其Wireless MMX技術(shù)有效提高了處理視頻數(shù)據(jù)的能力,獨(dú)有的SpeedStep技術(shù)使其兼?zhèn)淞烁咝阅芎偷凸牡奶攸c(diǎn)。根據(jù)系統(tǒng)的運(yùn)算量和系統(tǒng)文件的大小,核心系統(tǒng) Flash存儲(chǔ)器和SDRAM存儲(chǔ)器容量分別設(shè)計(jì)為32M和64M。外設(shè)接口方面,通過(guò)USB接口連接以O(shè)V511作為控制芯片的高性能USB攝像頭,提高了傳輸速率并避免了低帶寬條件下的圖像跳動(dòng)現(xiàn)象。通過(guò)LCD控制接口連接LCD顯示模塊,通過(guò)系統(tǒng)總線連接10M/100M自適應(yīng)以太網(wǎng)芯片 LAN91C11。同時(shí),系統(tǒng)還預(yù)留了RS232串口供調(diào)試使用。

1.2 MPEG-4視頻傳輸系統(tǒng)的工作流程

該系統(tǒng)的主要工作流程如下:

發(fā)送端:視頻數(shù)據(jù)經(jīng)USB攝像頭采集進(jìn)入本系統(tǒng),由PXA270對(duì)原始的YUV420格式的視頻數(shù)據(jù)進(jìn)行MPEG-4編碼,采用IPP庫(kù)函數(shù)進(jìn)行DCT變換[2],量化,預(yù)測(cè),運(yùn)動(dòng)估計(jì)及運(yùn)動(dòng)補(bǔ)償,熵編碼后,把壓縮后的視頻數(shù)據(jù)打成RTP包,經(jīng)以太網(wǎng)控制模塊送入以太網(wǎng)。

接收端:將接收的RTP包還原成MPEG4碼流[2],仍采用IPP庫(kù)函數(shù)由PXA270進(jìn)行MPEG-4解碼,將解碼后的視頻數(shù)據(jù)運(yùn)用FrameBuffer機(jī)制送入LCD,由LCD顯示模塊來(lái)回放發(fā)送端采集到的視頻圖像,達(dá)到視頻傳輸?shù)哪康摹?br />   

圖1 視頻傳輸系統(tǒng)硬件組成框圖

2 系統(tǒng)的模塊分析及基于IPP庫(kù)的軟件實(shí)現(xiàn)

本系統(tǒng)由視頻采集模塊,基于IPP庫(kù)的MPEG4編解碼模塊,RTP傳輸模塊和視頻回放模塊組成,整個(gè)系統(tǒng)的軟件流程圖如圖2所示,下面就該圖對(duì)各個(gè)模塊進(jìn)行簡(jiǎn)要分析。


圖2 系統(tǒng)軟件流程圖

2.1 視頻采集模塊

視頻采集由USB攝像頭來(lái)實(shí)現(xiàn),采用通用的Video4Linux API 進(jìn)行編程。Video4Linux是嵌入式LINUX為圖像傳感器之類的語(yǔ)音圖像設(shè)備提供接口函數(shù)。通過(guò)打開(kāi)/dev/video0 設(shè)備文件對(duì)攝像頭進(jìn)行操作,得到Y(jié)UV420格式的視頻數(shù)據(jù)。采集視頻數(shù)據(jù)的過(guò)程為:打開(kāi)設(shè)備文件,查詢并確認(rèn)設(shè)備性能,對(duì)采集窗口,顏色模式,幀狀態(tài)初始化,采用mmap()內(nèi)存映射方式實(shí)現(xiàn)共享內(nèi)存,開(kāi)始采集圖像數(shù)據(jù),阻塞等待驅(qū)動(dòng)緩沖好一幀完整的圖像,循環(huán)采集直至程序退出。由于采用了內(nèi)存映射方式而不是read(),write()等文件操作函數(shù),繞過(guò)了內(nèi)核緩沖區(qū),加速了I/O訪問(wèn)。同時(shí),該模塊開(kāi)辟了兩塊視頻緩沖區(qū),一塊用于采集的同時(shí)另一塊用于發(fā)送,顯著提高了采集效率。

2.2 基于IPP庫(kù)的MPEG4編解碼

2.2.1 IPP庫(kù)簡(jiǎn)介

IPP是Intel基于其系列處理器開(kāi)發(fā)的一套跨平臺(tái)的集成性能函數(shù)庫(kù)(Integrated Performance Primitives)的縮寫[3,5],它提供了廣泛的多媒體功能,包括音視頻編解碼(如MPEG4,G.723),圖像處理,語(yǔ)音識(shí)別及加密機(jī)制。 Intel IPP 針對(duì)包括PXA27X系列的大量微處理器進(jìn)行優(yōu)化,采用跨平臺(tái)的通用API,提供圖像處理、顏色轉(zhuǎn)換、過(guò)濾、變換,以及算術(shù)、統(tǒng)計(jì)與圖形運(yùn)算等各種函數(shù),為軟件應(yīng)用程序提供了一個(gè)友好的連接界面,不但節(jié)省了開(kāi)發(fā)成本以及研發(fā)時(shí)間,還使得多媒體應(yīng)用程序在INTEL處理器上的性能大大改善。

2.2.2 IPP庫(kù)函數(shù)介紹

一般的IPP函數(shù)名如下:

ipp<data-domain><name>_<datatype>[<descriptor>](<arguments> ) ;

這里的data-domain所謂的域,指的是該IPP函數(shù)所屬的功能范圍。i(images/video)代表二維圖像處理

datatype數(shù)據(jù)類型的定義是<bit depth>位數(shù)加上<bit interpretation>位解釋組成。位數(shù)有<1|8|16|32|64>,位解釋則有<u|s|f>[c]。

這里u是無(wú)符號(hào),s是有符號(hào),f是浮點(diǎn)數(shù),c是復(fù)數(shù)。

descriptor是描述符,描述要操作的數(shù)據(jù)。

C加數(shù)字n表明圖像數(shù)據(jù)有幾個(gè)顏色頻道,1|2|3|4。

I表示操作僅在此數(shù)據(jù)內(nèi)存的范圍內(nèi)進(jìn)行,不需要多余的內(nèi)存空間。

R表示需要指定ROI即圈選范圍。

2.2.3 MPEG-4編解碼中的關(guān)鍵IPP庫(kù)函數(shù)

基于IPP庫(kù)的MPEG-4編解碼系統(tǒng)框圖如圖3所示,下面來(lái)具體介紹MPEG4編解碼中用到的關(guān)鍵的IPP庫(kù)函數(shù)[1,4]:

DCT變換:

ippiDCT8x8Fwd_Video_8u16s_C1R(const Ipp8u * pSrc,  int srcStep,  Ipp16s * pDst);

功能描述:將pSrc指向的8X8圖像塊采樣點(diǎn)(空間域)進(jìn)行前向離散余弦變換,轉(zhuǎn)換到 pDst指向的一組變換系數(shù)(變換域)。

量化:

ippiQuantIntra_MPEG4_16s_I (Ipp16s * pSrcDst,  Ipp8u QP,  int blockIndex,  const int * pQMatrix);

功能描述:將輸入的DCT系數(shù)量化后,重新存儲(chǔ)到pSrcDst指向的存儲(chǔ)空間,其中QP是量化系數(shù)

VLC編碼:

ippiEncodeVLCZigzag_Inter_MPEG4_16s1u       對(duì)幀間塊進(jìn)行之字型掃描并VLC編碼

運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償:

ippiMCBlock_RoundOff_8u----進(jìn)行運(yùn)動(dòng)補(bǔ)償并將補(bǔ)償結(jié)果復(fù)制到當(dāng)前塊

ippiMotionEstimation_16x16_SEA----完成16X16大小的運(yùn)動(dòng)補(bǔ)償,它不僅覆蓋了16X16,還包括了8X8的整像素和半像素搜索。同時(shí),該函數(shù)還決定了幀內(nèi)或幀間的選擇

ippiEncodeMV_MPEG4_8u16s----搜索預(yù)測(cè)的運(yùn)動(dòng)向量并對(duì)殘差進(jìn)行編碼

以上只選取了MPEG4編碼端用到的幀內(nèi)/幀間關(guān)鍵的IPP庫(kù)函數(shù),而解碼端的VLC解碼,逆量化以及逆DCT變換是編碼的逆過(guò)程,對(duì)于各個(gè)功能模塊相對(duì)應(yīng)的IPP庫(kù)函數(shù)在IPP庫(kù)參考文檔中有詳細(xì)敘述,在此不再贅述。


圖3  MPEG-4編解碼系統(tǒng)框圖

2.3 視頻傳輸模塊

在壓縮視頻流通過(guò)IP網(wǎng)絡(luò)傳輸之前必須打包。由于TCP協(xié)議丟包重傳的特性增加了抖動(dòng)和失真,不符合MPEG-4視頻傳輸對(duì)時(shí)延的嚴(yán)格要求,本系統(tǒng)采用UDP來(lái)傳輸,但UDP不保證可靠傳輸,接收端需要通過(guò)RTP/RTCP來(lái)檢測(cè)丟包。RTP協(xié)議提供了時(shí)間戳,序列號(hào)來(lái)控制實(shí)時(shí)數(shù)據(jù)的流放。發(fā)送端在數(shù)據(jù)包里隱蔽的設(shè)置了時(shí)間標(biāo)簽,接收端依照時(shí)間標(biāo)簽按照正確的速率恢復(fù)成原始的實(shí)時(shí)的數(shù)據(jù)。

2.4 視頻回放模塊

本系統(tǒng)采用FrameBuffer機(jī)制在LCD上實(shí)現(xiàn)視頻信息的顯示。FrameBuffer是一種能夠提取圖形的硬件設(shè)備,是用戶進(jìn)入圖形界面很好的接口,這種接口將顯示設(shè)備抽象為幀緩沖區(qū)。用戶可以把它看作一塊內(nèi)存,只要將其映射到進(jìn)程地址空間,就可以直接進(jìn)行讀寫操作,而寫操作可以立即反應(yīng)在屏幕上。在應(yīng)用程序中,首先打開(kāi)/dev/fb0設(shè)備文件,隨后用ioctl操作取得屏幕的分辨率和bpp值,從而計(jì)算出屏幕緩沖區(qū)的大小,并將該緩沖區(qū)映射到用戶空間,最后就可直接對(duì)屏幕緩沖區(qū)進(jìn)行圖片顯示。由于本系統(tǒng)所采用的LCD只支持RGB格式的視頻流,而經(jīng)MPEG4 解碼后的數(shù)據(jù)為YUV格式的,所以在顯示之前還需運(yùn)用IPP函數(shù)ippiYUV420ToRGB565_8u16u_P3C3R進(jìn)行YUV到RGB格式的轉(zhuǎn)換。

3 結(jié)語(yǔ)

本文介紹了視頻傳輸系統(tǒng)各個(gè)模塊的功能和軟件實(shí)現(xiàn),重點(diǎn)介紹了基于IPP的MPEG-4編解碼模塊。從實(shí)際效果來(lái)看,在 XScale PXA270中利用IPP庫(kù)編解碼后的編碼速率比未用IPP庫(kù)提高了70%~90%,大大提高了實(shí)時(shí)性。本文的研究成果可以在視頻監(jiān)控,多媒體會(huì)議等很多領(lǐng)域得到更廣泛的應(yīng)用。

本文作者創(chuàng)新點(diǎn):在基于Intel Xscale構(gòu)架的PXA270嵌入式設(shè)備上,使用IPP為MPEG-4編解碼編寫的底層API函數(shù)對(duì)視頻傳輸系統(tǒng)程序結(jié)構(gòu)進(jìn)行重組并優(yōu)化,對(duì)IPP的語(yǔ)法規(guī)則和其中的關(guān)鍵算法給出了解釋。經(jīng)優(yōu)化后的系統(tǒng)傳輸效率和圖象質(zhì)量明顯提高。

參考文獻(xiàn):
[1]Intel Integrated Performance Primitives on Intel Personal Internet Client Architecture Processors Reference Manual Version 5.0 [S].Intel.com ,2005
[2]求是科技.Visual C++音視頻編解碼技術(shù)及實(shí)踐[M].人民郵電出版社,2006
[3]洪艷偉,楊斌.嵌入式手持設(shè)備及其基于IPP的優(yōu)化. [J].《微計(jì)算機(jī)信息》,2007,2-2:23
[4]Iain E.G.Richardson 著 歐陽(yáng)合 韓軍譯. H.264和MPEG-4視頻壓縮[M].國(guó)防科技大學(xué)出版社,2004
[5]鄭靈翔等.嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用開(kāi)發(fā)[M].北京航天航空大學(xué)出版社,2006
 

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉