Recent technological innovations have led to an explosion in usage of consumer electronics, and in particular, portable user devices. It is not unusual for one user to store media content on a myriad of devices (from portable video devices and cell phones to handheld computers and set-top boxes). A problem arises when a user's devices have different sets of requirements and restrictions regarding the type and format of media content that may be delivered to or from a given device. Therefore, sharing media content between a variety of devices can quickly become unwieldy. Another problem arises because consumer electronics, such as portable devices, are prone to failure or loss, which may lead to loss of important, expensive, and sometimes irrecoverable, media content.
This invention is generally directed to systems and methods for providing access to media content, and in particular, to providing mirroring and transcoding of media content. Among other things, the present invention advantageously allows users to mirror media content stored on a source device onto a remote server and then remotely access the mirrored copy of the media content using other devices owned by the user or otherwise authorized to access the mirrored copy of the media content. For example, in a typical usage scenario, a user may record TV shows or movies using a digital video recorder (DVR) in the user's home network, mirror the recording onto a remote server, and then access the recording from the remote server using, for example, a portable video player (such as a portable television) in a transcoded format of the recording this is appropriate for the portable device without additional external hardware.
In some embodiments, the present invention advantageously provides an easy and automatic backup of media content stored on a source device so that, in case of failure or loss of the source device, the media content may be recovered from the mirrored copy. In addition to providing an additional copy of the media content for data recovery purposes, the mirrored copy may also be leveraged, in some embodiments, to provide access of the media content to other devices which would otherwise rely on the source device for access to the media content. By so doing, the source device is relieved of the burden of servicing remote access requests, and in particular, of the burden of transcoding media content to meet the various device format and specification requirements of the requesting devices. Furthermore, because other devices used by the user may not rely directly on the source device for access to media content stored on the source device, loss or failure of the source device does not preclude other devices from accessing the media content. Unlike known device-based transcoding or backup systems, the present invention does not require the user to acquire additional external devices which may add significantly to system costs, or to acquire knowledge of complex processes to set up various devices to communicate effectively. In some embodiments, the network-based approach of the present invention may also advantageously enable service enhancements such as support for new and future coding formats that may be severely limited in device-based systems.
As used herein, “transcoding” refers to manipulating digitally compressed and coded data (for example video information) in order to convert it from one format (or specification) to another. Where the original, uncompressed source material (rather than a digitally compressed version of the source material) is available to the transcoder, “transcoding,” as used herein, may also refer to encoding the original, uncompressed format of the source material into a new analog or digital format of the source material. As used herein, “media content” refers to any form of electronic information, and may be in analog or digital format. Media content may include, but is not limited to, video content (e.g., TV shows, movies, video advertisement, video recording, etc.), audio content (e.g. music, voice messages, audio lectures, other audio recordings, etc.), images, text (e.g., reports, presentations, letters, forms, etc.), multi-media content (e.g., text, audio, graphics, animation, video, other interactive media, etc.), and any suitable combination thereof. As used herein, “mirroring” refers to the direct or indirect copying of a data set, and may typically include subsequent updates to the mirrored copy in order to keep the mirror up-to-date with the original data set. Mirroring may be “live,” in which case the mirror copy is automatically updated in response to an update to the original data se. However, in some embodiments, mirroring may be performed according to a predetermined schedule. The data set mirrored may correspond to an entire storage drive or disk on a user device, or a subset of the data set on the storage drive.
In one aspect of the invention, media content stored on one user equipment device (referred to herein as the “source device”) is mirrored on a remote server coupled to the user equipment device over a network. The user may mirror media content from multiple user devices associated with the user. In some embodiments, the user may designate one or more storage drives on the source device to be mirrored on the remote server. Alternatively, the user may designate a subset of the media content on one or more storage drives on the source device, and the remote server will mirror only the designated subset. For example, the user may choose to mirror only specific file types (e.g., MPEG, MP3, Windows Media, etc.). The user may also restrict access to the mirrored copies to authorized users, to authorized devices, or to authorized users using authorized requesting devices.
Media content mirrored on the remote server may be provided to other user devices in the original media content format or in a transcoded media content format. In some embodiments, the mirrored copy of the media content may be provided by the remote server to other devices in response to a request to access the media content received from the device. In some embodiments, the mirrored copy of the media content may be automatically provided to other user devices. As used herein, a “requesting device” is any device that receives a mirrored copy of the media content in an original or transcoded format regardless of whether or not the device transmitted a request for the media content. In some embodiments, in response to a user input received by a requesting device to access the media content, the remote server transcodes the mirrored copy of the media content into a second media content format that is appropriate for the requesting device and provides the mirrored, transcoded copy of the media content to the requesting device. In some embodiments, the remote server may select a media content format that is appropriate for the requesting device from a plurality of media content formats based on the capabilities of the requesting device. Capabilities of a requesting device that may affect the media content format selected by the remote server may include, but are not limited to, the storage, display, and bandwidth capabilities of the requesting device. In some embodiments, the remote server may transcode the mirrored copy of the media content into the second media content format prior to receiving the user request from the requesting device.
In some embodiments, the mirrored copy of the media content may be automatically provided to all user equipment devices designated by the user to receive such automatic updates in a appropriate media content format for each designated device. For example, a user may designate a personal computer (PC) to receive a mirrored copy of all media content mirrored from the user's portable digital assistant (PDA). In some embodiments, mirrored content from these particular source devices may be provided to the designated user device or devices based, for example, on a user-determined schedule. Thus, in addition to providing a backup solution for media content on all the user's devices, in some embodiments, the present invention may also serve to synchronize media content across various user equipment devices without requiring external transcoding hardware, regardless of the physical proximity of devices to each other. In this manner, the user may be provided with immediate and automatic access to all of the user's media content from any of the devices owned or authorized by the user.
In some embodiments, media content provided by the remote server may be played by the remote server on the requesting device. In these embodiments, the remote server may maintain a pointer to the media content stream, and adjust the pointer in response to activation of various playback controls provided on the requesting device. In some embodiments, the user may be provided with VCR-like features such as, for example, the ability to play, stop, rewind, fast-forward, and pause the media content. A user input to activate any of the VCR-like controls may be received by the requesting device and transmitted from the requesting device to the remote server. Upon receiving the user input to activate the control from the requesting device, the remote server may adjust the pointer position in accordance with the activated control. For example, in response to a user input to fast-forward the media content, the remote server may advance the pointer to skip a portion of the streaming media content that corresponds to the fast-forwarded section. In some embodiments, the media content may be provided to the requesting device to be played by a media player that is resident on the requesting device. In these embodiments, the requested media content may be received by the requesting device along with appropriate metadata (e.g., subtitles) for playing the received media content.
In some embodiments, transcoding of the media content may occur in real-time, in concurrence with playing the media content on the requesting device. For example, where appropriate, the remote server may first transcode and provide to the requesting device a portion of the media content corresponding to the beginning of the media content. The remote server may subsequently transcode and provide the remainder of the media content while the already provided portion is played on the requesting device. By so doing, the media content can be accessed quickly and readily with only minimal, if any, delay. In some embodiments, (e.g., where the particular media content is frequently requested by the same requesting device or several requesting devices in the same format), the mirrored copy of the media content may be transcoded into that format and cached on the remote server for servicing future requests.
In some embodiments, multiple remote servers may be used to mirror, transcode, and provide the media content to user equipment devices. For example, a remote mirroring server may store mirrored copies of media content, and a remote transcoding server, that is separate from the remote mirroring server, may service requests from requesting devices or provide automatic updates to designated devices. In these embodiments, the remote transcoding server may, for example, provide the mirrored, transcoded copies of the media content to requesting devices using mirrored copies of the media content obtained from the remote mirroring server. The remote transcoding server may obtain a mirrored copy of the media content in response to an access request, and/or in anticipation of future requests. For example, the remote transcoding server may obtain and pre-transcode media content based on the frequency of access of requests for the media content, or based on some other mechanism for predicting access such as, for example, repeated past access requests during a particular time of day. In some embodiments, mirroring and transcoding may be performed, respectively, by first and second applications resident on the same remote server.
The mirrored copy of the media content may also be provided to other devices without transcoding. For example, media content mirrored from a set-top box that is later replaced due, for example, to device failure may be provided to the replacement set-top box without transcoding, if the mirrored copy of the media content is already in a media content format that is supported by the replacement set-top box. Similarly, a user may recover media content from, a lost cellular telephone by accessing a mirrored copy of the media content using a replacement cellular telephone without transcoding.
In addition to providing the mirrored copy of the media content in a transcoded or original format to other user equipment devices, the remote server may also provide the mirrored copy of the media content to the source device. In some embodiments, the remote server may provide the mirrored copy of the media content to the source device to restore the original if, for any reason (including accidental loss of the media content), the source device no longer stores the original media content. For example, the remote server may restore the media content on the source device from the mirrored copy in response to a user request received by the source device to access the lost media content. In some embodiments, to ensure efficient use of network and server resources, the remote server may not service requests to access the media content received by the source device if the source device still maintains a copy of the requested media content. In such cases, the source device may service user requests to access the media content from the local copy.
The source device and the requesting device may each be any suitable user equipment device that is capable of remote communication with a server in a client-server configuration. In some embodiments, the source device or the requesting device (or both) may be a mobile user device such as, for example, a cellular telephone, a laptop computer, a personal digital assistant, a handheld computer, a portable television system, an automobile television system, a portable media player, or any combination of these devices. In some embodiments, the source device or the requesting device (or both) may be installed or standard equipment such as, for example, a personal computer, a set-top box, a digital video recorder, an optical disc recorder, a digital camera, a home telephone, a laptop computer, a media player, other installed equipment, or any combination of these devices. In some embodiments, the source device or the requesting device (or both) may access the media content using an interactive media guidance application.
The above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
The amount of media available to users in any given media delivery system can be substantial. Consequently, many users desire a form of media guidance through an interface that allows users to efficiently navigate media selections and easily identify media that they may desire. An application which provides such guidance is referred to herein as an interactive media guidance application or, sometimes, a media guidance application or a guidance application.
Interactive media guidance applications may take various forms depending on the media for which they provide guidance. One typical type of media guidance application is an interactive television program guide. Interactive television program guides (sometimes referred to as electronic program guides) are well-known guidance applications that, among other things, allow users to navigate among and locate many types of media content including conventional television programming (provided via traditional broadcast, cable, satellite, Internet, or other means), as well as pay-per-view programs, on-demand programs (as in video-on-demand (VOD) systems), Internet content (e.g., streaming media, downloadable media, Webcasts, etc.), and other types of media or video content. Guidance applications also allow users to navigate among and locate content related to the video content including, for example, video clips, articles, advertisements, chat sessions, games, etc.
With the advent of the Internet, mobile computing, and high-speed wireless networks, users are increasingly accessing media on personal computers (PCs) and other devices on which they traditionally did not, such as hand-held computers, personal digital assistants (PDAs), mobile telephones, automobile television systems, mobile televisions, or other mobile devices. On these devices, users increasingly want to navigate among and locate desirable video clips, full motion videos (which may include television programs), images, music files, and other suitable media. Consequently, media guidance is also necessary on these devices, as well. For example, media guidance applications may be provided for media content available only through a television, for media content available only through one or more of these devices, or for media content available both through a television and one or more of these devices. The media guidance applications may be provided as on-line applications (i.e., provided on a web-site), or as stand-alone applications or clients on hand-held computers, PDAs, mobile telephones, or other mobile devices such as, for example, traditionally passive devices that have been enhanced with circuitry for operating media guidance applications (e.g., wrist watches, telephone hand sets, appliances (including kitchen or bathroom appliances), etc.). In some systems, users may control equipment remotely via a media guidance application. For example, users may access an online media guide and set recordings or other settings on their in home equipment. This may be accomplished by the on-line guide controlling the user's equipment directly or via another media guide that runs on the user's equipment. Remote access of interactive media guidance applications is discussed in greater detail in U.S. patent application Ser. No. 11/246,392, filed Oct. 7, 2005, the disclosure of which is hereby incorporated by reference herein in its entirety.
One of the functions of the media guidance application is to provide media listings and media information to users.
In addition to providing access to linear programming provided according to a schedule, the media guidance application also provides access to non-linear programming which is not provided according to a schedule. Non-linear programming may include content from different media sources including on-demand media content (e.g., VOD), Internet content (e.g., streaming media, downloadable media, etc.), locally stored media content (e.g., video content stored on a digital video recorder (DVR), digital video disc (DVD), video cassette, compact disc (CD), etc.), or other time-insensitive media content. On-demand content may include both movies and original media content provided by a particular media provider (e.g., HBO On Demand providing “The Sopranos” and “Curb Your Enthusiasm”). HBO ON DEMAND is a service mark owned by Time Warner Company L. P. et al. and THE SOPRANOS and CURB YOUR ENTHUSIASM are trademarks owned by the Home Box Office, Inc. Internet content may include web events, such as a chat session or Webcast, or content available on-demand as streaming media or downloadable media through an Internet web site or other Internet access (e.g. FTP).
Grid 102 may provide listings for non-linear programming including on-demand listing 114, recorded media listing 116, and Internet content listing 118. A display combining listings for content from different types of media sources is sometimes referred to as a “mixed-media” display. The various permutations of the types of listings that may be displayed that are different than display 100 may be based on user selection or guidance application definition (e.g., a display of only recorded and broadcast listings, only on-demand and broadcast listings, etc.). As illustrated, listings 114, 116, and 118 are shown as spanning the entire time block displayed in grid 102 to indicate that selection of these listings may provide access to a display dedicated to on-demand listings, recorded listings, or Internet listings, respectively. In other embodiments, listings for these media types may be included directly in grid 102. Additional listings may be displayed in response to the user selecting one of the navigational icons 120. (Pressing an arrow key on a user input device may affect the display in a similar manner as selecting navigational icons 120.)
Display 100 may also include video region 122, advertisement 124, and options region 126. Video region 122 may allow the user to view and/or preview programs that are currently available, will be available, or were available to the user. The content of video region 122 may correspond to, or be independent from, one of the listings displayed in grid 102. Grid displays including a video region are sometimes referred to as picture-in-guide (PIG) displays. PIG displays and their functionalities are described in greater detail in Satterfield et al. U.S. Pat. No. 6,564,378, issued May 13, 2003 and Yuen et al. U.S. Pat. No. 6,239,794, issued May 29, 2001, which are hereby incorporated by reference herein in their entireties. PIG displays may be included in other media guidance application display screens of the present invention.
Advertisement 124 may provide an advertisement for media content that, depending on a viewer's access rights (e.g., for subscription programming), is currently available for viewing, will be available for viewing in the future, or may never become available for viewing, and may correspond to or be unrelated to one or more of the media listings in grid 102. Advertisement 124 may also be for products or services related or unrelated to the media content displayed in grid 102. Advertisement 124 may be selectable and provide further information about media content, provide information about a product or a service, enable purchasing of media content, a product, or a service, provide media content relating to the advertisement, etc. Advertisement 124 may be targeted based on a user's profile/preferences, monitored user activity, the type of display provided, or on other suitable targeted advertisement bases.
While advertisement 124 is shown as rectangular or banner shaped, advertisements may be provided in any suitable size, shape, and location in a guidance application display. For example, advertisement 124 may be provided as a rectangular shape that is horizontally adjacent to grid 102. This is sometimes referred to as a panel advertisement. In addition, advertisements may be overlaid over media content or a guidance application display or embedded within a display. Advertisements may also include text, images, rotating images, video clips, or other types of media content. Advertisements may be stored in the user equipment with the guidance application, in a database connected to the user equipment, in a remote location (including streaming media servers), or on other storage means or a combination of these locations. Providing advertisements in a media guidance application is discussed in greater detail in, for example, Knudson et al., U.S. patent application Ser. No. 10/347,673, filed Jan. 17, 2003, Ward, III et al. U.S. Pat. No. 6,756,997, issued Jun. 29, 2004, and Schein et al. U.S. Pat. No. 6,388,714, issued May 14, 2002, which are hereby incorporated by reference herein in their entireties. It will be appreciated that advertisements may be included in other media guidance application display screens of the present invention.
Options region 126 may allow the user to access different types of media content, media guidance application displays, and/or media guidance application features. Options region 126 may be part of display 100 (and other display screens of the present invention), or may be invoked by a user by selecting an on-screen option or pressing a dedicated or assignable button on a user input device. The selectable options within options region 126 may concern features related to program listings in grid 102 or may include options available from a main menu display. Features related to program listings may include searching for other air times or ways of receiving a program, recording a program, enabling series recording of a program, setting program and/or channel as a favorite, purchasing a program, or other features. Options available from a main menu display may include search options, VOD options, parental control options, access to various types of listing displays, subscribe to a premium service, edit a user's profile, access a browse overlay, or other options.
The media guidance application may be personalized based on a user's preferences. A personalized media guidance application allows a user to customize displays and features to create a personalized “experience” with the media guidance application. This personalized experience may be created by allowing a user to input these customizations and/or by the media guidance application monitoring user activity to determine various user preferences. Users may access their personalized guidance application by logging in or otherwise identifying themselves to the guidance application. Customization of the media guidance application may be made in accordance with a user profile. The customizations may include varying presentation schemes (e.g., color scheme of displays, font size of text, etc.), aspects of media content listings displayed (e.g., only HDTV programming, user-specified broadcast channels based on favorite channel selections, re-ordering the display of channels, recommended media content, etc.), desired recording features (e.g., recording or series recordings for particular users, recording quality, etc.), parental control settings, and other desired customizations.
The media guidance application may allow a user to provide user profile information or may automatically compile user profile information. The media guidance application may, for example, monitor the media the user accesses and/or other interactions the user may have with the guidance application. Additionally, the media guidance application may obtain all or part of other user profiles that are related to a particular user (e.g., from other web sites on the Internet the user accesses, such as www.tvguide.com, from other media guidance applications the user accesses, from other interactive applications the user accesses, from a handheld device of the user, etc.), and/or obtain information about the user from other sources that the media guidance application may access. As a result, a user can be provided with a unified guidance application experience across the user's different devices. This type of user experience is described in greater detail below in connection with
Another display arrangement for providing media guidance is shown in
Unlike the listings from
The listings in display 200 are of different sizes (i.e., listing 206 is larger than listings 208, 210, and 212), but if desired, all the listings may be the same size. Listings may be of different sizes or graphically accentuated to indicate degrees of interest to the user or to emphasize certain content, as desired by the media provider or based on user preferences. Various systems and methods for graphically accentuating media listings are discussed in, for example, Yates, U.S. patent application Ser. No. 11/324,202, filed Dec. 29, 2005, which is hereby incorporated by reference herein in its entirety.
Users may access media content and the media guidance application (and its display screens described above and below) from one or more of their user equipment devices.
Control circuitry 304 may be based on any suitable processing circuitry 306 such as processing circuitry based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, etc. In some embodiments, control circuitry 304 executes instructions for a media guidance application stored in memory (i.e., storage 308). In client-server based embodiments, control circuitry 304 may include communications circuitry suitable for communicating with a guidance application server or other networks or servers. Communications circuitry may include a cable modem, an integrated services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, or a wireless modem for communications with other equipment. Such communications may involve the Internet or any other suitable communications networks or paths (which is described in more detail in connection with
Memory (e.g., random-access memory, read-only memory, or any other suitable memory), hard drives, optical drives, or any other suitable fixed or removable storage devices (e.g., DVD recorder, CD recorder, video cassette recorder, or other suitable recording device) may be provided as storage 308 that is part of control circuitry 304. Storage 308 may include one or more of the above types of storage devices. For example, user equipment device 300 may include a hard drive for a DVR (sometimes called a personal video recorder, or PVR) and a DVD recorder as a secondary storage device. Storage 308 may be used to store various types of media described herein and guidance application data, including program information, guidance application settings, user preferences or profile information, or other data used in operating the guidance application. Nonvolatile memory may also be used (e.g., to launch a boot-up routine and other instructions).
Control circuitry 304 may include video generating circuitry and tuning circuitry, such as one or more analog tuners, one or more MPEG-2 decoders or other digital decoding circuitry, high-definition tuners, or any other suitable tuning or video circuits or combinations of such circuits. Encoding circuitry (e.g., for converting over-the-air, analog, or digital signals to MPEG signals for storage) may also be provided. Control circuitry 304 may also include scaler circuitry for upconverting and downconverting media into the preferred output format of the user equipment 300. Circuitry 304 may also include digital-to-analog converter circuitry and analog-to-digital converter circuitry for converting between digital and analog signals. The tuning and encoding circuitry may be used by the user equipment to receive and to display, to play, or to record media content. The tuning and encoding circuitry may also be used to receive guidance data. The circuitry described herein, including for example, the tuning, video generating, encoding, decoding, scaler, and analog/digital circuitry, may be implemented using software running on one or more general purpose or specialized processors. Multiple tuners may be provided to handle simultaneous tuning functions (e.g., watch and record functions, picture-in-picture (PIP) functions, multiple-tuner recording, etc.). If storage 308 is provided as a separate device from user equipment 300, the tuning and encoding circuitry (including multiple tuners) may be associated with storage 308.
A user may control the control circuitry 304 using user input interface 310. User input interface 310 may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touch pad, stylus input, joystick, voice recognition interface, or other user input interfaces. Display 312 may be provided as a stand-alone device or integrated with other elements of user equipment device 300. Display 312 may be one or more of a monitor, a television, a liquid crystal display (LCD) for a mobile device, or any other suitable equipment for displaying visual images. In some embodiments, display 312 may be HDTV-capable. Speakers 314 may be provided as integrated with other elements of user equipment device 300 or may be stand-alone units. The audio component of videos and other media content displayed on display 312 may be played through speakers 314. In some embodiments, the audio may be distributed to a receiver (not shown), which processes and outputs the audio via speakers 314.
User equipment device 300 of
System 400 shown in
User television equipment 402 in system 400 may include a set-top box, an integrated receiver decoder (IRD) for handling satellite television, a television set, a digital storage device, a DVD recorder, a video-cassette recorder (VCR), a digital video recorder, a local media server, or other user television equipment. One or more of these devices may be integrated in a single device if desired. User computer equipment 404 may include a PC, a laptop, a tablet, a WebTV box, a personal computer television (PC/TV), a PC media server, a PC media center, or other user computer equipment. WEBTV is a trademark owned by Microsoft Corp. Wireless user communications device 406 may include PDAs, a mobile telephone, a portable video player, a portable music player, a portable gaming machine, an automobile television system, an enhanced passive device, or other wireless devices.
It should be understood that with the advent of television tuner cards for PC's, WebTV, and the integration of video into other user equipment devices, the lines have become blurred when trying to classify a device as one of the above devices. In fact, each of user television equipment 402, user computer equipment 404, and wireless user communications device 406 may utilize at least some of the system features described in
The user equipment devices may be coupled to communications network 414. Namely, user television equipment 402, user computer equipment 404, and wireless user communications device 406 are coupled to communications network 414 via communications paths 408, 410, and 412, respectively. Communications network 414 may be one or more networks including the Internet, a mobile telephone network, mobile device (e.g., Blackberry) network, cable network, public switched telephone network, or other types of communications networks or combinations of communications networks. BLACKBERRY is a service mark owned by Research In Motion Limited Corp. Paths 408, 410, and 412 may separately or together include one or more communications paths, such as, a satellite path, a fiber-optic path, a cable path, a path that supports Internet communications (e.g., IPTV), free-space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communications path or combination of such paths. Path 412 is drawn with dotted lines to indicate that in the exemplary embodiment shown in
Although communications paths are not drawn between user equipment devices, these devices may communicate directly or indirectly with each other via communication paths, such as those described above in connection with paths 408, 410, and 412, as well other short-range point-to-point communication paths, such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or other short-range communication via wired or wireless paths. BLUETOOTH is a certification mark owned by Bluetooth SIG, INC. The user equipment devices may also communicate with each other directly through an indirect path via communications network 414.
System 400 includes media content source 416 and media guidance data source 418 coupled to communications network 414 via communication paths 420 and 422, respectively. Paths 420 and 422 may include any of the communication paths described above in connection with paths 408, 410, and 412. Communications with media content source 416 and media guidance data source 418 may be exchanged over one or more communications paths, but are shown as a single path in
If desired, media content source 416 and media guidance data source 418 may be integrated as one source device. Although communications between sources 416 and 418 with user equipment devices 402, 404, and 406 are shown as through communications network 414, in some embodiments, sources 416 and 418 may communicate directly with user equipment devices 402, 404, and 406 via communication paths (not shown) such as those described above in connection with paths 408, 410, and 412.
Media content source 416 may include one or more types of media distribution equipment including a television distribution facility, cable system headend, satellite distribution facility, programming sources (e.g., television broadcasters, such as NBC, ABC, HBO, etc.), intermediate distribution facilities and/or servers, Internet providers, on-demand media servers, and other media content providers. NBC is a trademark owned by the National Broadcasting Company, Inc., ABC is a trademark owned by the ABC, INC., and HBO is a trademark owned by the Home Box Office, Inc. Media content source 416 may be the originator of media content (e.g., a television broadcaster, a Webcast provider, etc.) or may not be the originator of media content (e.g., an on-demand media content provider, an Internet provider of video content of broadcast programs for downloading, etc.). Media content source 416 may include cable sources, satellite providers, on-demand providers, Internet providers, or other providers of media content. Media content source 416 may also include a remote media server used to store different types of media content (including video content selected by a user), in a location remote from any of the user equipment devices.
Media guidance data source 418 may provide media guidance data, such as media listings, media-related information (e.g., broadcast times, broadcast channels, media titles, media descriptions, ratings information (e.g., parental control ratings, critic's ratings, etc.), genre or category information, actor information, logo data for broadcasters' or providers' logos, etc.), media format (e.g., standard definition, high definition, etc.), advertisement information (e.g., text, images, media clips, etc.), on-demand information, and any other type of guidance data that is helpful for a user to navigate among and locate desired media selections.
Media guidance application data may be provided to the user equipment devices using any suitable approach. In some embodiments, the guidance application may be a stand-alone interactive television program guide that receives program guide data via a data feed (e.g., a continuous feed, trickle feed, or data in the vertical blanking interval of a channel). Program schedule data and other guidance data may be provided to the user equipment on a television channel sideband, in the vertical blanking interval of a television channel, using an in-band digital signal, using an out-of-band digital signal, or by any other suitable data transmission technique. Program schedule data and other guidance data may be provided to user equipment on multiple analog or digital television channels. Program schedule data and other guidance data may be provided to the user equipment with any suitable frequency (e.g., continuously, daily, a user-specified period of time, a system-specified period of time, in response to a request from user equipment, etc.). In some approaches, guidance data from media guidance data source 418 may be provided to users' equipment using a client-server approach. For example, a guidance application client residing on the user's equipment may initiate sessions with source 418 to obtain guidance data when needed. Media guidance data source 418 may provide user equipment devices 402, 404, and 406 the media guidance application itself or software updates for the media guidance application.
Media guidance applications may be, for example, stand-alone applications implemented on user equipment devices. In other embodiments, media guidance applications may be client-server applications where only the client resides on the user equipment device. For example, media guidance applications may be implemented partially as a client application on control circuitry 304 of user equipment device 300 and partially on a remote server as a server application (e.g., media guidance data source 418). The guidance application displays may be generated by the media guidance data source 418 and transmitted to the user equipment devices. The media guidance data source 418 may also transmit data for storage on the user equipment, which then generates the guidance application displays based on instructions processed by control circuitry.
System 400 may also include remote mirroring and transcoding server 440 used to mirror media content stored on any of user equipment devices 402, 404, or 406, in a location remote from any of the user equipment devices. Remote mirroring and transcoding server 440 may also be used provide the mirrored copies of the media content in the original or transcoded media content format to requesting devices. Media content that may be mirrored on remote mirroring and transcoding server 440 include, but is not limited to, videos, music, images, other audio content (e.g., voice messages), multi-media content, text, or other suitable media content. If necessary, the mirrored copy of the media content may include metadata associated with the media content. For example, in some embodiments, remote mirroring and transcoding server 440 may store metadata required to successfully play the mirrored copy of the media content on a requesting device. Examples of metadata that may be mirrored along with media content include, but are not limited to, subtitles, text tracks, music information tracks, additional video formats, additional languages, or other additional data. In some embodiments, remote mirroring and transcoding server 440 may be coupled to communications network 414 through communications path 460. Communications path 460 may be any suitable communications path such, as for example, those described in connection with communication path 420. Remote mirroring and transcoding server 440 may reside with media content source 416 but has been drawn as a separate element for clarity.
Remote mirroring and transcoding server 440 may include mirroring server 430 for mirroring media content, and transcoding server 450 for providing the mirrored media content to requesting devices in an original or transcoded format of the media content.
Mirroring server 430 may be based on any suitable combination of hardware and software capable of client-server based interactions with source devices such as, for example, user equipment devices 402, 404, or 406. In the simplified embodiment of
Control circuitry 432 of mirroring server 430 may include any suitable processor, such as a microprocessor or group of microprocessors, and other processing circuitry such as caching circuitry, direct memory access (DMA) circuitry, and input/output (I/O) circuitry. In some embodiments, control circuitry 432 may also include circuitry suitable for decoding program and data files stored on storage 434 and playing back mirrored copies of the media content on various types of user equipment devices in response to access requests.
Storage 434 of mirroring server 430 may include any suitable storage device including memory or other storage devices, such as random access memory (RAM), read only memory (ROM), flash memory, and a hard disk drive, that is suitable for storing mirrored copies of media content. Media content may be stored on storage 434 in any suitable format (e.g., a Structured Query Language (SQL) database). Storage 434 may also store user profile information for correlating users with their respective user equipment devices and mirrored content. Storage 434 may include several levels of primary, secondary, and auxiliary storage. For example, in some embodiments, the storage level for a mirrored copy of a given media content may be determined based on the frequency of access or other property of the mirrored content, such as the last date of access. In some embodiments, where multi-level storage is employed, the most recently accessed or most frequently accessed mirrored content may be stored in the primary level storage, which is typically the fastest memory level. Although storage 434 is shown in direct connection with control circuitry 432, in some embodiments, at least a portion of storage 434 may be located on a separate data server. For example, in some embodiments, a separate data server may be used for each type of media content (e.g., audio, video, image, text, etc.) mirrored on mirroring server 430.
The communications device (not shown) employed by mirroring server 430 may be any device suitable for communications between mirroring server 430, transcoding server 450, and communications network 414, such as a communication port (e.g., a serial port, parallel port, universal serial bus (USB) port, etc.), modem (e.g., any suitable analog or digital standard modem or cellular modem), network interface card (e.g., an Ethernet card, token ring card, etc.), wireless transceiver (e.g., an infrared, radio, or other suitable analog or digital transceiver), or other suitable communications device.
Media system 400 may include multiple mirroring servers 430, but only one is shown to avoid overcomplicating the drawing. For example, in some embodiments, the particular mirroring server 430 that stores a mirrored copy a given media content may be selected from multiple mirroring servers 430 based on the type of media content (e.g., video, audio, text, etc.) to be stored. In some embodiments, mirroring server 430 may be an application (e.g., a Web server application) resident on remote mirroring and transcoding server 440, rather than a physical server.
Remote mirroring and transcoding server 440 may also include transcoding server 450 coupled to mirroring server 430, user equipment devices 402, 404, and 406, and communications network 414 through communications path 460. In some embodiments, transcoding server 450 may also be in direct communication with mirroring server 430 through communications link 442.
Transcoding server 450 may provide media content mirrored on mirroring server 430 to a requesting device. In some embodiments, transcoding server 450 may provide the media content to be played on-demand by the requesting device in response to requests received from the requesting device to access the media content. In some embodiments, transcoding server 450 may also automatically provide the media content to designated devices selected by the user to receive such automatic updates. Whether the media content is provided by transcoding server 450 automatically or in response to a request, transcoding server 450 may provide the media content in an original or transcoded media content format based, for example, on the capabilities of the requesting or receiving device.
Transcoding server 450 may be based on any suitable combination of hardware and software (such as those described in connection with mirroring server 430) capable of client-server based interactions with requesting devices and, if necessary, server-server interactions with mirroring server 430. In the simplified embodiment of system 400, transcoding server 450 includes one or more control circuitry 452, storage 454, communications device (not shown), and application program interface (API) 456 (which may be an application run by control circuitry 452 and stored on storage 454, but has been drawn as a separate element for clarity). Control circuitry 452, storage 454, and API 456 may be based on any suitable hardware and/or software combination such as those described in connection with control circuitry 432, storage 434, and API 436, respectively, of mirroring server 430. In addition, control circuitry 452 may include logic for decoding various media content formats. For example, if the mirrored copy of the media content is stored as Moving Pictures Experts Group (MPEG) MPEG-2 files, control circuitry 452 may include an MPEG-2 decoder for decoding the media content and converting them to National Television Standards Committee (NTSC) video. Decoding for MPEG-4, H.264, and other suitable media formats may also be provided.
In some embodiments, transcoding server 450 may include logic for detecting or determining an appropriate media content format for a requesting device. For example, an appropriate media content format for a requesting device may be determined based on the storage, bandwidth, and/or display capabilities of the requesting device, or any other suitable format requirements or preferences associated with the requesting device or the user. Regardless of the mechanism used to determine an appropriate media content format for a requesting device, transcoding server 450 may transcode the mirrored copy of the media content into that media content format and provide the mirrored, transcoded copy of the media content to the requesting device. Control circuitry 452 of transcoding server 450 may include one or more transcoders 458 for transcoding a mirrored copy of the media content from a first format to a second format. Where control circuitry 452 includes multiple transcoders 458, transcoding server 450 may include circuitry or other suitable means (e.g., handlers) for selecting one or more transcoders for any given transcoding task, based, for example, on the media content type, input format of the mirrored copy, or output format for the requested media content. In some embodiments, transcoding server 450 may store the transcoded, mirrored copy of the media content on storage 454.
Media system 400 may include multiple transcoding servers 450, but only one is shown to avoid overcomplicating the drawing. In some embodiments, the particular transcoding server 450 that transcodes and delivers media content to a requesting device may be selected from multiple transcoding servers 450 based, for example, on the type of the media content (e.g., video, audio, text, etc.) to be transcoded. In some embodiments, transcoding server 450 may be an application (e.g., a Web server application) resident on remote mirroring and transcoding server 440, rather than a physical server. In some embodiments, transcoding server 450 and mirroring server 430 may be the same server, but are drawn as separate elements for clarity. In these embodiments, for example, the same remote server 440 (which may be one of multiple remote servers 440) may store mirrored copies of the media content, receive requests from a requesting device, and provide the mirrored copy in the original or transcoded format to the requesting devices. Transcoding server 450 and mirroring server 430 may also be respective applications (e.g., server applications) resident on remote mirroring and transcoding server 440. Systems and methods for remote storage of media content, and providing remotely stored media content to user equipment are discussed in greater detail in connection with Ellis et al., U.S. patent application Ser. No. 09/332,244, filed Jun. 11, 1999, which is hereby incorporated by reference herein in its entirety.
System 400 is intended to illustrate a number of approaches, or network configurations, by which user equipment devices and sources of media content and guidance data may communicate with each other for the purpose of accessing media and providing media guidance within a home network or over an external communication network. Interactive media system 400 may typically include more than one of each type of user equipment device. In addition, each user may utilize more than one type of user equipment device (e.g., a user may have a television set and a computer) and also more than one of each type of user equipment device (e.g., a user may have a PDA and a mobile telephone and/or multiple television sets). The user may also set various settings to maintain consistent media guidance application settings across in-home devices and remote devices. Settings include those described herein, as well as channel and program favorites, programming preferences that the guidance application utilizes to make programming recommendations, display preferences, and other desirable guidance settings. For example, if a user sets a channel as a favorite on, for example, the web site www.tvguide.com on a remote device such as their personal computer at their office, the same channel would appear as a favorite on the user's in-home devices (e.g., user television equipment and user computer equipment) as well as the user's mobile devices, if desired. Therefore, changes made on one user equipment device can change the guidance experience on another user equipment device, regardless of whether they are the same or a different type of user equipment device. In addition, the changes made may be based on settings input by a user, as well as user activity monitored by the guidance application. Systems and methods for maintaining consistent media guidance application settings on different user equipment devices within a home network, are described in greater detail in Ellis et al., U.S. patent application Ser. No. 11/179,410, filed Jul. 11, 2005, the disclosure of which is hereby incorporated herein by reference in its entirety.
In some embodiments, interactive media system 400 may include home networks that are accessed by in-home and mobile devices. Users may control in-home devices via a media guidance application implemented on a remote device. For example, users may access an online media guidance application on a website via a personal computer at their office, or a mobile device such as a PDA or web-enabled mobile telephone. The user may set various settings (e.g., recordings, reminders, or other settings) on the online guidance application to control the user's in-home equipment. The online guide may control the user's equipment directly, or by communicating with a media guidance application on the user's in-home equipment. Various systems and methods for user equipment devices communicating, where the user equipment devices are in locations remote from each other, are discussed in, for example, Ellis et al., U.S. patent application Ser. No. 10/927,814, filed Aug. 26, 2004, which is hereby incorporated by reference herein in its entirety.
Where a user or a group of users relies on multiple user equipment devices to access and share media content, the interactive media guidance application may allow users to mirror media content stored on the various devices on a remote server (e.g., remote mirroring and transcoding server 440 (
The general concept of selecting media content on a user equipment device to be mirrored on a remote server is illustrated with reference to the specific illustrative embodiment of setting up a recording of a television program for mirroring on the remote server in illustrative display screen 500 of
Program information area 502 may include any of text, graphics, and video information related to the selected program. For example, as shown in
The interactive media guidance application may allow the user to select program recording settings for the selected program. In response to the user selecting program recording setting 504, the interactive media guidance application may be configured to record the current episode of the selected program. In response to the user selecting program recording settings 506, the interactive media guidance application may be configured to record all future episodes of the selected program (e.g., set a series recording). Series recordings are discussed in greater detail in Knudson et al. U.S. Patent Publication No. 2005/0204388, which is hereby incorporated by reference herein in its entirety. Program recording options 504 and 506 are merely illustrative. Additional options may be included in screen 500 without departing from the scope of the present invention.
The interactive media guidance application may allow the user to set options for mirroring the recording on mirroring server 430 (
Mirrored copies of the media content may be accessed using any suitable approach. For example,
Selectable features 640 and 610 may selected by the user to customize or limit the media content entries displayed in display grid 620. For example, “Videos” feature 650 may be selected to limit the content in grid 620 to only video content. Alternatively or additionally, the user may limit the content of grid 620 by specifying a user-defined search using, for example, “Search” feature 660. In addition to restricting the content displayed in grid 620, the user may sort the content in grid 620. For example, the user may select “By Theme” feature 630, to sort the content of grid 620 according to various themes such as children's programs, sports, adult content, etc. The user may select any of the content entries in screen 600, such as for example, content entry 612, for playback on the requesting device. One or more of advertisements 606 or 608 may be selected and displayed based on user profile information or based on user selections in screen 600.
If desired, screen 600 may be displayed as an overlay or as a partial or full display screen. In some embodiments, the display mode for screen 600 may be selected based on the display, bandwidth, and/or storage capabilities of the user equipment device on which it is displayed. For example, screen 600 may be displayed as a partial screen when displayed on standard user devices such as installed television equipment, or as a full screen when displayed on a portable user device such as portable video player.
In practice, one or more steps shown in process 700 may be combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed. For example, in some embodiments, transcoding the media content (which occurs at step 730) and providing the media content (which occurs at step 740) may both be performed after step 760, in response to a user input to access the media recording received by a second user device that requires transcoding of the media content.
At step 820, the user may be prompted to select media content to be mirrored on mirroring server 430 (
In some embodiments, users may also designate media content to be mirrored on mirroring server 430 (
At step 830, a mirroring request is generated for content to be mirrored on mirroring server 430 (
At step 840, the mirroring request is transmitted to mirroring server 430 (
At step 850, the mirroring request is received by mirroring server 430 (
At step 860, a determination is made whether the user has sufficient allocated storage capacity to store the media content. For example, information included in the mirroring request, such as, for example, the size of the media content, may be used by the mirroring server to determine whether the user has sufficient allocated storage capacity to store the media content. If the user does not have sufficient allocated storage capacity to store the media content, the user may be notified at step 870 and provided an opportunity to obtain more allocated storage capacity. In some embodiments, the mirroring server may automatically allocate extra storage capacity to the user and the user's account may be updated to reflect the new allocation. If the user has sufficient allocated storage capacity to store the media content or if the mirroring server allocates more capacity, the process proceeds to step 880.
At step 880, a mirrored copy of the media content and, if necessary, metadata associated with the media content, may be created on the mirroring server. In one embodiment, the mirroring server determines, based, for example, on various parameters included in the mirroring request, whether a mirror copy already exists for the media content. For example, the content identifier associated with the media content may be compared with content identifiers for other media content of the same type associated with the same user and source device to determine if a mirrored copy of the media content exists on mirroring server 430 (
At step 890, a user directory (e.g., screen 600 of
In practice, one or more steps shown in process 800 may be combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed. For example, the source device may determine, prior to generating a mirroring request, if the user has sufficient allocated storage capacity for the media content selected or designated for mirroring.
At step 912, an access request may be generated on the requesting device for the media content selected by the user at step 910. The access request may include, but is not limited to, a content identifier for the requested media content (which may be obtained from the selected entry in the mirrored media content directory), a device identifier for the requesting device, and if desired, a preferred output format for playing the requested media content.
At step 914, the access request may be transmitted from the requesting device to transcoding server 450 (
At step 920, transcoding server 450 (
The process continues to step 924 where the transcoding server may determine whether transcoding is required. For example, transcoding may be required if the media content format identified at step 920 is not the same as, equivalent to, or interchangeable with, the original format of the mirrored copy of the media content. If transcoding is not required, the process continues to step 940 (described below). Otherwise the process continues to step 926.
At step 926, a mirrored copy of the media content may be transcoded on transcoding server 450 (
At step 928, the mirrored, transcoded copy of the media content is provided to the requesting device by transcoding server 450 (
At step 930, the mirrored, transcoded media content provided to the requesting device is played on the requesting device. The media content may be played on the requesting device remotely from transcoding server 450 (
Returning now to step 924, if transcoding is not required by the requesting device (e.g., the requesting device is capable of playing the media content in the media content format of the mirrored copy, or the access requests specifies a media content format that is identical to, equivalent to, or interchangeable with, the media content format of the mirrored copy) the process continues to step 940. At step 940, the mirrored copy of the media content is provided to the requesting device in the original media content format of the mirrored copy. Where appropriate, the mechanisms described in relation to step 928 above for providing a transcoded copy of the media content to a requesting device may also be used to provide the mirrored copy of the media content, without transcoding, to the requesting device. The media content provided to the requesting device is played at the requesting device at step 942. Where appropriate, the mechanisms described above in relation to step 930 for playing a mirrored, transcoded copy of the media content on a requesting device may be used.
Returning now to step 918, if the requesting device is the source device, the process continues to step 950. In some embodiments, if desired, system 400 (
In practice, one or more steps shown in process 900 may be combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed. For example, in some embodiments, steps 926, 928, and 930 of process 900 may be combined or performed concurrently. In these embodiments, the transcoding, providing, and playback steps may be combined such that, a portion of the media content is played on the requesting device while the remaining portion is being transcoded and provided to the requesting device. In one suitable approach, the media content may be transcoded and played back by transcoding server 450 (
It will be appreciated that while the discussion of media content has focused on video content, the principles of media guidance can be applied to other types of media content, such as music, images, etc.
The above described embodiments of the present invention are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.