專利名稱:數(shù)字圖像匹配芯片的制作方法
技術領域:
本發(fā)明涉及基本電子元件技術領域,具體的說是一種用于數(shù)字圖像匹配的芯片結構。
背景技術:
所謂圖像匹配就是一種用來確定一幅較小圖像(通常稱為模板圖像)在另一幅較大圖像(通常稱為搜索區(qū)圖像)中的位置。它被廣泛用于模式識別,目標檢測,火力控制,序列圖像編碼,導航,醫(yī)學圖像處理及其它需要對圖像進行精確定位的系統(tǒng)中。
現(xiàn)有的圖像匹配一般采用數(shù)字信號處理器DSP和采用數(shù)字信號處理器和現(xiàn)場可編程門陣列DSP+FPGA結構實現(xiàn),這種匹配運算的最大不足是速度慢,成本高,而且不利于擴展。國外Ting-Pang Lin and Chaur-Heh Hsieh曾提出了一種靈活,快速的圖像匹配硬件結構(A Modular and Flexible Achitecture for Real-time Image Template Matching,IEEETRANSACTIONS ON CIRCUITS AND SYSTEMS-IFUNDMENTAL THEORY ANDAPPLICATIONS VOL.41,NO.6,JUNE 1994457-461)。但這種結構對于實用中所要求的32×32的模板在80×80的搜索區(qū)圖像內匹配時,則需要32個運算處理單元PU,而且32個硬件單元在運算前期是逐步使用的,這樣就使得在運算前期許多運算處理單元PU是在執(zhí)行空操作,造成資源浪費。另外運算處理單元PU數(shù)量的增多,必然導致運算控制單元PU的資源也必然增加,而且控制的復雜度也增加。因此這種硬件結構存在結構復雜,占用資源多的缺點,且只能靠增加硬件的規(guī)模去擴大匹配模板和搜索區(qū)的范圍。
2002年國內張遂南和黃士坦等人在《一種面向圖像匹配算法的高性能專用集成電路設計》,北京師范大學學報(自然科學版),2002年2月,38卷第一期48-52文章中,又提出了一種面向圖像匹配的專用集成電路設計,但該設計只完成了圖像匹配部分算法的硬件實現(xiàn),而其它運算還是依靠數(shù)字信號處理器(DSP)實現(xiàn),并沒完成整個圖像匹配運算器的硬件設計,圖像匹配器的性能也沒有得到實質性的提高。
發(fā)明內容
本發(fā)明的目的在于克服上述已有技術的不足,提供一種結構簡單的數(shù)字圖像匹配硬件結構,即數(shù)字圖像匹配芯片,以在提高運算速度的同時提高硬件的使用效率。
實現(xiàn)本發(fā)明的目的的技術方案,是用芯片開發(fā)工具QUARUS II在現(xiàn)場可編程門陣列(FPGA)系列芯片上設計圖像匹配電路,以構成數(shù)字圖像匹配芯片。該圖像匹配電路包括地址產(chǎn)生模塊,主相關處理模塊,從相關處理模塊,比較定位及控制邏輯產(chǎn)生模塊,先入先出存貯器(FIFO)和外部控制器接口模塊。其中地址產(chǎn)生電路用于為搜索區(qū)像素提供外部存儲地址和讀入地址,并向外部控制器產(chǎn)生中斷指示信號,該電路輸出四個搜索區(qū)像素的地址和中斷信號連接到片外;主相關處理電路和從相關電路用于并行完成對每塊小模板的流水線處理,同時對每塊小模板數(shù)據(jù)進行兩級緩存,實現(xiàn)各子模板的并行操作以及對輸入的搜索區(qū)圖像數(shù)據(jù)進行移位寄存,模擬模板圖像在搜索區(qū)內移動,該兩電路與外部輸入的四路搜索區(qū)像素數(shù)據(jù)信號相連接;先入先出存貯器(FIFO)用于存貯匹配運算的中間結果,并將該結果在計算下一塊子模板的時候讀出來進行累加,該電路通過數(shù)據(jù)總線分別與主相關處理模塊和比較定位及控制邏輯產(chǎn)生模塊相連接;比較定位及控制邏輯電路用于對匹配結果進行比較判斷確定最佳匹配點位置,同時產(chǎn)生有嚴格時序關系的時鐘信號來同步外部搜索區(qū)圖像存貯體的讀寫、流水線和先入先出存貯器(FIFO)的讀寫,以及對圖像的分辨率和圖像模板的大小進行控制,該電路將所確定最佳匹配點位置通過數(shù)據(jù)總線輸入到外部控制器接口;外部控制器接口電路主要根據(jù)外部輸入的控制器地址和數(shù)據(jù)產(chǎn)生相應的多種控制信號,各控制信號分別輸出到地址產(chǎn)生電路,主相關處理電路,從相關處理電路,先入先出存貯器(FIFO),比較定位及控制邏輯產(chǎn)生電路。
上述圖像匹配器,其中外部控制器接口電路主要由一個譯碼器、一個總線型三態(tài)門及兩個鎖存器組成,譯碼器輸出的兩個選通信號clk1和clk2分別輸入兩個鎖存器的鎖存時鐘端,總線型三態(tài)門的輸出與鎖存器的輸入端相連接,均接至外部控制器數(shù)據(jù)線。
該外部控制器接口電路輸出的多種控制信號包括比較開關信號(clean)、匹配結果讀出允許信號(oe)、地址譯碼允許信號(cecoun)、圖像分辨率控制信號(selclk)、總時鐘開關(conlk)、搜索圖像存儲器讀寫控制信號(sel_r),均連接到比較定位與控制邏輯產(chǎn)生電路的輸入端;外部控制器接口電路輸出的模板置換信號(le)和模板寫入有效信號(mce)分別輸出到主從相關電路;外部控制器接口電路輸出的清零信號(fifors)和讀有效信號(ren)連接至先入先出存貯電路(FIFO)。
上述圖像匹配器,其中比較定位電路主要由輸入鎖存模塊、比較判斷模塊、鎖存更新模塊、地址鎖存模塊、地址計數(shù)模塊、時鐘轉換模塊組成,其中輸入鎖存模塊是對用18位二進制數(shù)所表示的匹配度量值進行鎖存,以確保比較操作期間數(shù)據(jù)穩(wěn)定,該模塊的輸出分別與比較判斷模塊、鎖存更新單元及時鐘轉換模塊相連接;比較判斷模塊用于對輸入鎖存模塊輸入的前一個被鎖存下來的數(shù)據(jù)進行比較,再將其鎖存允許信號輸入到鎖存更新單元,對鎖存數(shù)據(jù)進行更新;地址計數(shù)模塊的輸入、輸出端分別與時鐘轉換模塊和地址鎖存模塊相連接,該模塊用于記錄參與比較判斷的匹配度量值的數(shù)目,以確定匹配度量值所對應的搜索區(qū)的坐標;地址鎖存單元與鎖存更新單元雙向連接,用于對地址計數(shù)模塊輸入的地址計數(shù)值進行鎖存,記錄下新的更小的匹配度量值所對應的地址進行輸出;時鐘轉換模塊是將連續(xù)的輸入時鐘(CLK)轉換為比較判斷和地址計數(shù)時鐘(DCLK),該模塊輸出的地址計數(shù)時鐘(DCLK)同時輸入到地址計數(shù)模塊和比較判斷模塊。
上述圖像匹配器,其中控制邏輯產(chǎn)生電路包括總時鐘產(chǎn)生模塊和譯碼模塊組成,總時鐘產(chǎn)生模塊根據(jù)輸入的像素時鐘和外部時鐘控制字產(chǎn)生主從相關處理模塊運算時鐘,先入先出存貯器(FIFO)讀寫時鐘,外部搜索區(qū)圖像存儲器讀寫信號和輸出允許控制信號;譯碼模塊是將外部控制器發(fā)過來的地址譯碼,產(chǎn)生相應的地址產(chǎn)生器置初值允許信號。
上述圖像匹配器,其中的主相關電路主要由觸發(fā)器、搜索區(qū)圖像移位寄存器、子模板數(shù)據(jù)緩沖寄存器、子模板數(shù)據(jù)運算寄存器、運算單元、并行累加單元、從相關結果累加單元及與先入先出存貯器(FIFO)內運算結果累加單元組成;觸發(fā)器將圖像數(shù)據(jù)進行同步讀入后進入搜索區(qū)移位寄存器形成數(shù)據(jù)窗,搜索區(qū)像素移位寄存器和子模板運算寄存器的輸出數(shù)據(jù)共同進入運算單元得到搜索區(qū)圖像和模板圖像的差值絕對值輸出,該輸出值經(jīng)并行累加單元得到搜索圖與子模板圖的灰度差累加后與從相關電路過來的運算結果并行累加,該并行累加結果再與從先入先出存貯器(FIFO)讀出的前幾次跌代的結果并行累加得到本次跌代結果輸出。
上述圖像匹配器,其中的從相關電路主要由觸發(fā)器、搜索區(qū)圖像移位寄存器、子模板數(shù)據(jù)緩沖寄存器、子模板數(shù)據(jù)運算寄存器、運算單元、并行累加單元組成,觸發(fā)器將圖像數(shù)據(jù)進行同步讀入后進入搜索區(qū)移位寄存器形成數(shù)據(jù)窗,搜索區(qū)像素移位寄存器和子模板運算寄存器的輸出數(shù)據(jù)共同進入運算單元得到搜索區(qū)圖像和模板圖像的差值絕對值輸出,該輸出值經(jīng)兩路運算結果并行累加得到搜索圖與子模板圖的灰度差。
上述圖像匹配器,其中的地址產(chǎn)生電路由五個計數(shù)器組成,四個計數(shù)器用于為外部的搜索區(qū)圖像存儲器提供順序輸入輸出地址,另一個計數(shù)器用于統(tǒng)計相關運算的進程,在一個子模板匹配結束時發(fā)出一高電平中斷指示信號,五個計數(shù)器共用地址產(chǎn)生器時鐘信號(addresclk)和外部控制器數(shù)據(jù)線。
上述圖像匹配器,其中先入先出存儲器(FIFO)直接采用芯片開發(fā)工具QUARUS II提供的參數(shù)化兆功能模塊庫(LPMs)內的模塊來實現(xiàn)。
本發(fā)明由于以可編程邏輯(FPGA)為開發(fā)平臺,采用高效的流水線結構和大規(guī)模的并行處理技術,其功能單元的利用率為100%,單處理模塊在20M時鐘的條件下,2ms內可以完成32×32象素大小的模板圖像在80×80象素范圍內的匹配及搜索運算,模板及搜索范圍可變,并實時給出不低于象素級精度的匹配定位結果。該硬件結構實現(xiàn)了國際通用的絕對差和度量(SAD)數(shù)字全匹配全搜索,可應用于紅外/視頻目標跟蹤器,在20ms內實時完成目標匹配與跟蹤運算。如果采用特定用途集成電路(ASIC)技術,性能指標還會有較大提高,系統(tǒng)結構將更為緊湊,并可滿足運動圖像編碼,改進運動估計補償及其他方面的需要,更有利于軍事及工業(yè)領域的大規(guī)模應用。
圖1是本發(fā)明的整體電路結構框2是本發(fā)明的主相關處理模塊結構框3是本發(fā)明的從相關處理模塊結構框4是本發(fā)明的比較定位模塊結構框5是本發(fā)明的控制邏輯產(chǎn)生模塊結構框6是本發(fā)明地址產(chǎn)生模塊圖結構框7是本發(fā)明外部控制接口模塊結構框8是本發(fā)明的外部連接框圖
具體實施例方式以下參照附圖詳細說明本發(fā)明的結構。
參照圖1,本發(fā)明的硬件結構是在ALTERA公司的大規(guī)??删幊踢壿嬈骷﨓P20K300EBC652-3上設計電路,通過特定的模塊搭配與連接而構成。該電路包括地址產(chǎn)生模塊,主相關處理模塊,從相關處理模塊,比較定位及控制邏輯產(chǎn)生模塊,先入先出存貯器(FIFO)和外部控制器接口模塊。其中地址產(chǎn)生模塊為搜索區(qū)像素提供外部存儲地址和讀入地址,并向外部控制器產(chǎn)生中斷指示信號。主相關處理模塊和從相關模塊有三項功能,一是并行完成對每塊小模板的流水線處理;二是對每塊小模板數(shù)據(jù)進行兩級緩存,實現(xiàn)各子模板的并行操作;三是對輸入的搜索區(qū)圖像數(shù)據(jù)進行移位寄存,以模擬模板圖像在搜索區(qū)內的移動。先入先出存貯器(FIFO)用來存儲匹配運算的中間結果,并將該結果在計算下一塊子模板的時候讀出來進行累加;比較定位及控制邏輯模塊完成三項功能,一是對匹配結果進行比較判斷以確定最佳匹配點位置;二是產(chǎn)生有嚴格時序關系的時鐘信號來同步外部搜索區(qū)圖像存儲體的讀寫、流水線和先入先出存貯器(FIFO)的讀寫;三是對圖像的分辨率和圖像模板的大小進行控制。外部控制器接口模塊主要是根據(jù)外部輸入的控制器地址和數(shù)據(jù)產(chǎn)生相應的控制信號,該控制信號包括比較開關信號,匹配結果讀出允許信號,地址譯碼允許信號,圖像分辨率控制信號,總時鐘開關,搜索圖像存儲器讀寫控制信號,外部控制器接口電路輸出的模板置換信號,模板寫入有效信號,外部控制器接口電路輸出的清零信號和讀有效信號。
各模塊電路的連接關系及工作過程如下主相關處理模塊電路和從相關處理模塊電路與四路搜索區(qū)像素數(shù)字信號相連接,即兩路搜索區(qū)像素數(shù)字輸入到主相關處理電路,另兩路搜索區(qū)像素數(shù)字輸入到從處理模塊電路。
外部控制器地址線和外部控制器數(shù)據(jù)線與外部控制器接口模塊電路的輸入端相連接,同時,外部控制器地址線還與主從相關模塊、比較定位及控制邏輯產(chǎn)生模塊相連接,外部控制器數(shù)據(jù)線還與主從相關模塊、地址產(chǎn)生模塊相連接。外部控制器接口模塊輸出的各種控制信號連接到主從相關處理模塊,地址產(chǎn)生模塊,比較定位及控制邏輯產(chǎn)生模塊,先入先出存儲器(FIFO)。從相關處理模塊輸出的運算結果輸入至主相關處理模塊,主相關處理模塊輸出的運算中間結果輸入至先入先出存儲器(FIFO),先入先出存儲器(FIFO)的輸出與主相關處理模塊的輸入相連接。主相關處理模塊輸出的運算結果還與比較定位及控制邏輯產(chǎn)生模塊相連接。比較定位及控制邏輯產(chǎn)生模塊的輸出與外部控制接口模塊相連接。
參照圖2,本發(fā)明的主相關模塊主要由觸發(fā)器,輸入搜索區(qū)圖像移位寄存器,子模板數(shù)據(jù)緩沖寄存器,子模板數(shù)據(jù)運算寄存器,運算單元,并行累加單元,與從相關結果累加單元及與先入先出存貯電路FIFO內運算結果累加單元組成。從搜索區(qū)圖像存儲器出來的圖像數(shù)據(jù)經(jīng)觸發(fā)器同步讀入后進入移位寄存器形成2×32的數(shù)據(jù)窗。同時子模板數(shù)據(jù)通過外部控制器地址線和數(shù)據(jù)線寫入子模板緩沖寄存器,并在運算開始前將子模板緩沖寄存器內的模板數(shù)據(jù)置入子模板運算寄存器。搜索區(qū)像素移位寄存器和子模板運算寄存器的輸出數(shù)據(jù)共同進入運算單元得到搜索區(qū)圖像和模板圖像的差值的絕對值。該值經(jīng)并行累加單元得到該2×32搜索圖與子模板圖的灰度差,該差累加后再與從相關模塊過來的運算結果累加后,從先入先出存貯電路FIFO讀出的前幾次跌代的結果得到本次跌代結果。
參照圖3,本發(fā)明的從相關模塊的結構比主相關模塊少最后兩級累加器,即由觸發(fā)器,輸入搜索區(qū)圖像移位寄存器,子模板數(shù)據(jù)緩沖寄存器,子模板數(shù)據(jù)運算寄存器,運算單元,并行累加單元組成,各單元連接關系同主相關模塊相同,從相關處理模塊輸出的運算結果輸入至主相關處理模塊。
參照圖4,本發(fā)明的比較定位模塊主要由輸入鎖存模塊、比較判斷模塊、鎖存更新模塊、地址鎖存模塊、地址計數(shù)模塊、時鐘轉換模塊組成,其中輸入鎖存模塊是對用18位二進制數(shù)所表示的匹配度量值進行鎖存,以確保比較操作期間數(shù)據(jù)穩(wěn)定,該模塊的輸出分別與比較判斷模塊、鎖存更新單元及時鐘轉換模塊相連接;比較判斷模塊的輸出與鎖存更新模塊和地址計數(shù)模塊雙向連接,該模塊對輸入數(shù)據(jù)和前一個被鎖存下來的數(shù)據(jù)進行比較,如果輸入數(shù)據(jù)比被鎖存下來的數(shù)據(jù)小,它將給出一個鎖存允許信號,鎖存更新單元收到該信號后,對鎖存數(shù)據(jù)進行更新,將新的數(shù)據(jù)鎖存下來供下一次比較判斷使用;如果輸入數(shù)據(jù)比被鎖存下來的數(shù)據(jù)大,鎖存更新單元繼續(xù)保持原鎖存數(shù)據(jù),此數(shù)據(jù)繼續(xù)參與下一次比較;地址計數(shù)模塊的輸入、輸出端分別與時鐘轉換模塊和地址鎖存模塊相連接,該模塊負責記錄參與比較判斷的匹配度量值的數(shù)目,通過該數(shù)值可以確定匹配度量值所對應的搜索區(qū)的坐標;地址鎖存單元收到鎖存允許信號后,對此時的地址計數(shù)值進行鎖存,記錄下新的更小的匹配度量值所對應的地址,當所有匹配度量值都經(jīng)過比較判斷后,地址鎖存器內所保留下來的就是最小匹配度量值在整個匹配度量值序列中的位置。
時鐘轉換模塊是將連續(xù)的輸入時鐘(CLK)轉換為比較判斷和地址計數(shù)時鐘(DCLK)。當比較開關信號(clean)為高時,比較模塊開始工作;當匹配結果讀出允許信號(oe)為高時,讀出最佳匹配點的地址。
參照圖5,控制邏輯產(chǎn)生部分由總時鐘產(chǎn)生模塊和譯碼模塊組成。總時鐘產(chǎn)生模塊根據(jù)輸入的像素時鐘和外部時鐘控制字產(chǎn)生主從相關處理模塊運算時鐘,先入先出存貯器FIFO讀寫時鐘,外部搜索區(qū)圖像存儲器讀寫信號和輸出允許控制信號;譯碼模塊是將外部控制器發(fā)過來的地址譯碼,產(chǎn)生相應的地址產(chǎn)生模塊置值允許信號。當?shù)刂纷g碼允許信號(Cecoun)低時,對外部控制器輸入的地址譯碼,產(chǎn)生地址產(chǎn)生器置初值允許信號(decode0,decode1,decode2,decode3,decode4)接至地址產(chǎn)生模塊。;總時鐘產(chǎn)生模塊由時鐘選擇模塊、時鐘產(chǎn)生模塊、搜索區(qū)圖像存儲器控制信號產(chǎn)生模塊組成。
時鐘選擇模塊主要是針對搜索區(qū)圖像存儲時使用像素時鐘(clk100),而運算時使用20M外部時鐘(clk50)而設計。通過數(shù)據(jù)選擇器實現(xiàn)對兩種時鐘的選擇,當搜索圖像存儲器讀寫控制信號(sel_r)為高時選擇外部20M時鐘,為低時選擇像素時鐘。由于在運算時還需要使用該兩時鐘的2分頻時鐘,所以在像素時鐘和外部時鐘部分又分別使用了一個數(shù)據(jù)選擇器和一個2分頻器。當圖像分辨率控制信號(selclk)為高時,選擇像素時鐘,產(chǎn)生的地址計數(shù)時鐘與像素同步,實現(xiàn)對像素的逐點存儲;為低時,選擇像素時鐘的2分頻時鐘信號作為地址計數(shù)時鐘,實現(xiàn)對像素的隔點存取。波門信號field與像素時鐘部分的邏輯組合可實現(xiàn)對輸入搜索區(qū)圖像范圍的控制,當波門信號field為高時,打開像素時鐘輸入,為低時,關閉像素時鐘輸入。外部時鐘輸入部分之所以設置2分頻器主要是因為在進行匹配運算時,前七次跌代使用20M時鐘,而最后一次由于要進行比較運算使用10M時鐘。當比較開關信號Clean為低時,20M時鐘直接輸出;當Clean為高時,20M時鐘經(jīng)2分頻后以10M時鐘輸出。
搜索區(qū)圖像存儲器控制信號產(chǎn)生模塊主要是實現(xiàn)搜索圖像存儲器讀寫控制信號(sel_r)、像素時鐘(clk100)、地址產(chǎn)生器的時鐘信號(addresclk)、波門信號(field)、總時鐘開關(conclk)、fifo寫時鐘(fifowclk)、fifo讀時鐘(fiforclk)對對搜索區(qū)圖像的輸出允許信號(dpsramoe)和外部搜索區(qū)圖像存儲器讀寫信號(dpsramrw)的聯(lián)合控制。當外部搜索區(qū)圖像存儲器寫入數(shù)據(jù)時搜索區(qū)圖像的輸出允許信號(dpsramoe)呈高電平,外部搜索區(qū)圖像存儲器讀寫信號(dpsramrw)高低電平更替,在其低電平時將像素數(shù)據(jù)寫入存儲器。當讀出數(shù)據(jù)時,搜索區(qū)圖像的輸出允許信號(dpsramoe)呈低電平,外部搜索區(qū)圖像存儲器讀寫信號(dpsramrw)呈高電平,依靠變化的地址將像素數(shù)據(jù)讀出。
時鐘產(chǎn)生模塊主要是實現(xiàn)在總時鐘開關信號(conclk)為高電平時打開fifo讀時鐘(fiforclk)、fifo寫時鐘(fifowclk)、地址產(chǎn)生器的時鐘(addresclk)、匹配運算時鐘(Corclk)。當子模板匹配運算結束中斷指示信號(int)為高時關閉以上各時鐘功能。該模塊還實現(xiàn)地址產(chǎn)生器時鐘(addresclk)、匹配運算時鐘Corclk滯后fifo讀時鐘(fiforclk)一個時鐘周期,超前fifo寫時鐘(fifowclk)一個時鐘周期,以實現(xiàn)跌代運算時對應數(shù)據(jù)之間嚴格的對應關系。匹配運算時鐘(Corclk)連接到主從相關器。地址產(chǎn)生器的時鐘信號(addresclk)接至地址產(chǎn)生模塊。
參照圖6,本發(fā)明的地址產(chǎn)生模塊由五個計數(shù)器C、D、E、F、G組成,計數(shù)器C、D、E、F為外部的搜索區(qū)圖像存儲器提供順序輸入輸出地址。計數(shù)器G統(tǒng)計相關運算的進程,在一個子模板匹配結束時發(fā)出一高電平中斷指示信號。五個計數(shù)器共用地址產(chǎn)生器時鐘信號(addresclk)和外部控制器數(shù)據(jù)線。
該地址模塊的工作過程為在運算開始前對應不同的外部控制器地址和數(shù)據(jù)產(chǎn)生相應的計數(shù)器置值允許信號,將數(shù)據(jù)線上的地址初值寫入計數(shù)器;在運算開始后地址產(chǎn)生器的時鐘信號(addresclk)來到,計數(shù)器C、D、E、F遂產(chǎn)生對應于不同地址初值的順序地址,使在寫入時搜索區(qū)圖像能在相同的地址并行進入搜索區(qū)圖像存儲器,而在讀出時能夠對應不同的地址初值的四行搜索區(qū)像素數(shù)據(jù)并行進入數(shù)字圖像匹配器。計數(shù)器G的工作原理同上述四計數(shù)器,計數(shù)器的最高位數(shù)據(jù)輸出作為輸出。
地址產(chǎn)生器輸出四個搜索區(qū)像素的地址和中斷信號連接至片外。
參照圖7,本發(fā)明的外部控制器模塊接口電路由一個譯碼器和數(shù)據(jù)鎖存器組成。該接口電路用于完成兩種功能,一是提供雙向的輸入輸出數(shù)據(jù)接口,以節(jié)省資源;二是根據(jù)對應的地址鎖入相應的控制字。
雙向數(shù)據(jù)輸入輸出數(shù)據(jù)接口的實現(xiàn)是由一組總線型的三態(tài)門實現(xiàn)的,輸入的數(shù)據(jù)直接接至各模塊,而輸出的最佳匹配點的地址經(jīng)三態(tài)門輸出,三門門的控制有外部控制器輸入的讀寫信號實現(xiàn)。
控制字產(chǎn)生部分由譯碼器和兩個鎖存器組成。
外部控制器數(shù)據(jù)選通信號(iocs)連接到譯碼器的使能端(G2AN);外部控制器地址線ca[10]連接到譯碼器的另一使能端;外部控制器地址線ca[7]、ca[8]、ca[9]分別連至譯碼器的三個輸入端;外部控制器地址線ca[7]、ca[8]、ca[9]、ca[10]的不同邏輯組合可產(chǎn)生相應的匹配結果讀出允許信號(oe)、conce地址譯碼允許信號(cecoun)、模板寫入有效信號(mce)及兩鎖存器鎖存時鐘信號clk1和clk2;兩鎖存器鎖存時鐘信號clk1和clk2分別連至鎖存器的鎖存時鐘信號clk端,在不同鎖存信號clk的上升沿,鎖入不同的控制字,產(chǎn)生相應的信號;外部控制器接口電路輸出的比較開關信號(clean)、匹配結果讀出允許信號(oe)、地址譯碼允許信號(cecoun)、圖像分辨率控制信號(selclk)、總時鐘開關(conlk)、搜索圖像存儲器讀寫控制信號(sel_r),均連接到比較定位與控制邏輯產(chǎn)生電路的輸入端。
先入先出存儲器(FIFO)讀有效信號(ren)、清零信號(fifors)連接至先入先出存儲器(FIFO);模板置換信號(le)、模板寫入有效信號(mce)連接至主從相關器;同時搜索圖像存儲器讀寫控制信號(sel_r)也輸出至片外。
參照圖8,使用本發(fā)明時需輔以外存儲器和控制器。兩片雙端口靜態(tài)存儲器為搜索區(qū)圖像存儲器,各片內都存有整個搜索區(qū)的圖像數(shù)據(jù)。74245主要是在匹配運算進行時,用以隔離外部視頻數(shù)據(jù)與搜索區(qū)存儲器內像素數(shù)據(jù)的讀出??刂破髦饕瓿呻p端口存儲器的寫操作控制(主要內容包括確定搜索區(qū)圖像的分辨率、搜索區(qū)圖像的范圍大小、搜索區(qū)圖像在存儲器內的存放起始位置)、匹配器各單元硬件的初始化(主要包括對地址計數(shù)器和中斷計數(shù)器清零、各子模板寄存器清零、各級流水線清零、匹配位置寄存器清零、先進先出存儲器復位);控制器的內容還包括設置各地址計數(shù)器和中斷計數(shù)器的初始值,確定先進先出存儲器的工作狀態(tài),確定匹配單元是否打開,確定運算時鐘的頻率。將要參加運算的子模板從緩沖寄存器倒入運算寄存器,確定對子模板進行運算的時間。在中斷來到后,關閉匹配運算單元的所有時鐘,以確保各器件所采用的時鐘之間的嚴格同步,正確設置中斷計數(shù)器的初值。
匹配器外部管腳中設有四組8位搜索區(qū)圖像輸入接口、四組搜索區(qū)像素對應的地址接口、搜索區(qū)圖像存儲器的讀寫信號接口、搜索區(qū)圖像的輸出允許信號接口、搜索區(qū)圖像存儲器的讀寫控制輸出接口、相關運算完畢中斷指示信號、外部時鐘輸入接口、像素時鐘輸入接口、外部控制器數(shù)據(jù)讀寫信號輸入接口、外部控制地址接口、外部控制器數(shù)據(jù)接口選通信號及搜索區(qū)圖像范圍波門指示信號。
權利要求
1.一種數(shù)字圖像匹配器,包括地址產(chǎn)生電路,主相關處理電路,從相關處理電路,比較定位及控制邏輯產(chǎn)生電路,先入先出存貯器FIFO和外部控制器接口電路,其中地址產(chǎn)生電路用于為搜索區(qū)像素提供外部存儲地址和讀入地址,并向外部控制器產(chǎn)生中斷指示信號,該電路輸出四個搜索區(qū)像素的地址和中斷信號連接至片外;主相關處理電路和從相關電路用于并行完成對每塊小模板的流水線處理,同時對每塊小模板數(shù)據(jù)進行兩級緩存,實現(xiàn)各子模板的并行操作以及對輸入的搜索區(qū)圖像數(shù)據(jù)進行移位寄存,模擬模板圖像在搜索區(qū)內移動,該兩主、從電路分別與外部輸入的兩路搜索區(qū)像素數(shù)據(jù)信號相連接;先入先出存貯電路(FIFO)用于存貯匹配運算的中間結果,并將該結果在計算下一塊子模板的時候讀出來進行累加,該電路通過數(shù)據(jù)總線分別與主相關處理模塊和比較定位及控制邏輯產(chǎn)生模塊相連接;比較定位及控制邏輯電路用于對匹配結果進行比較判斷確定最佳匹配點位置,同時產(chǎn)生有嚴格時序關系的時鐘信號來同步外部搜索區(qū)圖像存貯體的讀寫、流水線和先入先出存貯電路(FIFO)的讀寫,以及對圖像的分辨率和圖像模板的大小進行控制,該電路將所確定最佳匹配點位置通過數(shù)據(jù)總線輸入到外部控制器接口;外部控制器接口電路根據(jù)外部輸入的控制器地址和數(shù)據(jù)產(chǎn)生相應的多種控制信號,這些控制信號分別輸出到地址產(chǎn)生電路,主相關處理電路,從相關處理電路,先入先出存貯電路(FIFO),比較定位及控制邏輯產(chǎn)生電路。
2.根據(jù)權利要求1所述的圖像匹配器,其特征在于外部控制器接口電路主要由一個譯碼器、一個總線型三態(tài)門及兩個鎖存器組成,譯碼器輸出的兩個選通信號(clk1)和(clk2)分別輸入到兩個鎖存器的鎖存時鐘端,總線型三態(tài)門的輸出與鎖存器的輸入端相連接,均接至外部控制器數(shù)據(jù)線。
3.根據(jù)權利要求1或2所述的圖像匹配器,其特征在于外部控制器接口電路輸出的多種控制信號包括比較開關信號(clean)、匹配結果讀出允許信號(oe)、地址譯碼允許信號(cecoun)、圖像分辨率控制信號(selclk)、總時鐘開關(conlk)、搜索圖像存儲器讀寫控制信號(sel_r),均連接到比較定位與控制邏輯產(chǎn)生電路的輸入端;外部控制器接口電路輸出的模板置換信號(le)和模板寫入有效信號(mce)分別輸出到主從相關電路;外部控制器接口電路輸出的清零信號(fifors)和讀有效信號(ren)連接至先入先出存貯電路(FIFO)。
4.根據(jù)權利要求1所述的圖像匹配器,其特征在于比較定位電路主要由輸入鎖存模塊、比較判斷模塊、鎖存更新單元、時鐘轉換模塊、地址計數(shù)模塊和地址鎖存單元組成,其中輸入鎖存模塊采用18位二進制數(shù)所表示的匹配度量值進行鎖存,該模塊的輸出同時輸入到比較判斷模塊和鎖存更新單元;比較判斷模塊用于對輸入鎖存模塊輸入的前一個被鎖存下來的數(shù)據(jù)進行比較,再將其鎖存允許信號輸入到鎖存更新單元,對鎖存數(shù)據(jù)進行更新;地址計數(shù)模塊用于記錄參與比較判斷的匹配度量值的數(shù)目,并將數(shù)目輸入到地址鎖存單元;地址鎖存單元與鎖存更新單元雙向連接,用于對地址計數(shù)模塊輸入的地址計數(shù)值進行鎖存,記錄下新的更小的匹配度量值所對應的地址進行輸出;時鐘轉換模塊用于把連續(xù)的輸入時鐘(CLK)轉換為比較判斷和地址計數(shù)時鐘(DCLK),該模塊輸出的地址計數(shù)時鐘(DCLK)同時輸入到地址計數(shù)模塊和比較判斷模塊。
5.根據(jù)權利要求1所述的圖像匹配器,其特征在于控制邏輯產(chǎn)生電路由總時鐘產(chǎn)生模塊和譯碼模塊組成,總時鐘產(chǎn)生模塊根據(jù)輸入的像素時鐘和外部時鐘控制數(shù)字產(chǎn)生主、從相關處理模塊運算時鐘,先入先出存貯電路FIFO讀寫時鐘,外部搜索區(qū)圖像存儲器讀寫信號和輸出允許控制信號;譯碼模塊是將外部控制器發(fā)過來的地址譯碼,產(chǎn)生相應的產(chǎn)生地址產(chǎn)生器置初值允許信號。
6.根據(jù)權利要求1所述的圖像匹配器,其特征在于主相關電路主要由觸發(fā)器、搜索區(qū)圖像移位寄存器、子模板數(shù)據(jù)緩沖寄存器、子模板數(shù)據(jù)運算寄存器、運算單元、并行累加單元、從相關結果累加單元及與先入先出存貯器(FIFO)內運算結果累加單元組成;觸發(fā)器將圖像數(shù)據(jù)進行同步讀入后進入搜索區(qū)移位寄存器形成數(shù)據(jù)窗,搜索區(qū)像素移位寄存器和子模板運算寄存器的輸出數(shù)據(jù)共同進入運算單元得到搜索區(qū)圖像和模板圖像的差值絕對值輸出,該輸出值經(jīng)并行累加單元得到搜索圖與子模板圖的灰度差累加后與從相關電路過來的運算結果并行累加,該并行累加結果再與從先入先出存貯器(FIFO)讀出的前幾次跌代的結果并行累加得到本次跌代結果輸出。
7.根據(jù)權利要求1所述的圖像匹配器,其特征在于從相關電路主要由觸發(fā)器、搜索區(qū)圖像移位寄存器、子模板數(shù)據(jù)緩沖寄存器、子模板數(shù)據(jù)運算寄存器、運算單元、并行累加單元組成,觸發(fā)器將圖像數(shù)據(jù)進行同步讀入后進入搜索區(qū)移位寄存器形成數(shù)據(jù)窗,搜索區(qū)像素移位寄存器和子模板運算寄存器的輸出數(shù)據(jù)共同進入運算單元得到搜索區(qū)圖像和模板圖像的差值絕對值輸出,該輸出值經(jīng)兩路運算結果并行累加得到搜索圖與子模板圖的灰度差。
8.根據(jù)權利要求1所述的圖像匹配器,其特征在于地址產(chǎn)生電路由計數(shù)器C、D、E、F、G組成,計數(shù)器C、D、E、F為外部的搜索區(qū)圖像存儲器提供順序輸入輸出地址。計數(shù)器G統(tǒng)計相關運算的進程,在一個子模板匹配結束時發(fā)出一高電平中斷指示信號,這些計數(shù)器共用地址產(chǎn)生器時鐘信號(addresclk)和外部控制器數(shù)據(jù)線。
9.根據(jù)權利要求1所述的圖像匹配器,其特征在于先入先出存儲器(FIFO)直接采用芯片開發(fā)工具QUARUS II提供的參數(shù)化兆功能模塊庫(LPMs)內的模塊來實現(xiàn)。
全文摘要
本發(fā)明公開了一種數(shù)字圖像匹配電路結構。該電路包括地址產(chǎn)生模塊,主、從相關處理模塊,比較定位及控制邏輯產(chǎn)生模塊,F(xiàn)IFO和外部控制器接口模塊。其中,地址產(chǎn)生電路為搜索區(qū)像素提供外部存儲地址和讀入地址,并向外部控制器產(chǎn)生中斷指示信號;主、從相關電路同時對每塊小模板數(shù)據(jù)進行兩級緩存,并對輸入的搜索區(qū)圖像數(shù)據(jù)進行移位寄存;FIFO模塊存貯匹配運算的中間結果并進行累加;比較定位及控制邏輯模塊對匹配結果進行比較判斷確定最佳匹配點位置;外部控制器接口電路產(chǎn)生相應的控制信號并分別輸出到各單元電路。本發(fā)明結構簡單,匹配及搜索運算速度快,實現(xiàn)了國際通用的SAD數(shù)字全匹配全搜索,可用于模式識別,目標檢測,火力控制,序列圖像編碼,導航,醫(yī)學圖像處理及其它需要對圖像進行精確定位的系統(tǒng)中。
文檔編號G06F7/38GK1523506SQ0313455
公開日2004年8月25日 申請日期2003年9月8日 優(yōu)先權日2003年9月8日
發(fā)明者王軍寧, 吳成柯, 李波, 肖鵬 申請人:西安電子科技大學