



免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品論文jpeg 壓縮算法在 dm642 上優(yōu)化及實(shí)現(xiàn)魏洪濤,盧偉 武漢理工大學(xué)信息工程學(xué)院,武漢(430070) e-mail:摘要:在 dm642 上實(shí)現(xiàn)了 jpeg 圖像壓縮算法,并對傳統(tǒng)的 dct 變換進(jìn)行了改進(jìn),針對dm642 的 cache 結(jié)構(gòu)和 dma 對 jpeg 編碼程序的內(nèi)存進(jìn)行優(yōu)化,對編碼進(jìn)行測試后表明 在沒有降低圖像質(zhì)量的情況下,編碼性能提高了 8 幀/秒(cif 格式)左右。 關(guān)鍵詞:jpeg;dm642;dct 變換;cache 結(jié)構(gòu);yuv1. 引言jpeg (joint photographic experts group)它是由 iso (international organization for standardization) 和 ccitt(committee consultation international technic and telegraph)聯(lián) 合指定的一種用于連續(xù)色調(diào)、多級灰度、彩色或單色靜止圖像數(shù)據(jù)壓縮的國際標(biāo)準(zhǔn)。相對其 他靜止圖像壓縮算法,它具有算法簡單,運(yùn)算速度快,占用空間小等優(yōu)點(diǎn),被廣泛用于嵌入 式系統(tǒng)中。美國 ti 公司 tms320c64x 系列中的 dm642 開發(fā)板是用來實(shí)現(xiàn)流媒體應(yīng)用的主 流方式,它的芯片主頻達(dá)到 600mhz,峰值處理速度達(dá)到 4800ips。它具有小巧靈活、實(shí)時 高效的特點(diǎn),在諸如監(jiān)視系統(tǒng)、手機(jī)、以及可視電話等多媒體嵌入式系統(tǒng)中應(yīng)用廣泛。本文 就是利用 dm642 來研究 jpeg 圖像編碼相關(guān)算法的。2.jpeg 壓縮編碼的基本原理及算法的優(yōu)化實(shí)現(xiàn)如圖 1 所示,jpeg 壓縮編碼1主要由預(yù)處理、dct 變換、量化、huffman 編碼等流程 構(gòu)成。jpeg 壓縮編碼時,先將原始 yv12(4:2:0)圖像分為 88 的數(shù)據(jù)塊,按一個 mcu 為單位進(jìn)行編碼,一個 mcu 包含 6 個 8x8 塊,其中 y 分量是 4 個 8x8 塊,u 分量和 v 分 量各一個 8x8 塊,如果圖像高寬不能被 16 整除,則用邊緣像素填充;然后將各數(shù)據(jù)塊按從 左到右,從上到下的順序分別進(jìn)行 dct 變換、量化,對 dct 變換后的 dc 系數(shù)要進(jìn)行 dpcm 編碼,并進(jìn)行“之”字型(zig-zag )掃描和 huffman 編碼(量化和 huffman 編碼分別需要量化表 和 huffman 表的支持)。- 5 -塊8x8dctpdcm量化zig_zag熵編碼碼流量化表碼表圖 1 jpeg 編碼框圖在整個編碼過程中,dct 變換的快慢決定了整個 jpeg 算法的速度。傳統(tǒng)的 dct2公式 如下所示:1 77(2i + 1)u(2 j + 1)v f (u, v) =c (u)c(v) f (i, j) coscos4c (u), c (v) = 1 i =0 j =0(其他情況)1616c (u), c (v) = 12(當(dāng) u,v=0)如果按照該公式進(jìn)行計(jì)算,雖得到的數(shù)值精度較高,但運(yùn)算量太大,會降低 jpeg 編碼 速度,為此可以將二維 dct 分為兩個一維的 dct,轉(zhuǎn)換如下:1 7( 2 i + 1 ) u 1 7( 2 j + 1 ) v f ( u , v ) =c ( u ) g ( i , v ) c o s2 i = 0 1 6 g ( i , v ) =c ( u ) 2 j = 0f ( i , j ) c o s 1 6 那么,8 點(diǎn)一維序列 xi (0 i 7) 的 dct 定義:7y0 = xii = 07yk = xi cos (2i + 1)k / 16i = 0(1 k 7)假設(shè): s0 = x0 + x7s1 = x1 + x6s2 = x2 + x5s3 = x3 + x4s4 = x3 x4s5 = x2 x5s6 = x1 x6s7 = x0 x7由上式展開與合并,得到 dct 的輸出:y0 = s0 + s1 + s2 + s3y =s (cos3 sin3)+s (cos sin )+s (sin +cos )+s (cos3 +sin3)141616516166161671616y = s2 cos 6 s2 sin 6 + s2 sin 6 s2 cos 62 0 16 116 216 3 16y = s2 sin 3 s2 cos s2 sin + s2 cos 33 4 16 516 616 7 16y4 = s0 s1 s2 + s3y = s2 cos 3 + s2 sin s2 sin + s2 cos 35 4 16 516 616 7 16y = s2 cos 6 s2 sin 6 + s2 sin 6 s2 cos 66 0 16 116 216 3 16y = s (sin 3 +cos 3 ) + s (sin + cos ) + s (sin cos ) + s (cos 3 sin 3 )7 4 16 165 16 166 16 16 716 16由上可知:改進(jìn)后的 dct 算法由兩級構(gòu)成:第一級為碟形運(yùn)算,第二級為乘法累加運(yùn)算, 減少了運(yùn)算級數(shù),利用 c6000 的乘累加運(yùn)算指令可大大優(yōu)化 dct 算法。3. 基于 dm642 的 cache 和 dma 對編碼優(yōu)化cpu時鐘600mhzl1cache600mhz存儲器大小l2cache600mhz外部存儲 器小于150mhz圖 2 dm642 存儲結(jié)構(gòu)圖和相應(yīng)的讀取時間dm6423采用的是 c64xdsp 核,時鐘頻率高達(dá) 600mhz,提供了 8 個并行處理單元, 處理能力高達(dá) 4800mips,片內(nèi)是兩級 cache 結(jié)構(gòu),其機(jī)制是透明的,圖 2 為 dm642 存 儲結(jié)構(gòu)圖和相應(yīng)的讀取時間。cpu 和一級程序高速緩存(l1p)及一級數(shù)據(jù)高速緩存(l1d) 直接相連,l1p 和 l1d 大小分別為 16kbyte。第二級緩存 l2 有 256kbyte,程序空間和數(shù)據(jù) 空間是共享的,可以設(shè)置成存儲單元,高速緩存(cache),或者是這兩個的結(jié)合。l2 一 部分配置為 sram 時,映像入 c64 尋址空間,cpu 可以直接進(jìn)行存取,l2 一部分配置為 cache,大小為 32kb,64kb,128kb,256kb 中的,任何被配置為 cache 的 l2sram 不處于存儲器映像中,不能被存取。除了片內(nèi)的 cache 外就是外部存儲器,容量一般都會 滿足要求。dm642 的 dma 是為后臺傳輸服務(wù)的,它可以獨(dú)立于 cpu 工作和以 cpu 時鐘 速度進(jìn)行數(shù)據(jù)吞吐。cpu請求數(shù)據(jù)所需數(shù)據(jù)是 否在l1中nono所需數(shù)據(jù)是 否在l2中向片外內(nèi)存 請求數(shù)據(jù)yesyes將數(shù)據(jù)傳給cpu將數(shù)據(jù)導(dǎo)入l1將數(shù)據(jù)導(dǎo)入l2圖 3 兩級緩存的訪問原理在 jpeg 編碼過程中,dct 變換、量化、熵編碼時存在著大量的數(shù)據(jù)交換,片內(nèi)的存儲有限使得大部分的程序代碼和數(shù)據(jù)不得不放在片外。如圖 3 所示兩級 cache 的工作原理4, cpu 只對 l1 的數(shù)據(jù)進(jìn)行訪問,程序代碼和數(shù)據(jù)必須經(jīng)過存儲器到 l2,l2 到 l1 的逐級搬 移才能被 cpu 訪問。cpu 對于片外數(shù)據(jù)的存取速度較慢,對于需要頻繁訪問的內(nèi)存的處理 會浪費(fèi)很多的時鐘周期,限制了 jpeg 編碼的速度。針對這個問題從兩個方面進(jìn)行優(yōu)化,其一:將程序中頻繁使用的數(shù)據(jù)存放在 l2 中,其次:使用 dma 操作5,讓處理器和內(nèi)存存 取并行執(zhí)行。 以下給出一幅 cif(分辨率為 352x288)編碼的優(yōu)化實(shí)例。先將 yv12 圖像分為 8x8 塊,以 mcu 為單位從左至右,從上至下進(jìn)行編碼。每編碼一個 mcu 單元,依次對亮度的 4 個 8x8 塊和色度的 2 個 8x8 塊進(jìn)行 dct 變化、量化、“之” 字型掃描和 huffman 編碼。在對亮度和色度進(jìn)行量化和熵編碼的時候需要調(diào)用 6 次量化表 和 huffman 表,這兩個表在編碼過程中頻繁被調(diào)用,使用 dsp/bios 將這些表定位到 l2 中。同時將 yv12 圖像的高劃分以 mcu 為單位,二級 cache 配置為 128kl2sram,在 l2sram 中設(shè)置 2 個容量相等的緩存區(qū) a 和 b。a 和 b 分別為一行圖像數(shù)據(jù)的容量,大小 為 8.25k(352x16+176x8+176x8)/1024),首先讀入一行 yv12 圖像數(shù)據(jù) 8.25k(y 分量 大小為 352x16byte,u 分量大小為 176x8 byte,v 分量為 176x8 byte),cpu 從 l2 a 中讀取 數(shù)據(jù)進(jìn)行編碼,編碼的同時 dma 開始從 sdram 中向 b 中搬移數(shù)據(jù),當(dāng) a 中的一行數(shù)據(jù) 編碼完后,就編碼 b 中的一行,同時 dma 開始從 sdram 中向 a 中搬移數(shù)據(jù)。這樣 a 和 b 就構(gòu)成了一種“蹺蹺板”的結(jié)構(gòu)。在任意一時刻,一個緩存在受 dma 控制拷貝數(shù)據(jù),另一 個緩存 cpu 控制處理數(shù)據(jù),兩個緩存區(qū)的狀態(tài)都在不斷的處理數(shù)據(jù)和拷貝數(shù)據(jù)間切換,這 樣就實(shí)現(xiàn)了兩個目的:(1)提高了數(shù)據(jù)訪問速度,由于 cpu 訪問的是 l2sram 的數(shù)據(jù),速度明顯高于直接 訪問 sdram。(2)dma 拷貝數(shù)據(jù)的開銷很小,因?yàn)?dma 的拷貝是與 cpu 處理數(shù)據(jù)并行的,節(jié)省 了數(shù)據(jù)在片內(nèi)和片外的存儲器的搬運(yùn)時間。4 優(yōu)化性能比較圖 4 優(yōu)化后輸出圖像表 1 對 yv12 優(yōu)化前后性能比較yv12psnrdct優(yōu)化前28.23 幀/秒42.536優(yōu)化后31 .51 幀/秒42.079cache優(yōu)化前31 .51 幀/秒41.976優(yōu)化后36.19 幀/秒41.735上圖是 jpeg 編碼算法在 dm642 上編碼出來的 jpeg 圖片。表 1 可以發(fā)現(xiàn),使用 dct快速算法和 cache 后,在編碼質(zhì)量沒有降低的情況下,編碼的性能總體上比優(yōu)化前提高了8 幀/秒。5. 結(jié)束語本文對傳統(tǒng)的 dct 算法進(jìn)行了改進(jìn),并在 dm642 中有效運(yùn)用 dma 控制方式和 cache,解決了圖像數(shù)據(jù)存取和 cpu 之間數(shù)據(jù)傳送的速度問題,提高了 jpeg 編碼的速率, 使 jpeg 編碼算法可以滿足嵌入式系統(tǒng)需要。為了進(jìn)一步提高 jpeg 在 dm642 上的編碼性 能,下一步的優(yōu)化將從指令的角度來進(jìn)行,例如使用內(nèi)存打包指令等還有待研究。參考文獻(xiàn)1 pennebaker w e.et al. jpeg still image data compressionm,new york:van nostrand reinhand 1993. 2 the inplementatin of the 2d-dctj.rmatik.tu-chemnitz.de/jan/mpeg/html/dct.html.20003 panda p r,catthoor f,dutt n det al. data and memory optimization techniques for embeddsd systems j.acm transactions on desgin automation of electronic systems,april 2001,6(2)149-2064 李方慧,王飛.tms320c6000 系列 dsps 原理與應(yīng)用m北京:電子工業(yè)出版社,20035 禹衛(wèi)東,吳淑梅.adsp2106x 中的 dma 的應(yīng)用j.電子技術(shù)應(yīng)用,2000(6):69-73realization of jpeg optimize compression algorithmbased on dm642wei hongtao, lu weischool of information engineering, wuhan university of technology, wuhan hubei (430070)abstractthe jpeg image compression algorithm is realized on dm642, and improved the traditional dcttransform. according to the dm642 cache structure and dma , zhe memory
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 注冊會計(jì)師考試2025年企業(yè)資源計(jì)劃的重要性試題及答案
- 注冊會計(jì)師考試趨勢與應(yīng)對策略分析試題及答案
- 項(xiàng)目合作伙伴選擇的關(guān)鍵考題及答案
- 2025年金融市場概論試題及答案
- 律師事務(wù)所關(guān)于股份有限公司部分國有股權(quán)轉(zhuǎn)讓的法律意見書
- 了解項(xiàng)目管理變革的相關(guān)考題試題及答案
- 新市場開發(fā)的總結(jié)與戰(zhàn)略計(jì)劃
- 建立良好的客戶服務(wù)意識計(jì)劃
- 2025年注冊會計(jì)師考試的突出優(yōu)勢與考生需求分析試題及答案
- 2025年證券從業(yè)資格證基礎(chǔ)盤點(diǎn)試題及答案
- 外科游離皮瓣移植術(shù)后護(hù)理
- 第四章電功能高分子材料課件
- 《紀(jì)檢監(jiān)察機(jī)關(guān)派駐機(jī)構(gòu)工作規(guī)則》主要內(nèi)容解讀課件PPT
- 清華大學(xué)多元微積分期中考題
- 幼兒園繪本:《你真好》 PPT課件
- 可再生能源概論左然第四章 太陽電池
- 人因工程案例
- 消防工程報(bào)價清單
- 鋼結(jié)構(gòu)焊接工藝卡與返修工藝卡(共5頁)
- 客戶關(guān)系生命周期各階段的營銷策略
- 《小王子》課外閱讀知識競賽測試卷(附答案)
評論
0/150
提交評論