VIRTUAL SET-TOP BOX

20240048806 ยท 2024-02-08

Assignee

Inventors

Cpc classification

International classification

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 streaming video media on an end user device, comprising: providing a plurality of management components to create a set-top box (STB) execution environment for a vendor application within the end user device, wherein: the vendor application is associated with a provider of streaming video media; and the plurality of management components comprises a conditional access (CA) component, a codec component, a decryption component, and a player component; providing, to the vendor application, a plurality of interfaces, wherein each interface is an interface to one of the plurality of management components; executing, by the end user device, the vendor application within the STB execution environment; managing access, via the CA component, to the streaming video media of the provider according to the vendor application via a CA interface of the plurality of interfaces; receiving a first streaming video media from the provider; decrypting, via the decryption component, the first streaming video media according to the vendor application via an encryption interface of the plurality of interfaces; decoding, via the codec component, the first streaming video media according to the vendor application via a codec interface of the plurality of interfaces; and presenting, by the end user device, the first streaming video media via the player component.

22. The method of claim 21, wherein the vendor application is a middleware.

23. The method of claim 21, wherein the vendor application is provided by the provider.

24. The method of claim 21, wherein the STB execution environment supports a plurality of vendor applications.

25. The method of claim 24, wherein the vendor application executed by the end user device is associated with the provider chosen by a viewer of the end user device.

26. The method of claim 24, wherein each vendor application is associated with one of a plurality of providers of streaming video media, and wherein each vendor application is provided by its associated provider.

27. The method of claim 21, wherein the vendor application executed by the end user device is associated with the provider chosen by a viewer of the end user device.

28. An end user device comprising a processor and a non-transitory data storage comprising computer readable instructions that, when executed by the processor, perform an automated process for streaming video media, comprising: providing, to a vendor application stored within the end user device, a plurality of interfaces, wherein each interface is a programming interface to one of a plurality of management components of the end user device, and wherein: the plurality of management components creates a set-top box (STB) execution environment for the vendor application; the plurality of management components comprises a conditional access (CA) component, a codec component, a decryption component, and a player component; and the vendor application is associated with a provider of streaming video media; executing, by the end user device, the vendor application within the STB execution environment; managing access, via the CA component, to the streaming video media of the provider according to the vendor application via a CA interface of the plurality of interfaces; receiving, by the end user device, a first streaming video media from the provider; decrypting, via the decryption component, the first streaming video media according to the vendor application via an encryption interface of the plurality of interfaces; decoding, via the codec component, the first streaming video media according to the vendor application via a codec interface of the plurality of interfaces; and presenting, by the end user device, the first streaming video media via the player component.

29. The end user device of claim 28, wherein the vendor application is a middleware.

30. The end user device of claim 28, wherein the vendor application is provided by the provider.

31. The end user device of claim 28, wherein the end user device supports a plurality of vendor applications.

32. The end user device of claim 31, wherein the vendor application executed by the end user device is associated with the provider chosen by a viewer of the end user device.

33. The end user device of claim 31, wherein each vendor application is associated with one of a plurality of providers of streaming video media, and wherein each vendor application is provided by its associated provider.

34. The end user device of claim 28, wherein the vendor application executed by the end user device is associated with the provider chosen by a viewer of the end user device.

35. An automated process to be performed by an end user device to stream video media, the automated process comprising: providing, by a set-top box (STB) execution environment operating on the end user device and to a vendor application stored within the end user device, a plurality of interfaces, wherein each interface is a programming interface to one of a plurality of management components of the end user device, and wherein: the plurality of management components comprises a conditional access (CA) component, a codec component, a decryption component, and a player component; and the vendor application is associated with a provider of streaming video media; executing, by the end user device, the vendor application; managing access, via the CA component, to the streaming video media of the provider according to the vendor application via a CA interface of the plurality of interfaces; receiving, by the end user device, a first streaming video media from the provider; decrypting, via the decryption component, the first streaming video media according to the vendor application via an encryption interface of the plurality of interfaces; decoding, via the codec component, the first streaming video media according to the vendor application via a codec interface of the plurality of interfaces; and presenting, by the end user device, the first streaming video media via the player component.

36. The automated process of claim 35, wherein the vendor application is a middleware.

37. The automated process of claim 35, wherein the vendor application is provided by the provider.

38. The automated process of claim 35, wherein the end user device supports a plurality of vendor applications.

39. The automated process of claim 38, wherein each vendor application is associated with one of a plurality of providers of streaming video media, and wherein the vendor application executed by the end user device is associated with the provider chosen by a viewer of the end user device.

40. The automated process of claim 35, wherein the vendor application executed by the end user device is associated with the provider chosen by a viewer of the end user device.

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] FIG. 1 shows a computer executing a 3.sup.rd party middleware running in conjunction with the present invention, despite the middleware having been designed for use with a traditional STB;

[0080] FIG. 2 shows the primary components of a preferred embodiment of the present invention, in particular a typical arrangement wherein the APIs provide the essential interfaces between the operating systems and the emulated environment;

[0081] FIG. 3 shows an embodiment wherein the system is arranged and configured for use with (API-based) category II middleware;

[0082] FIG. 4 shows an embodiment wherein the system is arranged and configured for use with (browser embedded) category I middleware;

[0083] FIG. 5 shows how the televisual presentation of the service is preserved regardless of the device used to present the content;

[0084] FIG. 6 shows the reduction in effort and expense required on behalf of the service provider when using the present invention;

[0085] FIG. 7 shows the architecture of a typical, traditional IPTV system which utilizes a physical STB;

[0086] FIG. 8 shows how the architecture of traditional IPTV and web TV systems duplicate each other's core functions, and also shows the different presentation styles when content is displayed for viewing on the different end devices (i.e. a television plus physical STB displaying IPTV content versus a computer displaying web TV content);

[0087] FIG. 9 shows how the present invention eliminates or minimizes the duplication of core functions while providing content to either a television plus STB or computer being used in conjunction with the present invention, and also maintaining the presentation style of the content for the viewer;

[0088] FIG. 10 shows the main components in accordance with a preferred embodiment of the present invention, and illustrates its ability to treat the video and UI layers independently until the point of display on the end device;

[0089] FIG. 11 shows a detailed scheme of one aspect of the present invention, specifically the DVSS subsystem for performing dynamic source selection;

[0090] FIG. 12 shows the core components of a system arranged in accordance with an embodiment of the present invention to deliver IPTV content to a device for display to a viewer.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0091] With reference to the above listed Figures, FIG. 7 shows how, in a traditional IPTV arrangement comprising a physical STB, content is delivered to a viewer's television set such that the presentation style of the content is the same as that experienced by the viewer when using a non-IPTV based delivery system. As FIG. 7 shows, signals are transmitted from the service provider over a network, and are forwarded by a router to the viewer's STB. The STB, which is connected to the viewer's television set, processes the signals such that the content can be displayed on the television screen in a style and format identical to that experienced in the more traditional television broadcasting paradigms.

[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 FIG. 1, which shows a laptop computer configured for use in accordance with the present invention, and illustrates how the invention has been architected to deliver a rich multi-media televisual experience akin to that traditionally associated with a physical STB and television set. The image shows the end result of how the 3.sup.rd party middleware has elected to render the user interface and video layers with respect to each other.

[0094] Thus, the functional components of the invention (best illustrated in FIG. 10), coupled with the core APIs (shown in FIGS. 3 and 4) allow the middleware to define the exact co-ordinates of each visual element in all 3 planes (X, Y and Z). The Z-plane also includes the ability to apply alpha blending techniques to vary the opacity of the User Interface (UI) layer with respect to the video layer.

[0095] As shown in FIG. 6, operators are typically forced to consider an almost complete duplication of their television infrastructure when they decide to target devices such as PCs with services. This is generally because the protocols and technologies associated with web TV delivery, as well as its navigational paradigms, differ from those of IPTV implementations. This is largely a result of technological limitations than choice.

[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. FIGS. 7, 8 and 9 emphasize the point by illustrating the result of each of the architectures on the services that can be delivered to the end user.

[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] FIG. 2 shows how, according to a first aspect of the invention, a plurality of interfaces are provided to enable communication between the OS and the (category I or II) middleware which is embedded within the emulated environment. Said interfaces act as conduits for communication between the OS and components of the emulated STB environment. As such, the interfaces provide the fundamental links between the 3 party middleware embedded within the emulated environment.

[0104] FIG. 3 shows how the core interfaces (APIs) connect directly to the APIs provided by the category II middleware according to a second aspect of the invention. FIG. 4 shows how the core interfaces (APIs) connect to the proprietary web browser provided according to a third aspect of the invention, the category I middleware being embedded within the DOM of said browser and connecting to the browser via a STB API emulation component.

[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 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.

[0111] 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. [0112] 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. [0113] 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. [0114] 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. [0115] 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.

[0116] Turning to FIG. 12, a preferred embodiment of the invention is shown, and illustrates in greater detail the STB emulation component of the invention. Said emulation component comprises further subcomponents including: [0117] i) A player component; it is preferred that the player component comprises one or more sub-components, such as a hardware abstraction layer, a video codec component, a DVB subtitle codec component, a PID filter, and an audio codec component. [0118] ii) API libraries; in a preferred embodiment, these are implemented in a language such as Javascript, 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). [0119] iii) An embedded web browser; it is preferred that the UI functionality is performed via the embedded web browser provided in accordance with the third aspect of the invention. The embedded Javascript APIs enable the browser to integrate with various other subcomponents of the emulator to control the user interface. For example, a Display API is preferably provided so as to handle requests made via the browser and requiring action by a sub-component of the player component; [0120] iv) A management component; this may further comprise subcomponents such as a scheduler, a log/statistics maintenance component, a license manager for handling the licensing of the emulation component, a TR-135 client that allows the device to be managed by standards based TR-069 management servers, and an Event Listener which interacts with an Event API provided within the Javascript API libraries. [0121] v) A decryption component which integrates with said DVSS component and said player component;

[0122] FIGS. 4 and 12 show a web browser embedded within a typical embodiment of the third aspect of the invention such that (when using category I middleware) UI functionality may be performed via the embedded proprietary browser. Preferably, the browser complies with the interfaces such that Category I middleware can be executed on the viewer's computer without modification. The STB API emulation component is inserted into the DOM of the browser (3) and accurately represents the interface corresponding to the STB which is being emulated. In a preferred embodiment, this API emulation component can be inserted dynamically and as such the browser is capable of emulating many standard IPTV STBs. The APIs themselves provide a mapping from the Javascript language directly to the underlying C APIs. The DOM object is also capable of registering callback events so that events occurring within the hardware environment can be reported back to the javascript application for auctioning.

[0123] 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 FIG. 11.

[0124] 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.

[0125] 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.

[0126] 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.

[0127] 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).

[0128] 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.