專利名稱:一種建立多媒體數(shù)據(jù)索引、檢索的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機及多媒體領(lǐng)域特別,特別是涉及建立多媒體數(shù)據(jù)索引、檢索的方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)和多媒體業(yè)務(wù)的發(fā)展,視頻業(yè)務(wù)已深入到人們的生活。在視頻上傳或視頻下載過程中,對于服務(wù)商來說都離不開視頻的查詢和檢索。然而,一個視頻文件的大小通常都比較大,基本以數(shù)兆(M)或G為單位。因此,如何快速檢索如此大型的文件成為業(yè)內(nèi)關(guān)注的焦點。目前提出了內(nèi)容標識(CID)碼技術(shù)。CID碼是能夠唯一標識視頻文件的由若干個字節(jié)組成的字符串??筛鶕?jù)設(shè)置的算法對視頻文件中的視頻數(shù)據(jù)進行計算后獲得CID碼。 設(shè)置的算法可以是對不同的數(shù)據(jù)處理得到不同的處理結(jié)果的任一算法,例如哈希(hash) 算法。具體的,哈希算法可以采用信息-摘要算法(Message-Digest Algorithm 5,MD5), MD4,安全散列算法(Secure HashAlgorithm, SHA)等。由此可見,CID碼是一種標識完整視頻文件的技術(shù)。如果兩個視頻文件完全相同, 則其CID碼相同,也就是說可以通過CID碼進行比較或檢索。然而現(xiàn)實生活中更多視頻文件之間并不完全相同。例如,一個是完整的視頻文件,另一個是沒有片頭曲的視頻文件,對于用戶來說這兩個視頻文件的內(nèi)容相同,都是搜索的目標,而通過CID碼的比較結(jié)果是不同的,也不能同時搜索到這兩個視頻文件。因此,亟待獲得一種更有效的多媒體數(shù)據(jù)處理方法,包括多媒體索引的建立及檢索,以提高檢索的速度和準確度。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種多媒體數(shù)據(jù)處理的方法及裝置,用于提高多媒體數(shù)據(jù)的處
理效率。一種建立多媒體數(shù)據(jù)索引的方法,用于實現(xiàn)多媒體數(shù)據(jù)索引建立,以提高多媒體數(shù)據(jù)的處理效率,該方法包括以下步驟根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的桶號鍵值, 其中m為預(yù)設(shè)的幀數(shù);根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。一種檢索多媒體數(shù)據(jù)的方法,用于提高多媒體數(shù)據(jù)的處理效率,該方法包括以下步驟根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的桶號鍵值, 其中m為預(yù)設(shè)的幀數(shù);從索引庫中搜索該獲得的桶號鍵值;獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件。
一種建立多媒體數(shù)據(jù)索引的裝置,包括桶號模塊,用于根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的桶號鍵值;其中m為預(yù)設(shè)的幀數(shù);索引模塊,用于根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。一種檢索多媒體數(shù)據(jù)的裝置,包括桶號模塊,用于根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的桶號鍵值;其中m為預(yù)設(shè)的幀數(shù);桶號搜索模塊,用于從索引庫中搜索該獲得的桶號鍵值;文件搜索模塊,用于獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件。一種多媒體系統(tǒng),包括指紋服務(wù)器,用于根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的桶號鍵值。其中m為預(yù)設(shè)的幀數(shù)。索引服務(wù)器,用于根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。本發(fā)明實施例中通過局部敏感哈希(Local sensitive hashing, LSH)算法,根據(jù)幀指紋所對應(yīng)的桶號鍵值來為多媒體文件建立索引,實現(xiàn)了以幀為基礎(chǔ)單位為多媒體文件建立索引,使得在檢索時可以以幀為基礎(chǔ)單位搜索多媒體文件,可檢索出局部相似的多媒體文件,有效的改進了建立索引及對索引進行檢索的實現(xiàn)方式。
圖1為本發(fā)明實施例中建立多媒體數(shù)據(jù)索引的主要方法流程圖;圖2為本發(fā)明實施例中獲得桶號鍵值的主要方法流程圖;圖3為本發(fā)明實施例中宏塊亮度值的示意圖;圖4為本發(fā)明實施例中宏塊亮度值所對應(yīng)的序號的示意圖;圖5為本發(fā)明實施例中多媒體文件中間隔取m幀的示意圖;圖6為本發(fā)明實施例中干擾區(qū)的示意圖;圖7為本發(fā)明實施例中建立多媒體數(shù)據(jù)索引的詳細方法流程圖;圖8為本發(fā)明實施例中檢索多媒體數(shù)據(jù)的主要方法流程圖;圖9為本發(fā)明實施例中多媒體文件中連續(xù)取t個m幀的示意圖;圖10為本發(fā)明實施例中檢索多媒體數(shù)據(jù)的詳細方法流程圖;圖11為本發(fā)明實施例中更新索引庫的方法流程圖;圖12為本發(fā)明實施例中最短媒體片段、待查詢片段及切片之間的長度關(guān)系的示意圖;圖13為本發(fā)明實施例中用于建立索引的裝置的主要結(jié)構(gòu)圖;圖14為本發(fā)明實施例中用于建立索引的裝置的詳細結(jié)構(gòu)圖;圖15為本發(fā)明實施例中用于檢索多媒體數(shù)據(jù)的裝置的主要結(jié)構(gòu)圖;圖16為本發(fā)明實施例中用于檢索多媒體數(shù)據(jù)的裝置的詳細結(jié)構(gòu)圖;圖17為本發(fā)明實施例中多媒體系統(tǒng)的主要結(jié)構(gòu)圖18為本發(fā)明實施例中多媒體系統(tǒng)的詳細結(jié)構(gòu)圖。
具體實施例方式本發(fā)明實施例中通過局部敏感哈希(Local sensitive hashing, LSH)算法,根據(jù)幀指紋所對應(yīng)的桶號鍵值來為多媒體文件建立索引,實現(xiàn)了以幀為基礎(chǔ)單位為多媒體文件建立索引,使得在檢索時可以以幀為基礎(chǔ)單位搜索多媒體文件,可檢索出局部相似的多媒體文件,有效的改進了建立索引及對索引進行檢索的實現(xiàn)方式。本實施例中多媒體文件包括音頻和視頻等多媒體內(nèi)容。參見圖1,本實施例中建立多媒體數(shù)據(jù)索引的主要方法流程如下步驟101 根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的桶號鍵值。其中m為預(yù)設(shè)的幀數(shù)。較佳的,m的取值范圍為8至20之間(包括端點)。本實施例中m個幀可以是離散的m個巾貞,但是如果幀與幀之間距離過大,則可能影響檢索的準確度。較佳的,獲得一個多媒體文件中連續(xù)的m個幀的指紋所對應(yīng)的哈希桶號鍵值。步驟102 根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。本實施例的創(chuàng)新點之一,便是根據(jù)局部敏感哈希算法獲得桶號鍵值。參見圖2所示,獲得桶號鍵值的主要方法流程如下步驟201 將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列。步驟202 將備用序列中的字符與第二組隨機數(shù)序列內(nèi)相同位置的隨機數(shù)比較大小,將比較結(jié)果記為0或1。步驟203 將比較結(jié)果0或1所構(gòu)成的序列作為該m個幀的桶號鍵值。下面通過舉例方式詳細介紹獲得桶號鍵值的實現(xiàn)過程。預(yù)先獲得兩個集合,第一類集合和第二類集合,每個集合包括X組隨機數(shù),每組隨機數(shù)的個數(shù)為Y。本實施例中X = 24,Y = 30,該值只是一種較佳的取值,也可以根據(jù)實際情況選取它值,不過取值過大將增加計算的復(fù)雜度,過小將影響檢索的準確度。第一類集合中第xl組隨機數(shù)可表示為Slxl = {al,a2,.. .,a30},第二類集合中第x2組隨機數(shù)可表示為S2x2= {bl,l32,...,b30},xl和x2的值不超過X。本實施例中在預(yù)設(shè)的范圍內(nèi)生成隨機數(shù)。第一類集合中隨機數(shù)的取值范圍為[1,K], K = m*L,由于幀指紋是由與灰度值有關(guān)的數(shù)據(jù)組成的,所以L表示組成幀指紋的與灰度值有關(guān)的數(shù)據(jù)的個數(shù)。第二類集合中隨機數(shù)的取值范圍為與灰度值有關(guān)的數(shù)據(jù)的取值范圍,如果與灰度值有關(guān)的數(shù)據(jù)的取值范圍為 [1,12],則第二類集合中隨機數(shù)的取值范圍也為[1,12];如果與灰度值有關(guān)的數(shù)據(jù)的取值為0或1,則第二類集合中隨機數(shù)的取值也為0或1。如果采用與灰度值有關(guān)的數(shù)據(jù),則數(shù)據(jù)的取值主要是數(shù)字,如果采用其它方式獲得指紋,如MD5算法等,或者采用16進制表示, 則數(shù)據(jù)的取值可能包括字母等字符。由于第一類集合中隨機數(shù)的取值范圍為不超過m個幀指紋的數(shù)據(jù)總個數(shù),因此 Slxl = {al, a2, . . . , a30}中的每個隨機數(shù)均可表示一個序號。按照該序號從m個幀指紋中選擇相應(yīng)位置的數(shù)據(jù)。例如,a2為56,則從m個幀指紋中選擇第56個數(shù)據(jù),該數(shù)據(jù)如6。 然后將按序號選出的數(shù)據(jù)順序組成備用序列S3x3= {cl, c2, ...,c30},如c2的值為從m個幀指紋中選擇第56個數(shù)據(jù)6。將備用序列中的字符與第二組隨機數(shù)序列內(nèi)相同位置的隨機數(shù)比較大小,也就是將S2x2中的bl與S3x3中的cl比較,M與c2比較,以此類推,最后 b30與c30比較。本實施例中如果b大于c則記為1,否則記為0。當(dāng)然也可以b大于c則記為0,否則記為1,整個方案采用一個機制即可。最后將比較結(jié)果0或1所構(gòu)成的序列作為該m個幀的桶號鍵值。本實施例中m個幀的桶號鍵值為30位由0和1組成的序列,該序列可以用30位的整數(shù)表示。依據(jù)第一類集合和第二類集合中各一組隨機數(shù)序列,便可以獲得m個幀的一個桶號鍵值key,由于本實施例是采用灰度值的相關(guān)數(shù)據(jù)來表示幀指紋,可能存在兩幀之間內(nèi)容不同但是灰度值近似的情況,因此為了提高檢索的準確度,在建立索引過程中最好獲得多個桶號鍵值,以供檢索。本實施例中第一類集合和第二類集合各包括M組隨機數(shù)序列,則針對m個幀可獲得M組桶號鍵值。前文中提到幀指紋是由與灰度值有關(guān)的數(shù)據(jù)組成,與灰度值有關(guān)的數(shù)據(jù)可以有多種。如與灰度值有關(guān)的數(shù)據(jù)為灰度值本身,其取值范圍為W,255]。或者,為了降低計算量, 與灰度值有關(guān)的數(shù)據(jù)為灰度中的亮度值,其取值范圍為
,參見圖3所示的幀,其給出了幀中每個宏塊(Macro block)的亮度值,這些亮度值順序組成了該幀的指紋,幀指紋形如數(shù)組 gray [12] = {80,50,110,30,60,90,180,160,70,120,20,40}。或者,與灰度值有關(guān)的數(shù)據(jù)為幀中宏塊的平均灰度值按大小排序所得的序號,以每幀包括12個宏塊為例,參見圖4所示的幀,其給出了每個宏塊的亮度值所對應(yīng)的序號,這些序號順序地組成了幀指紋, 可以以數(shù)組形式存儲幀指紋,則幀指紋形如:seq[12] = {7,4,9,2,5,8,12,11,6,10,1,3}, 例如第一個宏塊的灰度值在所有宏塊的灰度值排第7,則數(shù)組gray [12]中的第一元素的值為7。由于是一幀包括12個宏塊,則該序號的取值范圍為[1,12]?;蛘?,與灰度值有關(guān)的數(shù)據(jù)為灰度值經(jīng)過大小比較后的比較結(jié)果0或1。還是以12個宏塊為例,各宏塊的灰度值大小關(guān)系如 seq[12] = {7,4,9,2,5,8,12,11,6,10,1,3},將 seq[i]與 seq[j]比較大小, 共 66 組,i = 0,...,11,j = 0,...,11,i < j。若 gray [i] < gray [j],則結(jié)果記為 1,否則記為0,這樣可以生成一個長度為66的包含“0”和/或“1”的序列,該序列將作為該幀的幀指紋。或者,將每個幀量化為8個方向,還是以12個宏塊為例,每個幀就有12個梯度方向值,該梯度方向值為與灰度值有關(guān)的數(shù)據(jù),也就是說這12個梯度方向值順序組成了該幀的幀指紋。還可以有其它方式來獲得與灰度值有關(guān)的數(shù)據(jù),只要可以標識幀的內(nèi)容且與灰度值有關(guān),均適用于本實施例,此處不一一列舉。以上介紹了一個多媒體文件中m個幀的桶號鍵值的獲得方法,然而用m個幀來表示多媒體文件的內(nèi)容顯然是不夠的,所以需要從多媒體文件中獲得多個m個幀的桶號鍵值,較佳的,從多媒體文件的起始位置開始,每間隔η幀取m個幀,獲得多個m幀。本實施例中η小于m,較佳的η = 8,參見圖5所示。當(dāng)然η最小可以取1,但這樣得到的桶號鍵值較多,增加了檢索的負擔(dān)。獲得桶號鍵值后,便可以根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。多媒體文件的一條索引形如intjxicket :<fpidl, start 1, keyl,start2,key2,. . . >,fpidl表示多媒體文件的標識,可以具體為文件名稱或文件指紋,該文件指紋可通過MD5算法獲得。startl表示第一個m幀的起始位置,keyl表示第一個m幀的桶號鍵值。多個多媒體文件的一條索引形如int_bucket :<fpidl, startl,keyl, start2, key2,. . . fpid2, startl, keyl, start2, key2,… >。由于每 m 中貞者阿以有 24 組桶號鍵值,則多媒體文件可以有M條索引?;蛘咭粭l索引中記錄M組桶號鍵值,則形如 int_bucket :<fpidl,startl,keyll,keyl2,. . . keyl24,,start2,key21,key22,. . . key224, fpid2, startl,keyl, start2,key2,. . · >,keyll 表示第一個 m 幀的第一組桶號鍵值,keyl24 表示第一個m幀的第M組桶號鍵值。以上描述了獲得多媒體文件索引的實現(xiàn)過程,多媒體文件的來源比較廣泛,存在著不同的版本,即使內(nèi)容相同,不同版本文件的幀率也可能不同,將影響檢索的準確度。因此,本實施例在獲得桶號鍵值之前,先對多媒體文件進行統(tǒng)一幀率處理。具體過程如處理前多媒體文件的幀指紋為f[i],時間戳為t[i],i = 1,...,U,U表示多媒體文件的幀數(shù)。 處理后的多媒體文件的時間戳為t’ [s],s = 1,...,V,則t’ [s]的幀指紋f’ [s]為時間距離t’[s]最近的t[i]對應(yīng)的幀指紋f[i]。如果是降低幀率,則相當(dāng)于刪減掉部分幀,如果是提高幀率,則相當(dāng)于插入相鄰的幀,也就是有部分相鄰的幀的內(nèi)容完全相同。另外,每幀中不一定整個畫面都是影像,通常一幀中的上下各有幾行是黑邊,中間的畫面部分會有字幕,畫面的左上角會有圖標等,這些部分將影響幀內(nèi)容相似性的判斷,進而影響檢索效果。因此,本實施例在根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的桶號鍵值之前,對多媒體文件進行過濾。過濾操作至少包括下列操作之一 去黑邊,去干擾區(qū),和去除完全相同或劇烈變化的連續(xù)多幀。去黑邊,顧名思義,就是去除每幀中的黑邊。去干擾區(qū),就是將預(yù)設(shè)的干擾區(qū)的數(shù)據(jù)刪除,不需獲得這部分區(qū)域的與灰度值有關(guān)的數(shù)據(jù),也就不參與幀指紋的獲得。本實施例中干擾區(qū)如圖6所示的陰影區(qū)域,包括下方的兩個宏塊,通常為字幕區(qū),以及包括左上角和右上角的宏塊,通常為圖標區(qū),例如電視臺的臺標或廣告等。還可以根據(jù)實際情況設(shè)置其它宏塊為干擾區(qū),干擾區(qū)的特點是不同幀的畫面發(fā)生變化時干擾區(qū)的內(nèi)容基本不便,尤其是干擾區(qū)的亮度基本不便。去除完全相同或劇烈變化的連續(xù)多幀,其中對于完全相同的連續(xù)多幀,因為其內(nèi)容相同所以其幀指紋也相同,不具有顯著區(qū)分性,將影響檢索的準確度,以及給建立索引帶來負擔(dān)。對于劇烈變化的連續(xù)多幀,會影響識別效果,也需要去除,判斷是否為劇烈變化的方式有多種,本實施例通過相鄰兩幀的漢明距離(hamming distance)來判斷。例如 f(i)幀指紋為 0125634897 10 ll,f (i+Ι)幀指紋為 0 3 1 5 6 2 4 8 9 7 10 11,則該相鄰幀的漢明距離為 H(i+1) = I 0-01 + 11-31 + 12-11+...+110-10 I+ Ill-Il
=4。確定連續(xù)多幀中是否有超過預(yù)設(shè)比例數(shù)量(如2/3)的幀之間的漢明距離大于預(yù)設(shè)的距離閾值(如72),若是,則確定該連續(xù)多幀為劇烈變化的連續(xù)多幀并去除。例如,一段連續(xù)多幀中超過2/3的幀與其相鄰幀的漢明距離大于72,則確定該段連續(xù)多幀劇烈變化, 需要去除。較佳的,本實施例中獲得的m個幀,可以是去除完全相同或劇烈變化的連續(xù)多幀后,剩余多媒體文件中連續(xù)的m個幀。參見圖7,本實施例中建立多媒體數(shù)據(jù)索引的詳細方法流程如下步驟701 獲得待建索引的多媒體文件及該文件的幀率。步驟702 判斷文件的幀率是否為預(yù)設(shè)的幀率,若是,則繼續(xù)步驟704,否則繼續(xù)步驟 703。步驟703 對多媒體文件進行統(tǒng)一幀率處理。步驟704 對多媒體文件進行過濾處理。
步驟705 將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列。步驟706 將備用序列中的字符與第二組隨機數(shù)序列內(nèi)相同位置的隨機數(shù)比較大小,將比較結(jié)果記為0或1。步驟707 將比較結(jié)果0或1所構(gòu)成的序列作為該m個幀的桶號鍵值??梢灾貜?fù)步驟704-707,以獲得多個m幀的多個桶號鍵值。步驟708 根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。建立索引后,便可以通過該索引來檢索多媒體文件。下面對檢索過程進行介紹。參見圖8,本實施例中檢索多媒體數(shù)據(jù)的主要方法流程如下步驟801 根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的桶號鍵值。其中m為預(yù)設(shè)的幀數(shù)。步驟802 從索引庫中搜索該獲得的桶號鍵值。步驟803 獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件。其中,步驟801的實現(xiàn)過程可參見圖2所示的流程??梢酝ㄟ^第一類集合和第二類集合中的各一組隨機數(shù)序列獲得m幀的一個桶號鍵值?;蛘?,為了提高檢索的準確度,通過第一類集合和第二類集合中的各多組隨機數(shù)序列獲得m幀的多個桶號鍵值,如獲得m幀的M組桶號鍵值。如果在搜索桶號鍵值時,M組桶號鍵值中的大多數(shù)均被搜索到,則搜索到的桶號鍵值所對應(yīng)的m幀與待查詢多媒體文件中m幀的內(nèi)容基本相同,也可以確定為完全相同,即獲得搜索到的索引中共同的多媒體標識所對應(yīng)的多媒體文件。還可以在獲得待查詢多媒體文件的桶號鍵值之前,對待查詢多媒體文件進行統(tǒng)一幀率和過濾處理等,具體實現(xiàn)過程參見前面的介紹。檢索的目的有多種,可能希望檢索出與待查詢多媒體文件中至少部分內(nèi)容相同的多媒體文件,這樣僅根據(jù)m幀的桶號鍵值進行檢索即可。還可能希望檢索出與待查詢多媒體文件基本相同或完全相同的多媒體文件,此時需要從待查詢多媒體文件中獲得多個m幀的指紋所對應(yīng)的桶號鍵值,尤其是多個m幀的指紋分別所對應(yīng)的多個桶號鍵值,對這些桶號鍵值進行搜索,獲得搜索到的索引中共同的多媒體標識所對應(yīng)的多媒體文件,則該搜索到的多媒體文件與待查詢多媒體文件基本相同。例如,用m幀的一個桶號鍵值進行搜索,獲得與該桶號鍵值相匹配的索引,進而獲得索引的文件標識;再用該m幀的下一個桶號鍵值在搜索到的文件標識所對應(yīng)的索引中搜索該下一個桶號鍵值,直到m幀的M組桶號鍵值均搜索完畢。然后,取下一段m幀,由于建立索引時較佳的方式是每相隔8幀取m幀來建立索引,因此在檢索時,較佳的方式是下一段 m幀與上一段m幀相隔1幀,參見圖9所示。對下一段m幀的M組桶號鍵值繼續(xù)在最近一次搜索到的文件標識所對應(yīng)的索引中搜索,以此類推,直至t段m幀的M組桶號鍵值均被搜索過為止,最終搜索到的文件標識對應(yīng)的多媒體文件為所要的檢索結(jié)果。其中,如果用某個桶號鍵值未搜索到對應(yīng)的索引,則下次搜索時在整個索引庫中搜索?;蛘?,用t段m幀的 #對組桶號鍵值在整個索引庫中搜索,獲得搜索到的索引中共同的多媒體標識所對應(yīng)的多媒體文件。為了提高檢索的準確度,t段m幀的總長不少于20秒內(nèi)幀的總長。如果通過t段m幀的組桶號鍵值搜索到多媒體文件,可說明該t段m幀的內(nèi)容與搜索到的多媒體文件有相似或相同的內(nèi)容。若需比較整個多媒體文件的相似性,還需要從待查詢多媒體文件中離散的獲取多個t段m幀來進行檢索。參見圖10,本實施例中檢索多媒體數(shù)據(jù)的詳細方法流程如下步驟1001 獲得待查詢多媒體文件及其幀率。步驟1002 判斷文件的幀率是否為預(yù)設(shè)的幀率,若是,則繼續(xù)步驟1004,否則繼續(xù)步驟1003。步驟1003 對待查詢多媒體文件進行統(tǒng)一幀率處理。步驟1004 對待查詢多媒體文件進行過濾處理。步驟1005 將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從待查詢多媒體文件的m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列。步驟1006 將備用序列中的字符與第二組隨機數(shù)序列內(nèi)相同位置的隨機數(shù)比較大小,將比較結(jié)果記為0或1。步驟1007 將比較結(jié)果0或1所構(gòu)成的序列作為該m個幀的桶號鍵值??梢灾貜?fù)步驟1004-1007,以獲得多個m幀的多個桶號鍵值。步驟1008 從索引庫中搜索該獲得的桶號鍵值。步驟1009 獲得搜索到的索引中共同的多媒體標識所對應(yīng)的多媒體文件。由于本實施例中幀指紋由與灰度值有關(guān)的數(shù)據(jù)組成,存在多媒體文件之間內(nèi)容不同但灰度值的相關(guān)數(shù)據(jù)近似的極少數(shù)情況。針對這極少數(shù)情況,還可以將待查詢多媒體文件與搜索后獲得的多媒體文件進行相似性比較,以最終確定兩個多媒體文件的相似程度。 有了多媒體文件之間的相似度后,可根據(jù)該相似度來更新索引庫或媒體庫?;蛘撸鶕?jù)相似度進行下載或上傳,例如用戶請求下載多媒體文件時,根據(jù)該多媒體文件的文件標識獲得該文件的索引,再查詢與該文件的索引中桶號鍵值相同的其它文件的索引,進而搜索到至少有部分內(nèi)容相同的多媒體文件,可以從搜索到的多媒體文件下載其內(nèi)容相同的部分。文件上傳過程與下載過程類似,可參照執(zhí)行。下面對更新索引庫或媒體庫的過程進行詳細介紹。參見圖11,本實施例中更新索引庫的方法流程如下步驟1101 將待查詢多媒體文件與搜索后獲得的多媒體文件進行相似性比較。較佳的,將搜索到的對應(yīng)同一多媒體文件標識的索引中搜索到的桶號鍵值對應(yīng)的起始位置合并,再將待查詢多媒體文件中的待查詢片段與合并后的位置所對應(yīng)的多媒體內(nèi)容中的最短媒體片段進行逐幀內(nèi)容比較。例如,搜索到的桶號鍵值對應(yīng)的起始位置(如用幀號表示) 為4、140、450,則合并后的位置所對應(yīng)的多媒體內(nèi)容為4 450+m幀。最短媒體片段為根據(jù)預(yù)設(shè)的第一長度對合并后的位置所對應(yīng)的多媒體內(nèi)容進行劃分后得到的。待查詢片段為待查詢多媒體文件中等長的切片的一部分,且待查詢片段與切片的長度之和不超過最短媒體片段的長度。最短媒體片段、待查詢片段及切片之間的長度關(guān)系參見圖12所示。該長度關(guān)系可以保證最短媒體片段至少在長度上包含一個完整的待查詢片段,以便對片段的相似性進行比較。步驟1102 根據(jù)比較結(jié)果確定待查詢多媒體文件與搜索后獲得的多媒體文件之間的內(nèi)容包含關(guān)系。
步驟1103 根據(jù)獲得的內(nèi)容包含關(guān)系更新索引庫。其中,內(nèi)容包含關(guān)系包括完全無重疊、不完全重疊、搜索后獲得的多媒體文件被包含于待查詢多媒體文件和搜索后獲得的多媒體文件包含待查詢多媒體文件。或者說內(nèi)容包含關(guān)系包括互不包含、重疊、被包含于和包含。將待查詢多媒體文件中的待查詢片段與合并后的位置所對應(yīng)的多媒體內(nèi)容中的最短媒體片段進行逐幀內(nèi)容比較時,若所有待查詢片段比較結(jié)果均相同,則確定搜索后獲得的多媒體文件包含待查詢多媒體文件;若所有最短媒體片段比較結(jié)果均相同,則確定搜索后獲得的多媒體文件被包含于待查詢多媒體文件;若部分待查詢片段比較結(jié)果相同,則確定待查詢多媒體文件與搜索后獲得的多媒體文件之間不完全重疊;若所有待查詢片段比較結(jié)果均不相同,則確定待查詢多媒體文件與搜索后獲得的多媒體文件之間完全無重疊。確定內(nèi)容包含關(guān)系后,根據(jù)獲得的內(nèi)容包含關(guān)系更新索引庫的具體過程如下內(nèi)容包含關(guān)系為完全無重疊時,在索引庫中增加待查詢多媒體文件的索引,以及將待查詢多媒體文件歸入媒體庫;內(nèi)容包含關(guān)系為不完全重疊時,在索引庫中增加待查詢多媒體文件的索引,將待查詢多媒體文件歸入媒體庫,以及在索引庫中記錄待查詢多媒體文件與搜索后獲得的多媒體文件之間的重疊位置;內(nèi)容包含關(guān)系為搜索后獲得的多媒體文件被包含于待查詢多媒體文件時,在索引庫中用待查詢多媒體文件的索引替換搜索后獲得的多媒體文件的索引,以及在媒體庫中用待查詢多媒體文件替換搜索后獲得的多媒體文件;內(nèi)容包含關(guān)系為搜索后獲得的多媒體文件包含待查詢多媒體文件時,在索引庫中增加待查詢多媒體文件的索引。對于服務(wù)商來說,媒體庫通常是批量更新的。為了提高更新效率,需要根據(jù)多個待查詢多媒體文件更新媒體庫時,確定每個待查詢多媒體文件在媒體庫中的存儲位置,根據(jù)該存儲位置對待查詢多媒體文件進行排序,按照排序后的順序?qū)⒋樵兌嗝襟w文件更新到媒體庫。這樣可減少來回訪問存儲介質(zhì)的次數(shù),以提高效率。為了便于檢索及對多媒體文件的查詢,本實施例還提出了指紋閉包集的概念。媒體庫中的多媒體文件(或稱基礎(chǔ)多媒體文件)A,凡是內(nèi)容被A所包含的多媒體文件的索引均為該A的指紋閉包集的元素。當(dāng)內(nèi)容包含關(guān)系為搜索后獲得的多媒體文件包含待查詢多媒體文件時,在索引庫中增加待查詢多媒體文件的索引的具體過程包括將待查詢多媒體文件的索引作為搜索后獲得的多媒體文件的指紋閉包集中的元素,且構(gòu)成一子指紋閉包集。則每個指紋閉包集或子指紋閉包集均對應(yīng)一個多媒體文件。當(dāng)下載或上傳子指紋閉包集對應(yīng)的多媒體文件時,可以從其上級指紋閉包集對應(yīng)的多媒體文件中獲得。當(dāng)下載或上傳指紋閉包集對應(yīng)的多媒體文件時,其中的部分內(nèi)容可以從其子指紋閉包集對應(yīng)的多媒體文件中獲得。以上介紹了建立索引及利用該索引檢索多媒體文件的實現(xiàn)過程,以及更新索引庫和媒體庫的過程,上述過程均可以由裝置實現(xiàn),下面對裝置的內(nèi)部結(jié)構(gòu)和功能進行介紹。
參見圖13,本實施例中用于建立索引的裝置1300包括桶號模塊1301和索引模塊1302。裝置1300可具體為計算機設(shè)備。桶號模塊1301用于根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的桶號鍵值。其中m為預(yù)設(shè)的幀數(shù)。索引模塊1302用于根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。裝置1300還包括隨機數(shù)模塊1303,參見圖14所示。隨機數(shù)模塊1303用于生成第
一類集合和第二類集合。具體的,桶號模塊1301將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列;將備用序列中的字符與第二組隨機數(shù)序列內(nèi)相同位置的隨機數(shù)比較大小,將比較結(jié)果記為0或1 ;將比較結(jié)果0或1所構(gòu)成的序列作為該m個幀的桶號鍵值。其中第一組隨機數(shù)序列屬于第一類集合,第二組隨機數(shù)序列屬于第二類集合。桶號模塊1301可以根據(jù)多個第一組隨機數(shù)序列和多個第二組隨機數(shù)序列獲得該 m個幀的多個桶號鍵值,并根據(jù)該m個幀的多個桶號鍵值為該多媒體文件建立多個索引。多個m幀為從多媒體文件的起始位置開始,每間隔η幀取m個幀,獲得多個m幀。本實施例中每幀的指紋由該幀中各宏塊與灰度值有關(guān)的數(shù)據(jù)組成。與灰度值有關(guān)的數(shù)據(jù)為幀中宏塊的平均灰度值按大小排序所得的序號。或者,與灰度值有關(guān)的數(shù)據(jù)為灰度值經(jīng)過大小比較后的比較結(jié)果0或1?;蛘?,與灰度值有關(guān)的數(shù)據(jù)為灰度值的梯度方向值。與灰度值有關(guān)的數(shù)據(jù)為幀中宏塊的平均灰度值按大小排序所得的序號時,或與灰度值有關(guān)的數(shù)據(jù)為灰度值的梯度方向值時,第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)的取值范圍不超過幀中宏塊個數(shù)與m的乘積。與灰度值有關(guān)的數(shù)據(jù)為灰度值經(jīng)過大小比較后的比較結(jié)果0 或1時,第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)的取值范圍不超過幀中宏塊個數(shù)-1到0的累加和再與m的乘積。裝置1300還包括幀率模塊1304和過濾模塊1305。幀率模塊1304用于對多媒體文件進行統(tǒng)一幀率處理。過濾模塊1305用于對多媒體文件進行過濾。過濾模塊1305至少執(zhí)行下列操作之一去黑邊,去干擾區(qū),和去除完全相同或劇烈變化的連續(xù)多幀。去除劇烈變化的連續(xù)多幀時,過濾模塊1305具體用于獲得多媒體文件中每相鄰兩幀之間的漢明距離,確定連續(xù)多幀中是否有超過預(yù)設(shè)比例數(shù)量的幀之間的漢明距離大于預(yù)設(shè)的距離閾值,若是,則確定該連續(xù)多幀為劇烈變化的連續(xù)多幀并去除。參見圖15,本實施例中用于檢索多媒體數(shù)據(jù)的裝置1500包括桶號模塊1501、桶號搜索模塊1502和文件搜索模塊1503。裝置1500可具體為計算機設(shè)備。桶號模塊1501用于根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的桶號鍵值。其中m為預(yù)設(shè)的幀數(shù)。桶號搜索模塊1502用于從索引庫中搜索該獲得的桶號鍵值。文件搜索模塊1503用于獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件。m幀的指紋所對應(yīng)多個桶號鍵值時,桶號模塊1501從索引庫中搜索該獲得的多個桶號鍵值。則文件搜索模塊1503獲得搜索到的索引中共同的多媒體標識所對應(yīng)的多媒體文件。桶號模塊1501還用于根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中多個m幀的指紋所對應(yīng)的桶號鍵值。則文件搜索模塊1503獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件的步驟包括獲得搜索到的索引中共同的多媒體標識所對應(yīng)的多媒體文件。裝置1500還包括隨機數(shù)模塊1504,參見圖16所示。隨機數(shù)模塊1504用于生成第
一類集合和第二類集合。具體的,桶號模塊1501將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列;將備用序列中的字符與第二組隨機數(shù)序列內(nèi)相同位置的隨機數(shù)比較大小,將比較結(jié)果記為0或1 ;將比較結(jié)果0或1所構(gòu)成的序列作為該m個幀的桶號鍵值。以及,桶號模塊1501根據(jù)多個第一組隨機數(shù)序列和多個第二組隨機數(shù)序列獲得該m個幀的多個桶號鍵值。其中第一組隨機數(shù)序列屬于第一類集合,第二組隨機數(shù)序列屬于第二類集合。本實施例中每幀的指紋由該幀中各宏塊與灰度值有關(guān)的數(shù)據(jù)組成。裝置1500還包括幀率模塊1505和過濾模塊1506。幀率模塊1505用于對多媒體文件進行統(tǒng)一幀率處理。過濾模塊1506用于對多媒體文件進行過濾。過濾模塊1506至少執(zhí)行下列操作之一去黑邊,去干擾區(qū),和去除完全相同或劇烈變化的連續(xù)多幀。去除劇烈變化的連續(xù)多幀時,過濾模塊1506具體用于獲得多媒體文件中每相鄰兩幀之間的漢明距離,確定連續(xù)多幀中是否有超過預(yù)設(shè)比例數(shù)量的幀之間的漢明距離大于預(yù)設(shè)的距離閾值,若是,則確定該連續(xù)多幀為劇烈變化的連續(xù)多幀并去除。裝置1500還包括相似性比較模塊1507、關(guān)系模塊1508和更新模塊1509。裝置 1500還與索引庫和媒體庫所在的裝置連接。比較模塊1507用于將待查詢多媒體文件與搜索后獲得的多媒體文件進行相似性比較。關(guān)系模塊1508用于根據(jù)比較結(jié)果確定待查詢多媒體文件與搜索后獲得的多媒體文件之間的內(nèi)容包含關(guān)系。更新模塊1509用于根據(jù)獲得的內(nèi)容包含關(guān)系更新索引庫。內(nèi)容包含關(guān)系包括完全無重疊、不完全重疊、搜索后獲得的多媒體文件被包含于待查詢多媒體文件和搜索后獲得的多媒體文件包含待查詢多媒體文件。具體的,比較模塊1507將搜索到的對應(yīng)同一多媒體文件標識的索引中搜索到的桶號鍵值對應(yīng)的起始位置合并;以及將待查詢多媒體文件中的待查詢片段與合并后的位置所對應(yīng)的多媒體內(nèi)容中的最短媒體片段進行逐幀內(nèi)容比較。關(guān)系模塊1508將待查詢多媒體文件中的待查詢片段與合并后的位置所對應(yīng)的多媒體內(nèi)容中的最短媒體片段進行逐幀內(nèi)容比較時,若所有待查詢片段比較結(jié)果均相同,則確定搜索后獲得的多媒體文件包含待查詢多媒體文件;若所有最短媒體片段比較結(jié)果均相同,則確定搜索后獲得的多媒體文件被包含于待查詢多媒體文件;若部分待查詢片段比較結(jié)果相同,則確定待查詢多媒體文件與搜索后獲得的多媒體文件之間不完全重疊;若所有待查詢片段比較結(jié)果均不相同,則確定待查詢多媒體文件與搜索后獲得的多媒體文件之間完全無重疊。其中,待查詢片段為待查詢多媒體文件中等長的切片的一部分,且待查詢片段與切片的長度和不超過最短媒體片段的長度。相應(yīng)的,內(nèi)容包含關(guān)系為完全無重疊時,更新模塊1509在索引庫中增加待查詢多媒體文件的索引,以及將待查詢多媒體文件歸入媒體庫;內(nèi)容包含關(guān)系為不完全重疊時,更新模塊1509在索引庫中增加待查詢多媒體文件的索引,將待查詢多媒體文件歸入媒體庫, 以及在索引庫中記錄待查詢多媒體文件與搜索后獲得的多媒體文件之間的重疊位置;內(nèi)容包含關(guān)系為搜索后獲得的多媒體文件被包含于待查詢多媒體文件時,更新模塊1509在索引庫中用待查詢多媒體文件的索引替換搜索后獲得的多媒體文件的索引,以及在媒體庫中用待查詢多媒體文件替換搜索后獲得的多媒體文件;內(nèi)容包含關(guān)系為搜索后獲得的多媒體文件包含待查詢多媒體文件時,更新模塊1509在索引庫中增加待查詢多媒體文件的索引。更新模塊1509還用于在需要根據(jù)多個待查詢多媒體文件更新媒體庫時,確定每個待查詢多媒體文件在媒體庫中的存儲位置,根據(jù)該存儲位置對待查詢多媒體文件進行排序,按照排序后的順序?qū)⒋樵兌嗝襟w文件更新到媒體庫。本實施例中裝置1300與裝置1500可以是同一實體裝置,即該實體裝置包括裝置 1300和裝置1500中的所有模塊。其中,隨機數(shù)模塊1303與隨機數(shù)模塊1504是同一模塊, 幀率模塊1304與幀率模塊1505是同一模塊,過濾模塊1305與過濾模塊1506是同一模塊。以上模塊位于同一實體內(nèi),則構(gòu)成了裝置;如果位于不同實體內(nèi),則構(gòu)成了系統(tǒng)。 下面對該系統(tǒng)的內(nèi)部結(jié)構(gòu)和功能進行介紹。參見圖17,本實施例中多媒體系統(tǒng)包括指紋服務(wù)器1701和索引服務(wù)器1702。指紋服務(wù)器1701用于根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的桶號鍵值。其中m為預(yù)設(shè)的幀數(shù)。索引服務(wù)器1702用于根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。索引服務(wù)器1702還用于從索引庫中搜索該獲得的桶號鍵值,并獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件。索引服務(wù)器1702還用于將待查詢多媒體文件與搜索后獲得的多媒體文件進行相似性比較;根據(jù)比較結(jié)果確定待查詢多媒體文件與搜索后獲得的多媒體文件之間的內(nèi)容包含關(guān)系。多媒體系統(tǒng)還包括更新服務(wù)器1703和文件服務(wù)器1704,參見圖18所示。更新服務(wù)器1703用于根據(jù)獲得的內(nèi)容包含關(guān)系更新索引庫。文件服務(wù)器1704包括索引庫和媒體庫。本發(fā)明實施例中通過局部敏感哈希(Local sensitive hashing, LSH)算法,根據(jù)幀指紋所對應(yīng)的桶號鍵值來為多媒體文件建立索引,實現(xiàn)了以幀為基礎(chǔ)單位為多媒體文件建立索引,使得在檢索時可以以幀為基礎(chǔ)單位搜索多媒體文件,可檢索出局部相似的多媒體文件,有效的改進了建立索引及對索引進行檢索的實現(xiàn)方式。本發(fā)明實施例為了減少計算量,采用與灰度值有個的數(shù)據(jù)組成幀指紋,進而獲得幀指紋所對應(yīng)的桶號鍵值。并且,本發(fā)明實施例中與灰度值有個的數(shù)據(jù)有多種實現(xiàn)形式,以滿足不同的需求。本發(fā)明實施例為了提高檢索的準確度,建立索引時對m幀獲得多個桶號鍵值,在檢索時對該多個桶號鍵值進行搜索。如果需要獲得整個文件都基本相似的多媒體文件,在建立索引時對多媒體文件取多個m幀的桶號鍵值來建立,在檢索時對多個m幀的桶號鍵值進行搜索。以及,為了進一步提高檢索的準確度,本發(fā)明實施例在建立索引及檢索過程中,均對多媒體文件進行統(tǒng)一幀率處理及多重過濾處理。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種建立多媒體數(shù)據(jù)索引的方法,其特征在于,包括以下步驟根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的哈希桶號鍵值, 其中m為預(yù)設(shè)的幀數(shù);根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的哈希桶號鍵值為該多媒體文件建立索引。
2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的哈希桶號鍵值的步驟包括將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列;將備用序列中的字符與第二組隨機數(shù)序列內(nèi)相同位置的隨機數(shù)比較大小,將比較結(jié)果記為0或1 ;將比較結(jié)果0或1所構(gòu)成的序列作為該m個幀的哈希桶號鍵值。
3.如權(quán)利要求2所述的方法,其特征在于,根據(jù)多個第一組隨機數(shù)序列和多個第二組隨機數(shù)序列獲得該m個幀的多個哈希桶號鍵值,并根據(jù)該m個幀的多個哈希桶號鍵值為該多媒體文件建立多個索引。
4.如權(quán)利要求1所述的方法,其特征在于,多個m幀為從多媒體文件的起始位置開始,每間隔η幀取m個幀,獲得多個m幀。
5.如權(quán)利要求1至4中任一項所述的方法,其特征在于,每幀的指紋由該幀中各宏塊與灰度值有關(guān)的數(shù)據(jù)組成。
6.如權(quán)利要求5所述的方法,其特征在于,與灰度值有關(guān)的數(shù)據(jù)為幀中宏塊的平均灰度值按大小排序所得的序號;或者與灰度值有關(guān)的數(shù)據(jù)為灰度值經(jīng)過大小比較后的比較結(jié)果0或1 ;或者與灰度值有關(guān)的數(shù)據(jù)為灰度值的梯度方向值。
7.如權(quán)利要求6所述的方法,其特征在于,當(dāng)將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列時,與灰度值有關(guān)的數(shù)據(jù)為幀中宏塊的平均灰度值按大小排序所得的序號時,或與灰度值有關(guān)的數(shù)據(jù)為灰度值的梯度方向值時,第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)的取值范圍不超過幀中宏塊個數(shù)與m的乘積;當(dāng)將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列時,且與灰度值有關(guān)的數(shù)據(jù)為灰度值經(jīng)過大小比較后的比較結(jié)果0或1時,第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)的取值范圍不超過幀中宏塊個數(shù)-1到0的累加和再與m的乘積。
8.如權(quán)利要求1至4中任一項所述的方法,其特征在于,根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的哈希桶號鍵值之前,還包括步驟對多媒體文件進行統(tǒng)一幀率處理。
9.如權(quán)利要求1所述的方法,其特征在于,根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的哈希桶號鍵值之前,還包括步驟對多媒體文件進行過濾。
10.如權(quán)利要求9所述的方法,其特征在于,過濾操作至少包括下列操作之一去黑邊, 去干擾區(qū),和去除完全相同或劇烈變化的連續(xù)多幀。
11.如權(quán)利要求10所述的方法,其特征在于,去除劇烈變化的連續(xù)多幀的步驟包括獲得多媒體文件中每相鄰兩幀之間的漢明距離;確定連續(xù)多幀中是否有超過預(yù)設(shè)比例數(shù)量的幀之間的漢明距離大于預(yù)設(shè)的距離閾值, 若是,則確定該連續(xù)多幀為劇烈變化的連續(xù)多幀并去除。
12.如權(quán)利要求1所述的方法,其特征在于,所述m個幀為連續(xù)的m個幀。
13.一種檢索多媒體數(shù)據(jù)的方法,其特征在于,包括以下步驟根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的哈希桶號鍵值, 其中m為預(yù)設(shè)的幀數(shù);從索引庫中搜索該獲得的哈希桶號鍵值;獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件。
14.如權(quán)利要求13所述的方法,其特征在于,m幀的指紋所對應(yīng)多個哈希桶號鍵值時, 從索引庫中搜索該獲得的哈希桶號鍵值的步驟包括從索引庫中搜索該獲得的多個哈希桶號鍵值;獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件的步驟包括獲得搜索到的索引中共同的多媒體標識所對應(yīng)的多媒體文件。
15.如權(quán)利要求13或14所述的方法,其特征在于,根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的哈希桶號鍵值的步驟包括根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中多個m幀的指紋所對應(yīng)的哈希桶號鍵值;獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件的步驟包括獲得搜索到的索引中共同的多媒體標識所對應(yīng)的多媒體文件。
16.如權(quán)利要求13或14所述的方法,其特征在于,根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的哈希桶號鍵值的步驟包括將第一組隨機數(shù)序列內(nèi)的每個隨機數(shù)作為序號,從m個幀的指紋所組成的指紋序列中選出該序號對應(yīng)位置上的字符,將按序號依次選擇的字符組成備用序列;將備用序列中的字符與第二組隨機數(shù)序列內(nèi)相同位置的隨機數(shù)比較大小,將比較結(jié)果記為0或1 ;將比較結(jié)果0或1所構(gòu)成的序列作為該m個幀的哈希桶號鍵值。
17.如權(quán)利要求16所述的方法,其特征在于,根據(jù)多個第一組隨機數(shù)序列和多個第二組隨機數(shù)序列獲得該m個幀的多個哈希桶號鍵值。
18.如權(quán)利要求13所述的方法,其特征在于,每幀的指紋由該幀中各宏塊與灰度值有關(guān)的數(shù)據(jù)組成。
19.如權(quán)利要求13所述的方法,其特征在于,根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的哈希桶號鍵值之前,還包括步驟對多媒體文件進行統(tǒng)一幀率處理。
20.如權(quán)利要求13所述的方法,其特征在于,根據(jù)局部敏感哈希算法獲得待查詢多媒體文件中m幀的指紋所對應(yīng)的哈希桶號鍵值之前,還包括步驟對多媒體文件進行過濾。
21.如權(quán)利要求20所述的方法,其特征在于,過濾操作至少包括下列操作之一去黑邊,去干擾區(qū),和去除完全相同或劇烈變化的連續(xù)多幀。
22.如權(quán)利要求21所述的方法,其特征在于,去除劇烈變化的連續(xù)多幀的步驟包括獲得多媒體文件中每相鄰兩幀之間的漢明距離;確定連續(xù)多幀中是否有超過預(yù)設(shè)比例數(shù)量的幀之間的漢明距離大于預(yù)設(shè)的距離閾值, 若是,則確定該連續(xù)多幀為劇烈變化的連續(xù)多幀并去除。
23.如權(quán)利要求13所述的方法,其特征在于,還包括步驟將待查詢多媒體文件與搜索后獲得的多媒體文件進行相似性比較;根據(jù)比較結(jié)果確定待查詢多媒體文件與搜索后獲得的多媒體文件之間的內(nèi)容包含關(guān)系;根據(jù)獲得的內(nèi)容包含關(guān)系更新索引庫。
24.如權(quán)利要求23所述的方法,其特征在于,內(nèi)容包含關(guān)系包括完全無重疊、不完全重疊、搜索后獲得的多媒體文件被包含于待查詢多媒體文件和搜索后獲得的多媒體文件包含待查詢多媒體文件。
25.如權(quán)利要求M所述的方法,其特征在于,將待查詢多媒體文件與搜索后獲得的多媒體文件進行相似性比較的步驟包括將搜索到的對應(yīng)同一多媒體文件標識的索引中搜索到的哈希桶號鍵值對應(yīng)的起始位置合并;將待查詢多媒體文件中的待查詢片段與合并后的位置所對應(yīng)的多媒體內(nèi)容中的最短媒體片段進行逐幀內(nèi)容比較。
26.如權(quán)利要求25所述的方法,其特征在于,根據(jù)比較結(jié)果確定待查詢多媒體文件與搜索后獲得的多媒體文件之間的內(nèi)容包含關(guān)系的步驟包括將待查詢多媒體文件中的待查詢片段與合并后的位置所對應(yīng)的多媒體內(nèi)容中的最短媒體片段進行逐幀內(nèi)容比較時,若所有待查詢片段比較結(jié)果均相同,則確定搜索后獲得的多媒體文件包含待查詢多媒體文件;若所有最短媒體片段比較結(jié)果均相同,則確定搜索后獲得的多媒體文件被包含于待查詢多媒體文件;若部分待查詢片段比較結(jié)果相同,則確定待查詢多媒體文件與搜索后獲得的多媒體文件之間不完全重疊;若所有待查詢片段比較結(jié)果均不相同,則確定待查詢多媒體文件與搜索后獲得的多媒體文件之間完全無重疊。
27.如權(quán)利要求25所述的方法,其特征在于,待查詢片段為待查詢多媒體文件中等長的切片的一部分,且待查詢片段與切片的長度和不超過最短媒體片段的長度。
28.如權(quán)利要求M所述的方法,其特征在于,根據(jù)獲得的內(nèi)容包含關(guān)系更新索引庫的步驟包括內(nèi)容包含關(guān)系為完全無重疊時,在索引庫中增加待查詢多媒體文件的索引,以及將待查詢多媒體文件歸入媒體庫;內(nèi)容包含關(guān)系為不完全重疊時,在索引庫中增加待查詢多媒體文件的索引,將待查詢多媒體文件歸入媒體庫,以及在索引庫中記錄待查詢多媒體文件與搜索后獲得的多媒體文件之間的重疊位置;內(nèi)容包含關(guān)系為搜索后獲得的多媒體文件被包含于待查詢多媒體文件時,在索引庫中用待查詢多媒體文件的索引替換搜索后獲得的多媒體文件的索引,以及在媒體庫中用待查詢多媒體文件替換搜索后獲得的多媒體文件;內(nèi)容包含關(guān)系為搜索后獲得的多媒體文件包含待查詢多媒體文件時,在索引庫中增加待查詢多媒體文件的索引。
29.如權(quán)利要求觀所述的方法,其特征在于,需要根據(jù)多個待查詢多媒體文件更新媒體庫時,確定每個待查詢多媒體文件在媒體庫中的存儲位置,根據(jù)該存儲位置對待查詢多媒體文件進行排序,按照排序后的順序?qū)⒋樵兌嗝襟w文件更新到媒體庫。
30.如權(quán)利要求13所述的方法,其特征在于,所述m幀為連續(xù)的m幀。
31.一種用于建立多媒體數(shù)據(jù)索引的裝置,其特征在于,用于實現(xiàn)權(quán)利要求1至12中任一項所述的方法。
32.一種用于檢索多媒體數(shù)據(jù)的裝置,其特征在于,用于實現(xiàn)權(quán)利要求13至30中任一項所述的方法。
33.一種多媒體系統(tǒng),其特征在于,包括指紋服務(wù)器,用于根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的哈希桶號鍵值,其中m為預(yù)設(shè)的巾貞數(shù);索引服務(wù)器,用于根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的哈希桶號鍵值為該多媒體文件建立索引。
34.如權(quán)利要求33所述的多媒體系統(tǒng),其特征在于,索引服務(wù)器還用于從索引庫中搜索該獲得的哈希桶號鍵值,并獲得搜索到的索引中多媒體標識所對應(yīng)的多媒體文件。
35.如權(quán)利要求34所述的多媒體系統(tǒng),其特征在于,索引服務(wù)器還用于將待查詢多媒體文件與搜索后獲得的多媒體文件進行相似性比較;根據(jù)比較結(jié)果確定待查詢多媒體文件與搜索后獲得的多媒體文件之間的內(nèi)容包含關(guān)系;多媒體系統(tǒng)還包括更新服務(wù)器,用于根據(jù)獲得的內(nèi)容包含關(guān)系更新索引庫。
36.如權(quán)利要求33所述的多媒體系統(tǒng),其特征在于,所述m個幀為連續(xù)的m個幀。
全文摘要
本發(fā)明公開了一種建立多媒體數(shù)據(jù)索引的方法及裝置,用于實現(xiàn)多媒體數(shù)據(jù)索引建立,以提高多媒體數(shù)據(jù)的處理效率。其中,建立多媒體數(shù)據(jù)索引的方法包括根據(jù)局部敏感哈希算法獲得一個多媒體文件中m個幀的指紋所對應(yīng)的桶號鍵值,其中m為預(yù)設(shè)的幀數(shù);根據(jù)多媒體文件的標識、多個m幀的起始位置及多個m幀的桶號鍵值為該多媒體文件建立索引。本發(fā)明還公開了根據(jù)該索引進行檢索的方法,以及用于實現(xiàn)所述方法的裝置。
文檔編號G06F17/30GK102193995SQ201110105120
公開日2011年9月21日 申請日期2011年4月26日 優(yōu)先權(quán)日2011年4月26日
發(fā)明者劉漢洲 申請人:深圳市迅雷網(wǎng)絡(luò)技術(shù)有限公司