視頻去重方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種視頻去重方法及裝置。其中,該方法包括:根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合;利用空間向量模型計算視頻子集合內兩個視頻的相似度;根據(jù)相似度對視頻子集合中的視頻進行去重處理得到第二視頻集合。采用本發(fā)明,解決了現(xiàn)有技術中對視頻去重準確率低、計算復雜度高的問題,實現(xiàn)了準確快速地對海量視頻去重的效果。
【專利說明】視頻去重方法及裝置
【技術領域】
[0001]本發(fā)明涉及視頻處理領域,具體而言,涉及一種視頻去重方法及裝置。
【背景技術】
[0002]在視頻搜索領域,需要處理海量的、來自不同提供方的視頻源,它們中間存在著大量的重復視頻,特別是一些熱門視頻。這樣會嚴重影響搜索和視頻推薦結果的質量,導致用戶體驗的下降。所以如何去除具有相同內容的視頻,成為視頻搜索中必須要解決的問題。
[0003]最常見的視頻去重方法就是通過視頻文件的md5值去重,該方法認為具有相同md5值的文件是同一部視頻。在具有視頻文件的項目中,使用這種方法能夠識別出大量的重復視頻,但是它的弊端就在于對視頻文件任何一個小的操作都會造成md5值的不同,例如,轉碼、刪減、廣告或字幕的植入,這樣采用md5值去重的工作量就很大。
[0004]另一種方法就是根據(jù)視頻內容去重。視頻是由很多連續(xù)變化的圖像幀組成,而圖像幀存在時間和空間上的冗余度,連續(xù)的關鍵幀反應了視頻的主要內容。因此,通常會使用關鍵幀來表示整個視頻。完成了對視頻關鍵幀的識別之后,需要提取視頻特征來分析視頻內容。視頻特征就是能夠反應視頻內容信息的視頻本身所具有的物理性質,主要包括顏色特征、紋理特征、運動特征以及聲音和字幕等等。最終,就能夠利用關鍵幀的視頻特征來對視頻內容進行分析,從而識別出相同的視頻。
[0005]通過提取關鍵幀以及關鍵幀的視頻特征來分析視頻內容的計算復雜度高,并且需要在具有視頻文件的情況下才能進行。下面是一種根據(jù)視頻文本數(shù)據(jù)進行視頻去重的方法:互聯(lián)網(wǎng)中的視頻一般具有標題、描述和演員等結構化的文本數(shù)據(jù),這些文本可以用來描述一部視頻。根據(jù)視頻的文本數(shù)據(jù),通過分詞來為每部視頻建立空間向量模型,然后通過計算兩部視頻之間的文本信息的距離來衡量其相似度。但是,此方法需要對視頻進行兩兩計算來比較其相似度,計算復雜度太高,無法擴展到工程上對海量視頻進行去重。另一個方面,對于來自不同提供方的視頻源,視頻的文本數(shù)據(jù)往往具有量大、文本特征稀疏、數(shù)據(jù)缺失,不一致和含噪聲等問題。例如,自不同源的同一部視頻,由于填寫描述信息的人可以從不同的角度去講述視頻的故事情節(jié),或者在長度上也存在很多的差異,就可能造成對相同視頻的描述可能在文字上并不具有很高的相似度。在這種情況下,直接對視頻的文本數(shù)據(jù)建立空間向量模型來計算相似度,不僅計算復雜度高,而且也無法保證結果的準確性。
[0006]Google的Charikar提出的SimHash是一種局部敏感的哈希算法。使用該方法用于在大規(guī)模網(wǎng)頁中去重相似網(wǎng)頁方面有較好的效果。它能夠對內容相似的文本產(chǎn)生相同或是相近的哈希值。其原理是從文本中提取一組特征集,依次把每個特征hash到f位中,最終依據(jù)海明距離來找尋相似的文檔。經(jīng)過測試可以發(fā)現(xiàn),對長文本使用SimHash效果很好,但對于短文本的效果并不佳。因為短文本自身所包含的信息量較小,造成可供利用的特征信息匱乏,每個特征的份量就增大。例如,以字為特征進行SimHash,由于在算法中每個字都會使得哈希值的多個位不同,還產(chǎn)生較大的海明距離。因此,對于長度對比較短的視頻文本數(shù)據(jù)使用Simhash,并不能保證相同視頻能夠產(chǎn)生相同或是相近哈希值的覆蓋度。[0007]針對現(xiàn)有技術中對視頻去重準確率低、計算復雜度高的問題,目前尚未提出有效的解決方案。
【發(fā)明內容】
[0008]針對相關技術中對視頻去重準確率低、計算復雜度聞的問題,目如尚未提出有效的解決方案,為此,本發(fā)明的主要目的在于提供一種視頻去重方法及裝置,以解決上述問題。
[0009]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種視頻去重方法,該方法包括:根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合;利用空間向量模型計算視頻子集合內兩個視頻的相似度;根據(jù)相似度對視頻子集合中的視頻進行去重處理得到第二視頻集合。
[0010]進一步地,根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合的步驟包括:提取文本數(shù)據(jù)中的屬性數(shù)據(jù);計算屬性數(shù)據(jù)的哈希值;將具有相同哈希值的視頻映射到一個視頻子集合中。
[0011]進一步地,計算屬性數(shù)據(jù)的哈希值的步驟包括:將屬性數(shù)據(jù)合成字符串;對字符串中的每個字符進行字符編碼得到整型的值;根據(jù)整型的值和預設維數(shù)計算標號;將初始數(shù)組對應標號的位置設置為I獲取哈希數(shù)組,其中,預設維數(shù)為初始數(shù)組的維數(shù);將哈希數(shù)組分為預設個數(shù)的哈希值。
[0012]進一步地,根據(jù)整型的值和預設維數(shù)計算標號的步驟包括:按照如下公式計算標號site,其中,公式為:site=(wd*331)%f,其中,wd為整型的值,f為預設維數(shù)。
[0013]進一步地,多個視頻子集合中的視頻信息保存在視頻索引表中,其中,視頻信息包括哈希值和文本數(shù)據(jù),將具有相同哈希值的視頻映射到一個視頻子集合中的步驟包括:檢測視頻索引表中是否存在哈希值;在視頻索引表中存在哈希值的情況下,將哈希值對應的文本數(shù)據(jù)寫入視頻索引表中對應視頻子集合的第一位置;在視頻索引表中不存在哈希值的情況下,將哈希值及其對應的文本數(shù)據(jù)寫入視頻索引表中對應新的視頻子集合的第二位置。
[0014]進一步地,利用空間向量模型計算視頻子集合內任意兩個視頻的相似度的步驟包括:建立視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量;計算第一空間向量與第二空間向量之間的向量余弦值,將向量余弦值作為相似度。
[0015]進一步地,建立視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量的步驟包括:從第一視頻和第二視頻中抓取關鍵詞;檢測第一視頻的第一文本數(shù)據(jù)中是否存在關鍵詞;在第一文本數(shù)據(jù)中存在關鍵詞的情況下,設置關鍵詞的第一權值為I;在第一文本數(shù)據(jù)中不存在關鍵詞的情況下,設置關鍵詞的第一權值為O ;檢測第二視頻的第二文本數(shù)據(jù)中是否存在關鍵詞;在第二文本數(shù)據(jù)中存在關鍵詞的情況下,設置關鍵詞的第二權值為I;在第二文本數(shù)據(jù)中不存在關鍵詞的情況下,設置關鍵詞的第二權值為O ;將關鍵詞和第一權值保存在第一空間向量中,以及將關鍵詞和第二權值保存在第二空間向量中。
[0016]進一步地,根據(jù)相似度對視頻子集合中的視頻進行去重處理得到第二視頻集合的步驟包括:檢測向量余弦值是否大于預設閾值;在向量余弦值大于預設閾值的情況下,確定視頻已經(jīng)存在,將視頻丟棄;在向量余弦值不大于預設閾值的情況下,將視頻的文本數(shù)據(jù)和對應的哈希值插入視頻索引表;使用視頻索引表更新第一視頻集合得到第二視頻集合。
[0017]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種視頻去重裝置,該裝置包括:分解模塊,用于根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合;計算模塊,用于利用空間向量模型計算視頻子集合內兩個視頻的相似度;去重模塊,用于根據(jù)相似度對視頻子集合中的視頻進行去重處理得到第二視頻集合。
[0018]進一步地,分解模塊包括:提取模塊,用于提取文本數(shù)據(jù)中的屬性數(shù)據(jù);哈希計算模塊,用于計算屬性數(shù)據(jù)的哈希值;映射模塊,用于將具有相同哈希值的視頻映射到一個視頻子集合中。
[0019]進一步地,哈希計算模塊包括:合成模塊,用于將屬性數(shù)據(jù)合成字符串;編碼模塊,用于對字符串中的每個字符進行字符編碼得到整型的值;標號計算模塊,用于根據(jù)整型的值和預設維數(shù)計算標號;數(shù)組設置模塊,用于將初始數(shù)組對應標號的位置設置為I獲取哈希數(shù)組,其中,預設維數(shù)為初始數(shù)組的維數(shù);分段模塊,用于將哈希數(shù)組分為預設個數(shù)的哈希值。
[0020]進一步地,標號計算模塊包括:計算子模塊,用于按照如下公式計算標號site,其中,公式為:site=(wd*331)%f,其中,wd為整型的值,f為預設維數(shù)。
[0021]進一步地,多個視頻子集合中的視頻信息保存在視頻索引表中,其中,視頻信息包括哈希值和文本數(shù)據(jù),映射模塊包括:第一檢測模塊,用于檢測視頻索引表中是否存在哈希值;第一寫入模塊,用于在視頻索引表中存在哈希值的情況下,將哈希值對應的文本數(shù)據(jù)寫入視頻索引表中對應視頻子集合的第一位置;第二寫入模塊,用于在視頻索引表中不存在哈希值的情況下,將哈希值及其對應的文本數(shù)據(jù)寫入視頻索引表中對應新的視頻子集合的第二位置。
[0022]進一步地,計算模塊包括:建立模塊,用于建立視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量;余弦計算模塊,用于計算第一空間向量與第二空間向量之間的向量余弦值,將向量余弦值作為相似度。
[0023]進一步地,建立模塊包括:抓取模塊,用于從第一視頻和第二視頻中抓取關鍵詞;第二檢測模塊,用于檢測第一視頻的第一文本數(shù)據(jù)中是否存在關鍵詞;第一設置模塊,用于在第一文本數(shù)據(jù)中存在關鍵詞的情況下,設置關鍵詞的第一權值為I ;第二設置模塊,用于在第一文本數(shù)據(jù)中不存在關鍵詞的情況下,設置關鍵詞的第一權值為O ;第三檢測模塊,用于檢測第二視頻的第二文本數(shù)據(jù)中是否存在關鍵詞;第三設置模塊,用于在第二文本數(shù)據(jù)中存在關鍵詞的情況下,設置關鍵詞的第二權值為I;第四設置模塊,用于在第二文本數(shù)據(jù)中不存在關鍵詞的情況下,設置關鍵詞的第二權值為O ;保存模塊,用于將關鍵詞和第一權值保存在第一空間向量中,以及將關鍵詞和第二權值保存在第二空間向量中。
[0024]進一步地,去重模塊包括:第四檢測模塊,用于檢測向量余弦值是否大于預設閾值;丟棄模塊,用于在向量余弦值大于預設閾值的情況下,確定第一視頻已經(jīng)存在,將第一視頻丟棄;插入模塊,用于在向量余弦值不大于預設閾值的情況下,將第一視頻的文本數(shù)據(jù)和對應的哈希值插入視頻索引表;更新模塊,用于使用視頻索引表更新第一視頻集合得到第二視頻集合。
[0025]采用本發(fā)明,分解模塊根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合,然后通過計算模塊利用空間向量模型計算視頻子集合內任意兩個視頻的相似度,并使用去重模塊根據(jù)相似度對第一視頻集合中的視頻進行去重處理得到第二視頻集合。在本發(fā)明的上述方案中,先根據(jù)視頻的文本數(shù)據(jù)將海量的視頻分為多個視頻子集合,然后在每個視頻子集合中利用空間向量模型進行兩部視頻的相似度計算,然后根據(jù)相似度對海量的視頻去重,這種方法與傳統(tǒng)的兩兩比較求視頻相似度的方法對比,不僅大幅度降低了計算復雜度,而且能夠保證視頻去重的準確率。采用本發(fā)明解決了現(xiàn)有技術中對視頻去重準確率低、計算復雜度高的問題,實現(xiàn)了準確快速地對海量視頻去重的效果。
【專利附圖】
【附圖說明】
[0026]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0027]圖1是根據(jù)本發(fā)明實施例的視頻去重裝置的結構示意圖;
[0028]圖2是根據(jù)本發(fā)明實施例的視頻去重方法的流程圖;以及
[0029]圖3是根據(jù)本發(fā)明實施例的一種可選的視頻去重方法的流程圖。
【具體實施方式】
[0030]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發(fā)明。
[0031]圖1是根據(jù)本發(fā)明實施例的視頻去重裝置的結構示意圖。如圖1所示,該裝置可以包括:分解模塊10,用于根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合;計算模塊30,用于利用空間向量模型計算視頻子集合內兩個視頻的相似度;去重模塊50,用于根據(jù)相似度對視頻子集合中的視頻進行去重處理得到第二視頻集合。
[0032]采用本發(fā)明,分解模塊根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合,然后通過計算模塊利用空間向量模型計算視頻子集合內任意兩個視頻的相似度,并使用去重模塊根據(jù)相似度對視頻子集合中的視頻進行去重處理得到第二視頻集合。在本發(fā)明的上述方案中,先根據(jù)視頻的文本數(shù)據(jù)將海量的視頻分為多個視頻子集合,然后在每個視頻子集合中利用空間向量模型進行兩部視頻的相似度計算,然后根據(jù)相似度對海量的視頻去重,這種方法與傳統(tǒng)的兩兩比較求視頻相似度的方法對比,不僅大幅度降低了計算復雜度,而且能夠保證視頻去重的準確率。采用本發(fā)明解決了現(xiàn)有技術中對視頻去重準確率低、計算復雜度高的問題,實現(xiàn)了準確快速地對海量視頻去重的效果。
[0033]其中,可以用余弦距離、歐式距離、Jaccard相似度、最長公共子串、編輯距離等來計算兩個視頻的文本數(shù)據(jù)的相似度。
[0034]在本發(fā)明的上述實施例中,分解模塊包括:提取模塊,用于提取文本數(shù)據(jù)中的屬性數(shù)據(jù);哈希計算模塊,用于計算屬性數(shù)據(jù)的哈希值;映射模塊,用于將具有相同哈希值的視頻映射到一個視頻子集合中。
[0035]其中,在上述實施例中可以采用單字符敏感算法(TinHash算法),先對視頻的結構化屬性文本數(shù)據(jù)進行hash分桶,然后在相應的桶中利用空間向量模型進行兩部視頻的相似度計算。在該實施例中的桶即為上述實施例中的視頻子集合。
[0036]根據(jù)本發(fā)明的上述實施例,哈希計算模塊可以包括:合成模塊,用于將屬性數(shù)據(jù)合成字符串;編碼模塊,用于對字符串中的每個字符進行字符編碼得到整型的值;標號計算模塊,用于根據(jù)整型的值和預設維數(shù)計算標號;數(shù)組設置模塊,用于將初始數(shù)組對應標號的位置設置為I獲取哈希數(shù)組,其中,預設維數(shù)為初始數(shù)組的維數(shù);分段模塊,用于將哈希數(shù)組分為預設個數(shù)的哈希值。
[0037]使用TinHash算法是對單字符進行哈希運算,使得短文本中的每個字只會影響哈希值中的一個位,提升了相同視頻的文本數(shù)據(jù)能夠產(chǎn)生相同或是相近哈希值的覆蓋度。
[0038]具體地,標號計算模塊包括:計算子模塊,用于按照如下公式計算標號site,其中,公式為:site=(wd*331)%f,其中,wd為整型的值,f為預設維數(shù)。
[0039]其中,屬性數(shù)據(jù)可以包括:主標題、導演、演員、主持人和簡介等屬性的數(shù)據(jù)。具體地,在提取屬性數(shù)據(jù)之前,可以將視頻的文本數(shù)據(jù)中的各字段的字符串中的標點符號去除得到更新后的文本數(shù)據(jù),然后將視頻的文本數(shù)據(jù)中的主標題、導演、演員、主持人和簡介對應的數(shù)據(jù)提取出來,合成為一個字符串S。更具體地,對不同的視頻的文本數(shù)據(jù)中的簡介提取統(tǒng)一的字符個數(shù),以減少描述信息不同而帶來的負面影響。
[0040]在上述實施例中,可以將預設維數(shù)f的初始數(shù)組S初始化為O,也即初始數(shù)組為f個O的數(shù)組。其中,預設維數(shù)可以是用戶設定的初始數(shù)組的長度,在本實施例中可以設置為f=128,則初始數(shù)組S為初始化為O的128位的向量。
[0041]在得到字符串s之后,可以將s中的每一個字符進行utf-8字符編碼),將每個字符轉為整型,將整型的值記作wd。并通過公式site= (wd*331) %f計算數(shù)組的標號,然后根據(jù)site的值將初始數(shù)組S中的相應位設置為I。其中,site是數(shù)組的標號,也就是初始數(shù)組S中需要設置為I的位。具體地,假設對應字符A的數(shù)組的標號site為56,則將初始數(shù)組的第56位的值設置為I。在完成對初始數(shù)組的設置之后得到哈希數(shù)組,將該哈希數(shù)組輸出。
[0042]具體地,當有新的視頻需要去重時,先使用TinHash算法計算出128位的hash值(即上述實施例中的哈希數(shù)組),可以將該hash值分為預設個數(shù)的哈希值,將哈希數(shù)組分為預設個數(shù)的哈希值優(yōu)選可以將哈希數(shù)組平均分為預設個數(shù)的哈希值。其中,預設個數(shù)優(yōu)選為4,則可以將該128位的hash值平均分為4段,每段的長度為32位,將具有相同hash段的數(shù)據(jù)映射到一個hash分桶(即一個視頻子集合)。采用上述方案,每個hash分桶內部比較的量要遠遠小于全部的視頻記錄數(shù)(也即第一視頻集合的視頻數(shù)),這樣就大大降低了兩兩比較視頻求相似度的計算復雜度。
[0043]根據(jù)本發(fā)明的上述實施例,多個視頻子集合中的視頻信息保存在視頻索引表中,其中,視頻信息包括哈希值和文本數(shù)據(jù),映射模塊包括:第一檢測模塊,用于檢測視頻索引表中是否存在哈希值;第一寫入模塊,用于在視頻索引表中存在哈希值的情況下,將哈希值對應的文本數(shù)據(jù)寫入視頻索引表中對應視頻子集合的第一位置;第二寫入模塊,用于在視頻索引表中不存在哈希值的情況下,將哈希值及其對應的文本數(shù)據(jù)寫入視頻索引表中對應新的視頻子集合的第二位置。
[0044]在本發(fā)明的上述實施例中,計算模塊包括:建立模塊,用于建立視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量;余弦計算模塊,用于計算第一空間向量與第二空間向量之間的向量余弦值,將向量余弦值作為相似度。
[0045]在上述實施例中,對海量的視頻文本數(shù)據(jù)通過TinHash算法得到hash分桶(即視頻子集合)之后,可以在每個分桶內對任意兩個視頻(第一視頻和第二視頻)建立空間向量,具體地,從第一視頻和第二視頻的文本數(shù)據(jù)中提取關鍵詞,建立[關鍵詞:權值]組成的空間向量,在得到第一空間向量和第二空間向量之后,計算兩個空間向量之間的余弦距離(即上述實施例中的向量余弦值)來衡量視頻的文本數(shù)據(jù)的相似度,進而可以得出兩部視頻之間的相似度。
[0046]具體地,建立模塊包括:抓取模塊,用于從第一視頻和第二視頻中抓取關鍵詞?’第二檢測模塊,用于檢測第一視頻的第一文本數(shù)據(jù)中是否存在關鍵詞;第一設置模塊,用于在第一文本數(shù)據(jù)中存在關鍵詞的情況下,設置關鍵詞的第一權值為I ;第二設置模塊,用于在第一文本數(shù)據(jù)中不存在關鍵詞的情況下,設置關鍵詞的第一權值為O ;第三檢測模塊,用于檢測第二視頻的第二文本數(shù)據(jù)中是否存在關鍵詞;第三設置模塊,用于在第二文本數(shù)據(jù)中存在關鍵詞的情況下,設置關鍵詞的第二權值為I ;第四設置模塊,用于在第二文本數(shù)據(jù)中不存在關鍵詞的情況下,設置關鍵詞的第二權值為O ;保存模塊,用于將關鍵詞和第一權值保存在第一空間向量中,以及將關鍵詞和第二權值保存在第二空間向量中。
[0047]其中,上述實施例中的關鍵詞可以是文本數(shù)據(jù)中的主標題、導演、演員和主持人,選取主標題、導演、演員和主持人的屬性數(shù)據(jù)是因為基于這些屬性字段的質量比較高,可以提高計算向量余弦值的精度,從而可以更準確地對海量視頻去重。
[0048]具體地,可以將關鍵詞是否在文本數(shù)據(jù)中出現(xiàn)作為關鍵詞的權值:若關鍵詞在文本數(shù)據(jù)中出現(xiàn),則權值設置為I;相反,則設置為0,因此,每個視頻就可以轉化為空間向量來表示。
[0049]在本發(fā)明的上述實施例中,去重模塊包括:第四檢測模塊,用于檢測向量余弦值是否大于預設閾值;丟棄模塊,用于在向量余弦值大于預設閾值的情況下,確定第一視頻已經(jīng)存在,將第一視頻丟棄;插入模塊,用于在向量余弦值不大于預設閾值的情況下,將第一視頻的文本數(shù)據(jù)和對應的哈希值插入視頻索引表;更新模塊,用于使用視頻索引表更新第一視頻集合得到第二視頻集合。
[0050]在處理完第一視頻集合中的所有視頻的文本數(shù)據(jù)之后,也即將視頻索引表更新完畢之后,使用更新后的視頻索引表更新第一視頻集合,也即將視頻信息不存在于視頻索引表中的視頻刪除,即可完成對第一視頻集合的準確快速去重,得到第二視頻集合。
[0051]需要說明的是,上述實施例中對海量視頻去重的方案與下圖2和圖3實施例中的定時發(fā)送當前的位置信息的方法、方式、示例以及應用場景等內容相同,但不限于圖2和圖3實施例所公開的內容。
[0052]上述實施例中的各個模塊運行在計算機終端或移動終端,可以通過軟件或硬件實現(xiàn)。
[0053]圖2是根據(jù)本發(fā)明實施例的視頻去重方法的流程圖,如圖2所示該方法包括如下步驟:
[0054]步驟S202,根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合。
[0055]步驟S204,利用空間向量模型計算視頻子集合內兩個視頻的相似度。
[0056]步驟S206,根據(jù)相似度對視頻子集合中的視頻進行去重處理得到第二視頻集合。
[0057]采用本發(fā)明,根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合,然后利用空間向量模型計算視頻子集合內任意兩個視頻的相似度,并根據(jù)相似度對第一視頻集合中的視頻進行去重處理得到第二視頻集合。在本發(fā)明的上述方案中,先根據(jù)視頻的文本數(shù)據(jù)將海量的視頻分為多個視·頻子集合,然后在每個視頻子集合中利用空間向量模型進行兩部視頻的相似度計算,然后根據(jù)相似度對海量的視頻去重,這種方法與傳統(tǒng)的兩兩比較求視頻相似度的方法對比,不僅大幅度降低了計算復雜度,而且能夠保證視頻去重的準確率。采用本發(fā)明解決了現(xiàn)有技術中對視頻去重準確率低、計算復雜度高的問題,實現(xiàn)了準確快速地對海量視頻去重的效果。
[0058]其中,可以用余弦距離、歐式距離、Jaccard相似度、最長公共子串、編輯距離等來衡量兩個視頻的文本數(shù)據(jù)的相似度。
[0059]在本發(fā)明的上述實施例中,根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合的步驟可以包括:提取文本數(shù)據(jù)中的屬性數(shù)據(jù);計算屬性數(shù)據(jù)的哈希值;將具有相同哈希值的視頻映射到一個視頻子集合中。
[0060]其中,在上述實施例中可以采用單字符敏感算法(TinHash算法),先對視頻的結構化屬性文本數(shù)據(jù)進行hash分桶,然后在相應的桶中利用空間向量模型進行兩部視頻的相似度計算。在該實施例中的桶即為上述實施例中的視頻子集合。
[0061]根據(jù)本發(fā)明的上述實施例,計算屬性數(shù)據(jù)的哈希值的步驟可以包括:將屬性數(shù)據(jù)合成字符串;對字符串中的每個字符進行字符編碼得到整型的值;根據(jù)整型的值和預設維數(shù)計算標號;將初始數(shù)組對應標號的位置設置為I獲取哈希數(shù)組,其中,預設維數(shù)為初始數(shù)組的維數(shù);將哈希數(shù)組分為預設個數(shù)的哈希值。
[0062]使用TinHash算法是對單字符進行哈希運算,使得短文本中的每個字只會影響哈希值中的一個位,提升了相同視頻的文本數(shù)據(jù)能夠產(chǎn)生相同或是相近哈希值的覆蓋度。
[0063]具體地,根據(jù)整型的值和預設維數(shù)計算標號的步驟可以包括:按照如下公式計算標號site,其中,公式為:site=(wd*331)%f,其中,wd為整型的值,f為預設維數(shù)。
[0064]其中,屬性數(shù)據(jù)可以包括:主標題、導演、演員、主持人和簡介等屬性的數(shù)據(jù)。具體地,在提取屬性數(shù)據(jù)之前,可以將視頻的文本數(shù)據(jù)中的各字段的字符串中的標點符號去除得到更新后的文本數(shù)據(jù),然后將視頻的文本數(shù)據(jù)中的主標題、導演、演員、主持人和簡介對應的數(shù)據(jù)提取出來,合成為一個字符串S。更具體地,對不同的視頻的文本數(shù)據(jù)中的簡介提取統(tǒng)一的字符個數(shù),以減少描述信息不同而帶來的負面影響。
[0065]在上述實施例中,可以將預設維數(shù)f的初始數(shù)組S初始化為0,也即初始數(shù)組為f個O的數(shù)組。其中,預設維數(shù)可以是用戶設定的初始數(shù)組的長度,在本實施例中可以設置為f=128,則初始數(shù)組S為初始化為O的128位的向量。
[0066]在得到字符串s之后,可以將s中的每一個字符進行utf-8字符編碼),將每個字符轉為整型,將整型的值記作wd。并通過公式site= (wd*331) %f計算數(shù)組的標號,然后根據(jù)site的值將初始數(shù)組S中的相應位設置為I。其中,site是數(shù)組的標號,也就是初始數(shù)組S中需要設置為I的位。具體地,假設對應字符A的數(shù)組的標號site為56,則將初始數(shù)組的第56位的值設置為I。在完成對初始數(shù)組的設置之后得到哈希數(shù)組,將該哈希數(shù)組輸出。
[0067]具體地,當有新的視頻需要去重時,先使用TinHash算法計算出128位的hash值(即上述實施例中的哈希數(shù)組),可以將該hash值分為預設個數(shù)的哈希值,將哈希數(shù)組分為預設個數(shù)的哈希值優(yōu)選可以將哈希數(shù)組平均分為預設個數(shù)的哈希值。其中,預設個數(shù)優(yōu)選為4,則可以將該128位的hash值平均分為4段,每段的長度為32位,將具有相同hash段的數(shù)據(jù)映射到一個hash分桶(即一個視頻子集合)。采用上述方案,每個hash分桶內部的比較的量要遠遠小于完整的視頻記錄數(shù)(也即第一視頻集合的視頻數(shù)),這樣就大大降低了兩兩比較視頻求相似度的計算復雜度。
[0068]根據(jù)本發(fā)明的上述實施例,多個視頻子集合中的視頻信息保存在視頻索引表中,其中,視頻信息包括哈希值和文本數(shù)據(jù),將具有相同哈希值的視頻映射到一個視頻子集合中的步驟可以包括:檢測視頻索引表中是否存在哈希值;在視頻索引表中存在哈希值的情況下,將哈希值對應的文本數(shù)據(jù)寫入視頻索引表中對應視頻子集合的第一位置;在視頻索引表中不存在哈希值的情況下,將哈希值及其對應的文本數(shù)據(jù)寫入視頻索引表中對應新的視頻子集合的第二位置。
[0069]在本發(fā)明的上述實施例中,利用空間向量模型計算視頻子集合內任意兩個視頻的相似度的步驟可以包括:建立視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量;計算第一空間向量與第二空間向量之間的向量余弦值,將向量余弦值作為相似度。
[0070]在上述實施例中,對海量的視頻文本數(shù)據(jù)通過TinHash算法得到hash分桶(即視頻子集合)之后,可以在每個分桶內對任意兩個視頻(第一視頻和第二視頻)建立空間向量,具體地,從第一視頻和第二視頻的文本數(shù)據(jù)中提取關鍵詞,建立[關鍵詞:權值]組成的空間向量,在得到第一空間向量和第二空間向量之后,計算兩個空間向量之間的余弦距離(即上述實施例中的向量余弦值)來衡量視頻的文本數(shù)據(jù)的相似度,進而可以得出兩部視頻之間的相似度。
[0071]具體地,建立視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量可以包括:從第一視頻和第二視頻中抓取關鍵詞;檢測第一視頻的第一文本數(shù)據(jù)中是否存在關鍵詞,在第一文本數(shù)據(jù)中存在關鍵詞的情況下,設置關鍵詞的第一權值為I ;在第一文本數(shù)據(jù)中不存在關鍵詞的情況下,設置關鍵詞的第一權值為O ;檢測第二視頻的第二文本數(shù)據(jù)中是否存在關鍵詞,在第二文本數(shù)據(jù)中存在關鍵詞的情況下,設置關鍵詞的第二權值為I;在第二文本數(shù)據(jù)中不存在關鍵詞的情況下,設置關鍵詞的第二權值為O ;將關鍵詞和第一權值保存在第一空間向量中,以及將關鍵詞和第二權值保存在第二空間向量中。
[0072]其中,上述實施例中的關鍵詞可以是文本數(shù)據(jù)中的主標題、導演、演員和主持人,選取主標題、導演、演員和主持人的屬性數(shù)據(jù)是因為基于這些屬性字段的質量比較高,可以提高計算向量余弦值的精度,從而可以更準確地對海量視頻去重。
[0073]具體地,可以將關鍵詞是否在文本數(shù)據(jù)中出現(xiàn)作為關鍵詞的權值:若關鍵詞在文本數(shù)據(jù)中出現(xiàn),則權值設置為I ;相反,則設置為0,因此,每個視頻就可以轉化為空間向量來表示。
[0074]在本發(fā)明的上述實施例中,根據(jù)相似度對第一視頻集合中的視頻進行去重處理得到第二視頻集合的步驟可以包括:檢測向量余弦值是否大于預設閾值;在向量余弦值大于預設閾值的情況下,確定視頻已經(jīng)存在,將視頻丟棄;在向量余弦值不大于預設閾值的情況下,將視頻的文本數(shù)據(jù)和對應的哈希值插入視頻索引表;使用視頻索引表更新第一視頻集合得到第二視頻集合。
[0075]具體地,本發(fā)明的上述實施例可以通過圖3的方法實現(xiàn):
[0076]步驟S301:輸入第一視頻集合中的視頻信息。
[0077]具體地,可以在啟動輸入第一視頻集合中的視頻信息之前,初始化一個空的〈key,value〉的視頻索引表,其中,key用于存儲視頻的文本數(shù)據(jù)的一段32位的哈希值,value用于存儲與key對應的視頻的文本數(shù)據(jù)。該視頻索引表也可以是一個文件夾或者數(shù)據(jù)庫,并不限于是一個數(shù)據(jù)表的形式。
[0078]步驟S302:提取第一視頻的文本數(shù)據(jù)。
[0079]具體地,從第一視頻集合中取出一條視頻記錄(即上述實施例中的第一視頻),即海量視頻數(shù)據(jù)中的一條視頻,該第一視頻的文本數(shù)據(jù)中具有第一視頻的屬性數(shù)據(jù),包括主標題、導演、演員、主持人、簡介、部、集、語言、編劇以及時長等27個屬性。
[0080]步驟S303:提取文本數(shù)據(jù)中的特征數(shù)據(jù)。
[0081]具體地,可以從第一視頻的文本數(shù)據(jù)中提取第一視頻的特征數(shù)據(jù),優(yōu)選地,特征數(shù)據(jù)可以包括主標題、導演、演員、主持人和簡介。其中,特征數(shù)據(jù)即為上述實施例中的屬性數(shù)據(jù)。
[0082]步驟S304:計算特征數(shù)據(jù)的初始哈希值。
[0083]步驟S305:將初始哈希值分為4段得到哈希值。
[0084]具體地,使用上述實施例中的TinHash算法對特征數(shù)據(jù)計算得出128位的初始哈希值,并將初始哈希值平均分為4段得到哈希值。
[0085]步驟S306:檢測視頻索引表中是否存在哈希值。
[0086]其中,在視頻索引表中存在哈希值的情況下,執(zhí)彳丁步驟S307 ;在視頻索引表中不存在哈希值的情況下,執(zhí)行步驟S308。
[0087]步驟S307:在hash分桶內計算第一視頻與其他視頻之間的相似度。其中,hash分桶即為視頻子集合。
[0088]步驟S308:將哈希值及其對應的文本數(shù)據(jù)寫入視頻索引表的第二位置。
[0089]具體地,對于每一段的哈希值,判斷其是否在視頻索引表中存在,若不存在,則將該第一視頻的4段哈希值及其文本數(shù)據(jù)寫入到視頻索引表中的第二位置;若存在,則將第一視頻以及具有相同hash值(即映射到同一 hash分桶)的其他視頻的文本數(shù)據(jù)建立空間向量。
[0090]其中,上述實施例中的第二位置為在視頻索引表中新建的視頻子集合的存儲哈希值和文本數(shù)據(jù)的位置,其中的新(建)的視頻子集合即為一個新的哈希分桶。
[0091]具體地,若視頻索引表中存在該哈希值,從視頻索引表中對應該哈希值的視頻子集合中提取第二視頻,建立第一視頻和第二視頻的空間向量。上述實施例中的每個視頻子集合(即哈希分桶)中均具有相同的哈希值。
[0092]例如:第一視頻的導演為李安,主演為:章子怡;第二視頻的導演為李安,主演為:鞏俐。則從第一視頻和第二視頻的文本數(shù)據(jù)中抓取到的關鍵詞為:李安、章子怡、以及鞏俐。分別檢測李安、章子怡、以及鞏俐是否在第一視頻的文本數(shù)據(jù)中存在,得到第一空間向量[1,1,0];分別檢測李安、章子怡、以及鞏俐是否在第二視頻的文本數(shù)據(jù)中存在,得到第二空間向量[1,0,I]。在得到第一空間向量和第二空間向量之后,計算它們之間的余弦夾角得到向量余弦值,該向量余弦值即為相似度。
[0093]在該步驟中,將第一視頻與對應的視頻子集合中的所有視頻分別計算得到向量余弦值,以保證去重的準確度。具體地,通過計算視頻子集合中任意兩個視頻的文本數(shù)據(jù)之間的向量余弦值來實現(xiàn)上述方法。
[0094]步驟S309:檢測第一視頻是否為重復視頻。
[0095]其中,在第一視頻為重復視頻的情況下,執(zhí)行步驟S310 ;在第一視頻不為重復視頻的情況下,執(zhí)行步驟S311。
[0096]步驟S310:丟棄第一視頻。
[0097]步驟S311:將第一視頻的文本數(shù)據(jù)插入視頻索引表的第一位置。
[0098]具體地,在得到向量余弦值之后,通過檢測向量余弦值是否大于預設閾值確定第一視頻是否為重復視頻。具體地,在向量余弦值大于預設閾值的情況下,確定第一視頻為重復視頻,將該第一視頻丟棄;在向量余弦值不大于預設閾值的情況下,確定第一視頻不是重復視頻,將第一視頻的文本數(shù)據(jù)插入視頻索引表的第一位置。其中,第一位置為該哈希值對應的value (即存儲文本數(shù)據(jù))的位置,具體地,第一位置為該哈希值對應的視頻子集合在視頻索引表中存儲文本數(shù)據(jù)的位置。其中,對應的視頻子集合即為具有與第一視頻的哈希值相同哈希值的視頻子集合。
[0099]在執(zhí)行完步驟S311和步驟S310返回執(zhí)行步驟S302 (圖中未示出),直到處理完第一視頻集合中的所有視頻的文本數(shù)據(jù)。
[0100]在處理完第一視頻集合中的所有視頻的文本數(shù)據(jù)之后,也即將視頻索引表更新完畢之后,使用更新后的視頻索引表更新第一視頻集合,也即將不存在于視頻索引表中的視頻刪除,即可完成對第一視頻集合的準確去重,得到第二視頻集合。
[0101]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。 [0102]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0103]使用本發(fā)明上述實施例中提供的TinHash算法,從覆蓋率及準確率兩個方面評估該算法的效果。具體地,取200個具有結構化文本數(shù)據(jù)的視頻樣本,文本數(shù)據(jù)所提供的信息包括視頻的主標題、導演、演員、主持人和簡介,其中100部為不重復視頻,另外100部存在兩兩重復的視頻。在實驗中隨機抽取了 128部視頻數(shù)據(jù),對TinHash的測試結果為覆蓋率97.4%,準確率 96.9%ο
[0104]更具體地,使用本案對每部視頻的去重的計算復雜度為0=Α+Κ*Β,其中,K為使用TinHash算法后得出的相同hash分桶中的視頻記錄數(shù),通過上述的介紹,我們可以知道K?N (N為總視頻記錄數(shù),即為第一視頻集合中的視頻數(shù)量),A為計算I次TinHash的時間,B為計算I次向量余弦值的時間。由此可以看出,本案所提出的方案能夠在線性時間內完成對海量視頻的去重。
[0105]從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術效果:采用本發(fā)明,根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合,然后利用空間向量模型計算視頻子集合內任意兩個視頻的相似度,并根據(jù)相似度對第一視頻集合中的視頻進行去重處理得到第二視頻集合。在本發(fā)明的上述方案中,先根據(jù)視頻的文本數(shù)據(jù)將海量的視頻分為多個視頻子集合,然后在每個視頻子集合中利用空間向量模型進行兩部視頻的相似度計算,然后根據(jù)相似度對海量的視頻去重,這種方法與傳統(tǒng)的兩兩比較求視頻相似度的方法對比,不僅大幅度降低了計算復雜度,而且能夠保證視頻去重的準確率。采用本發(fā)明解決了現(xiàn)有技術中對視頻去重準確率低、計算復雜度高的問題,實現(xiàn)了準確快速地對海量視頻去重的效果。
[0106]顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
[0107]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種視頻去重方法,其特征在于,包括: 根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合; 利用空間向量模型計算所述視頻子集合內兩個所述視頻的相似度; 根據(jù)所述相似度對所述視頻子集合中的所述視頻進行去重處理得到第二視頻集合。
2.根據(jù)權利要求1所述的視頻去重方法,其特征在于,根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合的步驟包括: 提取所述文本數(shù)據(jù)中的屬性數(shù)據(jù); 計算所述屬性數(shù)據(jù)的哈希值; 將具有相同所述哈希值的所述視頻映射到一個所述視頻子集合中。
3.根據(jù)權利要求2所述的視頻去重方法,其特征在于,計算所述屬性數(shù)據(jù)的哈希值的步驟包括: 將所述屬性數(shù)據(jù)合成字符串; 對所述字符串中的每個字符進行字符編碼得到整型的值; 根據(jù)所述整型的值和預設維數(shù)計算標號; 將初始數(shù)組對應所述標號的位置設置為I獲取哈希數(shù)組,其中,所述預設維數(shù)為所述初始數(shù)組的維數(shù); 將所述哈希數(shù)組分為預設個數(shù)的所述哈希值。
4.根據(jù)權利要求3所述的視`頻去重方法,其特征在于,根據(jù)所述整型的值和預設維數(shù)計算標號的步驟包括: 按照如下公式計算所述標號site,其中,所述公式為:site=(wd*331)%f,其中,所述wd為所述整型的值,所述f為所述預設維數(shù)。
5.根據(jù)權利要求2所述的視頻去重方法,其特征在于,所述多個視頻子集合中的視頻信息保存在視頻索引表中,其中,所述視頻信息包括所述哈希值和所述文本數(shù)據(jù),將具有相同所述哈希值的所述視頻映射到一個所述視頻子集合中的步驟包括: 檢測所述視頻索引表中是否存在所述哈希值; 在所述視頻索引表中存在所述哈希值的情況下,將所述哈希值對應的所述文本數(shù)據(jù)寫入所述視頻索引表中對應所述視頻子集合的第一位置; 在所述視頻索引表中不存在所述哈希值的情況下,將所述哈希值及其對應的所述文本數(shù)據(jù)寫入所述視頻索引表中對應新的所述視頻子集合的第二位置。
6.根據(jù)權利要求5所述的視頻去重方法,其特征在于,利用空間向量模型計算所述視頻子集合內任意兩個所述視頻的相似度的步驟包括: 建立所述視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量; 計算所述第一空間向量與所述第二空間向量之間的向量余弦值,將所述向量余弦值作為所述相似度。
7.根據(jù)權利要求6所述的視頻去重方法,其特征在于,建立所述視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量的步驟包括: 從所述第一視頻和所述第二視頻中抓取關鍵詞; 檢測所述第一視頻的第一文本數(shù)據(jù)中是否存在所述關鍵詞; 在所述第一文本數(shù)據(jù)中存在所述關鍵詞的情況下,設置所述關鍵詞的第一權值為I ;在所述第一文本數(shù)據(jù)中不存在所述關鍵詞的情況下,設置所述關鍵詞的所述第一權值為O ; 檢測所述第二視頻的第二文本數(shù)據(jù)中是否存在所述關鍵詞; 在所述第二文本數(shù)據(jù)中存在所述關鍵詞的情況下,設置所述關鍵詞的第二權值為I; 在所述第二文本數(shù)據(jù)中不存在所述關鍵詞的情況下,設置所述關鍵詞的所述第二權值為O ; 將所述關鍵詞和所述第一權值保存在所述第一空間向量中,以及將所述關鍵詞和所述第二權值保存在所述第二空間向量中。
8.根據(jù)權利要求6所述的視頻去重方法,其特征在于,根據(jù)所述相似度對所述視頻子集合中的所述視頻進行去重處理得到第二視頻集合的步驟包括: 檢測所述向量余弦值是否大于預設閾值; 在所述向量余弦值大于所述預設閾值的情況下,確定所述視頻已經(jīng)存在,將所述視頻丟棄; 在所述向量余弦值不大于所述預設閾值的情況下,將所述視頻的所述文本數(shù)據(jù)和對應的所述哈希值插入所述視頻索引表; 使用所述視頻索引表更新所述第一視頻集合得到所述第二視頻集合。
9.一種視頻去`重裝置,其特征在于,包括: 分解模塊,用于根據(jù)視頻的文本數(shù)據(jù)將第一視頻集合分為多個視頻子集合; 計算模塊,用于利用空間向量模型計算所述視頻子集合內兩個所述視頻的相似度; 去重模塊,用于根據(jù)所述相似度對所述視頻子集合中的所述視頻進行去重處理得到第二視頻集合。
10.根據(jù)權利要求9所述的視頻去重裝置,其特征在于,所述分解模塊包括: 提取模塊,用于提取所述文本數(shù)據(jù)中的屬性數(shù)據(jù); 哈希計算模塊,用于計算所述屬性數(shù)據(jù)的哈希值; 映射模塊,用于將具有相同所述哈希值的所述視頻映射到一個所述視頻子集合中。
11.根據(jù)權利要求10所述的視頻去重裝置,其特征在于,所述哈希計算模塊包括: 合成模塊,用于將所述屬性數(shù)據(jù)合成字符串; 編碼模塊,用于對所述字符串中的每個字符進行字符編碼得到整型的值; 標號計算模塊,用于根據(jù)所述整型的值和預設維數(shù)計算標號; 數(shù)組設置模塊,用于將初始數(shù)組對應所述標號的位置設置為I獲取哈希數(shù)組,其中,所述預設維數(shù)為所述初始數(shù)組的維數(shù); 分段模塊,用于將所述哈希數(shù)組分為預設個數(shù)的所述哈希值。
12.根據(jù)權利要求11所述的視頻去重裝置,其特征在于,所述標號計算模塊包括: 計算子模塊,用于按照如下公式計算所述標號site,其中,所述公式為:site=(wd*331)%f,其中,所述wd為所述整型的值,所述f為所述預設維數(shù)。
13.根據(jù)權利要求10所述的視頻去重裝置,其特征在于,所述多個視頻子集合中的視頻信息保存在視頻索引表中,其中,所述視頻信息包括所述哈希值和所述文本數(shù)據(jù),所述映射模塊包括: 第一檢測模塊,用于檢測所述視頻索引表中是否存在所述哈希值;第一寫入模塊,用于在所述視頻索引表中存在所述哈希值的情況下,將所述哈希值對應的所述文本數(shù)據(jù)寫入所述視頻索引表中對應所述視頻子集合的第一位置; 第二寫入模塊,用于在所述視頻索引表中不存在所述哈希值的情況下,將所述哈希值及其對應的所述文本數(shù)據(jù)寫入所述視頻索引表中對應新的所述視頻子集合的第二位置。
14.根據(jù)權利要求13所述的視頻去重裝置,其特征在于,所述計算模塊包括: 建立模塊,用于建立所述視頻子集合中第一視頻的第一空間向量和第二視頻的第二空間向量; 余弦計算模塊,用于計算所述第一空間向量與所述第二空間向量之間的向量余弦值,將所述向量余弦值作為所述相似度。
15.根據(jù)權利要求14所述的視頻去重裝置,其特征在于,所述建立模塊包括: 抓取模塊,用于從所述第一視頻和所述第二視頻中抓取關鍵詞; 第二檢測模塊,用于檢測所述第一視頻的第一文本數(shù)據(jù)中是否存在所述關鍵詞;第一設置模塊,用于在所述第一文本數(shù)據(jù)中存在所述關鍵詞的情況下,設置所述關鍵詞的第一權值為I ; 第二設置模塊,用于在所述第一文本數(shù)據(jù)中不存在所述關鍵詞的情況下,設置所述關鍵詞的所述第一權值為O ; 第三檢測模塊,用于檢測所述第二視頻的第二文本數(shù)據(jù)中是否存在所述關鍵詞;第三設置模塊,用于在所述第二文本數(shù)據(jù)中存在所述關鍵詞的情況下,設置所述關鍵詞的第二權值為I ;` 第四設置模塊,用于在所述第二文本數(shù)據(jù)中不存在所述關鍵詞的情況下,設置所述關鍵詞的所述第二權值為O ; 保存模塊,用于將所述關鍵詞和所述第一權值保存在所述第一空間向量中,以及將所述關鍵詞和所述第二權值保存在所述第二空間向量中。
16.根據(jù)權利要求14所述的視頻去重裝置,其特征在于,所述去重模塊包括: 第四檢測模塊,用于檢測所述向量余弦值是否大于預設閾值; 丟棄模塊,用于在所述向量余弦值大于所述預設閾值的情況下,確定所述第一視頻已經(jīng)存在,將所述第一視頻丟棄; 插入模塊,用于在所述向量余弦值不大于所述預設閾值的情況下,將所述第一視頻的所述文本數(shù)據(jù)和對應的所述哈希值插入所述視頻索引表; 更新模塊,用于使用所述視頻索引表更新所述第一視頻集合得到所述第二視頻集合。
【文檔編號】G06F17/30GK103678702SQ201310744685
【公開日】2014年3月26日 申請日期:2013年12月30日 優(yōu)先權日:2013年12月30日
【發(fā)明者】李珊, 劉錕 申請人:優(yōu)視科技有限公司