一種基于圖像的重復數據刪除方法及裝置的制造方法
【技術領域】
[0001]本發明涉及數據處理領域,特別是涉及一種基于圖像的重復數據刪除方法及裝置。
【背景技術】
[0002]重復數據刪除技術是應用于存儲系統的一種數據縮減技術,旨在減少存儲系統中使用的存儲容量。通過查找不同文件中不同位置的重復可變大小數據塊。重復的數據塊只保留其中一份,其它用指示符取代,從而消除冗余數據,縮減存儲的數據。高度冗余的數據集(例如備份數據)從數據重復刪除技術的獲益極大,用戶可以實現10比I至50比I的縮減比。
[0003]但是類似圖像這類數據,本身經過壓縮編碼,單純使用現有的重復數據刪除技術很難得到重刪率,無法進行縮減。
【發明內容】
[0004]第一方面,本發明提供一種基于圖像的重復數據刪除方法,該方法包括:
[0005]獲取待存儲圖像的像素矩陣;根據像素矩陣,分割待存儲圖像獲得圖像分塊,并獲得圖像分塊的弱分塊指紋;判斷指紋庫中是否存在與弱分塊指紋相同的弱參考指紋,當指紋庫中存在與弱分塊指紋相同的弱參考指紋時,獲取弱參考指紋;根據弱參考指紋從圖像庫中獲取第一參考圖像分塊,根據第一參考圖像分塊對圖像分塊進行壓縮獲得壓縮圖像分塊,存儲壓縮圖像分塊;當在指紋庫中沒有查找到與弱分塊指紋相同的弱參考指紋,則將弱分塊指紋作為新的弱參考指紋存入指紋庫,以及將弱分塊指紋對應的圖像分塊存入圖像庫。
[0006]優選地,上述方法還包括:獲取圖像分塊的強參考指紋;判斷指紋庫中是否存在與強分塊指紋相同的強參考指紋,當指紋庫中不存在與強分塊指紋相同的強參考指紋時,將強分塊指紋作為新的強參考指紋存入指紋庫;然后,判斷指紋庫中是否存在與弱分塊指紋相同的弱參考指紋。
[0007]優選地,上述方法還包括:比較壓縮圖像分塊像素與弱圖像分塊像素,若壓縮圖像分塊像素大于圖像分塊像素,則存儲圖像分塊。
[0008]優選地,根據像素矩陣,分割待存儲圖像得到圖像分塊,并獲得圖像分塊的弱分塊指紋,包括:根據像素矩陣,獲取水平滑動窗口和垂直滑動窗口內的像素子矩陣,并計算像素子矩陣的弱分塊指紋;當弱分塊指紋滿足指紋邊界條件時,將像素子矩陣作為圖像分塊并計算圖像分塊的強分塊指紋。
[0009]優選地,指紋庫用于存儲多個強參考指紋和多個弱參考指紋,圖像庫用于存儲多個參考圖像分塊,且強參考指紋和弱參考指紋與參考圖像分塊均存在對應關系。
[0010]第二方面,本發明提供一種基于圖像的重復數據刪除裝置,包括:接收模塊用于接收待存儲圖像,獲取待存儲圖像的像素矩陣;分塊模塊用于根據像素矩陣,分割待存儲圖像獲得多個圖像分塊,并獲得圖像分塊的強分塊指紋和弱分塊指紋;第一獲取模塊用于判斷指紋庫中是否存在與弱分塊指紋相同的弱參考指紋,當指紋庫中存在與弱分塊指紋相同的弱參考指紋時,獲取弱參考指紋,并根據弱參考指紋從圖像庫中獲得第一參考圖像分塊;存儲模塊用于根據第一參考圖像分塊對圖像分塊進行壓縮獲得壓縮圖像分塊,存儲壓縮圖像分塊。
[0011]優選地,該裝置還包括第二獲取模塊,用于獲取圖像分塊的強參考指紋,判斷指紋庫中是否存在與強分塊指紋相同的強參考指紋,當指紋庫中不存在與強分塊指紋相同的強參考指紋時,將強分塊指紋作為新的強參考指紋存入指紋庫,并產生第一獲取信號,第一獲取信號用于啟動第一獲取模塊。
[0012]優選地,第一獲取模塊還用于:當指紋庫中不存在與弱分塊指紋相同的弱參考指紋時,則第一獲取模塊將弱分塊指紋作為弱參考指紋存入指紋庫,以及將弱分塊指紋對應的圖像分塊存入圖像庫。
[0013]優選地,壓縮圖像分塊像素大于圖像分塊像素。
[0014]優選地,水平滑動分割包括:第一步驟,根據像素矩陣,在待存儲圖像的第一分割位置采用水平滑動窗口獲得水平像素子矩陣,并獲得水平像素子矩陣的弱分塊指紋,并執行第二步驟;第二步驟,判斷弱分塊指紋是否滿足指紋邊界條件:若指紋滿足指紋邊界條件,則直接將水平像素子矩陣作為圖像分塊;否則將水平滑動窗口從第一分割位置水平滑動至第二分割位置,執行第三步驟;第三步驟,判斷第二分割位置是否滿足第一邊界條件:若滿足,則獲取水平滑動窗口在第二分割位置獲得的像素矩陣作為圖像分塊,并獲得圖像分塊弱分塊指紋,以及將水平滑動窗口移動至第三分割位置,執行第四步驟;否則,將第二分割位置作為第一分割位置,并執行第一步驟;第四步驟,判斷第三分割位置是否滿足第二邊界條件:若滿足,則停止分割;否則,將第三分割位置作為第一分割位置,并執行第一步驟。
[0015]優選地,第二分割位置的垂直坐標與第一分割位置的垂直坐標相同,第二分割位置的水平坐標為第一分割位置的水平坐標加上水平滑動距離。第三分割位置的垂直坐標為第二分割位置的垂直坐標加上垂直移動距離,第三分割位置的水平坐標為初始分割位置的水平坐標。需要說明的是,對于水平滑動窗口的大小、水平滑動距離的值及垂直移動距離的值根據待存儲圖像及存儲需要設定。
[0016]優選地,垂直滑動分割包括:第五步驟,根據像素矩陣,在待存儲圖像的第四分割位置采用垂直滑動窗口獲得垂直像素子矩陣,并獲得垂直像素子矩陣的指紋,并執行第六步驟;第六步驟,判斷指紋是否滿足指紋邊界條件:若指紋滿足指紋邊界條件,則直接將垂直像素子矩陣作為圖像分塊;否則將垂直滑動窗口從第四分割位置垂直滑動至第五分割位置,執行第七步驟;第七步驟,判斷第五分割位置是否滿足第三邊界條件:若滿足,則獲取在第五分割位置上的垂直滑動窗口內像素矩陣作為圖像分塊,并獲得圖像分塊的弱分塊指紋,以及將垂直滑動窗口移動至第六分割位置,執行第八步驟;否則,將第五分割位置作為第四分割位置,并執行第五步驟;第八步驟,判斷第六分割位置是否滿足第四邊界條件:若滿足,則停止分割;否則,將第六分割位置作為第四分割位置,并執行第五步驟。
[0017]優選地,第五分割位置的水平坐標與第四分割位置的水平坐標相同,第五分割位置的垂直坐標為第四分割位置的垂直坐標加垂直平滑動距離。第六分割位置的水平坐標為第五分割位置的水平坐標加上水平移動距離,第六分割位置的垂直坐標為初始分割位置的垂直坐標。需要說明的是,對于垂直滑動窗口的大小、垂直滑動距離的值及水平移動距離的值根據待存儲圖像及存儲需要設定。
[0018]本發明將待存儲圖像根據像素矩陣分割為多個圖像分塊,采用水平與垂直兩種方式進行分割,采用這樣的分割方式有利于獲得與待存儲圖像相似性更強的相似圖像。而圖像分塊的大小則不作限定。
[0019]本發明所提供的一種基于圖像的重復數據刪除方法及裝置,克服了現有技術的不足,增加了圖像重復數據的重刪率,增加了圖像的縮減比,減少了圖像的存儲量,進一步節省了存儲圖像所需的存儲空間,提高了圖像的存儲、傳輸和處理速度。
【附圖說明】
[0020]圖1為本發明實施例提供的一種基于圖像的重復數據刪除方法的流程示意圖;
[0021 ]圖2為本發明實施例待存儲圖像存儲前后示意圖;
[0022]圖3為本發明實施例提供水平分割的分割過程示意圖;
[0023]圖4為本發明實施例提供水平分割的方法流程示意圖;
[0024]圖5為本發明實施例提供垂直分割的分割過程示意圖;
[0025]圖6為本發明實施例提供垂直分割的方法流程示意圖;
[0026]圖7為本發明實施例提供的一種基于圖像的重復數據刪除裝置結構示意圖。
【具體實施方式】
[0027]下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
[0028]圖1為本發明實施例提供的一種基于圖像的重復數據刪除方法的流程示意圖,如圖1所示,本方法包括步驟SI O 1-步驟SI 04:
[0029]步驟SlOl,獲得待存儲的圖像的像素矩陣;
[0030]步驟S102,根據像素矩陣,分割待存儲圖像獲得多個圖像分塊,并獲得圖像分塊的弱分塊指紋,以及獲得圖像分塊的強分塊指紋;
[0031]需要說明的是,在本實施例所提供的方法中,獲得多個圖像分塊需要通過水平滑動分割和垂直滑動分割兩種方法實現對待存儲圖像的圖像分塊,水平分割的具體實現方式詳見圖3、圖4及相關【附圖說明】,垂直分割的具體實現方式詳見圖5、圖6及相關【附圖說明】。此處的描述的強分塊指紋和弱分塊指紋即為圖像分塊的哈希值。