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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TMS320C5409實(shí)現(xiàn)JPEG圖像壓縮系統(tǒng)設(shè)計(jì)

          TMS320C5409實(shí)現(xiàn)JPEG圖像壓縮系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2011-08-22 來源:網(wǎng)絡(luò) 收藏

          引言

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

            隨著多媒體和網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)字大信息量的特點(diǎn)對(duì)技術(shù)的要求越來越高,因此,專用高速數(shù)字信息處理技術(shù)成為發(fā)展的方向。TI推出的C5000系列DSP將數(shù)字信號(hào)處理器使信號(hào)處理的研究重點(diǎn)又回到軟件算法上。在算法研究方面,DCT、小波等多個(gè)算法因?yàn)槠涓呖煽啃院透咝砸苍絹碓绞艿角嗖A。

          硬件

            作為主處理器的可行性分析

            時(shí)鐘頻率為100MHz,性價(jià)比極高。采用圍繞1組程序總線、3組數(shù)據(jù)總線和4組地址總線建立的改進(jìn)型哈佛結(jié)構(gòu),取址和讀數(shù)可同時(shí)進(jìn)行。有獨(dú)立的硬件乘法器,有利于優(yōu)化卷積、數(shù)字濾波、FFT、矩陣運(yùn)算等算法中的大量重復(fù)乘法運(yùn)算。具有循環(huán)尋址、位倒序等特殊指令,這些指令使FFT、卷積等運(yùn)算中的尋址、排序及計(jì)算速度大大提高。有一組或多組獨(dú)立的DMA總線,與CPU的程序、數(shù)據(jù)總線并行工作。

            

            在本中,作為主處理器,任務(wù)是編碼。

            通過分析不難得到,當(dāng)處理一幀大小為640×480的時(shí),作壓縮編碼所需要的時(shí)間為:T=62×10(ns)×640×480=0.19866s,當(dāng)所處理的圖像分辨率更小時(shí),則壓縮每幀所花的時(shí)間更少,這對(duì)于應(yīng)用在對(duì)實(shí)時(shí)性要求不是很高的場(chǎng)合是完全可行的。

            

          基于TMS320C5409的圖像處理系統(tǒng)結(jié)構(gòu)圖

            硬件框圖

            圖1是基于TMS320C5409的圖像處理系統(tǒng)結(jié)構(gòu)圖。C5409為中央處理器,SRAM為DSP片外擴(kuò)展數(shù)據(jù)存儲(chǔ)器,EEPROM為脫機(jī)工作時(shí)的程序存儲(chǔ)器,用于存儲(chǔ)系統(tǒng)的引導(dǎo)程序和其它應(yīng)用程序,A/D轉(zhuǎn)換部分負(fù)責(zé)把轉(zhuǎn)換為數(shù)字信號(hào)的圖像存入幀存儲(chǔ)器中。地址譯碼、圖像采集系統(tǒng)控制電路產(chǎn)生本系統(tǒng)各部分的地址譯碼信號(hào),使之映射到不同的地址區(qū)域,并控制ADC進(jìn)行圖像采集,這部分由CPLD控制;圖像采集芯片的寄存器控制由51單片機(jī)完成。

            存儲(chǔ)空間的擴(kuò)展方案

            經(jīng)過A/D轉(zhuǎn)換的原始圖像數(shù)據(jù)是非常大的,TMS320C5409的內(nèi)部?jī)H有32KB的RAM和16KB的ROM,不能滿足需要,因此,必須擴(kuò)展存儲(chǔ)器來存放原始圖像數(shù)據(jù)和應(yīng)用程序。本文考慮外接64KB的RAM和512KB的Flash,RAM使用Cypress公司的CY7C1021V33,F(xiàn)lash采用SST公司的SST39VF512。由于C5409的數(shù)據(jù)空間僅為64KB,因此采用內(nèi)存頁(yè)擴(kuò)展技術(shù)。C5409的擴(kuò)展輸出口1Q和2Q作為擴(kuò)展內(nèi)存的頁(yè)選擇信號(hào)。用C5409的A15引腳和XF引腳通過3/8譯碼器來控制擴(kuò)展存儲(chǔ)器片選信號(hào)的產(chǎn)生,當(dāng)A15=0時(shí),選擇片內(nèi)RAM;當(dāng)A15=1,XF=0時(shí)選擇片外SRAM;當(dāng)A15=1,XF=1時(shí)選擇片外Flash;存儲(chǔ)器的擴(kuò)展如圖2所示。將外部擴(kuò)展RAM的64KB中的48KB用于存放原始圖像數(shù)據(jù),16KB用于存放壓縮后的圖像和程序以及暫存的數(shù)據(jù)。

            

          存儲(chǔ)器的擴(kuò)展圖

            DSP芯片電源電路

            電源設(shè)計(jì)中需要考慮的主要問題是功率和散熱。功率要求:電流的消耗主要取決于器件的激活度,即CPU的激活度,外設(shè)功耗主要取決于正在工作的外設(shè)及其速度,與CPU相比,外設(shè)功耗是比較小的。以TMS320C5409為例,進(jìn)行FFT運(yùn)算時(shí),需要的電源電流最大。因此在設(shè)計(jì)電源時(shí),必須考慮在電源電流和實(shí)際需用電流之間留有一定裕量,因?yàn)榉逯惦娏鲿?huì)更大,裕量至少是20%。

            C5409采用了雙電源供電機(jī)制,工作電壓為3.3V和1.8V。其中,1.8V主要為DSP的內(nèi)部邏輯提供電壓,包括CPU和其它所有外設(shè)邏輯。外部接口引腳采用3.3V電壓。本系統(tǒng)的電源采用了TI公司的兩路輸出電源芯片TPS73HD318,它是一種雙輸出穩(wěn)壓器。輸出電壓一路為3.3V、一路為1.8V,每路電源的最大輸出電流為750mA。

            圖像壓縮算法

            JPEG算法的優(yōu)化

            盡管JPEG基本系統(tǒng)能夠?qū)D像進(jìn)行低壓縮比壓縮,但是DCT和IDCT在軟件的過程中,是最耗費(fèi)時(shí)間的運(yùn)算,而且,由于沒有考慮圖像本身的頻譜特性,JPEG量化表對(duì)于所有圖像壓縮并不一定最優(yōu)。采用快速DCT算法可提高軟件的速度,增強(qiáng)軟件的實(shí)時(shí)性。同時(shí),根據(jù)圖像本身的頻譜特性,自適應(yīng)改進(jìn)JPEG推薦的量化表。

            快速DET算法

            如果將一幅圖像分成許多8×8的小塊后直接進(jìn)行2D—DCT變換,運(yùn)算量將會(huì)十分巨大。因此,需要將8×8二維DCT變換轉(zhuǎn)換成兩次8點(diǎn)的一維DCT復(fù)合運(yùn)算。具體做法是對(duì)每一個(gè)8×8塊先做列方向上的DCT變換,得到一個(gè)中間矩陣,再對(duì)該矩陣各行進(jìn)行DCT變換。可以看到,8×8矩陣的2維DCT可以轉(zhuǎn)換成16次一維8點(diǎn)DCT。

            目前,很多針對(duì)一維DCT運(yùn)算的DCT快速算法已經(jīng)提出。其中,Loeffler算法所需要的計(jì)算量最小。Loeffler算法將8點(diǎn)一維DCT運(yùn)算分為4級(jí),由于各級(jí)之間的輸入/輸出存在依存關(guān)系,4級(jí)操作必須串行進(jìn)行,而各級(jí)內(nèi)部的運(yùn)算可并行處理。

            流程圖中有三種運(yùn)算因子:蝶形因子、旋轉(zhuǎn)因子和倍乘因子,分別如圖3中的a,b,c所示。蝶形因子的運(yùn)算關(guān)系為:

            

            D0=I0+I1

            O1=I0-I1

            需要2次加法完成,倍乘因子的輸入/輸出關(guān)系比較簡(jiǎn)單:,只需1次乘法,旋轉(zhuǎn)因子的運(yùn)算關(guān)系為:

            


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();