U.S. patent application number 11/827649 was filed with the patent office on 2009-01-15 for systems and methods for mirroring and transcoding media content.
This patent application is currently assigned to United Video Properties, Inc.. Invention is credited to Jean-Francois Benjamin Grasset.
Application Number | 20090019492 11/827649 |
Document ID | / |
Family ID | 39967801 |
Filed Date | 2009-01-15 |
United States Patent
Application |
20090019492 |
Kind Code |
A1 |
Grasset; Jean-Francois
Benjamin |
January 15, 2009 |
Systems and methods for mirroring and transcoding media content
Abstract
Systems and methods for mirroring and transcoding media content
are provided. In some embodiments, media content stored on a user
equipment device is mirrored on a remote server, and the mirrored
copy is transcoded and provided to other user devices in a media
content format that is appropriate for the user devices. By so
doing, the present invention not only provides a convenient and
easy way for users to backup media content and access the media
content from virtually any device, but also reduces the complexity
and costs associated with maintaining reliable and consistent
access to media content across various user devices.
Inventors: |
Grasset; Jean-Francois
Benjamin; (Boulogne, FR) |
Correspondence
Address: |
ROPES & GRAY LLP
PATENT DOCKETING 39/361, 1211 AVENUE OF THE AMERICAS
NEW YORK
NY
10036-8704
US
|
Assignee: |
United Video Properties,
Inc.
|
Family ID: |
39967801 |
Appl. No.: |
11/827649 |
Filed: |
July 11, 2007 |
Current U.S.
Class: |
725/45 ;
348/E5.008; 348/E7.071 |
Current CPC
Class: |
G06F 16/178 20190101;
G06F 16/1734 20190101; H04N 21/4334 20130101; H04N 21/2347
20130101; H04N 21/2743 20130101; H04N 21/2343 20130101; G06F
11/2082 20130101; G11B 27/034 20130101; H04L 67/28 20130101; H04N
21/4147 20130101; H04N 21/4325 20130101; H04L 12/2812 20130101;
H04L 29/0854 20130101; H04N 21/23116 20130101; H04N 21/41407
20130101; G06F 11/1451 20130101; H04L 67/2823 20130101; H04L
67/1095 20130101; H04N 21/64784 20130101; G06F 11/1446 20130101;
H04L 12/2816 20130101; H04L 67/325 20130101; H04L 67/42 20130101;
G06F 11/2056 20130101; H04N 7/17318 20130101; H04L 2012/2849
20130101; H04N 21/274 20130101 |
Class at
Publication: |
725/45 |
International
Class: |
H04N 7/10 20060101
H04N007/10 |
Claims
1. A method for providing access to media content, the method
comprising: mirroring media content stored on first user equipment
on a remote server coupled to the first user equipment over a
network; transcoding, on the remote server, the mirrored copy of
the media content to a media content format that is appropriate for
second user equipment; providing the mirrored, transcoded media
content to the second user equipment; in response to a user input
received by the first user equipment to access the media content,
playing the media content from the first user equipment; and in
response to a user input received by the second user equipment to
access the media content, playing the mirrored, transcoded media
content on the second user equipment.
2. The method of claim 1, wherein transcoding the mirrored copy of
the media content comprises transcoding the mirrored copy of the
media content in response to the user input received by the second
user equipment to access the media content.
3. The method of claim 1, wherein providing the mirrored,
transcoded media content to the second user equipment comprises
providing the mirrored, transcoded media content to the second user
equipment in response to the user input received by the second user
equipment to access the media content.
4. The method of claim 1, wherein the first user equipment is a
mobile user device and the second user equipment is installed
equipment.
5. The method of claim 4, further comprising automatically
providing the mirrored, transcoded media content to the installed
equipment.
6. The method of claim 4, further comprising automatically
providing the mirrored, transcoded media content to the installed
equipment based on a user-determined schedule.
7. The method of claim 1, wherein the first user equipment is
installed equipment and the second user equipment is a mobile user
device.
8. The method of claim 1, wherein the first user equipment is in a
home network, and the second user equipment is outside of the home
network.
9. The method of claim 1, wherein one of the first user equipment
and the second user equipment is a mobile user device selected from
the group consisting of 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, and any combination thereof.
10. The method of claim 1, wherein the media content is selected
from the group consisting of video content, audio content, picture,
voice message, multi-media content, and any combination
thereof.
11. The method of claim 1, wherein one of the first user equipment
and the second user equipment is user equipment selected from the
group consisting of 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 personal digital assistant, a
handheld computer, a media player, and any combination thereof.
12. The method of claim 1, wherein the first user equipment
utilizes an interactive media guidance application to access the
media content.
13. The method of claim 1, wherein the second user equipment
utilizes an interactive media guidance application to access the
media content.
14. The method of claim 1, wherein transcoding the mirrored copy of
the media content by the remote server and providing the mirrored,
transcoded media content to the second user equipment is performed
in real-time.
15. The method of claim 1, further comprising receiving a user
selection of the media content to be mirrored on the remote
server.
16. The method of claim 15, wherein: receiving a user selection of
the media content to be mirrored on the remote server comprises
receiving a user designation of a storage drive on the first user
equipment; and mirroring media content stored on the first user
equipment comprises automatically mirroring media content stored on
the designated storage drive.
17. The method of claim 15, wherein: receiving a user selection of
the media content to be mirrored on the remote server comprises
receiving a user designation of a media content format; and
mirroring media content stored on the first user equipment
comprises automatically mirroring media content stored in the
designated media content format on the first user equipment.
18. The method of claim 1, wherein the media content is a
television program series recording on the first user
equipment.
19. The method of claim 1, wherein the first user equipment is a
set-top box.
20. A method for providing access to media content to a mobile user
device, the method comprising: receiving a request from the mobile
user device for media content stored in a first format on user
equipment in a home network; receiving a mirrored copy of the media
content by a remote server that stores the mirrored copy of the
media content, wherein the remote server is outside of the home
network; transcoding the mirrored copy into a second format of the
media content that is appropriate for the mobile user device; and
providing the transcoded, mirrored copy of the media content to the
mobile user device in the second format.
21. The method of claim 20, further comprising selecting the second
format from a plurality of formats based on the capabilities of the
mobile user device.
22. The method of claim 20, wherein transcoding the mirrored copy
of the media content comprises transcoding the mirrored copy after
the request for the media content is received from the mobile user
device.
23. The method of claim 20, wherein transcoding the mirrored copy
of the media content comprises transcoding the mirrored copy before
the request for the media content is received from the mobile user
device.
24. The method of claim 20, further comprising storing the
transcoded, mirrored copy of the media content on the mobile user
device.
25. The method of claim 20, wherein the remote server is a first
remote server, and wherein: transcoding the mirrored copy of the
media content comprises transcoding the mirrored copy of the media
content on a second remote server; and providing the mirrored,
transcoded copy of the media content to the mobile device comprises
providing the mirrored, transcoded copy of the media content from
the second remote server to the mobile user device.
26. The method of claim 20, wherein the mobile user device is
outside of the home network.
27. The method of claim 20, wherein the mobile user device is
selected from the group consisting of 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, and any combination thereof.
28. The method of claim 20, wherein the media content is selected
from the group consisting of video content, audio content, picture,
voice message, multi-media content, and any combination
thereof.
29. The method of claim 20, wherein the user equipment is selected
from the group consisting of 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 personal digital assistant,
a handheld computer, a media player, and any combination
thereof.
30. The method of claim 20, wherein the remote server comprises a
first application resident on the remote server and a second
application resident on the remote server, and wherein: receiving a
mirrored copy of the media content comprises receiving the mirrored
copy of the media content from the first application; and
transcoding the mirrored copy of the media content comprises
transcoding the mirrored copy of the media content on the second
application.
31. The method of claim 20, further comprising mirroring the media
content stored on the user equipment on the remote server, wherein
the remote server is coupled to the user equipment over a
network.
32. The method of claim 31, wherein mirroring the media content
stored on the user equipment comprises periodically polling the
user equipment for updated media content.
33. The method of claim 31, wherein mirroring the media content
stored on the user equipment comprises mirroring the media content
stored on the user equipment according to a user-determined
schedule.
34. The method of claim 33, further comprising receiving a user
selection of the user-determined schedule from an interactive media
guidance application.
35. The method of claim 20, further comprising providing the
mirrored copy of the media content in the first format to the user
equipment, in response to receiving a request for the media content
from the user equipment.
36. The method of claim 35, wherein receiving a request for the
media content from the user equipment comprises receiving a request
for the media content from the user equipment only if the media
content is no longer stored on the user equipment.
37. The method of claim 20, wherein the mobile user device utilizes
an interactive media guidance application to access the media
content.
38. The method of claim 20, wherein the user equipment utilizes an
interactive media guidance application to access the media
content.
39. The method of claim 20, wherein transcoding the mirrored copy
into the second format and providing the transcoded, mirrored copy
to the mobile user device is performed in real-time.
40. The method of claim 20, wherein the media content is a
television program series recording.
41. A system for providing access to media content, the system
comprising: a processor configured to: mirror media content stored
on first user equipment on a remote server coupled to the first
user equipment over a network; transcode on the remote server the
mirrored copy of the media content to a media content format that
is appropriate for second user equipment; provide the mirrored,
transcoded media content to the second user equipment; cause the
first user equipment to play the media content from the first user
equipment in response to a user input received by the first user
equipment to access the media content; and cause the second user
equipment to play the mirrored, transcoded media content on the
second user equipment in response to a user input received by the
second user equipment to access the media content.
42. The system of claim 41, wherein the processor is configured to
transcode the mirrored copy of the media content in response to the
user input received by the second user equipment to access the
media content.
43. The system of claim 41, wherein the processor is configured to
provide the mirrored, transcoded media content to the second user
equipment in response to the user input received by the second user
equipment to access the media content.
44-59. (canceled)
60. A system for providing access to media content to a mobile user
device, the system comprising: a processor configured to: receive a
request from the mobile user device for media content stored in a
first format on user equipment in a home network; receive a
mirrored copy of the media content by a remote server that stores
the mirrored copy of the media content, wherein the remote server
is outside of the home network; transcode the mirrored copy of the
media content into a second format of the media content that is
appropriate for the mobile user device; and provide the transcoded,
mirrored copy of the media content to the mobile user device in the
second format.
61. The system of claim 60, wherein the processor is further
configured to selecting the second format of the media content from
a plurality of formats based on the capabilities of the mobile user
device.
62. The system of claim 60, wherein the processor is configured to
transcode the mirrored copy of the media content after the request
to access the media content is received from the mobile user
device.
63-120. (canceled)
Description
BACKGROUND OF THE INVENTION
[0001] 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.
SUMMARY OF THE INVENTION
[0002] 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] 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:
[0015] FIGS. 1 and 2 show illustrative display screens that may be
used to provide media guidance application listings in accordance
with one embodiment of the invention;
[0016] FIG. 3 shows an illustrative user equipment device in
accordance with one embodiment of the invention;
[0017] FIG. 4 is a diagram of an illustrative interactive media
system for mirroring and providing access to mirrored media content
in accordance with one embodiment of the invention;
[0018] FIG. 5 shows illustrative display screen 500 for setting,
mirroring, and sharing a recording of a television program with
user equipment devices in accordance with one embodiment of the
invention;
[0019] FIG. 6 shows illustrative screen 600 for accessing mirrored
copies of the media content in accordance with one embodiment of
the invention;
[0020] FIG. 7 show illustrative process 700 for mirroring and
providing access to mirrored media content in accordance with one
embodiment of the invention;
[0021] FIG. 8 shows illustrative process 800 for mirroring media
content stored on a user equipment device onto a remote mirroring
server according to one embodiment of the invention; and
[0022] FIG. 9 shows illustrative process 900 for providing access
to media content mirrored on a remote mirroring server according to
one embodiment of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0023] 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.
[0024] 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.
[0025] 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.
[0026] One of the functions of the media guidance application is to
provide media listings and media information to users. FIGS. 1-2
and 5-6 show illustrative display screens that may be used to
provide media guidance, and, in particular, media listings. The
display screens shown in FIGS. 1-2 and 5-6 may be implemented on
any suitable device or platform. While the displays of FIGS. 1-2
and 5-6 are illustrated as full screen displays, they may also be
fully or partially overlaid over media content being displayed. A
user may indicate a desire to access media information by selecting
a selectable option provided in a display screen (e.g., a menu
option, a listings option, an icon, a hyperlink, etc.) or pressing
a dedicated button (e.g., a GUIDE button) on a remote control or
other user input interface or device. In response to the user's
indication, the media guidance application may provide a display
screen with media information organized in one of several ways,
such as by time and channel in a grid, by time, by channel, by
media type, by category (e.g., movies, sports, news, children, or
other categories of programming), or other predefined,
user-defined, or other organization criteria.
[0027] FIG. 1 shows illustrative grid program listings display 100
arranged by time and channel that also enables access to different
types of media content in a single display. Display 100 may include
grid 102 with: (1) a column of channel/media type identifiers 104,
where each channel/media type identifier (which is a cell in the
column) identifies a different channel or media type available; and
(2) a row of time identifiers 106, where each time identifier
(which is a cell in the row) identifies a time block of
programming. Grid 102 also includes cells of program listings, such
as program listing 108, where each listing provides the title of
the program provided on the listing's associated channel and time.
With a user input device, a user can select program listings by
moving highlight region 110. Information relating to the program
listing selected by highlight region 110 may be provided in program
information region 112. Region 112 may include, for example, the
program title, the program description, the time the program is
provided (if applicable), the channel the program is on (if
applicable), the program's rating, and other desired
information.
[0028] 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).
[0029] 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.)
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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 FIG. 1. Additional
personalized media guidance application features are described in
greater detail in Ellis et al., U.S. patent application Ser. No.
11/179,410, filed Jul. 11, 2005, Boyer et al., U.S. patent
application Ser. No. 09/437,304, filed Nov. 9, 1999, and Ellis et
al., U.S. patent application Ser. No. 10/105,128, filed Feb. 21,
2002, which are hereby incorporated by reference herein in their
entireties.
[0036] Another display arrangement for providing media guidance is
shown in FIG. 2. Video mosaic display 200 includes selectable
options 202 for media content information organized based on media
type, genre, and/or other organization criteria. In display 200,
television listings option 204 is selected, thus providing listings
206, 208, 210, and 212 as broadcast program listings. In some
embodiments, display 200 may include selectable feature 220, which
may be selected by the user to access a directory of mirrored copy
of the media content on a remote server. Detailed description of
selectable feature 220 and the user directory are provided below
with reference to screen 600 of FIG. 6.
[0037] Unlike the listings from FIG. 1, the listings in display 200
are not limited to simple text (e.g., the program title) and icons
to describe media. Rather, in display 200 the listings may provide
graphical images including cover art, still images from the media
content, video clip previews, live video from the media content, or
other types of media that indicate to a user the media content
being described by the listing. Each of the graphical listings may
also be accompanied by text to provide further information about
the media content associated with the listing. For example, listing
208 may include more than one portion, including media portion 214
and text portion 216. Media portion 214 and/or text portion 216 may
be selectable to view video in full-screen or to view program
listings related to the video displayed in media portion 214 (e.g.,
to view listings for the channel that the video is displayed
on).
[0038] 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.
[0039] 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. FIG. 3 shows a
generalized embodiment of illustrative user equipment device 300.
More specific implementations of user equipment devices are
discussed below in connection with FIG. 1. User equipment device
300 may receive media content and data via input/output
(hereinafter "I/O") path 302. I/O path 302 may provide media
content (e.g., broadcast programming, on-demand programming,
Internet content, and other video or audio) and data to control
circuitry 304, which includes processing circuitry 306 and storage
308. Control circuitry 304 may be used to send and receive
commands, requests, and other suitable data using I/O path 302. I/O
path 302 may connect control circuitry 304 (and specifically
processing circuitry 306) to one or more communications paths
(described below). I/O functions may be provided by one or more of
these communications paths, but are shown as a single path in FIG.
3 to avoid overcomplicating the drawing.
[0040] 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 FIG. 1). In addition, communications circuitry
may include circuitry that enables peer-to-peer communication of
user equipment devices, or communication of user equipment devices
in locations remote from each other (described in more detail
below).
[0041] 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).
[0042] 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.
[0043] 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.
[0044] User equipment device 300 of FIG. 3 can be implemented in
system 400 of FIG. 4 as user television equipment 402, user
computer equipment 404, wireless user communications device 406, or
any other type of user equipment suitable for accessing media, such
as a non-portable gaming machine. For simplicity, these devices may
be referred to herein collectively as user equipment, user
equipment devices, or user devices. User equipment devices, on
which a media guidance application is implemented, may function as
a standalone device or may be part of a network of devices. Various
network configurations of devices may be implemented and are
discussed in more detail below.
[0045] System 400 shown in FIG. 4 is an illustrative interactive
media distribution system for providing access to media content in
one aspect of the present invention. Exemplary system 400 includes
media content source 416, media guidance data source 418, user
equipment devices 402, 404, and 406, and remote mirroring and
transcoding server 440 (which may include mirroring server 430 and
transcoding server 450) as well as various communication networks
and data links.
[0046] 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.
[0047] 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 FIG. 3 and, as a result,
include flexibility with respect to the type of media content
available on the device. For example, user television equipment 402
may be Internet-enabled, allowing for access to Internet content,
while user computer equipment 404 may include a tuner allowing for
access to television programming. The media guidance application
may also have the same layout on the various different types of
user equipment or may be tailored to the display capabilities of
the user equipment. For example, on user computer equipment, the
guidance application may be provided as a web site accessed by a
web browser. In another example, the guidance application may be
scaled down for wireless user communications devices. System 400
typically includes more than one of each type of user equipment
device but only one of each is shown in FIG. 4 to avoid
overcomplicating the drawing.
[0048] 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 FIG. 4 it is a wireless path and paths 408 and 410 are
drawn as solid lines to indicate they are wired paths (although
these paths may be wireless paths, if desired). Communications with
the user equipment devices may be provided by one or more of these
communications paths, but are shown as a single path in FIG. 4 to
avoid overcomplicating the drawing.
[0049] 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.
[0050] 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 FIG. 4 to avoid overcomplicating the drawing. In
addition, there may be more than one of each of media content
source 416 and media guidance data source 418, but only one of each
is shown in FIG. 4 to avoid overcomplicating the drawing. (The
different types of each of these sources are discussed below.)
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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
FIG. 4, mirroring server 430 includes one or more control circuitry
432, storage 434, communications device (not shown), and
application program interface (API) 436 (which may be an
application run by control circuitry 432 and stored on storage 434,
but has been drawn as a separate element for clarity). Mirroring
server 430 may, for example, receive a mirroring request from any
of user equipment devices 402, 404, or 406, process the request,
create, and store a mirrored copy of the appropriate media content
stored on the respective device. In some embodiments, mirroring
server 430 may run a suitable database engine, such as a SQL server
or Oracle DB, and provide the mirrored content based on queries
executed by the database engine.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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 (FIG. 4) and
access the mirrored copy of the media content using other user
equipment devices in a transcoded or original format. A user may
mirror one or more storage drives on any of the user's devices.
Alternatively, the user may select a subset of media content on any
storage drive for mirroring.
[0071] 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 FIG. 5. It should be
understood that any type of media content (and not just television
programs) may be designated to be mirrored by a remote server, such
as, for example, mirroring server 430 (FIG. 4). Screen 500 may be
accessed from any interactive media guidance application
implemented on any of user equipment devices 402, 404, or 406 (all
of FIG. 4) in response to a user indication to record a program
from a program listings screen, such as, for example, screen 100
(FIG. 1). Illustrative screen 500 may include program information
area 502, program recording options 504 and 506, mirroring option
508, sharing options 510, 512, and 514, and selectable controls 520
and 530. Screen 500 is only one type of screen that may be
displayed to allow a user to record and mirror programs using the
interactive media guidance application. Other screens may be
displayed by the interactive media guidance application without
departing from the scope of the invention. Using interactive media
guidance applications to set recordings of television programs is
discussed in greater detail in Ellis U.S. Patent Publication No.
2003/0149980, which is incorporated by reference herein in its
entirety.
[0072] Program information area 502 may include any of text,
graphics, and video information related to the selected program.
For example, as shown in FIG. 5, program information area 502
includes the title, channel, time, and release year for the
selected program. Program information area 502 may also include a
summary and a representative graphic or video of the selected
program.
[0073] 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.
[0074] The interactive media guidance application may allow the
user to set options for mirroring the recording on mirroring server
430 (FIG. 4) and sharing the mirrored recording with other users or
devices associated with the user's mirroring account or group. For
example, the user may select option 508 to designate the recording
for mirroring by mirroring server 430 (FIG. 4). If option 508 is
selected, the recording may be mirrored in accordance with a
user-determined mirroring schedule or in response to new recordings
being made for the selected program. The user may also select
option 510 to configure access to the mirrored recording. In
response to the user selecting shared mirrored recording option
510, the interactive media guidance application may allow other
user equipment devices or users associated with or authorized by
the user to access the mirrored recording on the mirroring server.
For example, the user may authorize access to the recording by all
or a subset of users associated with the user using selectable
control 512. Alternatively or additionally, the user may authorize
access to the recording by all or a subset of user devices
associated with the user's account or group using selectable option
514. Although FIG. 5 shows the selection of a specific program
recording for mirroring, mirroring may also be configured for one
or more drives on the user equipment without designating specific
programs.
[0075] Mirrored copies of the media content may be accessed using
any suitable approach. For example, FIG. 6 shows illustrative
screen 600 for accessing mirrored copies of media content in
accordance with one embodiment of the invention. It should be
understood that any type of media content (and not just those shown
in screen 600) may be mirrored on mirroring server 430 (FIG. 4).
Screen 600 may be a part of any suitable interactive media
application for remotely accessing media content and may be a
displayed on any of user equipment devices 402, 404, or 406 (all of
FIG. 4) in response to a user indication to view media content
mirrored on mirroring server 430 (FIG. 4). Screen 600 may be
accessed using any suitable approach. In one suitable approach, the
user may access screen 600 using an interactive media guidance
application which may include a selectable icon or link for
accessing the mirrored content directory. In some embodiments,
screen 600 may be displayed when the user, for example, presses a
"DIR" key on a remote control or selects "User Directory" feature
220 of screen 200 of FIG. 2. Illustrative screen 600 may include
display grid 620 including mirrored content entries 612, selectable
features 640 and 610, banner advertisement 608, selectable
advertisement 606, service provider information 630, user
identification information 670, and device identification
information 680. It should be understood that screen 600 is only
one type of screen that may be displayed to allow a user to view
mirrored copies of the media content using the interactive media
guidance application. Other screens may be displayed by the
interactive media guidance application without departing from the
scope of the invention.
[0076] 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.
[0077] 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.
[0078] FIG. 7 shows illustrative process 700 which is a somewhat
high level overview of a process for mirroring media content and
providing access to a mirrored copy of the media content in
accordance with some embodiments of the invention. At step 710,
media content is stored or recorded on a first user equipment
device. The first user equipment device, which represents the
source device, may be any of user equipment devices 402, 404, or
406 (all of FIG. 4). At step 720, the recorded media content is
mirrored onto a remote server. The mirrored copy of the media
content may be stored on remote mirroring and transcoding server
440 (FIG. 4), or where separate mirroring and transcoding servers
are used, on mirroring server 430 (FIG. 4). The remote server may
be coupled to the source device over a network (e.g., communication
path 460 (FIG. 4)). At step 730, the remote server transcodes a
mirrored copy of the media content into a second media content
format which may be provided to a second user equipment device at
step 740. The second user equipment device, which represents the
requesting device, may also be any of user equipment devices 402,
404, or 406 (all of FIG. 4). The media content may be transcoded
and provided to the requesting device by remote mirroring and
transcoding server 440 (FIG. 4), or where separate mirroring and
transcoding servers are used, transcoding server 450 (FIG. 4). At
step 750, a user input to access the media content is received by
either the first user equipment (source device) or the second user
equipment (a requesting device other than the source device). At
step 760, a determination is made as to whether the user input was
received by the first user equipment device or the second user
equipment device. This determination may be made by remote
mirroring and transcoding server 440 (FIG. 4) or, in some
embodiments, by transcoding server 450 (FIG. 4). If the user input
to access the media content was received by the first user
equipment, the media content is played by the first user equipment
from a local copy of the media content at step 760. Otherwise, a
mirrored, transcoded copy of the media content (provided at step
740) is played on the second user equipment at step 780.
[0079] 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. FIGS. 8 and 9 show somewhat more
detailed illustrative processes for mirroring media content on a
remote server, and providing a mirrored copy of the media content
from the remote server to various user equipment devices in a
transcoded or original media content format. In the sections that
follow, depending on the particular process step being described,
reference may be made to mirroring server 430 (FIG. 4) or to
transcoding server 450 (FIG. 4) for clarity. Regardless of the
particular server referenced, it is understood that mirroring
server 430 (FIG. 4) and transcoding server 450 (FIG. 4) may be
combined into one server, such as, for example, remote mirroring
and transcoding server 440 (FIG. 4).
[0080] FIG. 8 shows illustrative process 800 for mirroring media
content stored on user equipment devices onto mirroring server 430
(FIG. 4) according to one embodiment of the invention. In some
embodiments, prior to selecting or designating media content for
mirroring, the user may configure the mirroring service. For
example, at step 810, the user may subscribe to the mirroring
service associated with mirroring server 430 (FIG. 4) and configure
the service. The user may register all or a subset of the user's
user equipment devices with the mirroring service. If desired, the
user may select a predetermined maximum amount of storage to be
allocated on mirroring server 430 (FIG. 4) for storing mirrored
copies of the user's media content. In some embodiments, mirroring
server 430 (FIG. 4) may simply allocate storage on an as-needed
basis without first requiring the user to select a predetermined
maximum storage allocation. In some embodiments, the user may also
specify the mirroring schedule for the user equipment devices at
step 810. For example, the user may choose to mirror media content
on any of the user's devices based on a pre-determined schedule.
The predetermined schedule may include specific dates and times, or
may be on any periodic basis, such as, for example, monthly,
weekly, daily, hourly, etc. Alternatively, in some embodiments,
mirroring may be performed "live," in response updates to media
content on the user device without relying on a predetermined
schedule. In these embodiments, updates and additions to media
content may be mirrored at any appropriate time without
significantly interfering with other active tasks being performed
on the user equipment. For example, mirroring may be triggered by
the mirroring server when a predetermined minimum percentage of
processing capacity is available on the user equipment device.
[0081] At step 820, the user may be prompted to select media
content to be mirrored on mirroring server 430 (FIG. 4). Media
content selected for mirroring may include content stored on any of
user equipment devices 402, 404, or 406 (all of FIG. 4). In some
embodiments, the user may mirror selected storage drives of the
user equipment device. Alternatively, the user may choose to mirror
a subset of the media content on the user equipment device. In some
embodiments, a user may choose to mirror only certain types of
media content. For example, a user may choose to mirror only
MPEG-2, MPEG-4, or Windows media content. In these embodiments,
mirroring server 430 (FIG. 4) may automatically mirror media
content corresponding to the selected media content type or types
as they are added or updated on the user equipment. The user may
select media content or drives for mirroring using any appropriate
interface. In some embodiments, an interactive media program may be
provided to the user for selecting media content or drives for
mirroring.
[0082] In some embodiments, users may also designate media content
to be mirrored on mirroring server 430 (FIG. 4) by setting up
search queries that define media content the user wants to mirror.
The user may, for example, define Boolean expressions that result
in mirroring media content that satisfy the criteria or criterion
of the query. Suitable queries may include any parameters
associated with the media content such as, for example, content
titles, actors or musicians within video or audio content, themes
or categories associated with the media content (e.g., sports,
children's programming, drama, etc), text within content
information fields, media content types (e.g., audio, video, etc.),
format of the media content (e.g., MPEG-2, MPEG-4, etc.), or any
other suitable parameters associated with the media content. The
search query may be stored on the user equipment device or on
mirroring server 430 (FIG. 4) to be used for future mirroring
updates.
[0083] At step 830, a mirroring request is generated for content to
be mirrored on mirroring server 430 (FIG. 4). The mirroring request
may be generated concurrently with step 820, immediately after step
820, or sometime in the future after step 820, such as, in
accordance with a pre-determined mirroring schedule. In generating
the mirroring request, each selected media content may be assigned
a content identifier. In addition, groups of media recordings
selected or designated for mirroring may be assigned a grouping
identifier. The mirroring request may also identify the source
device, the user, the content type of the media content, the size
of the media content, and other suitable information associated
with the media content to be mirrored. In some embodiments, one
mirroring request may be generated for multiple media content
concurrently selected or designated for mirroring. In some
embodiments, the mirroring request may include billing information
for the user.
[0084] At step 840, the mirroring request is transmitted to
mirroring server 430 (FIG. 4). The request may be transmitted from
the source device to mirroring server 430 (FIG. 4) through
communications path 460 (FIG. 4) using any suitable communications
protocol or group of protocols. In some embodiments, the mirroring
request may be transmitted using, for example, as an XML file.
[0085] At step 850, the mirroring request is received by mirroring
server 430 (FIG. 4) from the source device. The received mirroring
request may be processed to determine, for example, the user and
source device associated with the request. In some embodiments,
mirroring server 430 (FIG. 4) may store received mirroring requests
for various purposes including, but not limited to, statistical
analysis and debugging. The process continues to step 860.
[0086] 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.
[0087] 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 (FIG. 4).
If, for example, a mirrored copy already exists and the media
content has been updated on the source device since the
pre-existing mirrored copy was made, the pre-existing mirror copy
may be updated. In some embodiments, rather than updating the
pre-existing mirrored copy, a new version of the mirrored copy
associated with the same content identifier may be created. The
maximum number of versions associated with each content identifier
may be a predetermined number set by the user or by the mirroring
server. If it is determined that a mirrored copy of the media
content does not already exist on the mirroring server, a new
mirrored copy may be created and stored by mirroring server 430
(FIG. 4). In some embodiments, a data server or storage level for
storing the mirrored copy of the media content may be determined
based, for example, on information included in the mirroring
request.
[0088] At step 890, a user directory (e.g., screen 600 of FIG. 6)
maintained for mirrored copies of media content may be updated to
reflect the newly-added or updated mirrored copies.
[0089] 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.
[0090] FIG. 9 shows illustrative process 900 for playing media
content from mirroring server 430 (FIG. 4) in accordance with some
embodiments of the invention. At step 910, a user input is received
by a requesting device to access media content mirrored on
mirroring server 430 (FIG. 4). The user may request access to media
content on the mirroring server using any suitable requesting
device. For example, any of user equipment devices 402, 404, and
406 (all of FIG. 4) may be used to access media content mirrored on
the mirroring server. In some embodiments, the requesting device
may include a client interface for displaying a directory of
mirrored copies of media content on the mirroring server, such as,
for example, screen 600 (FIG. 6). In some embodiments, the
directory may be overlaid on top of a television program that the
user is watching, may be overlaid on top of a program guide display
screen, may be displayed within a dedicated program guide display
screen such as the arrangement in FIG. 6, or may be displayed
within a web page such as in the arrangement of FIG. 2.
Alternatively, listings for mirrored copies of the media content
may be presented to users in regular program listings screens such
as shown in FIG. 1. In some embodiments, only media content to
which the user or the requesting device has been granted access may
be included in the directory of screen 600 displayed on the
requesting device. For example, a user may grant access to all user
devices associated with user's identifier on the mirroring server
(e.g., all devices registered by the user in step 810 of FIG. 8).
In some embodiments, access to media content may also be obtained
through a communal account shared by a group of user equipment
devices. In some embodiments, each user and/or user equipment
device may have unique credentials (e.g., password and username)
for accessing media content on mirroring server 430 (FIG. 4).
[0091] 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.
[0092] At step 914, the access request may be transmitted from the
requesting device to transcoding server 450 (FIG. 4), which may be
the same as, or a different server from, mirroring server 430 (FIG.
4). The request may be transmitted from the requesting device
directly to the transcoding server or may be routed through an
intermediary device or server. At step 916, the access request is
received by the transcoding server. The received access request may
be processed to determine the user and/or requesting device
associated with the request. In some embodiments, transcoding
server 450 (FIG. 4) may store received access requests for various
purposes including, but not limited to, statistical analysis and
debugging. At step 918, based, for example, on information included
in the access request, and/or directory information received from
mirroring server 430 (FIG. 4), transcoding server 450 (FIG. 4) may
determine whether the requesting device is a device other than the
source device. If the requesting device is the source device, the
process continues to step 950 (described below). Otherwise, the
process continues to step 920.
[0093] At step 920, transcoding server 450 (FIG. 4) may identify an
appropriate media content format for the requesting device. In some
embodiments, an appropriate media content format may be included in
the access request received from the requesting device. In some
embodiments, the transcoding server may automatically determine an
appropriate media content format for the requesting device based,
for example, on the capabilities of the requesting device. For
example, transcoding server 450 (FIG. 4) may select an appropriate
media content format from a plurality of media content formats
based on the capabilities of the requesting device. In some
embodiments, an appropriate format for the requesting device may be
selected based on any combination of the bandwidth, display, or
storage capabilities of the requesting device.
[0094] 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.
[0095] At step 926, a mirrored copy of the media content may be
transcoded on transcoding server 450 (FIG. 4). In some embodiments,
transcoding server 450 may obtain the mirrored copy of the media
content from mirroring server 430 (FIG. 4) through direct link 442
(FIG. 4) prior to or in concurrence with transcoding. In some
embodiments, transcoding on transcoding server 450 (FIG. 4) may
occur prior to receiving a request for the media content from the
requesting device (i.e., prior to step 916). In these embodiments,
transcoding server 450 or mirroring server 430 (both of FIG. 4) may
store the pre-transcoded copy of the mirrored media content to be
provided in response to access requests. In some embodiments, the
pre-transcoded media content may be automatically provided in media
content updates to user devices designated to receive such
automatic updates.
[0096] At step 928, the mirrored, transcoded copy of the media
content is provided to the requesting device by transcoding server
450 (FIG. 4). The media content may be transmitted to the
requesting device through communications path 460 (FIG. 4). In some
embodiments, the mirrored, transcoded copy of the media content may
be provided to the requesting device in segments based, for
example, on the decoding rate and/or available storage capacity of
the requesting device. The process continues to step 930.
[0097] 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 (FIG. 4) or locally from a mirrored,
transcoded copy provided by transcoding server 450 (FIG. 4) and
cached or stored by the requesting device. Regardless of how the
media content is played on the requesting device, the user may be
provided with VCR-like control of the media content. For example,
the media content may be played using an interactive media guidance
application. The media guidance application may display an overlay
or other indication to indicate to a user when the user has
stopped, paused, rewound, or fast-forwarded the media content. If
the media content is played on the requesting device remotely from
transcoding server 450 (FIG. 4), the transcoding server may store a
pointer within the mirrored and transcoded media content, which may
be adjusted as the media content is played, fast-forwarded,
rewound, or stopped, to keep track of the current playback
location. In these embodiments, transcoding server 450 (FIG. 4) may
use pointer information for the current program being played by the
user to determine when the next media content requested by the user
should be made ready for playback. For example, at a suitable point
before a user pointer is adjusted beyond the beginning or end of
the media content, the previous or next media content requested by
the requesting device may be processed.
[0098] 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.
[0099] 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 (FIG. 4) may be configured such
that access requests from the source device, which are typically
data recovery requests, are received and processed by mirroring
server 430. At step 950, mirroring server 430 (FIG. 4) or
transcoding server 450 (FIG. 4) may determine whether the requested
media content is available on the source device. If the source
device does not have the media content, the media content may be
restored on the source device from the mirrored copy on mirroring
server 430 (FIG. 4) at step 952. In some embodiments, the media
content may be automatically restored in response to a user input
to access the media content received by the source device and
transmitted from the source device to the mirroring server. In
other embodiments, the media content may be restored only in
response to a user request to restore the media content (e.g., in
response to a user response to an on-screen prompt at step 952).
The process continues to step 954 where the media content is played
on the source device from the copy of the media content that is
stored (or restored) on the source device.
[0100] 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 (FIG. 4) on the requesting
device in real-time. If the media content is distributed as a
digital data stream, the requesting device may decode the data
stream in real-time. The media content may be distributed and
played back according to preferences that were set up by the user.
In a second suitable approach, the media content may be distributed
as one or more digital files or as a digital data stream, and are
stored by the requesting device for playback. In a third suitable
approach, the media content may be played back by transcoding
server 450 (FIG. 4) and distributed according to a schedule over an
analog or digital channel using a suitable near-video-on-demand
(NVOD) approach. Any combination of these approaches, or any other
suitable approach, may also be used.
[0101] 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.
[0102] 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.
* * * * *
References