專利名稱:基于多分辨率、多幀率空間和時域特征的數(shù)字視頻對象的指紋生成方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于識別數(shù)字視頻對象及為數(shù)字視頻對象生成指紋的技術(shù)。特別地,本發(fā)明涉及基于多分辨率、多幀率空間和時域特征為數(shù)字視頻對象生成唯一且穩(wěn)健標(biāo)識符的方法及系統(tǒng)。
過去十年中,數(shù)字視頻變得非常常見。有多種產(chǎn)生、錄制以及分發(fā)數(shù)字視頻的來源,例如數(shù)字視頻(DV)可攜式攝像機(jī)、數(shù)字化視頻光盤(DVD)、數(shù)字視頻錄像機(jī)(DVR,Digital Video Recorder)以及在因特網(wǎng)上流動和下載到的視頻。本文中將一段數(shù)字視頻稱作一個數(shù)字視頻對象,或簡稱視頻對象。它可以是存儲于例如硬盤驅(qū)動器的存儲媒體上的一個文件,或在廣播信道或因特網(wǎng)上傳輸?shù)囊粋€比特流。數(shù)字視頻對象數(shù)量的持續(xù)增長,以及數(shù)字視頻娛樂和服務(wù)的增殖,需要有效、高效的用于索引和識別數(shù)字視頻對象的方法及系統(tǒng)。
用于唯一識別數(shù)字對象的常用方法是使之通過哈希函數(shù)產(chǎn)生被稱為哈希和或消息摘要的定長輸出。常用的哈希函數(shù)為消息摘要5(MD5),詳見RFC1321。雖然哈希和作為標(biāo)識符對于一些具體用途,例如數(shù)字完整性檢驗(yàn)而言是有用的,但是它卻通常不足以用于內(nèi)容識別。例如數(shù)字視頻對象可被編碼為不同格式,例如運(yùn)動圖像專家組標(biāo)準(zhǔn)4(MPEG4)和Windows媒體,以及不同比特率,例如用于廣播的2Mbps和用于互聯(lián)網(wǎng)下載的700Kbps。盡管內(nèi)容相同,但這些不同格式下哈希和的值卻各不相同。數(shù)字視頻對象的指紋與哈希和的不同在于,前者是視頻內(nèi)容的唯一標(biāo)識符,而后者是文件的唯一標(biāo)識符。每一個視頻對象具有唯一且穩(wěn)健的指紋使許多應(yīng)用成為可能,例如視頻內(nèi)容索引、獲取檢索、內(nèi)容過濾、廣播監(jiān)測以及元數(shù)據(jù)服務(wù)。
發(fā)明內(nèi)容
總的說來,本發(fā)明涉及視頻信號處理。更具體地,本發(fā)明提供一種用于標(biāo)識數(shù)字視頻對象的方法和系統(tǒng)。本發(fā)明僅通過示例,描述其應(yīng)用于獲取多分辨率的空間特征,多幀率的時域特征,和/或空間-時域特征,但應(yīng)該認(rèn)識到,本發(fā)明具有更寬的應(yīng)用范圍。
根據(jù)本發(fā)明的實(shí)施例,為視頻對象生成指紋的方法包括獲取與視頻對象相關(guān)的多個幀。另外,該方法包括,對于多幀中的每一幀,處理與所述多幀相關(guān)的信息,基于至少是與多幀中每一幀相關(guān)的信息,確定多幀中每一幀的多個空間特征,以及基于至少是與多幀相關(guān)的信息,確定多幀中的每一幀的多個時域特征。多個空間特征分別與多個分辨率相對應(yīng),并且多個時域特征分別與多個幀率相對應(yīng)。此外,該方法還包括,對于多幀中的每一幀,處理與多個空間特征和多個時域特征相關(guān)的信息,并確定多幀中每一幀的幀指紋,幀指紋包括分別與多個分辨率相對應(yīng)的多個空間特征以及分別與多個幀率相對應(yīng)的多個時域特征。另外,該方法包括分別為多幀處理多個幀指紋,該多個幀指紋包括多幀中每一幀的幀指紋。此外,該方法包括確定所述視頻對象的視頻指紋,該視頻指紋包括該多個幀指紋。
根據(jù)本發(fā)明的另一實(shí)施例,用于為視頻對象的一幀生成空間特征的方法包括獲取與視頻對象相關(guān)的一幀,并將該幀分為多個塊,多個塊分別對應(yīng)于多個位置。多個塊中每一塊包括多個像素,且多個像素分別對應(yīng)于多個像素值。另外,該方法包括分別為多個塊確定多個平均像素值,處理多個平均像素值,基于至少是與多個平均像素值相關(guān)的信息,分別確定多個塊的多個等級,多個等級中每個等級與一個塊相對應(yīng)。另外,該方法包括處理與多個等級相關(guān)的信息,基于至少是與多個等級和多個位置相關(guān)的信息,確定等級次序。該幀的空間特征包括與所述等級次序相關(guān)的信息。
根據(jù)本發(fā)明的又一實(shí)施例,用于為視頻對象的一幀生成時域特征的方法包括獲取與視頻對象相關(guān)的第一組多幀。所述第一組多幀包括至少一幀,第一組多幀中每一幀包括第一組多像素,并與相鄰幀相對應(yīng),且所述相鄰幀包括第二組多像素。另外,該方法包括處理與第一組多幀相關(guān)的信息,分別確定第一組多幀的多個差值。所述多個差值中的每一個與所述第一組多幀中每一幀及其相鄰幀相對應(yīng)。另外,該方法包括處理與多個差值相關(guān)的信息,基于至少是與多個差值相關(guān)的信息,分別確定與所述第一組多幀相對應(yīng)的多個等級。所述多個等級包括與該幀相對應(yīng)的一個等級,且該等級為該幀的一個時域特征。
根據(jù)本發(fā)明的又一實(shí)施例,用于為視頻對象的一幀生成空間-時域特征的方法包括獲取與該視頻對象相關(guān)的第一組多幀。所述第一組多幀包括至少一幀,且第一組多幀中每一幀與一個相鄰幀相對應(yīng)。另外,該方法包括劃分所述第一組多幀中的每一幀。劃分幀包括分別與多個位置相對應(yīng)的第一組多塊,第一組多塊中的每一塊與包含第一組多塊中每一塊的第二組多塊相對應(yīng),且第二組多塊分別與第一組多幀上的塊相關(guān)。另外,該方法包括處理與第一組多幀相關(guān)的信息。另外,該方法還包括,對于第一組多塊中的每一塊,分別確定與第二組多塊的多個差值。所述多個差值中的每一個與第二組多塊中每一個及其相鄰幀中的相應(yīng)塊相關(guān)。另外,該方法包括,對于第一組多塊中的每一塊,處理與多個差值相關(guān)的信息,基于至少是與多個差值相關(guān)的信息,分別確定與第二組多塊相對應(yīng)的第一組多等級,處理與第一組多等級相關(guān)的信息,并基于至少是與第一組多等級相關(guān)的信息,分別確定第一組多塊中每一塊的等級。此外,該方法包括處理與第二組多等級相關(guān)的信息,第二組多等級分別與第一組多塊相對應(yīng),并且基于至少是與第二組多等級和第一組多塊的多個位置相關(guān)的信息,確定等級次序。所述第二組多等級包括該等級,且該幀的空間-時域特征包含與該等級次序相關(guān)的信息。
根據(jù)本發(fā)明的又一實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象生成指紋的指令。所述計(jì)算機(jī)可讀媒體包括一條或多條用于獲取與視頻對象相關(guān)的多幀的指令。另外,該計(jì)算機(jī)可讀媒體包括一條或多條指令,用于對于所述多幀中的每一幀,處理與所述多幀相關(guān)的信息,基于至少是與多幀中每一幀相關(guān)的信息,確定多幀中每一幀的多個空間特征,以及基于至少是與多幀相關(guān)的信息,確定多幀中每一幀的多個時域特征。所述多個空間特征分別與多個分辨率相對應(yīng),多個時域特征分別與多個幀率相對應(yīng)。此外,所述一條或多條指令用于,對于多幀中的每一幀,處理與多個空間特征和多個時域特征相關(guān)的信息,并確定多幀中每一幀的幀指紋,所述幀指紋包括分別與多個分辨率相對應(yīng)的多個空間特征,以及分別與多個幀率相對應(yīng)的多個時域特征。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于分別為多幀處理多個幀指紋,和一條或多條指令,其用于確定所述視頻對象的視頻指紋。該多個幀指紋包括多幀中每一幀的幀指紋,且所述視頻指紋包括該多個幀指紋。
根據(jù)本發(fā)明的又一實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象中的一幀生成空間特征的指令。所述計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于獲取與視頻對象相關(guān)的一幀,以及一條或多條指令,其用于將該幀分為多個塊。所述多個塊分別對應(yīng)于多個位置。多個塊中每一塊包括多個像素,且多個像素分別對應(yīng)于多個像素值。另外,該計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于分別為多個塊確定多個平均像素值,以及一條或多條指令,其用于處理多個平均像素值,以及一條或多條指令,其用于基于至少是與多個平均像素值相關(guān)的信息,分別確定多個塊的多個等級,多個等級中的每一個與一個塊相對應(yīng)。另外,該計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于處理與多個等級相關(guān)的信息,以及一條或多條指令,其用于基于至少是與多個等級和多個位置相關(guān)的信息,確定等級次序。該幀的空間特征包括與所述等級次序相關(guān)的信息。
根據(jù)本發(fā)明的又一實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象的一幀生成時域特征的指令。所述計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于獲取與視頻對象相關(guān)的第一組多幀。所述第一組多幀包括至少一幀,第一組多幀中每一幀包括第一組多像素且與一個相鄰幀相對應(yīng),且所述相鄰幀包括第二組多像素。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于處理與第一組多幀相關(guān)的信息,以及一條或多條指令,其分別確定第一組多幀的多個差值。所述多個差值中的每一個對應(yīng)所述第一組多幀中的每一個及其相鄰幀。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于處理與多個差值相關(guān)的信息,以及一條或多條指令,其用于基于至少是與多個差值相關(guān)的信息,分別確定與所述第一組多幀相對應(yīng)的多個等級。所述多個等級包括與該幀相對應(yīng)的等級,且該等級為該幀的一個時域特征。
根據(jù)本發(fā)明的又一實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象的一幀生成空間-時域特征的指令。所述計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于獲取與該視頻對象相關(guān)的第一組多幀。所述第一組多幀包括至少一幀,且第一組多幀中每一幀與一個相鄰幀相對應(yīng)。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于劃分所述第一組多幀中的每一幀。劃分幀包括分別與多個位置相對應(yīng)的第一組多塊,第一組多塊中的每一塊與包含第一組多塊中每一塊的第二組多塊相對應(yīng),且第二組多塊分別與第一組多幀上的塊相對應(yīng)。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,其用于處理與第一組多幀相關(guān)的信息。此外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,對于第一組多塊中的每一塊,其用于分別確定與第二組多塊的多個差值,處理與多個差值相關(guān)的信息,基于至少是與多個差值相關(guān)的信息,分別確定與第二組多塊相對應(yīng)的第一組多等級,處理與第一組多等級相關(guān)的信息,和基于至少是與第一組多等級相關(guān)的信息,分別確定第一組多塊中每一塊的等級。多個差值中的每一個與第二組多塊中每一個及其相鄰幀中的相應(yīng)塊相關(guān)。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于處理與第二組多等級相關(guān)的信息,第二組多等級分別與第一組多塊相對應(yīng),以及一條或多條指令,用于基于至少是與第二組多等級和第一組多塊的多個位置相關(guān)的信息,確定等級次序。所述第二組多等級包括該等級,且該幀的空間-時域特征包含與該等級次序相關(guān)的信息。
相比傳統(tǒng)技術(shù),通過本發(fā)明能獲得多項(xiàng)益處。本發(fā)明的某些實(shí)施例能夠生成穩(wěn)健的指紋,對于具有不同格式、比特率或分辨率,和/或具有某種變更和/或變形的同一視頻對象,其指紋不發(fā)生改變或改變很小。本發(fā)明的一些實(shí)施例能生成高度辨識性的指紋,由此兩個包含不同視頻內(nèi)容的視頻對象會產(chǎn)生截然不同的指紋。本發(fā)明的某些實(shí)施例能夠生成用于存儲的緊湊指紋,且能存儲為供高效搜索和匹配的形式。
依賴于實(shí)施例,能夠獲取這些益處中的一項(xiàng)或以上。本發(fā)明的這些益處以及不同附加目的,特征和優(yōu)點(diǎn)能夠通過參考以下具體描述及附圖得以充分理解。
圖1為根據(jù)本發(fā)明的用于標(biāo)識數(shù)字視頻對象和為數(shù)字視頻對象生成指紋的算法的流程圖; 圖2示出了根據(jù)本發(fā)明的為計(jì)算多分辨率的空間特征而細(xì)分一幀的方法; 圖3示出了根據(jù)本發(fā)明具體實(shí)施例中計(jì)算基于2×2塊的基空間特征的過程; 圖4示出了根據(jù)本發(fā)明的用于計(jì)算時域特征的滑窗的定位; 圖5示出了根據(jù)本發(fā)明具體實(shí)施例中在幀的下采樣群中計(jì)算時域特征的過程; 圖6示出了根據(jù)本發(fā)明實(shí)施例的實(shí)施用于標(biāo)識數(shù)字視頻對象和為數(shù)字視頻對象生成指紋的方法的簡化系統(tǒng)。
具體實(shí)施例方式 本發(fā)明包括利用視頻內(nèi)容的本質(zhì)特征標(biāo)識視頻內(nèi)容,并將這些特征轉(zhuǎn)換為緊湊的特征或指紋的方法和系統(tǒng)。由于同樣的視頻內(nèi)容可被編碼為不同格式、比特率或分辨率,且所述視頻內(nèi)容可被剪切、編輯或遭受不同程度的變形,故用于標(biāo)識視頻對象的指紋的穩(wěn)健是很重要的,達(dá)到在這些情況下不改變或僅僅細(xì)微變化的程度。另一方面,指紋必須具有高度辨識性,從這種意義上,包含不同視頻內(nèi)容的兩個視頻對象應(yīng)該產(chǎn)生截然不同的指紋。另外,視頻指紋的數(shù)字表示必須足夠緊湊以便存儲,且能夠存儲成有利于高效搜索和匹配的形式。
從視頻對象生成指紋 根據(jù)本發(fā)明中為視頻對象生成指紋的過程如圖1中的方框圖所示。每一幀按放映次序處理,產(chǎn)生一個空間特征塊(SSB,Spatial Signature Block),一個時域特征塊(TSB,Temporal Signature Block)和一個可選的空間-時域特征塊(STSB,Spatial-Temporal Signature Block)。所述SSB在多種分辨率下由一個或多個空間特征(SS,Spatial Signature)所組成;所述TSB在多種幀率下由一個或多個時域特征(TS,Temporal Signature)所組成;所述STSB在多種分辨率及多種幀率下由空間-時域特征(STS,Spatial-Temporal Signature)組成。對于視頻對象中的每一幀,所述SSB、TSB和STSB組成對應(yīng)于該幀的指紋塊。按幀次序的所有指紋塊的序列組成所述視頻對象的指紋。以下將描述計(jì)算SSB、TSB和STSB的方法。在這個具體的實(shí)施例中,所有特征及該指紋僅在亮度分量中計(jì)算。在更普遍的情況下,所述特征及指紋可以同時在亮度和色度分量中計(jì)算,或在RGB或其它色彩空間的任一或所有分量中計(jì)算。
空間特征 一個視頻幀的空間特征(SS)可以在多種分辨率下計(jì)算。根據(jù)本發(fā)明的一個實(shí)施例中,一幀被均分為具有相等大小的2×2或4塊,如圖2(a)所示。這是計(jì)算SS時幀細(xì)分的最低分辨率;產(chǎn)生的SS被稱為基空間特征(BSS,BaseSpatial Signature)或BSS。將分辨率提高一個級別,該幀可以被分為4×4或16塊,如圖2(b)所示。通過更精細(xì)的幀細(xì)分,例如8×8或64塊,進(jìn)一步提高分辨率,能夠產(chǎn)生更精細(xì)分辨率下的SS。可以利用不同的幀細(xì)分方式,例如3×3或9塊,來計(jì)算BSS,和通過持續(xù)將其維度翻倍,例如6×6=36塊,和12×12=144塊,擴(kuò)展至更高分辨率。但我們發(fā)現(xiàn)對于抵抗某些圖像變形,例如縱橫比的改變,利用2×2=4塊來計(jì)算BSS更加穩(wěn)健。
使用圖2(a)中的2×2塊的模式,計(jì)算BSS如下 1.對于每一塊,計(jì)算像素值均值如下 Bi=(∑x(k))/Ni,k=1,2,3,...,Ni 其中,Bi是第i個塊的像素值均值,x(k)是第i個塊中一個像素值,Ni是第i個塊的像素總數(shù),見圖3(a)中的示例。
2.在各塊中,比較Bi值,將其分等級,并對每塊指定次序等級,見圖3(b)中的示例。
3.通過按照順序掃描次序收集每個塊的次序等級產(chǎn)生BSS,并形成BSS向量,見圖3(c)中的示例。
依照與上述相同的步驟可以計(jì)算更高分辨率下的SS。唯一的區(qū)別在于,更高分辨率下的SS向量具有更高的維度。例如利用2×2塊計(jì)算的BSS向量是4維的,而利用4×4塊計(jì)算的BSS向量是16維的。
由于2×2塊的每一次序等級可以通過log2(4)=2比特來表示,可以容易地看出,所述BSS可以利用4*log2(4)=8比特表示。同樣地,可以容易地看出,4×4塊的SS可以利用16*log2(4)=64比特表示。在更高分辨率下表示SS所需的比特數(shù)可以通過相同方式計(jì)算。
通過羅列疊加所有可用到的分辨率下的BSS和SS形成一幀的SSB。在上述具體實(shí)施例中,所述SSB可以通過8+64=72比特表示。
時域特征 在滑動時間窗上計(jì)算每一幀的時域特征(TS,Temporal Signatures)。
對于每一幀,定位該窗使得當(dāng)前幀位于該窗的右邊緣(見圖4)。每次沿時間軸將該窗的位置移動一幀。窗的大小是可調(diào)整參數(shù)。根據(jù)本發(fā)明的一個實(shí)施例,滑窗的大小定義為在時間上為1秒。這意味著多個幀落入滑窗,處于該窗中的任一位置,且其數(shù)目依賴于該視頻對象的幀率。例如,如果一視頻對象的幀率為每秒30幀,則該滑窗中具有30幀,處于該窗中的任一位置。如果一視頻對象的幀率小于每秒1幀,則該滑窗中的任一位置均沒有幀。
為了使得處于不同幀率下的視頻對象的TS相等同,每一視頻對象的幀率通過下采樣達(dá)到一組共同幀率。被下采樣的視頻對象的該共同幀率組可以被調(diào)整。一般說來,它們被設(shè)計(jì)為代表多個幀率下的TS。根據(jù)本發(fā)明的一個實(shí)施例,用于計(jì)算TS的特定共同幀率組為{每秒6幀,每秒12幀,每秒24幀}。
為實(shí)現(xiàn)共同幀率組而下采樣幀率產(chǎn)生多組幀。在每一組幀上計(jì)算TS,產(chǎn)生多幀率TS。為了本文中清楚,計(jì)算自特定組的TS通過該組的下采樣幀率標(biāo)識。例如TS6表示該TS計(jì)算自每秒6幀的幀組。
利用下采樣組{每秒6幀,每秒12幀,每秒24幀}及與它們相關(guān)的下采樣幀組,通過如下步驟計(jì)算TS 1.對于每一組幀,計(jì)算組中兩個連續(xù)幀的相應(yīng)像素間的絕對誤差和,即, Di=∑|xi(k)-xi-1(k)|,k=1,2,3,....N 其中,i為組中第i幀的標(biāo)號,且k=1,2,3,...,N是一幀中的像素標(biāo)號。見圖5(a)。
2.比較該組中各幀的Di值,將其分等級,并指定每一幀的次序等級。見圖5(b)。
3.記錄當(dāng)前幀的次序等級(即,位于滑窗的右邊緣的幀)。這即為該組中當(dāng)前幀的TS。見圖5(b)。
由于次序等級不大于組中的幀數(shù),可以輕易看出TS6可以由Υlog2(6)/=3比特表示;TS12可以由Υlog2(12)/=4比特表示;TS24可以由Υlog2(24)/=5比特表示,此處操作符
表示數(shù)學(xué)的取頂函數(shù)。例如Υ4.2/=5。
通過羅列疊加所有可用到的幀率下的TS形成一幀的TSB。在上述具體實(shí)施例中,所述TSB可以通過3+4+5=12比特表示。
空間-時域特征 在細(xì)分幀的滑動窗口上計(jì)算每一幀的空間-時域特征(STS)。幀可以采用如前所述的不同方式來細(xì)分以計(jì)算多種分辨率下的SS。在一個具體實(shí)施例中,所述幀被細(xì)分為2×2塊。在一幀中采用與前述相同的方式計(jì)算各塊的TS,為每個下采樣組的每幀產(chǎn)生4個TS。通過按順序掃描次序收集所產(chǎn)生的TS形成STS,并將它們置入一個向量。通過羅列疊加所有可用幀率下的STS,形成STSB。在該具體實(shí)施例中,該STSB可以通過4*(3+4+5)=48比特表示。
來自空間和時域特征的指紋 收集一幀中的SSB、TSB和可選的STSB來形成相應(yīng)幀的指紋塊(FB)。與視頻對象中各幀相對應(yīng)的FB序列定義為該視頻對象的指紋。在本文所描述的具體實(shí)施例中,沒有STSB時FB可以表示為84比特,而有STSB時,F(xiàn)B可以表示為132比特。對于幀率為每秒30幀的視頻對象,如此定義的FB具有2520比特/秒的數(shù)據(jù)率(如果包括STSB為3930比特/秒)。
如上所述,圖1為根據(jù)本發(fā)明一實(shí)施例標(biāo)識數(shù)字視頻對象和為數(shù)字視頻對象生成指紋的簡化方法。這幅圖僅僅是一個示例,不應(yīng)當(dāng)以此不恰當(dāng)?shù)叵拗茩?quán)利要求的范圍。本領(lǐng)域技術(shù)人員可以認(rèn)識到許多變化、替換和更改。方法100包括用于接收視頻對象的步驟110,用于獲取下一幀的步驟120,用于確定一個或多個空間特征的步驟130,用于確定一個或多個時域特征的步驟140,用于獲得一個或多個空間-時域特征的步驟150,用于存儲指紋塊的步驟160,和用于確定是否所有幀已處理的步驟170。雖然上述內(nèi)容顯示利用該方法的選擇步驟組,但可以有多種替換、更改和變化。例如,某些步驟可以被展開和/或合并。另一些步驟可以被插入上面提示的那些步驟中。依賴于實(shí)施例,步驟次序可以相互交換被其它步驟所代替。作為一個示例,該方法的某些或所有步驟可以被計(jì)算機(jī)或處理器直接通過代碼執(zhí)行。在另一個示例中,該方法的某些或所有步驟根據(jù)指令執(zhí)行,該指令包含于計(jì)算機(jī)程序產(chǎn)品的計(jì)算機(jī)可讀媒體中。這些步驟的進(jìn)一步的細(xì)節(jié)可在本說明書全文中找到。
在步驟110中,視頻對象被接收后,對該視頻對象進(jìn)行處理。例如,所述視頻對象是一段視頻,比如一段數(shù)字視頻。在另一示例中,所述視頻對象包括根據(jù)圖1獲取或處理的一個或多個幀。在一個實(shí)施例中,這些幀按照它們的播放次序處理。在另一個實(shí)施例中,對于每一幀,確定空間特征塊(SSB)、時域特征塊(TSB)和/或空間-時域特征塊(STSB)。例如,所述SSB包括一個或多個在一個或多個分辨率下的空間特征(SS);所述TSB包括一個或多個在一個或多個幀率中的時域特征(TS);和/或所述STSB包括一個或多個在一個或多個分辨率和一個或多個幀率中的空間-時域特征(STS)。在又一個實(shí)施例中,同一幀的所述SSB、TSB和/或STSB組成至少是該幀的指紋塊的一部分。例如,一個指紋塊即為一個幀指紋。根據(jù)圖1,當(dāng)存儲所述指紋塊之后,在步驟170中確定是否所有幀都已被處理。如果并非所有幀都已被處理,則獲取和處理下一幀。根據(jù)本發(fā)明的一實(shí)施例,按照幀次序的所有指紋塊序列組成至少是所述視頻對象的指紋的一部分。
此處進(jìn)一步強(qiáng)調(diào),圖1僅僅是一個示例,不能以此不恰當(dāng)?shù)叵拗茩?quán)利要求的范圍。本領(lǐng)域技術(shù)人員可以認(rèn)識到許多變化、替換和更改。例如,用于確定是否所有幀都已被處理的步驟170,可以被用于確定附加幀是否需要被處理的步驟所替換。在另一個示例中,一個或多個用于確定一個或多個空間特征的步驟130,用于確定一個或多個時域特征的步驟140,和用于確定一個或多個空間-時域特征的步驟150可以被跳過。
如上所述,圖2示出了根據(jù)本發(fā)明一實(shí)施例,為確定多分辨率下的空間特征而細(xì)分一幀的示例。圖2包括圖2(a)和圖2(b)。這些圖僅僅只是示例,不能以此不恰當(dāng)?shù)叵拗茩?quán)利要求的范圍。本領(lǐng)域技術(shù)人員可以認(rèn)識到許多變化、替換和更改。
如圖2(a)所示,根據(jù)一個實(shí)施例,一幀被分為mb乘nb個塊。例如,mb和nb都是正整數(shù)。在另一示例中,mb和nb在數(shù)值上相同或不同。在又一示例中,所有mb乘nb塊具有相同大小。如圖2(b)所示,根據(jù)一實(shí)施例,該幀被分為mh乘nh個塊。例如,mh和nh都是正整數(shù)。在另一示例中,mh和nh在數(shù)值上相同或不同。在又一示例中,所有mh乘nh個塊具有相同大小。
在一個實(shí)施例中,基于mb乘nb個塊的空間特征(SS)被稱為基空間特征(BSS),且基于mh乘nh個塊的空間特征(SS)被稱為高分辨率下的空間特征(SS)。例如,mh大于mb,和/或nh大于nb。在另一示例中,mb和nb都等于2,且mh和nh都等于2乘以2n,其中n為正整數(shù),在又一示例中,mb和nb都等于3,且mh和nh都等于3乘以2n。
如上所論述,圖3所示為根據(jù)本發(fā)明一實(shí)施例,確定基于2×2塊的基空間特征(BSS)的步驟。圖3包括圖3(a)、(b)和(c)。這些圖表僅僅是示例,不能以此不恰當(dāng)?shù)叵拗茩?quán)利要求的范圍。本領(lǐng)域技術(shù)人員可以認(rèn)識到許多變化、替換和更改。例如,基于mb乘nb的塊的BSS可通過實(shí)質(zhì)上相同的方式來計(jì)算,即使mb或nb或二者都不等于2。在另一個示例中,基于mh乘nh的塊的SS可通過實(shí)質(zhì)上相同的方式來計(jì)算。
如圖3所示,用于確定基于mb乘nb或mh乘nh的塊的空間特征的方法包括以下三個步驟 1.對于每一塊,按如下確定像素值的均值 其中,Bi是第i個塊的像素值均值,x(k)是第i個塊中第k個像素的像素值,Ni是第i個塊的像素總數(shù)。在一個實(shí)施例中,i=1、2、...、mb×nb。在另一個實(shí)施例中,i=1、2、...、mh×nh。
2.為每塊確定等級數(shù)。例如比較各塊的Bi的值,且指定Bi的次序等級數(shù)至相應(yīng)的塊。在一個實(shí)施例中,塊的總數(shù)為mb×nb,故次序等級數(shù)為1至mb×nb,在另一個實(shí)施例中,塊的總數(shù)為mh×nh,故次序等級數(shù)為1至mh×nh。
3.基于等級數(shù)確定空間特征。例如,空間特征為BSS,或高分辨率下的SS。在另一示例中,所述空間特征包括向量。在該向量中,該塊的等級數(shù)按照這些塊在該幀中的物理位置來排列。在另一實(shí)施例中,按照順序掃描次序收集等級數(shù),由此生成空間特征。
根據(jù)本發(fā)明的一個實(shí)施例,當(dāng)一幀在多分辨率下的空間特征確定后,通過羅列疊加一個或多個更高分辨率下的BSS和SS,確定SSB。
圖4為根據(jù)本發(fā)明的一個實(shí)施例,示出用于計(jì)算時域特征的滑窗的定位。此圖僅僅是示例,不能以此不恰當(dāng)?shù)叵拗茩?quán)利要求的范圍。本領(lǐng)域技術(shù)人員可以認(rèn)識到許多變化、替換和更改。
如圖4所示,對于每一幀,滑窗如此定位,使得當(dāng)前幀位于該窗的右邊緣。每次沿時間軸將該窗的位置移動一幀。窗的寬度是可調(diào)參數(shù)。在一個實(shí)施例中,滑窗的寬度在時間上為1秒。例如,多個幀落入滑窗,且這些幀的數(shù)目依賴于該視頻對象的幀率。根據(jù)一實(shí)施例,如果用于確定時域特征的幀率是該視頻對象的原始幀率,則所述幀或多幀是該視頻的原始幀或多幀。根據(jù)另一實(shí)施例,如果用于確定時域特征的幀率不同于該視頻對象的原始幀率,所述幀或多幀為該視頻對象的采樣幀或多幀。例如,用于確定時域特征的幀率低于該視頻對象的原始幀率,則對該視頻對象進(jìn)行時域上的下采樣。
對于所用的特定采樣幀率,確定時域特征的方法包括以下三個步驟 1.確定一幀與其相鄰幀間的差值,例如,計(jì)算兩個連續(xù)幀的相應(yīng)像素間的絕對誤差和如下 其中,i是一幀的標(biāo)號。例如,在該滑窗中計(jì)算每一幀的Di。另外,k代表第k個像素且N代表該幀的總像素數(shù)。
2.確定當(dāng)前幀的等級數(shù)。例如,比較滑窗內(nèi)所有幀的Di值,且將Di的次序等級數(shù)賦予相應(yīng)幀。在一個實(shí)施例中,把相應(yīng)的次序等級數(shù)賦予位于滑窗的右邊緣的當(dāng)前幀。
3.記錄當(dāng)前幀的次序等級數(shù),作為當(dāng)前幀的時域特征。
根據(jù)本發(fā)明的實(shí)施例,當(dāng)確定了一幀基于多幀率的時域特征后,通過羅列疊加多幀率下的TS確定TSB。
如上所述,根據(jù)本發(fā)明的實(shí)施例,在細(xì)分幀的滑窗上計(jì)算每一幀的空間-時域特征(STS)。例如,一幀被分為m乘n個塊,其中m和n都是正整數(shù)。在另一示例中,m和n在數(shù)值上相等或不等。在又一示例中,所有m乘n個塊均具有相同大小。
在一個實(shí)施例中,計(jì)算幀中每一塊的TS。對于所用的特定采樣幀率,確定每一塊的時域特征的方法包括如下兩個步驟 1.確定一幀上的一塊與一相鄰幀上的對應(yīng)塊之間的差值。根據(jù)一個實(shí)施例,如果用于確定時域特征的幀率是該視頻對象的原始幀率,則所述幀是該視頻對象的原始幀。根據(jù)另一個實(shí)施例,如果用于確定時域特征的幀率不同于該視頻對象的原始幀率,所述幀為該視頻對象的采樣幀。例如,用于確定時域特征的幀率低于該視頻對象的原始幀率,則對該視頻對象進(jìn)行時域上的下采樣。
例如,計(jì)算兩連續(xù)幀上的兩相鄰塊的相應(yīng)像素間的絕對誤差和如下 其中i是幀的標(biāo)號。例如,計(jì)算滑窗內(nèi)每一幀的對應(yīng)塊的Di。另外,k代表相對應(yīng)塊中第k個像素,且N代表該塊中的總像素數(shù)。
2.為當(dāng)前幀上的塊確定等級數(shù)。例如,比較滑窗內(nèi)所有幀的相對應(yīng)塊間的Di值,且將Di的次序等級數(shù)指定給相應(yīng)塊。在一個實(shí)施例中,把次序等級數(shù)賦給位于滑窗的右邊緣的當(dāng)前幀。
根據(jù)實(shí)施例,重復(fù)這兩個步驟,確定當(dāng)前幀所有m乘n個塊的次序等級數(shù)?;诋?dāng)前幀的塊的等級數(shù)確定所述空間-時域特征。例如,所述空間-時域特征包括一個向量。在該向量中,該塊的等級數(shù)按照這些塊在當(dāng)前幀內(nèi)的物理位置排列。在一個實(shí)施例中,按照順序掃描次序收集等級數(shù),并由此生成空間-時域特征。
如上所述,空間-時域特征是通過在相應(yīng)幀率下計(jì)算當(dāng)前幀中每一塊的TS所得到的。在一個實(shí)施例中,基于當(dāng)前幀的多幀率確定空間-時域特征,且根據(jù)本發(fā)明的實(shí)施例,通過羅列疊加多幀率下的STS確定所述STSB。
根據(jù)本發(fā)明的實(shí)施例,對于每一幀,一個或多個SSB、TSB和STSB,具有或不具有其它信息,能夠形成該對應(yīng)幀的指紋塊(FB)。例如,指紋塊(FB)為幀指紋,其包含一個或多個空間特征、一個或多個時域特征和/或一個或多個空間-時域特征。根據(jù)本發(fā)明的另一個實(shí)施例,對于視頻對象的幀序列,相應(yīng)的FB序列可以用作該視頻的指紋。例如,如果用于確定時域特征的幀率是該視頻對象的原始幀率,則所述幀是該視頻的原始幀。根據(jù)另一個實(shí)施例,如果用于確定時域特征的幀率不同于該視頻對象的原始幀率,所述幀為該視頻對象的采樣幀。根據(jù)本發(fā)明的實(shí)施例,在數(shù)據(jù)庫中存儲該視頻對象的指紋。例如,該數(shù)據(jù)庫包括一個或多個相應(yīng)視頻對象的一個或多個指紋。
圖6為根據(jù)本發(fā)明實(shí)施例,實(shí)施用于標(biāo)識數(shù)字視頻對象和為視頻數(shù)字對象生成指紋的方法100的簡化系統(tǒng)。此圖僅僅是示例,不能以此不恰當(dāng)?shù)叵拗茩?quán)利要求的范圍。本領(lǐng)域技術(shù)人員可以認(rèn)識到許多變化、替換和更改。系統(tǒng)600包括解碼器模塊610、指紋生成模塊620、指紋數(shù)據(jù)庫630和應(yīng)用策略模塊640。雖然如上已經(jīng)示出該系統(tǒng)使用選擇組,還具有許多替換、更改和變化。例如,某些模塊可以被展開和/或合并。另一些模塊可以被插入上面提示的那些模塊中。依賴于實(shí)施例,模塊的排列可以與其他可替代的相互交換。作為一個示例,該方法的某些或所有步驟可以由計(jì)算機(jī)或處理器直接通過代碼實(shí)現(xiàn)。在另一個示例中,該方法的某些或所有步驟根據(jù)指令執(zhí)行,所述指令包含于計(jì)算機(jī)程序產(chǎn)品的計(jì)算機(jī)可讀媒體中。這些步驟的進(jìn)一步細(xì)節(jié)可在本說明書全文中找到。
如圖6所示,輸入視頻被解碼器模塊610解碼,并被傳輸至指紋生成模塊620。根據(jù)本發(fā)明的實(shí)施例,指紋生成模塊620執(zhí)行方法100。例如,根據(jù)圖1、2、3、4和/或5實(shí)現(xiàn)指紋生成模塊620。為識別視頻,產(chǎn)生的視頻指紋與存儲于指紋數(shù)據(jù)庫中的指紋進(jìn)行比較,識別結(jié)果與相關(guān)元數(shù)據(jù)(例如視頻內(nèi)容的題目和所有權(quán))一起返回給應(yīng)用程序。基于該識別結(jié)果,該應(yīng)用程序在應(yīng)用策略模塊640采用某種策略。例如,如果該視頻被識別為盜版或拷貝,則該應(yīng)用程序采用過濾策略。
如上所論述且在此進(jìn)一步強(qiáng)調(diào),圖6僅僅是示例,不能以此不恰當(dāng)?shù)叵拗茩?quán)利要求的范圍。本領(lǐng)域技術(shù)人員可以認(rèn)識到許多變化、替換和更改。例如,模塊610、620、630和640中任一個既可以是硬件,也可以是軟件,或軟件和硬件的結(jié)合。在另一個示例中,指紋數(shù)據(jù)庫630可以嵌入在應(yīng)用程序中或處于位于本地硬驅(qū)或遠(yuǎn)端服務(wù)器的應(yīng)用程序之外。
根據(jù)本發(fā)明的另一實(shí)施例,用于為視頻對象生成指紋的方法包括獲取與視頻對象相關(guān)的多個幀。另外,該方法包括,對于多幀的每一幀,處理與所述多幀相關(guān)的信息,基于至少與多幀中每一幀相關(guān)的信息,確定多幀中每一幀的多個空間特征,以及基于至少與多幀相關(guān)的信息,確定多幀中每一幀的多個時域特征。多個空間特征分別與多個分辨率相對應(yīng),多個時域特征分別與多個幀率相對應(yīng)。此外,該方法包括,對于多幀中的每一幀,處理與多個空間特征和多個時域特征相關(guān)的信息,并確定多幀中每一幀的幀指紋,所述幀指紋包括分別與多個分辨率相對應(yīng)的多個空間特征,以及分別與多個幀率相對應(yīng)的多個時域特征。另外,該方法包括分別為多幀處理多個幀指紋,所述多個幀指紋包括多幀中每一幀的幀指紋。此外,該方法包括確定所述視頻對象的視頻指紋,所述視頻指紋包括該多個幀指紋。例如,根據(jù)圖1、2、3、4和/或5實(shí)現(xiàn)該方法。
根據(jù)本發(fā)明的又一實(shí)施例,用于為視頻對象的一幀生成空間特征的方法包括獲取與視頻對象相關(guān)的一幀,并將該幀分為多個塊,多個塊分別對應(yīng)于多個位置。多個塊中每一塊包括多個像素,且多個像素分別對應(yīng)于多個像素值。另外,該方法包括分別為多個塊確定多個平均像素值,處理多個平均像素值,并基于至少與多個平均像素值相關(guān)的信息,分別確定多個塊的多個等級,多個等級中的每一個與一個塊相對應(yīng)。另外,該方法包括處理與多個等級相關(guān)的信息,基于至少與多個等級和多個位置相關(guān)的信息,確定等級次序。該幀的空間特征包括與所述等級次序相關(guān)的信息。例如,根據(jù)圖1、2和/或3實(shí)現(xiàn)該方法。
根據(jù)本發(fā)明的又一實(shí)施例,用于為視頻對象的一幀生成時域特征的方法包括獲取與視頻對象相關(guān)的第一組多幀。所述第一組多幀包括至少一幀,第一組多幀中每一幀包括第一組多像素,并與相鄰幀相對應(yīng),且所述相鄰幀包括第二組多像素。另外,該方法包括處理與第一組多幀相關(guān)的信息,分別確定第一組多幀的多個差值。所述多個差值中的每一個與所述第一組多幀中的每一幀及其相鄰幀相對應(yīng)。另外,該方法包括處理與多個差值相關(guān)的信息,基于至少與多個差值相關(guān)的信息,分別確定與所述第一組多幀相對應(yīng)的多個等級。所述多個等級包括與該幀相對應(yīng)的一個等級,且該等級為該幀的一個時域特征。例如,根據(jù)圖1、4和/或5實(shí)現(xiàn)該方法。
根據(jù)本發(fā)明的又一實(shí)施例,用于為視頻對象的一幀生成空間-時域特征的方法包括獲取與該視頻對象相關(guān)的第一組多幀。所述第一組多幀包括至少一幀,且第一組多幀中每一幀與一個相鄰幀相對應(yīng)。另外,該方法包括劃分所述第一組多幀中每一幀。所述劃分幀包括分別與多個位置相對應(yīng)的第一組多塊,第一組多塊中的每一塊與包含第一組多塊中每一塊的第二組多塊相對應(yīng),且第二組多塊分別與第一組多幀上的塊相關(guān)。另外,該方法包括處理與第一組多幀相關(guān)的信息。此外,該方法包括,對于第一組多塊中的每一塊,分別確定與第二組多塊的多個差值。多個差值中每一個與第二組多塊中每一塊及其相鄰幀中的相應(yīng)塊相關(guān)。另外,該方法包括,對于第一組多塊中每一塊,處理與多個差值相關(guān)的信息,基于至少是與多個差值相關(guān)的信息,分別確定與第二組多塊相對應(yīng)的第一組多等級,處理與第一組多等級相關(guān)的信息,基于至少是與第一組多等級相關(guān)的信息,分別確定第一組多塊中每一塊的等級。此外,該方法包括處理與第二組多等級相關(guān)的信息,第二組多等級分別與第一組多塊相對應(yīng),基于至少是與第二組多等級和第一組多塊的多個位置相關(guān)的信息,確定等級次序。所述第二組多等級包括該等級,且該幀的空間-時域特征包含與該等級次序相關(guān)的信息。例如,根據(jù)圖1、2、3、4和/或5實(shí)現(xiàn)該方法。
根據(jù)本發(fā)明的又一實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象生成指紋的指令。所述計(jì)算機(jī)可讀媒體包括一條或多條用于獲取與視頻對象相關(guān)的多幀的指令。另外,該計(jì)算機(jī)可讀媒體包括一條或多條指令,用于對于所述多幀中每一幀,處理與所述多幀相關(guān)的信息,基于至少是與多幀中每一幀相關(guān)的信息,確定多幀的每一幀的多個空間特征,以及基于至少是與多幀相關(guān)的信息,確定多幀的每一幀的多個時域特征。多個空間特征分別與多個分辨率相對應(yīng),多個時域特征分別與多個幀率相對應(yīng)。此外,所述一條或多條指令用于,對于多幀中的每一幀,處理與多個空間特征和多個時域特征相關(guān)的信息,并確定多幀的每一幀的幀指紋,幀指紋包括分別與多個分辨率相對應(yīng)的多個空間特征,以及分別與多個幀率相對應(yīng)的多個時域特征。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于分別為多幀處理處理多個幀指紋,和一條或多條指令,用于確定所述視頻對象的視頻指紋。多個幀指紋包括多幀中每一幀的幀指紋,且所述視頻指紋包括該多個幀指紋。例如,根據(jù)圖1、2、3、4、5和/或6實(shí)現(xiàn)該計(jì)算機(jī)程序產(chǎn)品。
根據(jù)本發(fā)明的又一實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象中一幀生成空間特征的指令。所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于獲取與視頻對象相關(guān)的一幀,以及一條或多條指令,用于將該幀分為多個塊。多個塊分別對應(yīng)于多個位置。多個塊中每一塊包括多個像素,且多個像素分別對應(yīng)于多個像素值。另外,該計(jì)算機(jī)可讀媒體包括一條或多條指令,用于分別為多個塊確定多個平均像素值,以及一條或多條指令,用于處理多個平均像素值,以及一條或多條指令,用于基于至少是與多個平均像素值相關(guān)的信息,分別確定多個塊的多個等級,每個等級與一個塊相對應(yīng)。另外,該計(jì)算機(jī)可讀媒體包括一條或多條指令,用于處理與多個等級相關(guān)的信息,以及一條或多條指令,用于基于至少是與多個等級和多個位置相關(guān)的信息,確定等級次序。該幀的空間特征包括與所述等級次序相關(guān)的信息。例如,根據(jù)圖1、2、3和/或6實(shí)現(xiàn)該計(jì)算機(jī)程序產(chǎn)品。
根據(jù)本發(fā)明的又一實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象中一幀生成時域特征的指令。所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于獲取與視頻對象相關(guān)的第一組多幀。所述第一組多幀包括至少一幀,第一組多幀中每一幀包括第一組多像素并與一個相鄰幀相對應(yīng),且所述相鄰幀包括第二組多像素。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于處理與第一組多幀相關(guān)的信息,以及一條或多條指令,分別確定第一組多幀的多個差值。所述多個差值中的每一個與所述第一組多幀中每一幀及相鄰幀相對應(yīng)。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于處理與多個差值相關(guān)的信息,以及一條或多條指令,用于基于至少是與多個差值相關(guān)的信息,分別確定與所述第一組多幀相對應(yīng)的多個等級。所述多個等級包括與該幀相對應(yīng)的等級,且該等級為該幀的一個時域特征。例如,根據(jù)圖1、4、5和/或6實(shí)現(xiàn)該計(jì)算機(jī)程序產(chǎn)品。
根據(jù)本發(fā)明的又一實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象中一幀生成空間-時域特征的指令。所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于獲取與該視頻對象相關(guān)的第一組多幀。所述第一組多幀包括至少一幀,且第一組多幀中每一幀與一個相鄰幀相對應(yīng)。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于劃分所述第一組多幀中每一幀。劃分幀包括分別與多個位置相對應(yīng)的第一組多塊,第一組多塊中每一塊與包含第一組多塊中每一塊的第二組多塊相對應(yīng),且第二組多塊分別與第一組多幀上的塊相對應(yīng)。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于處理與第一組多幀相關(guān)的信息。此外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于對于第一組多塊中的每一塊,分別確定與第二組多塊的多個差值,處理與多個差值相關(guān)的信息,基于至少是與多個差值相關(guān)的信息,分別確定與第二組多塊相對應(yīng)的第一組多等級,處理與第一組多等級相關(guān)的信息,和基于至少是與第一組多等級相關(guān)的信息,分別確定第一組多塊中每一塊的等級。多個差值中每一個與第二組多塊中每一個及其相鄰幀中的相應(yīng)塊相關(guān)。另外,所述計(jì)算機(jī)可讀媒體包括一條或多條指令,用于處理與第二組多等級相關(guān)的信息,第二組多等級分別與第一組多塊相對應(yīng),以及一條或多條指令,用于基于至少是與第二組多等級和第一組多塊的多個位置相關(guān)的信息,確定等級次序。所述第二組多等級包括該等級,且該幀的空間-時域特征包含與該等級次序相關(guān)的信息。例如,根據(jù)圖1、2、3、4,5和/或6實(shí)現(xiàn)該計(jì)算機(jī)程序產(chǎn)品。
本發(fā)明具有多方面的優(yōu)點(diǎn)。本發(fā)明的某些實(shí)施例能夠生成穩(wěn)健的指紋,對于同一視頻對象的處于不同格式、比特率或分辨率,和/或處于某種變更和/或變形的情況下,由本發(fā)明產(chǎn)生的指紋不發(fā)生改變或改變很小。本發(fā)明的一些實(shí)施例能生成高度辨識性的指紋,由此兩個包含不同視頻內(nèi)容的視頻對象會產(chǎn)生截然不同的指紋。本發(fā)明的某些實(shí)施例能夠生成便于存儲的緊湊指紋,且能存儲為有利于高效搜索和匹配的形式。
雖然描述了本發(fā)明的具體實(shí)施例,但本領(lǐng)域技術(shù)人員應(yīng)該認(rèn)識到還有等同于所描述實(shí)施例的其它實(shí)施例。相應(yīng)地,應(yīng)該認(rèn)識到本發(fā)明并不限于所闡明的具體實(shí)施例,而僅限于所附加權(quán)利要求的范圍。
權(quán)利要求
1、一種為視頻對象生成指紋的方法,該方法包括
獲取與視頻對象相關(guān)的多幀;
對于多幀中的每一幀,
處理與所述多幀相關(guān)的信息;
基于至少與多幀中的每一幀相關(guān)的信息,確定多幀的每一幀的多個空間特征,所述多個空間特征分別與多個分辨率相對應(yīng);
基于至少與多幀相關(guān)的信息,確定多幀的每一幀的多個時域特征,所述多個時域特征分別與多個幀率相對應(yīng);
處理與多個空間特征和多個時域特征相關(guān)的信息;
確定多幀中每一幀的幀指紋,所述幀指紋包括分別與多個分辨率相對應(yīng)的多個空間特征,以及分別與多個幀率相對應(yīng)的多個時域特征;
分別為多幀處理多個幀指紋,所述多個幀指紋包括多幀中每一幀的幀指紋;
確定所述視頻對象的視頻指紋,所述視頻指紋包括該多個幀指紋。
2、如權(quán)利要求1中的方法,進(jìn)一步包括
對于多幀中的每一幀,
基于至少與多幀相關(guān)的信息,確定多幀中每一幀的多個空間-時域特征,所述多個空間-時域特征分別與多個分辨率和幀率的組合相對應(yīng);
處理與多個空間-時域特征相關(guān)的信息;
其中所述幀指紋進(jìn)一步包括分別與多個分辨率和幀率的組合相對應(yīng)的多個空間-時域特征。
3、如權(quán)利要求1中的方法,進(jìn)一步包括
對于多幀中的每一幀,存儲多幀中每一幀的所述幀指紋。
4、如權(quán)利要求1中的方法,進(jìn)一步包括存儲視頻對象的視頻指紋。
5、如權(quán)利要求1中的方法,其中,確定多個空間特征包括,對于多個分辨率中的每一個,將多幀中的每一幀劃分為多行和多列,多個分辨率中的每一個至少被行和列的數(shù)目所表示。
6、如權(quán)利要求1中的方法,其中,確定多個時域特征包括,對于多個幀率中的每一個,確定對應(yīng)于多幀中每一幀及與多幀中每一幀相關(guān)的相鄰幀的差值,多個幀率中的每一個與多幀中每一幀與相鄰幀間的時間間隔成反比。
7、一種用于為視頻對象中的一幀生成空間特征的方法,該方法包括
獲取與視頻對象相關(guān)的一幀;
將該幀分為多個塊,多個塊分別對應(yīng)于多個位置,多個塊中每一塊包括多個像素,且多個像素分別對應(yīng)于多個像素值;
分別為多個塊確定多個平均像素值;
處理多個平均像素值;
基于至少與多個平均像素值相關(guān)的信息,分別確定多個塊的多個等級,多個等級中的每一個與一個塊相對應(yīng);
處理與多個等級相關(guān)的信息;
基于至少與多個等級和多個位置相關(guān)的信息,確定等級次序;
其中該幀的空間特征包括與所述等級次序相關(guān)的信息。
8、如權(quán)利要求7中的方法,其中,確定等級次序包括
基于預(yù)定模式掃描多個塊;
作為掃描步驟的結(jié)果,確定塊的次序;
基于塊次序中相應(yīng)塊的位置,排列多個等級中的每一個。
9、如權(quán)利要求8中所述的方法,其中所述預(yù)定模式與順序掃描相關(guān)。
10、如權(quán)利要求7中的方法,其中多個等級為多個次序等級。
11、如權(quán)利要求7中的方法,其中
劃分該幀為多個塊包括劃分該幀為多行和多列;
該幀的空間特征與由至少是行數(shù)和列數(shù)所代表的分辨率相對應(yīng)。
12、如權(quán)利要求11中的方法,其中分辨率為基分辨率,且所述空間特征為基空間特征。
13、一種為視頻對象的一幀生成時域特征的方法,該方法包括
獲取與視頻對象相關(guān)的第一組多幀,所述第一組多幀包括至少一幀,第一組多幀中每一幀包括第一組多像素,并與相鄰幀相對應(yīng),所述相鄰幀包括第二組多像素;
處理與第一組多幀相關(guān)的信息;
分別確定第一組多幀的多個差值,所述多個差值中的每一個與所述第一組多幀中每一幀和相鄰幀相對應(yīng);
處理與多個差值相關(guān)的信息;
基于至少與多個差值相關(guān)的信息,分別確定與所述第一組多幀相對應(yīng)的多個等級,所述多個等級包括與該幀相對應(yīng)的一個等級,該等級為該幀的一個時域特征。
14、如權(quán)利要求13中的方法,進(jìn)一步包括
獲取第二組多幀;
處理與第二組多幀相關(guān)的信息;
基于至少與第二組多幀相關(guān)的信息,確定所述第一組多幀。
15、如權(quán)利要求14中的方法,其中確定所述第一組多幀包括
接收與包括開始時間和終止時間的一時間段相關(guān)的信息;
置該幀于該時間段的開始時間;
從第二組多幀中選擇該時間段內(nèi)的至少一些幀,所述第一組多幀包括這些選擇幀。
16、如權(quán)利要求13中的方法,其中確定多個差值包括
對于第一組多幀中的每一幀,
分別確定第一組多像素的第一數(shù)值與第二組多像素的第二數(shù)值間差別的大?。?br>
累加該差別的大小,以確定多個差值中的一個。
17、如權(quán)利要求13中的方法,其中多個等級為多個次序等級。
18、如權(quán)利要求13中的方法,其中
第一組多幀與第一幀率相對應(yīng),所述等級作為與第一幀率相對應(yīng)幀的時域特征。
19、如權(quán)利要求18中的方法,其中
視頻對象與第二幀率相對應(yīng);
如果第一幀率低于第二幀率,第一組多幀為所述視頻對象的下采樣幀。
20、一種為視頻對象的一幀生成空間-時域特征的方法,該方法包括
獲取與該視頻對象相關(guān)的第一組多幀,所述第一組多幀包括至少一幀,且第一組多幀中每一幀與一個相鄰幀相對應(yīng);
劃分所述第一組多幀中每一幀,其中劃分幀包括分別與多個位置相對應(yīng)的第一組多塊,第一組多塊中每一塊與包含第一組多塊中每一塊的第二組多塊相對應(yīng),第二組多塊分別與第一組多幀上的塊相關(guān);
包括處理與第一組多幀相關(guān)的信息;
對于第一組多塊中的每一塊,
分別確定第二組多塊的多個差值,多個差值中每一個與第二組多塊中每一塊及其相鄰幀中的相應(yīng)塊相關(guān);
處理與多個差值相關(guān)的信息;
基于至少與多個差值相關(guān)的信息,分別確定與第二組多塊相對應(yīng)的第一組多等級;
處理與第一組多等級相關(guān)的信息;
基于至少與第一組多等級相關(guān)的信息,確定第一組多塊中每一塊的等級;
處理與第二組多等級相關(guān)的信息,第二組多等級分別與第一組多塊相對應(yīng),第二組多等級包括該等級;
基于至少與第二組多等級和第一組多塊的多個位置相關(guān)的信息,確定等級次序;
其中該幀的空間-時域特征包含與該等級次序相關(guān)的信息。
21、如權(quán)利要求20中的方法,其中第一組多塊在時間上為同時刻的同一幀上。
22、如權(quán)利要求20中的方法,其中第二組多塊沿時域軸分別在不同幀的相同位置上。
23、如權(quán)利要求20中的方法,其中確定等級次序包括
基于預(yù)定模式掃描第一組多塊;
作為掃描步驟的結(jié)果,確定幀上塊的次序;
基于塊次序中相應(yīng)塊的位置,排列第二組多等級中的每一個。
24、如權(quán)利要求20中的方法,其中
第一組多幀與第一幀率相對應(yīng),該幀的所述空間-時域特征與該第一幀率相對應(yīng)。
25、如權(quán)利要求24中的方法,其中
所述視頻對象與第二幀率相對應(yīng);
如果第一幀率低于第二幀率,第一組多幀為所述視頻對象的下采樣幀。
26、如權(quán)利要求20中的方法,進(jìn)一步包括
獲取第二組多幀;
處理與第二組多幀相關(guān)的信息;
基于至少與第二組多幀相關(guān)的信息,確定第一組多幀。
27、如權(quán)利要求26中的方法,其中確定第一組多幀包括
接收與包括開始時間和終止時間的一時間段相關(guān)的信息;
置該幀于該時間段的開始時間;
從第二組多幀中選擇該時間段內(nèi)的至少一些幀,所述第一組多幀包括這些選擇幀。
28、一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象生成指紋的指令,所述計(jì)算機(jī)可讀媒體包括
一條或多條用于獲取與視頻對象相關(guān)的多幀的指令;
一條或多條指令,對于所述多幀中的每一幀,
用于處理與所述多幀相關(guān)的信息;
基于至少與多幀中每一幀相關(guān)的信息,確定多幀的每一幀的多個空間特征,多個空間特征分別與多個分辨率相對應(yīng);
基于至少與多幀相關(guān)的信息,確定多幀中每一幀的多個時域特征,多個時域特征分別與多個幀率相對應(yīng);
處理與多個空間特征和多個時域特征相關(guān)的信息;
確定多幀中每一幀的幀指紋,幀指紋包括分別與多個分辨率相對應(yīng)的多個空間特征,以及分別與多個幀率相對應(yīng)的多個時域特征;
一條或多條指令,用于分別為多幀處理多個幀指紋,多個幀指紋包括多幀中每一幀的幀指紋;
一條或多條指令,用于確定所述視頻對象的視頻指紋,所述視頻指紋包括該多個幀指紋。
29、一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象的一幀生成空間特征的指令,所述計(jì)算機(jī)可讀媒體包括
一條或多條指令,用于獲取與視頻對象相關(guān)的一幀;
一條或多條指令,用于將該幀分為多個塊,多個塊分別對應(yīng)于多個位置,多個塊中的每一塊包括多個像素,且多個像素分別對應(yīng)于多個像素值;
一條或多條指令,用于分別為多個塊確定多個平均像素值;
一條或多條指令,用于處理多個平均像素值;
一條或多條指令,用于基于至少與多個平均像素值相關(guān)的信息,分別確定多個塊的多個等級,多個等級中的每一個與一個塊相對應(yīng);
一條或多條指令,用于處理與多個等級相關(guān)的信息;
一條或多條指令,用于基于至少與多個等級和多個位置相關(guān)的信息,確定等級次序;
其中該幀的空間特征包括與所述等級次序相關(guān)的信息。
30、一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象中的一幀生成時域特征的指令,所述計(jì)算機(jī)可讀媒體包括
一條或多條指令,用于獲取與視頻對象相關(guān)的第一組多幀,所述第一組多幀包括至少一幀,第一組多幀中每一幀包括第一組多像素并與一個相鄰幀相對應(yīng),所述相鄰幀包括第二組多像素;
一條或多條指令,用于處理與第一組多幀相關(guān)的信息;
一條或多條指令,用于分別確定第一組多幀的多個差值,所述多個差值中的每一個與所述第一組多幀中的每一幀和相鄰幀相對應(yīng);
一條或多條指令,用于處理與多個差值相關(guān)的信息;
一條或多條指令,用于基于至少與多個差值相關(guān)的信息,分別確定與所述第一組多幀相對應(yīng)的多個等級,所述多個等級包括與該幀相對應(yīng)的等級,該等級即為該幀的一個時域特征。
31、一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀媒體,該計(jì)算機(jī)可讀媒體包括用于為視頻對象中的一幀生成空間-時域特征的指令,所述計(jì)算機(jī)可讀媒體包括
一條或多條指令,用于獲取與該視頻對象相關(guān)的第一組多幀,所述第一組多幀包括至少一幀,第一組多幀中每一幀與一個相鄰幀相對應(yīng);
一條或多條指令,用于劃分所述第一組多幀中的每一幀,其中劃分幀包括分別與多個位置相對應(yīng)的第一組多塊,第一組多塊中的每一塊與包含第一組多塊中每一塊的第二組多塊相對應(yīng),且第二組多塊分別與第一組多幀上的塊相對應(yīng);
一條或多條指令,用于處理與第一組多幀相關(guān)的信息;
一條或多條指令,用于對于第一組多塊中的每一塊,
分別確定第二組多塊的多個差值,所述多個差值中的每一個與第二組多塊中每一塊和相鄰幀上相對應(yīng)的塊相關(guān);
處理與所述多個差值相關(guān)的信息;
基于至少與多個差值相關(guān)的信息,分別確定與第二組多塊相對應(yīng)的第一組多等級;
處理與第一組多等級相關(guān)的信息;
基于至少與第一組多等級相關(guān)的信息,分別確定第一組多塊中每一塊的等級;
一條或多條指令,用于處理與第二組多等級相關(guān)的信息,第二組多等級分別與第一組多塊相對應(yīng),所述第二組多等級包含該等級;
一條或多條指令,用于基于至少與第二組多等級和第一組多塊的多個位置相關(guān)的信息,確定等級次序;
其中該幀的空間-時域特征包含與該等級次序相關(guān)的信息。
全文摘要
一種用于為視頻對象生成指紋的方法及系統(tǒng)。所述方法包括獲取與視頻對象相關(guān)的多個幀。另外,該方法包括,對于多幀中的每一幀,處理與所述多幀相關(guān)的信息,基于至少與多幀中每一幀相關(guān)的信息,確定多幀中每一幀的多個空間特征,以及基于至少與多幀相關(guān)的信息,確定多幀中每一幀的多個時域特征。多個空間特征分別與多個分辨率相對應(yīng),多個時域特征分別與多個幀率相對應(yīng)。
文檔編號H04L9/00GK101351986SQ200780001098
公開日2009年1月21日 申請日期2007年4月5日 優(yōu)先權(quán)日2006年4月28日
發(fā)明者堅(jiān) 陸, 王揚(yáng)斌 申請人:阜博有限公司