專利名稱:一種計算多數(shù)據(jù)排序序號的硬件結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及一種計算數(shù)據(jù)排序序號的結(jié)構(gòu)。
背景技術(shù):
在數(shù)字圖像信號處理時需要計算數(shù)據(jù)排序序號后并找到中值,噪聲處
理中的中值濾波就需要計算排序的序號后找到中值,中值濾波一般開3x3 窗口,或5x5窗口,然后從這些數(shù)據(jù)中找出中值。
排序序號就是對數(shù)按從大到小依次排列的序號,或者從小到大依次排 列的序號,計算排序序號后就可以得到數(shù)據(jù)的排序,排序在軟件算法里面 有很多,如冒泡排序、選擇排序法、插入排序法、快速排序法、合并排序 法、計數(shù)排序法等。這些方法在軟件程序中很容易實現(xiàn),但在硬件中很難 實現(xiàn)這些算法和思想,并且軟件實現(xiàn)的排序很難滿足實時性系統(tǒng)對速度的 要求。
發(fā)明內(nèi)容
本實用新型所要解決的技術(shù)問題是為音、視頻處理及其它需要硬件實 現(xiàn)高速的計算多數(shù)據(jù)排序序號的情況,設(shè)計一種便于硬件實現(xiàn)計算的多數(shù) 據(jù)排序序號的結(jié)構(gòu),該結(jié)構(gòu)的組成如下
一種計算多數(shù)據(jù)排序序號的硬件結(jié)構(gòu),在N個數(shù)的數(shù)據(jù)樣本中計算其 中N個數(shù)的排序序號時;該結(jié)構(gòu)由N個計算單元組成;
其中每個所述的計算單元計算一個數(shù)據(jù)排序序號,所述的任一計算單 元包括N-1個數(shù)值比較器和一個加法器,待計算序號的數(shù)據(jù)分別輸入N-1 個數(shù)值比較器的同一輸入端,其它N-1個數(shù)據(jù)分別輸入數(shù)值比較器的另一 輸入端,比較后的結(jié)果輸入至加法器進行相加得到該數(shù)據(jù)的排序序號。
在本實用新型所述的結(jié)構(gòu)中,若兩個數(shù)據(jù)在所述的其它計算單元中已 經(jīng)比較,只需將該比較結(jié)果通過反向器,以替代所需的數(shù)值比較器。
在本實用新型所述的結(jié)構(gòu)中,最多可把N(N-1)/2個所述的數(shù)值比較器 替換為反向器。本實用新型所述的數(shù)值比較器可為一個用于實現(xiàn)兩輸入數(shù)據(jù)相減的減 法裝置和一個用于判斷相減結(jié)果是否大于零的判斷裝置組成;待比較的兩 數(shù)輸入減法裝置進行相減,得到的差值輸入判斷裝置進行判斷,該判斷的 結(jié)果輸出。
本結(jié)構(gòu)使用硬件實現(xiàn)數(shù)據(jù)排序序號運算,對樣本的數(shù)據(jù)沒有個數(shù)上的 限制,只需添加簡單的硬件結(jié)構(gòu)就可以實現(xiàn)數(shù)據(jù)的排序,取中值等運算, 具有廣泛的應(yīng)用空間。由于本實用新型的算法特別適合于硬件實現(xiàn),降低 了硬件的面積,和軟件相比有明顯的速度優(yōu)勢,且數(shù)據(jù)越多本實用新型的 的速度優(yōu)勢就越明顯。
圖1是數(shù)值比較器輸入輸出口的示意圖; 圖2是本實用新型實施例2的結(jié)構(gòu)圖; 圖3是本實用新型實施例3的結(jié)構(gòu)圖; 圖4是本實用新型實施例4的結(jié)構(gòu)圖。
具體實施方式
以下結(jié)合附圖對本實用新型的具體實施方式
作詳細說明。 實施例l
本實用新型中所用到的數(shù)值比較器如圖1所示,有兩個輸入端分別為 A端和B端,待比較的兩數(shù)分別從A端和B端輸入,輸出端輸出一個lbit 的數(shù)。若A端的數(shù)大于或等于B端的數(shù),則輸出端輸出1,若輸入A端的 數(shù)小于輸入B端的數(shù),則輸出端C輸出0。
在計算N個數(shù)據(jù)樣本中l(wèi)個數(shù)據(jù),設(shè)為a的排序序號時,需要一個計 算單元。其包括N-1個數(shù)值比較器與1個加法器。數(shù)據(jù)a分別輸入所有數(shù) 值比較器的同一輸入端,其它數(shù)據(jù)輸入數(shù)值比較器另一輸入端,進行比較, 其比較結(jié)果輸入到加法器中相加,得到數(shù)據(jù)a的排序序號。本實用新型結(jié) 構(gòu)計算出的排序序號是從0開始。 實施例2
以取N-3為例,即有3個數(shù)據(jù)待計算排序序號時,需要3個如實時例 1中所述的計算單元。把每一個計算單元排列在一列上,如圖2所示為3 列,每列包括2個數(shù)值比較器和1個加法器。其中,數(shù)據(jù)1分別輸入1列的數(shù)值比較器211、數(shù)值比較器212的A 端,其它兩個數(shù)據(jù)分別輸入1列中數(shù)值比較器的B端。
數(shù)據(jù)2分別輸入2列的數(shù)值比較器221、數(shù)值比較器222的A端,其 它數(shù)據(jù)分別輸入2列中數(shù)值比較器的B端。
數(shù)據(jù)3分別輸入3列的數(shù)值比較器231、數(shù)值比較器232的A端,其 它數(shù)據(jù)分別輸入3列中數(shù)值比較器的B端。
數(shù)據(jù)1和數(shù)據(jù)2在數(shù)值比較器211中比較后的輸出結(jié)果,以及數(shù)據(jù)1 和數(shù)據(jù)3在數(shù)值比較器212的比較結(jié)果輸入加法器210。在加法器210中 相加得到數(shù)據(jù)1在3個數(shù)中排序的序號。
數(shù)據(jù)2和數(shù)據(jù)1在數(shù)值比較器221中比較后的輸出結(jié)果,與數(shù)據(jù)2和 數(shù)據(jù)3在數(shù)值比較器222的比較結(jié)果輸入加法器220。在加法器220中相 加得到數(shù)據(jù)2在3個數(shù)中排序的序號。
同上,數(shù)據(jù)3和數(shù)據(jù)1在數(shù)值比較器231中比較后的輸出結(jié)果,與數(shù) 據(jù)3和數(shù)據(jù)2在數(shù)值比較器232的比較結(jié)果輸入加法器230。在加法器230 中相加得到數(shù)據(jù)3在3個數(shù)中排序的序號。 實施例3
在圖2中,第2列數(shù)值比較器221比較的數(shù)據(jù)2和數(shù)據(jù)1,在第1列 數(shù)值比較器211中已經(jīng)比較,只是結(jié)果相反。同樣數(shù)值比較器231中比較 的數(shù)據(jù)3和數(shù)據(jù)1,數(shù)值比較器232比較的數(shù)據(jù)3和數(shù)據(jù)2,都在前面列 已經(jīng)比較只是比較的結(jié)果相反,因此可把前面比較的結(jié)果通過反向器進行 取反得到這些比較結(jié)果,從而去掉這些數(shù)值比較器以節(jié)省硬件空間??珊?單的推算在有N個數(shù)比較,分為N列的情況下,第二列有一組數(shù)據(jù)在前面 列比較過;第三列有兩組數(shù)據(jù)在前面列比較過;以此類推在N列中有N-1 組數(shù)據(jù)在前面列已經(jīng)比較過,因此在N列中一共可以節(jié)省N(N-1)/2個數(shù)值 比較器。
節(jié)省以后的結(jié)構(gòu)如圖3所示,數(shù)據(jù)1和數(shù)據(jù)2輸入數(shù)值比較器311中, 數(shù)據(jù)1和數(shù)據(jù)3輸入數(shù)值比較器312中,數(shù)值比較器311和數(shù)值比較器312 的輸出結(jié)果在加法器310中相加,得到數(shù)據(jù)1的序號。
數(shù)據(jù)2和數(shù)據(jù)3輸入比較器322,數(shù)值比較器311的比較結(jié)果經(jīng)過反 向器后與數(shù)值比較器322的比較結(jié)果在加法器320中相加,得到數(shù)據(jù)2的 序號。
數(shù)值比較器312的輸出結(jié)果和數(shù)值比較器322的輸出結(jié)果分別通過反向器后在加法器330中相加,得到數(shù)據(jù)3的序號。 實施例4
以取N^3為例,即在數(shù)據(jù)樣本包括9個數(shù)字,如圖4所示需要計算每 個數(shù)據(jù)的排序序號,數(shù)據(jù)1分別輸入第1列所有數(shù)值比較器的A端。其它 8個數(shù)據(jù)分別輸入1列中所有數(shù)值比較器的B端,第1列數(shù)值比較器的輸 出結(jié)果在加法器410中相加得到數(shù)據(jù)1的排序序號。
數(shù)據(jù)2分別輸入第2列2至8行的數(shù)值比較器A端,除數(shù)據(jù)1和2外 其它7個數(shù)據(jù)分別輸入第2列2至8行數(shù)值比較器的B端;1行1列的數(shù) 值比較器通過反向器后和2列所有數(shù)值比較器的輸出結(jié)果輸入加法器420 中相加得到數(shù)據(jù)2的排序序號。
數(shù)據(jù)3分別輸入第3列3至8行的數(shù)值比較器A端,除數(shù)據(jù)l、 2、 3 外其它6個數(shù)據(jù)分別輸入第3列3至8行數(shù)值比較器的B端;2行1列數(shù) 值比較器、2行2列數(shù)值比較器的輸出結(jié)果通過反向器后和3列的所有數(shù) 值比較器的輸出結(jié)果輸入加法器430中相加得到數(shù)據(jù)3的排序序號。
數(shù)據(jù)4分別輸入第4列4至8行的數(shù)值比較器A端,除數(shù)據(jù)1至4外 其它5個數(shù)據(jù)分別輸入第4列4至8行數(shù)值比較器的B端;3行1列數(shù)值 比較器、3行2列數(shù)值比較器、3行3列數(shù)值比較器通過反向器后和4列的 所有數(shù)值比較器的輸出結(jié)果輸入加法器440中相加得到數(shù)據(jù)4的排序序號。
依照附圖和上面列的結(jié)構(gòu)規(guī)律可以推算出第5至7列的具體結(jié)構(gòu),在 此不詳細描述。
第8行1列數(shù)值比較器、8行2列數(shù)值比較器、8行3列數(shù)值比較器、 8行4列數(shù)值比較器、8行5列數(shù)值比較器、8行6列數(shù)值比較器、8行7 列數(shù)值比較器、8行8列數(shù)值比較器、通過反向器后輸入加法器490中相 加得到數(shù)據(jù)9的排序序號。 實施例5
在數(shù)據(jù)樣本包括N個數(shù)字,需要計算每個數(shù)據(jù)的排序序號,數(shù)據(jù)l分 別輸入第1列所有數(shù)值比較器的A端。其它2~N個數(shù)據(jù)分別輸入對應(yīng)行數(shù) 值比較器的B端,第1列數(shù)值比較器輸出的結(jié)果在第1列的加法器中相加 得到數(shù)據(jù)1的排序序號。
數(shù)據(jù)2分別輸入第2 N-l行2列的數(shù)值比較器A端,3~N個數(shù)據(jù)分別 輸入第2列2-N-l行的相應(yīng)數(shù)值比較器的B端。1行1列的數(shù)值比較器通 過反向器后和2列的所有數(shù)值比較器的輸出結(jié)果輸入第二列加法器相加得到數(shù)據(jù)2的排序序號。
數(shù)據(jù)3分別輸入第3~N-1行3列的數(shù)值比較器A端,第4~N個數(shù)據(jù) 分別輸入第3列3 N-1行的數(shù)值比較器的B端。2行1列數(shù)值比較器和2 行2列數(shù)值比較器通過反向器后和3列的所有數(shù)值比較器的輸出結(jié)果輸入 第三列加法器相加得到數(shù)據(jù)3的排序序號。
數(shù)據(jù)4分別輸入第4~N-1行4列的數(shù)值比較器A端,第5~N個數(shù)據(jù) 分別輸入第4列4至8行的數(shù)值比較器的B端。3行1列數(shù)值比較器、3 行2列數(shù)值比較器和3行3列數(shù)值比較器通過反向器后和4列的所有數(shù)值 比較器的輸出結(jié)果輸入第三列加法器相加得到數(shù)據(jù)4的排序序號。
依照上面每列的結(jié)構(gòu)規(guī)律可以推算出第5至N-2列的具體結(jié)構(gòu),在此 不詳細描述。
數(shù)據(jù)N-l分別輸入第N-l列N-l行的數(shù)值比較器A端,第N個數(shù)據(jù) 輸入第N-l行N-l列的數(shù)值比較器的B端。和1列N-2行數(shù)值比較器、2 列N-2行數(shù)值比較器和3列N-2行數(shù)值比較器至N-3列N-2行數(shù)值比較器 的輸出結(jié)構(gòu)和N-2列N-2行數(shù)值比較器的輸出結(jié)果通過反向器后和N-l列 N-l行數(shù)值比較器的輸出結(jié)果輸入第N-1列加法器相加得到數(shù)據(jù)N-1的排 序序號。
.第N-l行1列數(shù)值比較器、N-l行2列數(shù)值比較器、N-l行3列數(shù)值 比較器、N-l行4列數(shù)值比較器、N-l行5列數(shù)值比較器、N-l行6列數(shù)值 比較器至N-1行N-1列數(shù)值比較器通過反向器后輸入第N列加法器相加得 到數(shù)據(jù)N的排序序號。
數(shù)值比較器也可替換為 一個用于實現(xiàn)減法的裝置和用于判斷比較結(jié)果 是否大于零的裝置。需比較的兩數(shù)分別輸入用于實現(xiàn)減法的裝置輸出的結(jié) 果輸入用于判斷結(jié)果是否大于零的裝置,其判斷結(jié)果輸出。
數(shù)值比較器也可為一個用于實現(xiàn)減法的裝置和用于判斷比較結(jié)果是否 大于零的裝置組成。需比較的兩數(shù)分別輸入用于實現(xiàn)減法的裝置輸出的結(jié) 果輸入用于判斷結(jié)果是否大于零的裝置,其判斷結(jié)果輸出。
本結(jié)構(gòu)使用硬件實現(xiàn)數(shù)據(jù)排序序號的計算,對樣本的數(shù)據(jù)沒有個數(shù)上 的限制,且只需添加簡單的硬件結(jié)構(gòu)就可以實現(xiàn)數(shù)據(jù)的排序,取中值等運 算,具有廣泛的應(yīng)用空間。由于本實用新型的算法特別適合于硬件實現(xiàn), 降低了硬件的面積,和軟件相比有明顯的速度優(yōu)勢。且數(shù)據(jù)越多排序的速度優(yōu)勢就越明顯。
當然,上述說明并非是對本實用新型的限制,本實用新型也并不僅限 于上述舉例,本技術(shù)的普通技術(shù)人員在本實用新型的實質(zhì)范圍內(nèi)所做出的 變化、改型、添加或替換,也應(yīng)屬于實用新型的保護范圍。
權(quán)利要求1、 一種計算多數(shù)據(jù)排序序號的硬件結(jié)構(gòu),其特征在于,在N個數(shù)的 數(shù)據(jù)樣本中計算其中每個數(shù)的排序序號時;該結(jié)構(gòu)由N個計算單元組成;其中每個所述的計算單元計算一個數(shù)的據(jù)排序序號,所述的任一計算 單元包括N-l個數(shù)值比較器和一個加法器,待計算序號的數(shù)據(jù)分別輸入 N-l個數(shù)值比較器的同一輸入端,其它N-1個數(shù)據(jù)分別輸入數(shù)值比較器的 另一輸入端,比較后的結(jié)果輸入至加法器進行相加得到該數(shù)據(jù)的排序序 號。
2、 根據(jù)權(quán)利要求1所述的一種計算多數(shù)據(jù)排序序號的硬件結(jié)構(gòu),其 特征在于,若兩個數(shù)據(jù)在所述的其它計算單元中己經(jīng)比較,只需將該比較 結(jié)果通過反向器,以替代所需的數(shù)值比較器。
3、 根據(jù)權(quán)利要求2所述的一種計算多數(shù)據(jù)排序序號的硬件結(jié)構(gòu),其 特征在于,最多可把N(N-l)/2個所述的數(shù)值比較器替換為反向器。
4、 根據(jù)權(quán)利要求1至3任一所述的一種計算多數(shù)據(jù)排序序號的硬件 結(jié)構(gòu),其特征在于,所述的數(shù)值比較器可為一個用于實現(xiàn)兩輸入數(shù)據(jù)相減 的減法裝置和一個用于判斷相減結(jié)果是否大于零的判斷裝置組成;待比較 的兩數(shù)輸入減法裝置進行相減,得到的差值輸入判斷裝置進行判斷,該判 斷的結(jié)果輸出。
專利摘要本實用新型公開了一種計算多數(shù)據(jù)排序序號的硬件結(jié)構(gòu),在N個數(shù)的數(shù)據(jù)樣本中計算每個數(shù)的排序序號時,該結(jié)構(gòu)由N個計算單元組成;其中每個計算單元計算一個數(shù)據(jù)排序序號,所述計算單元包括N-1個數(shù)值比較器和一個加法器,待計算序號的數(shù)據(jù)分別輸入N-1個數(shù)值比較器的同一輸入端,其它N-1個數(shù)據(jù)分別輸入數(shù)值比較器的另一輸入端,比較后的結(jié)果輸入至加法器相加后得到該數(shù)據(jù)的排序序號。本結(jié)構(gòu)使用硬件實現(xiàn)數(shù)據(jù)排序序號的運算,對待比較的數(shù)據(jù)沒有個數(shù)上的限制,只需添加簡單的硬件結(jié)構(gòu)就可以實現(xiàn)數(shù)據(jù)的排序,取中值等運算,具有廣泛的應(yīng)用空間;另外本結(jié)構(gòu)便于硬件實現(xiàn),降低了硬件的面積,運算速度優(yōu)于軟件,且數(shù)據(jù)越多本結(jié)構(gòu)的速度優(yōu)勢就越明顯。
文檔編號G06F7/22GK201156248SQ20082009209
公開日2008年11月26日 申請日期2008年2月3日 優(yōu)先權(quán)日2008年2月3日
發(fā)明者常軍鋒, 張亞國, 嶺 石, 濤 鄭 申請人:深圳艾科創(chuàng)新微電子有限公司