<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于DSP的JPEG視頻壓縮系統(tǒng)的實現(xiàn)

          基于DSP的JPEG視頻壓縮系統(tǒng)的實現(xiàn)

          作者: 時間:2009-10-19 來源:網(wǎng)絡 收藏

          1 引言
          隨著網(wǎng)絡和多媒體技術的發(fā)展,視覺通信的重要性和需求急劇增加,如桌面視頻會議、移動終端、基于因特網(wǎng)的視頻通信等。這些視覺信息內涵豐富,但數(shù)據(jù)量大,必須壓縮數(shù)據(jù)。但采用多種方法壓縮圖像數(shù)據(jù),其數(shù)據(jù)量仍然巨大,這就對計算機處理速度、傳輸介質、傳輸方法和存儲介質提出較高要求。因此,數(shù)據(jù)壓縮作為數(shù)據(jù)圖像處理的關鍵技術之一,對研究圖像壓縮編碼技術具有重要價值。
          嵌入式微處理器中,具有靈活、高速、便于嵌入式應用等優(yōu)點,特別適合復雜算法處理的應用。數(shù)字視頻圖像壓縮利用作為其嵌入式平臺,充分發(fā)揮其性能優(yōu)勢,較好地提高編碼效率,滿足圖像實時處理需要。因此,這里介紹一種基于TMS320VC5509A型。

          本文引用地址:http://www.ex-cimer.com/article/191911.htm

          2 靜止圖像的壓縮編碼標準
          (Joint Photographic Experts Group)是由國際標準化組織(ISO)提出面向靜止圖像編碼的標準,其處理方法依次使用離散余弦變換、量化、Z行掃描、游程編碼和不變字長編碼。算法定義了以下4種運行模式:
          (1)基于DCT順序型模式按照從左到右、從上到下的順序對圖像進行掃描和編碼,稱為基本。
          (2)基于DCT遞增模式 按照從粗到細的順序對一幅圖像進行編碼,適用于傳輸時間長、用戶喜歡圖像從粗糙到清晰的場合。
          (3)無失真編碼模式保證重建圖像與原始圖像完全相同。
          (4)分層編碼 采用各種分辨率對圖像進行編碼。
          該系統(tǒng)采用基本系統(tǒng)模式。圖1是JPEG的編碼框圖。

          3 硬件系統(tǒng)設計
          系統(tǒng)直接與PAL制攝像頭的輸出端相連,來采集、預處理和壓縮現(xiàn)場圖像,再以USB或RS232方式將處理后的圖像數(shù)據(jù)傳給上位機。圖2為系統(tǒng)硬件結構圖。

          該系統(tǒng)硬件設計以TI公司的TMS320VC5509A型數(shù)字信號處理器為核心,包括視頻采集電路、FPGA預處理電路、存儲器擴展、系統(tǒng)電源和看門狗電路等。系統(tǒng)中TMS320VC5509A為中央處理器;SDRAM為DSP外擴數(shù)據(jù)存儲器;Flash為程序存儲器,用于系統(tǒng)上電自舉;模擬攝像頭與視頻 A/D轉換器負責視頻圖像采集;FPGA用于地址譯碼、隔行運算,控制兩片SRAM用于緩存視頻A/D轉換器轉換后的數(shù)字圖像。從系統(tǒng)設計成本考慮,這里選用Altera公司的可編程邏輯器件EPIC6Q240C8型FPGA。該器件是Cyclone系列器件中一款非BGA封裝的可用I/O引腳最多的 FPGA。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();