VIRTUAL SET-TOP BOX
20200236432 ยท 2020-07-23
Assignee
Inventors
- Geraint Jenkin (Pen coed, GB)
- Marcus C. Liassides (Merthyr Tydfil, GB)
- Christopher G. Hooks (Cardiff, GB)
- David F. Evans (Cardiff, GB)
Cpc classification
H04N7/17318
ELECTRICITY
H04N21/4622
ELECTRICITY
H04N21/632
ELECTRICITY
H04N21/454
ELECTRICITY
H04N21/2181
ELECTRICITY
H04N21/4433
ELECTRICITY
H04N21/443
ELECTRICITY
H04L65/1059
ELECTRICITY
H04N21/44209
ELECTRICITY
H04N21/631
ELECTRICITY
International classification
H04N21/462
ELECTRICITY
H04N21/218
ELECTRICITY
H04N21/258
ELECTRICITY
H04N21/418
ELECTRICITY
H04N21/426
ELECTRICITY
H04N21/442
ELECTRICITY
H04N21/443
ELECTRICITY
H04N21/454
ELECTRICITY
H04N21/63
ELECTRICITY
Abstract
A virtual set-top box (vSTB) for executing a middleware component, designed originally for use with the physical STB, including emulating hardware capabilities of the physical STB to process IPTV content received over a connection for presenting the IPTV content on a display of the electronic device.
Claims
1-20. (canceled)
21. A method for presenting internet protocol television (IPTV) content on a software platform comprising: streaming the IPTV content on the software platform for display to an end user wherein the software platform is configured on an end user's electronic device; executing by the end user's electronic device a middleware component to process the IPTV content from a content source provider; managing access to the IPTV content on the software platform of the end user's electronic device; managing a display of the IPTV content that comprises media content from a data stream accessed by a CA interface using a media manager wherein the media manager abstracts an application based on at least one type of video codec selected by a codec manager from a plurality of video codec to display the media content from the data stream; and managing the display of the media content on the end user's software platform using a user interface that comprises a layout on the display that enables the middleware component to control by an end user's selection of a set of user interface controls the display of the media content.
22. The method of claim 21, further comprising: using a conditional access (CA) manager and a CA interface configured between the middleware component and the CA manager wherein the CA interface enables features initiated for CA controlled by the content source provider.
23. The method of claim 22, further comprising: receiving encoded media content from the content source provider at the software platform; and decoding the media content using the codec manager with a media interface and a network interface.
24. The method of claim 23, further comprising: configuring the middleware component with a plurality of interfaces for enabling communication between at least a graphics interface, a CA interface, a media interface, a system settings interface, and a persistent storage interface.
25. The method of claim 24, further comprising: processing by a dynamic video source selection (DVSS) component the IPTV content from a content source provider wherein the DVSS component is configured with one or more of a PVR controller, an IGMP client, an RTSP client, and a DVB-T client.
26. The method of claim 25 wherein one or more of the plurality of interfaces and the middleware component is embedded within a Document Object Model (DOM) on the software platform operating on the end user's electronic device.
27. The method of claim 26, further comprising: receiving DOM requests at the software platform; and translating a DOM request into an application programming interface (API) request for interaction with the middleware component.
28. The method of claim 21, further comprising: receiving the IPTV content on the software platform from an Internet Protocol (IP) closed network.
29. The method of claim 27, further comprising: configuring the DOM request into a JavaScript request for supporting the DVSS component to display the media content.
30. The method of claim 29, further comprising: configuring the DOM request into JavaScript request to decrypt the media content for the DVSS component to display the media content.
31. A system to present internet protocol television (IPTV) content on a software platform, the system comprising: an end user's electronic device configured to: stream the IPTV content on the software platform to display on an end user's electronic device wherein the software platform is hosted on the end user's electronic device; execute a middleware component to process the IPTV content from a content source provider; manage a display of the IPTV content that comprises media content from a data stream that is accessed by a CA interface by a media manager wherein the media manager abstracts an application based on at least one type of video codec selected by a codec manager from a plurality of video codec to display the media content from the data stream; and manage the display of the media content on the end user's software platform using a user interface that comprises a layout on the display that is enabled by the middleware component to control by an end user's selection of a set of user interface controls the display of the media content.
32. The system of claim 31, wherein the end user's electronic device is further configured to: manage access to the IPTV content on the software platform of the end user's electronic device by a conditional access (CA) manager and the CA interface configured between the middleware component and the CA manager wherein the CA interface is enabled with features initiated for CA controlled by the content source provider.
33. The system of claim 32, wherein the end user's electronic device is further configured to: receive encoded media content from the content source provider at the software platform hosted by the end user's electronic device; and decode the media content by the codec manager with a media interface and a network interface, wherein the media interface and network interface enable the middleware component to control at least the display of the IPTV content.
34. The system of claim 33, wherein the end user's electronic device is further configured to: communicate requests of the middleware component with a plurality of interfaces that comprise at least a graphics interface, a CA interface, a media interface, a system settings interface, and a persistent storage interface.
35. The system of claim 34, wherein the end user's electronic device is further configured to: execute by the end user's electronic device a middleware component that comprises at least a dynamic video source selection (DVSS) component to process the IPTV content from a content source provider wherein the DVSS component is configured with one or more of a PVR controller, an IGMP client, an RTSP client, and a DVB-T client.
36. The system of claim 35 wherein the plurality of interfaces and the middleware component are configured within a Document Object Model (DOM) on the software platform to operate on the end user's electronic device.
37. The system of claim 36, wherein the end user's electronic device is further configured to: receive a Document Object Model (DOM) request at the software platform; and translate the DOM request into an application programming interface (API) request to interact with the middleware component.
38. The system of claim 32, wherein the end user's electronic device is further configured to: receive the IPTV content on the software platform over a connection of the end user's electronic device from an Internet Protocol (IP) network.
39. The system of claim 37, wherein the end user's electronic device is further configured to: receive the DOM request as a JavaScript request to enable the DVSS component to display the media content.
40. The system of claim 39, wherein the end user's electronic device is further configured to: receive the DOM request as a JavaScript request to decrypt the media content to enable the DVSS component to display the media content.
41. A method for displaying video content on a software platform comprising: streaming video content on the software platform for display to an end user wherein the software platform is configured on an end user's electronic device; executing by the end user's electronic device a middleware component to process the video content from a content source provider; managing access to the video content on the software platform of the end user's electronic device; managing a display of the video content that comprises media content from a data stream accessed by a CA interface using a media manager wherein the media manager abstracts an application based on at least one type of video codec selected by a codec manager from a plurality of video codec to display the media content from the data stream; and managing the display of the media content on the end user's software platform using a user interface that comprises a layout on the display that enables the middleware component to control by an end user's selection of a set of user interface controls the display of the media content.
42. The method of claim 41, further comprising: using a conditional access (CA) manager and the CA interface configured between the middleware component and the CA manager wherein the CA interface enables features initiated for CA controlled by the content source provider.
43. The method of claim 42, further comprising: receiving encoded media content from the content source provider at the software platform hosted by the end user's electronic device; and decoding the media content using the codec manager with a media interface and a network interface.
44. The method of claim 43, further comprising: configuring the middleware component with a plurality of interfaces for enabling communication between at least a graphics interface, a CA interface, a media interface, a system settings interface and a persistent storage interface wherein the plurality of interfaces and the middleware component are embedded within a Document Object Model (DOM) on the software platform operating on the end user's electronic device.
45. The method of claim 44, further comprising: executing by the end user's electronic device a middleware component comprising a dynamic video source selection (DVSS) component to process the video content from a content source provider wherein the DVSS component being configured with one or more of a PVR controller, an IGMP client, an RTSP client, and a DVB-T client.
46. The method of claim 45, wherein the video content comprises video on demand.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0078] An embodiment of the present invention will now be described, by way of example only, and with reference to the accompanying drawings, in which:
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0091] With reference to the above listed Figures,
[0092] The present invention removes the need for a traditional (i.e. physical) STB or television set, and provides a software-based emulation environment such that the signals can be received, processed and viewed on an alternative device, such as a computer, without loss or adaptation of service, presentation style or functionality.
[0093] This maintenance of viewing experience is illustrated in
[0094] Thus, the functional components of the invention (best illustrated in
[0095] As shown in
[0096] When considering WebTV services, operators are usually forced to transrate or transcode their existing content into a more PC friendly format such as Windows Media and Flash. This then requires the employment of alternative Conditional Access and Digital rights Management (DRM) strategies, and must finally re-design their whole UI/presentation layer to overcome the non-TV nature of their target device.
[0097] This leads, generally, to implementations where text flows around (not over) the video.
[0098] According to a first aspect of the invention, a computing device is configured and arranged such that an operating system (OS) is able to execute on said computer, and is connected to a network such that data may be received from external source(s) over the network and/or sent to external source(s) over the network.
[0099] In addition, it is preferred that the computing device is arranged and configured to include a plurality of hardware components such as those included in a typical personal/laptop computing system. Such hardware components may include, but not be limited to:
[0100] i) a monitor (screen) for displaying visual information and programming content;
[0101] ii) speakers for presenting sounds and audio content; and
[0102] iii) a hard drive for recording programming content and/or other data;
[0103]
[0104]
[0105] In a preferred embodiment, said interfaces may provide the following essential capabilities, although other interfaces may be included so as to extend the set of capabilities or, alternatively, some may not be required in alternative embodiments: [0106] 1) Graphics interface, providing the application within the emulated STB environment with a mechanism to inform the underlying graphical subsystem that something has changed and that it should now refresh itself; [0107] 2) MUX interface, which enables the application within the virtual STB environment to control the UI and video mixing capabilities (including chroma keying and alpha blending); [0108] 3) CA interface, which enables applications to initiate the registration of 3.sup.rd party conditional access subsystems and to interact with the features provided by those vendors; [0109] 4) Media interface, which enables applications executing within the emulated STB environment to control the request, decode and display of data streams. Said data streams could contain audio, video or data information. This interface abstracts the application from the underlying transport protocols and codecs required to display the content and simplifies them into a number of simple play commands. [0110] Fundamentally, this addresses the afore-mentioned need to relieve the viewer of the burden of deciding which underlying mechanism is required to receive the desired televisual content. The viewer is not, typically, concerned with selection between IGMP, RTSP, DVB-S/C/T or P2P. Thus, the media interface services requests from the DVSS component of the STB emulator, such that the viewer is able to simply select the content (s)he wishes to watch, the technical aspects of the optimal delivery mechanism being handled behind the scenes. In other words, this subsystem has the capability to make decisions based on the network environment on how best to source and deliver the requested content. Preferably, this abstraction is continued with respect to both container formats and media types, being able to seamlessly decode multiple formats such as MPEG-1, MPEG-2, MPEG-4, WMV, Flash etc. [0111] 5) Network Interface, needed to support the abstracted network delivery required by the Media Interface. This interface provides modules for supporting standard video delivery mechanisms: IGMP is provided to handle multicast IP based broadcast content, an intelligent RTSP proxy is provided to communicate in the appropriate RTSP dialect with RFC2326 based servers. HTTP and HTTPS interfaces are also provided for standard Web 2.0 based communications. [0112] 6) Event interface, which is the primary interface existing between the OS based interface drivers for keyboard, mouse and remote control devices to pass their inputs/actions on to the application within the emulated STB environment. [0113] 7) System Settings Interface, which are provided (primarily) to enable the operator to configure the virtual environment in accordance with his needs and without having to make changes to the STB emulation component itself. [0114] 8) Persistent Storage Interface, which provides a mechanism for the application executing within the emulated environment to store both content and content metadata on the local system to enable such features as PVR and off-line modes to be implemented. Additionally, this may facilitate the operation of some middleware products which require this feature to cache carousel delivered EPG metadata.
[0115] Turning to
[0121]
[0122] Turning to a preferred embodiment of the fourth aspect of the invention, a DVSS component is provided and is integrated with the emulation sub-components described above. The DVSS component implements the concept of dynamic video source selection, which is most clearly illustrated in
[0123] Preferably, the DVSS component further comprises sub-components such as (but not restricted to) a PVR controller, an IGMP client, a RTSP client and a DVB-T client. The DVSS component integrates with a controller which in turn is supported by an AV API contained within the afore-said Javascript API libraries. In a preferred embodiment, the DVSS component may also integrate with the decryption component.
[0124] In a typical embodiment, a management component is provided which enables a network operator to manage the system as if it were a router or a physical STB. This further comprises a TR-135 client which allows the management according to standards based TR-069 based management servers.
[0125] In a typical embodiment, a decryption component is provided, and forms an interface between said DVSS component and said player component. The role of this component is to receive signals from a dynamically selected source, decrypt said signals and pass them on to the player component for further processing and display.
[0126] In a typical embodiment, API libraries, implemented in a language such as Javascript, are provided and may include a display API (to provide connectivity with said player component), an AV API (to provide connectivity with a DVSS controller, which in turn integrates with said DVSS component) and an Event API (which provides support for requests made by the management component).
[0127] It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be capable of designing many alternative embodiments without departing from the scope of the invention as defined by the appended claims. In the claims, any reference signs placed in parentheses shall not be construed as limiting the claims. The word comprising and comprises, and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. In the present specification, comprises means includes or consists of and comprising means including or consisting of. The singular reference of an element does not exclude the plural reference of such elements and vice-versa. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.