一種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法
【專利摘要】本發(fā)明公開一種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法,包含以下步驟:圖像存儲(chǔ)完畢,地址產(chǎn)生模塊一計(jì)算下一行地址,對(duì)應(yīng)RAM中的圖像數(shù)據(jù)讀出到第二行/第一行的緩存區(qū);同時(shí)地址產(chǎn)生模塊二開始對(duì)第一行/第二行進(jìn)行壓縮列地址,對(duì)應(yīng)緩沖區(qū)數(shù)據(jù)輸出到第N行的輸出緩存中,N在1至M+K中循環(huán),直至完成一行的壓縮操作;當(dāng)?shù)谝淮螌憹MM行的輸出緩存,地址產(chǎn)生模塊三開始工作;壓縮級(jí)不變時(shí),地址產(chǎn)生模塊三對(duì)從第N-M行到第N-1行這M行的輸出緩存的數(shù)據(jù)進(jìn)行輸出操作,并從其輸出緩存中讀出數(shù)據(jù),直到該數(shù)據(jù)長(zhǎng)度為當(dāng)前壓縮級(jí)的對(duì)應(yīng)行寬;壓縮級(jí)變化時(shí),地址產(chǎn)生模塊三所對(duì)應(yīng)的操作指針指向下K行;重復(fù)上述步驟至圖像壓縮遍歷完成。本發(fā)明的方法,其占用資源少、運(yùn)行速度快。
【專利說明】—種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及目標(biāo)特征查找【技術(shù)領(lǐng)域】,具體涉及一種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法。
【背景技術(shù)】
[0002]隨著機(jī)器智能化的需求增加,人們對(duì)人機(jī)交互系統(tǒng)的需求也在不斷的提高。其中,系統(tǒng)分辨率是一項(xiàng)重要的技術(shù)指標(biāo)。實(shí)時(shí)大數(shù)據(jù)量的處理是現(xiàn)有的智能人機(jī)交互系統(tǒng)的主要特點(diǎn),也是限制高分辨率系統(tǒng)發(fā)展的一個(gè)技術(shù)瓶頸。
[0003]在目標(biāo)檢測(cè)【技術(shù)領(lǐng)域】中,有兩個(gè)技術(shù)方向:一個(gè)是特定目標(biāo)的檢測(cè),例如識(shí)別圖像上的人是否是“張三”;另外一個(gè)是目標(biāo)查找,例如在一副圖像中尋找出有多少“人”,他們都在什么位置。兩個(gè)技術(shù)方向的最大區(qū)別在于后者需要對(duì)圖像進(jìn)行尺寸壓縮(適應(yīng)不同大小的目標(biāo))和遍歷(搜索圖像的每一個(gè)可能出現(xiàn)目標(biāo)的地方)。
[0004]對(duì)于后者,圖像尺寸壓縮遍歷技術(shù)是指把大尺寸的圖像按照特定的比例進(jìn)行尺寸的壓縮,并經(jīng)行特定窗口大小的圖像遍歷操作的處理技術(shù)。圖像尺寸壓縮遍歷技術(shù)是目標(biāo)檢測(cè)算法中重要的前端預(yù)處理技術(shù)。壓縮、遍歷方法的性能直接影響著后端處理的速度以及整個(gè)系統(tǒng)的規(guī)模。
[0005]目標(biāo)檢測(cè)技術(shù)需要處理大量的數(shù)據(jù),而人機(jī)交互領(lǐng)域的實(shí)時(shí)性要求卻很大程度上制約了技術(shù)的發(fā)展?,F(xiàn)有的技術(shù)條件主要以兩種方法解決這個(gè)問題:一種是降低算法復(fù)雜度,以犧牲分辨率為代價(jià)達(dá)到實(shí)時(shí)處理要求;另外一種是采用并行架構(gòu)進(jìn)行加速,以犧牲資源為代價(jià)獲得較快的處理速度和較高的分辨率。
[0006]以并行架構(gòu)進(jìn)行加速圖像尺寸壓縮和遍歷的主流做法有三種。
[0007]第一種方法是把整幅圖像存儲(chǔ)到寄存器中,以生成地址的方法逐行進(jìn)行壓縮,通過使用Iinebuffer緩沖進(jìn)行遍歷。使用Iinebuffer進(jìn)行緩沖遍歷的做法是,假設(shè)遍歷窗大小為20*20,原圖像大小為640*480,則例化20個(gè)長(zhǎng)度為640的buffer,數(shù)據(jù)從第一行進(jìn)入,進(jìn)行移位操作,第一行的數(shù)據(jù)輸出并進(jìn)入第二行,如此類推,則當(dāng)20行的buffer填滿的時(shí)候,模塊同時(shí)輸出20個(gè)的數(shù)據(jù),這些數(shù)據(jù)都在同一列,能看出每輸出一個(gè)數(shù)據(jù)等于窗口移動(dòng)一位,完成遍歷的功能。
[0008]第二種方法是在數(shù)據(jù)輸入過程進(jìn)行像素點(diǎn)選擇,把壓縮圖像存儲(chǔ)到寄存器中,只存儲(chǔ)壓縮后的圖像,通過生成地址的方法進(jìn)行遍歷輸出。
[0009]第三種方法是把整幅圖像緩存到RAM中,從RAM中讀出圖像進(jìn)行壓縮操作,圖像存回RAM中,壓縮圖像從RAM中讀出到Iinebuffer中進(jìn)行遍歷操作。
[0010]以上三種方法,不管采用哪一種方法,在實(shí)際應(yīng)用當(dāng)中都有很大的制約。
[0011]首先,是資源上的消耗:第一種方法中需要消耗640* (480+20) *8的寄存器,這些寄存器資源的消耗直接對(duì)應(yīng)著系統(tǒng)面積的擴(kuò)大;第二種方法中假設(shè)壓縮因子為1.25,從第三級(jí)開始到第十級(jí),所需要的存儲(chǔ)空間為640*480*0.7*8的寄存器,比第一種方法所使用的小,但由于在前端進(jìn)行壓縮,各級(jí)緩存區(qū)需要經(jīng)過單獨(dú)的地址運(yùn)算,算法復(fù)雜度有所提升,提高了邏輯資源的消耗;第三種方法中因?yàn)槭褂昧送獠看鎯?chǔ)器,所以寄存器資源的消耗很小,成本相對(duì)較低。
[0012]其次是速度上的制約:第二種方法中生成地址進(jìn)行遍歷的方式,每次讀出一個(gè)數(shù)據(jù),要讀出20個(gè)數(shù)據(jù),需要消耗20個(gè)時(shí)鐘周期,這比第一種方法要大大的增加了時(shí)間的開銷;第三種方法中,由于需要對(duì)圖像進(jìn)行多次的讀出和寫入,制約于外部存儲(chǔ)器的數(shù)據(jù)寬度,速度上比第二種方法更慢,約為第二種方法的1/8 (8個(gè)壓縮級(jí))。
[0013]所以,如何盡可能少的使用硬件資源的同時(shí)盡可能大的提高速度是圖像尺寸壓縮遍歷技術(shù)的難點(diǎn)所在。
【發(fā)明內(nèi)容】
[0014]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法,其占用資源少、運(yùn)行速度快。
[0015]本發(fā)明的目的通過以下的技術(shù)方案實(shí)現(xiàn):
[0016]一種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法,包含以下順序的步驟:
[0017](I)原始圖像數(shù)據(jù)存儲(chǔ)到RAM (隨機(jī)存儲(chǔ)器)中,當(dāng)?shù)谝恍袛?shù)據(jù)存儲(chǔ)完畢之后,讀出到第一行緩沖區(qū);
[0018](2)當(dāng)整幅圖像存儲(chǔ)完畢之后,開始進(jìn)行壓縮操作;
[0019](3)地址產(chǎn)生模塊一根據(jù)壓縮因子和壓縮級(jí)計(jì)算出下一行地址,地址對(duì)應(yīng)的RAM中的圖像數(shù)據(jù)讀出到第二行/第一行的緩存區(qū);
[0020](4)在進(jìn)行步驟(3)的同時(shí),地址產(chǎn)生模塊二開始對(duì)第一行/第二行進(jìn)行操作,根據(jù)壓縮因子和壓縮級(jí)計(jì)算出壓縮列地址,地址對(duì)應(yīng)的緩沖區(qū)數(shù)據(jù)輸出到第N行的輸出緩存中,N在I至M+K中循環(huán);
[0021 ] (5)重復(fù)步驟(4)直至完成一行的壓縮操作,每完成一行的操作,下一行的壓縮數(shù)據(jù)輸出到第N+1行,若N+K大于M+K,則N等于I ;
[0022](6)重復(fù)步驟(3)至步驟(5),直到第一次寫滿M行的輸出緩存,地址產(chǎn)生模塊三開始工作;
[0023](7)在壓縮級(jí)不變情況下,地址產(chǎn)生模塊三對(duì)從第N-M行到第N-1行這M行的輸出緩存的數(shù)據(jù)進(jìn)行輸出操作,其中N為步驟(4)中正在操作的輸出緩存編號(hào),當(dāng)N-M小于I時(shí)N-M等于N+K,當(dāng)N等于I時(shí),N-1等于M+K,同時(shí)從這M行的輸出緩存中讀出數(shù)據(jù),直到讀出數(shù)據(jù)的長(zhǎng)度為當(dāng)前壓縮級(jí)對(duì)應(yīng)的行寬;
[0024](8)在壓縮級(jí)變化的情況下,由于壓縮級(jí)變化導(dǎo)致每行像素點(diǎn)變少,當(dāng)步驟(5)中完成第N行操作后,步驟(7)中還沒完成對(duì)N-M到N-1這M行的輸出緩存數(shù)據(jù)的處理,所以如果步驟(7)沒完成,則在步驟(5)完成第N行操作后,繼續(xù)進(jìn)行步驟(4)和步驟(5),對(duì)第N+1行進(jìn)行操作,步驟(7)中操作的M行輸出緩存的編號(hào)不變,如果步驟(7)完成,則等待步驟(5)完成;
[0025](9)重復(fù)步驟(3)到步驟(8),直到一副圖像壓縮遍歷完成。
[0026]所述的步驟(3),具體為:地址產(chǎn)生模塊一根據(jù)壓縮因子a以及當(dāng)前壓縮級(jí)c計(jì)算當(dāng)前壓縮級(jí)對(duì)應(yīng)的下一行的地址,并從RAM中提取出來存儲(chǔ)在緩存區(qū)中,計(jì)算方法為:設(shè)已經(jīng)進(jìn)行了 η行的壓縮,計(jì)算第n+1行的行地址為floor (n*ac),floor函數(shù)表示向下取整。[0027]所述的步驟(4),具體為:地址產(chǎn)生模塊二根據(jù)壓縮因子a以及當(dāng)前壓縮級(jí)c計(jì)算當(dāng)前壓縮級(jí)對(duì)應(yīng)的下一列的地址,并從緩存區(qū)中提取數(shù)據(jù)出來,計(jì)算方法為:設(shè)已經(jīng)進(jìn)行了η列的壓縮,計(jì)算第n+1列的列地址為floor (n*ac), floor函數(shù)表示向下取整。
[0028]本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
[0029]1、所需硬件資源少、成本較低:本發(fā)明遍歷方法的硬件架構(gòu)包括一塊片外RAM,兩行緩存區(qū),一個(gè)數(shù)據(jù)選擇器,M+K行輸出緩存,三個(gè)地址產(chǎn)生模塊,K由壓縮因子a決定,K等于a向上取整,例如壓縮因子a為5/4,K等于2 ;M由遍歷窗口高度決定,窗口尺寸為20*25,則M=25 ;緩存區(qū)的大小由原圖像長(zhǎng)度決定,例如圖像尺寸為640*480,則緩存區(qū)長(zhǎng)度為大小為640 ;輸出緩存長(zhǎng)度由第一級(jí)的壓縮長(zhǎng)度決定,例如壓縮因子為1.25,原圖像長(zhǎng)度為640,由第三級(jí)開始?jí)嚎s,則輸出緩存長(zhǎng)度為640/ (1.25) 3=327 (向下取整)。
[0030]2、運(yùn)行速度快:本發(fā)明能對(duì)一副圖像尺寸進(jìn)行指定壓縮比例的壓縮操作并能在一級(jí)壓縮中進(jìn)行不間斷的窗口遍歷操作,在兩級(jí)壓縮跳變過程中只需等待極短時(shí)間即可進(jìn)行下一級(jí)壓縮圖像的遍歷操作,運(yùn)行速度較快。
【專利附圖】
【附圖說明】
[0031]圖1為本發(fā)明所述的一種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法的硬件架構(gòu)圖;
[0032]圖2為圖1所述方法的地址產(chǎn)生模塊一和地址產(chǎn)生模塊二協(xié)同進(jìn)行圖像壓縮的操作示意圖;
[0033]圖3為圖1所述方法的遍歷操作圖。
【具體實(shí)施方式】
[0034]一種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法,包含以下順序的步驟:
[0035](I)原始圖像數(shù)據(jù)存儲(chǔ)到RAM (隨機(jī)存儲(chǔ)器)中,當(dāng)?shù)谝恍袛?shù)據(jù)存儲(chǔ)完畢之后,讀出到第一行緩沖區(qū);
[0036](2)當(dāng)整幅圖像存儲(chǔ)完畢之后,開始進(jìn)行壓縮操作;
[0037](3)地址產(chǎn)生模塊一根據(jù)壓縮因子和壓縮級(jí)計(jì)算出下一行地址,地址對(duì)應(yīng)的RAM中的圖像數(shù)據(jù)讀出到第二行/第一行的緩存區(qū),具體為:地址產(chǎn)生模塊一根據(jù)壓縮因子a以及當(dāng)前壓縮級(jí)c計(jì)算當(dāng)前壓縮級(jí)對(duì)應(yīng)的下一行的地址,并從RAM中提取出來存儲(chǔ)在緩存區(qū)中,計(jì)算方法為:設(shè)已經(jīng)進(jìn)行了 η行的壓縮,計(jì)算第n+1行的行地址為floor (n*ac), floor函數(shù)表示向下取整;
[0038](4)在進(jìn)行步驟(3)的同時(shí),地址產(chǎn)生模塊二開始對(duì)第一行/第二行進(jìn)行操作,根據(jù)壓縮因子和壓縮級(jí)計(jì)算出壓縮列地址,地址對(duì)應(yīng)的緩沖區(qū)數(shù)據(jù)輸出到第N行的輸出緩存中,N在I至M+K中循環(huán),具體為:地址產(chǎn)生模塊二根據(jù)壓縮因子a以及當(dāng)前壓縮級(jí)c計(jì)算當(dāng)前壓縮級(jí)對(duì)應(yīng)的下一列的地址,并從緩存區(qū)中提取數(shù)據(jù)出來,計(jì)算方法為:設(shè)已經(jīng)進(jìn)行了η列的壓縮,計(jì)算第n+1列的列地址為floor (n*ac), floor函數(shù)表示向下取整;
[0039](5)重復(fù)步驟(4)直至完成一行的壓縮操作,每完成一行的操作,下一行的壓縮數(shù)據(jù)輸出到第N+1行,若N+K大于M+K,則N等于I ;
[0040](6)重復(fù)步驟(3)至步驟(5),直到第一次寫滿M行的輸出緩存,地址產(chǎn)生模塊三開始工作;
[0041 ] (7)在壓縮級(jí)不變情況下,地址產(chǎn)生模塊三對(duì)從第N-M行到第N-1行這M行的輸出緩存的數(shù)據(jù)進(jìn)行輸出操作,其中N為步驟(4)中正在操作的輸出緩存編號(hào),當(dāng)N-M小于I時(shí)N-M等于N+K,當(dāng)N等于I時(shí),N-1等于M+K,同時(shí)從這M行的輸出緩存中讀出數(shù)據(jù),直到讀出數(shù)據(jù)的長(zhǎng)度為當(dāng)前壓縮級(jí)對(duì)應(yīng)的行寬;
[0042](8)在壓縮級(jí)變化的情況下,由于壓縮級(jí)變化導(dǎo)致每行像素點(diǎn)變少,當(dāng)步驟(5)中完成第N行操作后,步驟(7)中還沒完成對(duì)N-M到N-1這M行的輸出緩存數(shù)據(jù)的處理,所以如果步驟(7)沒完成,則在步驟(5)完成第N行操作后,繼續(xù)進(jìn)行步驟(4)和步驟(5),對(duì)第N+1行進(jìn)行操作,步驟(7)中操作的M行輸出緩存的編號(hào)不變,如果步驟(7)完成,則等待步驟(5)完成;
[0043](9)重復(fù)步驟(3)到步驟(8),直到一副圖像壓縮遍歷完成。
[0044]如圖1為基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法的硬件架構(gòu)圖,其中RAM(隨機(jī)存儲(chǔ)器)、地址產(chǎn)生模塊一、地址產(chǎn)生模塊二、緩存區(qū)一,緩存區(qū)二和一個(gè)數(shù)據(jù)選擇器構(gòu)成圖像壓縮功能模塊;編號(hào)從I至M+K的輸出緩存,地址產(chǎn)生模塊二以及地址產(chǎn)生模塊三構(gòu)成圖像遍歷功能模塊;三個(gè)地址模塊之間皆有控制信號(hào)的通信。
[0045]下面結(jié)合圖2對(duì)圖像壓縮操作步驟進(jìn)行說明:
[0046]步驟1:當(dāng)RAM中存儲(chǔ)一副圖像完畢,地址產(chǎn)生模塊一開始工作,地址產(chǎn)生模塊一操作指針指向緩存區(qū)一,等待RAM中第一行的數(shù)據(jù)存進(jìn)當(dāng)前地址產(chǎn)生模塊一操作指針?biāo)赶蚓彺鎱^(qū)完畢;
[0047]步驟2:第一行存儲(chǔ)完畢后,地址產(chǎn)生模塊一產(chǎn)生下一行的地址,并把對(duì)應(yīng)的操作指針指向緩存區(qū)二;同時(shí),地址產(chǎn)生模塊一發(fā)送緩存完成信號(hào)給地址產(chǎn)生模塊二,地址產(chǎn)生模塊二開始工作;
[0048]步驟3:地址產(chǎn)生模塊二操作指針指向緩存區(qū)一(當(dāng)前地址產(chǎn)生模塊一操作指針指向緩存區(qū)二 ),地址產(chǎn)生模塊二根據(jù)當(dāng)前壓縮級(jí)情況計(jì)算壓縮列地址,從當(dāng)前地址產(chǎn)生模塊二操作指針?biāo)赶蚓彺鎱^(qū)中讀出相應(yīng)的列數(shù)據(jù);
[0049]步驟4:數(shù)據(jù)選擇器通過當(dāng)前地址操作模塊2操作指針指向選擇指針指向的緩存區(qū)的輸出數(shù)據(jù)進(jìn)行輸出;
[0050]步驟5:地址產(chǎn)生模塊二完成一行的壓縮操作之后,對(duì)應(yīng)操作指針指向另一個(gè)緩存區(qū),同時(shí)發(fā)送壓縮完成信號(hào)給地址產(chǎn)生模塊一,地址產(chǎn)生模塊一產(chǎn)生下一行的地址,對(duì)應(yīng)的操作指針指向另一個(gè)緩存區(qū);
[0051]步驟6:重復(fù)步驟2至步驟5,完成一幅圖像的多級(jí)尺寸壓縮操作;
[0052]其中地址產(chǎn)生模塊一操作指針和地址產(chǎn)生模塊二操作指針永遠(yuǎn)指向不同的緩存區(qū),所以兩地址產(chǎn)生模塊操作相對(duì)獨(dú)立,并行運(yùn)作,使數(shù)據(jù)無間斷輸出。
[0053]下面結(jié)合圖3對(duì)圖像遍歷操作步驟進(jìn)行說明:
[0054]步驟1:地址產(chǎn)生模塊二在進(jìn)行壓縮操作步驟4的同時(shí)產(chǎn)生輸出緩存寫入地址,把由數(shù)據(jù)選擇器出來的數(shù)據(jù)Data2寫入當(dāng)前寫入指針指向的輸出緩存中;
[0055]步驟2:重復(fù)步驟1,完成一行的寫入后地址產(chǎn)生模塊二給地址產(chǎn)生模塊三發(fā)送寫入完成信號(hào),寫入指針指向下一行輸出緩存,當(dāng)當(dāng)前寫入指針指向第M+K行時(shí),完成寫入操作后,寫入指針指向第一行;[0056]步驟3:當(dāng)數(shù)據(jù)第一次寫滿M行時(shí),地址產(chǎn)生模塊三開始工作,遍歷指針指向第M行,地址產(chǎn)生模塊三同時(shí)對(duì)第M行以上包括第M行總共M行的數(shù)據(jù)進(jìn)行操作;
[0057]步驟4:地址產(chǎn)生模塊三計(jì)算出遍歷輸出地址,從I至當(dāng)前壓縮級(jí)對(duì)應(yīng)的圖像長(zhǎng)度,從上述M行輸出緩存中讀取出M個(gè)壓縮后的圖像數(shù)據(jù),設(shè)窗口尺寸為N*M,則輸出N個(gè)數(shù)據(jù)后構(gòu)成一個(gè)窗口數(shù)據(jù),第N+1個(gè)數(shù)據(jù)輸出的時(shí)候與前N-1個(gè)數(shù)據(jù)構(gòu)成一個(gè)窗口,重復(fù)本步驟直到輸出長(zhǎng)度為當(dāng)前壓縮級(jí)對(duì)應(yīng)圖像長(zhǎng)度完成一行窗口的遍歷操作,等待地址產(chǎn)生模塊二寫入完成信號(hào)后,遍歷指針指向下一行或者下K行;
[0058]其中步驟4中遍歷指針指向選擇分兩種:在壓縮級(jí)不變的情況下,如現(xiàn)在正在寫入的數(shù)據(jù)Data2與之前寫入的數(shù)據(jù)是處于同一個(gè)壓縮級(jí)中的壓縮圖像的數(shù)據(jù),則遍歷指針指向下一行;在壓縮級(jí)變化的情況下,如正在寫入的數(shù)據(jù)Data2所對(duì)應(yīng)的壓縮級(jí)與當(dāng)前遍歷指針?biāo)笖?shù)據(jù)所對(duì)應(yīng)的壓縮級(jí)不一樣的情況下,則遍歷指針指向下K行。
[0059]上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法,包含以下順序的步驟: (O原始圖像數(shù)據(jù)存儲(chǔ)到RAM中,當(dāng)?shù)谝恍袛?shù)據(jù)存儲(chǔ)完畢之后,讀出到第一行緩沖區(qū); (2)當(dāng)整幅圖像存儲(chǔ)完畢之后,開始進(jìn)行壓縮操作; (3)地址產(chǎn)生模塊一根據(jù)壓縮因子和壓縮級(jí)計(jì)算出下一行地址,地址對(duì)應(yīng)的RAM中的圖像數(shù)據(jù)讀出到第二行/第一行的緩存區(qū); (4)在進(jìn)行步驟(3)的同時(shí),地址產(chǎn)生模塊二開始對(duì)第一行/第二行進(jìn)行操作,根據(jù)壓縮因子和壓縮級(jí)計(jì)算出壓縮列地址,地址對(duì)應(yīng)的緩沖區(qū)數(shù)據(jù)輸出到第N行的輸出緩存中,N在I至M+K中循環(huán); (5 )重復(fù)步驟(4 )直至完成一行的壓縮操作,每完成一行的操作,下一行的壓縮數(shù)據(jù)輸出到第N+1行,若N+K大于M+K,則N等于I ; (6)重復(fù)步驟(3)至步驟(5),直到第一次寫滿M行的輸出緩存,地址產(chǎn)生模塊三開始工作; (7)在壓縮級(jí)不變情況下,地址產(chǎn)生模塊三對(duì)從第N-M行到第N-1行這M行的輸出緩存的數(shù)據(jù)進(jìn)行輸出操作,其中N為步驟(4)中正在操作的輸出緩存編號(hào),當(dāng)N-M小于I時(shí)N-M等于N+K,當(dāng)N等于I時(shí),N-1等于M+K,同時(shí)從這M行的輸出緩存中讀出數(shù)據(jù),直到讀出數(shù)據(jù)的長(zhǎng)度為當(dāng)前壓縮級(jí)對(duì)應(yīng)的行寬; (8)在壓縮級(jí)變化的情況下,由于壓縮級(jí)變化導(dǎo)致每行像素點(diǎn)變少,當(dāng)步驟(5)中完成第N行操作后,步驟(7)中還沒完成對(duì)N-M到N-1這M行的輸出緩存數(shù)據(jù)的處理,所以如果步驟(7)沒完成,則在步驟(5)完成第N行操作后,繼續(xù)進(jìn)行步驟(4)和步驟(5),對(duì)第N+1行進(jìn)行操作,步驟(7)中操作的M行輸出緩存的編號(hào)不變,如果步驟(7)完成,則等待步驟(5)完成; (9)重復(fù)步驟(3)到步驟(8),直到一副圖像壓縮遍歷完成。
2.根據(jù)權(quán)利要求1所述的基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法,其特征在于,所述的步驟(3),具體為:地址產(chǎn)生模塊一根據(jù)壓縮因子a以及當(dāng)前壓縮級(jí)c計(jì)算當(dāng)前壓縮級(jí)對(duì)應(yīng)的下一行的地址,并從RAM中提取出來存儲(chǔ)在緩存區(qū)中,計(jì)算方法為:設(shè)已經(jīng)進(jìn)行了η行的壓縮,計(jì)算第n+1行的行地址為floor (n*ac),floor函數(shù)表示向下取整。
3.根據(jù)權(quán)利要求1所述的基于硬件并行架構(gòu)的圖像尺寸壓縮遍歷方法,其特征在于,所述的步驟(4),具體為:地址產(chǎn)生模塊二根據(jù)壓縮因子a以及當(dāng)前壓縮級(jí)c計(jì)算當(dāng)前壓縮級(jí)對(duì)應(yīng)的下一列的地址,并從緩存區(qū)中提取數(shù)據(jù)出來,計(jì)算方法為:設(shè)已經(jīng)進(jìn)行了 η列的壓縮,計(jì)算第n+1列的列地址為floor (n*ac), floor函數(shù)表示向下取整。
【文檔編號(hào)】H04N19/15GK103546752SQ201310482288
【公開日】2014年1月29日 申請(qǐng)日期:2013年10月15日 優(yōu)先權(quán)日:2013年10月15日
【發(fā)明者】徐向民, 陳曉仕, 吳岱玲, 黃帥凱 申請(qǐng)人:華南理工大學(xué)