FIELD OF THE DISCLOSUREThe present disclosure relates generally to media services and more specifically to a system for presenting media services.
BACKGROUNDWhen remotely accessing media files such as music or video, the recipient of a media stream can encounter interoperability issues that can arise from media player dependencies. For example, the recipient may not be able to view and/or listen to the streamed media content because the user lacks a specific application (e.g., QuickTime™, Windows Media Player™, Real Player™, etc.) or has a misconfigured application.
A need therefore arises for a system for presenting media services.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 depicts an exemplary embodiment of a communication system;
FIGS. 2-3 depict exemplary embodiments of a portal of the communication system;
FIG. 4 depicts an exemplary method operating in portions of the communication system; and
FIG. 5 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed herein.
DETAILED DESCRIPTIONBroadly stated, embodiments in accordance with the present disclosure provide a system for presenting media services.
In one embodiment of the present disclosure, a computer-readable storage medium can have computer instructions for receiving a request from an Internet browser of a communication device to remotely navigate through one or more media files stored in a Set-Top Box (STB), establishing communications with the STB, presenting the one or more media files at the Internet browser, receiving from the Internet browser a selection of the one or more media files, directing the STB to transmit a media stream corresponding to the selected media file, receiving from the STB the media stream, and supplying to the Internet browser of the communication device an embedded media player for presenting the media stream.
In one embodiment of the present disclosure, a communication device can have a controller element to activate an Internet browser, submit by way of the Internet browser a request to a web server to navigate through one or more media files stored in an STB accessible by the web server, receive from the web server information associated with the one or more media files, present by way of the Internet browser said information, submit to the web server a selection associated with the one or more media files, receive a media stream from the web server associated with the selection, and present the media stream by way of a Graphical User Interface (GUI) of the Internet browser.
In one embodiment of the present disclosure, a computer-readable storage medium associated with an Internet browser can have computer instructions for submitting a request to a web server to navigate through one or more media files stored in an STB accessible by the web server, presenting information associated with the one or more media files received from the web server, submitting to the web server a selection associated with the one or more media files, receiving a media stream from the web server associated with the selected media file, and presenting the media stream by way of a GUI.
In one embodiment of the present disclosure, an STB can have a controller element to transmit a media stream to a web server that presents an embedded media player at a GUI of an Internet browser for presenting the streamed media.
In one embodiment of the present disclosure, a gateway can have a controller element to establish communications between a web server and an STB, wherein the established communications enable the STB to transmit a media stream to the web server which in turn presents an embedded media player at a GUI of an Internet browser for presenting the streamed media.
FIG. 1 depicts an exemplary embodiment of acommunication system100. Thecommunication system100 can represent an IPTV broadcast media system. In a typical IPTV infrastructure, there is at least one super head office server (SHS) which receives national media programs from satellite and/or media servers from service providers of multimedia broadcast channels. The SHS server forwards IP packets associated with the media content to video head servers (VHS) via a network of video head offices (VHO) according to a common multicast communication method.
The VHS then distributes multimedia broadcast programs to commercial and/orresidential buildings102 housing a gateway104 (e.g., a residential gateway or RG). Thegateway104 distributes broadcast signals tomedia receivers106 such as Set-Top Boxes (STBs) which in turn present broadcast selections tomedia devices108 such as computers or television units managed in some instances by a media controller107 (e.g., an infrared or RF remote control). Unicast traffic can also be exchanged between themedia receivers106 and subsystems of the IPTV media system for services such as video-on-demand (VoD).
The IPTV media system can be coupled to one ormore computing devices130 that can operate as a web server for providing portal services over an Internet Service Provider (ISP)network132 to fixedmedia devices108 orportable communication devices116 by way of awireless base station117 such as in a cellular communication network operating with common protocols (GSM, CDMA, etc.).
A satellite broadcast system can be used in place of the IPTV media system. In this embodiment, signals transmitted by asatellite115 can be intercepted by asatellite dish receiver131 coupled to building102 which conveys media signals to themedia receivers106. Themedia receivers106 can be equipped with a broadband port to theISP network132. Although not shown, thecommunication system100 can also be combined or replaced with analog or digital broadcast distributions systems such as cable systems. It would be apparent therefore to one of ordinary skill in the art that the present disclosure can be applied to any broadcast media system.
FIGS. 2-3 depict exemplary embodiments of aportal230 of thecommunication system100. InFIG. 2, theportal230 can be accessed by a URL with a common browser such as Microsoft's Internet Explorer. Theportal230 can be configured to access amedia receiver106 such as the STB ofFIG. 1 and services managed thereby such as a Digital Video Recorder (DVR), an Electronic Programming Guide (EPG), Video on Demand (VoD) catalog, a personal catalog stored in the STB (e.g., personal videos, pictures, audio recordings, etc.), and so on by way of thegateway104.FIG. 3 also depicts an embeddedmedia player302 presented by the computing device130 (or web server) of thecommunication system100.
The embeddedmedia player302 can utilize common technology for presenting streamed media supplied by themedia receiver106. The streamed media can be audio only, video only, and combinations thereof that can be managed by GUI elements that control the operation of the embeddedmedia player302. A control interface of the embeddedmedia player302 can include for example a play button, a rewind or fast rewind button, a forward or fast forward button, a stop button, a pause button, and a volume control. Thepersonal catalog306 referred to earlier is illustrated inFIG. 3 as a GUI window of theInternet browser301. The media files presented in this window can be selected by common means provided by common Internet browsers (e.g., mouse pointer with a selection button). The media files can include audio, video, or still image files. Moreover, the media files can be organized in albums, play lists or other suitable formats.
FIG. 4 depicts anexemplary method400 operating in portions of thecommunication system100.Method400 begins withstep402 in which aportable communication device116 roaming thecommunication system100 ofFIG. 1 (e.g., a cell phone or lap top) logs into abroadcast media portal230 via anInternet browser301. Thecomputing devices130 operate as a web server of the broadcast media portal which serve a multiplicity of subscribers of the IPTV, satellite, and/or cable system depicted byFIG. 1. The portable230 can be accessed by common means (e.g., URL) and a subscriber account can be identified by a user's login information (e.g., username and password).
Once a subscriber has logged in, theportal230 can be programmed to detect in step404 a request from theInternet browser301 to navigate one or more media files stored in the media receiver106 (e.g., STB) associated with the subscriber. The request can arise from a selection of a GUI element in the portal230 (e.g., a hypertext link or icon associated with the STB). In response to said request, theportal230 can be programmed instep406 to establish communications with the STB by way of thegateway104 using a unicast channel of the IPTV network, or theISP network132. In this step, theportal230 can supply authentication information to thegateway104 to provide secure access to the STB106. Instep408, theInternet browser301 receives HTML information from theportal230 for presenting the media files stored in the STB as shown by way of example by thepersonal catalog306 ofFIG. 3. Theportal230 can receive from theInternet browser301 in step410 a selection from the one or more media files stored in the STB. The selection can be the result of a subscriber pointing a mouse arrow at a particular media file and “double clicking” it to indicate a request for presentation of the selected media file.
Instep412, theportal230 directs the STB to transmit a media stream associated with the selected media file responsive to the selected media file corresponding to an audio and/or video media file. Concurrently or subsequent tostep412, theportal230 instep414 presents at theInternet browser301 the embeddedmedia player302. Instep416 theportal230 receives from the STB metadata (if available) of the media file and the media stream associated therewith. The presentation can take place by way of a graphical user interface (GUI) window of theInternet browser301 that can include among other things a video or still image presentation with text derived from the metadata (e.g., name of video, song, genre, actor names, media duration, media file date, etc.).
Theportal230 can be programmed instep420 to modify instep422 the operation of themedia player302 when detecting a selection associated with the GUI control elements (e.g., play, pause, fast forward, volume control, etc.). By selecting the play button of the embeddedmedia player302 theportal230 begins to transmit the media stream to the embedded media player for presentation. Selecting the pause button ceases presentation of the streamed media, fast forward skips portions of the media program, and so on.
The embeddedmedia player302 of theportal230 provides subscribers of the communication system100 a desirable means to present media files stored in an STB106. Inparticular method300 illustrates a means to remotely present media files of theSTB106 in a manner that substantially overcomes interoperability issues encountered by prior art systems that depend on media player applications and proper settings thereof.
Upon reviewing the aforementioned embodiments, it would be evident to an artisan with ordinary skill in the art that said embodiments can be modified, reduced, or enhanced without departing from the scope and spirit of the claims described below. For example, the media stream supplied by the STB can be buffered by theportal230 in which case the embeddedmedia player302 can be presented in an initial state requiring the subscriber to hit the play button to start playing the media file. Alternatively, theportal230 can redirect the media stream to the embeddedmedia player302 initially and start playing the media stream the moment it arrives from the STB106. In this latter embodiment, buffering of the media stream can be performed by the portal230 responsive to a pause or other control signal generated by the embeddedmedia player302 based on a selection made by the subscriber (e.g., rewind, forward, etc.).
Additionally, the portal230 can be programmed to apply common transcoding techniques to the streamed media to adapt it to the operational capabilities of theportable communication device116. This can include adapting the Quality of Service (QoS) of the streamed media, display sizing, resolution, and so on.Method400 can also be modified so that instead of the STB streaming a media file to the portal230, the media file is retrieved by the portal from the STB and processing resources of the portal are used to stream the media file to thecommunication device116.
These are but a few examples of modifications that can be applied to the present disclosure without departing from the scope of the claims. Accordingly, the reader is directed to the claims section for a fuller understanding of the breadth and scope of the present disclosure.
FIG. 5 depicts an exemplary diagrammatic representation of a machine in the form of a computer system500 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed above. In some embodiments, the machine operates as a standalone device. In some embodiments, the machine may be connected (e.g., using a network) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a device of the present disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The computer system500 may include a processor502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), amain memory504 and astatic memory506, which communicate with each other via abus508. The computer system500 may further include a video display unit510 (e.g., a liquid crystal display (LCD), a flat panel, a solid state display, or a cathode ray tube (CRT)). The computer system500 may include an input device512 (e.g., a keyboard), a cursor control device514 (e.g., a mouse), adisk drive unit516, a signal generation device518 (e.g., a speaker or remote control) and anetwork interface device520.
Thedisk drive unit516 may include a machine-readable medium522 on which is stored one or more sets of instructions (e.g., software524) embodying any one or more of the methodologies or functions described herein, including those methods illustrated above. Theinstructions524 may also reside, completely or at least partially, within themain memory504, thestatic memory506, and/or within theprocessor502 during execution thereof by the computer system500. Themain memory504 and theprocessor502 also may constitute machine-readable media.
Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.
In accordance with various embodiments of the present disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
The present disclosure contemplates a machine readablemedium containing instructions524, or that which receives and executesinstructions524 from a propagated signal so that a device connected to anetwork environment526 can send or receive voice, video or data, and to communicate over thenetwork526 using theinstructions524. Theinstructions524 may further be transmitted or received over anetwork526 via thenetwork interface device520.
While the machine-readable medium522 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.
The term “machine-readable medium” shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; magneto-optical or optical medium such as a disk or tape; and carrier wave signals such as a signal embodying computer instructions in a transmission medium; and/or a digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a machine-readable medium or a distribution medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.
Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.
The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are also merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.