天天被操天天被操综合网,亚洲黄色一区二区三区性色,国产成人精品日本亚洲11,欧美zozo另类特级,www.黄片视频在线播放,啪啪网站永久免费看,特别一级a免费大片视频网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>基于PCI總線的MPEG-1壓縮卡軟硬件設計及實現(xiàn)

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

時間:2023-02-20 22:34:09 電子通信論文 我要投稿
  • 相關推薦

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

  摘要:隨著計算機技術、多媒體和數(shù)據(jù)通信技術的發(fā)展,計算機視頻的應用越來越廣。但視頻通常由于數(shù)據(jù)量巨大,應用受到不少限制。為解決視頻數(shù)據(jù)的存儲和傳輸,唯一途徑就是對視頻數(shù)據(jù)進行壓縮。結合目前實際需求,給出了一種基于PCI總線的MPEG-I壓縮卡的軟件、硬件實現(xiàn)方案。
  關鍵詞:PCI總線WDM驅動MPEG-1壓縮卡
  
  隨著計算機技術、多媒體和數(shù)據(jù)通信技術的高速發(fā)展,人們生活水平的提高,對計算機視頻的需求和應用越來越多,如視頻監(jiān)控、視頻會議、計算機視覺等。計算機視頻提供給人的信息很多,但是視頻的數(shù)據(jù)量很大,不利于傳輸和存儲,使其應用受到不少限制。為解決視頻數(shù)據(jù)的存儲和傳輸,唯一途徑就是對視頻數(shù)據(jù)進行壓縮。
  
  目前常見的視頻壓縮方法有MPEG-1、MPEG-2、MPEG-4、H.261、H.263等。考慮壓縮技術的成熟度和該壓縮卡的主要用途,本文采用MPEG-1作為壓縮標準,研制了基于PCI總線的MPEG-I壓縮卡。該卡適用于視頻監(jiān)控、視頻會議等多種應用場合。該卡加上一臺主機、攝像頭和軟件可構成一個完整的視頻采集壓縮系統(tǒng)。
  
  1系統(tǒng)特點
  
 。ǎ保┲С郑拢危、RCA、S-VIDEO視頻接口;
  
  (2)支持PAL和NTSC制式;
  
 。ǎ常┛蓪σ曨l實時預覽,最大分辨率可達720×576×32;
  
  (4)可對聲音進行同步監(jiān)聽;
  
 。ǎ担┛蓪σ、視頻信號進行MPEG-I壓縮,生成MPEG文件和VCD文件;
  
 。ǎ叮┯脩艨删幊蹋停校牛牵本幋a設置,可支持CBR和VBR;
  
 。ǎ罚┛梢粰C多卡同時工作;
  
 。ǎ福┛蓮膭討B(tài)影像中捕獲單幀,生成JPG和BMP文件;
  
 。ǎ梗┲С郑祝椋睿梗福祝椋睿玻埃埃啊
  
 。蚕到y(tǒng)硬件設計
  
 。玻毕到y(tǒng)組成
  
  該系統(tǒng)主要由視頻解碼、音頻解碼、壓縮核心和PCI接口等組成,其總體框圖如圖1所示。
  
 。玻惨曨l解碼設計
  
  視頻解碼部分主要完成模擬視頻到數(shù)字視頻的處理,以供后面預覽、壓縮用。視頻解碼芯片常用的有SAA7110、SAA7113和SAA7114等。本方案中采用Philips公司的SAA7114。SAA7114有六路模擬輸入,內(nèi)置模擬源選擇器可構成6×CVBS、2×Y/C?2×CVBS、1×Y/C和4×CVBS;兩路模擬預處理通道,內(nèi)有抗混迭濾波器;CVBS或Y/C通道含完全可編程靜態(tài)增益控制或自動增益控制功能,對CVBS、Y/C通道可進行自動鉗位控制;能自動檢測50Hz/60Hz場頻,并可自動在PAL和NTSC制式進行切換;能將PAL、NTSC和SECAM信號解碼及模數(shù)變換得到符合ITU-601/ITU-656的數(shù)字電視信號。該芯片是目前視頻解碼芯片中接收視頻源的寬容性及視頻解碼圖像質量最好的一種。其通過I2C接口,進行初始化設置。
  
  本系統(tǒng)采用ImagePort作為數(shù)字視頻輸出端口,數(shù)字視頻格式采用ITU-656?AI11(PIN20)作為BNC/RCA輸入腳,AI12、AI22作為S-VIDEO輸入腳。
  
  圖2SAA7146A方框圖
  
 。玻骋纛l解碼設計
  
  音頻解碼的數(shù)據(jù)一部分提供給SAA7146A作聲音監(jiān)聽用,另一部分用于壓縮。考慮到成本,本系統(tǒng)采用BURR-BROWN公司的PCM1800E。該芯片是雙聲道單片ΔΣ型20位ADC?單+5V電源供電,信噪比為95dB(典型值),動態(tài)范圍95dB(典型值),內(nèi)嵌高通濾波器,支持四種接口方式和四種數(shù)據(jù)格式。其采樣頻率為32kHz、44.1kHz和48kHz可選。
  
  本系統(tǒng)采用從模式,20位I2S數(shù)據(jù)格式。主時鐘由SAA7114提供。
  
 。玻矗停校牛牵眽嚎s部分設計
  
  本系統(tǒng)中MPEG-I壓縮芯片選用ZAPEX公司的SZ1510。該芯片基于TI的TMS320C54xDSP內(nèi)核,能對ITU-601/ITU-656數(shù)字電視信號和PCM音頻流進行MPEG-1實時壓縮,可生成多種流,如音頻基本流、視頻基本流、音視頻復合流等。
  
  該芯片外接27MHz晶振,可支持多種主機接口,可工作在復用或非復用、Intel或Motorola類型總線。通過輸入管腳HCONFIG?1:0?和SysConfig寄存器可設置成六種總線接口類型:Intel8051
  
  
  
  類型的數(shù)據(jù)/地址復用的8位總線、Motorola類型的數(shù)據(jù)/地址復用的8位總線、Intel8051類型的非復用的8位數(shù)據(jù)總線、Motorola類型的非復用的8位數(shù)據(jù)總線、Intel8051類型的非復用的16位數(shù)據(jù)總線和Motorola類型的非復用的16位數(shù)據(jù)總線。支持I2S聲音接口。
  
  本系統(tǒng)中采用Intel8051類型的非復用的16位數(shù)據(jù)總線。
  
 。玻担校茫山涌诓糠衷O計
  
  本系統(tǒng)中PCI接口芯片選用SAA7146A,該芯片并不是通用的PCI接口芯片,而是一個多媒體橋(MultimediaBridge)。方框圖如圖2。該芯片符合PCI2.1規(guī)范。它有八個DMA通道,三個視頻,四個音頻,一個DEBI(DataExpansionBusInterface)。還具有兩路視頻通道,可對視頻數(shù)據(jù)進行縮放,一路可無級縮放HPS(HighPerformaceScaler?,其縱向可達1:1024、橫向可達1:256;另一路有級縮放BRS(BinaryRatioScaler?支持CIF和QCIF格式。
  
  音頻接口以I2S為基礎,通過編程控制以支持MSB-FIRST的不同格式及不同的時序格式。
  
  本系統(tǒng)中該部分主要實現(xiàn)功能如下:
  
  (1)通過DEBI接收SZ1510產(chǎn)生的MPEG-1數(shù)據(jù),傳輸?shù)絻?nèi)存;
  
 。ǎ玻┩ㄟ^視頻接口,接收SAA7114輸出的視頻解碼信號,并進行亮度、色度、飽和度的控制,并實現(xiàn)無級縮放功能?實現(xiàn)視頻預覽功能;
  
 。ǎ常┩ㄟ^音頻接口,接收PCM1800E輸出的PCM編碼信號,傳輸?shù)絻?nèi)存,實現(xiàn)聲音監(jiān)聽功能;
  
 。ǎ矗┨峁┓希校茫桑玻币(guī)范的接口,將板上數(shù)據(jù)傳輸?shù)街鳈C內(nèi)存。
  
 。耻浖O計
  
  軟件設計主要包括驅動程序設計和應用層的API設計。驅動程序主要負責與硬件打交道,應用層API主要負責與驅動程序接口。由于設計了應用層的API,應用程序可很容易在上面進行開發(fā)。
  
 。常彬寗映绦蛟O計
  
  為了支持Windows2000和Windows98?采用WDM?WindowsDriverModel?驅動程序。WDM作為微軟的最新驅動程序模型與傳統(tǒng)的Win3.x和Win95使用的VxD驅動完全不同。WDM可支持電源管理、自動配置和熱插拔等。WDM驅動的設計可以采用DriverStudio?DS?、Windriver、DDK?DriverDeviceKit?等。本系統(tǒng)驅動采用Windows2000DDK借助VC6.0設計。
  
 。常保保停校牛牵蓧嚎s部分
  
  在驅動中,重置SZ1510后,就可以裝載相應工作模式的微碼;根據(jù)需要,設置好相應寄存值后就可以啟動SZ1510對視頻數(shù)據(jù)進行MPEG-1編碼。每當產(chǎn)生的壓縮數(shù)據(jù)超過SZ1510內(nèi)部的FIFO門限后,SZ1510產(chǎn)生相應中斷,內(nèi)核調(diào)用中斷例程,在中斷例程中調(diào)用中斷延遲例程?DPC?,在中斷延遲例程中接收產(chǎn)生的壓縮數(shù)據(jù)。SZ1510提供兩種方式提取數(shù)據(jù),一種用I2C總線接口方式,另一種用DEBI方式。
  
  在本系統(tǒng)中,采用DEBI進行壓縮數(shù)據(jù)的傳輸。考慮到壓縮數(shù)據(jù)產(chǎn)生的速度,本系統(tǒng)開了32頁大小的緩沖區(qū),在中斷延遲例程中填充該緩沖區(qū)。每當填滿8頁大小后,產(chǎn)生一個事件通知應用層進行數(shù)據(jù)讀取。通過這種方式,可以避免壓縮數(shù)據(jù)的丟失。
  
  其流程圖如圖3所示。
  
  在驅動中,壓縮數(shù)據(jù)的提取方式將極大地影響生成MPEG文件的質量。如果處理不當,將導致馬賽克、跳幀等現(xiàn)象。
  
 。常保豺寗映绦蛑杏脩艟彌_區(qū)的訪問
  
  驅動程序訪問用戶內(nèi)存主要通過緩沖I/O和直接I/O。緩沖I/O?I/O管理器創(chuàng)建一個內(nèi)核模式拷貝緩沖區(qū),并把用戶緩沖區(qū)的內(nèi)容拷貝到該緩沖區(qū)中,并在IRP首部的AssociateIrp.SystemBuffer域中存儲該非分頁內(nèi)存地址。驅動程序可簡單地讀寫該塊內(nèi)存。直接I/O,I/O管理器為輸入數(shù)據(jù)提供一個內(nèi)核模式拷貝緩沖區(qū),對輸出數(shù)據(jù)提供一個內(nèi)存描述符(MDL)。為了使用緩沖I/O或直接I/O?在創(chuàng)建設備時,必須設置設備對象的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設計
  
  應用層對驅動程序的訪問通過調(diào)用Win32I/O函數(shù)(如ReadFile、WriteFile和DeviceIoControl)訪問。當應用層調(diào)用Win32I/O函數(shù)
  
  
  
  以請求I/O后,該請求由內(nèi)核的I/O系統(tǒng)服務接收,I/O管理器對該請求構造合適的IRP包,并將其傳給驅動程序棧,IRP在棧中進行傳遞,傳到驅動程序進行處理,并將結果返回給應用程序。
  
  通過應用層API,在其上面可進一步開發(fā)各類應用程序。
  
  本系統(tǒng)達到了預期的要求,能夠在音視頻采集過程中對視頻、音頻進行實時預覽、監(jiān)聽。壓縮生成的文件可在標準媒體播放器上播放,并可對生成的VCD文件進行刻錄,然后由VCD機播放.
  
  
  
  

【基于PCI總線的MPEG-1壓縮卡軟硬件設計及實現(xiàn)】相關文章:

基于PCI總線的CAN卡的設計與實現(xiàn)08-06

PCI總線仲裁器的設計與實現(xiàn)08-06

基于PCI總線加密卡硬件設計08-06

PCI總線協(xié)議的FPGA實現(xiàn)及驅動設計08-06

基于PCI總線的雷達視頻采集方案08-06

基于PCI總線的實時圖像識別與跟蹤平臺設計08-06

基于PCI總線的雙DSP系統(tǒng)及WDM驅動程序設計08-06

基于USB總線的實時數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)08-06

基于DSP的上網(wǎng)方案的軟硬件設計與實現(xiàn)08-06