TWI390924B - 用於加速各多重同步資料流之資料庫檢視的系統以及方法 - Google Patents

用於加速各多重同步資料流之資料庫檢視的系統以及方法 Download PDF

Info

Publication number
TWI390924B
TWI390924B TW094130604A TW94130604A TWI390924B TW I390924 B TWI390924 B TW I390924B TW 094130604 A TW094130604 A TW 094130604A TW 94130604 A TW94130604 A TW 94130604A TW I390924 B TWI390924 B TW I390924B
Authority
TW
Taiwan
Prior art keywords
tracking
media
cache
server
client
Prior art date
Application number
TW094130604A
Other languages
English (en)
Other versions
TW200627884A (en
Inventor
Chris J Burges
John C Platt
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200627884A publication Critical patent/TW200627884A/zh
Application granted granted Critical
Publication of TWI390924B publication Critical patent/TWI390924B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

用於加速各多重同步資料流之資料庫檢視的系統以及方法
本發明係有關於播送媒體串流中之媒體物件的識別,且特別是關於一種可用於在同步化資料流中向大量個別用戶端提供媒體物件如歌曲之同時伺服器端識別且同時最小化伺服器資料庫查詢負載的系統與方法。
有許多既有方法可用於自信號擷取「特徵」以用於識別之目的。舉例而言,對於一種一維信號如一音訊或視訊檔案,已將音訊特徵擷取作為涉及音訊信號中之媒體物件的分類、取回以及識別任務的必要步驟。基於識別之目的,通常會將該擷取之特徵或「追蹤」和一已知「指紋」進行比較,以用於識別該音訊信號中之項目或整個音訊信號。此種習知的媒體物件識別方法傳統上稱為「音訊指紋法」。
已有多種傳統方法採用此種音訊指紋技術來提供一音訊串流如一廣播或網路播送中的特定歌曲之識別。舉例而言,一位聆聽一音訊串流之使用者可能聽到某些歌曲而想知道該歌曲的曲名、演唱人、專輯名稱等。之後可利用音訊指紋技術自該歌曲樣本擷取一或多種追蹤。傳統上,之後可將這些追蹤和一種已知音樂之資料庫中的指紋進行比較,以便識別一相符者,之後並將該結果提供給使用者。
更有甚者,亦有多種傳統服務已採用此種技術,以便提供通常以音訊指紋技術與資料庫比較為基礎的一種收費 之歌曲識別或檢視服務。舉例而言,可運用數種歌曲識別服務,例如較為人熟知的「Shazam」音樂識別服務,經由一行動電話網路替使用者識別特定歌曲。更明確地說,系統如由Shazam提供之系統在作業時,通常會先要求使用者在其行動電話上撥打一號碼然後持電話播放該音樂約15到30秒。之後Shazam服務可將該音樂(或由該音樂所運算之追蹤)和已知音樂的一資料庫進行比較,以便識別該音樂。接著Shazam服務可傳回一種包含所識別歌曲之曲名、演唱人、專輯名稱等的文字訊息給使用者。
不幸的是,上述檢視服務類型的缺點之一在於,在任一特定時間中,當存取該音樂識別系統之使用者數目增加時,每秒的資料庫檢視要求數目也會增加。在某些情形中,前述問題較不嚴重,舉例而言,在如Shazam提供的服務中,由於使用者必須針對每一首他想識別的歌曲支付電話費用以及服務本身的費用,而此種收費方式可能會限制同時使用該系統之使用者數目,因而減低了伺服器的總體負載。此種系統的另一個缺點在於,其需要將整首歌曲(會受限於電話服務的頻率/頻寬限制)的樣本傳送至伺服器,且之後需要自該所傳輸的媒體串流樣本來運算追蹤。
因此,隨著同時使用者數目不斷增多,自內送音樂運算追蹤或指紋、執行資料庫檢視,以便識別這些指紋並回應個別使用者等相對應的運算負載可能很快超過伺服器能因應的量,即便利用了相對大量的專屬伺服器庫。因此,此種方法可能會受到同時使用者數目相對較少此一假設之 限制。更有甚者,雖然可以擴增此種方法以提供足夠數目的伺服器來處理大量甚至可能成千上萬的同時使用者,但此種系統的金錢成本可能高的驚人。
因此,目前需要一種能夠提供歌曲即時識別的系統與方法。更有甚者,此種系統與方法應能有效率地提供歌曲識別服務給大量的同時使用者,且同時最小化伺服器負載以及資料庫檢視。最後,此種系統與方法應能藉由要求由多種用戶端電腦個別執行該任務,而消彌由媒體串流之樣本來運算追蹤之負擔,進一步最小化伺服器負載。
此處所述之一種「媒體識別碼”media identifier” 」可用於解決上述問題,其可向個別用戶端提供一種內嵌於串流媒體播送如一廣播、電視、或網路播送中的媒體物件之即時伺服器端識別。這些媒體物件包括,舉例而言,歌曲、廣告、字句、站台識別碼等。一般而言,該媒體識別碼在作業時可提供至少一種伺服器,該伺服器可將每一用戶端自媒體串流之取樣部份所運算的「追蹤」和一種已知指紋之資料庫進行比較,以便提供播送媒體串流中媒體物件的即時識別給個別用戶端。一般而言,由每一用戶端直接或透過一伺服器端追蹤快取傳送該運算之追蹤給伺服器並和已知識別的一種已儲存且預先運算之追蹤(此處稱為「指紋」以便區別其和用戶端產生之追蹤)的大型資料庫進行比較。
更明確地說,對於每一用戶端,可利用內送媒體串流的固定長度區段在重複的區間上運算低維度「追蹤」。在一種經試驗的具體實施例中,由每一用戶端從大約6秒的媒體串流樣本以每秒約6次運算並傳送此種追蹤。明顯地,可使用利用較長或較短樣本時期的較多或較少之追蹤,且這些參數通常和用於追蹤運算的特定技術有關。
可利用傳統技術來完成從媒體串流進行追蹤之運算,舉例而言,如美國專利案號第2003/0236661號標題為「用於高雜訊特徵擷取之系統與方法」發明中所述之系統,此處將其標的物納入作為參考。一般而言,此種系統作業時係藉由取樣內送媒體串流,並自該取向之信號運算低維度特徵向量(即「追蹤」)。自取樣之媒體串流進行追蹤運算為習知技藝人士所熟知,故此處並未詳述。
指紋至少包含通常以和追蹤相同之方式運算且利用相同運算式之指紋資料庫。然而,不像追蹤,指紋僅需由每一已知媒體物件的一或多種樣本運算一次,以便建立已知指紋的資料庫。一旦建立之後,之後僅需由伺服器來存取此資料庫,而不須重新運算已知媒體物件的指紋。然而,之後可在建立新媒體物件(歌曲等)時以新的指紋來更新已知指紋資料庫。因此,已知指紋資料庫最好在離線的情形下建立且僅提供給該伺服器,以便排除在由此處所述之媒體識別碼執行媒體識別作業過程中在伺服器上的任何額外運算負載。
對於每一用戶端,之後伺服器可利用不完全比對來決 定在某種門檻或容忍度之中是否有任一追蹤和資料庫中之指紋相符。運用這種不完全比對技術比完全比對更好,因為由任一種用戶端運算之追蹤會隨著雜訊、干擾、信號薄弱等而不同,即便該追蹤名義上是由媒體串流的同一部份來運算亦同。更有甚者,利用不完全比對亦可解決用於運算追蹤之媒體串流的取樣部份中之小型時間偏移。在一種具體實施例中,不完全比對運用了對指紋專一的重新標準化,以便改良精確度,如相關領域中已知的方法,例如”Distortion Discriminant Analysis for Audio Fingerprinting,“by Christopher J.C.Burges,John C.Platt,and Soumya Jana,IEEE transactions on Speech and Ausio Processing,IEEE Transactions on Speech and Audio Processing,Vol.11,No.3,pp 165-174,May 2003,一文中提及之標的物,此處將之整個納入作為參考。
每當來自一用戶端的一種追蹤和一指紋相符時,伺服器可將對應於該追蹤之特定媒體物件的識別值通知用戶端。在媒體物件如歌曲的情形中,此種識別值通常包括諸如演唱人、歌曲曲名、專輯名稱、類別等資訊。很明顯地,對於一已知媒體物件,可將任何所想之資訊和用來識別該媒體物件之資料庫中的指紋建立關聯。
然而,此處所述之媒體識別碼並非針對傳送到伺服器的每一者追蹤提供一種指紋資料庫的強力搜尋;而是採用一種額外伺服器端快取其係基於一事實,即在任何時間使用者產生之追蹤中有許多可能近乎相同,假設媒體串流的 數目有限,且通常在任何特定時間點大量的使用者會接收到相同的媒體串流。換句話說,在任一特定時間點,有可能有許多人也許成千上百萬人正在聆聽相同的媒體串流,例如特定廣播、電視、或網路播送。這個現象使得我們能創造能夠快取內送追蹤以及資料庫搜尋結果兩者以進行指紋比對的一種伺服器端快取。
特別是,首先會在含有一定數量之追蹤之快取中檢查來自每一用戶端之每一內送追蹤。若該追蹤不在快取中,之後會進行一種完整資料庫檢視,且不論該資料庫檢視之結果為肯定或否定,會將該結果和用戶端傳送之追蹤一起儲存於快取中。可利用傳統技術,例如一種線性掃描(即連續地掃描)配合bailing(一種已知可用於利用線性掃描加速遠距比較的方法),來完成快取以及資料庫兩者中進行之檢視。
在另一種具體實施例中,可利用位元向量索引來加速資料庫中之檢視,如同時申請之美國專利申請案中所述,該申請案之標題為「利用位元向量索引進行多維資料物件搜尋」,申請日期2003年6月23日,申請編號10/602,438,此處將其標的物納入作為參考。此種位元向量索引方法亦可見於下列文獻”IndexingHigh Dimensional Rectangles for Fast Multimedia Identification,”by Jonathan Goldstein,John C.Platt,and Christopher J.C.Burges,Microsoft Technical Report MSR-TR-2003-38,dated October 28,2003,此處將其標的物納入作為參考。
一般而言,前述美國專利申請案以及微軟技術文件中所述之位元向量索引方法著重於快速針對高維區域執行點查詢所產生之問題。此種查詢對於多媒體識別與取回領域中日漸重要的問題非常有用,其中在相似性部份不同資料庫項目具有之不同度量資訊。相對於傳統資料庫索引係著重於高維最接近者以及epsilon範圍查詢之索引;對於高維區域之點查詢的索引提供了一種有效率的索引方法,其係依靠冗餘以及位元向量索引之組合以達到顯著的表現提升。此種方法已經過證實可使得現實世界線性掃描之效能顯著提升。
資料庫搜尋的結果為否定時,即在資料庫中之指紋中沒有相符的追蹤,不會將該結果傳回至用戶端。資料庫搜尋的結果為肯定時,即在追蹤和一指紋之間有相符,會將該結果傳送回用戶端以便識別用於運算出追蹤之媒體物件。如上所述,會在搜尋指紋資料庫之前先搜尋該快取以識別相符之追蹤。因此,若在儲存於快取中之追蹤中發現一相符,則不需要進一步的資料庫檢視,因為快取中之追蹤可包括相關聯媒體物件之識別值,或僅會指出沒有相符之指紋。在一追蹤與資料庫中之一指紋相符的情形中,會將與該相符指紋相關聯的任何識別值資訊傳送回用戶端。
媒體識別碼提供之伺服器端快取的優點之一在於其快取之大小相對較小,使得快取搜尋速度非常快。特別是,快取大小是在接收媒體串流中之一點的用戶端之間最大可預期延遲以及正在接受識別服務的獨一媒體串流數目的一 種函式。更有甚者,必須注意快取大小並非使用者數目之函式。
特別是,對於正在接收特定媒體串流之每一用戶端,將每一特定媒體播送串流近乎同步化。舉例而言,接收相同廣播站台的任何二或更多個用戶端可能會在非常短暫的時間偏移中接收到相同信號,大約是一秒左右。對於大多數串流媒體之網際網路或網路播送亦然。
因此,將追蹤保持在媒體快取中的時間不應超過最大預期延遲時間(且延遲時間亦包括對於每一用戶端在運算與傳輸該追蹤至伺服器所預期之最大延遲)的某種較小倍數。換句話說,此種延遲僅為在伺服器接收一特定媒體物件之一種指定區段的第一種追蹤,以及伺服器接收該同一媒體物件之區段的最終追蹤(來自最慢的用戶端)兩者間的最大時間。所以僅需在一較短時期中保持該追蹤,大約數秒鐘。因此,不需要一種大型快取來儲存所有的獨一內送追蹤。
在一種相關具體實施例中,並非嘗試決定或估計在快取中設定追蹤生命週期之最大延遲時間,而是利用一種更簡單的解決方案僅藉由當在一短時間如大約一秒左右,追蹤無法符合任何內送追蹤時,將該追蹤自快取移除。在進一步的替代性具體實施例中,亦可利用其他快取方式,包括例如利用一固定快取大小其可根據傳統LRU(近來最少使用,least recently used)邏輯而放棄追蹤。
由上述發明內容觀之,應可明白此處所述之媒體識別 碼提供了一種獨特的系統與方法可用於對大量要求同步媒體播送串流之同時用戶端提供即時媒體識別。除了上述利益之外,可經由下述詳細說明並參照附隨圖示了解該媒體識別碼的其他優點。
在本發明之較佳具體實施例的下列說明中,針對附隨圖示標注了參照號碼,這些圖示也形成了本申請書的一部份,其可用於闡明可實作本發明之特定具體實施例。必須了解可利用其他具體實施例且可進行結構上的改變而不會悖離本發明之範圍。
1.0示範性作業環境
第1圖闡明了一適當運算系統環境100之一種實施例,可在其上實作本發明。該運算系統環境100僅為一適當運算環境的一種實施例,且其用意不在於對本發明之使用或功能的範圍提出任何限制。不應將運算環境100視為對示範性作業環境100中所示元件的任一種或其組合具有任何依賴性或必須性。
本發明也可利用多種其他一般或特定目的運算系統環境或組態中來運作。為人熟知且適用於本發明之運算系統、環境、和/或組態的實施例包括但不限於,個人電腦、伺服器電腦、手持式、膝上型或行動電腦、或通訊裝置例如行動電話與PDA、多處理器系統、以微處理器為基礎之 系統、機上盒、可程式化消費性電子產品、網路PC、迷你電腦、主機電腦、包括任何上述系統或裝置之分散式運算環境、及與其相似者。
可在電腦可執行指令的一般脈絡下描述本發明,前述電腦可執行指令例如由一電腦配合硬體模組而執行的程式模組,硬體模組包括一麥克風陣列198之元件。一般而言,程式模組包括常式、程式、物件、元件、資料結構等能夠執行特定任務或實作特定抽象資料類型者。亦可在分散式運算環境中實作本發明,其中任務係由透過一通訊網路連接之遠端處理裝置來執行。在一分散式運算環境中,程式模組可位於區域與遠端電腦儲存媒體兩者中,包括記憶體儲存裝置。參照第1圖,可用於實作本發明的一種示範性系統包括形式為一電腦110的一種一般用途運算裝置。
電腦110之元件可包括但不限於,一處理單元120、一系統記憶體130、以及一系統匯流排121其可耦合不同系統元件的包括將系統記憶體耦合至處理單元120。系統匯流排121可以式多種匯流排結構的任一種,包括一記憶體匯流排或記憶體控制卡、一周邊匯流排、以及一利用多種匯流排架構之任一種的區域匯流排。作為例示且非限制,此種架構包括包括工業標準架構(ISA)匯流排、微通道架構(MCA)匯流排、延伸型ISA(EISA)匯流排、視訊電子標準協會(VESA)區域匯流排、以及周邊元件互連(PCI)匯流排亦稱為Mezzanine匯流排。
電腦110通常包括多種電腦可讀取媒體。電腦可讀取 媒體可以是任一種可供電腦110存取之可用媒體,且包括易變以及非易變媒體,可移除以及非可移除媒體。作為例示且非限制,電腦可讀取媒體可至少包含電腦儲存媒體與通訊媒體。電腦儲存媒體包括以任何方法或科技實作可用來儲存資訊的易變與非易變、可移除與非可移除媒體,前述資訊如電腦可讀取指令、資料結構、程式模組或其他資料。
電腦儲存媒體包括但不限於,RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術;CD-ROM、數位多功能影音光碟(DVD)或其他光碟儲存媒體;磁匣、磁帶、磁碟儲存媒體或其他磁性儲存裝置;或任何其他可用來儲存所需資訊且可供電腦110存取之媒體。通訊媒體通常具體化了電腦可讀取指令、資料結構、程式模組或屬於一模組化資料信號之其他資料,前述模組化資料信號如一載波或其他傳輸機制且包括任何資訊傳送媒體。「模組化資料信號」一詞係指一種信號,其具有一或多種其本身之特徵組或其經改變可編碼該信號中之資訊。作為例示且非限制,通訊媒體包括有線媒體如一有線網路或直接有線連接;以及無線媒體如聲波、RF、紅外線、以及其他無線媒體。電腦可讀取媒體之範圍中亦應包括任何上述之組合。
系統記憶體130包括屬於易變和/或非易變記憶體形式之電腦儲存媒體,例如唯讀記憶體(ROM)131以及隨機存取記憶體(RAM)132。一種基本輸入/輸出系統133(BIOS)通常儲存於ROM 131中,其帶有基本常式有助 於在電腦110之組件之間傳輸資訊,例如在開機過程中。RAM 132通常含有可立即供處理單元120存取和/或目前正由其作業中之資料和/或程式模組。作為例示且非限制,第1圖闡明作業系統134、應用程式135、其他程式模組136、以及程式資料137。
電腦110亦可包括其他可移除/非可移除、易變/非易變電腦儲存媒體。僅作為例示,第1圖闡明一硬碟機141其可讀取或寫入非可移除、非易變磁性媒體;一磁碟機151其可讀取或寫入一種可移除、非易變磁碟152;以及一光碟機155其可讀取或寫如一種可移除、非易變光碟156例如一CD ROM或其他光學媒體。其他可用於示範性作業環境中之可移除/非可移除、易變/非易變電腦儲存媒體包括但不限於,磁帶匣、快閃記憶卡、數位多功能影音光碟、數位影帶、固態RAM、固態ROM、及與其相似者。硬碟機141通常透過一種非可移除記憶體介面如介面140連接至系統匯流排121,且磁碟機151與光碟機155通常透過一種可移除記憶體介面如介面150連接至系統匯流排121。
上述以及第1圖中闡明之裝置以及與其相關之電腦儲存媒體,提供了可供電腦110使用之電腦可讀取指令、資料結構、程式模組以及其他資料之儲存。在第1圖中,舉例而言,闡明了硬碟機141可以儲存:作業系統144、應用程式145、其他程式模組146、以及程式資料147。應注意,這些元件可以和作業系統134、應用程式135、其他程式模組136、以及程式資料137相同或不同。此處指派 不同的參照數目給作業系統144、應用程式145、其他程式模組146、以及程式資料147,係為了闡明至少其為不同之複本。一使用者可經由輸入裝置,如一鍵盤162以及通常係指一滑鼠、軌跡球、或觸控板的指向裝置161,輸入指令與資訊至電腦20中。
其他輸入裝置(此處未顯示)可包括一種麥克風、搖桿、遊戲墊、衛星碟、掃描器、或與其相似者。這些以及其他輸入裝置通常透過耦合至系統匯流排121的一種有線或無線使用者輸入介面160連接至處理單元120,但也可由其他傳統介面與匯流排結構來連接,例如一種平行埠、遊戲埠、一通用序列匯流排(USB)、一IEEE 1394介面、一藍芽TM 無線介面、一IEEE 802.11無線介面。更有甚者,電腦110亦可包括一語音或音訊輸入裝置,例如一麥克風或一麥克風陣列198,以及透過一音訊介面199連接的一種擴音器197或其他聲音輸出裝置,該介面同樣包括傳統有線或無線介面,例如平行埠、序列埠、USB、IEEE 1394、藍芽TM 等。
一螢幕191或其他類型之顯示裝置亦可透過一種介面如一視訊介面190連接至系統匯流排121。除了螢幕之外,電腦亦可包括其他周邊輸出裝置,例如擴音器197、以及印表機196,其可經由一輸出周邊介面195連接。
亦可透過一介面如一視訊介面190將一螢幕191或其他類型之顯示裝置連接至系統匯流排121。除了螢幕之外,電腦亦可包括其他周邊輸出裝置,例如一印表機196, 其可經由一輸出周邊介面195連接。
電腦110可在利用邏輯連接至一或多種遠端電腦,例如一遠端電腦180之一種網路化環境中作業。遠端電腦180可以是一個人電腦、一伺服器、一路由器、一網路PC、一對等裝置或其他常用網路節點,且通常包括關於電腦110的多數或所有上述組件,雖然在第1圖中僅闡明了一種記憶體儲存裝置181。第1圖中闡明的邏輯連接包括一區域網路(LAN)171以及一廣域網路(WAN)173,但亦可包括其他網路。此種網路化環境在辦公室、企業內電腦網路、內部網路、以及網際網路中很常見。
當用於一LAN網路化環境中時,電腦110透過一網路介面或配接卡170連接至LAN 171。當用於一WAN網路化環境中時,電腦110通常包括一數據機172或其他可透過WAN 173如網際網路建立通訊之裝置。內建或外接的數據機172可透過使用者輸入介面160或其他適當機制連接至系統匯流排121。在一網路化環境中,關於電腦110所述之程式模組或其部份,可儲存在遠端記憶體儲存裝置中。作為例示且非限制,第1圖闡明遠端應用程式185係位在記憶體裝置181上。必須理解,所示之網路連線僅為示範性質,且可利用其他能在電腦之間進行一通訊的其他方法。
上文已討論了示範性作業環境,本說明書的其餘部份將專注於討論具體化一種「媒體識別碼」的程式模組與程序,該媒體識別碼能向用戶端提供一內嵌於串流媒體播送 中之媒體物件的即時伺服器端識別。
2.0簡介:
此處所述的一種「媒體識別碼」可向個別用戶端提供內嵌於一種受監控之媒體串流例如一廣播、電視、或網際網路播送中之媒體物件的即時識別。此種媒體物件可包括歌曲、廣告、字句、站台識別碼等。
一般而言,可藉由將用戶端產生之「追蹤」和已知識別的一種已儲存、預先運算之大型資料庫(此處稱之為「指紋」以便和用戶端產生之追蹤加以區別)進行比較,而向個別用戶端提供前述媒體物件之識別。這些用戶端產生之追蹤係由每一用戶端以媒體串流之樣本在一持續的基礎上運算之並傳送至伺服器以供識別。
更有甚者,由於媒體串流數目有限且用戶端數目大得多,傳送至伺服器的追蹤中有許多可能近乎相同,這是由於許多用戶端會同時監控相同的媒體串流。可利用此種現象來創造一種可搜尋動態追蹤快取,其可用於限制識別特定追蹤所必須之資料庫查詢的數目以及與這些追蹤相關聯之媒體物件。搜尋追蹤快取而非資料庫的優點之一在於一種可使用之指紋資料庫通常包括上百萬的項目,且追蹤快取通常小了好幾個數量級。
追蹤快取僅會快取不同用戶端最近傳送之追蹤的一個複本以及資料庫搜尋結果,不論其為肯定或否定。換句話說,對於由用戶端之一傳送的任何追蹤,當其目前不存 在於快取中時,至少暫時地將之儲存於快取中,如下文將進一步詳述。因此,會在進行一資料庫查詢之前先進行追蹤快取搜尋。之後僅會在追蹤快取中沒有相符追蹤時,查詢該資料庫以識別一種新的用戶端產生之追蹤。更有甚者,會隨著時間而移除儲存於追蹤快取中之追蹤。在一種具體實施例中,僅利用一預先設定之「生命週期」,而在一相關具體實施例中則是根據某些用戶端將一最終相符追蹤傳送至伺服器的時期來決定此種生命週期。換句話說,僅當快取項目年代日久且沒有相符追蹤之結果時才會之將之自快取移除。
在第2圖之示範性架構系統圖中闡明了這些一般概念,其闡明了實作該媒體識別碼之元件之間的一種一般功能關係。特別是,第2圖闡明了多種用戶端200的每一者用戶端可接收一媒體播送串流210。如此處將進一步詳述,可用媒體串流210之集合,如廣播站台播送、電視或有線播送、以網路為基礎之串流媒體等,實質上小於潛在用戶端200之數目。因此,媒體串流210中的絕大多數會同時受到超過一個用戶端200的監控,甚至有可能由上百、上千、或上萬的用戶端監控。然而,必須注意,並非所有的媒體串流210都可供所有用戶端200取得,這是由於媒體串流包括區域使用播送,且用戶端可能位在世界上任何角落而透過網際網路220或其他網路和伺服器230進行通訊。
之後用戶端200會取樣該受監控之媒體串流210並透 過一網路或網際網路220將經運算之追蹤傳送到一伺服器230(或一群伺服器)。之後伺服器230可檢查一追蹤快取240,且若有必要可檢查一指紋資料庫250,以便嘗試識別產生該追蹤之媒體物件。若經過識別,伺服器230會透過網路220將對應於該特定追蹤之媒體識別資訊傳回至用戶端200。
2.1系統概述:
如上所述,此處所述之媒體識別碼可向用戶端提供內嵌於一串流媒體播送如一種廣播、電視、或網際網路播送中之媒體物件的即時伺服器端識別。一般而言,該媒體識別碼之運作方式係藉由提供至少一種伺服器,該伺服器可藉由將每一用戶端由媒體串流之取樣部份運算出之「追蹤」和一種已知指紋資料庫進行比較,以提供播送媒體串流中之媒體物件的即時識別給個別用戶端。一般而言,由每一用戶端傳送經運算之追蹤至伺服器並進行比較,可直接或透過一伺服器端追蹤快取和一種已知識別之儲存且預先運算之大型指紋資料庫進行比較。
對於每一用戶端,之後伺服器可利用不完全比對來決定在某種門檻或容忍度之中是否有任一追蹤和資料庫中之任一指紋相符。運用這種不完全比對技術比完全比對更好,因為由不同用戶端運算之追蹤會隨著雜訊、干擾、信號薄弱等而不同,即便該追蹤名義上是由媒體串流的同一部份來運算亦同。更有甚者,利用不完全比對亦可解決用 於運算追蹤之媒體串流的取樣部份中之小型時間偏移。
每當來自一用戶端之追蹤和一指紋(不論其位於追蹤快取中或指紋資料庫中)相符時,伺服器會將對應於該追蹤之特定媒體物件的識別值通知用戶端。在媒體物件的例子中,如歌曲,此識別值通常包括如下資訊,舉例而言,演唱人、歌曲曲名、專輯名稱、類別等。明顯地,對於一種已知媒體物件,可將任何想要之資訊和資料庫中用來識別該媒體物件之指紋建立關聯。
然而,此處所述之媒體識別碼並非針對傳送到伺服器的每一者追蹤提供一種指紋資料庫的強力搜尋;而是採用一種額外伺服器端快取其係基於一事實,即在任何時間使用者產生之追蹤中有許多可能近乎相同,假設媒體串流的數目有限,且通常在任何特定時間點大量的使用者會接收到相同的媒體串流。換句話說,在任一特定時間點,有可能有許多人也許成千上百萬人正在聆聽相同的媒體串流,例如特定廣播、電視、或網路播送。這個現象使得我們能創造能夠快取內送追蹤以及資料庫搜尋結果兩者以進行指紋比對的一種伺服器端快取。
特別是,首先會在含有一定數量之追蹤之追蹤快取中檢查來自每一用戶端之每一內送追蹤。若該追蹤不在追蹤快取中,會將之儲存於追蹤快取中並進行完整資料庫檢視。且不論該資料庫檢視之結果為肯定或否定,會將該結果和用戶端傳送之追蹤一起儲存於快取中。可利用傳統技術,例如一種線性掃描(即連續地掃描)配合bailing(一 種已知可用於利用線性掃描加速遠距比較的方法),來完成在追蹤快取以及資料庫兩者中進行之檢視。
在另一種具體實施例中,可利用位元向量索引來加速資料庫中之檢視,如同時申請之美國專利申請案中所述,該申請案之標題為「利用位元向量索引進行多維資料物件搜尋」,申請日期2003年6月23日,申請編號10/602,438,此處將其標的物納入作為參考。此種位元向量索引方法亦可見於下列文獻”IndexingHigh Dimensional Rectangles for Fast Multimedia Identification,”by Jonathan Goldstein,John C.Platt,and Christopher J.C.Burges,Microsoft Technical Report MSR-TR-2003-38,dated October 28,2003,此處將其標的物納入作為參考。
一般而言,前述美國專利申請案以及微軟技術文件中所述之位元向量索引方法著重於快速針對高維區域執行點查詢所產生之問題。此種查詢對於多媒體識別與取回領域中日漸重要的問題非常有用,其中在相似性部份不同資料庫項目具有之不同度量資訊。相對於傳統資料庫索引係著重於高維最接近者以及epsilon範圍查詢之索引;對於高維區域之點查詢的索引提供了一種有效率的索引方法,其係依靠冗餘以及位元向量索引之組合以達到顯著的表現提升。此種方法已經過證實可使得現實世界線性掃描之效能顯著提升。
在每一種前述資料庫搜尋之具體實施例中,資料庫搜尋的結果為否定時,即在資料庫中之指紋中沒有相符的追 蹤,則不會將該結果傳回至用戶端。資料庫搜尋的結果為肯定時,即在追蹤和一指紋之間有相符,會將該結果傳送回用戶端以便識別用於運算出追蹤之媒體物件。如上所述,會在搜尋指紋資料庫之前先搜尋該快取以識別相符之追蹤。因此,若在儲存於快取中之追蹤中發現一相符,則不需要進一步的資料庫檢視,因為快取中之追蹤可包括相關聯媒體物件之識別值,或僅會指出沒有相符之指紋。在一追蹤與資料庫中之一指紋相符的情形中,會將與該相符指紋相關聯的任何識別值資訊傳送回用戶端。
2.2系統架構概述:
第3圖之一般系統圖示闡明了上文簡述之程序。特別是,第3圖之系統圖示闡明了用於實作此處所述之一種媒體識別碼的程式模組之間的相互關係。
一般而言,對於每一用戶端200,媒體識別碼開始運作時,會藉由讓每一用戶端利用一種能接收媒體串流之媒體串流擷取模組305,以接收媒體串流210其中之一。須注意媒體串流210可以是音訊串流、視訊串流、或兩者之混合。用戶端200之後可利用一媒體串流取樣模組即時取樣該內送媒體串流。之後每一用戶端可利用一追蹤運算模組315以便持續由取樣之媒體串流產生追蹤。須注意會在下文第3章中進一步詳述每一用戶端所產生之追蹤的數目與頻率。之後將產生之追蹤提供給一追蹤傳輸模組320,其可透過網路或網際網路220將追蹤傳輸至伺服器230。
之後伺服器230可利用一追蹤接收模組,以接收自不同用戶端200傳輸來之追蹤。一旦伺服器230開始接收來自不同用戶端200之追蹤,會將前述追蹤提供給一追蹤檢視模組335,其首先可搜尋追蹤快取240以便找出相符追蹤。若追蹤快取中沒有相符追蹤,會將該追蹤儲存於追蹤快取中,且追蹤檢視模組335會進行指紋資料庫250之搜尋。
最後,一快取維護模組345提供了一般快取清理作業。特別是,如上所述,針對伺服器230接收之追蹤中,將所有無法在追蹤快取240中找到者和一相對應資料庫搜尋結果(不論肯定或否定)加入至快取中。然而,若不對此一程序進行某些限制,追蹤快取240很快就會溢位。因此,如第3章中將進一步詳述,會隨著時間而清除追蹤快取中較舊的追蹤。更明確地說,在一種具體實施例中,快取維護模組345會自快取中刪除任何超過一預定時期之較舊追蹤。或者是,對於任何追蹤,在某些預定時期中,追蹤檢視模組335無法找到與之相符的內送追蹤時,快取維護模組345會將之刪除。在另一種進一步的具體實施例中,快取維護模組345可利用這些追蹤生命週期的一種組合、或對於肯定之資料庫25O搜尋結果以及否定之資料庫搜尋結果的追蹤有不同之追蹤生命週期。
3.0作業概述:
上述之程式模組可用於實作媒體識別碼。如上文所簡 述,媒體識別碼可向個別用戶端提供內嵌於一受監控之媒體串流例如一廣播或網際網路播送中之媒體物件之即時識別。下列章節將提供關於媒體識別碼之作業的詳描述,以及可用於實作第2章中參照第2圖與第3圖所述之程式模組的示範性方法。此外,在下文於章節3.1中所述關於媒體識別碼之作業的詳細說明中,參照第4圖闡明了一種作業流程圖,其摘要了詳細說明中之媒體識別碼的整體作業流程。
3.1媒體識別碼之作業細節:
下列段落詳細說明了此處所述之媒體識別碼的具體作業與替代性具體實施例中。特別是,下列段落描述了追蹤之運算以及指紋資料庫之建構;追蹤快取中之追蹤的生命週期;追蹤快取之搜尋;資料庫搜尋;利用下載之指紋資料庫子集的區域用戶端資料庫檢視之使用;以及在最後將媒體物件識別提供給用戶端。
3.1.1追蹤運算與指紋資料庫建構:
由一種音訊信號或由一音訊串流之樣本來運算可用於媒體識別的追蹤或「指紋」,這樣的概念是習知技藝人士所熟知的。一般而言,此種系統的作業方式通常是透過取樣該內送媒體串流並自該取樣之信號運算壓縮特徵向量(即,「追蹤」)。這些壓縮特徵向量可至少包含低維度向量或其可至少包含二元雜湊鍵。因為由取樣之媒體串流來運 算追蹤為習知技藝人士已知,此處將不再詳述其方法。
關於媒體識別碼,可利用多種傳統技術來完成由媒體串流運算追蹤。舉例而言,美國專利案號第2003/0236661號標題為「用於高雜訊特徵擷取之系統與方法」發明中所述之技術,即可用於在一種經試驗的媒體識別碼之具體實施例中進行追蹤之運算,此處將其標的物納入作為參考。
前述美國專利案號第2003/0236661號專利中所述之系統作業時一般係由利用一種「特徵擷取器」之音訊信號來運算或擷取特徵,其可在利用一種「失真鑑別分析“Distortion Discriminant Analysis” 」(DDA)以定義該特徵擷取器之參數的人工和/或現實信號的混合體上改良之。所述之特徵擷取器會取得具有一時間或空間結構的一或多種維度之信號,套用一種導向之主成份分析(OPCA)來限制信號之區域,彙總空間或時間上鄰近之多種OPCA之輸出,且將OPCA套用至該彙總。會將彙總鄰近OPCA輸出以及套用OPCA至該彙總值的步驟執行一或多次,以便自信號擷取低維度高雜訊特徵,前述信號包括音訊信號、圖片、視訊資料、或任何其他時間或頻率網域信號。一旦經過改善,之後僅會利用特徵擷取器來產生可供此處所、述之媒體識別碼使用之追蹤(以及指紋)。
然而,如前所述,上述之「特徵擷取器」很明顯地並非可用來運算追蹤或指紋的唯一方法。不論如何運算追蹤或指紋,其基礎概念是運算每一用戶端之內送媒體串流的固定長度區段之壓縮「追蹤」。在一種經試驗的具體實施例 中,由每一用戶端從大約6秒的媒體串流樣本以每秒約6次運算並傳送此種追蹤。明顯地,可使用利用較長或較短樣本時期的較多或較少之追蹤,且這些參數通常和用於追蹤運算的特定技術有關。
指紋至少包含通常以和追蹤相同之方式運算且利用相同運算式之指紋資料庫,這使得在每一用戶端運算之追蹤以及用來填入指紋資料庫之指紋之間有一清楚的互相對應。然而,不像追蹤需要隨著媒體串流之行進而持續運算,指紋僅需將由每一已知媒體物件中的一特定位置所取得之一或多種樣本運算一次,以便填入相對應於那些已知媒體物件的指紋資料庫。對於每一媒體物件,可隨需要來決定運算之指紋數目的多少。然而,在一種經試驗的具體實施例中,可觀察到對於每一媒體物件提供數個指紋,便足以提供大量媒體物件識別。
一旦建立之後,之後僅需由伺服器來存取該指紋資料庫,如此處所述,而不須重新運算已知媒體物件的指紋。然而,之後可在建立新媒體物件(歌曲等)時以新的指紋來更新已知指紋資料庫。因此,最好在離線的情形下,利用任何可供用戶端用於運算追蹤之追蹤運算演算法,來建立已知指紋資料庫,且僅提供給該伺服器,以便排除在由此處所述之媒體識別碼執行媒體識別作業過程中在伺服器上的任何額外運算負載。
3.1.2追蹤快取生命週期:
媒體識別碼提供之伺服器端快取的優點之一在於其快取之大小相對較小,使得快取搜尋速度非常快。特別是,快取大小是在來自每一用戶端之要求間的最大可預期延遲以及正在接受識別服務之獨一媒體串流數目的一種函式。更有甚者,必須注意快取大小並非以追蹤識別要求來存取伺服器之個別用戶端或使用者數目的函式。
特別是,對於正在接收特定媒體串流之每一用戶端,將每一特定媒體播送串流近乎同步化。舉例而言,接收相同廣播站台的任何二或更多個用戶端可能會在非常短暫的時間偏移中接收到相同信號,大約是一秒左右,隨著所接收之媒體串流的類型與來源而不同。對於大多數串流媒體之網際網路或網路播送亦然。
因此,將追蹤保持在媒體快取中的時間不應超過用戶端間之最大預期延遲時間(且延遲時間亦包括對於每一用戶端在運算與傳輸該追蹤至伺服器所預期之最大延遲)的某種較小倍數。換句話說,此種延遲僅為在伺服器接收一特定媒體物件之一種指定區段的第一種追蹤,以及伺服器接收該同一媒體物件之區段的最終追蹤(來自最慢的用戶端)兩者間的最大時間。所以僅需在一較短時期中保持該追蹤,大約數秒鐘。因此,不需要一種大型快取來儲存所有的獨一內送追蹤。
在一種相關具體實施例中,並非嘗試決定或估計在快取中設定追蹤生命週期之最大延遲時間,而是利用一種更簡單的解決方案僅藉由當在一短時間如大約一秒左右,追 蹤無法符合任何內送追蹤時,將該追蹤自快取移除。在進一步的替代性具體實施例中,亦可利用其他快取方式,包括例如利用一固定快取大小其可根據傳統LRU(近來最少使用)邏輯而放棄追蹤。
3.1.3追蹤快取搜尋:
如上所述,一旦伺服器接收了任何追蹤,會立刻搜尋追蹤快取以便決定在追蹤快取中是否有一種相符追蹤。之後,若有一相符者,便會進行一決定來判斷該相符追蹤是否具有任何相關聯之媒體物件識別資訊、或該追蹤是否為一種無法於資料庫中找到的追蹤。再者,將無法於追蹤快取中找到的追蹤加入至該追蹤快取,且之後立刻搜尋資料庫以決定該追蹤是否存在於資料庫中。
可利用傳統信號比較技術,來進行關於內送追蹤是否符合追蹤快取中任何追蹤之決定。此種技術包括,舉例而言,傳統交互之相互關係、以及能夠直接將內送追蹤之點與追蹤快取中之每一追蹤進行比較的線性掃描。在任一種前述情形中,相符最好是不完全相符,如上所述,由於不同用戶端之任一種所運算之追蹤會隨著雜訊、干擾、信號薄弱等而不同,即便該追蹤名義上是由媒體串流的同一部份來運算亦同。更有甚者,利用不完全比對亦可解決用於運算追蹤之媒體串流的取樣部份中之小型時間偏移。可以利用完全相符,但已證實其在用於正確識別相符追蹤時比較沒有效率。在一種具體實施例中,不完全比對運用了對 指紋專一的重新標準化,以便改良精確度,如相關領域中已知的方法,例如”Distortion Discriminant Analysis for Audio Fingerprinting,“by Christopher J.C.Burges,John C.Platt,and Soumya Jana,IEEE transactions on Speech and Ausio Processing,IEEE Transactions on Speech and Audio Processing,Vol.11,No.3,pp 165-174,May 2003,一文中提及之標的物,此處將之整個納入作為參考。
在不完全比對的情形中,係針對某種距離度量f 以及一相對應門檻值θ 來決定相符。舉例而言,若追蹤為低維度向量,為了直接將內送追蹤X和一組快取之追蹤Y進行比較,在該追蹤之間進行比較的一種簡單方法是單純地評估方程式1中之歐基里德距離平方,對編號為j的每一種追蹤進行一次: 其中x i 是該追蹤之第i個項目,y ij 是第j個快取之追蹤的第i個項目,n是一追蹤向量的元件數目,且θ j 是與第j個快取之追蹤相關聯的距離門檻值。
應該注意,上述比較方法僅為很多種可用於比較信號或追蹤之傳統技術中的一種。此種方法為習知技藝人士所熟知,且不會於此處詳述。然而,應該了解任何可用於比較兩種信號或追蹤的傳統技術都可和此處所述之媒體識別碼一併使用,且該媒體識別碼不應限於利用上述之簡單線 性掃描。更有甚者,有多種傳統技術可用於加速搜尋相符信號或追蹤。一種簡單的方法是依照先前相符之出現頻率的順序單純地搜尋該快取。明顯地,尚有其他傳統搜尋加速方法,其中之任一種都可和此處所述之媒體識別碼一併使用。
3.1.4資料庫搜尋:
如上所述,僅有當一特定內送追蹤無法符合追蹤快取中之任何追蹤時,才會進行資料庫搜尋。進行指紋資料庫之實際搜尋的方法大致上與在追蹤快取搜尋相符相同。事實上,可利用上文針對追蹤快取搜尋所述之追蹤比較之相同類型來比較內送追蹤以及指紋資料庫中之指紋。然而,應該注意,可預期指紋資料庫實質上比追蹤快取大了許多。事實上,可以預期,對於一種僅含有歌曲指紋之媒體物件資料庫,如果要完整表示正向全世界串流或播送之音樂的可得頻譜,其可能輕易地擁有上百萬個項目。因此,加速資料庫搜尋的方法可能比加速追蹤快取搜尋的方法更為重要。
關於此點,根據受歡迎的程度或出現頻率依序進行搜尋明顯地提升了執行效能,這是因為較受歡迎的歌曲可能明顯地比一些來自不知名歌手且年代久遠的歌曲更容易在一或多種媒體串流中進行串流。計算出現頻率是一種可輕易完成的工作。更明確地說,有一種簡單的方法僅需計算在某段時期中,一媒體物件在不同串流中被識別的次數(可 藉由計算追蹤快取相符結果以及資料庫相符之數目)。基於搜尋之目的,之後可根據出現頻率來排列指紋資料庫中之項目。更有甚者,如上所述,有多種傳統技術可用於加速對於相符信號或追蹤之資料庫搜尋,任何此類技術都可和此處所述之媒體識別碼一併使用。
3.1.5區域資料庫檢視:
在一種具體實施例中,可藉由自動將整體指紋資料庫之某一小部份或子集(且亦可能有追蹤快取之某部份)上傳至區域用戶端之一或多種中,而進一步減低伺服器負載。傳統上,上傳至個別用戶端之追蹤和/或指紋應該是最常出現的(即,相對應於最受歡迎之媒體物件的那些追蹤/指紋)。
在此種具體實施例中,並非立刻將每一種運算之追蹤傳送到伺服器;而是對於具有該指紋資料庫和/或追蹤快取的一種子集(即,一種「區域追蹤子集」)之每一用戶端會在傳送任何經運算之追蹤至伺服器以進行識別之前,首先查詢該區域追蹤子集。若任何經運算之追蹤符合區域追蹤子集中之任何追蹤,之後可將與區域追蹤子集中之相符追蹤相關聯的任何識別資訊指派給前述經運算之追蹤,且之後不會將該經運算之追蹤傳送至伺服器。在此種方法中,至少可以將部份的媒體識別負載由伺服器轉移到一或多種區域用戶端。
應該注意,對於區域追蹤子集中之追蹤,其每首歌曲 中含有的指紋可能比完整伺服器資料庫中之追蹤多出許多,這是因為目前受歡迎的媒體物件如歌曲之數目,相較於整個媒體物件的數目少了許多。這也帶來了另一種額外的優點,其可進一步減低傳送至伺服器之追蹤的數目,這是因為一旦找出一相符,只要該媒體物件仍在播放中,就可以立刻在指紋的區域儲存區中對該目前播放之媒體物件進行區域性之檢查。舉例而言,若對一首歌曲每隔5秒鐘便運算一種指紋,只要用戶端每隔5秒可發現預期之相符,就不用傳送任何追蹤至伺服器。
在一種進一步的具體實施例中,當識別出一種肯定相符時,用戶端便會在該識別之媒體物件如歌曲S剩餘的播放時間中停止傳送追蹤至伺服器。當出現一肯定相符時,可自伺服器將此種播放時間資訊連同其他識別資訊傳送至用戶端。雖然這是一種能夠輕易地進一步減輕伺服器/快取系統負擔的方法,然而,舉例而言,若一使用者在前述已識別之歌曲S結束之前便切換媒體串流,就可能造成一種錯誤否定(即,並未識別出一種應該被識別的媒體物件)。然而,每當進行一串流切換時,可藉由在用戶端持續切換串流時繼續追蹤,且之後立刻開始再度傳送追蹤至伺服器(在首先以區域追蹤子集進行檢查之後,如果有的話),以便防止前述問題。
3.1.6媒體物件識別:
如上所述,可藉由將一區域用戶端所運算之一種追蹤 和一種由伺服器所持有的追蹤、或指紋(在上述搜尋區域追蹤子集之情形中例外)進行比對,來完成媒體物件之識別。每當伺服器如上所述識別出了具有相關聯媒體物件識別資訊的一種追蹤或指紋之相符時,之後會立刻將媒體物件資訊由伺服器傳送到先前傳送該特定相符追蹤至伺服器的特定用戶端。
一旦用戶端已接收了該媒體物件識別資訊,之後用戶端可以將所需之資訊進行各種運用。舉例而言,在最簡單的情形中,用戶端可僅即時顯示該媒體物件資訊以便告知使用者目前在媒體串流中播放的媒體物件為何。媒體物件識別資訊的其他用途為建構區域播放清單,其可提供一種由每一個別用戶端監控之任何串流中所識別之媒體物件的區域性歷史記錄。
3.2媒體識別碼作業:
第4圖為一種一般作業流程圖,闡明了上文參照第2圖與第3圖所述之處理程序。一般而言,第4圖闡明一種示範性作業流程圖,其顯示了媒體識別碼之數種可操作之具體實施例中。應該注意,第4圖中以虛線表示的任何方塊或方塊間的互連箭頭代表了此處所述之媒體識別碼的替代性具體實施例,且這些替代性具體實施例之任一種或全部,如下所述,可搭配本說明書中所述之其他替代性具體實施例一起運用。更有甚者,應該注意,在下文討論中,於描述一系統時,通常是針對一種單一用戶端和一種單一 伺服器一起作業。然而,在前述討論中,可以很清楚地知道此處所述之媒體識別碼能夠在極大量的用戶端以及任何所需伺服器數目下運作。
特別是,如第4圖所闡明,媒體識別碼作業的第一個步驟405是讓用戶端200擷取一媒體串流210。可利用傳統方法包括,例如收聽一廣播或電視播送、或訂購一串流媒體播送或透過一網路例如網際網路的廣播電視聯播,來完成媒體串流之擷取。當在405擷取了媒體串流210,用戶端會在步驟410由該媒體串流之樣本產生即時追蹤。之後在步驟415,利用傳統網路傳輸協定將這些即時媒體追蹤傳輸到伺服器230。只要仍然持續接收該媒體串流,且只要用戶端想要取得內嵌於媒體串流中之該媒體物件的識別資訊,便持續進行媒體追蹤之運算與傳輸。
然而,如上所述,在一種具體實施例中,在自伺服器接收到媒體物件識別資訊之後,用戶端可暫時中止追蹤之運算以及向伺服器之傳輸。舉例而言,如上所述,為了指紋資料庫所運算之指紋係由已知媒體物件中的已知位置運算而來。因此,相對於運算之追蹤,可得知這些媒體物件的剩餘長度或播放時間(小於由傳送追蹤至伺服器以及自伺服器將媒體物件識別接收回來之間的延遲時間)。因此,對於此具體實施例,只要將此種播放時間資訊和媒體物件識別資訊一起提供,用戶端就不需要運算或傳送任何追蹤至伺服器,直到目前播放之媒體物件預期的結束時間之後。然而,在用戶端開始擷取一不同媒體串流(例如藉由 切換廣播站台,舉例而言)的情形中,則會立刻重新開始追蹤運算與傳輸。必須明白,此具體實施例藉由在將一成功的媒體物件識別傳回至用戶端之後減少傳送至伺服器的追蹤數目,而能夠顯著減低伺服器負載。
一旦伺服器230在步驟420接收了由用戶端200傳來的追蹤之後,伺服器在步驟425會立刻檢查追蹤快取240,以便在步驟430決定在快取中是否有一相符追蹤。若在追蹤快取中有一相符追蹤,則會在步驟435檢查快取中之該相符追蹤,以便決定其是否和一肯定的資料庫搜尋結果相關聯。若該相符追蹤與一肯定資料庫搜尋結果相關聯,則會在步驟460將與該相符追蹤相關聯的媒體識別資訊立刻傳輸回用戶端200。
相反地,在追蹤快取240中並未含有一相符追蹤的情形中,下一個步驟是在440檢查指紋資料庫250以嘗試找出一相符指紋。若在步驟445有一資料庫相符,則在步驟450將該追蹤儲存至追蹤快取240,且在步驟460立刻將與該相符追蹤相關聯之媒體識別資訊傳輸回用戶端200。在步驟445中沒有資料庫相符的情形下,也會在步驟450將追蹤以一種否定資料庫搜尋結果儲存於追蹤快取240中。
在任一種情形中,一旦不論步驟430在是否追蹤快取240中發現一相符、或不論步驟445是否在資料庫中發現一相符445,且在步驟460將任何相關聯之媒體物件識別資訊傳輸至用戶端,伺服器僅會等待即將傳送至用戶端以便和追蹤快取240和/或指紋資料庫250中之追蹤和/或指 紋分別進行比較的下一個追蹤。更有甚者,如上所述,在步驟455會在一種持續的基礎上管理追蹤快取240以便移除生命週期已過期的追蹤項目。
一旦用戶端200接收任何媒體物件識別資訊,用戶端會在步驟465處理該資訊並依需要提供給使用者。舉例而言,在一種具體實施例中,當接收與播放媒體串流時,利用媒體物件識別資訊來提供一種現用媒體物件識別值顯示給使用者。或者是,可將媒體物件識別資訊用於其他用途,包括但不限於,建立播放清單、媒體串流定性、媒體串流之統計分析等。
最後,在另一種具體實施例中,在步驟470用戶端200會自伺服器230下載指紋資料庫250(和/或追蹤快取240)的一種子集,以便作為一區域指紋資料庫。如上所述,此子集亦可含有伺服器本身不會用來進行檢視的額外指紋,以便增加其涵蓋範圍,如上所述(舉例而言,用戶端可對每一首歌曲檢查數種指紋)。特別是,對於相對較受歡迎(或較常受注意)的媒體物件,伺服器可針對每一媒體物件運算額外的指紋,且將之包括於下載至用戶端的指紋子集中,以便進一步減少伺服器呼叫。如上所述,之後用戶端會在進行到步驟415將任何追蹤傳送至伺服器230之前,先在步驟475中搜尋此區域資料庫。當在此種區域資料庫搜尋中發現一相符追蹤的情形中,不會將相對應追蹤傳送至伺服器230進行上述之處理程序。
上述關於媒體識別碼之描述係基於闡明與敘述之目 的。其用意並竭盡本發明之所有揭露範圍或將之限制於一精準之揭露範圍。根據上述揭露,可進行許多修改與變形。更有甚者,應該注意,可將任何或所有上述替代性具體實施例隨需要加以組合,以便形成額外之媒體識別碼的混合具體實施例中。本發明之範圍不應受到此處詳細說明之限制,而應限於附隨之申請專利範圍。
100‧‧‧運算環境系統
110‧‧‧電腦
120‧‧‧處理單元
121‧‧‧系統匯流排
130‧‧‧系統記憶體
131‧‧‧唯讀記憶體
132‧‧‧隨機存取記憶體
133‧‧‧基本輸入/輸出系統
134‧‧‧作業系統
135‧‧‧應用程式
136‧‧‧其他程式模組
137‧‧‧程式資料
140‧‧‧非可移除非易變記憶體介面
141‧‧‧硬碟機
144‧‧‧作業系統
145‧‧‧應用程式
146‧‧‧其他程式模組
147‧‧‧程式資料
150‧‧‧可移除、非易變記憶體介面
151‧‧‧磁碟機
152‧‧‧可移除、非易變磁碟
155‧‧‧光碟機
156‧‧‧可移除、非易變光碟
160‧‧‧使用者輸入介面
161‧‧‧滑鼠
162‧‧‧鍵盤
170‧‧‧網路介面
171‧‧‧區域網路
172‧‧‧數據機
173‧‧‧廣域網路
180‧‧‧遠端電腦
181‧‧‧記憶體儲存裝置
185‧‧‧遠端應用程式
190‧‧‧視訊介面
191‧‧‧螢幕
195‧‧‧輸出周邊介面
196‧‧‧印表機
197‧‧‧擴音器
198‧‧‧麥克風
200‧‧‧用戶端
210‧‧‧媒體串流
220‧‧‧網路/網際網路
230‧‧‧伺服器
240‧‧‧追蹤快取
250‧‧‧指紋資料庫
305‧‧‧媒體串流擷取模組
310‧‧‧媒體串流取樣模組
315‧‧‧追蹤運算模組
320‧‧‧追蹤傳輸模組
325‧‧‧媒體識別接收模組
330‧‧‧追蹤接收模組
335‧‧‧追蹤檢視模組
340‧‧‧媒體識別傳輸模組
345‧‧‧快取維護模組
參照本身請書之說明、所附專利申請範圍、以及附隨圖示,能夠更清楚瞭解本發明之特定特徵、態樣、與優點,其中圖示如下:
第1圖為一種一般系統圖,闡明一種含有可實作此處所述之一種「媒體識別碼」的示範性作業系統之一般用途運算裝置。
第2圖為一種示範性架構系統圖,其闡明可用於實作此處所述之媒體識別碼的功能性元件之間的一種一般關係。
第3圖為一種示範性架構流程圖,其闡明可實作此處所述之媒體識別碼的程式模組。
第4圖為一種作業流程圖,其闡明可實作此處所述之媒體識別碼的一種具體實施例之一般作業。
200‧‧‧用戶端
210‧‧‧媒體串流
220‧‧‧網路/網際網路
230‧‧‧伺服器
240‧‧‧追蹤快取
250‧‧‧指紋資料庫
305‧‧‧媒體串流擷取模組
310‧‧‧媒體串流取樣模組
315‧‧‧追蹤運算模組
320‧‧‧追蹤傳輸模組
325‧‧‧媒體識別接收模組
330‧‧‧追蹤接收模組
335‧‧‧追蹤檢視模組
340‧‧‧媒體識別傳輸模組
345‧‧‧快取維護模組

Claims (22)

  1. 一種用於提供媒體物件識別給多個用戶端電腦之每一者的方法,該等媒體物件係內嵌於用戶端監控之媒體廣播串流中,該方法包含利用一運算裝置以:針對多個用戶端電腦之每一者,將用戶端產生之媒體串流追蹤以一種持續的基礎傳輸至一伺服器電腦;針對該伺服器所接收的每一種經傳輸之媒體串流追蹤,利用該伺服器在一追蹤快取中搜尋針對該媒體串流追蹤的一相符追蹤;其中在該追蹤快取中的每一追蹤包括一預定的生命週期,且其中將具有一失效生命週期的任何追蹤連同任何相關聯的媒體物件識別資訊自該追蹤快取中移除;若該追蹤快取包括一相符追蹤,則自該伺服器,將與該相符追蹤相關聯之任何媒體物件識別資訊傳輸至該相對應的用戶端;若該追蹤快取並未包括一相符追蹤,則搜尋一指紋資料庫以決定其中是否有任何針對媒體串流追蹤之相符指紋,並將該已傳輸之媒體串流追蹤連同該資料庫搜尋之結果儲存到該追蹤快取;若該指紋資料庫包括一相符指紋,則將與該指紋相關聯之媒體物件識別資訊自該伺服器傳輸至該相對應的用戶端;自該伺服器,上傳來自該指紋資料庫之一或更多個 指紋與來自該追蹤快取之零或更多個追蹤的一個子集、以及與該等已上傳之指紋及追蹤相關聯之任何媒體物件識別資訊至該等用戶端電腦之一或更多者;且其中該等已傳送至該用戶端之指紋雖然已儲存於該伺服器中,該伺服器本身卻不會利用該等指紋來進行針對該相對應之用戶端的追蹤比對。
  2. 如申請專利範圍第1項所述之方法,其中該等用戶端產生之媒體追蹤係由每一用戶端週期性計算及傳輸至該伺服器。
  3. 如申請專利範圍第1項所述之方法,其中該預定之生命週期在具有相關聯媒體物件識別資訊之追蹤中會長於不具有相關聯媒體物件識別資訊之追蹤。
  4. 如申請專利範圍第1項所述之方法,其中當該追蹤快取中之一追蹤符合一媒體串流追蹤時,會將該追蹤快取中之該追蹤的該預定生命週期中之剩餘時間重新設定為該預定之生命週期。
  5. 如申請專利範圍第1項所述之方法,其中不論該預定之生命週期為何,在該追蹤快取中持續地維護經常與媒體串流追蹤相符之該追蹤快取中的追蹤。
  6. 如申請專利範圍第1項所述之方法,其中在該追蹤快取中之每一追蹤經過一預定時期無法符合任何已傳輸之媒體串流追蹤後,將該追蹤快取中之該每一追蹤連同任何相關聯之媒體物件識別資訊自該追蹤快取中移除。
  7. 如申請專利範圍第1項所述之方法,其中該追蹤快取具有一固定大小,且其中每當將一已傳輸之媒體串流追蹤儲存至該追蹤快取時,將該追蹤快取中之一最舊之追蹤連同任何相關聯之媒體物件識別資訊自該追蹤快取中移除。
  8. 如申請專利範圍第1項所述之方法,其中在將該用戶端所產生之媒體串流追蹤傳輸至該伺服器電腦之前,會在該每一用戶端上之指紋與追蹤的子集中搜尋由該相對應用戶端所產生之每一媒體串流追蹤的一相符,且其中若該等用戶端所產生之媒體串流追蹤符合在該子集中之指紋與追蹤的任一項目,則不會將該等用戶端所產生之媒體串流追蹤傳送至該伺服器電腦。
  9. 如申請專利範圍第1項所述之方法,其中該已傳輸至每一相對應用戶端之媒體物件識別資訊,包括一種目前串流之媒體物件的一剩餘播放時間,該目前串流之媒體物 件係內嵌於一用戶端監控之媒體廣播串流中,且其中任何接收此種資訊之用戶端,會在該目前串流之媒體物件的該剩餘時間中暫時中止將用戶端所產生之媒體串流追蹤傳輸至該伺服器。
  10. 如申請專利範圍第9項所述之方法,其中一旦該系統偵測到該使用者已切換到一不同串流時,會立刻重新開始將該等用戶端所產生之媒體串流追蹤傳輸至該伺服器。
  11. 一種用於提供媒體物件識別給多個用戶端之每一者的系統,該等媒體物件係內嵌於媒體廣播串流中,該系統包含:一監控裝置,該監控裝置係用於監控在多個用戶端電腦之每一者上的多個媒體串流廣播之任一者;一產生裝置,該產生裝置係用於自該等用戶端電腦之每一者上的該等受監控之媒體串流廣播的樣本產生即時追蹤;一傳輸裝置,該傳輸裝置係用於自每一用戶端電腦,將每一即時追蹤傳輸至一或更多個伺服器電腦之一伺服器庫;一利用伺服器庫搜尋一種相符的裝置,針對該伺服器庫所接收之每一即時追蹤,該利用伺服器庫搜尋一種 相符的裝置係用於利用該伺服器庫在一種以伺服器為基礎之追蹤快取中搜尋該即時追蹤的一種相符,且該利用伺服器庫搜尋一種相符的裝置用於將與一相符追蹤相關聯之任何媒體物件識別資訊,自該追蹤快取傳輸至該等伺服器電腦之一相對應伺服器電腦;其中在該追蹤快取中的每一追蹤包括一預定的生命週期,且其中將具有一失效生命週期的任何追蹤連同任何相關聯的媒體物件識別資訊自該追蹤快取中移除;若該追蹤快取並未包括針對該即時追蹤的一種相符,則一利用伺服器庫搜尋一種相符指紋的裝置,該利用伺服器庫搜尋一種相符指紋的裝置用於利用該伺服器庫在一種以伺服器為基礎的指紋資料庫中搜尋針對該即時追蹤的一種相符指紋,將任何與該相符指紋相關聯之媒體物件識別資訊,自該指紋資料庫傳輸至該相對應用戶端電腦,且該利用伺服器庫搜尋一種相符指紋的裝置將該即時追蹤連同該資料庫搜尋之結果儲存到該追蹤快取;自該伺服器,上傳來自該指紋資料庫之一或更多個指紋及來自該追蹤快取之零或更多個追蹤的一個子集、以及與該等已上傳之指紋與追蹤相關聯之任何媒體物件識別資訊至該等用戶端電腦之一或更多者;且其中該等已傳送至該用戶端之指紋雖然已儲存於該伺服器中,該伺服器本身卻不會利用該等指紋來進行 針對該相對應之用戶端的追蹤比對。
  12. 如申請專利範圍第11項所述之系統,其中該預定之生命週期在具有相關聯媒體物件識別資訊之追蹤中會長於不具有相關聯媒體物件識別資訊之追蹤。
  13. 如申請專利範圍第11項所述之系統,其中當該追蹤快取中之一追蹤符合一媒體串流追蹤時,會重新設定該追蹤快取中之該追蹤的該預定生命週期中之該剩餘時間。
  14. 如申請專利範圍第11項所述之系統,其中不論該預定之生命週期為何,在該追蹤快取中持續地維護經常與媒體串流追蹤相符之該追蹤快取中的追蹤。
  15. 如申請專利範圍第11項所述之系統,其中在該追蹤快取中之每一追蹤經過一預定時期無法符合任何已傳輸之媒體串流追蹤後,將該追蹤快取中之該每一追蹤連同任何相關聯之媒體物件識別資訊自該追蹤快取中移除。
  16. 如申請專利範圍第11項所述之系統,其中該已傳輸至每一相對應用戶端電腦之媒體物件識別資訊包括一種目前串流之媒體物件的一剩餘播放時間,該目前串流之媒體物件係內嵌於每一相對應用戶端電腦所監控之該媒體廣 播串流中,且其中任何接收此種資訊之用戶端電腦會在該目前串流之媒體物件的該剩餘時間中暫時中止將及時追蹤傳輸至該伺服器庫。
  17. 一種具有儲存於其上的電腦可執行指令之電腦儲存媒體,該等電腦可執行指令係用於提供媒體物件識別至多個用戶端電腦,該等電腦可執行指令可致使一電腦執行下列步驟:運用多個用戶端電腦,從每一用戶端所監控之經擷取的媒體串流之樣本,來產生連續之即時追蹤;將該等已產生之追蹤傳輸至一伺服器電腦;以及針對每一已傳輸之追蹤,利用該伺服器電腦以便:搜尋可供該伺服器電腦存取之一種追蹤快取,以便決定該追蹤快取是否包括一相符追蹤,其中該追蹤快取中的每一追蹤包括一預定的生命週期,且其中將具有一失效生命週期的任何追蹤連同任何相關聯的媒體物件識別資訊自該追蹤快取中移除,若該追蹤快取包括一相符追蹤,則決定該相符追蹤是否包括任何相關聯之媒體物件識別資訊,且若為肯定時,則將該媒體物件識別自該伺服器傳輸至該相對應用戶端;若該追蹤快取並未包括一相符追蹤,則搜尋 一指紋資料庫以便決定是否有任何相符指紋,並將該已傳輸之追蹤連同該資料庫搜尋之結果傳輸至該追蹤快取;以及若該指紋資料庫包括一相符指紋,則將與該指紋相關聯之媒體物件識別資訊自該伺服器傳輸至該相對應用戶端;自該伺服器,上傳來自該指紋資料庫之一或更多個指紋及來自該追蹤快取之零或更多個追蹤的一個子集、以及與該等已上傳之指紋及追蹤相關聯之任何媒體物件識別資訊至該等用戶端電腦之一或更多者;且其中該等已傳送至該用戶端之指紋雖然已儲存於該伺服器中,該伺服器本身卻不會利用該等指紋來進行針對該相對應之用戶端的追蹤比對。
  18. 如申請專利範圍第17項所述之電腦儲存媒體,其中當該追蹤快取中之一追蹤符合一媒體串流追蹤時,會重新設定該追蹤快取中之該追蹤的該預定之生命週期。
  19. 如申請專利範圍第17項所述之電腦儲存媒體,其中不論該預定之生命週期為何,在該追蹤快取中持續地維護經常與已傳輸之追蹤相符之該追蹤快取中的追蹤。
  20. 如申請專利範圍第17項所述之電腦儲存媒體,其中在該追蹤快取中之每一追蹤經過一預定時期無法符合任何已傳輸之追蹤後,將該追蹤快取中之該每一追蹤連同任何相關聯之媒體物件識別資訊自該追蹤快取中移除。
  21. 如申請專利範圍第17項所述之電腦儲存媒體,其中該追蹤快取具有一固定大小,且其中每當將一已傳輸之追蹤儲存至該追蹤快取時,將該追蹤快取中之一最舊之追蹤連同任何相關聯之媒體物件識別資訊自該追蹤快取中移除。
  22. 如申請專利範圍第17項所述之電腦儲存媒體,其中該已傳輸至每一相對應用戶端之媒體物件識別資訊包括一種目前串流之媒體物件的一剩餘播放時間,該目前串流之媒體物件係內嵌於每一用戶端所監控之經擷取的媒體串流中,且其中任何接收此種資訊之用戶端,會在該目前串流之媒體物件的該剩餘播放時間中暫時中止將追蹤傳輸至該伺服器電腦。
TW094130604A 2004-11-02 2005-09-06 用於加速各多重同步資料流之資料庫檢視的系統以及方法 TWI390924B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/980,684 US7574451B2 (en) 2004-11-02 2004-11-02 System and method for speeding up database lookups for multiple synchronized data streams

Publications (2)

Publication Number Publication Date
TW200627884A TW200627884A (en) 2006-08-01
TWI390924B true TWI390924B (zh) 2013-03-21

Family

ID=35810153

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094130604A TWI390924B (zh) 2004-11-02 2005-09-06 用於加速各多重同步資料流之資料庫檢視的系統以及方法

Country Status (13)

Country Link
US (1) US7574451B2 (zh)
EP (1) EP1653381A3 (zh)
JP (1) JP5031217B2 (zh)
KR (1) KR101143115B1 (zh)
CN (1) CN100507911C (zh)
AU (1) AU2005209695B2 (zh)
BR (1) BRPI0504265A (zh)
CA (1) CA2519828C (zh)
MX (1) MXPA05010665A (zh)
MY (1) MY147083A (zh)
RU (1) RU2422891C2 (zh)
TW (1) TWI390924B (zh)
ZA (1) ZA200507924B (zh)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173938A (ja) * 2003-12-10 2005-06-30 Pioneer Electronic Corp 曲検索装置、曲検索方法及び曲検索用プログラム並びに情報記録媒体
WO2006050731A2 (en) * 2004-11-09 2006-05-18 Bang & Olufsen A/S A procedure and apparatus for generating automatic replay of recordings
US7886068B1 (en) * 2005-10-27 2011-02-08 Network Appliance, Inc. Management of streaming media playlists
US8239327B2 (en) * 2005-11-02 2012-08-07 Jump Technologies, Inc. System and method for user logging of audio and video broadcast content
US7872574B2 (en) 2006-02-01 2011-01-18 Innovation Specialists, Llc Sensory enhancement systems and methods in personal electronic devices
US8495075B2 (en) * 2006-03-08 2013-07-23 Apple Inc. Fuzzy string matching of media meta-data
WO2007127881A2 (en) * 2006-04-26 2007-11-08 Business Controls, Inc. Anonymous reporting system
WO2008042953A1 (en) * 2006-10-03 2008-04-10 Shazam Entertainment, Ltd. Method for high throughput of identification of distributed broadcast content
US8301658B2 (en) 2006-11-03 2012-10-30 Google Inc. Site directed management of audio components of uploaded video files
AU2007316477A1 (en) * 2006-11-03 2008-05-15 Google Inc. Content management system
US7945540B2 (en) * 2007-05-04 2011-05-17 Oracle International Corporation Method to create a partition-by time/tuple-based window in an event processing service
WO2008145597A2 (en) * 2007-05-25 2008-12-04 Bang & Olufsen A/S A system and a method for providing events to a user
WO2009046438A1 (en) * 2007-10-05 2009-04-09 Dolby Laboratories Licensing Corp. Media fingerprints that reliably correspond to media content
ES2326019B1 (es) * 2008-03-26 2010-07-07 Tuylek, S.L. "equipo multifuncion de medicion de datos vitales dotado de un sistema de tratamiento de datos centralizado".
WO2009124002A1 (en) * 2008-03-31 2009-10-08 Dolby Laboratories Licensing Corporation Distributed media fingerprint repositories
CN101610281B (zh) * 2008-06-19 2012-11-21 华为技术有限公司 一种数据指纹保存方法和装置
US20100023328A1 (en) * 2008-07-28 2010-01-28 Griffin Jr Paul P Audio Recognition System
US8972410B2 (en) * 2008-07-30 2015-03-03 Hewlett-Packard Development Company, L.P. Identifying related objects in a computer database
WO2010022303A1 (en) 2008-08-22 2010-02-25 Dolby Laboratories Licensing Corporation Content identification and quality monitoring
US9390167B2 (en) * 2010-07-29 2016-07-12 Soundhound, Inc. System and methods for continuous audio matching
US20100198926A1 (en) * 2009-02-05 2010-08-05 Bang & Olufsen A/S Method and an apparatus for providing more of the same
US9633014B2 (en) 2009-04-08 2017-04-25 Google Inc. Policy based video content syndication
US8738354B2 (en) * 2009-06-19 2014-05-27 Microsoft Corporation Trans-lingual representation of text documents
US20110041154A1 (en) * 2009-08-14 2011-02-17 All Media Guide, Llc Content Recognition and Synchronization on a Television or Consumer Electronics Device
US8161071B2 (en) 2009-09-30 2012-04-17 United Video Properties, Inc. Systems and methods for audio asset storage and management
US8677400B2 (en) 2009-09-30 2014-03-18 United Video Properties, Inc. Systems and methods for identifying audio content using an interactive media guidance application
US8594392B2 (en) * 2009-11-18 2013-11-26 Yahoo! Inc. Media identification system for efficient matching of media items having common content
US8682145B2 (en) 2009-12-04 2014-03-25 Tivo Inc. Recording system based on multimedia content fingerprints
US20110258211A1 (en) * 2010-04-18 2011-10-20 Kalisky Ofer System and method for synchronous matching of media samples with broadcast media streams
US20120191231A1 (en) * 2010-05-04 2012-07-26 Shazam Entertainment Ltd. Methods and Systems for Identifying Content in Data Stream by a Client Device
CA2798072C (en) * 2010-05-04 2017-02-14 Shazam Entertainment Ltd. Methods and systems for synchronizing media
CN102959543B (zh) * 2010-05-04 2016-05-25 沙扎姆娱乐有限公司 用于处理媒体流的样本的方法和***
US20120136701A1 (en) * 2010-11-26 2012-05-31 Rohan Relan Method and system for faciliating interactive commercials in real time
US8935300B1 (en) * 2011-01-03 2015-01-13 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with content-searchable media
US8643703B1 (en) 2011-03-30 2014-02-04 Amazon Technologies, Inc. Viewer tracking image display
US9035163B1 (en) 2011-05-10 2015-05-19 Soundbound, Inc. System and method for targeting content based on identified audio and multimedia
KR101578279B1 (ko) * 2011-06-10 2015-12-28 샤잠 엔터테인먼트 리미티드 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템
KR101828342B1 (ko) 2011-08-10 2018-02-12 삼성전자 주식회사 방송수신장치, 방송신호 관련 연관정보 제공방법 및 서버
US8560719B2 (en) 2011-09-14 2013-10-15 Mobitv, Inc. Fragment server directed device fragment caching
KR101873364B1 (ko) 2011-09-27 2018-08-03 삼성전자 주식회사 방송수신장치, 방송신호 관련 연관정보 제공방법
US9223902B1 (en) 2011-11-29 2015-12-29 Amazon Technologies, Inc. Architectures for content identification
US9852135B1 (en) * 2011-11-29 2017-12-26 Amazon Technologies, Inc. Context-aware caching
US9292894B2 (en) * 2012-03-14 2016-03-22 Digimarc Corporation Content recognition and synchronization using local caching
KR101404596B1 (ko) * 2012-05-03 2014-06-11 (주)엔써즈 이미지에 기반하여 동영상 서비스를 제공하는 시스템 및 방법
KR101396413B1 (ko) * 2012-05-07 2014-05-19 주식회사 마크애니 디지털 핑거프린팅을 이용한 정보 제공 시스템 및 방법
US9113203B2 (en) 2012-06-28 2015-08-18 Google Inc. Generating a sequence of audio fingerprints at a set top box
US8843952B2 (en) 2012-06-28 2014-09-23 Google Inc. Determining TV program information based on analysis of audio fingerprints
CN104584571B (zh) * 2012-06-28 2018-01-09 谷歌公司 在机顶盒处产生音频指纹序列
CN102880973A (zh) * 2012-09-05 2013-01-16 常州嘴馋了信息科技有限公司 网页广告播放管理***
US9661361B2 (en) 2012-09-19 2017-05-23 Google Inc. Systems and methods for live media content matching
GB2506897A (en) * 2012-10-11 2014-04-16 Imagination Tech Ltd Obtaining stored music track information for a music track playing on a radio broadcast signal
EP2750055A1 (en) * 2012-12-27 2014-07-02 Magix AG System and method for content recognition in portable devices
US20140188592A1 (en) * 2012-12-27 2014-07-03 Magix Ag Content recognition based evaluation system in a mobile environment
US9792350B2 (en) * 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains
US9564918B2 (en) 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
KR101462113B1 (ko) * 2013-01-16 2014-11-17 네이버 주식회사 방송의 멀티미디어 유전자를 통한 그룹핑 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US9009103B2 (en) * 2013-03-15 2015-04-14 Microsoft Technology Licensing, Llc Fingerprint-based, intelligent, content pre-fetching
KR101456926B1 (ko) * 2013-06-14 2014-10-31 (주)엔써즈 핑거프린트에 기반한 광고 검출 시스템 및 방법
US9948690B2 (en) 2013-08-15 2018-04-17 Comcast Cable Communications, Llc Caching media in a media fling system
US9552205B2 (en) * 2013-09-27 2017-01-24 Intel Corporation Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions
TWI526966B (zh) 2013-11-25 2016-03-21 財團法人資訊工業策進會 資料處理裝置及資料處理方法
US9749416B2 (en) * 2013-11-26 2017-08-29 International Business Machines Corporation Managing inventory data for a distributed cache provided by a plurality of wireless mobile devices
US20150193199A1 (en) * 2014-01-07 2015-07-09 Qualcomm Incorporated Tracking music in audio stream
US9430474B2 (en) * 2014-01-15 2016-08-30 Microsoft Technology Licensing, Llc Automated multimedia content recognition
KR102166423B1 (ko) * 2014-03-05 2020-10-15 삼성전자주식회사 디스플레이 장치, 서버 장치 및 디스플레이 장치의 이벤트 정보 제공 방법
US9710220B2 (en) * 2014-10-24 2017-07-18 Sony Corporation Context-sensitive media classification
KR102217191B1 (ko) 2014-11-05 2021-02-18 삼성전자주식회사 단말 장치 및 그 정보 제공 방법
US9946489B2 (en) 2016-07-27 2018-04-17 Western Digital Technologies, Inc. Multi-stream journaled replay
RU172737U1 (ru) * 2017-04-18 2017-07-21 Общество с ограниченной ответственностью "ДЖЕНТ КЛАБ" Устройство для идентификации музыкальных произведений
US10972203B2 (en) * 2017-06-12 2021-04-06 Gracenote, Inc. Detecting and responding to rendering of interactive video content
KR102546026B1 (ko) 2018-05-21 2023-06-22 삼성전자주식회사 전자 장치 및 그의 컨텐츠 인식 정보 획득
GB201810202D0 (en) * 2018-06-21 2018-08-08 Magus Communications Ltd Answer machine detection method & apparatus
KR102599951B1 (ko) 2018-06-25 2023-11-09 삼성전자주식회사 전자 장치 및 그의 제어방법
KR20200080387A (ko) 2018-12-18 2020-07-07 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US11334746B2 (en) * 2019-05-01 2022-05-17 EMC IP Holding Company LLC Facial recognition for multi-stream video using high probability group
CN111966887B (zh) * 2019-05-20 2024-05-17 北京沃东天骏信息技术有限公司 动态缓存方法及装置、电子设备、存储介质
CN110647077B (zh) * 2019-09-26 2020-12-25 珠海格力电器股份有限公司 一种工控装置的控制方法、***、存储介质及工控装置
US20210200741A1 (en) * 2019-12-30 2021-07-01 Imperva, Inc. Passive classification of data in a database based on an event log database
CN116825129B (zh) * 2023-05-09 2024-02-09 广东保伦电子股份有限公司 一种音频流精确分发的方法、设备及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958008A (en) * 1996-10-15 1999-09-28 Mercury Interactive Corporation Software system and associated methods for scanning and mapping dynamically-generated web documents
US5944815A (en) * 1998-01-12 1999-08-31 Advanced Micro Devices, Inc. Microprocessor configured to execute a prefetch instruction including an access count field defining an expected number of access
US6721740B1 (en) * 1998-05-29 2004-04-13 Sun Microsystems, Inc. Method and apparatus of performing active update notification
US7174293B2 (en) * 1999-09-21 2007-02-06 Iceberg Industries Llc Audio identification system and method
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
US6990453B2 (en) * 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
KR20020053979A (ko) * 2000-12-26 2002-07-06 오길록 내용 기반의 음악 자료 검색 시스템 및 그 방법
US7328153B2 (en) * 2001-07-20 2008-02-05 Gracenote, Inc. Automatic identification of sound recordings
EP1421521A2 (en) * 2001-07-31 2004-05-26 Gracenote, Inc. Multiple step identification of recordings
US20030055910A1 (en) * 2001-09-19 2003-03-20 International Business Machines Corporation Method and apparatus to manage data on a satellite data server
US7509393B2 (en) * 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
WO2003067467A1 (en) * 2002-02-06 2003-08-14 Koninklijke Philips Electronics N.V. Fast hash-based multimedia object metadata retrieval
US20040003101A1 (en) * 2002-06-26 2004-01-01 Roth David J. Caching control for streaming media
US7089396B2 (en) * 2002-10-10 2006-08-08 International Business Machines Corporation Method and profiling cache for management of virtual memory
WO2004040416A2 (en) * 2002-10-28 2004-05-13 Gracenote, Inc. Personal audio recording system
KR100468325B1 (ko) * 2003-03-28 2005-01-27 주식회사 프리챌 P2p서비스 방법
US20040260682A1 (en) * 2003-06-19 2004-12-23 Microsoft Corporation System and method for identifying content and managing information corresponding to objects in a signal

Also Published As

Publication number Publication date
AU2005209695A1 (en) 2006-05-18
US20060106867A1 (en) 2006-05-18
TW200627884A (en) 2006-08-01
KR101143115B1 (ko) 2012-05-08
US7574451B2 (en) 2009-08-11
AU2005209695B2 (en) 2011-02-10
CA2519828A1 (en) 2006-05-02
JP2006146883A (ja) 2006-06-08
CA2519828C (en) 2013-06-25
CN1770156A (zh) 2006-05-10
KR20060051233A (ko) 2006-05-19
CN100507911C (zh) 2009-07-01
RU2005132924A (ru) 2007-04-27
JP5031217B2 (ja) 2012-09-19
ZA200507924B (en) 2007-12-27
MY147083A (en) 2012-10-31
EP1653381A3 (en) 2006-09-13
BRPI0504265A (pt) 2006-06-27
RU2422891C2 (ru) 2011-06-27
MXPA05010665A (es) 2006-05-04
EP1653381A2 (en) 2006-05-03

Similar Documents

Publication Publication Date Title
TWI390924B (zh) 用於加速各多重同步資料流之資料庫檢視的系統以及方法
US10055490B2 (en) System and methods for continuous audio matching
JP4994584B2 (ja) メディア・ストリーム・オブジェクトに関する情報の推論
US9436689B2 (en) Distributed and tiered architecture for content search and content monitoring
US8972481B2 (en) Playlist generation method and apparatus
US8453170B2 (en) System and method for monitoring and recognizing broadcast data
US11223433B1 (en) Identification of concurrently broadcast time-based media
WO2003067467A1 (en) Fast hash-based multimedia object metadata retrieval
CN1759396A (zh) 改进的数据检索方法和***
CN101361301A (zh) 检测广播媒体中的重复内容
KR100916310B1 (ko) 오디오 신호처리 기반의 음악 및 동영상간의 교차 추천 시스템 및 방법
JP2007172050A (ja) 映像検索方法及び装置及びプログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees