嵌入式圖像采集系統(tǒng)的JPEG算法改進
引言
目前,嵌入式系統(tǒng)已逐漸成為后PC時代的主導,但當低端的嵌入式系統(tǒng)無法滿足信息化、智能化、網絡化時代的更高要求時,32位嵌入式系統(tǒng)應運而生。圖像采集系統(tǒng)正從模擬采集向數字采集發(fā)展,其中數字圖像采集系統(tǒng)中的嵌入式圖像采集系統(tǒng)由于其優(yōu)越的性能越來越受到人們的關注。對于家庭視頻監(jiān)控這樣的應用,并不需要很多的功能,只要簡單的視頻傳輸和存儲就夠了,體積也要盡可能的小。正是基于這種考慮,筆者設計了一款基于以太網的嵌入式視頻監(jiān)控系統(tǒng),該系統(tǒng)具有視頻圖像采集、壓縮、解壓、傳輸和存儲等功能。在整個系統(tǒng)中,由于圖像數據需在互聯網上傳輸,因此傳輸的數據流量的大小對系統(tǒng)性能的影響是非常大的,因此采用了改進的 JPEG算法使得在保證圖像質量的情況下,盡可能的提高壓縮比,以實現該系統(tǒng)互聯網監(jiān)控的功能。并且由于使用嵌入式系統(tǒng),使該系統(tǒng)體積小巧,功能簡化,而且使用免費的開源的操作系統(tǒng)ARM-Linux,使系統(tǒng)的成本大為降低。
圖像采集系統(tǒng)的構成
圖像采集系統(tǒng)主要由4部分構成,分別為圖像采集、圖像壓縮、圖像傳輸和圖像顯示。圖像采集部分由數字攝像頭、USB通道和嵌入式處理器構成,其中數字攝像頭用來完成圖像數據的采集,USB通道將數據傳送至處理器進行處理;圖像壓縮部分主要是由軟件完成,將攝像頭采集的BMP格式的圖像數據通過改進的 JPEG算法壓縮為JPEG格式的圖像數據;圖像傳輸部分則完成由圖像數據由本地向遠程的傳輸;圖像顯示部分則可以將采集到的圖像數據在遠程的瀏覽器上顯示出來,供用戶瀏覽,保存,編輯等等。該系統(tǒng)如圖1所示。
圖像采集系統(tǒng)中的壓縮算法的改進
在系統(tǒng)中采用了ARM920T核的S3C2410嵌入式處理器。為了盡可能的降低成本,對采集的圖像采用了軟件壓縮的方法,同時為實現在保證圖像質量的情況下盡可能的提高壓縮比,對原有的JPEG算法進行了改進?;镜腏PEG算法是由以下步驟完成:①通過離散余弦變換(DCT)消除數據冗余;②使用量化系數矩陣對離散余弦變換系數進行量化;③對量化后的系數進行編碼,使其熵最小,熵編碼通常采用huffman可變字長編碼。
在JPEG圖像壓縮的技術中,DCT占據重要的位置,因此對它的改進對于整個算法來說,有著非常重要的意義。在JPEG算法中通常是先將圖像分成一個個8×8的圖像子塊,對每一個圖像子塊進行離散余弦變換,所使用的二維離散余弦變換公式如下:
其逆變換如下:
其中:
在離散余弦變換中,由于要將壓縮的圖像分成8×8的子塊,對于圖像壓縮會帶來塊效應,即對相鄰的圖像子塊進行獨立的數據處理時會帶來的失真,從而使塊與塊之間的邊界不連續(xù);并且相鄰塊之間的冗余數據也是不容忽視的。經過實驗發(fā)現,如果能設法使變換后的圖像子塊的能量下降速度加快,就可以減少塊效應并可能使細節(jié)部分清晰。正是基于這一點,通過實驗發(fā)現可以通過收斂性良好的Chebychev多項式來擬合離散余弦變換,使得變換后的圖像子塊的能量下降速度加快,從而提高圖像數據的壓縮比,同時還能夠改善圖像的塊效應。這樣,在離散余弦變換中如何應用Chebychev多項式來計算就成為問題的關鍵。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論