前言:本站為你精心整理了多媒體信息數(shù)據(jù)管理范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。
[摘要]本文通過(guò)實(shí)際圖像存取速度與對(duì)數(shù)據(jù)庫(kù)容量影響的量化比較研究,得出在VisualBasic環(huán)境下快速數(shù)據(jù)庫(kù)圖像存取的方法,對(duì)于其他多媒體信息存取與編程環(huán)境也有一定的借鑒作用。
[關(guān)鍵詞]圖像存取ICB方法CKA方法
圖形圖像、音頻視頻等多媒體信息在數(shù)據(jù)庫(kù)中存儲(chǔ)不同于傳統(tǒng)的文本、數(shù)字等有著非常規(guī)范的結(jié)構(gòu)化形式,程序設(shè)計(jì)中采用不同的存取方法,對(duì)數(shù)據(jù)庫(kù)訪問(wèn)速度,以及數(shù)據(jù)庫(kù)文件容量有非常大的影響,程序的運(yùn)行效率當(dāng)然也是相差甚遠(yuǎn)。
一、圖像的存儲(chǔ)優(yōu)化
SQLServer用Image字段(Access用OLE對(duì)象字段)來(lái)存儲(chǔ)圖形圖像甚至音視頻等多媒體信息,在庫(kù)中以“長(zhǎng)二進(jìn)制數(shù)據(jù)”的形式存放。以圖形圖像為例,VB傳統(tǒng)的做法是將圖像字段與圖像控件綁定,加載圖像后刷新近期件并更新記錄集即可完成圖像的存儲(chǔ),這里稱為圖像控件綁定(ImageControlBinding,ICB)方法。這種方法的優(yōu)點(diǎn)是代碼簡(jiǎn)單、容易理解和實(shí)現(xiàn),特別是對(duì)于庫(kù)中所存圖像的瀏覽尤為方便。但由于其不管源圖像格式,統(tǒng)一按24位位圖進(jìn)行處理,故只適用于小型圖像的存取,如人事檔案中的相片,而對(duì)于較大的尤其是壓縮格式的圖像,ICB方法的存取速度就會(huì)慢得讓人無(wú)法忍受,數(shù)據(jù)庫(kù)的膨脹幅度也會(huì)大得驚人。
為提高圖像的存儲(chǔ)速度,最大限度地減小數(shù)據(jù)庫(kù)增幅,對(duì)普通圖像(如BMP)文件,需要先將其轉(zhuǎn)化成壓縮格式文件(如Jpeg格式)。圖像存儲(chǔ)時(shí),先把圖像文件按二進(jìn)制文件打并開(kāi)讀入到相應(yīng)的Byte型數(shù)組,再用記錄集對(duì)象的追加大塊數(shù)據(jù)方法(AppendChunk方法)將其寫入數(shù)據(jù)庫(kù),這里稱之為大塊數(shù)據(jù)存?。–hunkAccess,CKA)方法。
CKA方法圖像存入數(shù)據(jù)庫(kù)代碼:(ICB方法略)
DimbytData()AsByte
''''以二進(jìn)制文件方式打開(kāi)臨時(shí)圖像文件
OpenApp.Path&“\temp1.jpg”ForBinaryAs#1
ReDimbytData(FileLen(App.Path&“\temp1.jpg”))
Get#1,,bytData()''''讀入圖像→二進(jìn)制數(shù)組
Close#1
''''用AppendChunk方法將二進(jìn)制數(shù)組入庫(kù)
Me.Adodc2.Recordset(“Pic”).AppendChunkbytData()
Me.Adodc2.Recordset.Update
表1所示是ICB方法和CKA方法存儲(chǔ)JPEG圖像速度與存儲(chǔ)圖像后數(shù)據(jù)庫(kù)文件大小的測(cè)試數(shù)據(jù)對(duì)照表。
為突出效果,選用9張2048×1536像素的JPEG數(shù)碼相片進(jìn)行測(cè)試,圖像大小介于1.3MB到2MB之間。分析測(cè)試結(jié)果得出,
注:①測(cè)試環(huán)境:P41.7GCPU,352MBDDRRAM,32MB顯存,Access2003數(shù)據(jù)庫(kù);②數(shù)據(jù)庫(kù)初始大小:140.0KB(空)。
ICB方法存儲(chǔ)JPEG相片的平均速度為120B/ms,CKA方法則為2848B/ms。CKA方法的存儲(chǔ)時(shí)間與圖像大小成比例,ICB方法的存儲(chǔ)時(shí)間波動(dòng)范圍較大,這是由于存儲(chǔ)時(shí)間本身較長(zhǎng)(12~15s),測(cè)試期間受其他進(jìn)程影響較多造成的。
對(duì)于圖像存儲(chǔ)后庫(kù)文件的大小,ICB方法對(duì)應(yīng)的庫(kù)文件呈線性膨脹,每次增量為9.2MB左右,即2048×1536像素的24位圖文件的大小;CKA方法對(duì)應(yīng)的庫(kù)文件每次增量則與Jpeg文件的大小相吻合,如果需要,可在圖像格式轉(zhuǎn)換時(shí)在保證視覺(jué)效果的前提下增大圖像壓縮率,從而降低圖像對(duì)數(shù)據(jù)庫(kù)大小的影響。
二、圖像的查詢優(yōu)化
圖像查詢時(shí)使用ICB方法基本不需要寫任何代碼就可完成查詢,借助控件的導(dǎo)航按鈕可以方便地實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中圖像的瀏覽。但若圖像記錄較多或圖像較大,查詢操作就會(huì)變得異常緩慢,出現(xiàn)類似“死機(jī)”的現(xiàn)象。
圖像的查詢優(yōu)化包含兩方面內(nèi)容,其一為圖像查詢與普通數(shù)據(jù)查詢分開(kāi)進(jìn)行,避免一次檢索過(guò)多圖像造成查詢延時(shí)過(guò)長(zhǎng);其二需要把存放在數(shù)據(jù)庫(kù)圖像字段中的信息用CKA方法分段讀出寫到一個(gè)臨時(shí)文件中,重新組裝成原來(lái)的圖像,再進(jìn)行圖像加載和顯示。
注:①測(cè)試環(huán)境同表1;②合成時(shí)間包括圖像組裝和加載時(shí)間。
計(jì)算得出,ICB方法圖像查詢的平均速度只有35B/ms,CKA方法為2809B/ms,與存儲(chǔ)速度相當(dāng),就是算上圖像合成(含加載)時(shí)間,CKA方法查詢速度也能達(dá)到2597B/ms。
三、總結(jié)
通過(guò)實(shí)例測(cè)試可以發(fā)現(xiàn),CKA方法進(jìn)行圖像的存取,無(wú)論從速度還是對(duì)庫(kù)文件大小的影響來(lái)說(shuō),性能都遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的ICB方法,在網(wǎng)絡(luò)環(huán)境下,效果會(huì)更加明顯。實(shí)際上,運(yùn)用CKA方法也可以實(shí)現(xiàn)音視頻等多媒體信息甚至任何類型計(jì)算機(jī)文件的數(shù)據(jù)庫(kù)存取,這里不再贅述。
參考文獻(xiàn):
[1]李樹(shù)海陸體虎:對(duì)數(shù)據(jù)庫(kù)的操作——圖像的存儲(chǔ)與顯示.計(jì)算機(jī)與信息技術(shù)[J],2004(11)
[2]馬戰(zhàn)寶:基于Intranet的商品混凝土生產(chǎn)控制管理系統(tǒng)的研究與實(shí)現(xiàn)[D].西安:西安交通大學(xué)碩士論文,2006
[3]張毅王曉強(qiáng)等:VisualBasic應(yīng)用技巧與常見(jiàn)問(wèn)題你問(wèn)我答[M].北京:機(jī)械工業(yè)出版社,2003.222-226
多媒體技術(shù) 多媒體學(xué)習(xí)理論 多媒體教學(xué) 多媒體交互技術(shù) 多媒體課堂教學(xué) 多媒體 多媒體論文 多媒體信息技術(shù) 多媒體網(wǎng)絡(luò)教育 多媒體演示教學(xué)法 紀(jì)律教育問(wèn)題 新時(shí)代教育價(jià)值觀