The present application claims priority of British patent application No. 1104542.2 filed on Mar. 17, 2011, the content of which is incorporated herein by reference.
This invention relates to a system and method for the provision of augmented media content.
TV today is a one-way experience—the signal comes to you; there is no return path. Additionally, the same identical programme goes out to everybody; there is no personalisation.
In this respect the broadcast TV experience is increasingly at odds with the connected world of the internet, where there is the potential for everyone to receive a uniquely personalised experience and—importantly—with a back channel that allows each user to share that experience with others and contribute their thoughts, feedback and input.
Over the years, various enhancements have been made to the basic broadcast TV system in order to provide additional interactive services. For example, in the UK and Europe, so-called Red Button services allow MHEG applications to be distributed via a broadcast stream, allowing interactive applications to be accessed by the user.
However, such applications, whilst providing interactivity such as simple games or links to other services, still lack personalisation (the same application is sent to every user), and they also lack a back channel.
Newer standards such as HBB TV provide additional functionality, but again the concept remains to distribute an identical application to all users who are watching a given TV channel, with that application, or a link to that application, broadcast in a data channel associated with the live TV channel that the user is watching.
This invention may alleviate at least some of these problems.
According to one aspect of this invention, there is provided a system for providing a user with access to augmented media content, the system comprising:
means for identifying a media content item that is currently being consumed by a user;
means for analysing the media content item to determine augmentation content that is associated with the media content item, the augmentation content being adapted to augment the media content item; and
means for providing the user with access to the augmentation content while the user is consuming the media content item.
According to another aspect of the invention there is provided, a system, server and method for synchronising interactive web services with live and on-demand TV & radio (i.e. media content).
According to a further aspect of the invention, there is provided a system, server and method for providing media content to a user via first device and further content and/or interactive services to the user via a further (companion) device.
Preferably, the further content and/or interactive services are related to the media content, and preferably the further content and/or interactive services change in dependence on the media content item that the user is currently consuming.
According to a further aspect of the present invention there is provided a system, device and implementation that allows a user to watch television, or listen to radio, whereby:
The server may include a set of functionality that allows third party companies to connect their servers to this server, allowing them to make use of the system to send messages, information and commands to users watching live or on-demand TV or radio programmes by means of the system.
The programme being watched by the user may be live broadcast TV, live broadcast radio, or on-demand TV or radio.
The information sent to and retrieved from the server may be sent over the internet, either by means of fixed-line access, wireless access, or mobile phone access.
Preferably, the information sent to the server identifies not only the programme being watched, but also (where allowed by the user's privacy choices), the device on which the programme is being watched and/or information identifying the user who is watching or listening to said programme.
The information retrieved from the server may be created in a way that is personalised to that device and/or that user, based on knowledge that the server, or other servers, has, for example, on the basis of the user's viewing or listening history, preferences, and/or social network connections.
The data retrieved from the server may be used to display data panels, widgets or other graphical elements on top of the video programme being played by the user.
The programme being played may be live broadcast television.
The messaging displayed may be in response to information supplied to the device on which the video is being watched by one or more central servers, connected to the internet.
The messaging that is delivered may be in response to inputs received by one or more servers from servers owned, or operated, by third parties that have made connections to the server(s) for the purpose of targeting messaging to specific devices or users by means of the system.
The data received from the server may be used to launch applications on the device on which the video or audio is being played.
The data received from the server may be used to cause a web browser or equivalent display system to navigate to the Unique Resource Locator (URL) or Unique Resource Identifier (URI) of a web page or other document whose location, either locally on said device, or available from a public or privately accessible web server, specified by that server in response to a set of inputs that includes, but is not limited to, the video or audio programme that is being played by that user.
The programme being played by the user may be displayed or listened to on the same device on which the application is to be launched, or the specified web page or document is to be displayed.
The programme being played by the user may be displayed or listened to on a different device to the one on which the application is to be launched, or the specified web page or document is to be displayed.
The information sent to the server may be filtered before being sent to the server based on a set of preferences set on the device from which the data is being sent, by the user.
The data sent to the server may be filtered based on the radio or TV channel being played, such that information about play events from some channels is sent to the server, and information about others is not.
The data sent to the server may be filtered based on the genre of the radio or TV channel being played, such that information about some programme genres or categories is sent to the server, and information about others is not.
The data sent to the server may be filtered based on the fact that certain connections or user “contacts” or “friends” on the watching or listening user's social network are also watching or listening to that programme at that time, such
that information about play events is sent to the server only if certain friends are also watching or listened to said programme, or have done so at some point in the past.
The invention extends to a system or a server that provides a platform that connects (third party) services registered with the server or system with users playing TV, video or radio (either live or on demand) on connected devices.
The server receives periodic updates, as input from devices, describing the channel, video or audio being played, the device and/or user ID, the playback time code within the programme (the “combo”).
The server maintains a lookup table or database of services, including third-party services, registered against the combo or elements of the combo.
The server returns the relevant services and/or augmented content to the client.
The system provides the facility for PCs, mobile phones or tablets to connect to a web server to obtain information on video, channel and timing of media being played by a given user or device.
The term “receiver/decoder” used herein may connote a receiver for receiving either encoded or non-encoded signals, for example, television and/or radio signals, which may be broadcast, streamed, downloaded or transmitted by some other means. The term may also connote a decoder for decoding received signals. Embodiments of such receiver/decoders may include a decoder integral with the receiver for decoding the received signals, for example, in a “set-top box”, such a decoder functioning in combination with a physically separate receiver, or such a decoder including additional functions, such as a web browser, a video recorder, or a television.
It is envisaged that the system as herein described may be implemented wholly on a central server, or a set interconnected servers, which is/are connectable to a plurality of remote client devices. Alternatively, aspects of the system may be
implemented, at least in part, on the or each (remote) client/user device.
It is envisaged that aspects of the system, user device, method, and/or user interface described herein may be implemented in software running on a computer such as a personal computer or a receiver/decoder (which may be connected directly to a monitor or to a television or other display means), and it is to be appreciated that inventive aspects may therefore reside in the software running on such devices.
Other aspects of this system, user device and/or method may be implemented in software running on various interconnected servers, and it is to be appreciated that inventive aspects may therefore reside in the software running on such servers.
The invention also extends to a server or a plurality of interconnected servers running software adapted to implement the system or method as herein described.
The invention extends to any novel aspects or features described and/or illustrated herein.
Further features of the invention are characterised by the independent and dependent claims.
The invention extends to methods and/or apparatus substantially as herein described with reference to the accompanying drawings.
The invention also provides a computer program and a computer program product for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein, and a computer readable medium having stored thereon a program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein.
The invention also provides a signal embodying a computer program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein, a method of transmitting such a signal, and a computer product having an operating system which supports a computer program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein.
Any apparatus feature as described herein may also be provided as a method feature, and vice versa. As used herein, means plus function features may be expressed alternatively in terms of their corresponding structure, such as a suitably programmed processor and associated memory.
Any feature in one aspect of the invention may be applied to other aspects of the invention, in any appropriate combination. In particular, method aspects may be applied to apparatus aspects, and vice versa. Furthermore, any, some and/or all features in one aspect can be applied to any, some and/or all features in any other aspect, in any appropriate combination.
It should also be appreciated that particular combinations of the various features described and defined in any aspects of the invention can be implemented and/or supplied and/or used independently.
Furthermore, features implemented in hardware may generally be implemented in software, and vice versa. Any reference to software and hardware features herein should be construed accordingly.
These and other aspects of the present invention will become apparent from the following exemplary embodiments that are described with reference to the following figures in which:
User devices 300-1, 300-3 may be in the form of mobile phones (smartphones), tablet computing devices, PCs, or other similar such devices. The broadcasters 110 may be for example Digital Terrestrial Television (DTT), cable or satellite broadcasters.
The broadcasters 110 transmit broadcast television or radio content, which is received by a receiving component 200 of the STB 102. This content, or metadata relating to this content, is also received by the server 104.
The STB 102 comprises a processor 204 which passes the broadcast content to the TV 100 via an output component 206. The term TV is used herein to mean either a simple display means, or a display means with further functionality, such as a TV which includes a STB. The processor 204 also sends information relating to the broadcast content currently being consumed (i.e. being viewed) by the user 108 to the server 104 via an Ethernet connection 202, which could be a fixed-line, wi-fi or mobile data connection. The server 104 then identifies the content item currently being consumed using various means described in more detail below. The server 104, or optionally third party providers 106, then determine augmentation (additional) content relevant to the content currently being consumed. The server 104 provides a set of Application Programme Interfaces (APIs) 624 which enable third party operators or providers 106 to access the server 104. The augmentation content is then sent to the STB 102 from the server 104 via the Ethernet connection 202 and/or to the additional ‘companion viewing’ devices 300-1, 300-3. In the case where the augmentation content is sent to the STB 102, the processor 204 then combines the augmentation content with the conventional broadcast content (e.g. as an overlay) and outputs this augmented media content to the TV 100 via output component 206. The providers 106 may also supply this augmentation content directly to the STB 102 as shown in
The user devices 300-1, 300-3 can receive both the conventional broadcast content, where applicable, and also the additional or augmentation content. Thus, the augmentation content may be displayed on one of the user devices 300-1, 300-3, while the conventional broadcast content is consumed on the TV 100, vice versa, or in combination.
As shown, the augmentation content may be transmitted to the user devices 300-1, 300-3 via the STB 102, in which case the STB 102 includes a Wi-Fi or mobile data transmitter, or fixed-line Ethernet connection. Alternatively, the augmentation content is transmitted to the user devices 300-1, 300-3 via the mobile network 208, or via a fixed-line or wireless internet connection 210.
There is also a back-channel from the user devices 300-1, 300-3 to the providers 106 and the server 104 so that the user 108 can access further additional content and/or interact with the augmentation content, or, for example, change the channel on their TV 100 using their user device 300-1, 300-3. Thus the system 10 enables the user to use their mobile phone 300 to control their TV 100. This back-channel is provided via the STB 102 or directly via, say, the mobile network 208 or wireless internet connection 210
In use, as a user 108 views a television programme via their TV 100 the processor 204 inside the STB 102 sends information relating to this programme to the server 104. The server 104 then identifies the programme and/or device or user, and determines augmentation content relevant to that programme and/or to that device or user 108. This augmentation content is then sent back to the processor 204 which combines it with the content, and outputs augmented media content to the user, for example, by overlaying the augmentation content over the programme as it is being watched on the TV screen. In this way, the user 108 is provided with augmented media content. Alternatively, the augmentation content may be delivered to any of the companion user devices 300-1,300-3 as described above.
Referring to the
The TV set 100 receives video and audio signals from an aerial 1, from a cable connection, from an internet connection, from a wireless or mobile signal (a TV aerial is shown here by means of example only). The video and audio programmes received may be live, or may be received and played back on-demand, delivered either via the internet or other medium, or played back from local storage such as a local hard disk built into the device 100.
The device 100 contains a software module 302 which will be described in more detail below. The software module 302 takes as input a range of data sources including the programme being played, the name or ID of the user 108 who is watching the programme, the ID 5 of the TV 100 or device 300 (shown in
The software module 302 is in communication 6 with one or more servers 104 which provide the backend services that power, in part, the overall proposition.
The client-server communication 6 is provided by means of fixed-line internet, a wireless signal, or a mobile signal.
The server 104 may consist of one or more web servers or other data processing equipment, located in one or multiple locations. The server 104 may also consist not just of a single server, but of a group of multiple computers connected together in a peer-to-peer configuration, such that software modules exchange information directly or indirectly with each other, rather than or instead of being mediated by a central server or set of servers.
The server 104 provides a set of application programming interfaces (“APIs”) 624 to which third party servers 106, and indeed the system operator's own servers 10, are connectable. By connecting to these APIs 624, the system and third party operators are able to create products and services that can receive communications about what programmes users are watching on user devices that incorporate the software module 302, and are in return able to send data, instructions and communications back to those devices. In this way, augmented media content may be provided to users.
The data source inputs which the software module is able to receive from the supporting device include, but are not limited to:
31 the channel ID or channel number of the live TV or radio programme that is now playing.
32 in the case of live or on-demand content delivered over broadcast or IP, the programme identifier (referred to henceforth as the Programme ID) of the programme being played, this being optionally in addition to any station or channel identifier information that may be available.
33 an optional identifier (“ID”) that allows for identification of the device on which the content is being played.
34 an optional user name or user ID that allows for identification of the user who is watching or listening to the programme on said device.
35 an optional clock signal or time, indicating both the local time on the device on which the content is being played, as well as the time code or play position of the current media playback point. For example, if the user is playing back a given on-demand or live programme, and is 4 minutes 23 seconds into that programme, then that time point may be supplied to the software module in order that it is able to provide services back to the supported device synchronised to that playback time point.
36 the region in which the user and device are located, where “region” may include country, town, suburb or even room within a house, in order that the most appropriate services (right set of friends in that area, services available in that area, etc.) may be provided back to the user.
37 settings or configuration parameters, as configured by the user of the device manufacturer, that help inform the software module of the services that the user is interested in receiving, the user's preferred privacy settings.
The software module receives some set, or subset, of these inputs from the supporting device, as well as—optionally—from other software modules, possibly provided by other third parties, that are running on said device.
Referring now to
The list of outputs or data feeds or sources made available by the software module include, but are not limited to, the following:
40 zero or more links, typically in the forms of URIs or URLs, that provide a linkage between the content being played and other content that may be relevant to it. For example, while watching episode 2 of a programme, the software module may provide a link to episode 1, allowing the user to click that link (which may be represented on-screen by a button), allowing the user to seamlessly switch from watching episode 2 as a live TV broadcast to episode 1 as an on-demand stream, played back in a media player that may be available (not shown here) on the supporting device.
41 the ID, name or other means of launching a given application that is either already resident on the supported device or which may be invoked, downloaded to, and run on the device, or run remotely.
42 data provided by the server that is forwarded by the software module to other services or applications running on the supported device.
43 commands to control the playback of video or audio on the supported device, including but not limited to commands to switch channel, begin playing a given on-demand programme, stop playing a given programme, shrink the video playback window.
44 commands to control the placement of graphics over, under or alongside video or audio programmes, including but not limited to command to overlay a widget or graphic element on top of the video playback window.
45 commands to control the presentation of windows, menus and other graphics elements on the supported device.
As shown in
This is achieved by, for example, TV device 100, which contains the embedded software module 302, sending information to the server 104 that tells the server 104 which programme the user is currently watching, how many seconds into the programme the user is, and where applicable the name or ID of the user who is doing the viewing.
The user may then simultaneously be using a mobile phone 300-1, computer 300-2 or tablet device 300-3, which also runs a version of the software module 302 that is also in communication with the server 104.
Since any or all of these devices are in communication with the server 104, and all are relaying to the server the video or audio programme being played on that device (if any), and are receiving from the server a set of data and commands that are relevant to that device, as determined by the device and/or the server, then the cross-communication of information is enabled between devices, allowing for a range of personalised, social and remote control viewing applications.
The above ecosystem may be replicated across thousands or millions of homes, with server 104 able to filter, prioritise and deliver messages from one device to another, in the same home or elsewhere, to create a range of consumer experiences including synchronised viewing amongst frie
A number of specific examples of functionality that the system is adapted to perform are provided with reference to
1. Social Television
In one example, as illustrated in
In this example, the system 10 comprises a television set 100 which includes the system software module plugin 302, the server 104, a plurality of social apps 304, and a mobile device 300. The television 100 uses the software plugin 302 to send to the server 104 metadata regarding the content currently being viewed. A number of possible social apps 304 access this information (via APIs 624 on the server 104) in order to provide social functionality, such as chatrooms and/or viewing statistics to the television 100 or the mobile device 300. The user can interact and utilise this functionality by back-communicating with the central server 104. It is important to note that as a user changes a channel a particular social app that a user has requested, or which is being pushed to a user, may pop up automatically. For example if a user has requested to watch ‘Top Gear’ with social functionality, when he turns to a channel playing ‘Top Gear’, an overlay with live chat with other users in a user's user group may automatically be displayed.
2. Advertising and E-Commerce
In this example, shown in
In this example, the system 10 comprises a television set 100 which incorporates the system software module plugin 302, a central server 104, an EPG and metadata ingest server 400, a comparative shopping service 402, and at least one mobile user device 300. As described above, the television 100, via the software plugin 302, sends information relating to what is being viewed by a user to the central server 104. This could be simply the channel ID, or more detailed information such as audio and/or video data, a programme ID for that programme, typically in the case of on-demand or internet-delivered programmes. In the simplest case, the central server 104 is connected to an EPG & metadata ingest server 400. This contains information on what advertisements (for example) are being aired at certain times on certain channels, or which are appearing right now on a given channel. In a more complex example, the audio and/or video that the user is viewing is identified, then fingerprinted to determine what it is. This could be performed manually by an operator, or automatically by comparing the received data with a database of audio/video data. Once the content has been identified, relevant data/functionality can be overlaid 306 on the television 100, or delivered to a mobile device 300. In this example, the relevant functionality is a list of online shops through which a user could purchase the product being advertised. This is provided by comparative shopping service 402.
A further example is live on-screen betting. For example, if a user is watching a football match, live odds for various bets are overlaid on their TV, or other device. The user could then select a bet (by pressing a button on their remote for example) whilst still watching the match.
3. Augmented Television
In another example, as illustrated in
In this example, the system 10 again comprises a television set 100 which incorporates the system software module plugin 302, a central server 104, a subtitles (also known as Closed Captions) parsing service server 500, an augmentation information provider 502 and at least one mobile user device 300. In this example, the television 100 via the software plugin 302, sends information regarding what is being viewed to the central server. Subtitles 504 are retrieved for the viewed content, which could be based on broadcast metadata, or determined directly from the broadcast. The subtitles 504 are passed to a subtitles parsing service server 500 which extracts known phrases, names, or place names and passes this information back to the server 104. The server 104 then searches for these key words through any number of information providers 502 (e.g. Wikipedia) and pushes relevant information to the user's mobile device 300.
Another example of the functionality of the system 10 is the ability to provide ‘cross device content play’. This is where a user can switch between devices (for example from their TV to their mobile device) and continue watching the same content in a seamless fashion. One example of where this functionality could be implemented is when a user leaves his house, and is able to continue watching, on a portable device, the content that he was watching on his TV before leaving his house. This feature is afforded as the server 104 is continually being updated with what content the user is currently watching, so the information on partly watched items (for example) can be accessed by the user from any compliant device. For example, an app might be provided that asks a user whether he wants to continue watching a programme that was only partially watched previously, when a user turns on a TV 100, or mobile device 300 for the first time.
Further details relating to the system are now provided.
The system turns the passive TV viewing into an interactive expanded experience which combines lean-back viewing on a TV screen with social networking, group viewing and interactivity, including features for companion phone and tablet devices.
By linking content and advertising with TV programmes, in each supported territory, providing detailed real-time knowledge of what is playing on every channel, it enables a new interactive viewing experience, including the ability to run contextual advertisements against keywords or programmes, either within the main programme or in advertisements, as is described in more detail below.
The platform provides a wide range of social networking and augmented viewing functions, with a particular focus on contextual and paid search opportunities.
Similar to the way that Google indexes the web, the system indexes and provides context to live TV, allowing it to provide a range of free and paid services as described in more detail below.
In particular, the system provides at least the following advantages/features:
The operation of a video ingest farm that indexes live TV.
The provision of real-time contextual matches against the TV programme a user is watching, powering a range of augmented TV experiences that draw users to the service on their TV and on companion viewing devices.
Allowing advertisers to buy paid adwords against phrases, brand names, images and words appearing on live TV or radio.
The provision of a combination of augmented TV viewing experiences and paid & affiliate click-thrus against what a user is currently watching on TV.
The provision additional search and content discovery services for live and on demand TV.
The provision of derivative portal propositions that combines the indexed system programme information database with a user's social graph to provide a new way to consume television.
The provision for broadcasters, TV content creators and TV advertisers with analytics and search optimisation tools, allowing those parties to tag their programmes and advertisements with preferred keywords, etc.
The system consists of the following top-level components described below and illustrated in
Device Plugin 302
The Device Plugin or software module 302 is in the form of software, which may be written in Adobe Flash or JavaScript or any other suitable programming language applicable to the device on which it is running, that runs on TV sets 100 (or is included within a set top box 102), sending information about the channel or programme being watched by a given user or device to a Listener module 604 on the server 104, and receiving in response messages and instructions from the Transmitter module/broadcaster 606 that runs on the central server 104. The Device Plugin 302 acts as the bridge between the TV 100 or set top box 102 and the server 104, and is the key enabler that allows the central server 104 and other devices to interact with a TV 100 or set top box 102.
The Device Plugin 302 is added to TVs 100 and set top boxes 102 in cooperation with the device manufacturer, either on new devices, or to existing devices as part of a device software update.
TV Apps 602
The inclusion of the Device Plugin 302 on a given device allows the central server 104 to communicate with that device—including instructing the device to display overlay windows or messages, referred to as Overlay Panels 306. These overlay panels 306 can appear on top of or alongside the video being displayed, allowing for the display of interactive advertisements, chat windows for viewing parties with friends, augmented programme information, affiliate purchase options, and more.
A set of overlay panel options are provided, including some variants that may deliver only small alert prompts to the user's TV 100, with the full interactive experience delivered to the user's companion viewing device 300, such as their iPhone, iPad, etc.
Listener Module 604
The Listener module 604 is a software component that runs on the system servers 104. It is adapted to receive messages from the Device Plugin 302 modules that are present on TVs 100 and set top boxes 102.
Given the large volume of incoming data, the Listener 604 is adapted to queue, buffer, filter, aggregate and prioritise large numbers of status updates, and then to deliver them to the Messaging Platform 608.
Broadcaster 606
The Broadcaster 606 is a software component that runs on the system servers 104. Its function is to push messages and commands to the Device Plugin 302 modules running on TVs 100 and set top boxes 102, thereby completing the return path from the central server 104 back to the TV 100.
The Broadcaster 606 maintains an open channel with each TV set 100, allowing it to instantaneously ‘push’ messages out to any given device or groups of devices. This is achieved by maintaining a connection between the Broadcaster 606 module and each active Device Plugin 302.
Real-Time Messaging Platform 608
This highly scalable messaging backbone is a key component of the system 10. Its function is to route messages and commands between the database 616 and enabled TVs 100 and set top box devices 102, companion viewing devices 300, and third party web services.
Login and ID Services 610
This database maintains a list of device IDs for each TV set 100, set top box 102 and companion viewing device 300 that has ever connected to the central server 104, allowing for internal tracking of activity for that device and the targeting of personalised content, including overlay panels 306, to that device. The IDs used are comparable to web browser cookies—in many cases the IDs are simply held in browser cookies, providing users with similar privacy controls such as the ability to block cookies, clear cookies, and so on.
Message Targeting System 612
This module's function is to select, for each connected user and device, in real time, the optimal messaging or commands to send to that user or device. Such messages may include augmented viewing information relevant to the user or the programme they are watching and the territory in which they are located, or additional content available to them on the device on which content is being viewed. The overlay panel content sent also takes into account the user's privacy and content settings.
In order to perform this function, the Message Targeting System 612 scans the database 616 to find the optimal set of advertisements (as determined by the user's viewing history, user preferences and advertiser targeting), overlay panels 306, further information related to the programme that the user is watching, and friends who are also watching the same programme as the user is watching, right now. The Broadcaster 606 then sends that information to the target enabled device 300.
Privacy and Settings Centre 614
It is important to ensure that users are in control of any overlay content that they receive, and any information that is collected on their viewing behaviour. For example, users are able to elect to have interactive advertising delivered to a companion viewing device 300 instead of to their TV set 100, opt out of specific augmented TV services, select the type of advertising they wish to see more of, and so on.
The Privacy and Settings Centre 614 is both a database that saves the messaging and data collection settings for each user, along with a user-facing Settings Control Panel, accessible on their TV set 100, companion viewing device 300 or PC that allows them to change these settings as desired.
Database 616
The Database 616 contains information about the programmes playing now, programmes that played in the past and future programmes, including details of any interstitial advertisements. The Database 616 also contains knowledge of the augmented content available for any given moment in a programme—e.g. the programme web site and affiliate links that may be relevant to a presenter in a travel programme talking about Paris.
The Database 616 contains information about programmes, including the moment-by-moment content of those programmes, relationships between programmes and external links and sites.
The Database 616 does not contain user or device information—this is kept by the Real-Time Messaging Service 608, the function of which is to combine the underlying metadata knowledge from the Database 616 with knowledge of what a given user is watching, their privacy and messaging settings, and then to deliver relevant content to those users and devices.
EPG Metadata Ingest Service 400
This module serves as the ingest point for programme metadata obtained from third parties. There are third party metadata suppliers who are able to provide programme-level metadata for all TV or radio channels and programmes that might be of interest.
Programme-level metadata typically includes everything that is available in an EPG, including programme title and description, cast and crew information, thumbnail image, and “people who liked this also liked these” recommendation links.
Keyword Extractor Service 500
While programme-level metadata is useful, for example the system knows that Top Gear is now playing on BBC2 and can provide you with links to other car shows or other Top Gear episodes, this system can go much deeper than that in order to provide an augmented viewing experience.
One way to go deeper is to parse the subtitle or closed caption files that are provided for most programmes broadcast by major broadcasters. The subtitle messages can be ingested in real time from the DTT or DVB digital broadcast stream, and then fed into a simple natural language processing (NLP) system to look for known terms and phrases. Those phrases can then be extracted and passed to the Database 616, and tagged with the time and channel on which they were detected. This information can then be used to drive links to web sites and other augmented viewing applications.
A further enhanced Keyword Extractor Service 500 not only uses subtitle text extracted from the digital stream, but also uses speech-to-text conversion to identify words being spoken.
AV Content Recognition Service 600
A combination of audio and/or video fingerprinting is used to perform real-time pattern-matching between what is playing on TV or radio right now, and a set of pre-identified digital fingerprints. When the audio or video signature matches a digital fingerprint that the system has on file, additional content associated with that digital fingerprint may be pushed to the primary or companion viewing device, in the form of an interactive overlay panel.
The audio and video fingerprinting requires a set of servers with live video and/or audio capture cards, which record each TV and radio channel that is of interest and fingerprinting the content. Given the limited range of DTT signals, video ingest and fingerprinting operations may be necessary in each supported territory, unless those signals are also available more widely from, for example, DSAT/satellite.
Not all TV channels will require this real-time video capture—certain channels can rely on more granular programme-level EPG metadata only, while other channels—e.g. shopping channels—might provide a data feed from their live broadcasting systems directly to the Database.
Companion Device Apps 618
Users who choose to have their augmented viewing experience provided to a companion phone or tablet 300, or who have a TV set 100 that cannot support interactive overlays, are able to use a smartphone app, such as an iPhone or iPad app. Such apps then provide purchasing functionality, augmented data, viewing parties with friends, and so on.
Web Site 620
The linked web site provides a number of consumer and Business to Business (B2B) functions.
For consumers, the web site provides a place where users can . . .
For businesses, the web site provides a place where B2B partners can . . .
Analytics Services 622
When users watch programmes on an enabled TV 100 or set top box 102, the plugin 302 sends a constant stream of “now watching” information back to the central server 104, subject to the user's privacy settings. Such data is turned into anonymised and depersonalised form, and made available to third parties on a commercial basis.
Additionally, publicly available data feeds are provided, available through developer APIs, of, for example:
Most Popular—the most viewed programmes by day/channel/genre Now Viewing—what most people are watching at this instant Trending—programmes that are increasing in popularity Being Talked About—what users are connecting and chatting about, right now
These aggregated data feeds can be made available freely on the web site, allowing third-party app developers to make use of this data to create better apps to tap into analytics, creating more engaging experiences. For example, an app exists that shows what the system population is watching right now, and this app is able to control your TV channel selection. A TV that automatically follows the ‘wave’ of users elsewhere as they switch channels when popular programmes end is produced, or even channel surf during advertisement breaks because the app will tell you when your show starts again.
Developer APIs 624
Companion viewing applications 618 on iPhone and iPad are commonplace today. But all these existing apps have at least three problems:
a) They do not know what a user is watching on TV.
b) They are unable to control the TV—i.e. if a user selects to watch a programme on an iPad companion viewing app; it is unable to tell the TV to start playing that programme.
c) They are unable to show overlays 306 on the TV screen itself, and without those overlays the information is “out of sight, out of mind”. People generally do not keep looking at their phone every few seconds in case there has been any activity since they last checked. You need to see the availability of your friends on your TV, with them “waving” to you to join them to view a programme together. Without friends' activities being shown on your TV, few people will end up using such companion apps, or the social viewing opportunities afforded by them.
Accordingly, the two-way TV connectivity enabled by this system may solve a major set of problems for all companion viewing app developers. Thus, the opening up of this functionality to third parties, via a set of APIs, will service a new industry, centred around the platform.
Advertisement Targeting Tools 626
As explained above, the system audio and video ingest system performs a real-time fingerprint analysis of major TV channels in a given territory, identifying advertisements as they are being broadcast. The servers 104 determine that a given 30 second segment of video is an advert. This can be determined based on, for example, the fact that the same 30 seconds segment has been detected 12 times so far on that day, across different TV channels—which means that it is likely to be an advertisement.
An operator is presented with a list of previously unclassified but detected advertisement segments and asked to name, tag and identify each detected advertisement.
Advertisers are also able to upload videos of their advertisements directly to the servers for fingerprinting before the advertisement airs on TV, such that it can later be automatically detected without further manual operator intervention. This is analogous to the video fingerprinting tools that YouTube provides, which allow content owners to upload copies of their programmes, allowing YouTube to thereafter automatically identify any infringing copies of those videos uploaded by end users. However, in this case the advertisement publisher is providing advance copies of their advertisements for fingerprinting so that these can later be identified for association with interactive transaction opportunities.
The Advertisement Targeting Tool 626 is thus a portal on the web site, accessible by the system internal operations team and selected B2B customers, that facilitates the assignment of descriptive metadata and IDs to video segments that have been identified by the server as likely to be an advert, but which have so far not yet been identified and tagged.
Affiliate Network Services 630
Once video segments have been identified, tagged and given an ID as described above, one or two additional things need to be done to monetise those advertisements as interactive transaction opportunities:
1. Affiliate Click-Thru Assignment
If a standard affiliate purchase widget is used to allow users to make one-click purchases of a product, the system advertisement assignment operator then does an online search at for example, Amazon, eBay, finds the Product ID for that item on that merchant's site, and assigns that Product ID plus the Affiliate ID to that advertisement segment. The operator then uses the system's Advertisement Targeting Tools in order to achieve this.
Once this has been done, whenever this advertisement appears on TV again, on any TV channel, anywhere, anytime, the central server automatically serves up a default Click To Buy widget, either to the user's TV set or to their mobile phone or table (depending on their privacy and messaging preferences), with the user being taken to the associated click-thru URL if they click to purchase that item.
2. Custom Advertisement Assignment
Many advertisements will use one of a few default overlays—i.e. a small set of pre-made Click To Buy widgets, assigned by operators to selected advertisements and with click-thrus linked to a small set of affiliate sites, as described above.
Additional, custom advertisement overlays are also possible, and indeed advertisers themselves may wish to upload their own overlays into the system, or use the management console to enter the campaign IDs of their advertisements being served by third party advertisement servers such as DoubleClick, VideoPlaza, etc.
All of the above use cases are enabled via Affiliate Network Services, which is an online portal on the web site where internal operators and approved B2B customers can go to tag advertisements, upload and fingerprint advertisements, assign affiliate click-thrus, upload custom overlays and of course view and download click-thru analytics for their advertisements.
Content Augmentation Service 628
The system is not just contextual advertising and Click to Buy—it is about an augmented TV viewing experience. That means not only enabling a user to chat with their friends while they watch, but getting a delivering feed of interesting links and information to the user.
For example, as the presenter of the travel show a user is watching begins talking about Phuket, the user's iPad would simultaneously show information on Phuket, the population size, and how to get there. Or, while a user is watching a music video channel, as the presenter talks about a new artist, that artist's Facebook page and Tweets appear on the user's iPhone.
In order for this to happen, the information that is extracted from a programme is associated in real time—using the subtitle extractor system, for example—and linked to terms and phrases provided third party information sources. There are far too many keywords and terms to try to do these associations manually, but it is possible to cross-link incoming phrases with a known taxonomy and then use that taxonomy to provide links to a range of relevant external sites.
The Content Augmentation Service 628 matches the terms extracted from incoming subtitle term extraction, across all scanned TV channels, looks for a match with a known category entry and, where a match occurs, updates the Content Augmentation feed for that channel. Those feeds can then be used by the system or third-party apps to create augmented user experiences, all hubbed around and dependent on the system platform.
Channel Configuration & Dashboard 632
The system has the ability to offer different overlay experiences for each TV channel in a given territory, and for different territories.
For example, selected channel owners or broadcasters may have different requirements to allow them to control the content overlays that appear over their channels. Alternatively, the system may be configured so that certain classes of overlays should or should not be shown over selected channels—e.g. where certain types of advertising is restricted from appearing over some channels, but those advertisements over other channels are allowed.
The Channel Configuration service 632—a portal on the web site—makes this possible. This web portal allows a system operator to set the overlay targeting configuration on a per-channel basis, ensuring that the system always complies with any legal or contractual obligations that apply to any given TV channel or broadcaster.
Additionally, a “Dashboard” function allows system operators and/or registered users from approved channel owners or broadcasters to log in to view analytics for their channel, including number of served overlays, number of users, viewing by time of day, most viewed programmes, engagement time per viewing session, and a range of additional information that is of value to the channel owner.
As shown in
Examples of the APIs 624 that may be provided include, but are not limited to, the following:
Any system that provides third parties with potential access to data about programmes that a user has watched, or which allows remote devices to issue commands to a user's TV set, clearly carries with it a range of privacy and security responsibilities.
Accordingly, and as shown in
Settings options that may be provided to the user include, but are not limited to, the following:
These and additional settings and preferences may be configured and/or applied at either the client, or any participating client devices for a given user, or on the server, allowing server-side rules to be applied based on these and other user preferences.
Transmitters and Receivers
The software module is provided in a number of variants, in source code and/or compiled for a variety of device types and platforms, for incorporation into a wide variety of devices.
Some devices will be small low-powered devices, such as remote controls, which may act as controllers or remote interfaces for other devices on which the video or audio is being played. Similarly, some devices may be primarily audio or video players, where primary purpose is to send media playback and timing information to the server, where it may be synchronised and shared with remote control devices, etc.
Additionally, some playback devices may have the sophistication to both transmit playback information to the server only, while others may be able to both transmit information on the media being played as well as to receive commands or data from the server and execute those commands and/or display that data. For example, in a use case where the software module is incorporated into an existing TV or set top box product that lacks a browser or widget overlay system, the device may lack the ability to display overlay widgets or launch applications. In this case the software module may be employed to transmit media playback information to the server only, and not attempt to receive commands and data back from the server.
Conversely, for newer-model devices which incorporate a browser or widget display system, the device may both transmit media playback information to the server and receive in return commands to launch local applications.
Note that in all cases the same or substantially the same software module may be deployed on all device types, compiled for that device's operating system and runtime environment, but with the device making use of only those APIs provided by the software module as are relevant to that device.
To allow for a more convenient description of the different use cases, and different functionality expressed by the software module in different devices, the functionality is split into one of two general types: (i) Transmitters, and (ii) Receivers. These terms are for descriptive purposes only and any given software module implementation in a given device may incorporate either or both classes of functionality.
Transmitters
“Transmitters”, or “transmitter functionality” are those classes of devices, services or functionality, or that part of an implementation, focussed on transmitting from a given supported device to the server information about a programme being played by a given user, either as live broadcast radio or TV, or as an an-demand programme.
For example, if a user is watching, say Channel 1 broadcast TV, then the Transmitter includes the following aspects,
A software module included in that TV set
Receivers
“Receivers” or “receiver functionality” includes devices, services and functionality that provide the features such that a given device may receive information from the server or from the local software module or other local interfaces about content that is being watched or listened to by a given user on either that device or on another device.
For example, a mobile phone, running the software module described above, may implement Receiver functionality so that, when a user is watching Channel 1, say, on a TV set which implements Transmitter functionality, then information about the programme being watched is sent to the server, and thence, with filtering, embellishing or other information added or removed by the server, to the Receiver part of the software module running on said mobile phone, thereby allowing the mobile phone to ‘know’ what the user is watching on the TV, and to display, for example, a list of friends of that user who are watching the same programme, or who have previously watched that programme.
Another example would be where the Receiver functionality is implemented on the same device that is running the Transmitter functionality, such that for example a user may see displayed on their TV set, overlaid on the video that is being played, a list of their friends who are watching this programme right now (said overlay displayed being facilitated by the Receiver part of the software module and environs), where knowledge of the programme being viewed by that user, and hence knowledge of which of their friends are also watching it, is enabled by the Transmitter described above, that Transmitter being in this example executed on the same software module running on the same device as the Receiver module.
Key Hardware Features
In one example, the system includes a set top box (STB), in other examples; the functionality might be built into a TV set and/or implemented in software. The STB includes, in this example, at least some of the following features/functionality:
HBB+Hardware Requirements
An HBB+ compliant box has the following minimum hardware specs:
For the Hybrid box both RAM and Flash are increased. For certain territories (including the United Kingdom) the frontend section is modified to accommodate a DVB-T2 tuner and demod.
After proper verifications, there is no need for a redesign since the T2 components are pin-to-pin compatible with the current DVB-T equivalents.
HW already supports DVB-CI. CI+ can also be supported.
Looking at the functionality that a user will encounter when using the system, the following aspects/features are provided by the following parts of the system.
The content provider provides:
The system operator provides:
Individual STB Manufacturers Provide:
Software Architecture
The top level software architecture includes:
a) A Media Player capable of playing back many different codecs and formats. This includes the capability of descrambling and playing back SSL-protected streams (coming from iPlayer for example) at speeds up to and exceeding 3 mbps.
b) A DVB stack capable of reproducing both SD and HD channels, satisfying various local regulations (e.g. UK-Style LCN, Italian-style LCN and so on).
c) DLNA 1.5 Server and Renderer.
d) RDP protocol. As an option, the SW offers the possibility to use the UI from remote (e.g. on a mobile phone or on a PC) using the VNC protocol.
e) Local navigator UI based on QT.
f) Opera or Access browser. This is preferably Opera 10.60 QT version. Supporting download and installation of W3C-style widgets. The box has UI functionality for accessing installed widgets and the application store.
g) The software is modified to achieve HBBTV+ status where HBBTV and Widgets coexist in a seamless environment. The CE-HTML JavaScript APIs mandated by HBBTV (e.g. those needed to interact with the DVB stream) are exposed to the whole browser environment, including widgets.
In particular the HBBTV stack is modified in such a way that the signalling of applications contextual to the DVB channel currently being played happens via ‘polling’ to an internet server instead of via DVB.
This web service is invoked any time the user changes channel and at regular (small) intervals during viewing.
It will be understood that the present invention has been described above purely by way of example, and modifications of detail can be made within the scope of the invention.
Each feature disclosed in the description, and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination.
Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.
Number | Date | Country | Kind |
---|---|---|---|
1104542.2 | Mar 2011 | GB | national |