利用TMS320C6201芯片進(jìn)行圖像壓縮
摘要:介紹了利用tms320c6201 dsp芯片進(jìn)行實(shí)時(shí)圖像壓縮的軟件設(shè)計(jì)。結(jié)合該芯片的編程特點(diǎn)介紹了壓縮算法,并給出了部分關(guān)鍵程序,具有一定的參考價(jià)值。 關(guān)鍵詞:圖像壓縮 c6201 fdct變換 霍夫曼編碼圖像中含有豐富的信息,在現(xiàn)代科技中將圖像作為一種探測手段,正受到越來越廣泛的青睞。有很多探測設(shè)備,采用掃描成像儀器作為前端探測器。作為一種很常見的情況,成像儀器采集到的圖像要通過無線信道進(jìn)行發(fā)送。但是,圖像數(shù)據(jù)通常都是海量數(shù)據(jù),無線信道的傳輸帶寬無法滿足要求,必須對(duì)圖像進(jìn)行壓縮處理,才能通過無線信道進(jìn)行傳輸。
實(shí)現(xiàn)圖像實(shí)時(shí)無線傳輸必須研制專門的圖像壓縮,該壓縮器須滿足如下要求:(1)圖像實(shí)時(shí)壓縮?鴉(2)能夠較好地保存圖像質(zhì)量。筆者以ti公司的高速dsp芯片tms320c6201為核心的數(shù)字信號(hào)處理板作為圖像壓縮器的硬件平臺(tái),通過自行開發(fā)的壓縮程序,實(shí)現(xiàn)了圖像的實(shí)時(shí)壓縮。
1 數(shù)字信號(hào)處理板的硬件功能框圖數(shù)字信號(hào)處理板的硬件功能框圖如圖1所示。tms320c6201是一種高性能的定點(diǎn)數(shù)字信號(hào)處理器。工作頻率為200mhz時(shí),每個(gè)指令周期為5ns,運(yùn)算速度可達(dá)1600mips;具有vliw(甚長指令集)體系結(jié)構(gòu),每周期8個(gè)32bit的指令并行執(zhí)行;8個(gè)獨(dú)立的功能單元,有兩個(gè)16bit乘法器和6個(gè)算術(shù)邏輯單元;采用加載存儲(chǔ)體系結(jié)構(gòu),數(shù)據(jù)在多處理單元之間的傳輸依靠32個(gè)32bit的通用寄存器。c6000的存儲(chǔ)器尋址空間為32bit,片內(nèi)有1mbit的sram。片內(nèi)ram被分為兩塊:一是內(nèi)部程序/cache存儲(chǔ)器,二是內(nèi)部數(shù)據(jù)存儲(chǔ)器。32bit外部存儲(chǔ)器接口(emif)可與不同存儲(chǔ)器接口,可方便地配置不同速度、不同容量、不同復(fù)雜程度的存儲(chǔ)器。此外,c6000還有兩通道boot-loading dma處理器、16bit的主機(jī)接口hpi、兩個(gè)多通道緩沖串口(mcbsp),并且其片內(nèi)鎖相環(huán)(pll)時(shí)鐘發(fā)生器,可以對(duì)輸入時(shí)鐘進(jìn)行不同的倍頻處理。這種芯片用來處理圖像壓縮這種運(yùn)算密集型的工作是非常合適的。功能框圖的其它部分不再做介紹。
圖3 圖像壓縮器的工作過程方框圖
2 圖像壓縮算法圖像壓縮中的圖像有彩色和灰度之分??紤]到彩色圖像和灰度圖像的壓縮類似,且大多數(shù)的掃描成象設(shè)備掃的是灰度圖像,所以僅以灰度圖像的壓縮為例介紹dsp上的圖像壓縮。圖像壓縮算法原理圖如圖2所示。圖中,首先將原始灰度圖像分為8×8的圖塊,然后對(duì)每一圖像塊進(jìn)行fdct變換,再將變換得到的dct系數(shù)使用量化表進(jìn)行量化。量化后可得到如下形式的數(shù)據(jù):(x)是不為零的數(shù)據(jù))x x x x 0 0 0 0x x x 0 0 0 0 0x x 0 0 0 0 0 0x 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0該數(shù)據(jù)在存儲(chǔ)器中存放的順序如下:z[0] z[1] z[2] z[3] z[4] x[5] z[6] z[7]z[8] z[9] z[10] z[11] z[12] z[13] z[14] z[15]z[16] z[17] z[18] z[19] z[10] z[21] z[22] z[23]z[24] z[25] z[26] z[27] z[28] z[29] z[30] z[31]z[32] z[33] z[34] z[35] z[36] z[37] z[38] z[39]z[40] z[41] z[42] z[43] z[44] z[45] z[46] z[47]z[48] z[49] z[50] z[51] z[52] z[53] z[54] z[55]z[56] z[57] z[58] z[59] z[60] z[61] z[62] z[63]在存儲(chǔ)器中,非零數(shù)據(jù)和零數(shù)據(jù)交替