《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于DSP的數字圖像采集、壓縮系統的設計與實現
基于DSP的數字圖像采集、壓縮系統的設計與實現
李世軍,黃 鋒,屈喜龍,郭照南
摘要: 一種基于高速數字信號處理器TMS320VC5410DSP和CPLD的圖像采集、壓縮系統,分析了系統設計時的各個關鍵技術環節,介紹了JPEG圖像編碼算法的DSP的實現,討論了圖像編碼中DCT變換的實現和優化,利用DSP的乘法累加指令和雙字加/減法指令快速實現DCT。
關鍵詞: DSP JPEG DCT變換
Abstract:
Key words :

  摘 要: 一種基于高速數字信號處理器TMS320VC5410DSP和CPLD的圖像采集、壓縮系統,分析了系統設計時的各個關鍵技術環節,介紹了JPEG圖像編碼算法的DSP的實現,討論了圖像編碼中DCT變換的實現和優化,利用DSP的乘法累加指令和雙字加/減法指令快速實現DCT。
 關鍵詞: DSP;JPEG;DCT變換

 

  隨著計算機與圖像處理技術的日益發展,研究圖像采集、處理的實時實現具有重要的現實意義。而視頻圖像信號數據量較大、信號較為復雜,這就要求視頻圖像信號處理系統具有實時采集、大容量存儲和實時處理的特點。傳統的數字圖像處理系統多采用計算機加軟件、單片機或專用DSP等來實現。這些方法有的處理速度較慢,無法滿足現代圖像處理系統的實時性要求;有的專業性太強,應用受限制。基于以上各方面的考慮,本文提出一種基于DSP和CPLD的視頻圖像采集、壓縮系統。JPEG算法是一種數字圖像壓縮編碼算法,具有壓縮比例高、失真小的特點,并已被確定為國際標準[1]。該標準被廣泛應用于數碼相機、監視系統、手機、可視電話等諸多方面。而實現JPEG算法一般有3種, 即純軟件實現法、專用集成電路實現法及基于DSP的軟硬件綜合實現法。純軟件實現法一般依賴PC機的支持,不適應嵌入式應用需要;專用集成電路實現法實時性好,但靈活性以及可擴展性差;用DSP編程實現JPEG,其算法靈活,滿足嵌入式應用需要,具有較好的交互能力,并且具有很好的可擴展性、可升級性和易維護性。
1 系統硬件設計
選用TMS320VC5410DSP芯片作為系統主處理器,CPLD為協處理器。該嵌入式系統能完成視頻圖像信號的采集、處理、壓縮編碼、存儲等一系列功能。構建的圖像處理系統由主處理器TMS320C5410DSP、1片256 K×16 bit Flash、2片4 M×16 bit SDRAM、外部存儲器接口EMIF(External Memory Interface)和其他通用外設接口,如RS-232、音頻接口等組成。另外采集模塊主要由視頻解碼A/D芯片、采集和顯示時序控制芯片IspLSI2064CPLD等[2]組成。系統結構原理如圖1所示。

 


(1)CCD攝像頭用來采集模擬視頻圖像數據。
(2)視頻解碼A/D芯片Philips SAA7113將模擬視頻電視信號(本系統PAL制)數字化。輸出為符合CCIR.601標準的數字視頻碼流。
(3)FIFO AL422B作為A/D與VC5416DSP之間的數據緩沖,使A/D的轉換速度與DSP讀取A/D數據的速度匹配。
(4)TMS320C5410 DSP為主處理器,實現對視頻數據的壓縮編碼處理。在存儲FIFO、存儲SDRAM和壓縮碼流輸出SDRAM采用DMA方式進行數據傳輸,可以提高數據傳輸的速率。
(5)CPLD采用Laitiice公司的IspLSI2064VE為系統協處理器,作為視頻A/D對FIFO進行寫操作,DSP對FIFO進行讀操作的時序控制。
(6)Flash 采用芯片256 K×16 bit的AM29LV400B,用于DSP上電或復位后的程序加載。
(7)SDRAM作為DSP的片外擴展存儲器,用于存儲A/D的圖像數據、中間過程的部分數據以及壓縮后的圖像數據。選用了4片ISSI公司的4 M×16 bit SDRAM芯片IS42S16400,構成了一個8 M×32 bit的外部存儲器。
1.1 圖像采集與存儲關鍵問題與解訣方法
本設計中解碼CCD攝像頭的模擬視頻信號采用專用的模擬視頻信號解碼器SAA71113。SAA71113視頻解碼器是雙通道模擬預處理電路、自動鉗位和增益控制電路、時鐘產生電路、數字多標準解碼器、亮度/對比度/飽和度控制電路、彩色空間矩陣的組合,是一款功能完善的視頻處理器。SAA71113只需要單一的3.3 V電源供電,與DSP的I/O電壓一致。SAA71113A接收CVBS(復合視頻)或S-video模擬視頻輸入,可以自動將PAL、SECAM、NTSC模式的彩色視頻信號解碼為CCIR-60l/656兼容的彩色數字分量值,器件功能通過I2C接口控制。這樣圖像采集過程可以全部在后臺完成,基本上不需要CPU的干預,可以節約大量的CPU時間。但是這樣設計有一個難點:由模擬視頻信號解碼得出的數字視頻信號數據量非常大,而且由于是實時視頻信號,所以數據輸出速率也非常高,但是DSP外部存儲器接口的讀出速率卻比較慢。為了解決這個問題,本設計采取高速FIFO對數據進行暫存以緩解速度上的差異,即采用FIFO來暫存10行圖像數據,視頻解碼器直接向FIFO中寫入圖像數據。當FIFO中寫入了10行圖像數據后,由CPLD向DSP發出中斷INT0請求;同時,DSP接到中斷請求后,啟動DMA方式將10行圖像數據從FIFO中讀入到其外部SDRAM中存放。這樣在采集的同時,DSP就可以讀取已采集的10行數據,而不必等待一幀圖像數據采集完成,從而提高了DSP的處理效率。CPLD主要控制解碼器向FIFO中寫入數據以及DSP從FIFO中讀出數據。系統可以采集到一幀圖像的尺寸為640(點/行)×480(行),從SA71113輸出的是4:2:2的YcrCb數據格式,一個像素用2個字節表示,一個字節表示Y,另一個字節為Cb和Cr,總的數據量為640×480×2=600 KB。對于亮度信號,每個像素Y占1B,一行共640 B,用640個存儲單元存儲一行的Y數據。對于色度信號Cb,一行共640點,每兩個像素共用一個色度信號Cb,占1 B,共320 B,用320個字節單元存放一行的數據。對于色度信號Cr,存儲格式與Cb一樣。這樣一幀圖像數據需要的的緩沖區大小為:640×480+320×480×2=600 KB。因此系統中對此擴展了8 M×32 bit的SDRAM,而且用了具有3 Mbit緩沖的FIFO[3,5]。
2 JPEG壓縮編碼流程與優化實現
JPEG壓縮編碼主要由圖像數據分塊、DCT變換、量化、Huffman編碼4個步驟[4]。先將原始YcbCr空間的二維圖像分成8×8的數據塊,然后將各數據塊按從左到右、從上到下的順序分別進行DCT變換、量化、“之”字型(Zig-Zag)掃描和Huffman編碼(量化和Huffman編碼分別需要量化表和Huffman表的支持),其中DCT變換是JPEG算法的關鍵部分。
 DCT變換的快慢決定了整個JPEG算法的速度。8×8數據塊的DCT計算有直接計算法和行列法兩大類,但直接計算法較復雜,占用更多的DSP資源,因此一般使用行列法,將8×8數據塊的DCT計算轉換為16次一維8點DCT計算,只要提高一維DCT的運算速度就可以提高二維DCT的運算速度。本文應用一種基于DSP乘法累加單元的DCT快速算法,DSP都具有乘法累加/減單元,能在單周期內完成1次乘法運算和1次累加運算[4]。VC5410DSP具有多條乘法累加指令,其中2條雙操作數乘法累加指令如表1所列。

 


表1中2條指令都能在單周期內完成讀出2個操作數、2個操作數相乘及乘法運算結果,與源累加器相加后送給目的累加器不同的是,第二條指令能將加法結果四舍五入后再送給目的累加器,可見這2條指令的功能非常強大。引入DCT計算,將大大簡化程序的復雜度,并減少DCT的時間。
(1)二維DCT正變換
二維DCT正變換的公式如下(8×8):
 

  將以上二維變換分解為一系列一維變換(行,列)進行計算。即:

  從上述表達式可以看出,Y0~Y7都是乘法累加運算,而S0~S7可由x0~x7經過蝶形運算得到。因此將DCT算法分成兩級運算,即第一級蝶形運算,第二級乘法累加運算,減少了運算級數,也就減少了中間數據的存、取時間。這樣利用DSP的專用指令乘累加運算大大優化了DCT算法[4,5]。
(2)8點DCT的DSP實現
第一級運算包括4個蝶形運算,每個蝶形運算包括1次加法運算和1次減法運算,可以采用DSP的雙字加減法指令。例如計算(x0+x7)、(x0-x7)、(x1+x6)及(x1-x6)的程序段,需要如下5條指令:
    DLD      *AR2+0,B      ;取x0、x1
    DADD     *AR3,B,A     ;計算(x0+x7)、(x1+x6)
    DSTA,   *AR4+          ;存儲(x0+x7)、(x1+x6)
    DSUB     *AR3-0,B,A   ;計算(x0-x7)、(x1-x6)
    DSTA,   *AR5-          ;存儲(x0-x7)、(x1-x6)
故4個蝶形運算共需要10條指令。
計算一個DCT系數需要4次乘法累加運算和1次存儲操作,共5條指令,被乘數是蝶形運算結果,乘數是已知常數(事先計算好系數并存放在DSP的內部存儲器中)。乘法累加運算的程序段如下:
MAC     *AR4+,*AR5+0%,B,A  ;乘法累加
    MAC     *AR4+,*AR5+0%,A     ;乘法累加
    MAC     *AR4+,*AR5+0%,A     ;乘法累加
    MACR    *AR4+,*AR5+0%,A     ;乘法累加
    STHA,  *AR2-0                ;存儲結果
    其中,AR4、AR5分別指向被乘數和乘數,累加器B事先被清零,因此,第二級運算共需要40條指令,計算一個8點DCT要50條指令,實際編程時還要加幾條輔助指令,最后以54條指令和非常簡潔的程序結構實現了8點DCT[4-7]。
本文以上述算法和流程為基礎,設計了基于DSP實現JPEG的編碼算法,并進行了優化。與基于ASIC的方法相比,本方案具有通用性強、靈活高效的特點。圖2(CCS界面顯示)為采集的640×480×16 bit的本人彩色視頻頭像進行JPEG標準壓縮后復原的圖像,相應的壓縮編碼指標在表2中列出。

 


  從上面的結果可以看出,整個壓縮系統基本上可以實現對視頻圖像壓縮編碼。對本算法進行適當修改,可以應用到數碼相機、手機等多種嵌入式系統中。同時,該壓縮系統可以通過PCI總線控制,將壓縮后的碼流通過JPEG文件的形式傳輸給PC機。另外,該壓縮系統可以成為一個通用的視頻圖像采集壓縮處理平臺,在該平臺上可以實現JPEG2000、H.264、MPEG-4等多種視頻壓縮。


參考文獻
[1] PENNEBAKER W B,MITCH1L J L.JPEG still image data compression standard.VNR 115 fifth Avenue,New York,NY 10003,1993.
[2] 劉政,葉漢民.CPLD在DSP多分辯率圖像采集系統中的應用[J].微計算機信息,2007(29).
[3] 馮琪,裴海龍.視頻采集與實時傳輸系統的軟件實現方法研究[J].計算機應用研究,2005(7).
[4] 齊美彬.基于DSP的視頻圖象壓縮系統的研究.合肥工業大學碩士學位論文,2001.
[5] 王元中,胡瑞繁.整數DCT變換中變換基的通用生成算法[J].中國圖像圖形學報,2008(6).
[6] 魯昌華,石洪源.基于FPGA+DSP的實時圖像處理平臺的設計與實現[J].電子技術應用,2007(12).
[7] 須文波,陳玉萍.基于DSP圖像壓縮系統設計與算法研究[J].計算機工程與應用,2007(43).

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲在线视频观看| 日韩一二三在线视频播| 亚洲精品网址在线观看| 激情文学一区| 国产一区高清视频| 国产欧美日韩在线播放| 欧美色偷偷大香| 欧美日韩激情小视频| 欧美日韩激情网| 欧美激情视频一区二区三区免费 | 一区二区三区四区五区精品| 亚洲美女视频网| 99re这里只有精品6| 亚洲美女视频| 亚洲色图在线视频| 亚洲欧美日韩精品久久奇米色影视| 中文一区二区| 午夜精品美女自拍福到在线| 性欧美18~19sex高清播放| 香蕉乱码成人久久天堂爱免费 | 欧美一区二区在线看| 欧美一区二区三区免费观看| 久久精品国产69国产精品亚洲| 久久国产精彩视频| 久久国产手机看片| 亚洲精品国产品国语在线app | 久久久久国色av免费看影院| 久久久久久久一区| 另类尿喷潮videofree| 欧美福利影院| 欧美日韩色婷婷| 国产精品一国产精品k频道56| 国产欧美日韩精品专区| 国产在线观看精品一区二区三区| 精品成人一区| 日韩一区二区精品视频| 亚洲视频在线免费观看| 午夜在线视频一区二区区别 | 亚洲欧美精品伊人久久| 欧美一区二区三区四区视频| 久久精品一区二区三区中文字幕| 麻豆精品视频在线观看| 欧美日韩午夜在线| 国产日韩精品在线观看| 在线看片欧美| 制服诱惑一区二区| 久久精品国产99精品国产亚洲性色| 亚洲欧洲精品一区二区| 亚洲午夜成aⅴ人片| 欧美中日韩免费视频| 欧美bbbxxxxx| 国产精品男gay被猛男狂揉视频| 狠狠色综合播放一区二区| 亚洲青涩在线| 翔田千里一区二区| 亚洲毛片视频| 欧美一区成人| 欧美成人精品一区| 国产精品夜色7777狼人| 亚洲国产乱码最新视频| 亚洲在线免费| 91久久综合亚洲鲁鲁五月天| 亚洲欧美日本日韩| 欧美成人蜜桃| 国产日韩精品一区二区三区在线 | 久久www成人_看片免费不卡| 999亚洲国产精| 欧美一区二区成人6969| 欧美激情综合亚洲一二区| 国产欧美日韩视频| 亚洲精品乱码久久久久| 午夜一区二区三区在线观看| 国产精品99久久久久久白浆小说| 久久久女女女女999久久| 欧美日韩精品一本二本三本| 国产一区二区观看| 亚洲一区二区三区高清不卡| 亚洲精品久久嫩草网站秘色| 久久riav二区三区| 欧美日韩三级| 亚洲国产日韩欧美| 欧美一区二区在线视频| 亚洲欧美福利一区二区| 欧美电影在线观看| 海角社区69精品视频| 亚洲一区二区三区久久| 99精品视频免费在线观看| 久久青草福利网站| 国产婷婷色一区二区三区四区 | 一本色道久久综合亚洲精品不卡 | 亚洲区一区二区三区| 久久国产福利国产秒拍| 午夜视频一区二区| 欧美性猛交一区二区三区精品| 亚洲欧洲在线免费| 亚洲国产一成人久久精品| 久久福利资源站| 国产精品美女午夜av| 99精品国产99久久久久久福利| 亚洲人www| 老色批av在线精品| 国产一区自拍视频| 亚洲欧美在线另类| 亚洲欧美日韩在线观看a三区| 欧美日韩成人在线| 亚洲精品自在在线观看| 亚洲麻豆视频| 欧美精品99| 亚洲精品久久久蜜桃| 亚洲免费观看高清完整版在线观看熊| 男人的天堂亚洲在线| 影音先锋日韩有码| 亚洲国产另类精品专区| 美腿丝袜亚洲色图| 在线观看欧美日本| 亚洲日本va午夜在线电影| 你懂的国产精品永久在线| 伊人久久久大香线蕉综合直播| 久久国产精品99国产精| 老司机午夜精品| 在线欧美三区| 日韩午夜在线电影| 欧美欧美天天天天操| 日韩午夜在线播放| 亚洲一区视频在线| 国产精品夜夜夜| 欧美一区二区三区四区在线| 久久精品成人一区二区三区| 国产亚洲精品福利| 欧美综合国产精品久久丁香| 久久一区二区精品| 亚洲激情第一区| 亚洲无线观看| 国产精品一区久久| 欧美一区二区三区播放老司机| 久久久久网站| 亚洲成色999久久网站| 日韩亚洲国产精品| 欧美日韩国产综合视频在线观看中文| 一本色道久久综合狠狠躁篇怎么玩| 亚洲在线视频| 国产亚洲免费的视频看| 亚洲二区在线观看| 欧美噜噜久久久xxx| 亚洲午夜三级在线| 久久久国际精品| 亚洲国产成人精品久久| 在线一区亚洲| 国产伦精品一区二区三区在线观看 | 久久国产精品久久久久久久久久 | 亚洲欧美日韩精品久久奇米色影视| 久久成人精品视频| 亚洲国产mv| 亚洲综合三区| 黄网站色欧美视频| av成人激情| 国产精品亚洲激情 | 99精品久久| 国产精品一区毛片| 91久久夜色精品国产九色| 欧美午夜电影网| 欧美中文日韩| 欧美成人蜜桃| 亚洲一区日韩在线| 免费看精品久久片| 日韩视频亚洲视频| 久久不射2019中文字幕| 亚洲国产欧美不卡在线观看| 亚洲影视中文字幕| 激情久久久久久久| 亚洲在线观看| 亚洲第一精品福利| 亚洲欧美日韩国产精品| **性色生活片久久毛片| 亚洲欧美精品在线| 1024国产精品| 欧美怡红院视频一区二区三区| 在线免费观看日本一区| 午夜日韩av| 亚洲人成网站在线观看播放| 欧美一区永久视频免费观看| 亚洲国产欧美日韩精品| 欧美一区中文字幕| 99精品99| 母乳一区在线观看| 亚洲欧美制服另类日韩| 欧美精品二区| 亚洲福利专区| 国产女同一区二区| 在线亚洲电影| 亚洲电影免费| 久久精品国语| 亚洲视频在线一区观看| 欧美激情视频在线播放| 欧美有码在线观看视频| 国产精品国产三级国产专播品爱网 | 1769国内精品视频在线播放| 午夜精品久久久久久久久久久| 亚洲激情图片小说视频| 久久久亚洲国产天美传媒修理工|