專利名稱:對(duì)多個(gè)同步化數(shù)據(jù)流加速數(shù)據(jù)庫查找的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在廣播媒體流中對(duì)媒體對(duì)象的標(biāo)識(shí),尤其涉及,用于在最小化服務(wù)器數(shù)據(jù)庫查詢負(fù)載的同時(shí),向眾多獨(dú)立客戶機(jī)提供并發(fā)的服務(wù)器端的對(duì)諸如歌曲的媒體對(duì)象的標(biāo)識(shí)的系統(tǒng)和方法。
背景技術(shù):
存在眾多用于從信號(hào)中提取“特征”用于標(biāo)識(shí)目的的方案。例如,關(guān)于一維的信號(hào)諸如音頻信號(hào)或音頻文件,音頻特征提取是被用作為涉及音頻信號(hào)中的媒體對(duì)象的分類、檢索和標(biāo)識(shí)任務(wù)中的必要步驟。用于標(biāo)識(shí)目的,提取出的特征或“軌跡”通常被與已知的“指紋”作比較以用于標(biāo)識(shí)該音頻信號(hào)的元素或整個(gè)音頻信號(hào)。這樣的公知的媒體對(duì)象標(biāo)識(shí)方案被習(xí)慣性地稱作為“音頻指紋識(shí)別”。
諸多常規(guī)方案修改了這樣的音頻指紋識(shí)別技術(shù),使得能提供對(duì)在諸如無線電或因特網(wǎng)廣播的音頻流中的特定歌曲的標(biāo)識(shí)。例如,收聽一音頻流的用戶可能聽到某些歌曲他或/她想知道其名稱、歌手、專輯等。常規(guī)的音頻指紋識(shí)別技術(shù)而后被用來從歌曲的采樣中提取一個(gè)或多個(gè)軌跡。通常,這些軌跡而后被與在已知音樂數(shù)據(jù)庫中的指紋作比較以用于標(biāo)識(shí)一個(gè)匹配,而后并將結(jié)果提供給用戶。
而且,這樣的技術(shù)也被修改以適應(yīng)于眾多常規(guī)服務(wù),來提供一般基于音頻指紋識(shí)別技術(shù)和數(shù)據(jù)庫比較的收費(fèi)的歌曲標(biāo)識(shí)和查找服務(wù)。例如,若干歌曲標(biāo)識(shí)服務(wù),諸如相對(duì)著名的“Shazam”音樂標(biāo)識(shí)服務(wù),通過蜂窩電話?網(wǎng)絡(luò)運(yùn)行來為用戶標(biāo)識(shí)特定的歌曲。具體地,諸如由Shazam提供的系統(tǒng)一般通過首先要求用戶在他的手機(jī)上撥一個(gè)號(hào)碼,然后將音樂對(duì)著電話播放大約15至30秒。Shazam服務(wù)而后通過在已知音樂的數(shù)據(jù)庫中比較該音樂(或從該音樂中計(jì)算出的軌跡)來標(biāo)識(shí)該音樂。Shazam服務(wù)而后向用戶返回關(guān)于所標(biāo)識(shí)出的歌曲的名稱、歌手、專輯等的文本消息。
不幸地,上述類型的查找任務(wù)的一個(gè)問題是,由于在任何給定時(shí)間訪問音樂標(biāo)識(shí)系統(tǒng)的用戶數(shù)量增加,每秒的數(shù)據(jù)庫查找請(qǐng)求也增加了。例如,這個(gè)問題在諸如由Shazam提供的服務(wù)中緩解了,因?yàn)橛脩舯仨殞?duì)每一首他想標(biāo)識(shí)的歌曲為電話和服務(wù)本身付費(fèi),因?yàn)檎者@樣向用戶收費(fèi)的效果,趨向于限制系統(tǒng)的并發(fā)用戶的數(shù)量,從而減輕了整個(gè)服務(wù)器負(fù)荷。這樣的系統(tǒng)的另一個(gè)問題是,它需要向服務(wù)器傳輸整首歌曲的采樣(受電話服務(wù)的頻率/帶寬限制),服務(wù)器而后需要從傳輸?shù)拿襟w流的采樣中計(jì)算軌跡。
因此,由于并發(fā)用戶的數(shù)量日益龐大,即使相對(duì)大量儲(chǔ)備的專用服務(wù)器的情況下,從輸入音樂計(jì)算軌跡和指紋、用于標(biāo)識(shí)這些指紋執(zhí)行的數(shù)據(jù)庫查詢和對(duì)單個(gè)用戶的響應(yīng)的相應(yīng)的計(jì)算負(fù)荷仍可能迅速地被壓垮。作為結(jié)果,這樣的方案趨于由假定并發(fā)用戶的數(shù)量會(huì)相對(duì)的少而受到限制。而且,盡管可能按比例增加這樣的方案,來提供足夠數(shù)量的服務(wù)器以解決潛在的上千萬的大量的并發(fā)用戶,但是用于這樣的一個(gè)系統(tǒng)的花費(fèi)可能會(huì)非常高昂。
從而,存在對(duì)提供對(duì)歌曲實(shí)時(shí)確認(rèn)的系統(tǒng)和方法的需求。而且,這樣的系統(tǒng)和方法應(yīng)該能夠在最小化服務(wù)器負(fù)荷和數(shù)據(jù)庫查詢的同時(shí),向大量并發(fā)用戶提供歌曲標(biāo)識(shí)服務(wù)。最后,這樣的系統(tǒng)和方法還應(yīng)該通過要求多個(gè)客戶機(jī)計(jì)算機(jī)中的每一個(gè)執(zhí)行計(jì)算任務(wù)來消除從媒體流的采樣中計(jì)算軌跡的負(fù)擔(dān),來最小化服務(wù)器負(fù)荷。
發(fā)明內(nèi)容
此處所描述的“媒體標(biāo)識(shí)器”,通過向單個(gè)用戶提供對(duì)嵌入在諸如,例如,無線電、電視或因特網(wǎng)廣播的流動(dòng)媒體廣播中的媒體對(duì)象的實(shí)時(shí)服務(wù)器端標(biāo)識(shí),操作來解決上面確定的問題。這些媒體對(duì)象包括,例如,歌曲、廣告、詩句、站標(biāo)識(shí)器等。通常,媒體標(biāo)識(shí)器通過向單個(gè)客戶機(jī)提供至少一個(gè)通過將由每一客戶機(jī)從媒體流中的采樣部分計(jì)算出的“軌跡”在已知指紋的數(shù)據(jù)庫中比較來提供對(duì)在廣播媒體流中的媒體對(duì)象的實(shí)時(shí)標(biāo)識(shí)的服務(wù)器來操作。通常,計(jì)算出的軌跡由每一客戶機(jī)向服務(wù)器發(fā)送,并直接地或通過服務(wù)器端軌跡高速緩存,與已知標(biāo)識(shí)的存儲(chǔ)的、預(yù)先計(jì)算的軌跡(此處指“指紋”,以區(qū)分它們與客戶機(jī)生成的軌跡)的大數(shù)據(jù)庫比較。
具體地,對(duì)每一客戶機(jī),進(jìn)入媒體流的定長的段被用來在重復(fù)的時(shí)間間隔上計(jì)算低維“軌跡”。在一測(cè)試的實(shí)施例中,這樣的軌跡由每一客戶機(jī)以大約每秒鐘六次的數(shù)量級(jí)從所述的大約六秒鐘長度數(shù)量級(jí)的媒體廣播流的采樣中計(jì)算和傳輸。顯然,由于這些參數(shù)一般依賴于用于軌跡計(jì)算的特定的技術(shù),能夠使用更多或更少的軌跡,使用更長或更短的采樣周期。
對(duì)源于媒體流的軌跡的計(jì)算,使用常規(guī)技術(shù)來完成,諸如,例如,在編號(hào)為No.US 2003/0236661,標(biāo)題為“SYSTEM AND METHOD FOR NOISE-ROBUSTFEATURE EXTRACTION(用于噪聲健壯的特征提取的系統(tǒng)和方法)”的美國專利申請(qǐng)出版物中所述的系統(tǒng),其主題通過引用包含在此。通常,這樣的系統(tǒng)通過對(duì)進(jìn)入的媒體流采樣和從采樣的信號(hào)中計(jì)算低維特征向量(即,“軌跡”)來運(yùn)作。從采樣的媒體流的軌跡計(jì)算對(duì)本領(lǐng)域的技術(shù)人員是已知的,且不在這里詳細(xì)描述。
包含指紋數(shù)據(jù)庫的指紋通常以與軌跡相同的方式,使用相同的算法來計(jì)算。然而,不同于軌跡,指紋只從每一已知媒體對(duì)象的一個(gè)或多個(gè)采樣計(jì)算一次,這樣使得建立已知指紋的數(shù)據(jù)庫。一旦被創(chuàng)建,該數(shù)據(jù)庫而后僅僅由服務(wù)器訪問,而無需為已知媒體對(duì)象再次計(jì)算指紋。然而,已知指紋的數(shù)據(jù)庫能夠使用由創(chuàng)建了新的媒體對(duì)象(歌曲等)的新指紋而被更新。從而,已知指紋的數(shù)據(jù)庫最好是脫機(jī)創(chuàng)建的,且僅僅向服務(wù)器提供,這樣能夠在由這里所述的媒體標(biāo)識(shí)器執(zhí)行媒體標(biāo)識(shí)操作時(shí),消除在服務(wù)器上的任何額外的計(jì)算負(fù)載。
對(duì)每一客戶機(jī),服務(wù)器而后使用不精確的匹配,以確定是否有任何軌跡在某些閾值或容許度范圍內(nèi)匹配在數(shù)據(jù)庫中的任何指紋。對(duì)這種不精確的匹配技術(shù)的使用,較精確匹配技術(shù)更優(yōu),因?yàn)榧词箤?duì)媒體流中精確同樣部分計(jì)算得到的軌跡,由客戶機(jī)中的任何一個(gè)計(jì)算出的軌跡可能由于噪聲、干擾、信號(hào)衰減而變化。而且,使用不精確匹配也解決對(duì)在其上計(jì)算軌跡的媒體流的采樣的部分小的時(shí)間上的偏移。在一實(shí)施例中,不精確匹配使用如在本領(lǐng)域中所公知的指紋專用重新歸一,諸如,在2003年5月份發(fā)表在關(guān)于語音和音頻處理的IEEE會(huì)報(bào),關(guān)于語音和音頻處理的IEEE會(huì)報(bào),Vol.11,No.3,第165-174頁,作者為Christopher J.C.Burges、John C.Platt、和Soumya Jana,標(biāo)題為“Distortion Discriminant Analysis for AudioFingerprinting(用于音頻指紋識(shí)別的失真判別式分析)”的出版物中所述,其主題通過引用包含在此,來改進(jìn)精確性。
只要源自一客戶機(jī)的軌跡與一指紋匹配,服務(wù)器告知客戶機(jī)該相應(yīng)于軌跡的特定媒體對(duì)象的身份。在媒體對(duì)象諸如歌曲的情況中,該身份通常包括諸如,例如,歌手、歌曲名稱、專輯名稱、流派等信息。顯然,給定一個(gè)已知媒體對(duì)象,任何所需的信息能夠與用于標(biāo)識(shí)該媒體對(duì)象的在數(shù)據(jù)庫中的指紋相關(guān)聯(lián)。
然而,此處所述的媒體標(biāo)識(shí)器引入了一額外的服務(wù)器端的高速緩存,利用了假定存在有限數(shù)目的媒體流,以及通常在任何給定時(shí)間接收相同媒體流的大量用戶的情況中,在任何時(shí)間,用戶生成的軌跡中的許多可能是幾乎相同的事實(shí),而不是對(duì)發(fā)送給服務(wù)器的每個(gè)軌跡提供對(duì)指紋數(shù)據(jù)庫蠻力的搜索。換言之,在時(shí)間中的任何給定點(diǎn),有可能存在潛在地上萬甚至上千萬的眾多收聽相同的諸如特定無線電、電視或因特網(wǎng)廣播的媒體流的人。這個(gè)被觀察到的事實(shí)允許創(chuàng)建緩存進(jìn)入軌跡和對(duì)匹配指紋數(shù)據(jù)庫搜索結(jié)果的服務(wù)器端的高速緩存。
具體地,從每一客戶機(jī)處得來的每一進(jìn)入軌跡先被含有某些軌跡的高速緩存檢查。如果該軌跡不在高速緩存中,那么而后進(jìn)行完全數(shù)據(jù)庫查找,且數(shù)據(jù)庫查找的結(jié)果,不論是肯定的還是否定的,將同由客戶機(jī)發(fā)送的軌跡一起存儲(chǔ)在高速緩存中。在高速緩存和數(shù)據(jù)庫中的查找能夠使用常規(guī)技術(shù)完成,諸如,例如,使用bailing(一種已知的使用線性掃描加速距離比較的方法)的線性掃描(即,按順序進(jìn)行地)。
在另一實(shí)施例中,在數(shù)據(jù)庫中的查找通過使用位向量索引而加速,如在于2003年6月23日提交的,流水號(hào)為10/602,438,標(biāo)題為“Multidimensional Data ObjectSearching Using Bit Vector Indices(使用位向量索引的多維數(shù)據(jù)對(duì)象搜索)”尚待批準(zhǔn)的美國專利申請(qǐng)中所述,其主題通過引用包含在此。這個(gè)位向量索引方法也在由Jonathan Goldstein、John C.Platt、和Christopher J.C.Burges所著的,于2003年10月28日發(fā)表在微軟技術(shù)報(bào)告MSR-TR-2003-38上的,標(biāo)題為“Indexing HighDimensional Rectangles for Fast Multimedia Identification(用于快速多媒體標(biāo)識(shí)的索引高維矩形)”的出版物中所述,其主題通過引用包含在此。
通常,在上述美國專利申請(qǐng)和相應(yīng)的微軟技術(shù)報(bào)告中所述的位向量索引方法,解決了對(duì)于高維區(qū)域進(jìn)行快速點(diǎn)查詢的問題。這樣的查詢?cè)谌找嬷匾脑谄渲胁煌臄?shù)據(jù)庫條目擁有不同的相似性度量的多媒體標(biāo)識(shí)和檢索問題中是有用的。對(duì)照關(guān)注于高維最近的鄰近點(diǎn)和小正數(shù)范圍查詢的典型的數(shù)據(jù)庫索引,對(duì)高維區(qū)域的點(diǎn)查詢索引提供了依賴冗余和位向量索引的結(jié)合的來達(dá)到顯著的性能增益的高效的索引方法。這樣的方法被觀測(cè)到在整個(gè)真實(shí)世界線性掃描上提供顯著的性能增長。
數(shù)據(jù)庫搜索的否定結(jié)果,即,在數(shù)據(jù)庫中沒有指紋對(duì)軌跡的匹配,是不被傳送回客戶機(jī)的。數(shù)據(jù)庫搜索的肯定結(jié)果,即,在一軌跡和一指紋之間的匹配是被傳送回客戶機(jī)的,這樣標(biāo)識(shí)了從中計(jì)算出軌跡的媒體對(duì)象。如上所述,高速緩存在搜索指紋數(shù)據(jù)庫之前,被搜索來標(biāo)識(shí)匹配軌跡。從而,如果找到一個(gè)對(duì)存儲(chǔ)在高速緩存中的軌跡的匹配,不需要進(jìn)一步的數(shù)據(jù)庫查找,因?yàn)樵诟咚倬彺嬷械能壽E也包含相關(guān)聯(lián)的媒體對(duì)象的身份,或僅僅指出不存在匹配指紋。在軌跡匹配數(shù)據(jù)庫中的指紋的情況中,與該匹配指紋相關(guān)聯(lián)的任何身份信息被傳送回客戶機(jī)。
由媒體標(biāo)識(shí)器提供的服務(wù)器端高速緩存的一個(gè)優(yōu)點(diǎn)是,高速緩存相對(duì)較小,使得高速緩存搜索十分迅速。具體地,高速緩存大小是接收在媒體流中的一點(diǎn)的客戶機(jī)之間的最大預(yù)期延遲,和向其提供標(biāo)識(shí)服務(wù)的唯一的媒體流的數(shù)量的函數(shù)。而且,應(yīng)該注意到高速緩存的大小不是用戶數(shù)量的函數(shù)。
具體地,每一特定媒體廣播流對(duì)每一接收該特定媒體流的客戶機(jī)是大致同步化的。例如,接收相同廣播站的任何兩個(gè)或多個(gè)客戶機(jī),可能接收在大約一秒鐘數(shù)量級(jí)這樣的非常短的時(shí)間偏移內(nèi)的相同的信號(hào)。對(duì)于大多數(shù)因特網(wǎng)或流動(dòng)媒體網(wǎng)絡(luò)廣播也是同樣的情況。
從而,不存在對(duì)在媒體高速緩存中保存軌跡超過最大預(yù)期延遲時(shí)間(延遲時(shí)間也包括對(duì)每一客戶機(jī)計(jì)算和向服務(wù)器傳輸該軌跡的最大預(yù)期延遲)某個(gè)小倍數(shù)時(shí)間的需要。換言之,這個(gè)延遲僅僅是在服務(wù)器對(duì)一特定媒體對(duì)象的一給定部分接收第一個(gè)軌跡到該服務(wù)器(從最慢的客戶機(jī)處)對(duì)同樣的媒體對(duì)象的部分接收最后的軌跡之間的最大時(shí)間。從而,只需要保存軌跡很小的一段時(shí)間,如幾秒鐘數(shù)量級(jí)。作為結(jié)果,不存在對(duì)存儲(chǔ)所有唯一輸入軌跡的大高速緩存的需求。
在一相關(guān)的實(shí)施例中,一個(gè)更簡單的解決方法是,在軌跡不能匹配大約一秒鐘數(shù)量級(jí)的某個(gè)短時(shí)間段中任何進(jìn)入軌跡之后,就簡單地從高速緩存中去除該軌跡,而不是試圖確定或估計(jì)用于設(shè)定在軌跡在高速緩存的生存期的最大延遲時(shí)間。在另一替換實(shí)施例中,其他高速緩沖存儲(chǔ)方案也能夠被使用,包括,例如,基于常用的LRU(最少最近使用)邏輯扔掉軌跡的固定的高速緩存大小的使用。
由于上述概述,應(yīng)該清楚,在此處所屬的媒體標(biāo)識(shí)器提供了用于向要求同步媒體廣播流的眾多并發(fā)客戶機(jī),提供實(shí)時(shí)媒體標(biāo)識(shí)的獨(dú)特的系統(tǒng)和方法。除了所述的益處,當(dāng)結(jié)合附圖考慮時(shí),媒體標(biāo)識(shí)器的其它優(yōu)點(diǎn)會(huì)隨著下述詳細(xì)描述變得明顯。
本發(fā)明的特定特征、方面和優(yōu)點(diǎn)關(guān)于下列描述、所附權(quán)利要求和附圖,能夠被更好地理解,其附圖中圖1是描述組成實(shí)現(xiàn)此處所述的“媒體標(biāo)識(shí)器”的示例性系統(tǒng)的通用計(jì)算設(shè)備的通用系統(tǒng)的框圖。
圖2提供了示出用于實(shí)現(xiàn)此處所述的“媒體標(biāo)識(shí)器”的功能組件之間一般關(guān)系的示例性體系結(jié)構(gòu)的系統(tǒng)框圖。
圖3提供了示出用于實(shí)現(xiàn)此處所述的“媒體標(biāo)識(shí)器”的程序模塊的示例性體系結(jié)構(gòu)的流程圖。
圖4提供了示出此處所述的“媒體標(biāo)識(shí)器”的一實(shí)施例的一般操作的操作流程圖。
具體實(shí)施例方式
在下列本發(fā)明的最佳實(shí)施例的描述中,參考了作為描述的一部分的附圖,且在其中是作為說明可在其中實(shí)現(xiàn)本發(fā)明的特定實(shí)施例而示出的。應(yīng)該理解,可以使用其它實(shí)施例和可以作結(jié)構(gòu)化的修改而不背離本發(fā)明的范圍。
1.0示例性操作環(huán)境圖1示出了可在其上實(shí)現(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的示例。計(jì)算系統(tǒng)環(huán)境100只是合適的計(jì)算環(huán)境的一個(gè)示例,且不旨在對(duì)本發(fā)明的使用范圍和功能提出任何限制。也不應(yīng)該把計(jì)算環(huán)境100解釋為對(duì)在示例性操作環(huán)境100中示出的任一組件或其組合有任何依賴或要求。
本發(fā)明可使用眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來操作??梢赃m用于本發(fā)明的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式計(jì)算機(jī)、膝上型計(jì)算機(jī)或移動(dòng)計(jì)算機(jī)或通信設(shè)備諸如,手機(jī)和PDA、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)者電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括上述系統(tǒng)或設(shè)備中任一個(gè)的分布式計(jì)算環(huán)境等。
本發(fā)明可在諸如由計(jì)算機(jī)與包括麥克風(fēng)陣列198的組件的硬件模塊相結(jié)合來執(zhí)行的程序模塊等的計(jì)算機(jī)可執(zhí)行指令的通用環(huán)境下描述。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計(jì)算環(huán)境下實(shí)現(xiàn),其中任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。參考圖1,用于實(shí)現(xiàn)本發(fā)明的一個(gè)示例性系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。
計(jì)算機(jī)110的組件可以包括,但不限于,處理單元120、系統(tǒng)存儲(chǔ)器130和將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干類型的總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線和使用各種總線體系結(jié)構(gòu)中的任一種的局部總線。作為示例,而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、擴(kuò)展的ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線和外圍部件互連(PCI)總線(也被稱為Mezzanine總線)。
計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能夠被計(jì)算機(jī)110訪問到的任何介質(zhì),且包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。
計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、PROM、ERROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù);CD-ROM、數(shù)字多功能盤(DVD)或其它光學(xué)存儲(chǔ);磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備;或能用于存儲(chǔ)所需信息且可以由計(jì)算機(jī)110訪問的任何其它介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),且包含任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”指的是一信號(hào),其一個(gè)或多個(gè)特征以在信號(hào)中編碼信息的方式被設(shè)定或更改。作為示例,而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,和無線介質(zhì),諸如聲學(xué)、RF、紅外線和其它無線介質(zhì)。上述中任一個(gè)的組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲(chǔ)器130包括易失性或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),諸如只讀存儲(chǔ)器(ROM)131和隨機(jī)存取存儲(chǔ)器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS)包含有助于諸如啟動(dòng)時(shí)在計(jì)算機(jī)110中元件之間傳遞信息的基本例程,它通常存儲(chǔ)在ROM 131中。RAM 132通常包含處理單元120可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例,而非限制,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110也可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作為示例,圖1示出了從不可移動(dòng)、非易失性磁介質(zhì)中讀取或向其寫入的硬盤驅(qū)動(dòng)器141,從可移動(dòng)、非易失性磁盤152中讀取或向其寫入的磁盤驅(qū)動(dòng)器151,以及從諸如CD ROM或其它光學(xué)介質(zhì)等可移動(dòng)、非易失性光盤156中讀取或向其寫入的光盤驅(qū)動(dòng)器155。可以在示例性操作環(huán)境下使用的其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,盒式磁帶、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動(dòng)器141通常由不可移動(dòng)存儲(chǔ)器接口,諸如接口140連接至系統(tǒng)總線121,磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常由可移動(dòng)存儲(chǔ)器接口,諸如接口150連接至系統(tǒng)總線121。
以上描述和在圖1中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)110提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如,在圖1中,硬盤驅(qū)動(dòng)器141被示為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意到這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147在這里被標(biāo)注了不同的標(biāo)號(hào)是為了說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,諸如鍵盤162和指?點(diǎn)設(shè)備161(通常指鼠標(biāo)、跟蹤球或觸摸墊)向計(jì)算機(jī)110輸入命令和信息。
其它輸入設(shè)備(未示出)可以包括操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀、無線電接收機(jī)和電視或廣播錄像接收器等。這些和其它輸入設(shè)備通常由耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但也可以由其它接口或總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線(USB)、IEEE 1394接口、藍(lán)牙TM無線接口、IEEE 802.11無線接口等連接。而且,計(jì)算機(jī)110還可以包括語音或音頻輸入設(shè)備,諸如麥克風(fēng)或麥克風(fēng)陣列198和擴(kuò)音器197或其它通過音頻接口199連接的聲音輸入設(shè)備,再次包括了常規(guī)的有線或無線接口,諸如,例如,并行的、串行的、USB、IEEE 1394、藍(lán)牙TM等。
監(jiān)視器191或其它類型的顯示設(shè)備也經(jīng)由接口,諸如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器以外,計(jì)算機(jī)也可以包括其它外圍輸出設(shè)備,諸如打印機(jī)196,可以通過輸出外圍接口195連接。
計(jì)算機(jī)110可使用至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接在網(wǎng)絡(luò)化環(huán)境下操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它常見網(wǎng)絡(luò)節(jié)點(diǎn),且盡管僅在圖1中示出存儲(chǔ)器存儲(chǔ)設(shè)備181,但是通常包括上文相對(duì)于計(jì)算機(jī)110描述的許多或所有元件。圖1中所示邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可以包括其它網(wǎng)絡(luò)。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接至局域網(wǎng)171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172或用于通過諸如因特網(wǎng)等WAN 173建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)部或外部的,它可以通過用戶輸入接口160或其它合適的機(jī)制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對(duì)于計(jì)算機(jī)110所描述的程序模塊或其部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例,而非限制,圖1示出了遠(yuǎn)程應(yīng)用程序185駐留在存儲(chǔ)器設(shè)備181上??梢岳斫?,所示的網(wǎng)絡(luò)連接是示例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。
2.0引言此處所述的“媒體標(biāo)識(shí)器”向獨(dú)立的用戶提供了對(duì)嵌入在諸如無線電、電視或因特網(wǎng)廣播的被監(jiān)聽的媒體流中的媒體對(duì)象的實(shí)時(shí)標(biāo)識(shí)。這樣的媒體對(duì)象可以包括歌曲、廣告、詩句、站標(biāo)識(shí)符等。
通常,通過將客戶機(jī)生成的“軌跡”同已知標(biāo)識(shí)的所存儲(chǔ)的、預(yù)先計(jì)算的軌跡(此處指“指紋”,以區(qū)分它們與客戶機(jī)生成的軌跡)的大數(shù)據(jù)庫比較,向獨(dú)立客戶機(jī)提供對(duì)媒體對(duì)象的標(biāo)識(shí)。這些客戶機(jī)生成的軌跡由每一客戶機(jī)從在一個(gè)正在行進(jìn)的基礎(chǔ)上的媒體流的采樣中計(jì)算,且被傳輸給服務(wù)器用于標(biāo)識(shí)。
而且,給定有限數(shù)量的媒體流和一個(gè)大得多的數(shù)量的客戶機(jī),發(fā)送給服務(wù)器的許多軌跡可能是幾乎相同的,因?yàn)榭蛻魴C(jī)中的許多會(huì)并發(fā)地監(jiān)視相同的媒體流。這個(gè)觀測(cè)在用于限制標(biāo)識(shí)特定軌跡必需的數(shù)據(jù)庫查詢數(shù)量的可搜索動(dòng)態(tài)軌跡高速緩存的創(chuàng)建中使用,這樣媒體對(duì)象與這些軌跡相關(guān)聯(lián)。搜索軌跡高速緩存而不是數(shù)據(jù)庫的一個(gè)優(yōu)點(diǎn)是,指紋的一個(gè)可工作的數(shù)據(jù)庫通常包括幾百萬個(gè)條目,而軌跡高速緩存通常比其小幾個(gè)數(shù)量級(jí)。
軌跡高速緩存僅存儲(chǔ)由多個(gè)客戶機(jī)發(fā)送的最近的軌跡的一個(gè)副本,同數(shù)據(jù)庫搜索結(jié)果一起,不論是肯定的還是否定的。換言之,由客戶機(jī)中的一個(gè)發(fā)送的當(dāng)前不存在于高速緩存中的任何軌跡將會(huì)被存儲(chǔ)在高速緩存中,至少暫時(shí)地,如下文詳細(xì)解釋。從而,軌跡高速緩存在作數(shù)據(jù)庫查詢之前被搜索。而且,存儲(chǔ)在軌跡高速緩存中的軌跡作為時(shí)間的一個(gè)函數(shù)而被去除。在一實(shí)施例中,這僅僅是一個(gè)預(yù)設(shè)的“生存期”,而在相關(guān)實(shí)施例,這個(gè)存活的時(shí)間是自從基于由某一客戶機(jī)向服務(wù)器發(fā)送的最后匹配軌跡的一段時(shí)間。換言之,當(dāng)高速緩存條目沒有匹配的軌跡命中而衰老時(shí),它們簡單地被從該高速緩存中去除。
這些一般概念是由示出實(shí)現(xiàn)媒體標(biāo)識(shí)器的組件之間的一般功能關(guān)系的圖2的示例性體系結(jié)構(gòu)系統(tǒng)框圖所示出的。具體地,圖2顯示,多個(gè)客戶機(jī)200中的每一個(gè)接收媒體廣播流210。如在此的詳細(xì)描述,可用的媒體流210的總體,諸如電臺(tái)廣播、電視或有線電視廣播、基于網(wǎng)絡(luò)的流動(dòng)媒體等,是比潛在的客戶機(jī)200的數(shù)量小得多。從而,媒體流210的大多數(shù)會(huì)被多于一個(gè)的客戶機(jī)200同時(shí)監(jiān)聽,可能上百個(gè)、上千個(gè)甚至上百萬個(gè)客戶機(jī)。然而,應(yīng)該注意到,因?yàn)槊襟w流包含本地可用廣播,而客戶機(jī)可以位于世界上的任何地方通過因特網(wǎng)220或其它網(wǎng)絡(luò)同服務(wù)器230通信,不是所有的媒體流210對(duì)所有的客戶機(jī)200可用。
客戶機(jī)200而后對(duì)被監(jiān)聽的媒體流210采樣,且通過網(wǎng)絡(luò)或因特網(wǎng)220向服務(wù)器230(或服務(wù)器庫)發(fā)送計(jì)算出的軌跡。服務(wù)器230而后檢查軌跡高速緩存240,且如果必要,檢查指紋數(shù)據(jù)庫250,試圖標(biāo)識(shí)出生成該軌跡的媒體對(duì)象。如果標(biāo)識(shí)出了,相對(duì)于特定軌跡的媒體標(biāo)識(shí)信息由服務(wù)器230通過網(wǎng)絡(luò)220被返回給發(fā)送客戶機(jī)200。
2.1系統(tǒng)概述如上所述,在此所述的媒體標(biāo)識(shí)器向客戶機(jī)提供了嵌入在諸如,例如,無線電、電視或因特網(wǎng)廣播的流動(dòng)媒體廣播中的媒體對(duì)象的實(shí)時(shí)服務(wù)器端的標(biāo)識(shí)。通常,媒體標(biāo)識(shí)器通過提供至少一個(gè)向獨(dú)立客戶機(jī)通過將由每一客戶機(jī)從媒體流采樣的部分中計(jì)算出的“軌跡”同已知指紋的數(shù)據(jù)庫比較來提供對(duì)在廣播媒體流中的媒體對(duì)象的實(shí)時(shí)標(biāo)識(shí)的服務(wù)器來操作。通常,計(jì)算出的軌跡是由每一客戶機(jī)向服務(wù)器發(fā)送的,且被直接地或通過服務(wù)器端軌跡高速緩存與已知標(biāo)識(shí)的存儲(chǔ)的、預(yù)先計(jì)算的指紋的大數(shù)據(jù)庫比較。
對(duì)每一客戶機(jī),服務(wù)器而后使用不精確匹配來確定是否有任何軌跡在某一閾值或容許度范圍內(nèi)與數(shù)據(jù)庫中的任何指紋匹配。使用這樣的不精確匹配技術(shù)比精確匹配技術(shù)更優(yōu),因?yàn)橛扇魏尾煌目蛻魴C(jī)計(jì)算出的軌跡可能由于噪聲、干擾、信號(hào)衰減等的原因而變化,即使軌跡名義上是由媒體流的相同部分計(jì)算出的。而且,使用不精確匹配也解決軌跡從中計(jì)算出的媒體流的采樣部分的小的時(shí)間偏移。
無論何時(shí)從一客戶機(jī)得到的軌跡匹配了一指紋(不論在軌跡高速緩存中或在指紋數(shù)據(jù)庫中),服務(wù)器告知該客戶機(jī)關(guān)于對(duì)應(yīng)于該軌跡的特定媒體對(duì)象的身份。在媒體對(duì)象諸如歌曲的情況中,該身份通常包括諸如,例如,歌手、歌曲名稱、專輯名稱、流派等信息。顯然,給定一個(gè)已知媒體對(duì)象,任何所需的信息能夠與用于標(biāo)識(shí)該媒體對(duì)象的在數(shù)據(jù)庫中的指紋相關(guān)聯(lián)。
然而,此處所述的媒體標(biāo)識(shí)器引入了一額外的服務(wù)器端的高速緩存,利用了假定存在有限的媒體流數(shù)量,和通常在任何給定時(shí)間接收相同媒體流的大量用戶的情況中,在任何時(shí)間,用戶生成的軌跡中的許多可能是幾乎相同的事實(shí),而不是對(duì)發(fā)送給服務(wù)器的每個(gè)軌跡提供對(duì)指紋數(shù)據(jù)庫蠻力的搜索。換言之,在時(shí)間中的任何給定點(diǎn),有可能存在潛在地上萬甚至上千萬的眾多收聽相同的諸如特定無線電、電視或因特網(wǎng)廣播的媒體流的人。這個(gè)被察到的事實(shí)允許創(chuàng)建高速緩存進(jìn)入軌跡和對(duì)匹配指紋數(shù)據(jù)庫搜索結(jié)果的服務(wù)器端的軌跡高速緩存。
具體地,從每一客戶機(jī)處得來的每一進(jìn)入軌跡先被含有某些軌跡的高速緩存檢查。如果該軌跡不在高速緩存中,那么將其存儲(chǔ)在那里,并進(jìn)行完全數(shù)據(jù)庫查找,且數(shù)據(jù)庫查找的結(jié)果,不論是肯定的還是否定的,將同由客戶機(jī)發(fā)送的軌跡一起存儲(chǔ)在高速緩存中。在高速緩存和數(shù)據(jù)庫中的查找能夠使用常規(guī)技術(shù)完成,諸如,例如,使用bailing(一種已知的使用線性掃描加速距離比較的方法)的線性掃描(即,按順序進(jìn)行地)。
在另一實(shí)施例中,在數(shù)據(jù)庫中的查找通過使用位向量索引而加速,如在于2003年6月23日提交的,流水號(hào)為10/602,438,標(biāo)題為“Multidimensional Data ObjectSearching Using Bit Vector Indices(使用位向量索引的多維數(shù)據(jù)對(duì)象搜索)”共同待批?的美國專利申請(qǐng)中所述,其主題通過引用包含在此。這個(gè)位向量索引方法也在由Jonathan Goldstein、John C.Platt、和Christopher J.C.Burges所著的,于2003年10月28日發(fā)表在微軟技術(shù)報(bào)告MSR-TR-2003-38上的,標(biāo)題為“Indexing HighDimensional Rectangles for Fast Multimedia Identification(用于快速多媒體標(biāo)識(shí)的索引高維矩形)”的出版物中所述,其主題通過引用包含在此。
通常,在上述美國專利申請(qǐng)和相應(yīng)的微軟技術(shù)報(bào)告中所述的位向量索引方法,解決了對(duì)于高維區(qū)域進(jìn)行快速點(diǎn)查詢的問題。這樣的查詢?cè)谌找嬷匾脑谄渲胁煌臄?shù)據(jù)庫條目擁有不同的相似性度量的多媒體標(biāo)識(shí)和檢索問題中是有用的。對(duì)照關(guān)注于高維最近的鄰近點(diǎn)和小正數(shù)范圍查詢的典型的數(shù)據(jù)庫索引,對(duì)高維區(qū)域的點(diǎn)查詢索引提供了依賴冗余和位向量索引的結(jié)合的來達(dá)到顯著的性能增益的高效的索引方法。這樣的方法被觀測(cè)到在真實(shí)世界線性掃描上提供顯著的性能增長。
如上述數(shù)據(jù)庫搜索實(shí)施例的每一個(gè),數(shù)據(jù)庫搜索的否定結(jié)果,即,在數(shù)據(jù)庫中沒有指紋對(duì)軌跡的匹配,是不被傳送回客戶機(jī)的。數(shù)據(jù)庫搜索的肯定結(jié)果,即,在一軌跡和一指紋之間的匹配是被傳送回客戶機(jī)的,這樣標(biāo)識(shí)了從中計(jì)算出軌跡的媒體對(duì)象。如上所述,高速緩存在搜索指紋數(shù)據(jù)庫之前,被搜索來標(biāo)識(shí)匹配軌跡。從而,如果找到一個(gè)對(duì)存儲(chǔ)在高速緩存中的軌跡的匹配,不需要進(jìn)一步的數(shù)據(jù)庫查找,因?yàn)樵诟咚倬彺嬷械能壽E也包含相關(guān)聯(lián)的媒體對(duì)象的身份,或僅僅指出不存在匹配指紋。在軌跡匹配數(shù)據(jù)庫中的指紋的情況中,與該匹配指紋相關(guān)聯(lián)的任何身份信息被傳送回客戶機(jī)。
2.2系統(tǒng)體系結(jié)構(gòu)概述在如上發(fā)明內(nèi)容所述的過程由圖3的通用系統(tǒng)框圖示出。具體地,圖3的系統(tǒng)框圖示出了用于實(shí)現(xiàn)此處所述的媒體標(biāo)識(shí)器的程序模塊之間的相互關(guān)系。
通常,媒體標(biāo)識(shí)器通過使每一客戶機(jī)使用媒體流捕捉模塊305來接收媒體流210中一個(gè)來接收該媒體流,開始關(guān)于每一客戶機(jī)200的操作。注意到,媒體流210可以是音頻流、視頻流或其混合??蛻魴C(jī)200而后使用媒體流采樣模塊對(duì)輸入的媒體流進(jìn)行實(shí)時(shí)采樣。軌跡計(jì)算模塊而后被每一客戶機(jī)使用來從采樣的媒體流中不斷地生成軌跡。注意到,每一客戶機(jī)生成的軌跡的數(shù)量和頻率在下文第3部分中進(jìn)一步詳細(xì)描述。生成的軌跡而后被提供給通過網(wǎng)絡(luò)或因特網(wǎng)220向服務(wù)器230發(fā)送軌跡的軌跡發(fā)送模塊320。
服務(wù)器230而后使用用于從多個(gè)客戶機(jī)200處接收發(fā)送的軌跡的軌跡接收模塊。一旦服務(wù)器230開始從各個(gè)客戶機(jī)200處接收軌跡,軌跡被提供給軌跡查找模塊335,查找模塊224首先搜索軌跡高速緩存240來尋找匹配的軌跡。如果在軌跡高速緩存中不存在匹配的軌跡,該軌跡被存儲(chǔ)在軌跡高速緩存中,且由軌跡查找模塊335執(zhí)行對(duì)指紋數(shù)據(jù)庫250的搜索。
最后,高速緩存維護(hù)模塊345提供通用高速緩存清除操作。如上所述,具體地,所有的由服務(wù)器230接收的不能在軌跡高速緩存240中找到的軌跡,同相應(yīng)的數(shù)據(jù)庫搜索結(jié)果(不論是肯定的或否定的)一起被添加至該高速緩存中。然而,如果沒有對(duì)該過程的某些限制,該軌跡高速緩存240會(huì)迅速溢出。從而,如在第3部分中進(jìn)一步詳細(xì)描述,該軌跡高速緩存隨時(shí)間的函數(shù)清除較老的軌跡。具體地,在一實(shí)施例中,高速緩存維護(hù)模塊345從高速緩存中刪除任何比某個(gè)預(yù)定的時(shí)間段更老的軌跡?;蛘撸咚倬彺婢S護(hù)模塊345刪除任何在某個(gè)預(yù)定時(shí)間段中沒有與由軌跡查找模塊335輸入的軌跡匹配的模塊。在又一實(shí)施例中,高速緩存維護(hù)模塊345使用這些軌跡生存期的組合,或使用對(duì)肯定的數(shù)據(jù)庫250命中或否定的數(shù)據(jù)庫命中的軌跡的不同的軌跡生存期。
3.0操作概述上述描述的程序模塊被用來實(shí)現(xiàn)該媒體標(biāo)識(shí)器。如上在發(fā)明內(nèi)容中所述,媒體標(biāo)識(shí)器向獨(dú)立客戶機(jī)提供對(duì)嵌入在諸如無線電或因特網(wǎng)廣播的被監(jiān)聽的媒體流中的媒體對(duì)象的實(shí)時(shí)標(biāo)識(shí)。下述部分提供了對(duì)媒體標(biāo)識(shí)器操作和用于實(shí)現(xiàn)參考圖2和圖3在第2部分所述的程序模塊的示例性方法的詳細(xì)的討論。另外,在下文部分3.1提供的對(duì)媒體標(biāo)識(shí)器操作的詳細(xì)描述之后,參考圖4提供了考慮到該詳細(xì)描述的概述媒體標(biāo)識(shí)器整個(gè)操作的操作流程圖。
3.1媒體標(biāo)識(shí)器的操作細(xì)節(jié)下列段落提供了此處所述的媒體標(biāo)識(shí)器的特定的操作和備選實(shí)施例的細(xì)節(jié)。具體地,下列段落描述了軌跡的計(jì)算和指紋數(shù)據(jù)庫的構(gòu)造;在軌跡高速緩存中的軌跡的生存期;對(duì)軌跡高速緩存的搜索;數(shù)據(jù)庫搜索;使用下載的指紋數(shù)據(jù)庫的子集對(duì)本地客戶機(jī)查找的使用;和最后,向客戶機(jī)提供媒體對(duì)象標(biāo)識(shí)。
3.1.1軌跡計(jì)算和指紋數(shù)據(jù)庫構(gòu)造用于媒體標(biāo)識(shí)的對(duì)從音頻信號(hào)或從音頻流的采樣中的軌跡或“指紋”的計(jì)算是對(duì)本領(lǐng)域的技術(shù)人員很好理解的一個(gè)概念。一般,這樣的系統(tǒng)通常通過對(duì)輸入媒體流采樣和從該采樣的信號(hào)中計(jì)算緊致的特征向量(即,“軌跡”)來操作。這些緊致的特征向量可以包括低維限量或它們可以包括二元散列關(guān)鍵字。因?yàn)閷?duì)從采樣的媒體流的軌跡計(jì)算對(duì)本領(lǐng)域的技術(shù)人員是已知的,該主題在這里將不被詳細(xì)描述。
關(guān)于媒體標(biāo)識(shí)器,對(duì)媒體流的軌跡計(jì)算使用諸多常規(guī)技術(shù)中的任何一種來完成。例如,在媒體標(biāo)識(shí)器的一測(cè)試實(shí)施例中所使用的一種軌跡計(jì)算技術(shù)在編號(hào)為No.US 2003/0236661,標(biāo)題為“SYSTEM AND METHOD FOR NOISE-ROBUSTFEATURE EXTRACTION(用于噪聲健壯的特征提取的系統(tǒng)和方法)”的美國專利申請(qǐng)出版物中所描述,其主題通過引用包含在此。
前述編號(hào)為No.US 2003/0236661的美國專利申請(qǐng)出版物所述的系統(tǒng),通常通過計(jì)算,或使用使用“失真判別式分析”(DDA)來定義該特征提取器的參數(shù)的在人工和/或真實(shí)世界信號(hào)混合物上訓(xùn)練的“特征提取器”從音頻信號(hào)中提取特征來操作。所述特征提取器使用含有一維或多維時(shí)間或空間結(jié)構(gòu)的信號(hào),在信號(hào)的限制區(qū)域應(yīng)用導(dǎo)向的主分量分析(OPCA),聚集多個(gè)空間或時(shí)間鄰近的多個(gè)OPCA的輸出,以及對(duì)該聚合應(yīng)用OPCA。聚集鄰近的OPCA輸出和在該聚合值上應(yīng)用OPCA的步驟,執(zhí)行了一次或多次用于從信號(hào)中,包括音頻信號(hào)、圖像、視頻數(shù)據(jù)或任何其它的時(shí)間或頻域數(shù)據(jù)提取低維噪聲健壯特征。一旦被訓(xùn)練,特征提取器而后僅被用于生成此處所述的媒體標(biāo)識(shí)器所使用的軌跡(和指紋)。
然而,如上所述,上述確定的“特征提取器”顯然不是計(jì)算軌跡和指紋的僅有方法。不論軌跡或指紋是如何被計(jì)算的,基本的想法是為每一客戶機(jī)計(jì)算輸入媒體流的定長片段的緊致“軌跡”。在一測(cè)試實(shí)施例中,這樣的軌跡被以大約每秒鐘六次的數(shù)量級(jí)從所述的大約六秒鐘數(shù)量級(jí)的媒體廣播流的采樣中計(jì)算和發(fā)送。顯然,由于這些參數(shù)一般依賴于用于軌跡計(jì)算的特定的技術(shù),能夠使用更多或更少的軌跡,使用更長或更短的采樣周期。
包含指紋數(shù)據(jù)庫的指紋通常以與軌跡相同的方式,使用相同的算法來計(jì)算,這樣在每一客戶機(jī)所計(jì)算的軌跡和用于構(gòu)成指紋數(shù)據(jù)庫的指紋之間存在明顯的對(duì)應(yīng)關(guān)系。然而,不同于在媒體流進(jìn)行中不斷地被計(jì)算的軌跡,指紋從已知媒體對(duì)象內(nèi)的特定位置上獲取的一個(gè)或多個(gè)采樣上僅被計(jì)算一次,這樣構(gòu)成了對(duì)應(yīng)于那些已知媒體對(duì)象的數(shù)據(jù)庫指紋。對(duì)每一媒體對(duì)象計(jì)算的指紋的數(shù)量可以如所需那樣少或多。然而,在一測(cè)試實(shí)施例中,觀察到對(duì)每一媒體對(duì)象提供若指紋是足夠提供健壯的媒體對(duì)象標(biāo)識(shí)的。
一旦被創(chuàng)建,如此處所述,該指紋數(shù)據(jù)庫而后僅僅由服務(wù)器訪問,而無需為已知媒體對(duì)象再次計(jì)算指紋。然而,已知指紋的數(shù)據(jù)庫能夠使用由創(chuàng)建了新的媒體對(duì)象(歌曲等)的新指紋而被更新。從而,已知指紋的數(shù)據(jù)庫最好是脫機(jī)創(chuàng)建的,使用無論什么樣的客戶機(jī)用來計(jì)算軌跡的軌跡計(jì)算算法,且而后僅僅向服務(wù)器提供,這樣能夠在由這里所述的媒體標(biāo)識(shí)器執(zhí)行媒體標(biāo)識(shí)操作時(shí),消除在服務(wù)器上的任何額外的計(jì)算負(fù)載。
3.1.2軌跡高速緩存生存期由媒體標(biāo)識(shí)器提供的服務(wù)器端的高速緩存的一個(gè)優(yōu)點(diǎn)是,高速緩存相對(duì)較小,使得高速緩存搜索十分迅速。具體地,高速緩存大小是來自每一客戶機(jī)的請(qǐng)求之間的最大預(yù)期延遲,和向其提供標(biāo)識(shí)服務(wù)的唯一的媒體流的數(shù)量的函數(shù)。而且,應(yīng)該注意到高速緩存的大小不是用軌跡標(biāo)識(shí)請(qǐng)求訪問服務(wù)器的獨(dú)立客戶機(jī)或用戶數(shù)量的函數(shù)。
具體地,每一特定媒體廣播流對(duì)每一接收該特定媒體流的客戶機(jī)是大致同步化的。例如,接收相同廣播站的任何兩個(gè)或多個(gè)客戶機(jī),可能接收在大約一秒鐘數(shù)量級(jí)這樣的取決于所接收的媒體流的類型和來源的非常短的最大時(shí)間偏移內(nèi)的相同的信號(hào)。對(duì)于大多數(shù)因特網(wǎng)或流動(dòng)媒體網(wǎng)絡(luò)廣播也是同樣的情況。
從而,不存在對(duì)在媒體高速緩存中保存軌跡超過最大預(yù)期用戶之間延遲時(shí)間(延遲時(shí)間也包括對(duì)每一客戶機(jī)計(jì)算和向服務(wù)器發(fā)送該軌跡的最大預(yù)期延遲)某個(gè)小倍數(shù)時(shí)間的需要。換言之,這個(gè)延遲僅僅是在服務(wù)器對(duì)一特定媒體對(duì)象的一給定部分接收第一個(gè)軌跡到該服務(wù)器(從最慢的客戶機(jī)處)對(duì)同樣的媒體對(duì)象的部分接收最后的軌跡之間的最大時(shí)間。從而,只需要保存軌跡很小的一段時(shí)間,在幾秒鐘的數(shù)量級(jí)。作為結(jié)果,不存在對(duì)存儲(chǔ)所有唯一進(jìn)入軌跡的大高速緩存的需求。
從而,不存在對(duì)在媒體高速緩存中保存軌跡超過最大預(yù)期延遲時(shí)間(延遲時(shí)間也包括對(duì)每一客戶機(jī)計(jì)算和向服務(wù)器傳輸該軌跡的最大預(yù)期延遲)某個(gè)小倍數(shù)時(shí)間的需要。換言之,這個(gè)延遲僅僅是在服務(wù)器對(duì)一特定媒體對(duì)象的一給定部分接收第一個(gè)軌跡到該服務(wù)器(從最慢的客戶機(jī)處)對(duì)同樣的媒體對(duì)象的部分接收最后的軌跡之間的最大時(shí)間。從而,只需要保存軌跡很小的一段時(shí)間,幾秒鐘的數(shù)量級(jí)。作為結(jié)果,不存在對(duì)存儲(chǔ)所有唯一進(jìn)入軌跡的大高速緩存的需求。
在一相關(guān)的實(shí)施例中,一個(gè)更簡單的解決方法是,在軌跡不能匹配大約一秒鐘數(shù)量級(jí)的某個(gè)短時(shí)間段中任何進(jìn)入軌跡之后,就簡單地從高速緩存中去除該軌跡,而不是試圖確定或估計(jì)用于設(shè)定在軌跡在高速緩存的生存期的最大延遲時(shí)間。在另一替換實(shí)施例中,其他高速緩沖存儲(chǔ)方案也能夠被使用,包括,例如,基于常用的LRU(最少最近使用)邏輯扔掉軌跡的固定的高速緩存大小的使用。
3.1.3軌跡高速緩存搜索如上所述,一旦服務(wù)器接收任何軌跡,軌跡高速緩存立即被搜索以確定在軌跡高速緩存中是否有匹配的軌跡。如果存在一個(gè)匹配,那么,作出關(guān)于該匹配軌跡是否含有相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息或是否它是一個(gè)在數(shù)據(jù)庫中沒有找到的軌跡的判斷。再次,在軌跡高速緩存中沒有找到的軌跡被添加到軌跡高速緩存中,且立即搜索數(shù)據(jù)庫以確定該軌跡是否存在在數(shù)據(jù)庫中。
使用常規(guī)的信號(hào)比較技術(shù)作出關(guān)于輸入的軌跡是否與在軌跡高速緩存中的任何軌跡匹配的判斷。這樣的技術(shù)包括,例如,常規(guī)的互相關(guān)和直接將進(jìn)入的軌跡的點(diǎn)同在軌跡高速緩存中的每一軌跡比較的線性掃描。在任一情況中,如上所述,匹配最好是不精確的,因?yàn)橛扇魏尾煌目蛻魴C(jī)計(jì)算出的軌跡可能由于噪聲、干擾、信號(hào)衰減等的原因而變化,即使軌跡名義上是由媒體流的相同部分計(jì)算出的??梢允褂镁_匹配,但它被證實(shí)在恰當(dāng)?shù)貥?biāo)識(shí)匹配軌跡上效果較差。在一實(shí)施例中,不精確匹配使用如在本領(lǐng)域中所公知的指紋專用重歸一,諸如,在2003年5月份發(fā)表在關(guān)于語音和音頻處理的IEEE會(huì)報(bào),關(guān)于語音和音頻處理的IEEE會(huì)報(bào),Vol.11,No.3,第165-174頁,作者為Christopher J.C.Burges、John C.Platt、和Soumya Jana,標(biāo)題為“Distortion Discriminant Analysis for Audio Fingerprinting(用于音頻指紋識(shí)別的失真判別式分析)”的出版物中所述,其主題通過引用包含在此,來改進(jìn)精確性。
在不精確匹配的情況中,匹配是關(guān)于某個(gè)距離度量f和一相應(yīng)的閾值θ來決定的。例如,如果軌跡是低維向量,為直接比較進(jìn)入的軌跡X與一組已高速緩存軌跡Y,一個(gè)作出軌跡之間的比較的簡單的方法是,僅對(duì)每一索引為j的軌跡估計(jì)一次在公式1中的平方歐幾里德距離Σi=1n(xi-yij)2<θj]]>公式1其中xi是軌跡中的第i個(gè)元素,yij是第j個(gè)高速緩存中的軌跡的第i個(gè)元素,n是一軌跡向量的成分的數(shù)量,且θj是與第j個(gè)高速緩存中的軌跡相關(guān)聯(lián)的距離閾值。
應(yīng)該注意到,上述的比較方法僅是用于比較信號(hào)或軌跡的眾多常規(guī)技術(shù)中的一個(gè)。這樣的方法對(duì)本領(lǐng)域的技術(shù)人員是公知的,且將不在此處描述。然而,應(yīng)該理解用于比較兩個(gè)信號(hào)或軌跡的任何常規(guī)的技術(shù)是可應(yīng)用在此處所述媒體標(biāo)識(shí)器的使用,且該媒體標(biāo)識(shí)器不旨在被限制于上述簡單線性掃描的使用。而且,也存在用于加速匹配信號(hào)或軌跡搜索的諸多常規(guī)技術(shù)。一個(gè)簡單的方法是僅按照先前匹配出現(xiàn)的頻率搜索該高速緩存。顯然,存在其它的常規(guī)搜索加速方案,其中的任何一個(gè)是可應(yīng)用于此處所述的媒體標(biāo)識(shí)器的使用。
3.1.4數(shù)據(jù)庫搜索如上所述,數(shù)據(jù)庫搜索僅在一特定的輸入軌跡不能匹配在軌跡高速緩存中的軌跡中的任何一個(gè)的情況下執(zhí)行。對(duì)指紋數(shù)據(jù)庫的實(shí)際搜索是以同在軌跡高速緩存中搜索匹配的方法幾乎相同的方法完成的。事實(shí)上,上述關(guān)于軌跡高速緩存搜索的軌跡比較的相同類型被使用于將進(jìn)入的軌跡與在指紋數(shù)據(jù)庫中的指紋比較。然而,應(yīng)該注意到指紋數(shù)據(jù)庫被預(yù)期遠(yuǎn)大于軌跡高速緩存。事實(shí)上,如果將世界上流傳送的或廣播的音樂的可用頻譜完全表示,僅含有歌曲指紋的媒體對(duì)象數(shù)據(jù)庫可以被預(yù)期擁有上百萬條目。從而,用于加速數(shù)據(jù)庫搜索的方法趨于遠(yuǎn)重要于對(duì)軌跡高速緩存搜索的加速。
在此方面,按照流行程度或出現(xiàn)的頻率來搜索趨向于提供在性能上顯著的增加,因?yàn)樵谝粋€(gè)或多個(gè)媒體流中流動(dòng)一首非常流行的歌曲比一不知名歌手的某首古老的歌曲更有可能。測(cè)量出現(xiàn)的頻率是一個(gè)容易完成的任務(wù)。具體地,一個(gè)簡單的方法是,僅對(duì)一特定媒體對(duì)象在不同流和在某一時(shí)間片段上不同次數(shù)確定的次數(shù)的數(shù)量計(jì)數(shù)(通過對(duì)軌跡高速緩存命中和數(shù)據(jù)庫匹配計(jì)數(shù))。用于搜索的目的,在指紋數(shù)據(jù)庫中的條目能夠按照出現(xiàn)頻率的順序排序。而且,如上所述,存在諸多用于加速匹配信號(hào)或軌跡的數(shù)據(jù)庫搜索的常規(guī)技術(shù),其中的任何一個(gè)可應(yīng)用于此處所述的媒體標(biāo)識(shí)器的使用。
3.1.5本地?cái)?shù)據(jù)庫查找在一實(shí)施例中,通過自動(dòng)向一個(gè)或多個(gè)本地客戶機(jī)上傳整個(gè)指紋數(shù)據(jù)庫的某小部分或子集(也有可能是軌跡高速緩存的某一部分)進(jìn)一步減少服務(wù)器負(fù)載。通常,這些上傳給獨(dú)立客戶機(jī)的軌跡和/或子集應(yīng)該是那些最頻繁觀測(cè)到的(即,對(duì)應(yīng)于最流行的媒體對(duì)象的那些軌跡/指紋)。
在這個(gè)實(shí)施例中,擁有指紋數(shù)據(jù)庫和/或軌跡高速緩存的子集(即,“本地軌跡子集”)的每一客戶機(jī)會(huì)在向服務(wù)器發(fā)送用于標(biāo)識(shí)目的的任何計(jì)算出的軌跡之前,首先查詢本地軌跡子集,而不是立即向服務(wù)器發(fā)送每個(gè)計(jì)算出的軌跡。如果任何計(jì)算出的軌跡與在本地軌跡子集中的軌跡的任何一個(gè)向匹配,那么而后與該在本地軌跡子集中的匹配軌跡相關(guān)聯(lián)的任何標(biāo)識(shí)信息,被分配給計(jì)算出的軌跡,且該倍計(jì)算出的軌跡而后不被發(fā)送給服務(wù)器。以這種方式,至少媒體標(biāo)識(shí)負(fù)載中某些能夠從服務(wù)器向一個(gè)或多個(gè)本地客戶機(jī)卸載。
應(yīng)該注意到,在本地軌跡子集中的軌跡對(duì)每首歌能夠包含比在完全服務(wù)器數(shù)據(jù)庫中更多的指紋,因?yàn)橹T如歌曲的目前流行的媒體對(duì)象的數(shù)量,相對(duì)于整個(gè)媒體對(duì)象數(shù)目來說相對(duì)較少。這具有進(jìn)一步減少發(fā)送給服務(wù)器的軌跡數(shù)量增加了的優(yōu)點(diǎn),因?yàn)橐坏┳鞒銎ヅ洌灰襟w對(duì)象播放,目前播放的媒體對(duì)象就能夠被與對(duì)該媒體對(duì)象的指紋的本地存儲(chǔ)本地地檢查。例如,如果對(duì)一首歌每5秒鐘計(jì)算一指紋,只要軌跡每5秒鐘找到預(yù)期的匹配,該客戶機(jī)就不需要向服務(wù)器發(fā)送任何軌跡。
在另一實(shí)施例中,一旦確定了一個(gè)肯定的匹配,客戶機(jī)在諸如歌曲S的該被標(biāo)識(shí)的媒體對(duì)象的剩余部分的持續(xù)時(shí)間內(nèi),簡單地停止向服務(wù)器發(fā)送軌跡。當(dāng)找到一個(gè)肯定的匹配時(shí),該持續(xù)時(shí)間信息同其它標(biāo)識(shí)信息一起能夠從服務(wù)器向客戶機(jī)發(fā)送。盡管這是一個(gè)進(jìn)一步減輕服務(wù)器/高速緩存系統(tǒng)負(fù)擔(dān)的簡單方法,但是它會(huì)造成虛的否定(即,應(yīng)該標(biāo)識(shí)的媒體對(duì)象沒有被標(biāo)識(shí)),例如,如果用戶在上述標(biāo)識(shí)出的歌曲S結(jié)束之前轉(zhuǎn)變了媒體流。然而,這能夠通過簡單地保持跟蹤何時(shí)客戶機(jī)切換流,以及然后無論何時(shí)發(fā)生流切換立即開始再次向服務(wù)器發(fā)送軌跡(在首先檢查本地軌跡子集之后,如果子集還存在),來防止。
3.1.6媒體對(duì)象標(biāo)識(shí)如上所述,對(duì)媒體對(duì)象的標(biāo)識(shí)通過由本地客戶機(jī)計(jì)算出的軌跡與由服務(wù)器保存的軌跡或指紋(除了在如上所述的搜索本地軌跡子集的情況中)匹配來完成。如上所述,無論何時(shí),服務(wù)器標(biāo)識(shí)含有相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息的軌跡或指紋的匹配,而后該媒體對(duì)象信息立即從服務(wù)器傳回給向服務(wù)器發(fā)送該特定匹配軌跡的特定客戶機(jī)。
一旦該媒體標(biāo)識(shí)信息被客戶機(jī)所接收,而后該客戶機(jī)能夠以無論何種方式使用所需的信息。例如,在最簡單的情況中,客戶機(jī)能夠簡單地以實(shí)時(shí)方式展示該媒體對(duì)象信息,這樣來告知用戶在媒體流中正在播放的是什么媒體對(duì)象。對(duì)媒體對(duì)象標(biāo)識(shí)信息的其它使用是要構(gòu)造提供由每一獨(dú)立客戶機(jī)監(jiān)聽的任一媒體流中標(biāo)識(shí)出的媒體對(duì)象的本地歷史紀(jì)錄的本地播放列表。
3.2媒體標(biāo)識(shí)器操作參考圖2和圖3,上面描述的過程是由圖4的一般操作流程圖所示出的。一般,圖4示出了顯示媒體標(biāo)識(shí)器的若干操作實(shí)施例的示例性操作流程圖。應(yīng)該注意到,在圖4中的任何框和由虛線或短劃線表示的框之間的互相聯(lián)系,表示了此處所述媒體標(biāo)識(shí)器的備選實(shí)施例,且如下所述,這些備選實(shí)施例中的任何和全部可以在貫穿這個(gè)文檔中所述的其它備選實(shí)施例結(jié)合使用。而且,應(yīng)該注意到,在下文的討論中,該系統(tǒng)一般關(guān)于使用單個(gè)服務(wù)器操作的單個(gè)客戶機(jī)而描述的。然而,考慮到前述的討論,應(yīng)該清楚,此處所述的媒體標(biāo)識(shí)器完全能夠被非常多的客戶機(jī)和任何所需數(shù)量的服務(wù)器所操作。
如圖4所示,具體地,對(duì)媒體標(biāo)識(shí)器的操作通過讓客戶機(jī)200捕捉405處媒體流210而開始。對(duì)媒體流的捕捉使用常規(guī)方法,包括,例如,簡單地調(diào)諧到無線電或電視廣播,或通過諸如因特網(wǎng)的網(wǎng)絡(luò)訂閱流動(dòng)媒體廣播或無線電和電視同時(shí)聯(lián)播來完成。一旦媒體流210在405處被捕捉,客戶機(jī)從該媒體流的采樣中生成實(shí)時(shí)軌跡410。只要在媒體流被接收的時(shí)候和客戶機(jī)想要擁有對(duì)嵌入在媒體流中的媒體對(duì)象的標(biāo)識(shí)信息時(shí),持續(xù)對(duì)該媒體軌跡的計(jì)算和傳輸。
如上所述,然而,在一實(shí)施例中,客戶機(jī)在從服務(wù)器接受媒體對(duì)象標(biāo)識(shí)信息之后,會(huì)在暫時(shí)中斷對(duì)軌跡的計(jì)算和向服務(wù)器發(fā)送軌跡。如上所述,例如,對(duì)指紋數(shù)據(jù)庫計(jì)算出的指紋是從已知媒體對(duì)象內(nèi)的已知位置上計(jì)算的。從而,這些媒體對(duì)象的剩余長度或持續(xù)時(shí)間可以關(guān)于被計(jì)算出的軌跡而被知道(小于從向服務(wù)器發(fā)送軌跡到從服務(wù)器接收回媒體對(duì)象標(biāo)識(shí)的延遲時(shí)間)。從而,使用該實(shí)施例,只要與媒體對(duì)象標(biāo)識(shí)信息一起提供該持續(xù)時(shí)間信息,就不存在對(duì)客戶機(jī)計(jì)算或向服務(wù)器發(fā)送任何額外軌跡的需求,直至當(dāng)前播放的媒體對(duì)象預(yù)期的終點(diǎn)。然而,在客戶機(jī)開始捕捉一不同的媒體流的情況中(諸如例如,切換廣播站),然后會(huì)立即重新開始軌跡計(jì)算和傳輸。應(yīng)該清楚,該實(shí)施例能夠通過在返回客戶機(jī)一成功的媒體對(duì)象標(biāo)識(shí)后顯著地減少向服務(wù)器發(fā)送的軌跡的數(shù)量,相當(dāng)?shù)販p輕服務(wù)器負(fù)載。
一旦服務(wù)器230在420處接收從客戶機(jī)200傳輸?shù)能壽E,服務(wù)器立即在425處檢查軌跡高速緩存240以在430處確定在該高速緩存中是否存在一匹配的軌跡。如果在軌跡高速緩存中存在一匹配的軌跡,那么在高速緩存中的匹配軌跡在435處被檢查以確定它是否與一肯定的數(shù)據(jù)庫命中相關(guān)聯(lián)。如果該匹配的軌跡是與一肯定的數(shù)據(jù)庫命中相關(guān)聯(lián),那么與該匹配軌跡相關(guān)聯(lián)的媒體標(biāo)識(shí)信息在460處立即傳回至客戶機(jī)200。
相反地,在軌跡高速緩存240不含有一匹配的軌跡的情況中,下一步是在440處檢查指紋數(shù)據(jù)庫250,試圖定位一匹配的指紋。如果存在一個(gè)數(shù)據(jù)庫匹配445,那么該軌跡在450處被存儲(chǔ)在軌跡高速緩存240中,且與該匹配軌跡相關(guān)聯(lián)的媒體標(biāo)識(shí)信息在460處立即被傳回給客戶機(jī)200。在不存在數(shù)據(jù)庫匹配445的情況中,然后該軌跡作為一否定的命中也在450處被存儲(chǔ)在軌跡高速緩存240中。
在任一情況中,一旦在軌跡高速緩存240中找到或沒有找到匹配430,或存在或不存在位于數(shù)據(jù)庫中的匹配445,和在460處向客戶機(jī)傳輸了任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息,然后服務(wù)器就簡單地等待從客戶機(jī)發(fā)送的用于與分別在軌跡高速緩存240和/或指紋數(shù)據(jù)庫250中的軌跡和/或指紋比較的下一軌跡。而且,如上所述,軌跡高速緩存240在455處在一行進(jìn)的基礎(chǔ)上被管理,去除那些生存期終止的軌跡條目。
一旦客戶機(jī)200接收到任何媒體對(duì)象標(biāo)識(shí)信息,該信息在465處被客戶機(jī)處理并按所需向用戶提供。例如,在一實(shí)施例中,媒體對(duì)象標(biāo)識(shí)信息被使用來,當(dāng)媒體流被接收和播放時(shí),向用戶提供一目前媒體對(duì)象身份的顯示。或者,該媒體對(duì)象標(biāo)識(shí)信息能夠用于其它目的,包括,但不限于,播放列表生成、媒體流描述、對(duì)媒體流的統(tǒng)計(jì)分析等。
最后,在另一實(shí)施例中,指紋數(shù)據(jù)庫250(和/或軌跡高速緩存240)的子集在470處被客戶機(jī)200從服務(wù)器230處下載,作為一本地指紋數(shù)據(jù)庫。如上所述,該子集也能夠包含為了增加覆蓋范圍服務(wù)器自身不用于查找的額外的指紋信息,如上所述(例如,客戶機(jī)可以對(duì)每首歌曲檢查若干指紋)。具體地,對(duì)相對(duì)更流行的(或更頻繁觀測(cè)到的)媒體對(duì)象的額外指紋是由服務(wù)器對(duì)每一媒體對(duì)象計(jì)算的,且包含在下載至客戶機(jī)處的指紋子集中用于進(jìn)一步地減少服務(wù)器調(diào)用。如上所述,該本地?cái)?shù)據(jù)庫而后在415處向服務(wù)器230傳輸任何軌跡之前,在475處被客戶機(jī)搜索。在軌跡匹配是位于對(duì)本地?cái)?shù)據(jù)庫的搜索中的情況中,而后相應(yīng)的軌跡如上所述,是不向服務(wù)器230發(fā)送用來處理的。
上述對(duì)媒體標(biāo)識(shí)器的描述是出于說明和描述的目的而被提供。它不意欲窮舉的或限制本發(fā)明于所揭示的精確形式。根據(jù)上述講授,可以進(jìn)行多個(gè)修改或變化。而且,應(yīng)該注意到,上述替換實(shí)施例的任何一個(gè)或全部可以被使用于任何所需的構(gòu)成媒體標(biāo)識(shí)器的額外的混合實(shí)施例的任何組合中。意味著,本發(fā)明的范圍不被這里的詳細(xì)的描述所限制,而是根據(jù)于此所附的權(quán)利要求。
權(quán)利要求
1.一種用于向多個(gè)客戶機(jī)計(jì)算機(jī)中的每一個(gè)提供對(duì)嵌入在客戶機(jī)監(jiān)視的媒體廣播流中的媒體對(duì)象進(jìn)行標(biāo)識(shí)的方法,包含使用一計(jì)算設(shè)備進(jìn)行以下步驟對(duì)多個(gè)客戶機(jī)計(jì)算機(jī)中的每一個(gè),在行進(jìn)中的基礎(chǔ)上向服務(wù)器計(jì)算機(jī)發(fā)送客戶機(jī)生成的媒體流軌跡;對(duì)由服務(wù)器接收的每一所發(fā)送的媒體流軌跡,使用所述服務(wù)器來搜索一軌跡高速緩存以找出所述媒體流軌跡的匹配軌跡;如果所述軌跡高速緩存包含匹配軌跡,那么從所述服務(wù)器向相應(yīng)的客戶機(jī)發(fā)送與該匹配軌跡相關(guān)聯(lián)的任何媒體對(duì)象標(biāo)識(shí)信息;如果所述軌跡高速緩存不包含匹配軌跡,那么搜索一指紋數(shù)據(jù)庫以確定是否存在媒體流軌跡的任何匹配指紋,并將所發(fā)送的媒體流軌跡連同所述數(shù)據(jù)庫搜索的結(jié)果一起存儲(chǔ)在所述軌跡高速緩存;以及如果所述指紋數(shù)據(jù)庫包含匹配指紋,則從所述服務(wù)器向相應(yīng)的客戶機(jī)發(fā)送與所述指紋相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述客戶機(jī)生成的媒體軌跡是由每一客戶機(jī)以大約每秒鐘六次的數(shù)量級(jí)從所述大約六秒鐘數(shù)量級(jí)長度的媒體廣播流的采樣中計(jì)算和發(fā)送的。
3.如權(quán)利要求1所述的方法,其特征在于,所述軌跡高速緩存中的每一軌跡包括一預(yù)定生存期,且其中,具有已終止生存期的任何軌跡連同任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息一起被從所述軌跡高速緩存中移去。
4.如權(quán)利要求3所述的方法,其特征在于,對(duì)擁有相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息的軌跡,所述預(yù)定生存期比不擁有相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息的軌跡的預(yù)定生存期長。
5.如權(quán)利要求3所述的方法,其特征在于,當(dāng)所述軌跡高速緩存中的軌跡與一媒體流軌跡相匹配時(shí),所述軌跡高速緩存中的軌跡的預(yù)定生存期的剩余時(shí)間被復(fù)位為所述預(yù)定生存期。
6.如權(quán)利要求3所述的方法,其特征在于,在頻繁與媒體流軌跡相匹配的軌跡高速緩存中的軌跡是不考慮所述預(yù)定生存期而持久保存在所述軌跡高速緩存中的。
7.如權(quán)利要求1所述的方法,其特征在于,在一預(yù)定時(shí)間段內(nèi)不能匹配任何被發(fā)送的媒體流軌跡后,所述軌跡高速緩存中的每一軌跡連同任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息一起被從所述軌跡高速緩存中移去除。
8.如權(quán)利要求1所述的方法,其特征在于,所述軌跡高速緩存具有固定大小的,且其中,只要一發(fā)送的媒體流軌跡被存儲(chǔ)在所述軌跡高速緩存中,所述軌跡高速緩存中的最老的軌跡就連同任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息一起被從所述軌跡高速緩存中移去。
9.如權(quán)利要求1所述的方法,其特征在于,還包括,從所述指紋數(shù)據(jù)庫上傳一個(gè)或多個(gè)指紋的子集并從所述軌跡高速緩存上傳零個(gè)或多個(gè)軌跡,以及從所述服務(wù)器向一個(gè)或多個(gè)所述客戶機(jī)計(jì)算機(jī)上傳與所上傳的指紋和軌跡相關(guān)聯(lián)的任何媒體對(duì)象標(biāo)識(shí)信息。
10.如權(quán)利要求9所述的方法,其特征在于,所述發(fā)送給客戶機(jī)的指紋盡管存儲(chǔ)在所述服務(wù)器上,但是不被所述服務(wù)器本身用來軌跡匹配。
11.如權(quán)利要求9所述的方法,其特征在于,在向所述服務(wù)器計(jì)算機(jī)發(fā)送所述客戶機(jī)生成的媒體流軌跡之前,搜索每一客戶機(jī)上的指紋和軌跡的子集,以找出與由相應(yīng)的客戶機(jī)所生成的每一媒體流軌跡的匹配,且其中,如果所述客戶機(jī)生成的媒體流軌跡與所述子集中的指紋和軌跡的任何條目相匹配,那么這些客戶機(jī)生成的媒體流軌跡不會(huì)被發(fā)送給所述服務(wù)器。
12.如權(quán)利要求1所述的方法,其特征在于,所述發(fā)送給每一相應(yīng)的客戶機(jī)的媒體對(duì)象標(biāo)識(shí)信息包括嵌入在所述客戶機(jī)監(jiān)視的媒體廣播流中的當(dāng)前流傳送的媒體對(duì)象的剩余持續(xù)時(shí)間,且其中,接收這樣的信息的任何客戶機(jī)會(huì)在當(dāng)前流傳送的媒體對(duì)象的剩余持續(xù)時(shí)間內(nèi)暫時(shí)中止向所述服務(wù)器發(fā)送客戶機(jī)生成的媒體流軌跡。
13.如權(quán)利要求12所述的方法,其特征在于,一旦系統(tǒng)檢測(cè)到用戶已切換至不同的流,重新恢復(fù)向所述服務(wù)器發(fā)送客戶機(jī)生成的媒體流軌跡。
14.一種用于向多個(gè)客戶機(jī)中的每一個(gè)提供對(duì)嵌入在媒體廣播流中的媒體對(duì)象進(jìn)行標(biāo)識(shí)的系統(tǒng),包括在多個(gè)客戶機(jī)計(jì)算機(jī)中的每一個(gè)上監(jiān)視多個(gè)媒體流廣播中的任何一個(gè);在多個(gè)客戶機(jī)計(jì)算機(jī)中的每一個(gè)上生成對(duì)所監(jiān)視的媒體流的采樣的實(shí)時(shí)軌跡;從每一客戶機(jī)計(jì)算機(jī)向一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)的組發(fā)送每一實(shí)時(shí)軌跡;對(duì)由所述服務(wù)器組接收的每一實(shí)時(shí)軌跡,使用所述服務(wù)器組來搜索基于服務(wù)器的軌跡高速緩存以找出與所述實(shí)時(shí)軌跡的匹配,以及所述軌跡高速緩存中向相應(yīng)的客戶機(jī)發(fā)送與匹配軌跡相關(guān)聯(lián)的任何媒體對(duì)象標(biāo)識(shí)信息;如果所述軌跡高速緩存不包括與所述實(shí)時(shí)軌跡的匹配,那么使用所述服務(wù)器組搜索基于服務(wù)器的指紋數(shù)據(jù)庫以找出與所述實(shí)時(shí)軌跡的指紋匹配,從所述指紋數(shù)據(jù)庫向所述相應(yīng)的客戶機(jī)發(fā)送與匹配指紋相關(guān)聯(lián)的任何媒體對(duì)象標(biāo)識(shí)信息,并將所述實(shí)時(shí)軌跡連同所述數(shù)據(jù)庫搜索的結(jié)果一起存儲(chǔ)到所述軌跡高速緩存中。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述軌跡高速緩存中的每一軌跡包含一預(yù)定生存期,且其中,具有已終止生存期的任何軌跡連同任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息一起被從所述軌跡高速緩存中移去。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,對(duì)具有相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息的軌跡,所述預(yù)定生存期比不具有相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息的軌跡的預(yù)定生存期長。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于,當(dāng)所述軌跡高速緩存中的軌跡匹配一媒體流軌跡時(shí),所述軌跡高速緩存中的軌跡的預(yù)定生存期的剩余時(shí)間被復(fù)位。
18.如權(quán)利要求15所述的系統(tǒng),其特征在于,在頻繁與媒體流軌跡相匹配的軌跡高速緩存中的軌跡是不考慮所述預(yù)定生存期而持久保存在所述軌跡高速緩存中的。
19.如權(quán)利要求14所述的系統(tǒng),其特征在于,在一預(yù)定時(shí)間段內(nèi)不能匹配任何被發(fā)送的媒體流軌跡后,所述軌跡高速緩存中的每一軌跡連同任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息一起被從軌跡高速緩存中移去。
20.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述發(fā)送給每一相應(yīng)的客戶機(jī)的媒體對(duì)象標(biāo)識(shí)信息包括嵌入在由每一相應(yīng)客戶機(jī)監(jiān)視的媒體廣播流中的當(dāng)前流傳送的媒體對(duì)象的剩余持續(xù)時(shí)間,且其中,接收這樣的信息的任何客戶機(jī)會(huì)在當(dāng)前流傳送的媒體對(duì)象的剩余持續(xù)時(shí)間內(nèi)暫時(shí)中止向所述服務(wù)器組發(fā)送實(shí)時(shí)軌跡。
21.一種具有用于向多個(gè)客戶機(jī)計(jì)算機(jī)提供媒體對(duì)象標(biāo)識(shí)的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令包括使用多個(gè)客戶機(jī)計(jì)算機(jī)從由每一客戶機(jī)監(jiān)視的所捕捉媒體流的采樣而生成連續(xù)的實(shí)時(shí)軌跡;向服務(wù)器計(jì)算機(jī)發(fā)送所生成的軌跡;以及對(duì)每一被發(fā)送的軌跡,使用所述服務(wù)器計(jì)算機(jī)進(jìn)行以下步驟搜索一可由所述服務(wù)器計(jì)算機(jī)訪問的軌跡高速緩存,以確定所述軌跡高速緩存是否包含匹配軌跡,在所述高速緩存包含匹配軌跡的情況下,確定所述匹配軌跡是否包含任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息,且如果是,那么從所述服務(wù)器向相應(yīng)客戶機(jī)發(fā)送該媒體對(duì)象標(biāo)識(shí),在所述高速緩存不包含匹配軌跡的情況下,搜索一指紋數(shù)據(jù)庫以確定是否存在任何匹配的指紋,且將所發(fā)送的軌跡連同所述數(shù)據(jù)庫搜索的結(jié)果一起存儲(chǔ)在所述軌跡高速緩存中,以及在所述指紋數(shù)據(jù)庫包含匹配指紋的情況下,從所述服務(wù)器向相應(yīng)客戶機(jī)發(fā)送與所述指紋相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息。
22.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述軌跡高速緩存中的每一軌跡包含一預(yù)定生存期,且其中,具有已終止生存期的任何軌跡連同任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息一起被從所述軌跡高速緩存中移去。
23.如權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,當(dāng)所述軌跡高速緩存中的軌跡匹配一媒體流軌跡時(shí),所述軌跡高速緩存中的軌跡的預(yù)定生存期的剩余時(shí)間被復(fù)位。
24.如權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,在頻繁與媒體流軌跡相匹配的軌跡高速緩存中的軌跡是不考慮所述預(yù)定生存期而被持久保存在所述軌跡高速緩存中的。
25.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,在一預(yù)定時(shí)間段內(nèi)不能匹配任何發(fā)送的軌跡后,所述軌跡高速緩存中的每一軌跡連同任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息一起被從軌跡高速緩存中移去。
26.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述軌跡高速緩存具有固定的大小,且其中,只要一發(fā)送的媒體流軌跡被存儲(chǔ)在所述軌跡高速緩存中,所述軌跡高速緩存中的最老的軌跡就連同任何相關(guān)聯(lián)的媒體對(duì)象標(biāo)識(shí)信息一起被從軌跡高速緩存中移去。
27.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述發(fā)送給每一相應(yīng)的客戶機(jī)的媒體對(duì)象標(biāo)識(shí)信息包括嵌入在由每一客戶機(jī)監(jiān)視的所捕捉的媒體廣播流中的當(dāng)前流傳送的媒體對(duì)象的剩余持續(xù)時(shí)間,且其中,接收這樣的信息的任何客戶機(jī)會(huì)在當(dāng)前流傳送的媒體對(duì)象的剩余持續(xù)時(shí)間內(nèi)暫時(shí)中止向所述服務(wù)器計(jì)算機(jī)發(fā)送軌跡。
全文摘要
“媒體標(biāo)識(shí)器”操作在并發(fā)媒體流上,用于向眾多客戶機(jī)提供對(duì)嵌入在諸如無線電、電視或因特網(wǎng)廣播的流傳送媒體上的媒體對(duì)象的實(shí)時(shí)的服務(wù)器端的標(biāo)識(shí)。這樣的媒體對(duì)象包括歌曲、廣告、詩句、站標(biāo)識(shí)符等。對(duì)媒體對(duì)象的標(biāo)識(shí)是通過將從媒體流采樣中計(jì)算出的客戶機(jī)生成的軌跡同已知標(biāo)識(shí)的存儲(chǔ)的、預(yù)先計(jì)算出的軌跡(即“指紋”)的大數(shù)據(jù)庫比較來提供給客戶機(jī)的。而且,給定了有限數(shù)量的媒體流和多得多的客戶機(jī),眾多向服務(wù)器發(fā)送的軌跡可能是幾乎相同的。從而,使用一可搜索動(dòng)態(tài)軌跡高速緩存來限制對(duì)標(biāo)識(shí)特定軌跡必需的數(shù)據(jù)庫查詢。這個(gè)軌跡高速緩存僅存儲(chǔ)最近的軌跡的一個(gè)副本和不論是肯定還是否定的數(shù)據(jù)庫搜索結(jié)果。高速緩存條目在它們變老后被移去。
文檔編號(hào)G06F17/30GK1770156SQ20051010855
公開日2006年5月10日 申請(qǐng)日期2005年9月30日 優(yōu)先權(quán)日2004年11月2日
發(fā)明者C·J·博格斯, J·C·普拉特 申請(qǐng)人:微軟公司