《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 多路MPEG-4監控系統的設計與實現

多路MPEG-4監控系統的設計與實現

2008-08-27
作者:徐向敏 胡劍凌 徐 盛

??? 摘 要: 介紹了一個基于PCI總線的多路MPEG-4數字監控系統" title="監控系統">監控系統的設計與實現。本系統將采集到的多路音、視頻數據以MPEG-4標準進行壓縮編碼,將編碼后的數據碼流通過PCI總線傳送至計算機,并進行存儲、回放和檢索等處理。詳細介紹了整個系統的設計流程,同時介紹了板卡與主機之間實現高速數據傳輸的機制。本系統可在單機上實現16-32路的音、視頻監控,具有很高的性價比。
??? 關鍵詞: 數字監控系統? MPEG-4? 高速數據傳輸

?

??? 視頻監控系統的發展經歷了模擬監控和數字監控兩個階段。與模擬監控系統相比,數字監控系統不僅可以利用計算機對數據進行存儲、分析和檢索等處理,而且還具有抗干擾能力強、傳輸距離遠、圖像質量高等優點。數字監控系統也可以和計算機網絡相結合來實現系統的遠程控制,易于維護和管理。因此,數字監控系統正逐步取代模擬監控系統,具有良好的應用前景。
??? 目前國內的數字視頻監控系統中單機的監控能力一般不超過16路,每路的圖像壓縮碼率的調節范圍較小,而且圖像格式主要以CIF為主[5~6]。本文介紹的系統在單機上最多可以達到32路的監控能力,而且可以保證音、視頻的嚴格同步。同時,本系統支持CIF和QCIF等多種圖像格式,壓縮碼率調節范圍較大,可以滿足多種場合的監控需求。
1 多路MPEG-4監控系統結構
??? 本系統采用基于PCI總線板卡的架構,一塊板卡可以監控4路音、視頻數據。系統視頻輸入支持NTSC和PAL制式,采用MPEG-4標準對輸入的多路音、視頻信息進行壓縮編碼、解碼,并提供運動檢測等附加功能。在工控機上,利用軟件可以很方便地對采集到的音、視頻信息進行存儲、檢索和回放。系統利用高速PCI總線與微機進行通信,實現高速數據和控制碼流的傳輸。整個硬件系統由攝像和云臺模塊、電源模塊、視頻采集模塊、視頻預處理模塊、EPLD控制模塊" title="控制模塊">控制模塊、音頻編碼模塊" title="編碼模塊">編碼模塊、MPEG-4多媒體壓縮編碼模塊和PCI總線控制模塊組成,其連接框圖如圖1所示。

?


??? 多路視頻采集模塊對輸入的視頻信號進行模/數轉換。該模塊支持復合視頻輸入,經過轉換后的輸出信號是符合ITU-656標準的4:2:2的數字視頻信號。同時,該模塊能夠自動識別輸入信號的制式。其支持的復合視頻制式有NTSC、PAL和SECAM三種。
??? 視頻預處理模塊通過對模塊中芯片的內部寄存器進行設置來實現對視頻輸出的亮度、對比度和色度的調整,以及對視頻圖像尺寸、子圖的大小、位置等的控制。
??? EPLD控制模塊主要根據控制流信息將視頻預處理模塊輸出的ITU-656數字視頻進行格式轉換,并輸出到MPEG-4壓縮編碼模塊中。同時,它也提供行、場等同步信號。EPLD控制模塊還根據后向控制流為音頻編碼模塊提供多路幀同步信號。
??? 音頻編碼模塊對輸入的音頻進行μ律PCM編碼。MPEG-4多媒體壓縮編碼模塊完成音、視頻信號的MPEG-4壓縮編碼,并輸出到PCI總線控制模塊,同時提供運動檢測等附加信息。PCI總線控制模塊主要負責板卡與主機間的MPEG-4碼流和控制流信息的高速傳輸。
2 MPEG-4壓縮編碼模塊
??? MPEG-4壓縮編碼模塊采用的是INTIME公司的IME6400芯片。IME6400是一塊多通道實時數字音視頻MPEG-4/2/1壓縮芯片。它不僅可以支持原始的音、視頻信息,而且還支持PCM編碼的音頻信號等。IME6400具有多種輸出數據格式,這使得它在圖像數據存儲、傳輸等方面具有廣泛的應用。
??? IME6400是按照內部的fireware工作的。在實現上,fireware軟件既可以存放在一個外掛的ROM中,也可以從外部主機通過IME6400的 Host Interface(主機接口)下載到芯片中去[1]。本系統中采用外掛ROM的方法,這樣用戶可以選擇fireware的版本并定期進行軟件更新。IME6400的原理框圖[1]如圖2所示。

?


??? 在本系統中,音頻編碼模塊和EPLD控制模塊的輸出與IME6400的音、視頻輸入模塊相連接,然后由IME6400完成音、視頻信號的MPEG-4壓縮編碼。IME6400利用主機接口和PCI總線控制模塊之間的相連,構成數據和控制通道。同時,外掛SDRAM用來存儲已編碼的碼流,而內部1KByte的FIFO用來實現編碼碼流的快速傳輸。外部主機可以按照規定的流程對一些恰當的主機接口控制寄存器進行讀或寫操作,還可以完成直接寄存器讀寫、IME6400系統內存的訪問、FIFO緩沖區的訪問和firmware軟件的下載等操作。
??? 除了上述功能外,IME6400還可以根據主機自定義的運動檢測要求實現運動檢測,并將檢測到的信息以包的形式傳送給主機。
3 PCI總線控制模塊
?? ?PCI總線控制模塊采用的是PHILIPS公司的SAA7146A PCI橋芯片。它具有三個視頻DMA通道和四個音頻DMA通道,同時集成了一些單元模塊,如MMU、BPS和HPS等。它還包含了眾多接口,可以和眾多的音、視頻處理芯片實現無縫連接,為多媒體數據的傳輸和處理提供比較廣泛的應用。SAA7146A的原理框圖[2]如圖3所示。

?


??? 數據擴展總線接口(DEBI)為外圍設備提供了8/16位的數據傳輸和控制功能,支持立即傳輸和塊傳輸兩種方式。在系統中,SAA7146A的DEBI跟MPEG-4壓縮編碼模塊相連接,實現MPEG-4壓縮碼流的接收。同時,通過PCI總線接口模塊,利用DMA傳輸方式在計算機和硬件板卡間實現壓縮碼流的高速傳輸。SAA7146A具有I2C總線接口,可以很方便地對具有I2C接口的外圍芯片進行控制。
?? ?SAA7146A中的D1接口可以和視頻解碼芯片或視頻壓縮芯片相連接,利用HPS可以對視頻信號進行定標、縮放等處理,也可以利用BRS對視頻信號進行CIF、QCIF或者QQCIF格式轉換。除此之外,SAA7146A還提供了與音頻處理芯片連接的多個接口。
4 高速數據傳輸機制的設計
??? 整個系統的軟件主要由兩部分組成。一是設備驅動程序" title="設備驅動程序">設備驅動程序,主要負責硬件板卡和計算機之間的交互;二是上層應用程序" title="應用程序">應用程序,用于實現系統的功能。由于多路監控系統的數據傳輸量非常大,因此設計一個高效的驅動程序以實現高速數據傳輸對整個系統的性能具有重要的影響。
4.1 驅動程序的設計
?? ?本系統的設備驅動程序采用了Windows 2000下的Windows Driver Model(WDM)驅動程序。在Windows2000中,系統有兩種命名設備的方法:一種是使用符號連接名,但它的安全性不是很好[4];另一種是利用具有唯一性的GUID號表示設備接口。上層應用程序可以通過上面兩種方法獲得有效的設備句柄,并利用這個設備句柄實現對設備驅動程序的訪問。當上層應用程序調用WIN32 API函數后,將由Win32子系統調用I/O服務接口,并傳送給內核模式下的I/O系統服務模塊。接著,I/O管理器將檢查這個請求的參數,然后創建一個合適的I/O請求包(IRP)。這個IRP經過分層驅動程序的處理傳送給一個合適的設備驅動程序,并由這個程序通過硬件抽象層對硬件進行操作,完成這個IRP請求。最后,I/O管理器把結果和數據還回給應用程序[3]
?? ?在本系統的Windows2000的WDM驅動程序中,除了基本的功能模塊[3](如PNP模塊、Dispatch模塊、Power模塊等)外,可以把其余部分大概分為板卡初始化模塊、參數設置模塊、中斷服務模塊和DMA傳輸模塊等。
?? ?為了能夠使PCI總線控制模塊實時地從壓縮編碼模塊中讀取壓縮碼流,并及時地傳送給計算機,本系統采用了中斷機制。當壓縮編碼模塊中的FIFO滿時,壓縮編碼模塊產生一個中斷信號,通知PCI總線控制模塊啟動DMA,利用塊傳輸方式讀取FIFO中的數據。同時,IME6400將后面的編碼數據暫存在外掛的SDRAM中。
?? ?PHILIPS公司的SAA7146A是一片具有總線主控DMA控制器的PCI橋芯片,可以實現內存和設備間快速的數據傳輸。本系統采用“基于包”的DMA傳輸方式;同時,為了進一步提高速度,使DMA將數據直接搬移到用戶應用程序中所申請的循環緩存區中。DMA的流程如圖4所示。其中,Saa7146Read例程的主要功能是進行DMA的初始化操作,并啟動編碼碼流輸出。AdapterControl例程確保計算機處理器高速緩存中的內容為當前使用的內存緩沖區中的內容。DpcForIsr例程完成內存物理地址和傳輸的數據長度的獲得,并把它們寫到DMA控制寄存器中,該例程還在合適的條件下與應用程序利用事件進行通信。

?


4.2 傳輸機制的設計
??? 在數字監控系統中,為了實現數據的實時傳輸,應該仔細設計設備驅動程序和上層應用程序間的數據傳輸機制,來確保數據的完整性和實時性。
??? Windows2000操作系統把虛擬內存地址空間分為用戶模式的虛擬地址空間和內核模式的地址空間。一般來講,內核模式驅動程序幾乎不使用用戶模式的虛擬地址來訪問內存。實際上,Windows2000操作系統為驅動程序訪問用戶模式的數據緩沖區提供了一種方法:通過應用程序調用DeviceIoControl、ReadFile和WriteFile等API函數,傳遞給這些函數用戶模式的虛擬地址和數據長度等參數,這樣就相當于向I/O管理器提供了一個數據緩沖區。I/O管理器再根據設備驅動程序中指定的三種不同機制[3](buffer方式、direct方式和neither方式)中的一種,利用不同的實現方法來實現用戶模式和內核模式間數據的共享。
??? Buffer方式是一種在對速度要求不高的情況下常用的方法。在本系統的板卡初始化模塊和參數設置模塊中,由于對速度、數據量的要求都不是很高,所以采用了這種方式的共享方法。但是在DMA傳輸模塊中,為了能夠實現大量的MPEG-4碼流的高速實時傳輸,本系統設法省去了數據傳輸中間的復制過程,將編碼碼流數據直接搬移到應用程序的一個循環緩沖區中去。本系統采用的這種方法有點像neither方式,具體的實現方法如下:應用程序申請并鎖定一塊循環緩沖區,然后將得到的這塊內存的用戶模式虛擬地址和長度傳送給內核設備驅動程序。在設備驅動程序中,利用傳送下來的用戶模式地址和緩沖區長度為這塊用戶模式緩沖區創建MDL(內存描述符),并將它映射到內核模式地址空間,得到一個內核模式的虛擬地址,這樣驅動程序就可以通過這個地址直接訪問應用程序申請的共享內存塊。
??? 除了上述的方法外,共享內存塊也可以由內核驅動程序申請的系統緩沖區來充當,并通過轉換得到用戶模式的虛擬地址,應用程序就可以通過這個地址直接訪問系統地址。
??? 另外,為了實現應用程序和驅動程序的同步,采用了共享事件的方法[4]。在Windows2000中,應用程序和內核驅動程序可以共享同一命名的事件,這個事件可以由任意一方創建。當其中一方創建了一個事件后,就可以把這個事件的句柄傳送給另一方來實現事件的共享,然后通過一方捕獲事件信號態、另一方設置事件信號態的方法實現兩者間的通信。
??? 在一臺CPU速度為1.8G、內存為512M的工控機上,本系統可支持8塊壓縮板卡同時工作,從而提供對32路音視頻數據的監控能力,系統的壓縮率在較寬的范圍內可調。
參考文獻
1 IME6400 MPEG4/2/1 Encoder Hardware Reference Manual.?INTIME, 2002
2 PHILIPS SAA7146A Data Sheet. PHILIPS, 1998
3 Walter Oney. Programming the Microsoft Windows Driver?Mode.? Microsoft Press, 1999
4 武安河,周利莉. Windows設備驅動程序開發實務. 北京:電子工業出版社,2001
5 www.coleatec.com
6 www.webx.com.cn

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
美女国产一区| 麻豆久久精品| 亚洲欧洲一区二区在线播放| 午夜亚洲视频| 亚洲一区中文| 亚洲午夜激情在线| 在线一区二区视频| 亚洲美女精品久久| 亚洲激情视频在线观看| 影音先锋日韩有码| 在线国产亚洲欧美| 在线国产日韩| 亚洲国产精品v| 亚洲成人中文| 亚洲国产精品久久久| 国产精品草莓在线免费观看| 欧美日韩国产综合视频在线| 欧美精品二区三区四区免费看视频| 亚洲日本视频| 亚洲第一精品久久忘忧草社区| 亚洲电影天堂av| 国产一区av在线| 国产一区二区三区黄| 国产精品一卡| 国产日韩欧美高清| 国产一区二区丝袜高跟鞋图片 | 一色屋精品视频在线观看网站| 蜜臀av性久久久久蜜臀aⅴ| 快she精品国产999| 欧美不卡福利| 欧美人在线观看| 欧美体内谢she精2性欧美| 欧美日韩一区二区免费在线观看| 久久久久久91香蕉国产| 久久久综合精品| 欧美成人免费一级人片100| 欧美久久久久久久久| 欧美网站在线| 国产欧美日韩免费| 国产又爽又黄的激情精品视频| 国产精品美女在线观看| 国产美女精品一区二区三区| 黄色精品在线看| 亚洲人体一区| 亚洲在线国产日韩欧美| 欧美资源在线观看| 日韩视频一区二区三区在线播放免费观看 | 亚洲深爱激情| 中文精品视频| 欧美在线视频不卡| 日韩视频国产视频| 亚洲欧美制服另类日韩| 久久这里有精品视频| 欧美a级一区| 国产精品毛片va一区二区三区 | 国产精品99一区二区| 国产乱子伦一区二区三区国色天香| 欧美日韩国产另类不卡| 国产精品久久久久久超碰| 国语自产偷拍精品视频偷| 亚洲日本一区二区三区| 亚洲欧美日韩人成在线播放| 亚洲国产精品一区二区三区| 亚洲一区高清| 米奇777超碰欧美日韩亚洲| 国产精品a久久久久| 国产自产女人91一区在线观看| 国产亚洲精品综合一区91| 亚洲国产经典视频| 亚洲欧美在线看| 日韩视频在线永久播放| 久久精品亚洲一区二区三区浴池| 欧美一区二区免费观在线| 欧美成人tv| 国产视频精品va久久久久久| 亚洲日本国产| 久久精品国产亚洲精品| 亚洲视频 欧洲视频| 噜噜噜躁狠狠躁狠狠精品视频| 久久先锋影音av| 国产精品久久97| 亚洲黄色一区| 午夜精品一区二区三区电影天堂| 午夜精品久久久久久久99樱桃| 亚洲欧美区自拍先锋| 99视频精品全部免费在线| 久久久精品免费视频| 欧美亚洲成人精品| 亚洲精品乱码久久久久久久久| 亚洲人成在线观看网站高清| 欧美在线观看你懂的| 亚洲免费一在线| 欧美精品久久久久久| 国模大胆一区二区三区| 亚洲欧美日韩国产综合在线| 一本色道久久加勒比精品| 亚洲深夜福利网站| 99re6这里只有精品视频在线观看| 亚洲国产视频一区二区| 亚洲欧美在线免费观看| 欧美日韩精品免费看| 一区福利视频| 欧美尤物一区| 久久狠狠久久综合桃花| 国产精品色午夜在线观看| 日韩亚洲欧美一区二区三区| 亚洲精品一区二区在线观看| 免费亚洲电影在线| 狠狠色狠狠色综合日日小说| 欧美一级淫片播放口| 欧美在线免费一级片| 国产精品久久久久7777婷婷| 亚洲乱码国产乱码精品精可以看 | 亚洲欧美日韩精品久久久| 欧美激情在线观看| 亚洲黄一区二区| 久久精品日韩一区二区三区| 久久都是精品| 国产日韩欧美一区| 欧美一区二区精品| 久久精品在线视频| 国产日韩欧美亚洲一区| 欧美伊人久久| 久久一区二区三区av| 一区二区三区在线观看视频| 亚洲国产女人aaa毛片在线| 美国成人直播| 最近中文字幕日韩精品| 99精品欧美一区| 欧美日韩国产精品成人| 一区二区三区精品国产| 午夜免费久久久久| 国产欧美一区二区三区另类精品| 亚洲国产精品一区二区第一页| 这里只有精品视频在线| 在线视频精品一| 国产精品福利久久久| 亚洲一区国产| 久久精品免费播放| 精品成人国产在线观看男人呻吟| 欧美日韩第一区| 日韩视频欧美视频| 亚洲一区国产视频| 国产欧美91| 亚洲电影中文字幕| 欧美国产欧美综合 | 国产亚洲欧美日韩美女| 性做久久久久久| 老色批av在线精品| 亚洲国产精品123| 亚洲一区二区视频| 国产亚洲精品bv在线观看| 亚洲国产三级在线| 欧美日韩一区二区高清| 亚洲欧美综合| 免费美女久久99| 99xxxx成人网| 久久成人精品电影| 亚洲国产91精品在线观看| 亚洲一区二区精品视频| 国产一区二区精品丝袜| 亚洲精品久久嫩草网站秘色| 欧美午夜无遮挡| 久久国产婷婷国产香蕉| 欧美精品在线视频| 亚洲欧美在线一区二区| 欧美高清在线一区| 亚洲午夜一区二区三区| 久久夜色精品亚洲噜噜国产mv | 国产一区二区高清不卡| 亚洲成色999久久网站| 欧美激情中文字幕在线| 欧美中文字幕久久| 欧美日韩一区二区三区四区五区| 韩国女主播一区| 亚洲久久一区| 国产精品青草久久| 久久精品国产亚洲精品 | 国产日韩高清一区二区三区在线| 一区二区三区久久| 另类酷文…触手系列精品集v1小说| 国产日韩亚洲| 日韩一本二本av| 国产日本欧美在线观看| 91久久夜色精品国产九色| 国产精品久久久久久久久久久久久久| 中文欧美在线视频| 免费不卡在线观看| 中文有码久久| 牛牛影视久久网| 午夜电影亚洲| 欧美日韩免费| 亚洲国产毛片完整版| 国产精品视频区| 99精品热视频| 韩国一区二区三区美女美女秀| 亚洲高清色综合| 国产精品剧情在线亚洲| 日韩一级免费观看| 国产主播一区二区三区四区|