專利名稱:基于嵌入式處理器的積分圖快速生成方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種生成積分圖的方法和裝置,特別涉及一種基于嵌入式處理器的積分圖快速生成方法和裝置。
背景技術(shù):
積分圖(Integral-1mage)的概念是由Viola等人于2001年提出的,為圖像處理領(lǐng)域提供了新的特征提取工具。通過構(gòu)造積分圖像,在計算某一矩形區(qū)域內(nèi)的像素和時能夠通過簡單3次加法操作完成這一繁瑣的過程,利用這樣的特點加快了圖像處理中特征檢測和提取的速度。積分圖像可以通過對行和列分別實現(xiàn)前綴加法完成,前綴加法的實現(xiàn)方式成為了構(gòu)建積分圖像的關(guān)鍵。Blelloch等人最早提出了并行前綴加法的優(yōu)化算法,通過構(gòu)造多層次的掃描數(shù)據(jù)來實現(xiàn)前綴加法,目前效率較高的前綴算法均是由Belloch的算法演變而來,其優(yōu)點在于減少了處理過程中的冗余計算,但這些算法都是針對一維數(shù)據(jù)處理,部分算法并不能很好的適應(yīng)二維圖像數(shù)據(jù)處理的要求,而且這些算法將產(chǎn)生大量的中間數(shù)據(jù),中間數(shù)據(jù)的存儲和訪問對嵌入式處理系統(tǒng)而言無論從處理速度還是系統(tǒng)內(nèi)存帶寬上都將帶來負面的影響;Terriberry等人對Belloch的一維算法做了擴展,試圖在二維數(shù)據(jù)上應(yīng)用,這樣的處理方式會減 少大量的冗余計算,但會產(chǎn)生大量的中間數(shù)據(jù),而且數(shù)據(jù)間的依賴性會較強,需要考慮各個數(shù)據(jù)部分的交互。上述研究成果雖然在積分圖的計算中減少了大量的冗余運算,但是對于嵌入式處理系統(tǒng)而言這樣的處理方法將會增加系統(tǒng)內(nèi)存帶寬、占用寶貴的高速緩存資源、增加各個數(shù)據(jù)間交互的負荷。隨著圖像處理技術(shù)在嵌入式系統(tǒng)上的廣泛使用,需要一種能適用于嵌入式處理系統(tǒng)的實現(xiàn)方法。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明所要解決的技術(shù)問題是提供一種在嵌入式系統(tǒng)下生成積分圖的方法和裝置,該方法提高積分圖的生成速度,改善系統(tǒng)內(nèi)存帶寬,提高了整個圖像處理系統(tǒng)的性能。本發(fā)明的目的之一是提出一種基于嵌入式處理器的積分圖快速生成方法;本發(fā)明的目的之二是提出一種基于嵌入式處理器的積分圖快速生成裝置。本發(fā)明的目的之一是通過以下技術(shù)方案來實現(xiàn)的:
本發(fā)明提供的基于嵌入式處理器的積分圖快速生成方法,包括以下步驟:
S1:從設(shè)備前端獲取原始圖像;
S2:在嵌入式處理器片上高速緩存中劃分設(shè)置兩片區(qū)域,所述兩片區(qū)域包括緩存區(qū)域A和緩存區(qū)域B ;
53:以一個數(shù)據(jù)單位進行原始數(shù)據(jù)的搬移和積分圖數(shù)據(jù)的生成;
54:重復(fù)步驟S3直到整個圖像的所有行完成并輸出積分圖。
進一步,所述步驟S3中的積分圖數(shù)據(jù)是通過以下步驟來實現(xiàn)的:
S31:在某T時刻通過嵌入式處理器對緩存區(qū)域A的原始圖像數(shù)據(jù)進行處理生成積分圖數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域B ;從外部低速存儲區(qū)向緩存區(qū)域B中寫入對應(yīng)行單位的原始圖像數(shù)據(jù);將緩存區(qū)域B上(T-2)時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū);
S32:在S31步驟事件完成后,時間推進到(T+1)時刻,嵌入式處理器處理緩存區(qū)域B的原始圖像數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域A ;從外部低速存儲區(qū)向緩存區(qū)域A中搬移對應(yīng)單位行原始圖像數(shù)據(jù);將緩存區(qū)域A上(T-1)時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū)。進一步,所述緩存區(qū)域A和緩存區(qū)域B為劃分高速緩存片。進一步,所述嵌入式處理器為積分值生成和總線數(shù)據(jù)搬移控制單元。本發(fā)明的目 的之二是通過以下技術(shù)方案來實現(xiàn)的:
本發(fā)明提供的基于嵌入式處理器的積分圖快速生成裝置,包括圖像輸入單元、片上高速緩存、外部內(nèi)存系統(tǒng)、嵌入式處理器;
所述圖像輸入單元,用于從設(shè)備前端獲取原始圖像;
所述片上高速緩存,用于緩存一個數(shù)據(jù)單位各個坐標位置的原始圖像數(shù)值和生成的積分值;
所述外部內(nèi)存系統(tǒng),用于存儲內(nèi)部高速緩存回寫的整幀圖像上各個坐標點的積分值;所述嵌入式處理器,用于利用片上高速緩存的數(shù)據(jù)生成積分值的計算單元同時通過系統(tǒng)總線對數(shù)據(jù)的搬移進行控制。進一步,所述嵌入式處理器包括緩存區(qū)域A控制單元和緩存區(qū)域B控制單元; 所述緩存區(qū)域A控制單元,用于在T時刻通過嵌入式處理器對緩存區(qū)域A的原始圖像
數(shù)據(jù)進行處理生成積分圖數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域B ;從外部低速存儲區(qū)向緩存區(qū)域B中寫入對應(yīng)行單位的原始圖像數(shù)據(jù);將緩存區(qū)域B上(T-2)時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū);
所述緩存區(qū)域B控制單元,用于在T+1時刻處理緩存區(qū)域B的原始圖像數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域A ;從外部低速存儲區(qū)向緩存區(qū)域A中搬移對應(yīng)單位行原始圖像數(shù)據(jù);將緩存區(qū)域A上(T-1)時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū)。進一步,所述緩存區(qū)域A和緩存區(qū)域B為嵌入式處理器片上高速緩存。進一步,所述嵌入式處理器為積分值生成和總線數(shù)據(jù)搬移控制單元。本發(fā)明的優(yōu)點在于:本發(fā)明采用基于嵌入式處理器的一種積分圖(Integral-1mage)的快速生成方法和裝置,采用了一種適合嵌入式處理器架構(gòu)的圖像讀取順序:從左向右、從上向下的圖像幀光柵掃描順序生成積分圖;利用嵌入式處理器片上存儲區(qū)緩存一個單位的積分圖數(shù)據(jù),在下一個單位處理時刻再將該數(shù)據(jù)回寫到外部的低速存儲區(qū);利用硬件并行化和流水化的思想,在時序邏輯上形成以行數(shù)據(jù)為單位的原始數(shù)據(jù)搬移和積分圖生成的流水操作;
本方法的優(yōu)點在于:(I)充分利用已有計算結(jié)果,將結(jié)果存儲在系統(tǒng)高速緩存中,冗余計算少、處理效率高;(2)數(shù)據(jù)處理采用從左到右,從上到下方式,這樣的方式只需要緩存上一行生成的積分圖,占用系統(tǒng)高速緩存資源少;(3)利用硬件流水的思想實現(xiàn)軟件流水,在高速緩存中開辟兩片存儲區(qū)域利用Ping-pong思想,實現(xiàn)處理的流水化,提高執(zhí)行效率;
(4)利用上述1、2、3點的處理方式,使得對外部低速存儲器的read/write操作大大減少,減輕和改善圖像處理系統(tǒng)內(nèi)存帶寬負荷、避免系統(tǒng)擁塞、提高系統(tǒng)執(zhí)行效率。對整個圖像處理系統(tǒng)的性能都有極大的提聞。
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步的詳細描述,其中:
圖1為積分圖處理流程;
圖2為積分圖處理系統(tǒng)架構(gòu);
圖3為積分圖處理時序;
圖4為基于嵌入式處理器的積分圖快速生成方法流程圖。
具體實施例方式以下將結(jié)合附圖,對本發(fā)明的優(yōu)選實施例進行詳細的描述;應(yīng)當理解,優(yōu)選實施例僅為了說明本發(fā)明,而不是為了限制本發(fā)明的保護范圍。圖1為積分圖處理流程,圖2為積分圖處理系統(tǒng)架構(gòu),圖3為積分圖處理時序,圖4為基于嵌入式處理器的積分圖快速生成方法流程圖,如圖所示:本發(fā)明提供的基于嵌入式處理器的積分圖快速生成方法,包括以下步驟:
S1:從設(shè)備前端獲取原始圖像;
S2:在嵌入式處理器片上高速緩存中劃分設(shè)置兩片區(qū)域,所述兩片區(qū)域包括緩存區(qū)域A和緩存區(qū)域B ;所述緩存區(qū)域A和緩存區(qū)域B為高速緩存片。所述嵌入式處理器為積分值生成和總線數(shù)據(jù)搬移控制單元。所述高速緩存A片和高速緩存B片,是在邏輯上從嵌入式處理器片上物理緩存中劃分,用于實現(xiàn)積分圖生成的ping-pong操作,提高執(zhí)行效率。S3:以一個數(shù)據(jù)單位進行原始數(shù)據(jù)的搬移和積分圖數(shù)據(jù)的生成;按照一種從左向右、從上向下的圖像巾貞光柵掃描順序生成積分圖(Integral-1mage);
所述步驟S3中的積分圖數(shù)據(jù)是通過以下步驟來實現(xiàn)的:
S31:在某T時刻通過嵌入式處理器對緩存區(qū)域A的原始圖像數(shù)據(jù)進行處理生成積分圖數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域B ;從外部低速存儲區(qū)向緩存區(qū)域B中寫入對應(yīng)行單位的原始圖像數(shù)據(jù);將緩存區(qū)域B上(T-2)時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū);
S32:在S31步驟事件完成后,時間推進到(T+1)時刻,嵌入式處理器處理緩存區(qū)域B的原始圖像數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域A ;從外部低速存儲區(qū)向緩存區(qū)域A中搬移對應(yīng)單位行原始圖像數(shù)據(jù);將緩存區(qū)域A上(T-1)時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū)。S4:重復(fù)步驟S3直到整個圖像 的所有行完成并輸出積分圖。本實施例還提供一個基于嵌入式處理器的積分圖快速生成裝置,利用嵌入式系統(tǒng)片上高速緩存、外部內(nèi)存系統(tǒng)在存取速度上的差別、系統(tǒng)外部存儲器在讀寫上的Burst (并發(fā))特性加快了積分圖的生成、改善了系統(tǒng)帶寬效率;該裝置包括圖像輸入單元、片上高速緩存、外部內(nèi)存系統(tǒng)、嵌入式處理器;
所述圖像輸入單元,用于從設(shè)備前端獲取原始圖像;
所述片上高速緩存,用于緩存一個數(shù)據(jù)單位各個坐標位置的原始圖像數(shù)值和生成的積分值;
所述外部內(nèi)存系統(tǒng),用于存儲內(nèi)部高速緩存回寫的一個數(shù)據(jù)單位上各個坐標點的積分
值;
所述嵌入式處理器,用于利用片上高速緩存的數(shù)據(jù)生成積分值的計算單元同時通過系統(tǒng)總線對數(shù)據(jù)的搬移進行控制。所述嵌入式處理器為積分值生成和總線數(shù)據(jù)搬移控制單
J Li ο所述嵌入式處理器包括緩存區(qū)域A控制單元和緩存區(qū)域B控制單元;
所述緩存區(qū)域A控制單元,用于在T時刻通過嵌入式處理器對緩存區(qū)域A的原始圖像數(shù)據(jù)進行處理生成積分圖數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域B ;從外部低速存儲區(qū)向緩存區(qū)域B中寫入對應(yīng)行單位的原始圖像數(shù)據(jù);將緩存區(qū)域B上(T-2)時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū);
所述緩存區(qū)域B控制單元,用于在T+1時刻處理緩存區(qū)域B的原始圖像數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域A ;從外部低速存儲區(qū)向緩存區(qū)域A中搬移對應(yīng)單位行原始圖像數(shù)據(jù);將緩存區(qū)域A上(T-1)時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū)。
所述緩存區(qū)域A和緩存區(qū)域B為高速緩存片。所述高速緩存A片和高速緩存B片,是在邏輯上從嵌入式處理器片上物理緩存中劃分,用于實現(xiàn)積分圖生成的ping-pong操作,提聞執(zhí)行效率。在嵌入式處理器片上ram中邏輯上開辟兩個緩存區(qū)域A/B,用于緩存一個數(shù)據(jù)單位的各個坐標位置的原始圖像數(shù)據(jù)和積分值;當本行各個坐標位置上的積分值已經(jīng)生成后,向外部內(nèi)存系統(tǒng)(external-mem)回寫(Write-back)本片緩存區(qū)域中上一個數(shù)據(jù)單位各個坐標點上的積分值,如圖1所示;在這樣的處理流程下,在整個積分圖生成的過程中只需要對外部低速內(nèi)存系統(tǒng)(external-mem)中每行原始像素進行一次讀操作,避免了對外部低速內(nèi)存系統(tǒng)的多次讀操作,并且將多次獨立的讀操作替換為一次并發(fā)(Burst)的讀操作,這將極大的改善內(nèi)存帶寬效率,加快從外部存儲系統(tǒng)中獲取數(shù)據(jù)的速度,這個系統(tǒng)的架構(gòu)如圖2所示;
借鑒硬件處理的并行化思想,利用CPU/S0C現(xiàn)有資源,實現(xiàn)軟件處理的并行化,其基本思想:
在嵌入式處理器內(nèi)部高速緩存中開辟兩段緩存A/B, T時刻PE(process-engine)處理A片中的數(shù)據(jù)并產(chǎn)生結(jié)果輸出給B片,同時將外部低速內(nèi)存系統(tǒng)(external-mem)中的待(T+1)時刻處理的數(shù)據(jù)搬移到B片;等待T時刻的PE處理完畢、T時刻向B片中搬移(T+1)時刻數(shù)據(jù)操作完成、B片上(T-2)時刻生成的積分數(shù)據(jù)回寫到外部低速存儲區(qū);
由上述三個事件驅(qū)動,時序進入(T+1)時刻,PE(process-engine)處理B片中的數(shù)據(jù)并產(chǎn)生結(jié)果輸出給A片,同時將外部低速內(nèi)存系統(tǒng)(external-mem)中的待(T+2)時刻處理的數(shù)據(jù)搬移到A片;等待(T+1)時刻的PE處理完畢、(T+1)時刻向A片中搬移(T+2)時刻數(shù)據(jù)操作完成、A片上(T-1)時刻生成的積分數(shù)據(jù)回寫到外部低速存儲區(qū)。如此循環(huán),使得對實際工作單元PE看來,始終是向內(nèi)部高速緩存(Internal-mem)中取到數(shù)據(jù),處理時序流程如圖3所不。以上所述僅為本發(fā)明的優(yōu)選實施例,并不用于限制本發(fā)明,顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。`
權(quán)利要求
1.基于嵌入式處理器的積分圖快速生成方法,其特征在于:包括以下步驟: S1:從設(shè)備前端獲取原始圖像; S2:在嵌入式處理器片上高速緩存中劃分設(shè)置兩片區(qū)域,所述兩片區(qū)域包括緩存區(qū)域A和緩存區(qū)域B ; 53:以一個數(shù)據(jù)單位進行原始數(shù)據(jù)的搬移和積分圖數(shù)據(jù)的生成; 54:重復(fù)步驟S3直到整個圖像的所有行完成并輸出積分圖。
2.根據(jù)權(quán)利要求1所述的基于嵌入式處理器的積分圖快速生成方法,其特征在于:所述步驟S3中的積分圖數(shù)據(jù)是通過以下步驟來實現(xiàn)的: S31:在某T時刻通過嵌入式處理器對緩存區(qū)域A的原始圖像數(shù)據(jù)進行處理生成積分圖數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域B ;從外部低速存儲區(qū)向緩存區(qū)域B中寫入對應(yīng)行單位的原始圖像數(shù)據(jù);將緩存區(qū)域B上T-2時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū); S32:在S31步驟事件完成后,時間推進到T+1時刻,嵌入式處理器處理緩存區(qū)域B的原始圖像數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域A ;從外部低速存儲區(qū)向緩存區(qū)域A中搬移對應(yīng)單位行原始圖像數(shù)據(jù);將緩存區(qū)域A上T-1時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū)。
3.根據(jù)權(quán)利要求1所述的基于嵌入式處理器的積分圖快速生成方法,其特征在于:所述緩存區(qū)域A和緩存區(qū)域B為劃分高速緩存片。
4.根據(jù)權(quán)利要求1所述的基于嵌入式處理器的積分圖快速生成方法,其特征在于:所述嵌入式處理器為積分值生成和總線數(shù)據(jù)搬移控制單元。
5.用于實現(xiàn)權(quán)利要求1所述方法的基于嵌入式處理器的積分圖快速生成裝置,其特征在于:包括圖像輸入單元、片上高速緩存、外部內(nèi)存系統(tǒng)和嵌入式處理器; 所述圖像輸入單元,用于從設(shè)備前端獲取原始圖像; 所述片上高速緩存,用于緩存一個數(shù)據(jù)單位各個坐標位置的原始圖像數(shù)值和生成的積分值; 所述外部內(nèi)存系統(tǒng),用于存儲內(nèi)部高速緩存回寫的整幀圖像上各個坐標點的積分值; 所述嵌入式處理器,用于利用片上高速緩存的數(shù)據(jù)生成積分值的計算單元同時通過系統(tǒng)總線對數(shù)據(jù)的搬移進行控制。
6.根據(jù)權(quán)利要求5所述的基于嵌入式處理器的積分圖快速生成裝置,其特征在于:所述嵌入式處理器包括緩存區(qū)域A控制單元和緩存區(qū)域B控制單元; 所述緩存區(qū)域A控制單元,用于在T時刻通過嵌入式處理器對緩存區(qū)域A的原始圖像數(shù)據(jù)進行處理生成積分圖數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域B ;從外部低速存儲區(qū)向緩存區(qū)域B中寫入對應(yīng)行單位的原始圖像數(shù)據(jù);將緩存區(qū)域B上T-2時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū); 所述緩存區(qū)域B控制單元,用于在T+1時刻處理緩存區(qū)域B的原始圖像數(shù)據(jù);將生成的積分圖數(shù)據(jù)寫入緩存區(qū)域A ;從外部低速存儲區(qū)向緩存區(qū)域A中搬移對應(yīng)單位行原始圖像數(shù)據(jù);將緩存區(qū)域A上T-1時刻生成的積分圖數(shù)據(jù)寫入外部低速存儲區(qū)。
7.根據(jù)權(quán)利要求6所述的基于嵌入式處理器的積分圖快速生成裝置,其特征在于:所述緩存區(qū)域A和緩存區(qū)域B為嵌入式處理器片上高速緩存。
8.根據(jù)權(quán)利要求5所述的基于嵌入式處理器的積分圖快速生成裝置,其特征在于:所述嵌入式處理器為積分值生成和總線數(shù)據(jù)搬移控制單元。
全文摘要
本發(fā)明公開了一種基于嵌入式處理器的積分圖快速生成方法和裝置;積分圖的生成按照從左向右、從上向下的光柵掃描順序;同時利用嵌入式處理器內(nèi)部片上高速存儲區(qū)緩存一個單位的積分圖數(shù)據(jù),在下一個單位數(shù)據(jù)處理周期結(jié)束后再將該積分數(shù)據(jù)回寫到系統(tǒng)外部的低速存儲區(qū);形成以行數(shù)據(jù)為邏輯單位的,原始圖像的數(shù)據(jù)搬移和積分圖生成的流水操作;本發(fā)明充分利用已有計算結(jié)果,將部分計算結(jié)果緩存在系統(tǒng)高速存儲區(qū)內(nèi),這樣可以使得冗余計算少、便于實現(xiàn)處理的流水化、提高執(zhí)行效率;使得對外部低速存儲器的read/write操作大大減少,減輕和改善圖像處理系統(tǒng)內(nèi)存帶寬負荷、避免系統(tǒng)擁塞、提高系統(tǒng)執(zhí)行效率。對整個圖像處理系統(tǒng)的性能都有極大的提高。
文檔編號G06T1/20GK103236033SQ20131013115
公開日2013年8月7日 申請日期2013年4月16日 優(yōu)先權(quán)日2013年4月16日
發(fā)明者王一皓, 周曦, 楊雪琴, 馮金陳, 劉艷飛 申請人:重慶綠色智能技術(shù)研究院