專利名稱:大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)庫領(lǐng)域,涉及一種存儲(chǔ)優(yōu)化方法,特別是涉及一種大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,人們不僅使用單一的文字作為信息的載體,還可以通過各種各樣的媒體來傳遞、存儲(chǔ)信息。媒體是指信息的表現(xiàn)行駛,如文字、聲音、圖像、動(dòng)畫等。對(duì)各種信息媒體的“處理”,是指計(jì)算機(jī)能夠?qū)λ鼈冞M(jìn)行獲取、編輯、存儲(chǔ)、檢索、展示、傳輸?shù)雀鞣N操作。多媒體技術(shù)不是各種信息媒體的簡(jiǎn)單復(fù)合,它是一種把文本、圖形、圖像、動(dòng)畫和聲音等形式的信息結(jié)合在一起,并通過計(jì)算機(jī)綜合處理和控制,能支持完成一系列交互操作的信息技術(shù)。多媒體技術(shù)的發(fā)展改變了計(jì)算機(jī)的使用領(lǐng)域,使計(jì)算機(jī)由辦公室、實(shí)驗(yàn)室的專用品變成了信息社會(huì)的普通工具,廣泛應(yīng)用于工業(yè)生產(chǎn)管理、學(xué)校教育、公共信息咨詢、商業(yè)廣告、軍事指揮與訓(xùn)練等領(lǐng)域。而實(shí)現(xiàn)這些功能最關(guān)鍵的就是對(duì)多媒體進(jìn)行有效的組織和管理,這就需要簡(jiǎn)歷能夠?qū)Χ嗝襟w數(shù)據(jù)進(jìn)行處理的數(shù)據(jù)庫。例如,在企業(yè)可視化生產(chǎn)管理過程中,為了保證產(chǎn)品質(zhì)量以及記錄生產(chǎn)流程,需要在管理數(shù)據(jù)庫中存儲(chǔ)大量的監(jiān)控圖像。直接存儲(chǔ)監(jiān)控圖像造成數(shù)據(jù)庫占用存儲(chǔ)空間大、訪問速度慢。為此,目前有很多方案來避免這個(gè)問題,例如數(shù)據(jù)庫外模式和數(shù)據(jù)庫內(nèi)模式。在監(jiān)控或者生產(chǎn)線的檢測(cè)和歸檔應(yīng)用中,需要對(duì)滿足某條件的記錄進(jìn)行檢索和查閱,而無論采取上述哪種圖像存儲(chǔ)方式,其數(shù)據(jù)庫尺寸都非常大,以至于影響正常使用。雖然可以通過數(shù)據(jù)庫和視頻服務(wù)器的關(guān)聯(lián)實(shí)現(xiàn)數(shù)據(jù)的查詢和圖像的檢索,但增加了成本和應(yīng)用的復(fù)雜程度。
發(fā)明內(nèi)容
鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,用于解決現(xiàn)有技術(shù)中數(shù)據(jù)庫尺寸過大以及數(shù)據(jù)庫運(yùn)行工作量過重的問題。為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法。所述存儲(chǔ)優(yōu)化方法包括:SI,對(duì)存儲(chǔ)在數(shù)據(jù)庫中的視頻幀消除時(shí)間域冗余和空間域冗余,設(shè)置一判斷幀內(nèi)編碼或幀間編碼的決策函數(shù),根據(jù)所述決策函數(shù)判斷當(dāng)前幀為參考幀還是編碼幀,若是參考幀,則對(duì)參考幀進(jìn)行幀內(nèi)編碼,壓縮空間域冗余;若是編碼幀,則對(duì)編碼幀進(jìn)行幀間編碼,在壓縮時(shí)間域冗余的基礎(chǔ)上再壓縮空間域冗余,最后將壓縮后的用戶圖像記錄存儲(chǔ)在相應(yīng)的數(shù)據(jù)庫中;S2,為數(shù)據(jù)庫增加一個(gè)用于存儲(chǔ)用戶圖像記錄壓縮中參考幀的參考幀表,接著添力口、讀取、刪除、以及修改用戶圖像記錄。優(yōu)選地,所述步驟SI包括:SI I,將所述當(dāng)前輸入的當(dāng)前幀分成若干個(gè)大小相同的當(dāng)前塊,對(duì)每個(gè)當(dāng)前塊分別在參考幀中按照塊匹配準(zhǔn)則搜索與之最接近的預(yù)測(cè)塊,記錄當(dāng)前塊與預(yù)測(cè)塊之間的絕對(duì)運(yùn)動(dòng)向量;其中,所述當(dāng)前塊與所述預(yù)測(cè)塊中的各像素點(diǎn)之間的差值組成的塊,稱為殘差塊;S12,設(shè)置判斷幀內(nèi)編碼或幀間編碼的決策函數(shù),將所述決策函數(shù)的判斷閾值設(shè)置為N,預(yù)測(cè)塊與當(dāng)前塊中各像素點(diǎn)的像素差值二值化,得到二值化結(jié)果Dy.,其中i,j為圖
像像素點(diǎn)坐標(biāo)
權(quán)利要求
1.一種大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,其特征在于,所述存儲(chǔ)優(yōu)化方法包括: SI,對(duì)存儲(chǔ)在數(shù)據(jù)庫中的視頻幀消除時(shí)間域冗余和空間域冗余,設(shè)置一判斷幀內(nèi)編碼或幀間編碼的決策函數(shù),根據(jù)所述決策函數(shù)判斷當(dāng)前幀為參考幀還是編碼幀,若是參考幀,則對(duì)參考幀進(jìn)行幀內(nèi)編碼,壓縮空間域冗余;若是編碼幀,則對(duì)編碼幀進(jìn)行幀間編碼,在壓縮時(shí)間域冗余的基礎(chǔ)上再壓縮空間域冗余,最后將壓縮后的用戶圖像記錄存儲(chǔ)在相應(yīng)的數(shù)據(jù)庫中; S2,為數(shù)據(jù)庫增加一個(gè)用于存儲(chǔ)用戶圖像記錄壓縮中參考幀的參考幀表,接著添加、讀取、刪除、以及修改用戶圖像記錄。
2.根據(jù)權(quán)利要求1所述的大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,其特征在于:所述步驟SI包括: S11,將所述當(dāng)前輸入的當(dāng)前幀分成若干個(gè)大小相同的當(dāng)前塊,對(duì)每個(gè)當(dāng)前塊分別在參考幀中按照塊匹配準(zhǔn)則搜索與之最接近的預(yù)測(cè)塊,記錄當(dāng)前塊與預(yù)測(cè)塊之間的絕對(duì)運(yùn)動(dòng)向量;其中,所述當(dāng)前塊與所述預(yù)測(cè)塊中的各像素點(diǎn)之間的差值組成的塊,稱為殘差塊; S12,設(shè)置判斷幀內(nèi)編碼或幀間編碼的決策函數(shù),將所述決策函數(shù)的判斷閾值設(shè)置為N,預(yù)測(cè)塊與當(dāng)前塊中各像素點(diǎn)的像素差值二值化,得到二值化結(jié)果Dy.,其中i,j為圖像像素點(diǎn)坐標(biāo)大于等于判斷閾值N時(shí),則判斷當(dāng)前幀為參考巾貞,則對(duì)所述參考幀進(jìn)行 幀內(nèi)編碼,即壓縮空間域冗余;當(dāng)ΣΣK..,小于判斷閾值N時(shí),則判斷當(dāng)前幀為編碼幀,則 對(duì)所述編碼幀進(jìn)行幀間編碼,即在壓縮時(shí)間域冗余的基礎(chǔ)上再壓縮空間域冗余。
3.根據(jù)權(quán)利要求2所述的大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,其特征在于:空間域冗余的壓縮過程為:將判斷為參考幀的圖像進(jìn)行JPEG壓縮,壓縮后存儲(chǔ)在相應(yīng)的數(shù)據(jù)庫中;對(duì)參考幀解碼時(shí),僅需所述參考幀的壓縮數(shù)據(jù)按照J(rèn)PEG解壓即可重構(gòu)完整圖像;在時(shí)間域冗余的壓縮基礎(chǔ)上再進(jìn)行空間域冗余的壓縮過程為:將判斷為編碼幀的圖像進(jìn)行運(yùn)動(dòng)估計(jì),計(jì)算出所述編碼幀與參考幀之間的絕對(duì)運(yùn)動(dòng)向量和所述編碼幀與預(yù)測(cè)幀之間的殘差,對(duì)所述編碼幀與參考幀之間的絕對(duì)運(yùn)動(dòng)向量采用哈夫曼編碼,對(duì)所述編碼幀與預(yù)測(cè)幀之間的殘差采用離散余弦變換變換及量化后,再進(jìn)行熵編碼,最后存儲(chǔ)在相應(yīng)的數(shù)據(jù)庫中。對(duì)所述編碼幀解碼時(shí),需要根據(jù)絕對(duì)運(yùn)行向量從參考幀中得到各當(dāng)前塊的預(yù)測(cè)值,再與殘差求和重構(gòu)出完整圖像。
4.根據(jù)權(quán)利要求1所述的大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,其特征在于:所述步驟S2包括: S21,為數(shù)據(jù)庫增加一個(gè)用于存儲(chǔ)用戶圖像記錄壓縮中參考幀的參考幀表;所述參考幀表對(duì)用戶透明;數(shù)據(jù)庫中包括用于存儲(chǔ)用戶圖像記錄的數(shù)據(jù)表,即含BLOB字段的數(shù)據(jù)表稱為用戶表;所述參考幀表由ImageID字段,KeyBLOB字段和Reference字段構(gòu)成;ImageID字段用于存儲(chǔ)記錄序號(hào),作為參考巾貞表中每一行的唯一標(biāo)識(shí);KeyBL0B字段用于存儲(chǔ)參考中貞經(jīng)過幀內(nèi)壓縮后完整的圖像信息Reference字段用于記錄被用戶表引用記錄的次數(shù); S22,添加用戶圖像記錄; S23,讀取用戶圖像記錄; S24,刪除用戶圖像記錄;S25,修改用戶圖像記錄。
5.根據(jù)權(quán)利要求4所述的大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,其特征在于:所述步驟S22包括: S221,等待添加請(qǐng)求,輸入新圖像,選擇所述用戶圖像記錄中的第一張圖像作為參考幀的第一條記錄,記錄在參考幀表中;保存所輸入的新圖像時(shí),將所述參考幀表中讀取的最后一條記錄與所輸入的新圖像進(jìn)行比較;根據(jù)所述決策函數(shù)判斷所輸入的新圖像為參考幀還是編碼幀,所述決策函數(shù)的判斷閾值設(shè)置為N,當(dāng)所輸入的新圖像與由參考幀和絕對(duì)運(yùn)動(dòng)向量得到預(yù)測(cè)幀相比的殘差系數(shù)和小于閾值N時(shí),將輸入的新圖像判斷為編碼幀;當(dāng)殘差系數(shù)和大于等于閾值N時(shí),將輸入的新圖像判斷為參考幀; S222,如果輸入的新圖像被判斷為編碼幀,那么在用戶表中添加一條新記錄,與其相關(guān)聯(lián)的參考幀的ImageID信息和差異信息組合在一起,記錄在所述用戶表的BLOB字段中,同時(shí)更新參考幀表中的最后一條記錄的Reference字段,使其加I ; S223,如果輸入的新圖像被判斷為參考幀,那么在參考幀表中添加一條新記錄;其中,ImageID字段記錄所述新圖像的ImagelD,其值為ImageID+1 ;KeyBLOB字段存儲(chǔ)經(jīng)過JPEG壓縮處理的完整的所述新圖像的二進(jìn)制圖像信息,并置Reference字段為I ;同時(shí)在用戶表中增加一條新記錄,將新圖像的ImageID保存在BLOB字段中。
6.根據(jù)權(quán)利要求4所述的大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,其特征在于:所述步驟S23包括: S231,等待讀取請(qǐng)求,根據(jù)數(shù)據(jù)庫的用戶表中記錄的BLOB字段,讀出ImageID的值并在參考幀表中搜索; S232,根據(jù)參考幀表的KeyBLOB字段和差異信息重構(gòu)圖像;即將用戶表中的BLOB字段64位以后存儲(chǔ)的差異信息與KeyBLOB字段存儲(chǔ)的參考幀通過解碼方法還原圖像,并輸出還原的圖像。
7.根據(jù)權(quán)利要求4所述的大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,其特征在于:所述步驟S24包括: S241,等待刪除請(qǐng)求,在用戶表中的BLOB字段中找ImagelD,判斷參考幀表中ImageID對(duì)應(yīng)記錄的Reference字段是否為I ; S242,判斷參考幀表中ImageID對(duì)應(yīng)記錄的Reference字段是否為I,若是,從用戶表和參考幀表中直接刪除該記錄;若否,則僅從用戶表中刪除該記錄,并將參考幀表中的該記錄的Reference字段減I。
8.根據(jù)權(quán)利要求4所述的大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,其特征在于:所述步驟S25包括: S251,等待修改請(qǐng)求; S252,判斷被修改的用戶圖像記錄為參考幀還是編碼幀;若為編碼幀,則默認(rèn)與其相關(guān)聯(lián)的參考幀不變,重新計(jì)算差異信息,并更新BLOB字段中的差異信息;若為參考幀,則根據(jù)ImageID在參考幀表中查找相應(yīng)記錄,進(jìn)一步判斷需修改的用戶圖像記錄是否為獨(dú)立參考中貞,即判斷參考巾貞表中相應(yīng)記錄的Reference的值是否為I ; S253,判斷參考幀表 中相應(yīng)記錄的Reference的值是否為1,若Reference為1,即判斷需修改的用戶圖像記錄為獨(dú)立參考幀,則直接修改參考幀表中ImageID與其對(duì)應(yīng)的KeyBLOB字段內(nèi)容;若Reference不為1,則需增加一條新記錄,令其ImageID的值為參考幀表中最后一條記錄的ImageID+1,KeyBLOB字段存儲(chǔ)經(jīng)過JPEG壓縮處理的圖像信息,并置Reference字段為I ;同時(shí)更新用戶 表中被修改的用戶圖像記錄的BLOB字段,將其更新為新記錄的ImagelD。
全文摘要
本發(fā)明提供一種大型數(shù)據(jù)庫圖像存儲(chǔ)優(yōu)化方法,所述存儲(chǔ)優(yōu)化方法包括對(duì)存儲(chǔ)在數(shù)據(jù)庫中的視頻幀消除時(shí)間域冗余和空間域冗余,設(shè)置一判斷幀內(nèi)編碼或幀間編碼的決策函數(shù),根據(jù)所述決策函數(shù)判斷當(dāng)前幀為參考幀還是編碼幀,若是參考幀,則壓縮空間域冗余;若是編碼幀,則在壓縮時(shí)間域冗余的基礎(chǔ)上再壓縮空間域冗余,最后將壓縮后的用戶圖像記錄存儲(chǔ)在相應(yīng)的數(shù)據(jù)庫中;為數(shù)據(jù)庫增加一個(gè)用于存儲(chǔ)用戶圖像記錄壓縮中參考幀的參考幀表,接著添加、讀取、刪除、以及修改用戶圖像記錄。本發(fā)明所述存儲(chǔ)優(yōu)化方法有效地改善、優(yōu)化數(shù)據(jù)庫圖像的存儲(chǔ)性能,減少數(shù)據(jù)庫尺寸,提高數(shù)據(jù)庫的訪問效率。
文檔編號(hào)H04N7/26GK103200403SQ201310086880
公開日2013年7月10日 申請(qǐng)日期2013年3月18日 優(yōu)先權(quán)日2013年3月18日
發(fā)明者王曉年, 馬子蕓, 趙燦, 蔣平, 王祝萍, 朱勁 申請(qǐng)人:同濟(jì)大學(xué)