色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 數(shù)字視頻壓縮的大容量記錄系統(tǒng)設(shè)計(jì)

          數(shù)字視頻壓縮的大容量記錄系統(tǒng)設(shè)計(jì)

          ——
          作者:作者:空軍工程大學(xué) 陳國(guó)慶 張登福 寇明延 時(shí)間:2007-01-26 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》 收藏

          本文引用地址:http://cafeforensic.com/article/21248.htm

          隨著計(jì)算機(jī)技術(shù)、多媒體和數(shù)據(jù)通信技術(shù)的迅速發(fā)展,數(shù)字視頻的應(yīng)用越來越廣,如視頻監(jiān)控、視頻會(huì)議和移動(dòng)電視等。數(shù)字視頻數(shù)據(jù)量巨大,不利于傳輸和存儲(chǔ),使其應(yīng)用受到很大限制。為解決視頻數(shù)據(jù)的存儲(chǔ)和傳輸問題,唯一的途徑就是對(duì)視頻數(shù)據(jù)進(jìn)行壓縮。常見的視頻壓縮方法有mpeg系列和h.26x系列??紤]到壓縮技術(shù)的成熟度、成本和主要用途,采用mpeg-1作為壓縮標(biāo)準(zhǔn),設(shè)計(jì)出基于arm處理器的嵌入式數(shù)字視頻記錄系統(tǒng)。該系統(tǒng)適用于視頻監(jiān)控、視頻會(huì)議等多種應(yīng)用場(chǎng)合,同時(shí)還可安裝在飛行器上,用于實(shí)時(shí)記錄飛行器的飛行及訓(xùn)練過程中的各種信息。

          目前,市場(chǎng)上有大量的基于pci總線的mpeg-1視頻壓縮卡和pc機(jī)構(gòu)架的網(wǎng)絡(luò)視頻服務(wù)器。與之相比,我們?cè)O(shè)計(jì)的視頻記錄系統(tǒng)具有成本低、體積小和功耗低等優(yōu)勢(shì)。

          1 系統(tǒng)工作原理

          視頻壓縮記錄系統(tǒng)的設(shè)計(jì)著眼于控制器的嵌入化和整體的便攜性。本系統(tǒng)主要由3部分組成,即壓縮部分、控制部分和存儲(chǔ)部分。視頻記錄系統(tǒng)的結(jié)構(gòu)組成如圖1所示。其中壓縮部分由mpeg1音視頻壓縮電路組成,主要功能是實(shí)現(xiàn)對(duì)輸入的音視頻信號(hào)解碼、數(shù)字化和壓縮編碼,產(chǎn)生mpeg1程序流和傳輸流;控制部分由arm最小系統(tǒng)組成,用于實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制、數(shù)據(jù)流管理和ide接口控制;存儲(chǔ)部分由大容量硬盤或cf存儲(chǔ)卡組成,實(shí)現(xiàn)對(duì)壓縮數(shù)據(jù)的實(shí)時(shí)長(zhǎng)時(shí)間記錄。

          系統(tǒng)啟動(dòng)時(shí),arm處理器對(duì)整個(gè)壓縮系統(tǒng)進(jìn)行初始化,首先通過host接口對(duì)sz1510內(nèi)部寄存器進(jìn)行配置,并使用sz1510的串行接口模擬i2c總線對(duì)視頻解碼器saa7113h進(jìn)行初始化。當(dāng)設(shè)置好mpeg-1的壓縮格式及數(shù)據(jù)速率后,系統(tǒng)開始正常工作,音視頻信號(hào)經(jīng)ak4550音頻處理芯片和saa7113視頻處理芯片進(jìn)行a/d轉(zhuǎn)換,輸出8位的pcm格式數(shù)字音頻信號(hào)和4∶2∶0的ycbcr數(shù)字視頻信號(hào),傳入sz1510音視頻壓縮采集芯片進(jìn)行處理,將數(shù)字音視頻數(shù)據(jù)轉(zhuǎn)化為符合mpeg-1格式的混合影視文件,最后mpeg1數(shù)據(jù)流在arm處理器的控制下通過ide接口寫入硬盤或cf卡。在工作時(shí),arm還將不斷監(jiān)視相關(guān)信號(hào),并在圖像中加入相應(yīng)的標(biāo)志,直到接收到關(guān)機(jī)信號(hào),系統(tǒng)自動(dòng)結(jié)束壓縮工作。

          2 硬件電路設(shè)計(jì)

          由于mpeg-1壓縮算法需要很大的運(yùn)算量,用軟件實(shí)時(shí)完成比較困難,所以在本系統(tǒng)中主要依靠專用芯片實(shí)現(xiàn)對(duì)視頻信號(hào)的高效壓縮。目前,常用的mpeg-1壓縮芯片有vw2010、w99200f、wis 7007sb等。本設(shè)計(jì)采用的是zapex公司的sz1510 mpeg-1 a/v編碼芯片,自身完成音視頻的同步編碼,16位host接口易于與多種微處理器連接。另外,該芯片還可以直接控制視頻解碼芯片saa7113h、音頻解碼芯片ak4550vt和sdram(km416s1020ct-g10)。cpu采用philips公司的arm7tdmis內(nèi)核微控制器lpc2214,通過其i/o端口控制ide接口硬盤或cf卡的數(shù)據(jù)讀取和存儲(chǔ)。


          圖1 數(shù)字視頻記錄系統(tǒng)結(jié)構(gòu)框圖

          2.1 mpeg-1壓縮電路設(shè)計(jì)

          sz1510是一個(gè) mpeg-1和運(yùn)動(dòng)jpeg圖像編碼器。其內(nèi)置的視頻壓縮核經(jīng)過優(yōu)化,適合高效、實(shí)時(shí)的mpeg1數(shù)字圖像壓縮,具有功能多、功耗低、溫度范圍寬等特點(diǎn);同時(shí)整合了ti公司的tms320c54x高性能dsp內(nèi)核,可依據(jù)mpeg-1標(biāo)準(zhǔn)對(duì)音視頻同步編碼。

          1) 時(shí)鐘同步電路設(shè)置

          sz1510是一個(gè)復(fù)雜的視頻壓縮小系統(tǒng),要完成音視頻的同步,mpeg-1視頻的壓縮以及系統(tǒng)內(nèi)部數(shù)據(jù)流的復(fù)合、調(diào)度;時(shí)鐘關(guān)系較為復(fù)雜,是系統(tǒng)設(shè)計(jì)的一個(gè)難點(diǎn)。時(shí)鐘配置可分為主時(shí)鐘、音視頻時(shí)鐘、視頻壓縮核時(shí)鐘、dsp核時(shí)鐘以及擴(kuò)展的i2s接口時(shí)鐘幾部分。其功能和關(guān)系為:   

          ◆ 主時(shí)鐘。sz1510的主時(shí)鐘為穩(wěn)定的27 mhz(clk)。該時(shí)鐘在芯片內(nèi)部被pll1倍頻為81 mhz,驅(qū)動(dòng)sz1510的視頻壓縮核及sdram。pll2連到dsp內(nèi)核,通過軟件配置使其工作在94.5 mhz,用于音頻壓縮和系統(tǒng)數(shù)據(jù)流復(fù)合。

          ◆ 音視頻時(shí)鐘。視頻時(shí)鐘來自視頻解碼器,典型值為27 mhz。音頻時(shí)鐘由視頻時(shí)鐘分頻產(chǎn)生。

          ◆ i2s接口時(shí)鐘。本系統(tǒng)中在音視頻同步設(shè)計(jì)中使用i2s接口的從模式,由sz1510產(chǎn)生串行時(shí)鐘和幀同步信號(hào)。

          2) 主機(jī)(host)端口設(shè)置

          sz1510作為從設(shè)備,受主機(jī)控制,其host接口是sz1510的控制和數(shù)據(jù)交換接口。sz1510可以選擇復(fù)用或不復(fù)用的intel和motorola總線類型;不復(fù)用總線,又可以分為8位和16位。具體的主機(jī)端口由hconfig[1∶0]引腳和sysconfig[3]寄存器配置。在本系統(tǒng)設(shè)計(jì)中,通過跳線把hconfig0拉低,hconfig1拉高,使其工作在intel 8051類型的非復(fù)用的16位數(shù)據(jù)總線模式下。

          2.2 lpc2214微處理器電路設(shè)計(jì)

          lpc2214是一款基于32位arm7tdmi-s,支持實(shí)時(shí)仿真和跟蹤的cpu;帶有16 kb片內(nèi)sram、256 kb嵌入的高速flash存儲(chǔ)器、128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu),使32位代碼能夠在最大時(shí)鐘速率60 mhz下運(yùn)行。芯片內(nèi)部集成了多種串行接口。lpc2214與sz1510的接口和控制關(guān)系如圖2所示。在設(shè)計(jì)中,需要注意的是保持sz1510讀寫時(shí)序與內(nèi)部時(shí)鐘的同步。通過cs3選通sz1510實(shí)現(xiàn)控制字和數(shù)據(jù)的交換。


          圖2 lpc2214與sz1510的接口關(guān)系

          2.3 ide接口設(shè)計(jì)

          由于lpc2214芯片不具備ide接口,因此在本系統(tǒng)中使用通用i/o 口,模擬產(chǎn)生ata 設(shè)備的讀寫時(shí)序,實(shí)現(xiàn)對(duì)ide硬盤的可靠讀寫操作。圖3為lpc2214與ide硬盤連接圖。其中,p2.16~p2.31作為數(shù)據(jù)線,p1.16~p1.20作為地址和選通信號(hào),p0.17和p0.20為設(shè)備的復(fù)位和狀態(tài)請(qǐng)求信號(hào),用p0.21和p0.19實(shí)現(xiàn)讀寫控制。


          圖3 lpc2214與ide硬盤連接圖 3 系統(tǒng)軟件設(shè)計(jì)

          系統(tǒng)軟件由主程序和若干個(gè)子程序組成,工作流程如圖4所示。主要的子模塊有:sz1510 的設(shè)置與控制、ide接口驅(qū)動(dòng)和文件系統(tǒng)的管理。


          圖4 系統(tǒng)工作流程 3.1 sz1510的設(shè)置與控制

          sz1510共有128個(gè)寄存器,每個(gè)寄存器都有一個(gè)索引號(hào)。當(dāng)sz1510工作在非復(fù)用總線模式下時(shí),外界對(duì)寄存器的訪問都是通過ioar和iodr來完成的。訪問時(shí)首先將這個(gè)寄存器的索引號(hào)寫入ioar,然后將要寫的數(shù)據(jù)寫入iodr。

          sz1510設(shè)置與控制過程如下:

          ① 向中斷使能寄存器寫入0x40,以使能ready中斷;

          ② 等待sz1510的ready中斷;

          ③ 等到ready中斷后,向sz1510的0x1e寄存器寫入0x0a,設(shè)置它內(nèi)部的dsp時(shí)鐘為94.5 mhz;

          ④ 向0x013寄存器寫入0x55,對(duì)sz1510進(jìn)行軟復(fù)位;

          ⑤ 向中斷使能寄存器0x0c寫入0x40,以使能ready中斷;

          ⑥ 等候rdy中斷;

          ⑦ 待ready中斷后對(duì)saa7113進(jìn)行初始化;

          ⑧ 對(duì)sz1510進(jìn)行軟復(fù)位,即向0x0b寄存器寫入0x55,同時(shí)向0x0c寄存器寫入0x40;

          ⑨ 等待ready中斷,等到后向sz1510的內(nèi)部dsp裝載二進(jìn)制代碼;

          ⑩ 進(jìn)行sz1510內(nèi)部視頻壓縮核的二進(jìn)制代碼裝載,具體裝載步驟如下:

          ◆ 向0x08寄存器寫0x04,發(fā)送開始命令;

          ◆ 等待ready中斷,清除ready中斷;

          ◆ 向data in寄存器0x01寫256個(gè)字節(jié);

          ◆ 等待end of data中斷,然后清除中斷;

          ◆ 查程序空間的代碼是否裝載完畢,如沒有,則繼續(xù)裝載。

          3.2 ide接口驅(qū)動(dòng)

          本系統(tǒng)采用lpc2214的通用可編程i/o口模擬ata設(shè)備的讀寫時(shí)序,實(shí)現(xiàn)對(duì)硬盤的讀寫。這里給出模擬寫ata 設(shè)備寄存器的步驟(讀ata設(shè)備寄存器的步驟類似):

          ① 關(guān)系統(tǒng)中斷,預(yù)防在寫寄存器操作中產(chǎn)生中斷;

          ② 設(shè)置gpio 模擬ata 接口數(shù)據(jù)的引腳為輸出狀態(tài),準(zhǔn)備輸出數(shù)據(jù)到設(shè)備數(shù)據(jù)線;

          ③ 設(shè)置ata 設(shè)備寄存器的相應(yīng)地址;

          ④ 設(shè)置gpio 模擬ata 接口數(shù)據(jù)的引腳電平為要寫到設(shè)備的值;

          ⑤ 使寫ata 設(shè)備寄存器信號(hào)為低電平;

          ⑥ 使寫ata 設(shè)備寄存器信號(hào)為高電平;

          ⑦ 取消ata 設(shè)備寄存器地址的選擇;

          ⑧ 設(shè)置gpio 模擬ata 接口的數(shù)據(jù)總線引腳為輸入狀態(tài),釋放總線;

          ⑨ 開系統(tǒng)中斷。

          3.3 文件系統(tǒng)管理

          本設(shè)計(jì)中采用的是面向嵌入式系統(tǒng)的小型文件系統(tǒng)zlg/fs [1],主要用于將數(shù)據(jù)存儲(chǔ)為標(biāo)準(zhǔn)的文件格式和對(duì)整個(gè)文件系統(tǒng)的管理。同時(shí),為了便于音視頻的檢索和查詢,以及防止非法斷電造成大量未保存數(shù)據(jù)的丟失,在系統(tǒng)中設(shè)置了每間隔一定的時(shí)間(30 min)將壓縮數(shù)據(jù)存儲(chǔ)在以系統(tǒng)時(shí)間命名的新文件里。

          4 結(jié)論

          經(jīng)測(cè)試,系統(tǒng)可實(shí)時(shí)長(zhǎng)時(shí)間記錄外部的音視頻信號(hào),記錄的壓縮數(shù)據(jù)流符合mpeg-1圖像壓縮國(guó)際標(biāo)準(zhǔn)。在設(shè)計(jì)中,采用的壓縮視頻流速率為1.5 mbps,1小時(shí)的視頻數(shù)據(jù)量為(1.5 mbps/8)×3 600=675 mb,對(duì)于一個(gè)40 gb的硬盤,系統(tǒng)連續(xù)記錄時(shí)間接近60小時(shí)。系統(tǒng)體積小、功耗低,便于移動(dòng)環(huán)境下對(duì)音視頻數(shù)據(jù)的實(shí)時(shí)長(zhǎng)時(shí)間壓縮記錄。




          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉