A method and apparatus for identifying media content presented on a media playing device
Abstract
A system and method for identifying media content presented over a media playing device. The media content, such as audio and/or video, is either available digitally or digitally sampled. The media content is sampled to generate a media sample or analytical representation of the media content. The media sample is compared to a collection of sampled (or represented) media content to identify it and to ascertain information related to the sample. This media content-related information is then presented to the user via a display means on the media player. The media player then presents the user specific and related actions that are based upon the information presented and allows the user to directly execute their choice of actions.

Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
22 claims: 5 independent, 17 dependent
- 1CLAIMS What is claimed is' 1 A method for identifying media content presented on a client media player compnsing a) creating a sample of a segment of the media content presented on the client media player;b) companng said sample to a collection of reference sampled media content to obtain content-related data from said collection of reference sampled media content;and c) presenting said content-related data on said client media player.
- 12A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for identifying media content presented on a client media player, said method compnsing:a) creating a sample of a segment of the media content presented on the client media player, b) companng said sample to a collection of reference sampled media content to obtain content-related data from said collection of reference sampled media content, and c) presenting said content-related data on said client media player.
- 1414 In a network having at least one client media player operatively coupled for communication with a lookup server, a system for identifying media content presented on the client media player compnsing:a) a client engine executing within the client media player, said client engine structured and configured to sample media content played on said client media player into a media sample and communicate said media sample to said lookup server;b) a collection of reference sampled media content containing a plurality of sampled media content, each associated with corresponding content-specific information;and c) a server engine executing with said lookup server connected to said collection of sampled media content, said server engine structured and configured to receive said media sample from said client media player and compare said received media sample with said plurality of sampled media content in said collection of reference sampled media content to query and ascertain content information related to said received media sample, said server engine further structured and configured to transmit said content information to said client media player.
- 1818 In a network having at least one client media player operatively coupled for communication with a lookup server, a client engine executing within the client media player for identifying media content presented on the chent media player compnsing:a) an interrupt unit structured and configured to monitor the client media player for media content presented thereon, b) a sampling unit structured and configured to generate a media sample from said media content monitored by said interrupt unit and transmit said media sample to said lookup server;and c) a user interface structured and configured to receive content information related to said media sample from said lookup server and presenting said content information.
- 20In a network having at least one client media player operatively coupled for communication with a lookup server, a server engine executing within the lookup server for identifying media content presented on the client media player compnsing. a) a collection of reference sampled media content containing a plurality of sampled media content, each associated with corresponding content-specific information;and b) a lookup unit coupled to said collection of reference sampled media content, said lookup unit structured and configured to receive a media sample from said client media player and compare said received media sample with said plurality of sampled media content m said collection of reference sampled media content to query and ascertain content information related to said received media sample, said server engine further structured and configured to transmit said content information to said client media player
Independent claims5
78 paragraphs in 2 sections, as filed
S P E C I F I C A T I O N
A METHOD AND APPARATUS FOR IDENTIFYING MEDIA CONTENT PRESENTED ON A MEDIA PLAYING DEVICE
1. Field of the Invention
This invention pertains generally to media content identification methods More particularly, the invention is an apparatus and method for identifying media content presented on a media playing device and presenting media-content related information and/or action to the user of the media playing device 2 The Pπor Art
The use of a data processing means, such as a computer or personal digital assistant (PDA), for playing media content is well known. For example, many users use their personal computei (PC) for playing audio compact disks (CD), normally with the use of a CD-ROM drive, a sound card, and speakers Other types of media, including vaπous formats of audio and video, are also commonly played using a PC.
With the increasing populaπty of the global information network commonly known as the "Internet", various audio and video formats have been introduced to provide live (as well as archived) media broadcasts over the Internet. These broadcasts may be viewed by users connected to the Internet with the use of a PC and the proper client application. For example, Real Networks™ provides Real Player™ (a client application) for playing streaming audio and video content (m Real™ format) which is broadcast over the Internet. Various servers (also connected to the Internet) carry out the operation of making such content available and streaming the appropπate content to users upon request. In this way, Real™ media content may be played by a user using Real Player™ on the user's PC. Like other media client applications, Real Player™ plays audio content via the user's sound card and speakers and video content via the user's video card and monitor (or other viewing device)
Internet radio broadcasts (or webcasts) are also known in the art In general, Internet radio broadcasts are provided over the Internet by one or more server computers equipped to provide streaming audio content, much like traditional AM or FM radio broadcast. A user that would like to listen to an Internet radio broadcast \\ ould use a client application (such as Real Player™, Microsoft™ media player, or Apple QuickTime™ viewer, for example) and direct the client application to the appropriate server computer The server computer then transmits the media content to the client application via the Internet. The client application receives the media content transmitted from the server computer and plays the content using the user's sound card and speaker Internet video broadcasts (another form of webcast) are earned out in a similai fashion to that of Internet radio broadcasts, except video broadcasts typically contain both audio and video content As such, the audio component is played to the user via a sound card and speakers, while the video component is displayed using a video card and a monitor In many cases, media content webcasts will not provide content identifying information, such as song title, artist name or album name, as part of the media broadcast. Other information, such as where the content can be purchased in the form of a CD, DND (digital video disk) or NHS (video home system) tape, for example, are also typically not included The pπmary reason a webcast provider (station) fails to provide such content-related information is that the station does not have real-time access to accurate play sts. For example, it is common for a station disk jockey to make real-time adjustments to the play st order and timing. Thus current radio station systems do not transmit with or attach content data with the broadcast
In addition to webcasts, many Internet sites piovide archived or pre-recorded media content for download and playback on a user's PC. Examples of such content include "wav", "mp3", "mov", and "midi" files, among others Once these files have been downloaded from the Internet site to the user's PC, the user is able to play back the audio or video using an appropπate client application. Many of these media files, like webcasts, also fail to provide content identifying and other information. Additionally, PCs often have the ability to play other forms of media content via
PC sound card and speakers and/or PC video card and monitor For example, tuner expansion cards (tuners) which may be inserted into (or interfaced with) a user's PC are presently available (some computers already include such tuners). In either case, "television" (TN) tuners allow a user of the PC to view conventional television, cable oi satellite transmissions on the PC monitor and hear the audio via the PC speaker.
"Radio" tuners allow a user to hear conventional (FM or AM) radio broadcast using the PC speaker. Conventional TN and radio broadcast also fail to provide πch content- related information to the user.
Other media playing devices such as televisions, radio/stereo systems, and portable audio devices also typically do not provide content-related information on demand for the user. For example, in automobiles, current car stereo systems fail to provide a system and method for identifying the music being played on the stereo Typically a user would either rely on the disk lockey to identify the artist and song title or call the radio station to ascertain the information. Accordingly, there is a need for an apparatus and method which provides realtime media content-related information and context specific actions choices to users viewing and/oi listening to media content over media playing devices The present invention satisfies these needs, as well as others, and generally overcomes the deficiencies found m the backgiound art
BRIEF DESCRIPTION OF THE INVENTION The present invention is a system and method for identifying media content presented over a media playing device, such as a computer. The system generates a media sample or analytical representation of the media content, such as audio and/or
\ideo, played on the media player. The media sample or representation is compared to a database of sampled media content or representations to query and ascertain information related to the sample This media content-i elated information is then displayed on the media player. The invention further relates to machine readable media on which are stored embodiments of the present invention. It is contemplated that any media suitable for retrieving instructions is within the scope of the present invention. By way of example, such media may take the form of magnetic, optical, or semiconductor media The invention also relates to data structures that contain embodiments of the present invention, and to the transmission of data structures containing embodiments of the present invention.
By way of example only, and not of limitation, the media player may compπse any data processing means or computer executing the present invention including devices carrying out the invention via an embedded system. For example, the media player may compπse cellular or mobile phones, portable media players, and fixed media players including analog broadcast receivers (such as car stereo, home stereos, televisions, for example).
In a first embodiment, the database ot sampled media content resides on a "lookup server" which carries out the database query descπbed above. In general, the lookup server is operatively coupled for communication to one or more media players (client) via the Internet as is known m the art. Under this arrangement, the media sample is first communicated from the client to the lookup server before the media sample is compared to the database. Then after the database query is carried out on the lookup server, the content-related information is transmitted to the client for presentation thereon.
According to this embodiment, the system of the present invention generally includes one or more client media players, each operatively coupled for communication to a lookup server. As noted above, the lookup server is generally connected to the client media players via an Internet connection, although any suitable network (including wired or wireless) connection may also be used.
For example, the client media player may compπse a computer. The client computer typically plays audio files via a sound card and speakers. Video files are played via a video card and a monitor. The client computer has executing thereon a "client engine" software application compnsmg a sampling unit, a media intercept unit (intercept unit), and a user-interface
By way of example, and not of limitation, the intercept unit carπes out the operation of monitoπng the client computer for media content presented thereon. In general, the intercept unit carπes out the operation of monitoπng audio signals transmitted to the sound card and/or video signals transmitted to the video card. The intercept unit may also monitor the operations of other hardware suitable for communicating audio and/or video signals, such as USB (universal seπal bus) and LEEE (Institute of Electπcal and Electronics Engineers) standard 1394 connections, for example Preferably, the intercept unit maintains a FIFO (first in first out) buffer of fixed size (150 seconds, for example) containing media content played on the client The sampling unit carπes out the operation of creating a media sample of the media content played on the client computer in order to represent and <img file="WO0162004A2_D0001.tif" /> the media content. In general, the sampling unit creates a sample from the FTFO buffer maintained by the intercept unit. The sampling unit may create media samples according to a predetermined or user-defined interval or upon the request of the user of the client computer. User request may be received via commands issued using the user-interface. In general, the media sample created by the sampling unit compπses a "digital fingerpnnt" or "digital signature" using conventional digital signal processing known in the art. For example, a sound file may be sampled according to its acoustic/perceptual features over time. It is noted that "media sample" is defined herein to include actual recordings of the media content and/or analytical representations of the media content. The media sample is then transmitted to the lookup server for further processing, as descπbed m further detail below.
The user interface carπes out the operation of receiving commands from a user of the client computer, and displaying content-related information to the user As noted above, a user may issue a request for content-related information via the user-interface. This request is communicated to the sampling unit for further processing. As descπbed above, in response to this request, the sampling unit creates a sample of the media content being played on the client computer and transmits the sample to the lookup server for further processing. In response, the lookup server provides the information related to the media sample to the client computer. This content-related information is received by the user interface which then displays the received information to the user of the client computer.
The content-related information returned from the lookup server ma\ also be used for a plurality of purposes including, for example, generating a log of the user activity, providing an option to purchase media to the user, and displaying the content- related information on the media playing device, among others. The lookup server has executing thereon a "server engine" software application comprising a lookup unit, and a log unit The lookup unit is further coupled to a media database, and the log unit is coupled to a log database While the present invention descπbes the lookup servei as a single machine, a group or cluster of server machines may be used to caιτy out the tasks of the lookup server described herein to thereby balance the load between se\ eial machines as is known in the art
The lookup unit carπes out the operation of receiving media samples from client computers and performing database queries on the media database to ascertain content information I elated to the media sample provided This content-related information may include such information as song title, artist, album name, for example The content- related information may also include product fulfillment information, such as how and wheie to purchase media containing the media sample, advertising banners, and/or promotional offers, for example This content-related information is transmitted back to the client computer foi further processing thereon
The log unit canes out the operation of tracking media requests made by the usei s of the client computeis to the lookup server The log unit maintains a plurality of information related to the requests made by the user including, for example, media type, genre or category This user information is maintained in the log database
The source of the media content played on the client computer includes conventional media sources such as Internet sources or Webcasts, including streaming media and archived media The media content source may also be audio CDs, DVD, or other formats suitable for presentation on media playing devices such as the client computer
In a second embodiment of the present invention, the database of sampled media content resides within the client computei The database resides on conventional storage medium, such a computer memory, a hard dπve, CD-ROM, or other appropπate storage medium Under this aπangement, the database query is earned out "locally" on the computer playing the media content It will be readily apparent to those skilled in the art that vaπous other topological arrangements of the system elements (including the location of the database) ma\ be used with the invention without departing from the scope and spmt of the invention
An object of the <img file="WO0162004A2_D0002.tif" /> is to provide an apparatus and method for identifying media content presented over a media playing device which overcomes the deficiencies of the pπor art
Another object of the invention is to provide an apparatus and method for identifying media content piesented over a media playing device which does not require the media content provider to provide content-related information
Further objects and advantages of the invention will be brought out in the following portions of the specification, wherein the detailed descnption is for the purpose of fully disclosing the piefeπed embodiment of the invention without placing limitations thereon
BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be moie fully understood by reference to the following diawmgs, which are for illustrative purposes only FIG 1 is a functional block diagram of a media content identifying system in accordance with the invention
FIG 2 is a functional block diagram of a media content identifying system having a plurality ot client nodes in accordance with the invention
FIG 3 is a flow chart showing generally the piocesses associated with the client engine in accordance with the invention
FIG 4 is flow chart showing generally the piocesses associated with the media intercept unit in accordance with the invention
FIG 5 is flow chart showing generally the piocesses associated with the servei ensine m accordance with the invention
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Persons of ordinary skill m the art will realize that the following descnption of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons having the benefit of this disclosure.
Referπng more specifically to the drawings, for illustrative purposes the present ention is embodied in the apparatus shown FIG 1 and FIG 2 and the method outlined in FIG 3 through FIG 5 It will be appreciated that the apparatus may vary as to configuration and as to details of the parts, and that the method may vary as to details and the order of the acts, without departing from the basic concepts as disclosed herein The invention is disclosed generally in terms of an apparatus and method for media content identification on a personal computer, although numerous other uses for the inv ention will suggest themselves to persons of ordinal y skill m the art. Referring first to FIG. 1, there is generally shown a functional block diagram of a media content identifying system 10 m accordance with the invention. The system 10 compπses a lookup server 12 and at least one client media player 14. The lookup server 12 can be any standard data processing means or computer, including a minicomputer, a microcomputer, a UNIX<sup>®</sup> machine, a mainframe machine, a personal computer (PC) such as INTEL<sup>®</sup> based processing computer or clone thereof, an APPLE<sup>®</sup> computer or clone thereof or, a SUN<sup>®</sup> workstation, or other appropπate computer. Lookup server 12 generally includes conventional computer components (not shown), such as a motherboard, central processing unit (CPU), random access memory (RAM), hard disk dπve, display adapter, other storage media such as diskette dπve, CD-ROM, flash-ROM, tape dπ\e. PCMCIA cards and/or other removable media, a monitor, keyboard, mouse and/or other user interface means, a modem, and/or other conventional input/output devices Lookup server 12 also includes a Network Interface 17 for communication with other computers using an appropnate network protocol. Lookup server 12 has loaded its RAM a conventional server operating system
(not shown) such as UNIX<sup>®</sup>, WINDOWS<sup>®</sup> NT, NOVELL<sup>®</sup>, SOLARIS<sup>®</sup>, or other server operating system. Lookup server 12 also has loaded in its RAM server engine software 16, which is discussed in more detail below.
Client media player 14, may compnse a standard computer such as a minicomputer, a microcomputer, a UNIX<sup>®</sup> machine, mainframe machine, personal computei (PC) such as INTEL<sup>®</sup>, APPLE<sup>®</sup>, or SUN<sup>®</sup> based processing computer or clone thereof, or other appropπate computer As such, client media player 14 is normally embodied in a conventional desktop or "tower" machine, but can alternatively be embodied m a portable oi "laptop" computer, a handheld personal digital assistant (PDA), a cellular phone capable of playing media content, a dumb terminal playing media content, a specialized device such as Tivo<sup>®</sup> player, or an internet terminal playing media content such as WEBTV<sup>®</sup>, among others. As descnbed above, client media player 14 may also compnse other media playing devices such as portable stereo system, fixed stereo systems, and televisions suitable for use with embedded systems carrying out the operations of the client engine as descπbed further below.
Client media player 14 also includes typical computer components (not shown), such as a motherboard, central processing unit (CPU), random access memory (RAM), hard disk dπve, other storage media such as diskette dnve, CD-ROM, flash-ROM, tape dnve, PCMCIA cards and/or other removable media, keyboard, mouse and/or other user interface means, a modem, and/or other conventional input/output devices.
Client media player 14 also has loaded it RAM an operating system (not shown) such as UNIX<sup>®</sup>, WINDOWS<sup>®</sup> 98 or the like. Client media player 14 further has loaded in RAM a media client application program 18 such as Real Player™, Windows™ Media Player, Apple Quicktime™ Player, or other appropπate media client application for playing audio and/or video via client media player 14. Client media player 14 also has loaded in its RAM client engine software 30, which is discussed m more detail below
Client media player 14 further includes a conventional sound card 20 connected to speakers 22 As is known in the art, the media client application 18 will generally play audio signals through the sound card device 20 and speakers 22. For example, audio streams, audio files, audio CDs, and other audio sources are communicated from the client application 18 to the sound card 20 for output. The sound card 18 then produces the audio signal via speakers 22 Client media player 14 also includes a conventional video card 24 connected to a display means 26 As is known in the art, the media client 18 will generally play video content through the video card 24, which then produces an appropnate video signal suitable for display on the display means 26 The display means 26 may be a standard monitor, LCD, or other appropnate display apparatus Client media player 14 also includes a Network Interface 28 for communication with other computers using an appropnate network protocol The network interface 28 may compnse a network interface card (NIC), a modem, ISDN (Integrated Services Digital Network) adapter, ADSL (Asynchronous digital subscnber line) adapter or other suitable network interface
Client media player 14 is networked foi communication with lookup server 12 Tvpically, client media player 14 is operatively coupled to communicate with lookup servei 12 via an Internet connection 32 through a phone connection using a modem and telephone line (not shown), in a standard fashion The user of client media player 14 w ill typically dial the user's Internet service piovidei (ISP) (not shown) through the modem and phone line to establish a connection between the client media player 14 and the ISP, thereby establishing a connection between the client media player 14 and the Internet 32 Generally, lookup server 12 is also connected to the Internet 32 via a second ISP (not shown), typically by using a fast data connection such as Tl, T3, multiple Tl, multiple T3, or other conventional data connection means (not shown) Since computers connected to the Internet are themselves connected to each other, the Internet 32 establishes a network communication between client media player 14 and server 12 Generally, client media player 14 and lookup server 12 communicate using the IP (internet protocol) However, other protocols for communication may also be utilized, including PPTP, NetBEUI over TCP/IP, and other appropπate network protocols
Client media player 14 and server 12 can alternatively connect to the Internet 32 using a network means, wireless means, satellite means, cable means, infrared means or other means for establishing a connection to the Internet, as alternatives to telephone line connection Alternative means for networking client media player 14 and server 12 may also be utilized, such as a direct point to point connection using modems, a local area network (LAN), a wide area netwoik (WAN), wireless connection, satellite connection, direct port to port connection utilizing infrared, seπal, parallel, USB, FireWire/TEEE- 1394, ISDN, DSL and other means known in the art In general, client engine 30 is a software application executing within the client media player 14 However, client engine 30 may also be an embedded system carrying out the functions descnbed herein and suitable for use with vanous media player platforms Client engine 30 compπses a sampling unit 34, an intercept unit 36, and a user interface 38
The intercept unit 36 carnes out the operation of monitoπng the client media player 14 tor media content presented thereon, typically by media client application 18, but may be from any media source In operation, the intercept unit 36 monitors audio signals transmitted from the media client 18 to the sound card 20 and/or video signals transmitted from the media client 18 to the video card 24. The intercept unit 36 may also monitor the operations of other hardware (not shown) suitable for communicating audio and/or video signals, such as USB, IEEE standard 1394 connections, and analog inputs devices (such as microphones). For example, m a media player compnsing a mobile stereo system, the intercept unit 36 intercepts the audio signal played on thereon
Preferably, the intercept unit 36 maintains a FIFO (first m first out) buffer 40 of fixed size (150 seconds, for example) for stonng media content played on the client media player 14, and from which media samples are created by sampling unit 34 The operation of the intercept unit is further descπbed below in conjunction with FIG. 4 The sampling unit 34 carnes out the operation of creating a media sample of the media content played on the client media player 14. In operation, the sampling unit 34 creates a media sample from the FIFO buffer 40 maintained by the intercept unit 36. The sampling unit 34 may create media samples according to a predetermined or user- defined interval or upon the request of user of the client media player 14. For example, user requests may be received via commands issued using the user-mterface 38.
As noted above, the media sample created by the sampling unit 34 typically comprises a "digital fingerpπnt" using conventional digital signal processing known in the art. For example, a sound file may be sampled according to its acoustic/perceptual features over time. The media sample generated by sampling unit 34 is then transmitted to the lookup server 12 for further processing, as descπbed in further detail below. The user interface 38 carπes out the operation of receiving commands from a user of the client media player 14, and displaying content-related information to the user. The user interface 38 may be any conventional interfaces including, for example, a graphical user interface (GUI), a command line user interface (CLUI), a voice recognition interface, a touch screen interface, a momentary contact switch on a stereo system, or other appropπate user interface.
In operation, a user may issue a request for content-related information via the user-interface 38. This request is communicated to the sampling unit 34 for further processing. As descπbed above, in response to such a request, the sampling unit 34 creates a media sample of the media content being played on the client media player 14 and transmits the sample to the lookup server 12 for further processing. In response, the lookup server 12 provides the information related to the media sample, if available, to the client media player This content-related information is received by the user interface 38 which then displays the received information to the user of the client media player 14 The server engine 16 is a softwaie application executing within the lookup server 12 Server engine compπses a lookup unit 42 and a log unit 44. Lookup unit 42 is operatively coupled for communication with a media database 46 Log unit 44 is operatively coupled for communication with a log database 48
The lookup unit 42 carπes out the operation of receiving media samples from the client media player 14 and companng the media samples to a collection of sampled media content (reference samples). The collection of reference samples will typically reside in an m-memory structure (designated 47). Upon initialization of the lookup unit 42. the collection of reference samples from the media database 46 is stored in the m- memory structure 47
The lookup unit 42 sequentially compares each reference sample in structure 47 to the media sample provided by the media player 14. The lookup unit will cut the media sample into a seπes of overlapping frames, each frame the exact size of the particular reference sample under examination. The lookup unit 42 will then compare the reference sample to every possible "frame" of information within the media sample and compute a "distance" between each frame and the reference sample. This process repeats for each reference sample. The reference sample which has the smallest distance to any frame in the sample is considered for a match. If this distance is below a predefined threshold, a match is considered to be found.
When a match is determined, the information related to the matching record is returned to the client media player for presentation thereon. This content-related information may include such information as song title, artist, and album name, for example. The content-related information may also include product fulfillment information, such as how and where to purchase media containing the media sample, advertising banners, and/or promotional offers, for example. This content-related information is transmitted back to the client media player 14 for further processing thereon.
The log unit 44 caries out the operation of tracking media requests made by the users of the client media player 14 to the lookup server 12. The log unit 44 maintains a plurality of information related to the requests made by the user including, for example, media type, genre or category. This user information is maintained in the log database 48
Media database 46 and log database 48 compnse conventional relational database storage facilities. Thus, media database 46 may compπse one or more tables (not shown) for stonng data associated with the media content samples and related content-specific information (song name, title, album name, etc.). In general, another computer (not shown) may be connected to the lookup server 12 for entenng the content-specific media information into the media database 46 Log database 46 may compnse one or moie tables (not shown) for stonng data associated with users and the usei 's related media content requests
Refernng now to FIG 2, there is generally shown a functional block diagram of a media content identifying system 50 having a plurality of client nodes in accordance w ith the invention.
System 50 compπses a lookup server 54 operatively coupled for communication with a plurality of client media players 52a through 52n via Internet connection 32.
System 50 operates in substantially the same manner as system 10 descπbed above.
That is, lookup server 54 operates in the same manner as lookup server 12, and clients 52a through 52n operate in the same manner as client media player 14. However, in system 50, lookup server 12 handles a plurality of media sample identification requests from the client 52a through 52n
As depicted in FIG 2, clients 52a through 52n communicate with lookup server
54 using the HTTP (hypertext transfer protocol) ovei IP. More particularly, the media sample signal generated by each client 52a through 52n is wrapped using a transport protocol before transmitted over HTTP to lookup server 54 for processing When lookup server 54 receives the HTTP transmission from the client media player, a transport protocol converts ("unwraps") the signal for processing therein by the server engine. Likewise, before transmitting content-related information retneved from the media database to the appropnate client media player, the information is first wrapped using the transport protocol. The content-related information may be communicated using "XML" tags, or other appropnate programming, scπpting, or markup language.
The appropπate client media player upon receiving the transmission from the lookup server 54 unwraps the signal for processing therein by the client engine. The method and operation of the invention will be more fully understood by reference to the flow charts of FIG. 3 through FIG. 5. The order of acts as shown in
FIG. 3 through FIG.5 and descπbed below are only exemplary, and should not be considered limiting
Refernng now to FIG. 3, as well as FIG 1 and FIG. 2, there is shown the processes associated with the client engine 30 in accordance with the invention. As descnbed above, the client engine 30 is a soft are application or embedded system operating within a client media player for identifying media content played via the client media player
At process 100, the client engine 30 is initiated The client engine 30 may be initiated by the user of client media player 14 or may initiate automatically upon the recognition of media content being played via the sound card 20 and/or the video card
24 Box 110 is then carried out. At box 110, the intercept unit 36 is initiated As descnbed above, the intercept unit 36 carnes out the operation of monitonng media content played on client media player 14 (typically via sound card 20 and/or video card 24). The processes of the intercept unit 36 are descnbed more fully below in conjunction with FIG. 4 After the intercept unit 36 is initiated, box 120 is then earned out. At box 120, a user request for media information is received via user interface
38 This request is communicated from the user interface 38 to the sampling unit 34 for further processing. Box 130 is then earned out
At box 130, the sampling unit 34 creates a media sample from the media data contained in the FIFO buffer 40. The media sample created by the sampling unit 34 compnses a "digital fingerprint" using conventional digital signal processing known m the art As noted above, a sound file may be sampled according to its acoustic/perceptual features over time. Box 14 is then earned out.
At box 140, the sampling unit 34 transmits the media sample created trom box 130 to the lookup server 12 for content identification and content-related information In the illustrative system depicted in FIG. 1 and FIG. 2, the media sample is first w rapped m a transport protocol and then communicated over IP (HTTP) via network interface 28. Box 150 is then earned out.
At box 150, the client media player 14 receives from the lookup server 12 the content-related information requested in box 140. The process for generating the content-related information by the lookup server 12 is descπbed in further detail below in conjunction with FIG. 5. This content data is first received via the network interface 28. unwrapped using the appropπate transport protocol and then communicated to the client engine 30. In the client engine 30, the user interface 38 receives the content- related information, and parses the data according to the appropπate format (XML tags, for example) transmitted by the lookup server 12. Box 160 is then earned out
At box 160, the user interface 38 presents the content-related information to the user via video card 24 and display 26, or other display device such as an LCD screen, or standard broadcast television. As descnbed above, this content-related information may include such information as song title, artist, and album name, for example. The content- related information may also include product fulfillment information, such as how and here to purchase media containing the media sample, advertising banners, and/or promotional offers, for example.
Refernng now to FIG. 4, there is generally shown the processes associated with the media intercept unit 36 m accordance with the invention. In general, the media intercept unit 36 maintains a FIFO buffer of predetermined size (150 seconds, for example) of media content played via client media player 14, 52a through 52n At process 200, the intercept unit 36 is initiated. This is earned out from box
1 10 of FIG. 3, during the start up of the client engine software 30. Box 210 is then earned out.
At box 210, the intercept unit 36 monitors the media hardware devices of the client media player 14. As descnbed above, the media hardware devices may compπse a sound card 20 and/or a video card 24 Other hardware devices suitable for playing media content are also monitored by the intercept unit 36. Diamond 220 is then earned out. At diamond 220, the intercept unit 36 determines whether any media hardware devices are playing media content. If the intercept unit 36 determines that media content is current being played, diamond 230 is carried out. Otherwise box 210 is repeated. At diamond 230, the intercept unit 36 determines whether the FIFO buffer 40 is currently full. If the buffer is determined to be full, box 240 is earned out. Otherwise, box 250 is carried out
At box 240, the intercept unit 36 has determined that all the buffer 40 is full and deletes the older sample in the buffer. As noted above, the FIFO buffer 40 is commonly configured with a predetermined size. For example, if the sampling rate is 22 KHz
(HiloHertz), the olderst 1/22000* of a second sample would be deleted, and the newest 1/22,000* of a second sample would be added to the buffer. Using this method, the intercept unit 36 is able to maintain the most recent one hundred fifty (150) seconds of media content played via client media player 14. Box 250 is then earned out At box 250, the intercept unit 36 stores the media content currently being played on client media player 14 into the FIFO buffer 40. Box 210 is then repeated to continue momtonng media hardware devices.
Refernng now to FIG. 5, there is generally shown the processes associated with the server engine 16 and the lookup server 12 in accordance with the invention. It is noted that the lookup server 12 is structured and configured to handle a plurality of requests from a plurality of client media players as depicted in FIG. 2 above.
Pnor to box 300 as descπbed below, the m-memory structure 47 is populated with reference media samples Upon initialization of the lookup unit 42, the collection of reference samples from the media database 46 is stored in the m-memory structure 4 At box 300, the lookup server 12 receives a media sample request from one of the client media players 14. 52a through 52n. As descnbed above, such requests are generally communicated ov er an Internet connection 32, although any suitable network connection may also be used. The request is first received via network interface 17 via the IP (HTTP) protocol. An appropnate transport protocol unwraps the message and communicates the request to the server engine 16 for processing. Box 310 is then earned out. At box 310, the lookup unit 42 sequentially compares each reference sample in structure 47 to the media sample piovided by the media player 14, 52a through 52n, as descnbed above The lookup unit will cut the media sample into a senes of overlapping frames, each frame the exact size of the particular reference sample under examination The lookup unit 42 will then compare the reference sample to every possible "frame" of information within the media sample and compute a "distance" between each frame and the reference sample. This process repeats for each reference sample Diamond 320 is then earned out
At diamond 320, the lookup unit 42 determines whether a match was obtained As noted above, the reference sample which has the smallest distance to any frame in the sample is considered for a match If the distance is below a predefined threshold, a match is considered to be found. If a match is determined, box 330 is then earned out. Otherwise box 350 is earned out.
At box 330, the media sample from box 300 matches a coπespondmg record m the media database 46, and the lookup unit 42 retπeves the content-related information associated with the matching record in the media database 46 As noted above, this content-related information may include such information as song title, artist, album name, for example as well as other information such as product fulfillment information. Box 340 is then earned out.
At box 340, the content-related information obtained m box 330 is transmitted to the client media player submitting the media sample request in box 300. In the prefeπed embodiment, this transmission is earned out over the Internet using the IP (HTTP) protocol Box 370 is then earned out to generate a log
At box 350, the lookup unit 42 has determined that the media sample from box 300 does not match any reference sample m the m-memory structure 47. Box 360 is then earned out
At box 360, a notice indicating that the requested information is not available is transmitted to the requesting client media player of box 300. Box 370 is then earned out
At box 370 the log process is initiated. This log process involves tracking the user and related-media information associated with the request of box 300. The log unit 44 maintains a plurality of information related to the requests made by the user including, for example, media type, genre or category This user information is maintained in the log database 48 and may be used for vaπous marketing strategies, including analyzing user behavior, for example Accordingly, it will be seen that this invention provides an apparatus and method which provides real-time media content-related information to users viewing media content over a personal computer, or other data processing means Although the descπption above contains many specificities, these should not be construed as limiting the scope of the invention but as merely providing an illustration of the presently prefeπed embodiment of the invention. Thus the scope of this invention should be determined by the appended claims and their legal equivalents.
Contents2
2 sheets
Sheet 1 Sheet 2
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| AU2008216994B2 | Cited by | Australia | Search report |
| US11095380B2 | Cited by | United States of America | Applicant |
| US10423679B2 | Cited by | United States of America | Applicant |
| WO2012033577A1 | Cited by | World Intellectual Property Organization (WIPO) | Applicant |
| CN100350412C | Cited by | China | Search report |
| EP2614431A4 | Cited by | European Patent Office (EPO) | Search report |
| US11575454B2 | Cited by | United States of America | Applicant |
| US7756915B2 | Cited by | United States of America | Applicant |
| EP2614638B1 | Cited by | European Patent Office (EPO) | Examiner |
| AU2008216966B2 | Cited by | Australia | Search report |
| US10530507B2 | Cited by | United States of America | Applicant |
| US10763983B2 | Cited by | United States of America | Applicant |
| EP1618675A4 | Cited by | European Patent Office (EPO) | Search report |
| US7853438B2 | Cited by | United States of America | Applicant |
| US9461759B2 | Cited by | United States of America | Applicant |
| US7873771B2 | Cited by | United States of America | Applicant |
| US10194187B2 | Cited by | United States of America | Applicant |
| US11394478B2 | Cited by | United States of America | Applicant |
| US10049206B2 | Cited by | United States of America | Applicant |
| US7516074B2 | Cited by | United States of America | Applicant |
| WO03046760A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10181015B2 | Cited by | United States of America | Applicant |
| EP1618675A1 | Cited by | European Patent Office (EPO) | Search report |
| US9860000B2 | Cited by | United States of America | Applicant |
| EP1741025A4 | Cited by | European Patent Office (EPO) | Search report |
| US9785757B2 | Cited by | United States of America | Applicant |
| US10049206B2 | Cited by | United States of America | Applicant |
| US9836544B2 | Cited by | United States of America | Applicant |
| US7500007B2 | Cited by | United States of America | Applicant |
| US8984577B2 | Cited by | United States of America | Applicant |
| WO03065362A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP2034616A1 | Cited by | European Patent Office (EPO) | Search report |
| US9374183B2 | Cited by | United States of America | Applicant |
| US7761176B2 | Cited by | United States of America | Applicant |
| WO03046760A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9203538B2 | Cited by | United States of America | Applicant |
| US10461870B2 | Cited by | United States of America | Applicant |
| US8639178B2 | Cited by | United States of America | Applicant |
| AU2010101386B4 | Cited by | Australia | Search report |
| WO2005106876A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9608824B2 | Cited by | United States of America | Applicant |
| WO03067467A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US7421376B1 | Cited by | United States of America | Applicant |
| US9960868B2 | Cited by | United States of America | Applicant |
| US10025841B2 | Cited by | United States of America | Applicant |
| GB2477940A | Cited by | United Kingdom | Search report |
| EP1741025A2 | Cited by | European Patent Office (EPO) | Search report |
| US9014615B2 | Cited by | United States of America | Applicant |
| AU2008207374B2 | Cited by | Australia | Search report |
| US10194187B2 | Cited by | United States of America | Applicant |
| US10698952B2 | Cited by | United States of America | Applicant |
| WO2005106876A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO2005106876A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10180980B2 | Cited by | United States of America | Applicant |
| WO03065362A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP1898323A1 | Cited by | European Patent Office (EPO) | Search report |
| US7191193B2 | Cited by | United States of America | Applicant |
| WO03046760A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9348906B2 | Cited by | United States of America | Applicant |
| EP1898323A1 | Cited by | European Patent Office (EPO) | Search report |
| US9093120B2 | Cited by | United States of America | Applicant |
12 members in 3 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 51163200 | United States of America | A | |
| 09511632 | – | – | – |
| US20000511632 | – | – | – |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| WO0162004A2This record | World Intellectual Property Organization (WIPO) | A2 | |
| AU3837401A | Australia | A | |
| US6834308B1 | United States of America | B1 | |
| US2005044189A1 | United States of America | A1 | |
| US2009043870A1 | United States of America | A1 | |
| US7500007B2 | United States of America | B2 | |
| US7917645B2 | United States of America | B2 | |
| US2011119149A1 | United States of America | A1 | |
| US2013011008A1 | United States of America | A1 | |
| US9049468B2 | United States of America | B2 | |
| US2015234814A1 | United States of America | A1 | |
| US10194187B2 | United States of America | B2 |
5 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Procedure relating to pct application: ceased to have effect for deCeased8642 | 8642 | DE | |
| Withdrawal of international applicationWA | WA | WO | |
| Ep: the epo has been informed by wipo that ep was designated in this application121 | 121 | WO | |
| Designated statesAK | AK | WO | |
| Designated countries for regional patentsAL | AL | WO |
Numbers
- Publication
- 01/62004
- Publication, DOCDB
- 0162004
- Publication, EPODOC
- WO0162004
- Application
- 104997
- Application, DOCDB
- 0104997
- Application, EPODOC
- WO2001US04997
Titles2
- English
- A METHOD AND APPARATUS FOR IDENTIFYING MEDIA CONTENT PRESENTED ON A MEDIA PLAYING DEVICE
- French
- PROCEDE ET APPAREIL D'IDENTIFICATION DE CONTENU MEDIA PRESENTE SUR UN DISPOSITIF DE DIFFUSION DE MEDIAS
Classification
- CPC, 18
- H04N21/26603
- G06F17/3002
- G06F16/41
- G06F17/30038
- G06F16/48
- G06F17/30743
- G06F16/634
- G06F17/30758
- G06F16/683
- G06F17/30784
- G06F16/783
- G06F17/30787
- G06F16/7834
- G06Q20/10
- G06Q20/367
- G06Q30/0631
- H04N7/17318
- H04N21/2353
- IPC, 7
- G06F17 30
- G06Q20 10
- G06Q20 36
- G06Q30 06
- H04N7 173
- H04N21 235
- H04N21 266
Designated states104
- Regional, 59
- African Regional Intellectual Property Organization (ARIPO)
- Ghana
- Gambia
- Kenya
- Lesotho
- Malawi
- Mozambique
- Sudan
- Sierra Leone
- Eswatini
- United Republic of Tanzania
- Uganda
- Zimbabwe
- Eurasian Patent Organization (EAPO)
- Armenia
- Azerbaijan
- Belarus
- Kyrgyzstan
- Kazakhstan
- Republic of Moldova
- Russian Federation
- Tajikistan
- Turkmenistan
- European Patent Office (EPO)
and 35 moreShow fewer
- Austria
- Belgium
- Switzerland
- Cyprus
- Germany
- Denmark
- Spain
- Finland
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden
- Türkiye
- African Intellectual Property Organization (OAPI)
- Burkina Faso
- Benin
- Central African Republic
- Congo
- Côte d’Ivoire
- Cameroon
- Gabon
- Guinea
- Guinea-Bissau
- Mali
- Mauritania
- Niger
- Senegal
- Chad
- Togo
- National, 45
- United Arab Emirates
- Albania
- Australia
- Bosnia and Herzegovina
- Barbados
- Bulgaria
- Brazil
- Canada
- China
- Cuba
- Czechia
- Estonia
- Grenada
- Georgia
- Croatia
- Hungary
- Indonesia
- Israel
- India
- Iceland
- Japan
- Democratic People’s Republic of Korea
- Republic of Korea
- Saint Lucia
and 21 moreShow fewer
- Sri Lanka
- Liberia
- Lithuania
- Latvia
- Madagascar
- North Macedonia
- Mongolia
- Mexico
- Norway
- New Zealand
- Poland
- Romania
- Singapore
- Slovenia
- Slovakia
- Trinidad and Tobago
- Ukraine
- Uzbekistan
- Viet Nam
- Yugoslavia, later Serbia and Montenegro (until 2006)
- South Africa