《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于PCI總線的MPEG-1壓縮卡軟硬件設計及實現

基于PCI總線的MPEG-1壓縮卡軟硬件設計及實現

2008-08-22
作者:劉偉峰, 唐曉英

  摘? 要:? 隨著計算機技術、多媒體和數據通信技術的發展,計算機視頻的應用越來越廣。但視頻通常由于數據量巨大,應用受到不少限制。為解決視頻數據" title="視頻數據">視頻數據的存儲和傳輸,唯一途徑就是對視頻數據進行壓縮。結合目前實際需求,給出了一種基于PCI總線的MPEG-I壓縮卡的軟件、硬件實現方案。

  關鍵詞: PCI總線? WDM驅動? MPEG-1壓縮卡

?

  隨著計算機技術、多媒體和數據通信技術的高速發展,人們生活水平的提高,對計算機視頻的需求和應用越來越多,如視頻監控、視頻會議、計算機視覺等。計算機視頻提供給人的信息很多,但是視頻的數據量很大,不利于傳輸和存儲,使其應用受到不少限制。為解決視頻數據的存儲和傳輸,唯一途徑就是對視頻數據進行壓縮。

  目前常見的視頻壓縮方法有MPEG-1、MPEG-2、MPEG-4、H.261、H.263等。考慮壓縮技術的成熟度和該壓縮卡的主要用途,本文采用MPEG-1作為壓縮標準,研制了基于PCI總線的MPEG-I壓縮卡。該卡適用于視頻監控、視頻會議等多種應用場合。該卡加上一臺主機、攝像頭和軟件可構成一個完整的視頻采集壓縮系統。

1 系統特點

  (1)支持BNC、RCA、S-VIDEO視頻接口;

  (2)支持PAL和NTSC制式;

  (3)可對視頻實時預覽,最大分辨率可達720×576×32;

  (4)可對聲音進行同步監聽;

  (5)可對音、視頻信號進行MPEG-I壓縮,生成MPEG文件和VCD文件;

  (6)用戶可編程MPEG-1編碼設置,可支持CBR和VBR;

  (7)可一機多卡同時工作;

  (8)可從動態影像中捕獲單幀,生成JPG和BMP文件;

  (9)支持Win98/Win2000。

2 系統硬件設計

2.1 系統組成

  該系統主要由視頻解碼、音頻解碼、壓縮核心和PCI接口等組成,其總體框圖如圖1所示。

?

2.2 視頻解碼設計

  視頻解碼部分主要完成模擬視頻到數字視頻的處理,以供后面預覽、壓縮用。視頻解碼芯片常用的有SAA7110、SAA7113和SAA7114等。本方案中采用Philips公司的SAA7114。SAA7114有六路模擬輸入,內置模擬源選擇器可構成6×CVBS、2×Y/C,2×CVBS、1×Y/C和4 ×CVBS;兩路模擬預處理通道,內有抗混迭濾波器;CVBS或Y/C通道含完全可編程靜態增益控制或自動增益控制功能,對CVBS、Y/C通道可進行自動鉗位控制;能自動檢測50Hz/60Hz場頻,并可自動在PAL和NTSC制式進行切換;能將PAL、NTSC和SECAM信號解碼及模數變換得到符合ITU-601/ITU-656的數字電視信號。該芯片是目前視頻解碼芯片中接收視頻源的寬容性及視頻解碼圖像質量最好的一種。其通過I2C接口,進行初始化設置。

  本系統采用Image Port作為數字視頻輸出端口,數字視頻格式采用ITU-656,AI11(PIN 20)作為BNC/RCA輸入腳,AI12、AI22作為S-VIDEO輸入腳。

2.3 音頻解碼設計

  音頻解碼的數據一部分提供給SAA7146A作聲音監聽用,另一部分用于壓縮。考慮到成本,本系統采用BURR-BROWN公司的PCM1800E。該芯片是雙聲道單片ΔΣ型20 位ADC,單+5V電源供電,信噪比為95dB(典型值),動態范圍95dB(典型值),內嵌高通濾波器,支持四種接口方式和四種數據格式。其采樣頻率為32kHz、44.1kHz和48kHz可選。

  本系統采用從模式,20位I2S數據格式。主時鐘由SAA7114提供。

2.4 MPEG-1壓縮部分設計

  本系統中MPEG-I壓縮芯片選用ZAPEX公司的SZ1510。該芯片基于TI的TMS320C54x DSP內核,能對ITU-601/ITU-656數字電視信號和PCM音頻流進行MPEG-1實時壓縮,可生成多種流,如音頻基本流、視頻基本流、音視頻復合流等。

  該芯片外接27MHz晶振,可支持多種主機接口,可工作在復用" title="復用">復用或非復用、Intel或Motorola類型總線。通過輸入管腳HCONFIG[1:0]和SysConfig寄存器可設置成六種總線接口類型:Intel 8051類型的數據/地址復用的8位總線、Motorola類型的數據/地址復用的8位總線、Intel 8051類型的非復用的8位數據總線、Motorola類型的非復用的8位數據總線、Intel 8051類型的非復用的16位數據總線和Motorola類型的非復用的16位數據總線。支持I2S聲音接口。

  本系統中采用Intel 8051類型的非復用的16位數據總線。

2.5 PCI接口部分設計

  本系統中PCI接口芯片選用SAA7146A,該芯片并不是通用的PCI接口芯片,而是一個多媒體橋(Multimedia Bridge)。方框圖如圖2。該芯片符合PCI2.1規范。它有八個DMA通道,三個視頻,四個音頻,一個DEBI(Data Expansion Bus Interface)。還具有兩路視頻通道,可對視頻數據進行縮放,一路可無級縮放HPS(High Performace Scaler),其縱向可達1:1024、橫向可達1:256;另一路有級縮放BRS(Binary Ratio Scaler)支持CIF和QCIF格式。

?

  音頻接口以I2S為基礎,通過編程控制以支持MSB-FIRST的不同格式及不同的時序格式。

  本系統中該部分主要實現功能如下:

  (1)通過DEBI接收SZ1510產生的MPEG-1數據,傳輸到內存;

  (2)通過視頻接口,接收SAA7114輸出的視頻解碼信號,并進行亮度、色度、飽和度的控制,并實現無級縮放功能,實現視頻預覽功能;

  (3)通過音頻接口,接收PCM1800E輸出的PCM編碼信號,傳輸到內存,實現聲音監聽功能;

  (4)提供符合PCI2.1規范的接口,將板上數據傳輸到主機內存。

3 軟件設計

  軟件設計主要包括驅動程序設計和應用層" title="應用層">應用層的API設計。驅動程序主要負責與硬件打交道,應用層API主要負責與驅動程序接口。由于設計了應用層的API,應用程序可很容易在上面進行開發。

3.1 驅動程序設計

??? 為了支持Windows2000和Windows98,采用WDM(Windows Driver Model)驅動程序。WDM 作為微軟的最新驅動程序模型與傳統的Win3.x和Win95使用的VxD驅動完全不同。WDM可支持電源管理、自動配置和熱插拔等。WDM驅動的設計可以采用Driver Studio(DS)、Windriver、DDK(Driver Device Kit)等。本系統驅動采用Windows 2000 DDK借助VC6.0設計。

3.1.1 MPEG-I壓縮部分

??? 在驅動中,重置SZ1510后,就可以裝載相應工作模式的微碼;根據需要,設置好相應寄存值后就可以啟動SZ1510對視頻數據進行MPEG-1編碼。每當產生的壓縮數據超過SZ1510內部的FIFO門限后,SZ1510產生相應中斷,內核調用中斷例程" title="例程">例程,在中斷例程中調用中斷延遲例程(DPC),在中斷延遲例程中接收產生的壓縮數據。SZ1510提供兩種方式提取數據,一種用I2C總線接口方式,另一種用DEBI方式。

  在本系統中,采用DEBI進行壓縮數據的傳輸。考慮到壓縮數據產生的速度,本系統開了32頁大小的緩沖區,在中斷延遲例程中填充該緩沖區。每當填滿8頁大小后,產生一個事件通知應用層進行數據讀取。通過這種方式,可以避免壓縮數據的丟失。

其流程圖如圖3所示。

?

  在驅動中,壓縮數據的提取方式將極大地影響生成MPEG文件的質量。如果處理不當,將導致馬賽克、跳幀等現象。

3.1.2 驅動程序中用戶緩沖區的訪問

  驅動程序訪問用戶內存主要通過緩沖I/O" title="I/O">I/O和直接I/O。緩沖I/O,I/O管理器創建一個內核模式拷貝緩沖區,并把用戶緩沖區的內容拷貝到該緩沖區中,并在IRP首部的AssociateIrp.SystemBuffer域中存儲該非分頁內存地址。驅動程序可簡單地讀寫該塊內存。直接I/O,I/O管理器為輸入數據提供一個內核模式拷貝緩沖區,對輸出數據提供一個內存描述符(MDL)。為了使用緩沖I/O或直接I/O,在創建設備時,必須設置設備對象的Flags域中的DO_BUFFERED_IO標志位來使用緩沖I/O或設置DO_DIRECT_IO標志位來使用直接I/O。

  在本驅動中由于緩沖I/O和直接I/O都被使用,DO_BUFFERED_IO標志位和DO_DIRECT_IO標志位都被設置。

在定義IOCTL碼中,對緩沖I/O使用METHOD_BUFFEERED,對直接I/O使用METHOD_OUT_DIRECT。

3.2 應用層API設計

  應用層對驅動程序的訪問通過調用Win32 I/O函數(如ReadFile、WriteFile和DeviceIoControl)訪問。當應用層調用Win32 I/O函數以請求I/O后,該請求由內核的I/O系統服務接收,I/O管理器對該請求構造合適的IRP包,并將其傳給驅動程序棧,IRP在棧中進行傳遞,傳到驅動程序進行處理,并將結果返回給應用程序。

  通過應用層API,在其上面可進一步開發各類應用程序。

  本系統達到了預期的要求,能夠在音視頻采集過程中對視頻、音頻進行實時預覽、監聽。壓縮生成的文件可在標準媒體播放器上播放,并可對生成的VCD文件進行刻錄,然后由VCD機播放。

?

參考文獻

1 SAA7416A Data Sheet . Philips Semiconductors. 1998

2 SAA7114 Data Sheet. Philips Semiconductors. 1999

3 SZ1510-MPEG A/V Encoder DataSheet. Version 3.0.Emblaze Research. 2001

4 PCM1800 Data Sheet. Burr-Brown Corporation.1997

5 Art Baker et al. Windows 2000設備驅動程序設計指南(原書第二版).北京:機械工業出版社,2001

6 Chris Can. Windows WDM 設備驅動程序開發指南.北京:機械工業出版社,2000

7 王興東. MPEG-I實時視頻壓縮及其應用. 電子技術,2002;(12)

8 銳 崗. 基于Windows 2000 WDM模型的AD板采樣驅動程序的設計.計算機應用研究,2001;(8)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
中日韩美女免费视频网站在线观看| 欧美一站二站| 亚洲一区二区毛片| 日韩视频精品在线| 在线国产亚洲欧美| 极品av少妇一区二区| 国产一区二区三区久久久| 国产欧美一区二区视频| 国产精品爽黄69| 国产精品嫩草久久久久| 国产精品久久久久久久9999| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 亚洲一区二区在线视频| 正在播放亚洲一区| 亚洲天堂av图片| 亚洲永久字幕| 午夜久久99| 亚久久调教视频| 欧美中文字幕在线观看| 久久99在线观看| 久久久久久色| 嫩草国产精品入口| 欧美国产精品v| 欧美日韩三区| 国产久一道中文一区| 国产午夜精品全部视频播放| 黄色亚洲大片免费在线观看| 1024精品一区二区三区| 亚洲精品一区中文| 中日韩在线视频| 午夜精品剧场| 亚洲国产精品尤物yw在线观看| 亚洲激情午夜| 夜夜嗨av一区二区三区免费区| 亚洲视频在线观看三级| 性欧美超级视频| 久久久久九九九| 欧美成人午夜激情视频| 欧美日韩中文字幕精品| 国产麻豆成人精品| 一区二区自拍| 日韩天堂av| 香蕉久久一区二区不卡无毒影院| 久久精品视频导航| 日韩一区二区精品在线观看| 亚洲欧美视频| 老**午夜毛片一区二区三区| 欧美日韩国产综合新一区| 国产精品视频不卡| 今天的高清视频免费播放成人| 亚洲人被黑人高潮完整版| 亚洲天堂av综合网| 国产一区自拍视频| 美女日韩欧美| 欧美日本免费| 国产免费亚洲高清| 亚洲国产另类精品专区| 亚洲一区二区免费看| 亚洲国产精品一区二区www| 亚洲一级黄色片| 久久在线观看视频| 欧美三级不卡| 黑人巨大精品欧美黑白配亚洲| 日韩亚洲综合在线| 欧美一区二区三区四区在线观看地址 | 亚洲日本欧美| 欧美一乱一性一交一视频| 欧美a级一区二区| 国产精品日韩在线观看| 激情综合激情| 亚洲影音一区| 亚洲精品激情| 久久久久久久一区二区三区| 欧美色图首页| 亚洲国产导航| 欧美在线不卡| 亚洲影视在线| 欧美激情第10页| 国产一区二区久久久| 99国产精品久久久久久久久久| 欧美一区三区二区在线观看| 在线亚洲美日韩| 免费观看30秒视频久久| 国产精品亚洲一区二区三区在线| 亚洲第一精品福利| 欧美诱惑福利视频| 午夜精品一区二区三区电影天堂 | 久久久久高清| 国产精品实拍| 一本色道久久加勒比精品| 亚洲精品字幕| 久久综合狠狠综合久久综合88| 国产精品午夜在线观看| aa日韩免费精品视频一| 91久久国产精品91久久性色| 亚洲精选大片| 亚洲激情另类| 久久久爽爽爽美女图片| 国产美女精品一区二区三区| 一区二区三区国产| 99精品免费| 欧美精品久久久久久久久老牛影院 | 国产一区二区精品丝袜| 亚洲欧美成人一区二区在线电影| 亚洲无线视频| 欧美日韩国产另类不卡| 亚洲国产欧美一区| 91久久在线播放| 久久亚洲精品伦理| 国产欧美日韩亚州综合| 亚洲一区在线播放| 亚洲欧美三级在线| 国产精品日韩| 久久久久久久97| 亚洲深爱激情| 亚洲一区二区三区乱码aⅴ| 欧美日韩一区在线观看| 99国产精品久久久| 一本久道久久综合婷婷鲸鱼| 欧美精品日韩精品| 最新国产乱人伦偷精品免费网站| 亚洲精品视频啊美女在线直播| 欧美+日本+国产+在线a∨观看| 亚洲第一精品影视| 日韩一区二区免费高清| 欧美日韩在线播放三区| 在线视频中文亚洲| 亚洲欧美日韩一区二区三区在线观看 | 亚洲欧美国产精品va在线观看| 欧美色欧美亚洲高清在线视频| 夜夜精品视频一区二区| 亚洲自啪免费| 国产精品专区一| 欧美一区成人| 久久综合九色综合欧美狠狠| 18成人免费观看视频| 日韩午夜视频在线观看| 欧美日韩喷水| 亚洲欧美日韩一区二区三区在线观看| 欧美怡红院视频一区二区三区| 国产亚洲成精品久久| 亚洲国产精品成人| 欧美精品日韩一区| 在线视频精品一| 久久精品国产久精国产爱| 狠狠色香婷婷久久亚洲精品| 亚洲日产国产精品| 欧美日韩亚洲一区二区三区四区 | 亚洲一区bb| 久久久久国内| 亚洲激情网站| 午夜视频一区在线观看| 韩国av一区二区| 99精品免费| 国产伦精品一区二区三区视频黑人 | 亚洲欧美久久| 国模一区二区三区| 99国产精品视频免费观看| 国产精品系列在线播放| 亚洲福利视频网| 欧美日一区二区在线观看 | 国产精品美腿一区在线看| 欧美自拍偷拍| 欧美黄色网络| 亚洲欧美日韩在线不卡| 欧美a级片一区| 亚洲一区在线播放| 欧美大片一区二区三区| 亚洲一区二区免费视频| 老司机精品视频一区二区三区| 亚洲精品综合久久中文字幕| 欧美影院成人| 最新日韩av| 久久精品91久久香蕉加勒比| 亚洲精品久久视频| 久久九九精品| 一区二区三区精品视频在线观看| 久久视频这里只有精品| 99国产精品国产精品毛片| 久久久久久穴| 亚洲少妇在线| 欧美国产激情二区三区| 欧美一级淫片播放口| 欧美日韩亚洲一区二区三区在线| 欧美专区福利在线| 国产精品九色蝌蚪自拍| 亚洲看片网站| 国产在线精品二区| 亚洲在线免费| 最新国产乱人伦偷精品免费网站 | 欧美—级a级欧美特级ar全黄| 亚洲欧美成人一区二区在线电影 | 亚洲欧美精品在线观看| 欧美精品www在线观看| 欧美一区二区三区婷婷月色| 国产精品hd| 亚洲美女中出| 精品成人国产在线观看男人呻吟| 欧美一区二区三区久久精品| 99国内精品久久|