一種降低圖像縮小處理時(shí)系統(tǒng)峰值帶寬的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖像處理系統(tǒng)技術(shù)領(lǐng)域,具體涉及一種降低圖像縮小處理時(shí)系統(tǒng)峰值帶寬的方法和裝置。
【背景技術(shù)】
[0002]如圖1所示,顯示引擎是芯片中處理二維圖像的圖層疊加、縮放、后處理等功能的電路模塊,它通過(guò)向DRAM控制器發(fā)送命令來(lái)取得圖像數(shù)據(jù),然后用這些數(shù)據(jù)進(jìn)行運(yùn)算處理,處理完的數(shù)據(jù)再送給顯示時(shí)序驅(qū)動(dòng)器去驅(qū)動(dòng)屏幕進(jìn)行顯示。顯示引擎對(duì)系統(tǒng)帶寬的要求完全取決于硬件DMA的行為,好的硬件DMA設(shè)計(jì)能節(jié)省帶寬,而差的DMA設(shè)計(jì)會(huì)給系統(tǒng)帶來(lái)很大負(fù)擔(dān)。傳統(tǒng)的取數(shù)方式如圖2和圖3所示,軟件配置起始地址和圖像的寬度和高度,硬件DMA按照固定順序,即以行掃描的方式發(fā)送地址命令給DRAM控制器,于是DRAM控制器以行掃描的順序返回?cái)?shù)據(jù),圖像縮放模塊按順序接收硬件DMA傳送過(guò)來(lái)的數(shù)據(jù)并進(jìn)行運(yùn)笪弁ο
[0003]如圖4所示,由于圖像縮放模塊本身的特性,當(dāng)圖像進(jìn)行縮小的時(shí)候,每輸出一行可能需要連續(xù)寫(xiě)入多行數(shù)據(jù),相應(yīng)的,DMA會(huì)連續(xù)發(fā)送多行數(shù)據(jù)的命令給DRAM控制器,這時(shí)峰值帶寬很高,在一段時(shí)間內(nèi)系統(tǒng)帶寬吃緊,影響系統(tǒng)性能。針對(duì)這個(gè)問(wèn)題通常有兩種解決辦法:1.系統(tǒng)總線限制設(shè)備的峰值帶寬,這時(shí)總線的延時(shí)就非常大,顯示引擎必須增加大量緩沖器來(lái)容忍總線的延時(shí),否則顯示時(shí)序控制器會(huì)缺數(shù),這樣做會(huì)增加成本;2.系統(tǒng)總線不限制設(shè)備的峰值帶寬,通過(guò)提高DRAM的頻率來(lái)滿足高峰值帶寬,這樣就降低了系統(tǒng)帶寬的利用率,同時(shí)也增加了成本。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題在于,針對(duì)現(xiàn)有技術(shù)的不足,提供一種降低圖像縮小處理時(shí)系統(tǒng)峰值帶寬的方法和裝置,克服現(xiàn)有技術(shù)圖像處理模塊在進(jìn)行圖像壓縮時(shí)帶寬占用多,導(dǎo)致峰值帶寬過(guò)高,影響系統(tǒng)性能的缺陷。
[0005]本發(fā)明為解決上述技術(shù)問(wèn)題所采用的技術(shù)方案為:
[0006]一種降低圖像縮小處理時(shí)系統(tǒng)峰值帶寬的方法,包括步驟:在進(jìn)行圖像縮小處理時(shí),存儲(chǔ)器直接訪問(wèn)DMA模塊根據(jù)運(yùn)算窗口的行列數(shù)大小,讀取存儲(chǔ)器中的圖像數(shù)據(jù)并控制存儲(chǔ)器讀取地址的換行和換列,在讀取的數(shù)據(jù)個(gè)數(shù)達(dá)到所述運(yùn)算窗口的寬度列數(shù)或者所述寬度列數(shù)的倍數(shù)時(shí)所述讀取地址即進(jìn)行換行,在讀取的數(shù)據(jù)行數(shù)達(dá)到所述運(yùn)算窗口的高度行數(shù)時(shí)所述讀取地址即偏移所述運(yùn)算窗口的寬度列數(shù)或者所述寬度列數(shù)的倍數(shù)。
[0007]根據(jù)本發(fā)明的實(shí)施例,在所述存儲(chǔ)器直接訪問(wèn)DMA模塊內(nèi)設(shè)置地址跳轉(zhuǎn)控制模塊,控制存儲(chǔ)器讀取地址的換行和換列。
[0008]根據(jù)本發(fā)明的實(shí)施例,所述地址跳轉(zhuǎn)控制模塊包括第一計(jì)數(shù)器、第二計(jì)數(shù)器、第三計(jì)數(shù)器和第四計(jì)數(shù)器,第一計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至圖像的總列數(shù),第二計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至所述運(yùn)算窗口的寬度列數(shù),第三計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至圖像的總行數(shù),第四計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至所述運(yùn)算窗口的高度行數(shù)。
[0009]根據(jù)本發(fā)明的實(shí)施例,在圖像縮放模塊設(shè)置雙緩沖器,即第一緩沖器和第二緩沖器,以及行緩沖控制模塊,第一緩沖器寫(xiě)入數(shù)據(jù)時(shí),第二緩沖器向所述行緩沖控制模塊傳送數(shù)據(jù),第二緩沖器寫(xiě)入數(shù)據(jù)時(shí),第一緩沖器向所述行緩沖控制模塊傳送數(shù)據(jù)。
[0010]根據(jù)本發(fā)明的實(shí)施例,所述運(yùn)算窗口的行列數(shù)大小設(shè)為4行乘以4列。
[0011 ] 一種降低圖像縮小處理時(shí)系統(tǒng)峰值帶寬的裝置,包括存儲(chǔ)器、存儲(chǔ)器直接訪問(wèn)DMA模塊和圖像縮放模塊,所述存儲(chǔ)器、所述存儲(chǔ)器直接訪問(wèn)DMA模塊和所述圖像縮放模塊依次相連,所述存儲(chǔ)器用于存儲(chǔ)圖像數(shù)據(jù),所述存儲(chǔ)器直接訪問(wèn)DMA模塊用于在進(jìn)行圖像縮小處理時(shí),根據(jù)運(yùn)算窗口的行列數(shù)大小讀取存儲(chǔ)器中的圖像數(shù)據(jù)并控制存儲(chǔ)器讀取地址的換行和換列,在讀取的數(shù)據(jù)個(gè)數(shù)達(dá)到所述運(yùn)算窗口的寬度列數(shù)或者所述寬度列數(shù)的倍數(shù)時(shí)所述讀取地址即進(jìn)行換行,在讀取的數(shù)據(jù)行數(shù)達(dá)到所述運(yùn)算窗口的高度行數(shù)時(shí)所述讀取地址即偏移所述運(yùn)算窗口的寬度列數(shù),所述圖像縮放模塊用于根據(jù)所述運(yùn)算窗口的行列數(shù)大小對(duì)所述圖像數(shù)據(jù)進(jìn)行縮小處理。
[0012]根據(jù)本發(fā)明的實(shí)施例,在所述存儲(chǔ)器直接訪問(wèn)DMA模塊內(nèi)設(shè)置地址跳轉(zhuǎn)控制模塊,控制存儲(chǔ)器讀取地址的換行和換列。
[0013]根據(jù)本發(fā)明的實(shí)施例,所述地址跳轉(zhuǎn)控制模塊包括第一計(jì)數(shù)器、第二計(jì)數(shù)器、第三計(jì)數(shù)器和第四計(jì)數(shù)器,第一計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至圖像的總列數(shù),第二計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至所述運(yùn)算窗口的寬度列數(shù),第三計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至圖像的總行數(shù),第四計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至所述運(yùn)算窗口的高度行數(shù)。
[0014]根據(jù)本發(fā)明的實(shí)施例,在所述圖像縮放模塊設(shè)置雙緩沖器,即第一緩沖器和第二緩沖器,以及行緩沖控制模塊,第一緩沖器寫(xiě)入數(shù)據(jù)時(shí),第二緩沖器向所述行緩沖控制模塊傳送數(shù)據(jù),第二緩沖器寫(xiě)入數(shù)據(jù)時(shí),第一緩沖器向所述行緩沖控制模塊傳送數(shù)據(jù)。
[0015]根據(jù)本發(fā)明的實(shí)施例,所述運(yùn)算窗口的行列數(shù)大小設(shè)為4行乘以4列。
[0016]實(shí)施本發(fā)明的技術(shù)方案,具有以下有益效果:本發(fā)明改變現(xiàn)有技術(shù)圖像縮小處理按行取數(shù)的方式,DMA按塊取數(shù),讓圖像縮放模塊在最短的時(shí)間內(nèi)建立運(yùn)算窗口,在進(jìn)行圖像縮小時(shí)不用總線干預(yù)就能自我控制峰值帶寬,在不需要增加緩沖器和提高DRAM頻率的條件下保證顯示時(shí)序控制器不缺數(shù);本發(fā)明無(wú)需增加大量緩沖器,因此低成本;無(wú)需總線限制峰值帶寬,對(duì)系統(tǒng)總線的要求低。
【附圖說(shuō)明】
[0017]下面通過(guò)參考附圖并結(jié)合實(shí)例具體地描述本發(fā)明,本發(fā)明的優(yōu)點(diǎn)和實(shí)現(xiàn)方式將會(huì)更加明顯,其中附圖所示內(nèi)容僅用于對(duì)本發(fā)明的解釋說(shuō)明,而不構(gòu)成對(duì)本發(fā)明的任何意義上的限制,在附圖中:
[0018]圖1為現(xiàn)有技術(shù)圖像處理電路模塊示意圖;
[0019]圖2為現(xiàn)有技術(shù)圖像處理電路模塊數(shù)據(jù)流示意圖;
[0020]圖3為現(xiàn)有技術(shù)圖像處理電路模塊工作流程示意圖;
[0021]圖4為現(xiàn)有技術(shù)圖像處理電路模塊進(jìn)行圖像壓縮時(shí)的峰值帶寬示意圖;
[0022]圖5為本發(fā)明裝置示意圖;
[0023]圖6為本發(fā)明工作流程不意圖;
[0024]圖7為本發(fā)明圖像壓縮像素點(diǎn)計(jì)算示意圖;
[0025]圖8為本發(fā)明具體實(shí)施例流程圖;
[0026]圖9為本發(fā)明DMA模塊發(fā)送命令的時(shí)序圖;
[0027]圖10為本發(fā)明DMA模塊返回?cái)?shù)據(jù)的時(shí)序圖;
[0028]圖11為本發(fā)明圖像縮放模塊運(yùn)算窗口雙緩沖器工作流程示意圖;
[0029]圖12為本發(fā)明圖像縮放模塊運(yùn)算窗口緩沖器工作流程示意圖;
[0030]圖13為本發(fā)明圖像縮放模塊行行緩沖控制模塊工作流程示意圖;
[0031]圖14為本發(fā)明圖像處理電路模塊進(jìn)行圖像壓縮時(shí)的峰值帶寬示意圖。
【具體實(shí)施方式】
[0032]如圖5和圖6所示,本發(fā)明降低圖像縮小處理時(shí)系統(tǒng)峰值帶寬的方法,包括步驟:在進(jìn)行圖像縮小處理時(shí),存儲(chǔ)器直接訪問(wèn)DMA模塊根據(jù)運(yùn)算窗口的行列數(shù)大小,讀取存儲(chǔ)器中的圖像數(shù)據(jù)并控制存儲(chǔ)器讀取地址的換行和換列,在讀取的數(shù)據(jù)個(gè)數(shù)達(dá)到運(yùn)算窗口的寬度列數(shù)或者寬度列數(shù)的倍數(shù)時(shí)讀取地址即進(jìn)行換行,在讀取的數(shù)據(jù)行數(shù)達(dá)到運(yùn)算窗口的高度行數(shù)時(shí)讀取地址即偏移運(yùn)算窗口的寬度列數(shù)或者所述寬度列數(shù)的倍數(shù)。根據(jù)本發(fā)明的實(shí)施例,在存儲(chǔ)器直接訪問(wèn)DMA模塊內(nèi)設(shè)置地址跳轉(zhuǎn)控制模塊,控制存儲(chǔ)器讀取地址的換行和換列。地址跳轉(zhuǎn)控制模塊包括第一計(jì)數(shù)器、第二計(jì)數(shù)器、第三計(jì)數(shù)器和第四計(jì)數(shù)器,第一計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至圖像的總列數(shù),第二計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至運(yùn)算窗口的寬度列數(shù),第三計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至圖像的總行數(shù),第四計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至運(yùn)算窗口的高度行數(shù)。在圖像縮放模塊設(shè)置雙緩沖器,即第一緩沖器和第二緩沖器,以及行緩沖控制模塊,第一緩沖器寫(xiě)入數(shù)據(jù)時(shí),第二緩沖器向行緩沖控制模塊傳送數(shù)據(jù),第二緩沖器寫(xiě)入數(shù)據(jù)時(shí),第一緩沖器向行緩沖控制模塊傳送數(shù)據(jù)。運(yùn)算窗口的行列數(shù)大小設(shè)為4行乘以4列。
[0033]本發(fā)明降低圖像縮小處理時(shí)系統(tǒng)峰值帶寬的裝置,包括存儲(chǔ)器、存儲(chǔ)器直接訪問(wèn)DMA模塊和圖像縮放模塊,存儲(chǔ)器、存儲(chǔ)器直接訪問(wèn)DMA模塊和圖像縮放模塊依次相連,存儲(chǔ)器用于存儲(chǔ)圖像數(shù)據(jù),存儲(chǔ)器直接訪問(wèn)DMA模塊用于在進(jìn)行圖像縮小處理時(shí),根據(jù)運(yùn)算窗口的行列數(shù)大小讀取存儲(chǔ)器中的圖像數(shù)據(jù)并控制存儲(chǔ)器讀取地址的換行和換列,在讀取的數(shù)據(jù)個(gè)數(shù)達(dá)到運(yùn)算窗口的寬度列數(shù)或者寬度列數(shù)的倍數(shù)時(shí)讀取地址即進(jìn)行換行,在讀取的數(shù)據(jù)行數(shù)達(dá)到運(yùn)算窗口的高度行數(shù)時(shí)讀取地址即偏移運(yùn)算窗口的寬度列數(shù),圖像縮放模塊用于根據(jù)運(yùn)算窗口的行列數(shù)大小對(duì)圖像數(shù)據(jù)進(jìn)行縮小處理。根據(jù)本發(fā)明的實(shí)施例,在存儲(chǔ)器直接訪問(wèn)DMA模塊內(nèi)設(shè)置地址跳轉(zhuǎn)控制模塊,控制存儲(chǔ)器讀取地址的換行和換列。地址跳轉(zhuǎn)控制模塊包括第一計(jì)數(shù)器、第二計(jì)數(shù)器、第三計(jì)數(shù)器和第四計(jì)數(shù)器,第一計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至圖像的總列數(shù),第二計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至運(yùn)算窗口的寬度列數(shù),第三計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至圖像的總行數(shù),第四計(jì)數(shù)器用于將計(jì)數(shù)累計(jì)至運(yùn)算窗口的高度行數(shù)。在圖像縮放模塊設(shè)置雙緩沖器,即第一緩沖器和第二緩沖器,以及行緩沖控制模塊,第一緩沖器寫(xiě)入數(shù)據(jù)時(shí),第二緩沖器向行緩沖控制模塊傳