999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ZigBee和H.264的無線視頻傳輸系統的設計與實現

2017-01-09 06:19:12游張華
網絡安全與數據管理 2016年24期

游張華

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

基于ZigBee和H.264的無線視頻傳輸系統的設計與實現

游張華

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

ZigBee是以IEEE 802.15.4標準為基礎的一種低成本、低功耗的無線網絡技術,通過ZigBee協議棧,可將各ZigBee節點形成一個節點容量大、通信范圍廣的ZigBee網絡。而H.264是當今最好的視頻壓縮標準,具有碼流率低、圖像質量高、容錯能力強等優點。使用ZigBee網絡來傳輸H.264視頻碼流,是實現無線視頻傳輸系統的一種好方案。通過具體開發實例,從硬件和軟件兩個方面討論了該方案的設計與實現。

ZigBee;H.264;無線視頻傳輸系統

0 引言

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

1 系統總體設計

圖1 系統總體設計圖

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

2 ZigBee無線視頻終端的硬件設計

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

圖2 硬件基本結構圖

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

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

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

3 ZigBee無線視頻終端的軟件設計

3.1 圖像采集

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

3.2 圖像顯示

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

3.3 H.264編解碼

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

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

圖3 H.264編碼執行流程圖

圖4 H.264解碼執行流程圖

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

3.4 H.264無線傳輸

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

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

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

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

圖5 握手協議執行流程圖

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

圖6 協議重傳執行流程圖

4 系統測試

為了測試ZigBee發送端是否將每一幀H.264數據成功地傳輸到了ZigBee接收端,現在在ZigBee發送端和接收端之間依次放置1~4個ZigBee路由器,對100幀H.264數據進行傳輸測試。無線傳輸H.264圖像的測試結果如表1所示。

表1 無線傳輸H.264圖像的測試結果

可見,圖像從ZigBee發送端無線傳輸到ZigBee接收端所經過的路由器越少,傳輸的成功率越高。實際測試時,每秒能傳輸約14幀H.264圖像數據,基本上達到了無線視頻傳輸的要求。

5 結論

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

[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的無線傳感器網絡設計方案[J]. 電子元器件應用,2007,9(12):54-58.

[5] 王振玲.基于ZigBee無線傳感器網絡的監控系統的設計與實現[D].新鄉:河南師范大學,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視頻傳輸系統研究[D]. 西安:西安電子科技大學,2006.

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

Design and realization of wireless video transmission system based on ZigBee and H.264

You Zhanghua

(Shenzhen Huahai Liannet Technology Co., Ltd. , Shenzhen 518100, China)

ZigBee is a low-cost and low-power wireless network technology based on IEEE 802.15.4 standard. A large capacity and wide range ZigBee communication network can be formed using various ZigBee nodes through the ZigBee protocol stack. H.264 is currently the best video compression standard with a low stream rate, high image quality and high fault-tolerant capability etc. It’s a good scheme to realize wireless video transmission system using the ZigBee network to transmit H.264 video stream. The design and realization of hardware and software are discussed through a representative example.

ZigBee; H.264; wireless video transmission system

TP393.0

A

10.19358/j.issn.1674- 7720.2016.24.016

游張華. 基于ZigBee和H.264的無線視頻傳輸系統的設計與實現[J].微型機與應用,2016,35(24):54-56,60.

2016-07-29)

游張華(1980-),男,碩士,中級工程師,主要研究方向:嵌入式系統。

主站蜘蛛池模板: 91精品在线视频观看| 国产福利小视频高清在线观看| jizz亚洲高清在线观看| 一级黄色欧美| 久久无码av三级| 日韩成人免费网站| 无码粉嫩虎白一线天在线观看| 91在线播放免费不卡无毒| 国产日韩欧美成人| 免费在线a视频| 国产成人毛片| 国内丰满少妇猛烈精品播| 一级一级特黄女人精品毛片| 中国毛片网| 亚洲日韩欧美在线观看| 亚洲视频在线观看免费视频| 在线亚洲精品自拍| 在线观看国产黄色| 四虎成人免费毛片| 国产毛片基地| 99久久亚洲精品影院| 国产人人射| 亚洲v日韩v欧美在线观看| 91在线国内在线播放老师| 欧美第一页在线| 日韩久草视频| 久久人人97超碰人人澡爱香蕉| 亚洲欧美日韩成人在线| 国产人在线成免费视频| 日韩 欧美 小说 综合网 另类 | 色婷婷在线影院| 亚洲第一天堂无码专区| 狠狠色综合网| 91精品综合| 免费高清毛片| 91口爆吞精国产对白第三集| 日本妇乱子伦视频| 亚洲视频免费播放| 久久免费视频6| 亚洲人成在线免费观看| 国产成人狂喷潮在线观看2345| 欧美色综合网站| 免费毛片a| 麻豆国产精品视频| 国产成熟女人性满足视频| 亚洲福利一区二区三区| 国产精品性| 亚洲免费三区| 国内精品伊人久久久久7777人| 18禁黄无遮挡网站| 天堂网亚洲综合在线| 九九久久精品免费观看| 永久免费精品视频| 国产一级无码不卡视频| 欧美视频二区| 尤物视频一区| 午夜欧美在线| 激情五月婷婷综合网| 亚洲一级毛片| 美女免费黄网站| 人妻精品全国免费视频| 久久精品中文字幕免费| 国产在线观看第二页| 欧美精品不卡| 美女一级免费毛片| 无码啪啪精品天堂浪潮av| 在线观看国产精美视频| 黄色国产在线| 国产天天色| 日韩欧美国产三级| 99久久精品免费看国产电影| 国产精品亚洲天堂| 999国产精品永久免费视频精品久久 | 毛片基地视频| 国产成人免费视频精品一区二区| 国产欧美专区在线观看| 精品国产亚洲人成在线| 日韩二区三区无| 亚洲综合第一区| 国产一在线| 91尤物国产尤物福利在线| 麻豆国产精品一二三在线观看|