《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于ZigBee和H.264的無線視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)
基于ZigBee和H.264的無線視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)
2016年微型機與應(yīng)用第24期
游張華
深圳市華海聯(lián)能科技有限公司,廣東 深圳 518100
摘要: ZigBee是以IEEE 802.15.4標準為基礎(chǔ)的一種低成本、低功耗的無線網(wǎng)絡(luò)技術(shù),通過ZigBee協(xié)議棧,可將各ZigBee節(jié)點形成一個節(jié)點容量大、通信范圍廣的ZigBee網(wǎng)絡(luò)。而H.264是當今最好的視頻壓縮標準,具有碼流率低、圖像質(zhì)量高、容錯能力強等優(yōu)點。使用ZigBee網(wǎng)絡(luò)來傳輸H.264視頻碼流,是實現(xiàn)無線視頻傳輸系統(tǒng)的一種好方案。通過具體開發(fā)實例,從硬件和軟件兩個方面討論了該方案的設(shè)計與實現(xiàn)。
Abstract:
Key words :

  游張華

  (深圳市華海聯(lián)能科技有限公司,廣東 深圳 518100)

       摘要ZigBee是以IEEE 802.15.4標準為基礎(chǔ)的一種低成本、低功耗的無線網(wǎng)絡(luò)技術(shù),通過ZigBee協(xié)議棧,可將各ZigBee節(jié)點形成一個節(jié)點容量大、通信范圍廣的ZigBee網(wǎng)絡(luò)。而H.264是當今最好的視頻壓縮標準,具有碼流率低、圖像質(zhì)量高、容錯能力強等優(yōu)點。使用ZigBee網(wǎng)絡(luò)來傳輸H.264視頻碼流,是實現(xiàn)無線視頻傳輸系統(tǒng)的一種好方案。通過具體開發(fā)實例,從硬件和軟件兩個方面討論了該方案的設(shè)計與實現(xiàn)。

  關(guān)鍵詞:ZigBee;H.264;無線視頻傳輸系統(tǒng)

  中圖分類號:TP393.0文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2016.24.016

  引用格式:游張華. 基于ZigBee和H.264的無線視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2016,35(24):54-56,60.

0引言

  ZigBee是以IEEE 802.15.4標準[1]為基礎(chǔ)的一種低成本、低功耗、網(wǎng)絡(luò)容量大、通信范圍廣的無線網(wǎng)絡(luò)技術(shù)[2],可支持多達65 000個節(jié)點。ZigBee的工作頻段有3個,分別是868 MHz、915 MHz、2.4 GHz,當工作于2.4 GHz時,其擁有最高的傳輸速率250 KB/s。在存儲量盡可能小的情況下獲得好的圖像質(zhì)量和低帶寬圖像快速傳輸已成為視頻壓縮的兩大難題。為此ISO/IEC和ITUT兩大國際標準化組織聯(lián)手制定了新一代視頻壓縮標準H.264[3]。H264具有圖像質(zhì)量好、連續(xù)性強、動態(tài)圖像質(zhì)量高、壓縮比高、碼流速率可調(diào)等優(yōu)點。本文從硬件和軟件兩個方面討論使用帶H.264硬件編解碼器、ARM9 CPU核的i.MX27和帶ZigBee協(xié)議棧的微處理器CC2430來共同組建無線視頻傳輸系統(tǒng)。

1系統(tǒng)總體設(shè)計

 

001.jpg

  系統(tǒng)總體設(shè)計如圖1所示,整個ZigBee網(wǎng)絡(luò)由一個ZigBee協(xié)調(diào)器、多個 ZigBee路由器和ZigBee無線視頻終端組成[4]。由于CC2430集成了2.4 GHz DSSS射頻收發(fā)器和單片機控制器,因此ZigBee設(shè)備可以使用CC2430單芯片來實現(xiàn)。ZigBee協(xié)調(diào)器用于組建最初的ZigBee網(wǎng)絡(luò),并為加入網(wǎng)絡(luò)的每個ZigBee路由器和ZigBee無線視頻終端分配16位網(wǎng)絡(luò)短地址。ZigBee路由器在ZigBee網(wǎng)絡(luò)中扮演路由和中繼的角色,為各ZigBee無線視頻終端傳輸數(shù)據(jù)并擴大無線數(shù)據(jù)傳輸?shù)姆秶igBee無線視頻終端根據(jù)分配得到的16位網(wǎng)絡(luò)短地址可以相互之間進行雙向無線數(shù)據(jù)通信[5]。i.MX27上采用Linux操作系統(tǒng),在Linux下通過對采集的圖像進行硬件壓縮編碼,各ZigBee無線視頻終端之間的數(shù)據(jù)以H.264碼流的形式進行無線傳輸。

2ZigBee無線視頻終端的硬件設(shè)計

  考慮到H.264軟件編解碼需要消耗大量的CPU資源,故本方案中選擇了具有H.264硬件編解碼器及ARM9 CPU核的Freescale微處理器i.MX27。ARM9 CPU核一方面負責將攝像頭采集到的YUV圖像數(shù)據(jù)送入H.264硬件編碼器,并將硬件編碼器輸出的H.264碼流通過ZigBee微處理器CC2430無線發(fā)送出去。另一方面通過CC2430接收H.264碼流并送入H.264硬件解碼器,然后將硬件解碼器輸出的YUV圖像數(shù)據(jù)顯示到液晶屏上。ZigBee微處理器CC2430負責H.264碼流的收發(fā)工作,并通過SPI接口與i.MX27進行通信。 ZigBee無線視頻終端的硬件組成如圖2所示。  

002.jpg

  為了實現(xiàn)圖像的采集,本方案采用含有OV9650芯片的CMOS攝像頭,采集到的圖像通過i.MX27的CSI接口傳輸?shù)紿.264硬件編碼器中。對于圖像的顯示,則選擇群創(chuàng)AT070TN83V.1(16∶9,800×480)7英寸TFT液晶屏。該屏支持18位數(shù)字RGB接口,格式為RGB666,即每個像素由6 bit紅、6 bit綠、6 bit藍構(gòu)成18 bit數(shù)據(jù)。該屏與i.MX27的LCDC控制器主要通過18根數(shù)據(jù)線(LD[17:0])、幀同步(VSYNC)、行同步(HSYSNC)、時鐘(LSCLK)進行連接。采用一片三星的K9F2G08R0A NAND Flash芯片(256 M×8 bit)來儲存系統(tǒng)的Bootloader(RedBoot),Linux內(nèi)核,文件系統(tǒng)和視頻程序。由兩片Infineon Technologies的HYB18M512160AF7.5芯片(4 Bank×8 M×16 bit)構(gòu)成128 MB的DDR,主要用于加載Linux操作系統(tǒng)和運行視頻編解碼程序。

  設(shè)計一個10針的JTAG接口,用來燒寫系統(tǒng)的Bootloader、Linux內(nèi)核和文件系統(tǒng)。使用MAX3232構(gòu)成UART接口,用來將調(diào)試信息返回到MiniCom上顯示。因處理器內(nèi)核需要1.8 V、1.5 V電壓,而存儲器和外部I/O需要3.3 V電壓,故把整個系統(tǒng)的輸入電壓設(shè)為5 V,經(jīng)過DCDC轉(zhuǎn)換器可完成到3.3 V、1.8 V、1.5 V的電壓轉(zhuǎn)換。采用26 MHz的有源晶振,晶振經(jīng)過i.MX27片內(nèi)的PLL電路倍頻后最高可達到400 MHz。

  ZigBee通信模塊以CHIPCON公司的CC2430微處理器為核心。將CC2430的SPI接口與i.MX27的SPI接口連接,H.264碼流通過SPI接口進行傳輸。

3ZigBee無線視頻終端的軟件設(shè)計

  3.1圖像采集

  CSI(CMOS Sensor Interface)是i.MX27中的CMOS圖像傳感器接口。圖像的采集可通過CSI接口、圖像傳感器芯片OV9650和Linux下視頻設(shè)備的內(nèi)核驅(qū)動V4L2來實現(xiàn),所以需要加載CSI驅(qū)動mx27_csi.ko、ov9650驅(qū)動ov9650_cam.ko和V4L2驅(qū)動mx27_v4l2_capture.ko。這樣應(yīng)用程序在打開V4L2后,就可以進行圖像數(shù)據(jù)采集了。

  3.2圖像顯示

  LCDC(Liquid Crystal Display Controller)是i.MX27中的液晶顯示控制器。可通過LCDC接口來控制圖像的顯示,故需要加載LCDC驅(qū)動mxcfb_modedb.ko和mxcfb.ko及幀緩沖驅(qū)動。使用幀緩沖設(shè)備時,可將顯示緩沖區(qū)直接映射到Linux用戶空間。這樣在Linux用戶空間,應(yīng)用程序可按照預先設(shè)置好的R、G、B位數(shù)和偏移量,將圖像數(shù)據(jù)直接寫到經(jīng)過mmap()映射后的顯示緩沖區(qū),進而實現(xiàn)圖像的顯示。

  3.3H.264編解碼

  VPU(Video Processing Unit)是i.MX27中的視頻處理單元,主要用于H.264 BP、MPEG-4 SP、H.263 P3格式的硬件編解碼[6]。為了用戶能夠使用VPU的硬件編解碼器,F(xiàn)reescale提供了一套Linux下的基于i.MX27 VPU的庫文件。不論是編碼還是解碼,首先都必須調(diào)用vpu_Init()函數(shù)對VPU硬件進行初始化。

  對于H.264編碼,需要執(zhí)行以下步驟:(1)調(diào)用vpu_EncOpen()函數(shù)對VPU編碼器初始化;(2)調(diào)用vpu_EncGetInitialInfo()函數(shù)獲取編碼初始化信息;(3)調(diào)用vpu_EncRegisterFrameBuffer()函數(shù)注冊編碼幀緩沖;(4)調(diào)用vpu_EncStartOneFrame()函數(shù),將編碼幀緩沖中的每一幀圖像數(shù)據(jù)送入VPU編碼器編碼,并將編碼得到的H.264碼流存放到指定的位流緩沖區(qū)中;(5)當需要結(jié)束編碼操作時,只需調(diào)用vpu_EncClose()函數(shù)。H.264編碼的執(zhí)行流程如圖3所示。

 

003.jpg

004.jpg

  對于H.264解碼,需要執(zhí)行以下步驟:(1)調(diào)用vpu_DecOpen()函數(shù)對VPU解碼器初始化;(2)調(diào)用vpu_DecGetInitialInfo()函數(shù)獲取解碼初始化信息;(3)調(diào)用vpu_DecRegisterFrameBuffer()函數(shù)注冊解碼幀緩沖;(4)為了獲取需解碼的H.264碼流,可調(diào)用vpu_DecGetBitstreamBuffer()函數(shù);(5)調(diào)用vpu_DecStartOneFrame()函數(shù),將H.264碼流送入VPU解碼器進行解碼,并將得到的圖像數(shù)據(jù)存放到解碼幀緩沖中;(6)當需要結(jié)束解碼操作時,只需調(diào)用vpu_DecClose()函數(shù)。H.264解碼的執(zhí)行流程如圖4所示。

  3.4H.264無線傳輸

  要進行H.264碼流無線接收和發(fā)送,首先需要加載i.MX27的SPI接口驅(qū)動mx27_spi.ko。通過SPI接口,i.MX27可以將H.264碼流[7]傳輸?shù)紺C2430中并無線發(fā)送出去,也可以將CC2430無線接收的H.264碼流輸入到i.MX27中。

  由于ZigBee在2.4 GHz工作頻段和250 KB/s的傳輸速度下,物理層每次最多只能傳輸127 B的數(shù)據(jù)包。除去物理層和MAC層的網(wǎng)絡(luò)包頭,ZigBee每次傳輸?shù)膶嶋H數(shù)據(jù)最多只有89 B[8]。由于ZigBee網(wǎng)絡(luò)層不能對H.264碼流進行分割和重組,而傳輸?shù)腍.264碼流遠多于89 B,因此必須在ZigBee協(xié)議的應(yīng)用層將H.264碼流分割為等于或小于89 B的數(shù)據(jù)包進行傳輸。在接收端需要對這些分解的數(shù)據(jù)包進行重組,以形成正確的H.264碼流。由于在無線數(shù)據(jù)傳輸過程中被分割的數(shù)據(jù)包可能會丟失,這將直接影響接收端的數(shù)據(jù)重組,因此需要建立一個重傳機制來重傳數(shù)據(jù)傳輸過程中丟失的數(shù)據(jù)包。下面給出分組傳輸?shù)臄?shù)據(jù)包的格式。

  數(shù)據(jù)發(fā)送之前,先執(zhí)行握手協(xié)議[9]。ZigBee發(fā)送端先發(fā)送請求包,告訴ZigBee接收端即將發(fā)送的一幀H.264數(shù)據(jù)將被分割為幾個數(shù)據(jù)包以及第一個數(shù)據(jù)包的編號。編號字段定義為4 B,能對4 GB的數(shù)據(jù)進行編號,這樣可以保證當編號重復時,舊編號的數(shù)據(jù)包早已在網(wǎng)絡(luò)中消失。

  ZigBee接收端接收到請求包后,將返回一個確認包,表示ZigBee接收端接受ZigBee發(fā)送端的請求。ZigBee發(fā)送端接收到確認包后,同樣也返回一個確認包,這樣握手協(xié)議完成。接下來就是實際的數(shù)據(jù)通信了。握手協(xié)議的執(zhí)行流程如圖5所示。

  

005.jpg

  握手協(xié)議完成后,ZigBee接收端將根據(jù)分割數(shù)據(jù)包的數(shù)量來分配接收緩沖區(qū)大小。將接收到的每個數(shù)據(jù)包按照數(shù)據(jù)包的編號依次存放到接收緩沖區(qū)對應(yīng)的位置處,并將該位置的標志置1,表示接收到了對應(yīng)的數(shù)據(jù)包。如果接收緩沖區(qū)中某些位置的標志為0并且對應(yīng)的定時器超時,則表示該位置沒有接收到對應(yīng)的數(shù)據(jù)包,數(shù)據(jù)包在無線傳輸?shù)倪^程中丟失。ZigBee接收端需要向ZigBee發(fā)送端發(fā)送一個重傳包,請求將丟失的數(shù)據(jù)包重新傳遞過來。本傳輸協(xié)議規(guī)定,若針對某位置連續(xù)3次發(fā)送重傳包后,定時器連續(xù)4次超時,則表示傳輸失敗。ZigBee接收端將發(fā)送重新開始包,命令ZigBee發(fā)送端對下一幀H.264數(shù)據(jù)進行傳輸。協(xié)議重傳的執(zhí)行流程如圖6所示。

  

006.jpg

4系統(tǒng)測試

  為了測試ZigBee發(fā)送端是否將每一幀H.264數(shù)據(jù)成功地傳輸?shù)搅薢igBee接收端,現(xiàn)在在ZigBee發(fā)送端和接收端之間依次放置1~4個ZigBee路由器,對100幀H.264數(shù)據(jù)進行傳輸測試。無線傳輸H.264圖像的測試結(jié)果如表1所示。

007.jpg

  可見,圖像從ZigBee發(fā)送端無線傳輸?shù)絑igBee接收端所經(jīng)過的路由器越少,傳輸?shù)某晒β试礁摺嶋H測試時,每秒能傳輸約14幀H.264圖像數(shù)據(jù),基本上達到了無線視頻傳輸?shù)囊蟆?/p>

5結(jié)論

  本文詳細地介紹了基于ZigBee和H.264的無線視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn),文中所設(shè)計的方案不僅能用于無線數(shù)字視頻傳輸,也可以應(yīng)用到無線數(shù)字音頻傳輸,具有很強的通用性。

參考文獻

  [1] BARONTI P, PILLAI P, CHOOK V. Wireless sensor networks: a survey on the state of the art and the 802.15.4 and ZigBee standards[D]. Pisa, Italy: University of Pisa, 2006.

  [2] CHIPCON. ZigBee User Guide[Z]. 2006.

  [3] Joint Video Team. Draft ITUT recommendation and final draft international standard of joint video specification (ITUT Rec. H.264/ISO/IEC 1449610 AVC)[Z]. Joint Video team of ISO/IEC MPEG and ITUT VCEG,JVTG050, 2003.

  [4] 成銳,李靜,雷鳴. 基于ZigBee的無線傳感器網(wǎng)絡(luò)設(shè)計方案[J]. 電子元器件應(yīng)用,2007,9(12):5458.

  [5] 王振玲.基于ZigBee無線傳感器網(wǎng)絡(luò)的監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].新鄉(xiāng):河南師范大學,2012.

  [6] KANG H Y,JEONG K A,BAEETC J Y.MPEG4 AVC/H.264 decoder with scalablebus architecture and dual memory controller[C]. Proceedings of the 2004 International symposium on Circuits and Systems, ISCAS 2004, 2004,2(2):145148.

  [7] ITUT. Advanced video coding for generic audiovisual services[R]. ITU T H.264 Recommedation. March, 2005.

  [8] 盛先剛. 基于RTP的H.264視頻傳輸系統(tǒng)研究[D]. 西安:西安電子科技大學,2006.

  [9] 肖婭. H264視頻流實時傳輸系統(tǒng)的研究與應(yīng)用[D]. 北京:北京郵電大學,2008.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99热这里只有精品8| 久久激情网站| 欧美国产日韩在线| 在线视频亚洲欧美| 欧美在线播放视频| 欧美亚洲一区二区在线| 欧美影院一区| 亚洲午夜一区二区| 一本色道综合亚洲| 99视频在线精品国自产拍免费观看| 亚洲国产高清视频| 亚洲国产精品成人一区二区| 亚洲激情视频网| 91久久香蕉国产日韩欧美9色| 亚洲国产欧美一区二区三区久久 | 国内久久婷婷综合| 国产在线播精品第三| 国模私拍一区二区三区| 一区二区在线观看视频| 亚洲国产成人精品久久| 亚洲精品一区二区在线| 亚洲精选在线| 亚洲一区三区电影在线观看| 亚洲欧美伊人| 久久国产视频网站| 亚洲综合激情| 欧美视频二区| 国产精品黄色| 国产日韩欧美三区| 尤物yw午夜国产精品视频明星| 尤物九九久久国产精品的分类| 亚洲国产精品专区久久| 亚洲美女色禁图| 亚洲免费一级电影| 久久国产综合精品| 99精品视频一区| 亚洲欧美日韩精品久久久| 久久精品免费| 免费在线成人av| 欧美涩涩视频| 国产香蕉97碰碰久久人人| 伊人精品成人久久综合软件| 亚洲精品免费网站| 午夜亚洲视频| 日韩视频永久免费| 午夜精品福利一区二区蜜股av| 久久久99久久精品女同性| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美日韩免费高清一区色橹橹| 国产精品一区二区男女羞羞无遮挡| 激情久久久久| 亚洲激情啪啪| 午夜视频久久久| 亚洲激情欧美| 亚洲男女毛片无遮挡| 久久影音先锋| 欧美区二区三区| 国产欧美日韩在线观看| 91久久久久久国产精品| 亚洲女女女同性video| 亚洲人成人99网站| 欧美一区二区大片| 欧美激情一区| 国产一区二区三区黄视频| 亚洲免费观看在线视频| 日韩图片一区| 日韩亚洲欧美一区二区三区| 欧美一区二区三区男人的天堂| 日韩视频一区二区| 久久久噜噜噜久久中文字幕色伊伊| 欧美精品18| 国内精品久久久久影院色| 99re热精品| 亚洲人成网站777色婷婷| 久久黄色影院| 国产精品久久久久国产精品日日 | 亚洲国产成人在线| 亚洲影院色无极综合| 免费人成网站在线观看欧美高清| 国产精品美女在线| 亚洲精品视频一区| 亚洲高清色综合| 欧美在线日韩在线| 国产精品hd| 91久久精品日日躁夜夜躁国产| 精品51国产黑色丝袜高跟鞋| 一区二区三区.www| 亚洲毛片网站| 久久综合色一综合色88| 国产热re99久久6国产精品| aa级大片欧美| 999在线观看精品免费不卡网站| 久久久久免费视频| 国产欧美日韩在线播放| 亚洲自拍啪啪| 亚洲欧美日韩一区二区三区在线| 欧美区高清在线| 亚洲国产合集| 亚洲第一区中文99精品| 久久精品日产第一区二区| 国产精品网站在线播放| 一本一本久久| 亚洲视频一区二区在线观看| 欧美激情在线免费观看| 亚洲国产精品传媒在线观看| 欧美精品一区二区三区在线看午夜| 一区二区三区导航| 亚洲精品美女免费| 你懂的视频欧美| 在线观看成人小视频| 亚洲高清不卡av| 免费成人高清在线视频| 亚洲电影在线| 亚洲精品国产精品国自产观看浪潮 | 欧美午夜不卡视频| a4yy欧美一区二区三区| 国产精品99久久久久久久女警| 欧美精品一区二区三区在线播放| 亚洲人成网站影音先锋播放| 亚洲精品婷婷| 欧美久久在线| 日韩一区二区电影网| 亚洲午夜久久久久久久久电影院 | 99国产精品久久久久久久| 欧美激情黄色片| 亚洲久久一区| 亚洲专区在线视频| 国产精品丝袜久久久久久app| 亚洲在线视频免费观看| 欧美一区二区国产| 韩国av一区| 亚洲精选国产| 欧美日韩国产片| 中文精品视频| 欧美一区二区三区喷汁尤物| 国自产拍偷拍福利精品免费一| 亚洲激情视频在线| 欧美日韩小视频| 亚洲一区二区综合| 久久久久久**毛片大全| 亚洲国产成人不卡| 亚洲天堂成人在线观看| 国产精自产拍久久久久久| 亚洲福利在线观看| 欧美精品1区2区| 亚洲一区二区三区中文字幕| 久久精品一级爱片| 亚洲第一伊人| 亚洲一区www| 国产一区二区三区av电影| 亚洲精品在线免费| 性欧美超级视频| 欧美视频中文字幕| 午夜精品在线视频| 女女同性精品视频| 夜夜夜久久久| 久久精品国产亚洲a| 最新精品在线| 欧美一区二区三区喷汁尤物| 亚洲国产精品一区制服丝袜| 亚洲一区高清| 国语精品一区| 亚洲视频第一页| 国产一区二区黄| 夜夜爽99久久国产综合精品女不卡| 国产精品网站一区| 亚洲靠逼com| 国产欧美精品在线观看| 亚洲精选视频免费看| 国产欧美日韩在线播放| 99精品免费视频| 国产精品自在欧美一区| 日韩一区二区精品视频| 国产亚洲二区| 中国成人黄色视屏| 激情久久久久| 亚洲欧美国产va在线影院| 亚洲国产99精品国自产| 欧美一区二区视频在线| 亚洲精品五月天| 噜噜噜91成人网| 亚洲免费影视第一页| 欧美极品一区二区三区| 欧美一级专区| 欧美午夜不卡| 亚洲精品专区| 狠狠色香婷婷久久亚洲精品| 亚洲——在线| 亚洲啪啪91| 老色批av在线精品| 小黄鸭精品密入口导航| 欧美日韩一本到| 亚洲精品日韩在线| 国产主播在线一区| 亚洲欧美乱综合| 9久草视频在线视频精品| 欧美精品国产精品日韩精品| 亚洲第一区在线| 国产午夜亚洲精品理论片色戒| 亚洲已满18点击进入久久|