The present disclosure generally relates to linking Internet-based applications and services to broadcast media programs, and in particular, to providing users with real-time access to associated applications and services while a broadcast media program is playing.
Users of Internet-enabled electronic devices are increasingly interested in real-time access to Internet-based media applications and services associated with broadcast media programs (e.g. TV programs, sports events, pay-per-view events and movies, etc.). Currently, however, it is relatively cumbersome for a user to find and access related media applications and services associated with a broadcast media program in real-time. Some users are deterred by the effort it takes to find and access Internet-based applications and services associated with broadcast media programs.
The current methods of discovering and accessing online applications and services are primarily user-driven. At the outset, discovering applications and/or services associated with a broadcast media program currently requires users to take some action beyond the viewing experience to find the associated content, such as a keyword search using an Internet search engine. A user-driven search generally tends to be ad hoc, and often produces incomplete search results. A user-driven search can also lead a particular user astray to topics and/or content providers that are unrelated or only tangentially related to the broadcast media program. Consequently, an opportunity to further engage that particular user has been lost along with an opportunity to monetize the Internet-based user engagement.
The users also lose out. For example, it is difficult for a casual viewer to determine public or community opinion about a particular subject that is occurring in real-time (e.g. a televised political debate). Typically, users have to seek out various content publishers that post content about the subject, including source-synchronous and quasi-officially approved posts from producers, cast members and/or other program representatives. It can be time consuming to decipher public or community opinion about the subject from ratings, articles and/or comments posted on websites or micro-blogging applications. For example, in the case of a TV program, the total amount of Internet searching involved may take longer than the duration of the TV program, which makes trying to determine public or community opinion about the TV program in real-time a futile endeavor. In another example, users that are led astray may simply overlook related applications and/or services provided by the content provider responsible for broadcast media program.
Systems, methods and devices described herein enable users of Internet-enabled devices to access various Internet-based media applications and services associated with broadcast media programs in real-time. Features of various implementations enable users of Internet-enabled devices to view and access various Internet-based media applications and services associated with a broadcast media program in real-time. For example, in some implementations systems, methods and devices are operable to synchronize the user interface of a client device with the real-time broadcast of a particular broadcast media program. In turn, the device is enabled to receive entity metadata associated with at least one identifiable entity included in the particular broadcast media program. The entity metadata includes at least one of instructions or a pointer that enables access to at least one media application or service associated with the at least one identifiable entity. The client device then presents the availability of access to the at least one media application or service associated with the particular broadcast media program to the user via the user interface of the client device in real-time.
One aspect of the disclosure is a system enabling device interaction with media services associated with identifiable entities within a broadcast media program. In some implementations, the system includes instructions, storable in a non-transitory memory and executable by a processor, that, when executed by a processor, cause a device to: match the user interface of a user device with a particular broadcast media program having at least one identifiable entity; receive entity metadata associated with the at least one identifiable entity, wherein the entity metadata includes at least one of instructions or a pointer that enables access to at least one media service associated with the at least one identifiable entity; and present the availability of access to the at least one media service associated with the at least one identifiable entity.
In some implementations, the system further comprises instructions that, when executed by the processor, cause the device to receive a user input, wherein the input is indicative of at least the initiation of attempting to access media services associated with the particular broadcast media program, and wherein the instructions to match the user interface with the particular broadcast media program are processed in response to receiving the user input. In some implementations, the system further comprises instructions that, when executed by the processor, cause the device to receive a user input, wherein the input is indicative of at least the initiation of attempting to access media services associated with the particular broadcast media program, and wherein the instructions to present the availability of access to the at least one media service are processed in response to receiving the user input.
In some implementations, the system further comprises instructions that, when executed by the processor, cause the device to transmit a user selection associated with the at least one media service presented on a user interface. In some implementations, the system further comprises instructions that, when executed by the processor, cause the device to transmit a request for updated entity metadata.
In some implementations, wherein the particular broadcast media program includes at least one of a movie, a television show, a commercial, radio show, a video file, or an audio file. In some implementations, wherein the at least one identifiable entity includes a person, a place, an object or an indicia of a service. In some implementations, wherein the object includes a consumer product. In some implementations, wherein the service includes at least one of an internet-based service or an action by a service provider. In some implementations, wherein the at least one media service includes one of electronic mail, a website, a social networking service, or a telephone service. In some implementations, wherein the device comprises a client device associated with a television, and the entity metadata is presented as a screen overlay. In some implementations, wherein the device comprises a television, and the entity metadata is presented as a screen overlay. In some implementations, wherein the device comprises at least one of a laptop computer, a tablet computer or a smart phone, and the entity metadata is presented in a web-browser. In some implementations, wherein the device comprises at least one of a laptop computer, a tablet computer or a smart phone, and the entity metadata is presented in an application interface. In some implementations, wherein the entity metadata comprises a dataset that includes the dataset comprising the broadcast media content. In some implementations, wherein the entity metadata comprises a dataset that is distinct from the dataset comprising the broadcast media content. In some implementations, wherein the entity metadata includes relationship information linking at least two entities.
One aspect of the disclosure is a computer-implemented method of enabling interaction with media services associated with identifiable entities within a broadcast media program from a device including a non-transitory memory and a processor. In some implementations, the method includes aggregating entity metadata associated with one or more identifiable entities within the broadcast media program, wherein the entity metadata includes at least one of instructions or a pointer that enables access to at least one media service associated with the at least one identifiable entity; providing an interface by which users can request presentation of the entity metadata; and facilitating access to at least one media service associated with the at least one identifiable entity in response to receiving a request from a user device.
So that the present disclosure can be understood in greater detail, a more particular description may be had by reference to the features of various implementations, some of which are illustrated in the appended drawings. The drawings, however, illustrate only certain typical features of the present disclosure and are therefore not to be considered limiting, for the description may admit to other effective features.
In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. The dimensions of the various features may be arbitrarily expanded or reduced for clarity. Some of the drawings may not depict all of the components of a given system, method or device. Finally, like reference numerals may be used to denote like features throughout the specification and figures.
Systems, methods and devices described herein enable users of Internet-enabled devices to access various Internet-based media services associated with broadcast media programs in real-time. In other words, the various implementations enable bridging the use of Internet-based applications and services with the viewing and/or listening experiences associated with broadcast media, such as television and radio.
For example, a client device is enabled to synchronize a displayable user interface with a real-time broadcast of a particular broadcast media program having at least one identifiable entity, such as a person, a place, an object or an indicia of a service. In turn, the device is enabled to receive entity metadata associated with the at least one identifiable entity. The entity metadata includes at least one of instructions or a pointer that enables access to at least one Internet-based media application or service associated with the at least one identifiable entity or the broadcast media program generally. Then, based at least on the particular broadcast media program, the device is enabled to present the availability of access to the at least one media application or service to the user on the displayable user interface.
Numerous details are described herein in order to provide a thorough understanding of the example implementations illustrated in the accompanying drawings. The invention may be practiced without these specific details. Well-known methods, procedures, components, and circuits have not been described in exhaustive detail so as not to unnecessarily obscure more pertinent aspects of the example implementations.
In some implementations, the media monitoring server 130 is implemented as a single server system, while in other implementations it is implemented as a distributed system of multiple servers. For convenience of explanation, the media monitoring server 130 is described below as being implemented on a single server system. Similarly, in some implementations, the social network server 170 is implemented as a single server system, while in other implementations it is implemented as a distributed system of multiple servers. Solely, for convenience of explanation, the social network server 170 is described below as being implemented on a single server system. Similarly, in some implementations, the web hosting server 180 is implemented as a single server system, while in other implementations it is implemented as a distributed system of multiple servers. For convenience of explanation, the web hosting server 180 is described below as being implemented on a single server system. Similarly, in some implementations, the broadcast system 140 is implemented as a single server system, while in other implementations it is implemented as a distributed system of multiple servers. For convenience of explanation, the broadcast system 140 is described below as being implemented on a single server system. Similarly, in some implementations, the content provider 150 is implemented as a single server system, while in other implementations it is implemented as a distributed system of multiple servers. For convenience of explanation, the content provider 150 is described below as being implemented on a single server system. Moreover, the functionality of the broadcast system 140 and the content provider 150 can be combined into a single server system. Additionally and/or alternatively, while only one broadcast system and only one content provider is illustrated in
In some implementations, the set-top box 102 and the TV 110 are provided in combination. The set-top box 102 is configured to receive and decode signals including media content from the broadcast system 140 or the like. In some implementations, the set-top box 102 is also Internet-enabled in order to receive signals including media content or the like. In operation, the set-top box 102 decodes the signal received from the broadcast system 140 or the like and provides audio and video content to the TV 110 for display. While a TV has been used in the illustrated example, those skilled in the art will appreciate from the present disclosure that any number of displays devices, including computers, laptop computers, tablet computers, smart-phones and the like, can be used to display a video stream and play the associated audio stream. In some implementations, the functions of the set-top box 102 and the TV 110 may be combined into a single device.
In some implementations, the set-top box 102 is any computer device capable of connecting to the communication network 104, receiving video streams, extracting information from video streams and presenting video streams for the display using the TV 110 (or another display device). In some implementations, the set-top box 102 may be configured as a receiver for cable TV and/or satellite TV, a digital video recorder (DVR), a digital media receiver, a TV tuner, a computer, and/or any other device that outputs TV signals. In some implementations the TV 110 can be a conventional TV display that is not connectable to the Internet and that displays digital and/or analog TV content received via over the air broadcasts or a satellite or cable connection.
As is typical of televisions, the TV 110 includes a display 118 and speakers 119. Additionally and/or alternatively, the TV 110 can be replaced with another type of display device for presenting video content to a user, such as for example, a computer, a tablet device, a mobile telephone, a projector, or other type of video display system. The display device can be coupled to the set-top box 102 via a wireless or wired connection.
As used herein, a TV signal is an electrical, optical, or other type of data transmitting medium that includes audio and/or video components corresponding to a TV channel. In some implementations, the TV signal is a terrestrial over-the-air TV broadcast signal or a sign distributed/broadcast on a cable-system or a satellite system. In some implementations, the TV signal is transmitted as data over a network. For example, the set-top box 102 can receive video streams from an Internet connection. Audio and video components of a TV signal are sometimes referred to herein as audio signals and video signals. In some implementations, a TV signal corresponds to a TV channel that is being displayed on the TV 110.
The second screen client device 120 may be any computer device that is capable of connecting to the communication network 104, such as a computer, a laptop computer, a tablet device, a netbook, an Internet kiosk, a personal digital assistant, a mobile phone, a gaming device, or any other device that is capable of communicating over the communication network 104. In some implementations, the second screen client device 120 includes one or more processors 121, non-volatile memory 122 such as a hard disk drive, a display 128, speakers 129, and various other notoriously well known components that are not shown for the sake of brevity. The second screen client device 120 may also have input devices such as a keyboard, a mouse and/or track-pad (not shown). In some implementations, the second screen client device 120 includes a touch screen display, a digital camera and/or any number of well known supplemental devices to add functionality.
In some implementations, the second screen client device 120 may be connected to the set-top box 102 via a wireless or wired connection. In some implementations, the second screen client device 120 may optionally operate in accordance with instructions, information and/or digital content (collectively “second screen information”) provided by the set-top box 102 (and vice versa). In some implementations, the set-top box 102 issues instructions to the second screen client device 120 that causes the second screen client device 120 to display the real-time availability of Internet-based media applications or services associated with the currently playing broadcast media program.
In some implementations, the second screen client device 120 includes a microphone that enables the client device to receive sound (audio content) from, for example, the speakers 119 of the TV 110. The microphone enables the second screen client device 120 to store the audio content/soundtrack that is associated with the video content as it is presented. The second screen client device 120 is enabled to store this information locally and then send an associated server system content information that is any one or more of: fingerprints of the stored audio content, the audio content itself, portions/snippets of the audio content, fingerprints of the portions of the audio content or references to the playing content.
In turn, the associated server system (e.g. a media monitoring server operable to monitor the broadcast system 140) can identify the content playing on the television even if the electronic device on which the content is being presented is not an Internet-enabled device (e.g. as an older TV set) or is not currently connected to the Internet. Such an arrangement (i.e., where the second screen client device 120 stores and sends the content information to the media monitoring server 130) allows a user to receive one or more Internet-based media applications and/or services associated with the real-time broadcast of a TV program or the like.
In some implementations, the second screen client device 120 includes one or more applications 125 stored in the memory 122. As discussed in greater detail below, the processor 121 executes the one or more applications in accordance with a set of instructions received from the web-hosting server 180, the broadcasting system 140 and/or the content provider 140.
The communication network 104 may be any combination of a wired and a wireless local area network (LAN) and/or wide area network (WAN), such as an intranet, an extranet, including a portion of the Internet, or a wireless network provided by a wireless carrier. In some implementations, the communication network 104 uses the HyperText Transport Protocol (HTTP) to transport information using the Transmission Control Protocol/Internet Protocol (TCP/IP). HTTP permits the client device 120 to access various resources available via the communication network 104. But the various implementations described herein are not limited to the use of any particular protocol.
In some implementations, the media monitoring server 130 includes a front end server 134 that facilitates communication between the media monitoring server 130 and the communication network 104. The front end server 134 receives content information from the second screen client device 120. In some implementations, the content information is a video stream, a portion thereof, and/or a reference to a portion thereof. A reference to a portion of a video stream may include a time indicator and/or a digital marker referencing the content of the video stream. In some implementations, the content information is derived from a video stream being presented (i.e. playing) by the combination of the TV 110 and the set-top box 102.
In some implementations, the front end server 134 is configured to send a set of instructions to the second screen client device 120. In some implementations, the front end server 134 is configured to send content files, links to content files and/or metadata associated with the content files. The term “content file” includes any document or content of any format including, but not limited to, a video file, an image file, a music file, a web page, an email message, an SMS message, a content feed, an advertisement, a coupon, a playlist or an XML document. In some implementations, the front end server 134 is configured to send or receive one or more video streams. In some implementations, the front end server 134 is configured to receive content directly from the broadcast system 140 and/or the content provider 150 over the communication network 104.
In some implementations, the media monitoring server 130 includes a broadcast monitor module 135 that is configured receive and record broadcast media programming as the broadcast media programming airs, and to create fingerprints of media content broadcast by the broadcast system 140 and/or the content provider 150. In some implementations, the media monitoring server 130 includes a fingerprint database 132 that stores content fingerprints. A content fingerprint includes any type of condensed or compact representation, or signature, of the content of a video stream and/or audio stream. In some implementations, a fingerprint may represent a clip (such as several seconds, minutes, or hours) of a video stream or audio stream. Or, a fingerprint may represent a single instant of a video stream or audio stream (e.g., a fingerprint of single frame of a video or of the audio associated with that frame of video). Furthermore, since video content may change over time, corresponding fingerprints of that video content may also change over time. In some implementations, the fingerprint database 132 is a distributed database.
In some implementations, the media monitoring server 130 includes a content database 136. In some implementations, the content database 136 includes advertisements, videos, images, music, web pages, email messages, SMS messages, content feeds, advertisements, coupons, playlists, XML documents, and ratings associated with various media content or any combination thereof. In some implementations, the content database 136 includes links to advertisements, videos, images, music, web pages, email messages, SMS messages, content feeds, advertisements, coupons, playlists, XML documents and ratings associated with various media content. In some implementations, the content database 136 is a distributed database.
In some implementations, the broadcast system 140 includes media content such as TV programs 141. In other words, the broadcast system 140 includes electronic copies of the media content. In some implementations, the broadcast system 140 also includes metadata 142 associated with one or more of the TV programs 141, and application program interface instructions 143. In some implementations, the application program interface instructions 143 include instructions that can be provided to a client device and/or may be executed by the broadcast system 140 under a client-server model or the like. In some implementations, the instructions link a particular TV program 141 with the associated metadata 142 and/or link the TV program 141 and the associated metadata 142 with external data and/or services, such as a social networking application. In some implementations, the content provider 150 includes media content such as TV programs 151, as well as metadata 152 associated with one or more of the TV programs 151.
In some implementations, the social network server 170 includes profiles 171, which include profiles of users, brands, companies and/or groups. In some implementations, the web hosting server 180 includes a content database 181 that includes, for example, various web pages, Internet-based applications and/or services.
In some implementations, the online retailer 190 includes an online sales module 191 and an inventory database 192. In some implementations, the online retailer 190 includes a local customer sales application, such as a point-of-sale terminal within a department store. The retailer 190 may be an online service provider (e.g. a gambling website, a social networking website, a dating website, etc.) or a retailer of real and/or digital goods (e.g. clothing, music, etc.).
Within the client-server environment 200, the second screen client device 120 (e.g. a tablet computer or laptop, etc.), the set-top box 102, the TV 110, a supplemental set-top box 103 (e.g., an electronic device configured with Google TV functionality or a subset thereof), and a remote control 112 are provided in combination—typically within a home or office. In operation, the remote control 112 may be used to control the operation of one or more of the set-top box 102, the TV 110, and the supplemental set-top box 103. In operation, the client device 103 receives information from the set-top box 102 associated with the media content presented on the TV 110. In turn, the supplemental set-top box 103 may then communicate with any one of the media monitoring server 130, the broadcast system 140, the content provider 150, and the social network server 170 through the communication network 104. More specific details pertaining to how the supplemental set-top box 103 and/or the second screen client device 120 enables users to access one or more Internet-based media applications and/or services as a related broadcast media program is aired are described below with reference to
As discussed above, in some implementations, TV programs and other broadcast media programs are associated with entity metadata. The entity metadata includes at least one of instructions or a pointer that enables access to at least one Internet-based media application or service associated with the at least one identifiable entity or the program in general. An identifiable entity includes, without limitation, a person, a place, an object or an indicia of a service. For example, a TV program may be centered on a popular actor, who is an example of an identifiable entity. In turn, in some implementations, the entity metadata for that particular TV program includes instructions or a pointer to at least one of a social network account/profile, a micro-blog service account/profile, and a personal website associated with the actor. In another example, the TV program may include a reference to a new product (e.g. a car) or service (e.g. food delivery), which are also each examples of identifiable entities associated with the program. In turn, in some implementations, the entity metadata includes instructions or a pointer to at least one of a social network account/profile, a micro-blog service account/profile, and a personal website associated with the product or service. Those skilled in the art will also appreciate from the present disclosure that a TV program or other televised event is also an identifiable entity. For example, a sporting event (e.g. a basketball game) is an example of an identifiable entity, as are the teams, the players, the coaches, the announcers, and the sponsors (etc.) associated with the sporting event. In turn, in some implementations, the entity metadata for a sporting event, or any other broadcast media program, includes instructions and/or pointers for any number of identifiable entities associated with the broadcast media program.
To that end,
The entity metadata 303, as described above, provides instructions that direct devices to present the availability of access to one or more Internet-based applications and/or services associated with the TV program data 301. As shown for example in
To that end, the method 500 includes synchronizing (i.e. matching) the user interface of client device (e.g. a set-top box or a supplemental set-top box) to a TV program playing on a TV or another device (501). For example, with further reference to
The method 500 also includes receiving entity metadata associated with the at least one identifiable entity or the program in general (502). The entity metadata includes at least one of instructions or a pointer that enables access to at least one media service associated with the at least one identifiable entity or the program in general. In some implementations, the availability of access to one or more Internet-based applications and/or services, provided by the entity metadata, is presented in response to a user input indicating that the user is interested in being presented such information. In some implementations, the input is received from one of the client device 120 and the remote control device 112. Accordingly, the method 500 includes receiving a user input or determining that a counter has breached a threshold indicating that a waiting period has expired (503). The counter threshold indicates the time during which the current entity metadata points to timely information associated with the TV program. If the user does not provide an input requesting to be presented with the availability of applications or services (“TO” path from 503), the method 500 includes transmitting a request for updated entity metadata (508). In some implementations, the request is transmitted to one of the broadcast system 140, the content provider 150 and the web hosting service 180. On the other hand, if a user input is received (“UI” path from 503), the method 500 includes presenting the entity metadata that indicates the availability of access to one or more Internet-based applications and/or services associated with the currently playing TV program. For example, with further reference to
The method 500 includes displaying the overlay until the user provides an input or a display counter threshold is breached (505). If a user input is received (“UI” path from 505), the method 500 includes transmitting an access request to one or more Internet-based applications and/or services associated with the currently playing TV program. For example, with further reference to
To that end, the method 600 includes synchronizing (i.e. matching) the user interface of the client device to a TV program playing on a TV or another device (601). For example, with further reference to
The method 600 also includes receiving entity metadata associated with the at least one identifiable entity or the program in general (602). The entity metadata includes at least one of instructions or a pointer that enables access to at least one media service associated with the at least one identifiable entity or the program in general. The method 500 includes presenting the availability of access to one or more Internet-based applications and/or services, provided by the entity metadata, using the user interface of the second screen client device 120. Presenting the entity metadata includes indicating the availability of access to one or more Internet-based applications and/or services associated with the currently playing TV program. For example, with further reference to
The method 600 includes displaying the available applications and/or services until the user provides an input or a display counter threshold is breached (604). If a user input is received (“UI” path from 604), the method 600 includes transmitting an access request to one or more Internet-based applications and/or services associated with the currently playing TV program. For example, with further reference to
To that end, the method 700 includes receiving entity metadata and instructions associated with the at least one identifiable entity or the program in general (701). The method 700 includes broadcasting a paging message on a user network (e.g. a local WiFi network) that signals the availability of one or more Internet-based media applications and services provided by the received entity metadata and instructions. For example, with reference to
The method 700 includes displaying the available applications and services until the user provides an input or a display counter threshold is breached (705). If a user input is received (“UI” path from 705), the method 700 includes transmitting an access request to one or more Internet-based applications and/or services associated with the currently playing TV program. For example, with further reference to
Subsequently, the method 800 includes receiving a user request from the client device or determining that a counter has breached a threshold indicating that a waiting period has expired (805). If a user request is not received before the counter threshold has been breached (“TO” path from 805), the method 800 includes circling back to the portion of the method represented by 801. On the other hand, if a user request is received in time (“UR” path from 805), the method 800 includes providing a link between the user device and the requested media application or service.
It will also be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, which changing the meaning of the description, so long as all occurrences of the “first contact” are renamed consistently and all occurrences of the second contact are renamed consistently. The first contact and the second contact are both contacts, but they are not the same contact.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the claims. As used in the description of the embodiments and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true]” or “if [a stated condition precedent is true]” or “when [a stated condition precedent is true]” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
This application claims priority to U.S. Provisional Patent Application No. 61/800,562, filed Mar. 15, 2013, entitled “Social Network Augmentation of Broadcast Media,” which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
61800562 | Mar 2013 | US |