This application claims priority from British Patent Application No. GB1111154.9, filed on 30 Jun. 2011 in the Intellectual Property Office of the United Kingdom, the disclosure of which is incorporated herein by reference.
1. Field
The present invention relates to an apparatus and method for receiving a broadcast stream. In particular, the present invention relates to receiving key information and additional information through the broadcast stream, selecting one of a plurality of predetermined functions based on the additional information, and performing the selected function in response to a control signal identified by the key information.
2. Description of the Related Art
In existing broadcast systems, such as MHEG and MHP, applications can be transmitted through a broadcast stream and executed by the receiver. The application may allow certain behaviour to be trigged by user input, but this has to be programmed into the application itself. Accordingly, the application has to be executed in order for the functionality to be available to a user. The launching of the broadcaster application may be done either in direct response to some signalling, such as that defined in TS 102 809, or via a menu or other UI provided by the manufacturer. Alternatively, a receiver may implement software that automatically runs applications provided by the broadcaster. This gives the broadcaster the ability to directly monitor for key presses and display a web page when the relevant key is pressed. However, as the entire application must be transmitted to the receiver in order to make use of this additional functionality, such systems require a large amount of data to be sent to the receiver. Also, there are often interoperability issues, as the receiver software does not always work in the same way.
According to the present invention, there is provided an apparatus for receiving a broadcast stream, the apparatus comprising a receiving module configured to receive key information and additional information relating to a selected programme through the broadcast stream, the key information identifying one of a plurality of control signals, wherein the apparatus is configured to select one of a plurality of predetermined functions based on the additional information, and perform the selected function in response to the control signal identified by the key information.
The additional information may include information indicating a type of link information that is currently available for the selected programme, and the apparatus may be configured to select the function according to the type of the link information.
The apparatus may be configured to determine whether the link information is available through the broadcast stream as metadata, and to extract the link information from audio-visual data of the selected programme if the link information is not available through the broadcast stream.
The apparatus may be configured to extract the link information from audio-visual data of the selected programme by capturing a screen image and applying at least one of an Optical Character Recognition OCR algorithm and an image recognition algorithm to the captured screen image.
The extracted link information may comprise a plurality of information items, and the apparatus may be configured to display a user interface for selecting one of the plurality of information items.
When the link information is an Internet Uniform Resource Locator URL, the selected function may comprise receiving an application from a location defined by the URL and executing the application, or comprises connecting to the location defined by the URL and displaying a webpage from the location on a display.
Wherein when the link information is a telephone number, the selected function may comprise dialling the telephone number, or comprises sending a text message to the telephone number.
The apparatus may be a Digital Video Broadcasting DVB compliant receiver, and the key information and additional information may be included in a Related Content Table RCT received through the broadcast stream.
The link information may be included in a link_info fragment of the RCT, and the link information type may be specified by a how_related_classification_scheme_id field of the link_info fragment.
The additional information may include target device information identifying one or more devices on which the selected function is to be performed, wherein if the target device information identifies the apparatus, the apparatus may be configured to perform the selected function, and if the target device information identifies the secondary device, the apparatus may be configured to control the secondary device to perform the selected function.
The selected function may comprise executing a first application, and the apparatus may be configured only to control the secondary device to execute the first application if the apparatus is currently executing a second application related to the first application.
The apparatus may be connectable to a secondary device, and the selected function may comprise transmitting information relating to the selected programme to the secondary device.
The apparatus may be configured to identify the selected programme, and the information relating to the selected programme may comprise information identifying the selected programme.
The apparatus may be configured to identify the programme based on a currently tuned channel, a current date and time, and Electronic Program Guide EPG information about programmes available in the broadcast stream.
According to the present invention, there is also provided a system comprising the apparatus and the secondary device.
The secondary device may be configured to register with the apparatus in order to receive information from the apparatus, and the apparatus may be configured to only send information to the secondary device if it has registered to receive information.
The apparatus may be configured to record first audio and/or video data of the selected programme during a predetermined time period, and send the recorded first audio and/or video data to the secondary device, wherein the secondary device may include a microphone and/or camera, and may be configured to record second audio and/or video data during a time period corresponding to the predetermined time period, determine a correlation value between the second audio and/or video data and the first audio and/or video data received from the apparatus, and register with the apparatus to receive information if the correlation value is above a threshold value.
The secondary device may be configured to connect to the Internet to receive further information relating to the selected programme.
The secondary device may be configured to transmit the further information relating to the selected programme to the apparatus, and the apparatus may be configured to display the further information on a display.
When the information relating to the selected programme is a telephone number, the secondary device may be configured to dial the received telephone number and/or send a text message to the received telephone number.
When the information relating to the selected programme is an Internet Uniform Resource Locator URL, the secondary device may be configured to receive an application from a location defined by the URL and execute the application, or connect to the location defined by the URL and display a webpage from the location on a display
According to the present invention, there is further provided a method comprising receiving key information and additional information through a broadcast stream, the key information identifying one of a plurality of control signals, selecting one of a plurality of predetermined functions based on the additional information, and performing the selected function in an apparatus for receiving the broadcast stream, in response to the control signal identified by the key information.
The additional information may include information indicating a type of link information that is currently available for the selected programme, and selecting one of the plurality of predetermined functions may comprise selecting the function according to the type of the link information.
The method may further comprise determining whether the link information is available through the broadcast stream as metadata, and extracting the link information from audio-visual data of the selected programme if the link information is not available through the broadcast stream.
Extracting the link information may comprise capturing a screen image and applying at least one of an Optical Character Recognition OCR algorithm and an image recognition algorithm to the captured screen image.
When the link information is an Internet Uniform Resource Locator URL, the selected function may comprise receiving an application from a location defined by the URL and executing the application, or may comprise connecting to a location defined by the URL and displaying a webpage from the location.
The additional information may include target device information identifying one or more devices on which the selected function is to be performed, wherein if the target device information identifies the apparatus, the selected function may be performed on the apparatus, and if the target device information identifies the secondary device, the selected function may be performed on the secondary device.
The selected function may comprise transmitting information relating to the selected programme to a secondary device.
The method may further comprise identifying the selected programme, wherein the information relating to the selected programme may comprise information identifying the selected programme.
Identifying the selected programme may comprise identifying the selected programme based on a currently tuned channel, a current date and time, and Electronic Program Guide EPG information about programmes available in the broadcast stream.
The secondary device may include a microphone and/or camera, and the method may further comprise recording first audio and/or video data of the selected programme during a predetermined time period, at the apparatus, sending the recorded first audio and/or video data to the secondary device, recording second audio and/or video data at the secondary device during a time period corresponding to the predetermined time period, determining a correlation value between the second audio and/or video data and the first audio and/or video data, and registering the secondary device with the apparatus to receive information if the correlation value is above a threshold value.
According to the present invention, there is further provided a computer-readable storage medium storing a computer program which when executed on a processor, causes the processor to perform the method.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Referring now to
In the present embodiment, the remote control 120 is similar to a conventional television remote control, and includes a plurality of keys which when pressed by a user cause the remote control 120 to transmit one of a plurality of control signals to the receiver 100. The control signal indicates which one of the keys was pressed. In another embodiment, instead of a plurality of keys, the remote control 120 may include a touchscreen for displaying a user interface having a plurality of user input regions. For example, instead of a dedicated remote control as shown in
Continuing with reference to
In the present embodiment, the tuner/decoder module 101 is configured to receive and demodulate the broadcast stream 130, tune to a particular channel, and decode the audio-visual data of a programme currently being broadcast on the tuned channel. The tuner/decoder module 101 then sends the decoded audio-visual data to the television 110. In addition, the tuner/decoder module 101 is configured to extract metadata from the broadcast stream 130.
Conventionally, a broadcast stream may include metadata containing information about programmes that are available in the broadcast stream. For instance, in a DVB system, link information can be transmitted in a Related Content Table (RCT) as defined in TS 102 323 section 10. The link information provides a link to content relating to a programme currently being broadcast. In the conventional DVB system, the RCT may be broadcast whilst a future programme is being trailed, in which case the link information is the CRID of the future programme. The RCT also contains additional information indicating that the content currently being broadcast is a trailer, and that the link information relates to the content being trailed. The RCT therefore allows a broadcaster to provide link information, along with additional information defining the relationship between the link and the content.
In embodiments of the present invention, the RCT may contain information relating to the programme currently being broadcast. This information may be generally referred to as “additional information”, and includes information that enables the receiver to select one of a plurality of predetermined functions. For example, the additional information may include different types of link information, such as an Internet Uniform Resource Identifier (URI) or telephone number. In this case, the additional information also includes information about the type of link information that is currently available for a particular programme. The receiver 100 then selects the predetermined function that is appropriate for the particular type of link information.
As well as the additional information which allows the receiver 100 to select the predetermined function, in the present embodiment the metadata extracted by the tuner/decoder module 101 also includes key information. The key information identifies one of the plurality of control signals receivable from the remote control 120. The tuner/decoder module 101 is configured to send the key information and additional information to the control module 102.
The control module 102 is configured to select one of the plurality of predetermined functions based on the additional information. Specifically, the control module 102 can be pre-programmed to perform different functions for different types of data. Therefore when the control module 102 receives the additional information, the control module 102 can select one of the plurality of predetermined functions based on the type of data identified by the additional information.
Referring now to
In the present embodiment, the term_id and how_related_classification_scheme_id fields 210 define the type of data being provided and its relationship with the current content. Specifically, different classification schemes may be used, and the how_related_classification_scheme_id field defines the scheme that is currently being used. The term_id contains a code defining the type of data being provided, and is interpreted using the classification scheme specified in the how_related_classification_scheme_id field. For instance, when the how_related_classification_scheme_id is “urn:tva:metadata:HowRelatedCS:2010”, a term_id of “10.2” denotes that the link information is a URL of a programme website, i.e. a website which contains additional information about the current programme or the broadcaster. It may be possible to signal multiple URLs with different or similar relationships for reception by receivers with differing capabilities.
The link information, or other type of data, may be carried in the media_uri_byte field 220 or in a separate descriptor. In the present embodiment, link information is contained in the media_uri_byte field 220.
As described above, the receiver may be pre-programmed with a plurality of predetermined functions, which are each appropriate for a different type of data received through the broadcast stream. For instance, additional information relating to a selected programme may be received that includes link information of the type “URL of web application”. Here, the receiver may determine that the additional information includes link information that is the URL of a web application related to the programme currently being broadcast. Accordingly, the predetermined function for a “URL of web application” may be to navigate to the specified URL, i.e. the URL contained in the link information, and execute a web-based application received from the URL.
Alternatively, when a different programme is selected, link information of a different type may be available. For instance, the additional information may specify that link information of the type “telephone number” is currently available. The predetermined function for “telephone number” link information may be to initiate a telephone call by dialling the number contained in the link information. For example, the apparatus may be included in a device such as a smart phone, which has the capability to initiate a telephone call.
A further type of link information can also comprise a URL, and the predetermined function may be to initiate a voice-over-IP (VOIP) conference call using the URL. This type of link information may be referred to as a “VOIP URL”.
The present invention is not limited to these types of link information and functions. Other types could be added as appropriate, and the receiver programmed with other suitable predetermined functions.
Additionally, a broadcaster may use the additional information to signal how and when the selected function should be performed. For example, a receiver may be configured to only perform the function during a period when the link information is available in the RCT. That is, a user may only be allowed to access the web page whilst the link information still exists in the RCT being received through the broadcast stream. Furthermore, the broadcast can also define the trigger that the receiver should use to launch the web application. In more detail, the receiver may be configured to extract key information from the broadcast stream, which allows a broadcaster to dynamically define a key to which the receiver will respond by executing the selected predetermined function. The key information will now be described in more detail with reference to
Referring now to
The activation_key_descriptor( ) 300 includes descriptor_tag and descriptor_length fields, which are standard fields used in all descriptors following the DVB standard. The descriptor_tag field is a unique value that identifies this descriptor as an activation_key_descriptor, whilst the descriptor_length field specifies the number of bytes that follow the descriptor_length field. The activation_key_descriptor further includes an activation_key_code field, which contains a value that identifies one of a plurality of control signals. In embodiments where the control signals are received from a remote control including a plurality of keys, each value corresponds to one of the keys of the remote control.
In more detail, a conventional television remote control includes RED, GREEN, YELLOW and BLUE keys. Of these, the RED key is normally used for interactive TV services and the BLUE key for audio selection. The yellow and green buttons are unused during normal TV reception and are therefore available for other actions. The value contained in the activation_key_code field indicates to which key the receiver should respond by performing the selected function. In the present embodiment, a value of 0x01 indicates the RED colour key, a value of 0x02 indicates the GREEN colour key, a value of 0x03 indicates the YELLOW colour key, a value of 0x04 indicates the BLUE colour key, and values of 0x00 and 0x05-0xFF are reserved for future use. These values and keys are given by way of example only, and the present invention is not limited to this particular arrangement.
In one embodiment, the receiver may be configured to monitor the RCT for link information that is a URL to a web page, i.e. of the “programme website” type. It will also look for the activation_key_descriptor to determine which control signal should be used to launch the web page. When a “programme website” link is available, the receiver may be configured to display an icon on the display to inform a user of the presence of the link. The particular icon to be used can be signalled as part of the RCT. Then when the user presses the remote control key identified in the activation_key_code field, the receiver is configured to respond by performing the selected function, which in this example comprises launching a web browser application and loading the web page using the URL.
Referring now to
By determining which control signal to respond to based on the key information, the method enables a broadcaster to dynamically define a particular key of a remote control which can be used to perform the selected function. The broadcaster can also provide different types of data, for example link information, which will be treated differently by the apparatus.
Embodiments of the present invention have been described in which a selected function is executed at the receiver, for example executing a web-based application, displaying a webpage, or initiating a telephone call. However, in some embodiments, the receiver may be connectable to one or more secondary devices, for example smart phones and/or tablet computers, to send and receive information to/from the secondary devices. The receiver may, for example, connect to the secondary devices via a Wireless Local Area Network (WLAN). The receiver may receive target device information through the broadcast stream, which defines one or more devices on which a particular function should be performed. An example of such a system is shown in
Referring now to
In a system such as the one shown in
Although in the present embodiment UPnP packets are used to transmit data between the receiver 500 and secondary devices 540, in other embodiments other data transfer protocols may be used.
Referring now to
The second_device_descriptor( ) 600 includes the standard descriptor_tag and descriptor_length fields, similar to the activation_key_descriptor( ) of
Although the target device information has been described in relation to executing a web-based application, the target device information may also be used in the context of other types of link information. For example, the secondary device may be configured to render information such as a web page automatically without the need for any user interaction. Alternatively, for example if the link information is a telephone number, the receiver may be configured to display an icon on the television display that would prompt the user to press the key identified by the key information in order to dial the number. If the corresponding control signal was then received, the receiver would send the telephone number to the secondary device, which could be configured to automatically dial the number.
These functions are disclosed by way of example only, and in other embodiments other functionality may be provided, as appropriate for other types of link information.
By using the second_device_descriptor( ) 600, the broadcaster can indicate their intention for the application. For example the application may be designed to be displayed alongside or on top of the broadcast video and interact with the broadcast video, in which case the application should only be run on the receiver. Alternatively, the application might obscure the video if executed on the receiver, in which case the application should only be run on a secondary device. As a further option, the application may be suitable for executing on either device, for example if the application is designed to adapt its behaviour depending on the device on which it is executed.
In cases where the second_device_descriptor( ) 600 indicates that the application is only suitable for executing on a secondary device, the receiver may not itself execute the application but may instead display an icon on the display in order to inform a user of the availability of the application. The application may be launched on the secondary device using a different remote control key to the one identified by the key information.
Furthermore, in some instances an application may only be run conditional on other parameters. For example, a first application to be run on a secondary device may be reliant upon a second application running on the receiver. This could be the case where multiple secondary devices are provided to allow a plurality of users to participate in an interactive quiz, with their scores being transmitted to and collated by the receiver.
Referring now to
Firstly, in step S701, a broadcast frame of a currently selected programme is displayed. Secondly, in step S702, additional information is extracted from the broadcast stream. The additional information may include link information, and information about the type of link information that is available. The order of steps S701 and S702 may be reversed in some embodiments. Next, in step S703, it is determined whether link information comprising a URL was received. If a URL was not found, the receiver returns to the first step S701 and displays the next broadcast frame. If a URL was found, the receiver proceeds to step S704 and determines whether an icon was also found. The icon may be provided by the broadcaster, and should correspond to the remote control key identified by the key information.
If an icon was found, it is assumed that the application is only to be executed in response to user input. In this case, the receiver proceeds to step S705 and displays the icon. Here, the icon may, for example, be an image of the button which is to be used to launch the application. In other embodiments, other visual information instead of an icon, for example a textual description of the button, may be received from the broadcaster. The visual information allows a user to identify the button that has been specified by the key information, so that the user knows which button to press in order to perform the desired function. Then, in step S706, the receiver performs the selected function in response to the control signal corresponding to the specified key, i.e. the key identified by the key information and to which the visual information corresponds. In the present embodiment, the selected function comprises connecting to a location specified by the URL and executing a web-based application received from the location. However, in other embodiments, other functions may be selected as appropriate to the type of data. For example, the selected function may comprise displaying a web page specified by the URL, or dialling a specified telephone number.
If no icon was found at step S704, it is assumed that the application is to be automatically executed on the secondary device without user input. In this case, the receiver proceeds to step S707 and determines whether a secondary device is connected. This may comprise determining whether any secondary devices have registered with the receiver to receive data. If no secondary device is connected, it is not possible to launch the application, and so the receiver returns to the beginning. However, if a secondary device is connected, the receiver proceeds to step S708 and sends the URL to the secondary device, which may be configured to automatically navigate to the URL to receive the application, and execute the application. In situations where a plurality of secondary devices are connected, the receiver may transmit the URL to all connected devices, or may select one or more of the devices to which the URL should be sent.
In the embodiment of
Embodiments of the present invention have been described in which link information is received through the broadcast stream as metadata. However, the present invention is not limited to this arrangement. In other embodiments, additional data such as the link information may be extracted directly from audio-visual data of the currently selected programme, in addition to or instead of receiving information through the broadcast stream as metadata. The information obtained from the audio-visual data may be used in a similar manner to the information received as metadata, for example may be used by a receiver such as the one shown in
Referring now to
Next, in step S803 it is determined whether any phone number was found. If no phone number was detected, the receiver returns to step S801 and displays the next broadcast frame. If a phone number was detected, the receiver proceeds to step S804, and locates the text on the screen and controls the television to display an image of the green button next to the text. Then, in step S805, it is determined whether the user has pressed the green button, by waiting for the control signal corresponding to the green button. If the button is not pressed, the receiver returns to step S801 and displays the next broadcast frame. If the button is pressed, then the receiver proceeds to step S806 and checks whether a secondary device is currently connected. If no device is connected, the receiver returns to step S801 and displays the next broadcast frame. If a device is connected, the receiver proceeds to step S807 and sends the phone number to the secondary device. The secondary device may, for example, be configured to automatically dial the number, dial the number in response to other user input, or store the number for future use. Here, the use of the green button is merely exemplary, and in other embodiments other buttons may be used to select an information item.
Although in the method of
Additionally, in
In another embodiment, instead of performing OCR and extracting a phone number as described in relation to
As described above with reference to
Referring now to
Then, in step S905, it is determined whether the user has selected one of the information items. If not, the receiver returns to the beginning. If an item is selected, it is determined in step S906 whether a secondary device is connected. If no device is connected, the receiver returns to the beginning. If a device is connected, the receiver proceeds to step S907 and transmits the selected information item to the secondary device.
Examples of types of information items that may be extracted include, but are not limited to, a telephone number, website URL, contact address, date and time, voucher code, still image, subtitle information, audio data, and tracking information. In the case of a telephone number, this can be sent directly to the secondary device, which can be configured to dial the number or store it for future use. In the case of a website URL, this can be sent to the secondary device, which can be configured to launch a web browser and display the specified web page. In the case of a contact address, this can be sent to the secondary device as a business card that can be stored in a memory of the secondary device. In the case of a data and time, this data can be sent to the secondary device as an appointment to be stored in the device's calendar. In the case of a voucher code, this can be sent to the secondary device, which can be configured to send the code to a specified web server along with a current cell ID, i.e. an ID of a mobile communications mast to which the device is currently connected, to find local offers which can be displayed in a web browser. In the case of a still image, the image can be sent to the secondary device, which may display the image and/or send it to a picture search engine. The secondary device can then receive information including search results relating to the image, and either display the information on the secondary device or send it back to the receiver to be displayed on the TV. In the case of subtitle information, this can be sent to the secondary device along with the still image to provide additional textual information for use in searching the image database. In the case of audio data, this can be extracted from audio-visual data of a selected programme, for example a recorded programme, and be sampled before being sent to the secondary device for use in identifying any images. In the case of tracking information, the secondary device may use object tracking to assist in identifying the still image if the original image is not of sufficiently high quality to be used for identification.
Embodiments of the present invention may be used to provide an augmented reality effect. For instance, when an object of interest is displayed in the broadcast picture, the user may select to isolate the image using a method similar to the one shown in
In embodiments of the present invention in which secondary devices are able to connect to a receiver to receive information relating to a programme currently being displayed, each secondary device may be configured to register with the receiver in order to receive information. Specifically, each device may only register with the receiver if it determines that it is currently within the vicinity of the television, such that a user of the secondary device is likely to be viewing and/or listening to the programme. To determine whether it is in the vicinity, each secondary device may execute an automatic recognition procedure.
In more detail, the secondary device may include a microphone and/or camera. The apparatus can record first audio and/or video data of the selected programme during a predetermined time period, and send the recorded first audio and/or video data to the secondary device. Next, or at the same time, the secondary device may record second audio and/or video data during a time period corresponding to the predetermined time period. The secondary device can then determine a correlation value between the second audio and/or video data and the first audio and/or video data received from the apparatus, and register with the apparatus to receive information if the correlation value is above a threshold value. Filtering may be applied to the second audio and/or video data before obtaining the correlation value.
Embodiments of the present invention have been described in which a web URL is signalled in a link_info( ) fragment. However, in other embodiments, a web URL or other information could be signalled in the Application Information Table (AIT) defined in ETSI TS 102 809. In this case, the key information would also need to be added to the AIT, for example using the activation_key_descriptor.
Embodiments of the present invention offer an advantage that because a receiver is pre-programmed with a plurality of functions, it is not necessary to transmit an application to be executed over the broadcast stream. Instead, embodiments of the present invention may only be required to receive key information and additional information, such as link information, thereby reducing the volume of data that has to be sent through the broadcast stream. Also, embodiments of the present invention may allow a broadcaster to direct a user to a website automatically. Furthermore, other content such as telephone numbers may be sent to the receiver, for example to allow a user to initiate a telephone call by pressing a button on their TV remote control. Embodiments of the present invention can therefore allow a broadcaster to provide a more interactive experience by providing a user with different types of information during a live broadcast.
Although embodiments of the present invention have been described with relation to a DVB-compliant receiver, the present invention may be generally applicable to any apparatus suitable for receiving a broadcast stream. The apparatus may be separate from the display, for example may be a set-top box or personal video recorder, or may be included in the display. In some embodiments, the apparatus may be included in a mobile device, for example a tablet computer or a mobile telephone handset, or in another personal computer such as a desktop or laptop.
Also, embodiments of the present invention have been described in which an apparatus receives control signals from a remote device, such as a remote control, smartphone or tablet computer. However, in certain other embodiments, the apparatus itself may include user input means, such as a plurality of keys or a touchscreen. In such embodiments, the control signals may be generated internally within the apparatus when a user manipulates the user input means.
Additionally, embodiments of the present invention have been described in which metadata relating to a programme currently being displayed is extracted from the broadcast stream. The metadata enables additional content to be accessed. However, in other embodiments, metadata may be extracted which relates to any selected programme, which may or may not be the programme currently being displayed. For example, whilst one programme is being displayed, the user may select a different programme in an electronic program guide (EPG). The receiver may then perform the appropriate function, for example displaying a webpage, in response to the control signal specified in the metadata for the selected programme.
Furthermore, although embodiments of the present invention have been described in relation to a DVB-compliant system, other embodiments of the present invention may be implemented according to a different standard, such as a digital video broadcasting (DVB) standard, Open IPTV Forum (OIPF) standard, or Digital Entertainment Content Ecosystem (DECE) standard.
Whilst certain embodiments of the present invention have been described above, the skilled person will understand that many variations and modifications are possible without departing from the scope of the invention as defined by the accompanying claims.
Number | Date | Country | Kind |
---|---|---|---|
1111154.9 | Jun 2011 | GB | national |