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

基于GM8180的嵌入式視頻服務器設計

2010-06-22 08:17:56吳昕李詠梅
單片機與嵌入式系統應用 2010年2期
關鍵詞:引擎嵌入式系統

吳昕,李詠梅

(1.廈門大學; 2.集美大學 計算機工程學院,廈門361021)

吳昕(碩士研究生),主要研究領域為嵌入式系統和流媒體技術;李詠梅(教授),主要研究領域為嵌入式系統和普適計算。

引 言

嵌入式網絡視頻服務器可將前端采集的視頻信號壓縮編碼后,通過IP網絡傳送到終端進行顯示或記錄。與傳統的模擬閉路視頻監控系統相比,由于采用IP網絡來傳輸數字視頻信號,擺脫了模擬信號線路衰減的距離限制,實現遠程監控。

目前流行的構建嵌入式網絡視頻服務器的方案有ARM+DSP和ASIC兩種。前者以TI公司和 ADI公司為代表,其優點在于具有很大的靈活性。利用DSP強大的計算能力,可以在前端嵌入式服務器中實現智能化和個性化的應用。但是由于ARM+DSP方案涉及音視頻編解碼器的開發,開發成本大和開發周期長使其飽受詬病。相比之下,ASIC方案通常在單芯片上集成視頻編碼器,使得開發人員能夠將精力集中在視頻服務器的設計當中,大大縮減了開發成本和時間。本文介紹一種基于ASIC芯片GM8180的嵌入式網絡視頻服務器方案。

1 系統硬件結構

GM8180是由臺灣智原(Faraday)公司推出的一款高性能SoC芯片,片上包含了主頻高達500 MHz的ARM9核以及H.264編/解碼引擎、MPEG4編/解碼引擎。除此之外,GM8180還集成了DDR控制器、Flash/S靜態存儲控制器,以及支持2路8位ITU-R BT.656視頻采集控制器、USB OTG 、MMC/SDC 、IDE 、I2C 、SPI、I2S 、AC97 等[1]。

系統框架如圖1所示,視頻服務器系統充分利用GM8180主芯片內帶有的兩路視頻采集通道,外接Philips公司的SAA7113H視頻解碼芯片實現2路CVBS視頻信號采集。視頻編碼直接使用片內集成的H.264編碼引擎進行H.264視頻編碼壓縮,無需外接其他編碼芯片。音頻采集方面,GM8180直接與Wolfson公司的WM8731音頻編解碼芯片連接,實現音頻的采集和回放。在網絡方面,GM8180集成了以太網MAC控制器,外圍直接連接以太網物理接口芯片DM9161A,即可完成以太網功能。此外,系統還包括了實時時鐘、DDR、NOR Flash、電源模塊等。

圖1 視頻服務器系統框圖

1.1 視頻采集模塊

GM8180片上集成的視頻采集模塊可以提供2路8位采集通道。輸出ITU-R BT.656的CMOS視頻采集模塊,可以直接與GM8180相連接;輸出CVBS或者S-Video模擬信號的采集模塊,則需要外接視頻解碼芯片。本系統中的視頻解碼芯片采用的是Philips公司的SA7113H。SAA7113H支持隔行掃描,支持 PAL、NTSC等多種視頻輸入格式,輸出支持ITU-R BT.656等多種格式,通過I2C總線控制,即可實現對輸入模擬信號的預處理、水平和垂直同步信號的分離,以及亮度和色度的設置等[2]。

GM8180片內集成了標準的I2C總線控制器,SAA7113H通過I2C總線與GM8180連接。在I2C總線上連接2塊SAA7113H時,可將其上的RTS0引腳懸空或拉低,為這兩塊SAA7113H配置不同的I2C地址。具體連接如圖2所示。

圖2 GM8180與SAA7113H接口

1.2 音頻采集模塊

GM8180支持多種音頻輸入接口,包括1個AC97和2個I2S接口。I2S是Philips公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準,主要用于家庭影院中的高質量音頻D/A轉換器。AC97則是以Intel為首的5家計算機廠商制定的規格標準,除規定音頻幀格式外,還具有控制功能[3]。

本系統使用Wolfson公司的WM8731音頻芯片,通過I2S總線連接GM8180。WM8731可以提供CD音質的音頻錄音和回放,為16 Ω的負載提供50 mW的輸出功率。該器件具有多種功耗降低模式,在回放模式的下典型功率消耗為8.5 mW,同步錄音和回放時的功率消耗為24 mW。待機模式下,供電電流可降低到50 μ A[4]。

GM8180與WM8731的連接如圖3所示,WM8731能夠支持立體聲采集和回放,在系統設計中將 WM8731立體聲采集/回放的左右聲道分別拆分成2路獨立單聲道的采集/回放通道使用。

1.3 其他模塊

網絡方面,GM8180集成了以太網接口控制器,支持RMII接口,可直接連接以太網物理接口芯片DM9161A。DM9161A是Davicom公司生產的一款低功耗、高性能的以太網物理層芯片,它完全兼容IEEE 802.3u l0Base-T/l00Base-TX標準,同時兼容ANSI TP-P(如 1995)標準;支持MII和RMII兩種接口模式,可完成對網絡數據的接收解碼和對數據幀的編碼發送。

此外,實時時鐘芯片S35390A通過I2C總線連接主芯片GM8180為系統提供準確、不間斷的時間信息以及定時報警服務。

2 系統軟件設計

在軟件的設計上,采用ARM-Linux 2.6操作系統作為嵌入式服務器軟件的承載平臺。ARM-Linux的源代碼完全免費開放,內核可任意裁剪,應用程序和驅動都非常豐富。在 ARM-Linux操作系統的基礎上,通過Video4Linux(V4L)接口采集的視頻圖像交由GM8180片內的H.264編碼引擎進行壓縮編碼;音頻上,通過OSS接口采集PCM數據進行自適應多速率窄帶語音(Adaptive Multi-Rate Narrowband,AMRNB)編碼。通過 RTSP流媒體服務器為用戶提供實時的音視頻訪問服務。

2.1 視頻采集驅動

V4L是Linux下用于獲取視頻數據的通用 API接口。將GM8180的視頻采集封裝成V4L接口,以便位于應用層的RTSP服務器開發使用。V4L驅動程序需向操作系統內核注冊video_device設備,用于指定文件操作接口,使得用戶層可以通過標準文件操作來采集視頻。

視頻采集的流程如圖4所示,用戶設置采集參數(例如圖像分辨率)時,驅動需要完成SAA7113H和GM8180片上視頻采集控制器的寄存器設置,以及驅動內核態下圖像數據緩沖區的分配等工作。此后,應用層以VIDIOCMCAPTURE標志和VIDEOSYNC標志為參數循環調用ioctl()函數來獲得視頻圖像數據。

圖3 GM8180與WM8731接口

當應用程序以VIDIOCMCAPTURE標志調用ioctl()函數時,驅動檢查采集控制器和DMA狀態,如果當前是正常的采集狀態,則ioctl()系統調用返回;如果當前不是正常的采集狀態,則重新觸發采集控制器和DMA。當應用程序以VIDEOSYNC標志調用ioctl()函數時,驅動先判斷采集緩沖區內是否有圖像數據,沒有則將調用者掛起在采集等待隊列中。直到采集完1幀完整的數據,在DMA中斷響應函數中調用wake_up()函數將采集等待隊列中的進程喚醒,返回圖像數據給應用層調用者。

圖4 視頻采集流程

2.2 H.264編碼引擎

GM8180片上集成支持基線檔次的H.264編碼引擎,該編碼引擎遵循AMBA 2.0總線規范。H.264編碼引擎通過AHB總線與主CPU和其他片上模塊相連。編碼引擎同時具有AHB主、從模塊功能:

◆當主CPU訪問編碼引擎內部寄存器時,編碼引擎為從模塊,主CPU作為主模塊;

◆當編碼引擎通過內建DMA讀寫系統內存時,編碼引擎為主模塊,DDR控制器為從模塊。

H.264編碼引擎內建了兩個DMA通道,通道0用于讀寫原始圖像、參考幀、重建幀等數據,通道1用于將編碼完的H.264碼流回寫到系統內存中。在編碼引擎工作之前,需要為圖像原始數據、參考幀、重建幀緩存分配物理上連續的內存空間,并將緩存起始地址和長度以一定格式組織成DMA命令鏈數組,設置給編碼引擎DMA通道0。將存放編碼后碼流數據的緩存基址設置給通道1。而H.264編碼參數,例如條帶類型、量化參數等則直接通過寄存器設置。

編碼1幀圖像時,H.264編碼引擎會根據DMA命令鏈數組中的圖像數據和參考幀緩存基址,以宏塊為單元讀入當前幀和參考幀,進行運動估計、運動補償、整型DCT變換和量化。通過DMA將重建幀寫到系統內存中,更新參考幀緩存。最后進行熵編碼,生成H.264碼流并通過DMA通道1寫回到系統內存中。完成編碼之后,編碼引擎通過中斷通知主CPU。

2.3 RTSP流媒體服務器

實時流協議(Real Time Streaming Protocol,RTSP)是由Real Networks和Netscape公司共同提出的,該協議定義了一對多的應用程序如何有效地通過IP網絡傳送多媒體數據的方法。RTSP協議構建在實時傳輸協議(Realtime Transport Protocol,RTP)和實時控制協議(Real Time Control Protocol,RTCP)之上,它使用 TCP或者UDP完成數據傳輸[5-6]。

如圖 5所示,RTSP服務器軟件設計為分層結構,采用socket網絡編程和pthread多線程技術實現。系統設計一個單獨的線程用于監聽RTSP端口以及進行RTSP會話的信令交互處理,這樣的設計保證服務器能夠對每個客戶連接作出快速的響應。當一個RTSP會話成功建立之后,服務器將為該會話分配一組RTP/RTCP端口以及相應的緩沖區,同時創建一個新的線程用于負責發送RTP和RTCP報文以及接收、分析客戶端反饋的RTCP接收者報告。在RTSP、RTP、RTCP協議實現和音視頻編碼器之間設計了一層實時流媒體管理層,通過它將音視頻采集和編碼驅動的初始化、采集數據、編碼以及在運行過程中更改采集或者編碼參數(如更改碼率、幀率、請求編碼關鍵幀)等操作抽象成統一的實時媒體文件接口。

圖5 RTSP服務器軟件結構

結 語

本文設計的基于GM8180的嵌入式視頻服務器,通過片上的H.264編碼引擎實現2路D1分辨率的H.264實時編碼,通過軟件實現2路AM RNB音頻編碼,以及實時流媒體傳輸的相關協議。充分挖掘了GM8180這款ASIC芯片的潛在性能。

[1]Faraday.GM8180 Data Sheet,2008.

[2]Philips Electronics.SAA7113H Data Sheet,1999.

[3]鄭靈翔.嵌入式 Linux系統設計[M].北京:北京航空航天大學出版社,2008.

[4]Wolfson Microelectronics.WM8731 Data Sheet,2001.

[5]IETF.RFC2326-Real Time Streaming Protocol(RTSP)[S],1998-04.

[6]IETF.RFC3550-RTP:A Transport Protocol for Real-Time Applications[S],2003-07.

猜你喜歡
引擎嵌入式系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
搭建基于Qt的嵌入式開發平臺
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 日韩毛片在线播放| 91热爆在线| 中日韩欧亚无码视频| 54pao国产成人免费视频| 国产在线视频自拍| 成人一级黄色毛片| 国产欧美日韩视频怡春院| 国产精品自在在线午夜| 亚洲AV无码乱码在线观看代蜜桃| 玖玖精品视频在线观看| 在线观看免费国产| 九九线精品视频在线观看| 99热这里只有精品免费| 特级做a爰片毛片免费69| 日本午夜精品一本在线观看 | 一级毛片无毒不卡直接观看| 欧洲高清无码在线| 色窝窝免费一区二区三区 | 国产乱子精品一区二区在线观看| 91精品国产麻豆国产自产在线| 久久综合色天堂av| 呦女精品网站| 亚洲Av激情网五月天| 99性视频| 国产精品手机在线观看你懂的| 91年精品国产福利线观看久久| 狠狠色婷婷丁香综合久久韩国 | 国产无码性爱一区二区三区| 成人在线天堂| 在线一级毛片| 午夜性爽视频男人的天堂| 在线国产资源| 日本久久久久久免费网络| 在线看片中文字幕| a毛片免费在线观看| 久久这里只有精品国产99| 欧美日韩中文国产| 国产丝袜无码一区二区视频| 毛片免费试看| 国产理论精品| 国产靠逼视频| 天天做天天爱夜夜爽毛片毛片| 干中文字幕| 亚洲国产天堂在线观看| 欧美日韩在线成人| 国产精品内射视频| 亚洲免费三区| 91久久偷偷做嫩草影院精品| 午夜电影在线观看国产1区| 亚洲AV电影不卡在线观看| 国产在线精品网址你懂的| 全色黄大色大片免费久久老太| 毛片网站免费在线观看| 亚洲无码91视频| 天堂中文在线资源| 国产视频久久久久| 国产精品尤物铁牛tv| 日本一区二区不卡视频| 国产精品密蕾丝视频| 被公侵犯人妻少妇一区二区三区| 亚洲IV视频免费在线光看| 亚洲二三区| 国产精品福利在线观看无码卡| 欧美一级高清片欧美国产欧美| 尤物特级无码毛片免费| 日韩人妻少妇一区二区| 99热这里只有精品在线播放| 天天视频在线91频| 色吊丝av中文字幕| 日韩欧美中文在线| 亚洲va在线观看| 亚洲成aⅴ人在线观看| 在线免费不卡视频| 国产成人凹凸视频在线| 国产成人精品男人的天堂| 欧美日韩综合网| 亚洲精品午夜天堂网页| 国产黄色免费看| 尤物亚洲最大AV无码网站| 国产综合在线观看视频| 成年人免费国产视频| 黄色三级网站免费|