用于使用距離關(guān)聯(lián)性散列法對媒體數(shù)據(jù)庫定址的系統(tǒng)和方法
【專利說明】用于使用距離關(guān)聯(lián)性散列法對媒體數(shù)據(jù)庫定址的系統(tǒng)和方法
優(yōu)先權(quán)要求
[0001] 本申請構(gòu)成2010年5月27日提交的、并且2013年11月6日作為美國專利號8,595,781 發(fā)布的題為“METHODS FOR IDENTIFYING VIDEO SEGMENTS AND DISPLAYINGCONTEXTUAL TARGETED CONTENT ON A CONNECTED TELEVIS1N(用于標識視頻片段并且在所連接的電視上顯示上下文的定為目標的內(nèi)容的方法)”的美國專利申請?zhí)?2/788,721的部分繼續(xù)申請,那項申請是要求2009年5月29日提交的題為“SYSTEM FOR PROCESSINGCONTENT INFORMAT1N IN A TELEVIDEO SIGNAL(用于處理電視視頻信號中的內(nèi)容信息的系統(tǒng))”的美國臨時專利申請?zhí)?1/182,334的權(quán)益的非臨時申請、并且是要求2009年 12 月 29 日提交的題為 “CONTEXTUAL TARGETING BASED ON DATA RECEIVED FROM ATELEVIS1N SYSTEM(基于從電視系統(tǒng)接收的數(shù)據(jù)的上下文目標確定)”的美國臨時專利申請?zhí)?1/290,714的權(quán)益的非臨時申請;本申請進一步構(gòu)成2010年5月27日提交的題為 “METHODS FOR DISPLAYING CONTEXTUALLY TARGETED CONTENT ON A CONNECTEDTELEVIS1N(用于在所連接的電視上顯示根據(jù)上下文定為目標的內(nèi)容的方法)”的美國專利申請?zhí)?2/788,748的部分繼續(xù)申請;本申請進一步構(gòu)成2013年11月25日提交的題為“_”的美國專利申請?zhí)?4/089,003的部分繼續(xù)申請;本申請進一步構(gòu)成
2014 年 3 月 17 日提交的題為 “SYSTEMS AND METHODS FOR IDENTIFYING VIDEO SEGMENTSFOR DISPLAYING CONTEXTUALLY RELEVANT CONTENT (用于標識視頻片段以便顯示上下文相關(guān)內(nèi)容的系統(tǒng)和方法)”的美國專利申請?zhí)?*/***,***的部分繼續(xù)申請;本申請進一步構(gòu)成 2014 年 3 月 17 日提交的題為“SYSTEMS AND METHODS FOR REAL-TIME TELEVIS1NAD DETECT1N USING AN AUTOMATED CONTENT RECOGNIT1N DATABASE (用于使用自動化內(nèi)容識別數(shù)據(jù)庫的實時電視廣告檢測的系統(tǒng)和方法)”的美國專利申請?zhí)?*/***,***的部分繼續(xù)申請;本申請進一步構(gòu)成2014年3月17日提交的題為“SYSTEMS AND METHODSFOR ON-SCREEN GRAPHICS DETECT10N(用于屏幕上圖形檢測的系統(tǒng)和方法)”的美國專利申請?zhí)?*/***,***的部分繼續(xù)申請;本申請進一步構(gòu)成2014年3月17日提交的題為“SYSTEMS AND METHODS FOR IMPROVING SERVER AND CLIENT PERFORMANCE IN FINGERPRINTACR SYSTEMS (用于改進指紋ACR系統(tǒng)中的服務器和客戶端性能的系統(tǒng)和方法)”的美國專利申請?zhí)?*/***,***的部分繼續(xù)申請;本申請進一步構(gòu)成2014年3月17日提交的題為“SYSTEMS AND METHODS FOR MULT 1-BROADCAST DIFFERENTIAT1N(用于多重廣播區(qū)分的系統(tǒng)和方法)”的美國專利申請?zhí)?*/***,***的部分繼續(xù)申請;并且本申請進一步構(gòu)成2013年 3 月 15 日提交的題為“SYSTEMS AND METHODS FOR IDENTIFYING VIDEO SEGMENTS BEINGDISPLAYED ON REMOTELY LOCATED TELEVIS1NS (用于標識在遠程定位的電視上顯示的視頻片段的系統(tǒng)和方法)”的美國專利申請?zhí)?1/791,578的部分繼續(xù)申請。前述申請或者是當前共同未決的或者是當前共同未決申請的有權(quán)享有提交日期的權(quán)益的申請。
發(fā)明領域
[0002]本發(fā)明總體上涉及對未知媒體數(shù)據(jù)(如,視頻或音頻片段)與參考媒體文件的海量數(shù)據(jù)庫進行的匹配。
背景
[0003]用于對音頻或視頻媒體的自動化內(nèi)容識別(ACR)的系統(tǒng)是本領域技術(shù)人員眾所周知的。然而,這種ACR系統(tǒng)帶來了許多技術(shù)挑戰(zhàn),包括管理經(jīng)編碼的音頻或視頻信息的潛在地非常大的數(shù)據(jù)庫以及管理對在所述數(shù)據(jù)庫中的信息進行定址所需的大索引。
[0004]同樣是本領域技術(shù)人員眾所周知的是,大數(shù)據(jù)庫索引(如可以用于本發(fā)明中的)可以使用某些散列函數(shù)來生成。另一種對數(shù)據(jù)庫進行定址的方法可以是通過應用也被稱為b樹的二進制樹結(jié)構(gòu)。兩種方法都常用于數(shù)據(jù)管理系統(tǒng)中。
[0005]無論采用何種方法來對大數(shù)據(jù)庫進行標引,所述索引經(jīng)常太大以至于不能以其整體駐留在如在典型的ACR系統(tǒng)中所使用的計算機服務器的主存儲器中。當所述數(shù)據(jù)庫無法完全地裝配在計算機系統(tǒng)的存儲器中時,其通常被存儲于磁盤存儲器上,并且然后所述數(shù)據(jù)庫的一些部分被按塊對應于提供地址的索引值讀入到存儲器中。所述再調(diào)用部分數(shù)據(jù)庫信息的手段也被本領域技術(shù)人員稱為“分頁(paging) ”,這是許多不同的計算機軟件系統(tǒng)所共有的過程。
[0006]本發(fā)明是對以上所引用的發(fā)明的擴展并且是一種用于使用信號處理手段來對未知的數(shù)字媒體(如電視節(jié)目)與已知媒體的數(shù)據(jù)庫進行匹配的系統(tǒng)和方法,該信號處理手段采用一種經(jīng)修改的路徑追蹤算法(如在第一個發(fā)明中所描述的)。
[0007]如在此所披露的系統(tǒng)和方法的另一個新穎方面是距離關(guān)聯(lián)性散列標引手段,該距離關(guān)聯(lián)性散列標引手段可以被細分為多個可獨立定址的片段,其中,所述片段中的每個片段都可以對數(shù)據(jù)庫的一部分進行定址,所述片段中的每個片段都可以以其整體駐留于服務器裝置的主存儲器中。標引手段的所產(chǎn)生的服務器群集各自托管對可搜索的音頻或視頻信息的較大數(shù)據(jù)庫的相關(guān)聯(lián)數(shù)據(jù)進行定址的索引的一個扇區(qū)。本發(fā)明的這種標引手段導致了ACR系統(tǒng)的速度和準確性的顯著改進,該ACR系統(tǒng)這樣被使能以便即使當電視顯視器正在放映用戶正在對來自數(shù)字視頻記錄器的視頻進行改變頻道、快倒、快進或甚至暫停的內(nèi)容時對未知媒體進行標識。
概述
[0008]在一些實施例中,一種涉及使用距離關(guān)聯(lián)性散列法來對媒體數(shù)據(jù)庫進行定址的示例性方法可以包括接收對一個視頻片段的一個樣本的一個或多個指示;針對包括至少一個分片的至少一個或多個像素的一個視頻片段的該樣本的該至少一個分片來確定每個分片的該一個或多個像素的一個以算法方式導出的值;從針對每個分片的平均值中減去針對每個分片所建立的一個中間點值;使用預先導出的一個函數(shù)來變換由于該減法而產(chǎn)生的這些值以均勻地分布這些值;從這些經(jīng)變換的值中構(gòu)建一個散列值;引用所構(gòu)建的該散列值的多個最高有效位以確定一個數(shù)據(jù)庫扇區(qū);以及至少將該散列值存儲在所確定的該數(shù)據(jù)庫扇區(qū)上。
[0009]在一些實施例中,使用一個或多個處理裝置來至少部分地實現(xiàn)前述示例性方法的接收、確定、減法、變換、構(gòu)建、引用、或存儲中的至少一項。在前述示例性方法的一些實施例中,接收對一個視頻片段的一個樣本的一個或多個指示可以包括接收對一個幀或一個靜止圖像中的至少一項的一個或多個指示。在前述示例性方法的一些實施例中,接收對一個視頻片段的一個樣本的一個或多個指示可以包括接收對一個視頻片段的一個樣本的一個或多個指示,對一個視頻片段的一個樣本的該一個或多個指示與對一個頻道的至少一個指示、對一個視頻片段的至少一個指示、以及對與該視頻片段的開始的一個時間代碼偏移的至少一個指示相關(guān)聯(lián)。
[0010]在前述示例性方法的一些實施例中,針對包括至少一個分片的至少一個或多個像素的一個視頻片段的該樣本的該至少一個分片來確定每個分片的該一個或多個像素的一個以算法方式導出的值包括針對包括至少一個分片的至少一個或多個像素的一個視頻片段的該樣本的該至少一個分片來確定每個分片的該一個或多個像素的一個平均值。在前述示例性方法的一些實施例中,從針對每個分片的平均值中減去針對每個分片所建立的一個中間點值可以包括從針對每個分片的平均值中減去針對每個分片所建立的一個中間點值,之前已經(jīng)針對多個頻道在至少一個時間段上使用來自每個分片的數(shù)據(jù)確定了針對每個分片所建立的該中間點值。
[0011]在前述示例性方法的一些實施例中,使用預先導出的一個函數(shù)來變換由于該減法而產(chǎn)生的這些值以均勻地分布這些值可以包括形成至少包括由于該減法而產(chǎn)生的這些值的一個可變矩陣;獲得在與該可變矩陣相交叉時將更均勻地分布這些經(jīng)變換的值的一個靜態(tài)矩陣;以及計算該可變矩陣與該靜態(tài)矩陣的一個點積,該點積至少包括這些被更均勻地分布的經(jīng)變換的值。在前述示例性方法的一些實施例中,獲得在與該可變矩陣相交叉時將更均勻地分布這些經(jīng)變換的值的一個靜態(tài)矩陣可以包括使用位置敏感散列法至少部分地基于一個或多個先前所獲得的散列值來確定在與一個可變矩陣相交叉時將更均勻地分布該可變矩陣的這些經(jīng)變換的值的一個靜態(tài)矩陣。
[0012]在前述示例性方法的一些實施例中,從這些經(jīng)變換的值中構(gòu)建一個散列值可以包括從這些經(jīng)變換的值中構(gòu)建一個散列值,包括至少通過將每個經(jīng)變換的值減小至一個二進制表示來減小這些經(jīng)變換的值的保真度。在前述示例性方法的一些實施例中,通過將每個經(jīng)變換的值減小至一個二進制表示來減小這些經(jīng)變換的值的保真度可以包括針對每個經(jīng)變換的值確定該經(jīng)變換的值是否是一個正數(shù),并且如果該經(jīng)變換的值是一個正數(shù),將一賦值給該散列值,并且否則將零賦值給該散列值。
[0013]在前述示例性方法的一些實施例中,引用所構(gòu)建的該散列值的多個最高有效位以確定一個數(shù)據(jù)庫扇區(qū)可以包括引用所構(gòu)建的該散列值的多個最高有效位以確定一個數(shù)據(jù)庫服務器,其中,該多個最高有效位被預先確定為定址多個數(shù)據(jù)庫服務器,其中,與該多個最高有效位相關(guān)聯(lián)的多個數(shù)據(jù)庫服務器被建立為使得與一個數(shù)據(jù)庫扇區(qū)相關(guān)聯(lián)的至少一個索引能夠完全地駐留在一個相應的數(shù)據(jù)庫服務器的存儲器中。在前述示例性方法的一些實施例中,至少將該散列值存儲在所確定的該數(shù)據(jù)庫扇區(qū)上可以包括至少將該散列值存儲在所確定的該數(shù)據(jù)庫扇區(qū)上,包括至少部分地基于該散列值至少將對一個頻道的至少一個指示、對一個視頻片段的至少一個指示、以及對與該視頻片段的開始的一個時間代碼偏移的至少一個指示存儲在一個數(shù)據(jù)庫位置處。
[0014]在前述示例性方法的一個或多個替代性實施例中,多個相關(guān)系統(tǒng)包括但不限于用于實現(xiàn)在此所引用的方法實施例的電路和/或編程;取決于系統(tǒng)設計者的設計選擇,該電路和/或編程實際上可以是被配置成用于實現(xiàn)在此所引用的方法方面的硬件、軟件、和/或固件的任何組合。
[0015]在一個不同的實施例中,一種涉及使用距離關(guān)聯(lián)性散列法來對媒體數(shù)據(jù)庫進行定址的示例性方法可以包括接收一個提示,該提示通過與一個介質(zhì)存儲操作相關(guān)聯(lián)的一個或多個操作來構(gòu)建;引用所接收的該提示的多個最高有效位以確定一個數(shù)據(jù)庫扇區(qū);以及至少部分地基于所接收的該提示返回對來自該數(shù)據(jù)庫扇區(qū)的至少一個候選項的至少一個指不O
[0016]在前述示例性方法的一些實施例中,接收一個提示(該提示通過與一個介質(zhì)存儲操作相關(guān)聯(lián)的一個或多個操作來構(gòu)建)可以包括接收與一個客戶端系統(tǒng)的一個視頻緩沖器的一個樣本相關(guān)聯(lián)的一個提示,包括至少接收與一個時刻相關(guān)的一個或多個指示,該時刻與該客戶端系統(tǒng)的該視頻緩沖器的該樣本相關(guān)聯(lián)。在前述示例性方法的一些實施例中,接收一個提示(該提示通過與一個介質(zhì)存儲操作相關(guān)聯(lián)的一個或多個操作來構(gòu)建)可以包括接收一個提示,該提示與一個客戶端系統(tǒng)的一個視頻緩沖器的一個樣本相關(guān)聯(lián),該提示至少部分地通過對與該視頻緩沖器相關(guān)聯(lián)的至少一些值進行散列來確定。
[0017]在前述示例性方法的一些實施例中,接收一個提示(該提示與一個客戶端系統(tǒng)的一個視頻緩沖器的一個樣本相關(guān)聯(lián),該提示至少部分地通過對與該視頻緩沖器相關(guān)聯(lián)的至少一些值進行散列來確定)可以包括接收一個提示,該提示與一個客戶端系統(tǒng)的一個視頻緩沖器的一個樣本相關(guān)聯(lián),該提示至少部分地通過對與該視頻緩沖器相關(guān)聯(lián)的至少一些值進行散列來確定,該散列至少部分地基于同樣用于一個相關(guān)聯(lián)的介質(zhì)存儲操作中的至少一個操作數(shù)或至少一個算法中的一個或多個。在前述示例性方法的一些實施例中,接收一個提示(該提示通過與一個介質(zhì)存儲操作相關(guān)聯(lián)的一個或多個操作來構(gòu)建)可以包括接收一個提示,該提示通過至少包括以下各項的一個或多個操作來確定:接收對一個客戶端系統(tǒng)的一個視頻緩沖器的至少一項內(nèi)容的一個或多個指示;針對包括至少一個分片的至少一個或多個像素的該視頻緩沖器的該至少一項內(nèi)容的該至少一個分片來確定每個分片的該一個或多個像素的一個以算法方式導出的值;從針對每個分片的平均值中減去一個中間點值;對由于該減法所產(chǎn)生的這些值進行變換;從這些經(jīng)變換的值中構(gòu)建一個散列值;以及將該提示至少部分地與所構(gòu)建的該散列值相關(guān)聯(lián),其中,該確定操作、減法操作、變換操作、或構(gòu)建操作中的至少一個利用同樣用于一個相關(guān)聯(lián)的介質(zhì)存儲操作中的至少一個操作數(shù)或至少一個算法中的一個或多個。
[0018]在前述示例性方法的一些實施例中,至少部分地基于所接收的該提示返回對來自該數(shù)據(jù)庫扇區(qū)的至少一個候選項的至少一個指示可以包括至少部分地基于作為所接收的該提示的函數(shù)的一種平等球中的概率點位置(“PPLEB”)算法來返回對來自該數(shù)據(jù)庫扇區(qū)的至少一個候選項的至少一個指示。在前述示例性方法的一些實施例中,至少部分地基于所接收的該提示返回對來自該數(shù)據(jù)庫扇區(qū)的至少一個候選項的至少一個指示可以包括至少部分地基于所接收的該提示來返回對來自該數(shù)據(jù)庫扇區(qū)的至少一個候選項的至少一個指示,該至少一個候選項在所接收的該提示的一個預先確定的逆百分比分布半徑內(nèi)。
[0019]在前述示例性方法的一個或多個替代性實施例中,多個相關(guān)系統(tǒng)包括但不限于用于實現(xiàn)在此所引用的方法實施例的電路和/或編程;取決于系統(tǒng)設計者的設計選擇,該電路和/或編程實際上可以是被配置成用于實現(xiàn)在此所引用的方法方面的硬件、軟件、和/或固件的任何組合。
[0020]在一個不同的實施例中,一種涉及使用距離關(guān)聯(lián)性散列法來對媒體數(shù)據(jù)庫進行定址的示例性方法可以包括接收對至少一個候選項的至少一個指示和對至少一個提示的至少一個指示;將一個令牌添加到與至少一個所接收的候選項相關(guān)聯(lián)的一個箱;以及確定在一個箱內(nèi)的令