U.S. patent application number 13/943390 was filed with the patent office on 2014-01-30 for video recorder having user extended and automatically extended time slots.
Invention is credited to Jim Bumgardner, Haig H. Krakirian.
Application Number | 20140029918 13/943390 |
Document ID | / |
Family ID | 32592791 |
Filed Date | 2014-01-30 |
United States Patent
Application |
20140029918 |
Kind Code |
A1 |
Bumgardner; Jim ; et
al. |
January 30, 2014 |
VIDEO RECORDER HAVING USER EXTENDED AND AUTOMATICALLY EXTENDED TIME
SLOTS
Abstract
The present invention is directed to a video recorder having
user extended and automatically extended time slots. An embodiment
of the present invention includes a set top box having an internal
storage device, such as a hard drive where broadcasts are
transferred from a broadcast input source to the storage device.
The set top box is connected to an output device such as a
television, which displays a graphical user interface (GUI) and an
interactive program guide (IPG). The user has the option to extend
a chosen time slot, in which a show is scheduled to be transferred
to the storage device. The time slot may be extended before the
show, after the show, or both. The system also implements an
automatic extension of the time slot by default, which is used to
ensure that the data is completely captured to the system, in case
the broadcast and the set top box are slightly out of sync, the
broadcaster unexpectedly begins a show's broadcast slightly early
or late, or the show unexpectedly runs longer than the IPG
indicates.
Inventors: |
Bumgardner; Jim; (Shadow
Hills, CA) ; Krakirian; Haig H.; (Burbank,
CA) |
Family ID: |
32592791 |
Appl. No.: |
13/943390 |
Filed: |
July 16, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12940628 |
Nov 5, 2010 |
8532466 |
|
|
13943390 |
|
|
|
|
10707834 |
Jan 15, 2004 |
7853120 |
|
|
12940628 |
|
|
|
|
10249575 |
Apr 21, 2003 |
6760538 |
|
|
10707834 |
|
|
|
|
Current U.S.
Class: |
386/261 |
Current CPC
Class: |
H04N 5/91 20130101; H04N
9/7921 20130101; H04N 5/781 20130101; H04N 5/782 20130101; H04N
5/907 20130101; H04N 5/76 20130101; H04N 5/775 20130101; H04N 5/765
20130101 |
Class at
Publication: |
386/261 |
International
Class: |
H04N 5/91 20060101
H04N005/91 |
Claims
1-36. (canceled)
37. A method comprising: recording a first video on a storage
device, wherein the first video includes a core segment and a user
extended segment; determining that at least a portion of the user
extended segment corresponds to a second video, wherein the second
video includes restricted access content; and restricting access to
the restricted access content when the first video is accessed from
the storage device.
38. The method of claim 37, further comprising: retrieving a
content access setting associated with the second video in response
to determining that the at least a portion of the user extended
segment corresponds to a second video; and determining, based on
the content access setting associated with the second video, that
the at least a portion of the user extended segment corresponds to
restricted access content.
39. The method of claim 37, wherein restricting access to the
restricted access content when the first video is accessed from the
storage device includes blocking the first video when the first
video is accessed from the storage device.
40. The method of claim 37, wherein restricting access to the
restricted access content when the first video is accessed from the
storage device includes blocking only the at least a portion of the
user extended segment that corresponds to the second video.
41. The method of claim 37, further comprising storing the at least
a portion of the user extended segment that corresponds to the
second video separately from at least a portion of the first
video.
42. The method of claim 37, further comprising determining a first
setting associated with the first video and a second setting
associated with the second video.
43. The method of claim 42, further comprising associating the
first setting with the at least a portion of the user extended
segment that corresponds to the second video.
44. The method of claim 37, further comprising receiving a user
input that includes the user extended segment in the first
video.
45. The method of claim 44, further comprising requesting proper
authentication in order to include the user extended segment in the
first video.
46. The method of claim 37, further comprising requesting proper
authentication in order to access the restricted access content
when the first video is accessed from the storage device.
47. A system comprising control circuitry configured to: record a
first video on a storage device, wherein the first video includes a
core segment and a user extended segment; determine that at least a
portion of the user extended segment corresponds to a second video,
wherein the second video includes restricted access content; and
restrict access to the restricted access content when the first
video is accessed from the storage device.
48. The system of claim 47, further comprising control circuitry
configured to: retrieve a content access setting associated with
the second video in response to determining that the at least a
portion of the user extended segment corresponds to a second video;
and determine, based on the content access setting associated with
the second video, that the at least a portion of the user extended
segment corresponds to restricted access content.
49. The system of claim 47, wherein restricting access to the
restricted access content when the first video is accessed from the
storage device includes blocking the first video when the first
video is accessed from the storage device.
50. The system of claim 47, wherein restricting access to the
restricted access content when the first video is accessed from the
storage device includes blocking only the at least a portion of the
user extended segment that corresponds to the second video.
51. The system of claim 47, further comprising control circuitry
configured to store the at least a portion of the user extended
segment that corresponds to the second video separately from at
least a portion of the first video.
52. The system of claim 47, further comprising control circuitry
configured to determine a first setting associated with the first
video and a second setting associated with the second video.
53. The system of claim 52, further comprising control circuitry
configured to associate the first setting with the at least a
portion of the user extended segment that corresponds to the second
video.
54. The system of claim 47, further comprising control circuitry
configured to receive a user input that includes the user extended
segment in the first video.
55. The system of claim 54, further comprising control circuitry
configured to request proper authentication in order to include the
user extended segment in the first video.
56. The system of claim 47, further comprising control circuitry
configured to request proper authentication in order to access the
restricted access content when the first video is accessed from the
storage device.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 12/940,628, filed on Nov. 5, 2010 (now
allowed), which is a continuation of U.S. patent application Ser.
No. 10/707,834, filed on Jan. 15, 2004 (now U.S. Pat. No.
7,853,120), which is a continuation of U.S. patent application Ser.
No. 10/249,575, filed on Apr. 21, 2003 (now U.S. Pat. No.
6,760,538). These prior applications are hereby incorporated by
reference herewith in their entireties.
COPYRIGHT STATEMENT
[0002] All of the material in this patent document is subject to
copyright protection under the copyright laws of the United States
and of other countries. The owner of the copyright has no objection
to the facsimile reproduction by anyone of the patent document or
the patent disclosure, as it appears in the United States Patent
and Trademark Office file or records, but otherwise reserves all
copyrights whatsoever.
BACKGROUND OF INVENTION
[0003] 1. Field of the Invention
[0004] The present invention relates generally to systems that
transfer broadcast content to volatile and/or nonvolatile storage
devices.
[0005] 2. Background of the Invention
[0006] The capture of broadcast content gained major popularity
with the advent of the VCR.
[0007] A user was able to tune their television to a station that
had a show that they wanted to save and they simply inserted a
storage device (e.g., a VHS tape), moved the tape to the
appropriate location, and began capturing the broadcast. Recently,
other types of equipment have developed to perform similar
functionality. These types of equipment include, for instance, DVD
recorders (DVDR) and set top boxes that include digital video
recorders.
[0008] Both of these types of equipment are used in a manner that
is similar to the operation of VCRs. Each has its own storage
device (i.e., a DVD or hard drive) and each storage device is of
finite space, if a user is saving a long program, multiple
programs, or begins saving the program when the storage device is
nearly full, there is a chance that the program the user is trying
to save will be lost. This is a frustrating problem for the average
user, specifically when they want to save content when they are
away from the home.
Saving Broadcast Content
[0009] Saving broadcast content in its simplest form comprises
turning on the television set and pressing a button on a VCR. More
recently, VCRs, DVDRs, and digital video recorders (DVR), include
interfaces which allow users to schedule the transfer of programs
at a later date or time. Using this interface, the user is able to
give the device a time and a channel and when it is the right time
the device tunes to the channel, and begins saving the program.
This is useful, for instance, when the user is away from home and
wants to see the program later.
[0010] Another modern interface allows the user to focus on a
favorite program. For instance, a user may love Monday Night
Football, which occurs every Monday night from 6:00 P.M. to 9:00
P.M. So, the user may wish to transfer this broadcast to a storage
device regardless of whether they are home or not and may not want
to have to instruct the machine every time. Using the interface,
the user is able to set the system to save content for the three
hours on Monday night when the football game is broadcast every
week.
Tuner Conflicts
[0011] However, these schemes are inadequate because conflicts may
arise in the scheduling system. Typically, a system is limited by
the number of tuners it has. A one tuner system, for instance can
either be used to save a program on a specific channel or watch the
channel, however, the system cannot save content on one station and
be used to watch another station. A two tuner system can be used to
transfer and watch two different stations. Situations arise,
however, where the system has been given instructions to transfer
multiple shows simultaneously and there are not enough available
tuners to perform this function.
Show Prioritization
[0012] One technique prioritizes shows scheduled to be transferred
and when a conflict arises only the highest priority show is
transferred. This technique is limited, however, because sometimes
a user extends a timeslot in the transfer schedule to a few minutes
before and a few minutes after the actual show. The user might do
this because, for instance, they might want to save part of a
pregame show for a sports event, or they might want to save content
after a sports event, if it goes into overtime. Moreover, the
system might automatically extend time slots by brief periods
automatically to avoid missing content if the broadcaster's clock
and the system's clock are out of sync or if the broadcast starts a
few minutes early or late.
[0013] In such a case, a conflict may arise solely because of a
user extended or automatically extended time slot, if these
additional time slots are not treated as separate entries,
unexpected results may occur. For instance a high priority first
show may override a lower priority second show and cause the second
show to not be saved merely because the first show overlapped the
second show by an automatically extended minute or two. Such a
result is clearly inadequate.
SUMMARY OF INVENTION
[0014] The present invention is directed to a video recorder having
user extended and automatically extended time slots. An embodiment
of the present invention includes a set top box having an internal
storage device, such as a hard drive where broadcasts are
transferred from a broadcast input source to the storage device and
are played back from the storage device to an output device, such
as a television or computer monitor. The set top box displays a
graphical user interface (GUI) and an interactive program guide
(IPG) on the output device. The IPG displays a list of shows that
are available by tuning to different channels at different times as
well as descriptions and details about each show. The GUI allows
the user to navigate through the IPG, for instance, by viewing
different times and dates for broadcasts, and also allows the user
to view the shows that are scheduled to be transferred to the
storage device in the future, and the shows that have already been
transferred to the storage device.
[0015] The GUI also allows the user to utilize a video recorder,
for instance by navigating the IPG and selecting broadcasts to
later transfer to the storage device. The user may select one or
more broadcasts, or may repeatedly transfer the same program in a
series to the storage device. The user has the option to extend the
time slot, in which a show is scheduled to be transferred to the
storage device. The time slot may be extended before the show,
after the show, or both. The system also implements an automatic
extension of the time slot by default. Automatically extended time
is used to ensure that the data is completely captured to the
system, in case the broadcast time and the set top box time are
slightly out of sync or the broadcaster unexpectedly begins a
show's broadcast slightly early or late.
[0016] Each show is given a priority either automatically or
manually. Each user extended and automatically extended timeslot is
also prioritized. When a conflict arises, the present invention
generates solutions to the conflicts. When a conflict is merely
multiple shows that overlap, various factors are used to determine
which show is the highest priority. When a user extended or
automatically extended time slot causes a conflict, then the
extended time slots are prioritized separately from the actual show
and the algorithms attempt to resolve conflicts by removing user
extended or automatically extended time slots.
[0017] In one embodiment, where there are several solutions to a
conflict, the system automatically finds the shows that, when
removed from the transfer schedule, will result in the most shows
of the highest priority to be transferred. Typically the system
will present one or two of the most optimal shows to remove from
the schedule to achieve a good solution. In another embodiment, an
adjacent show list is implemented. The adjacent show list contains
metadata for the shows immediately before and after a scheduled
show. The adjacent show list is used to disable user extended time
for parental control reasons, so that an unauthorized user is not
able to extend the transfer into the body of another show that they
are not permitted to capture.
BRIEF DESCRIPTION OF DRAWINGS
[0018] The invention will be more fully understood by reference to
the following drawings, which are for illustrative purposes
only:
[0019] FIG. 1 is a functional block diagram of an embodiment of a
set top box.
[0020] FIG. 2 is a diagram of a configuration for one of the
multiple tuners associated with the video recorder.
[0021] FIG. 3 shows a configuration for a single decoder.
[0022] FIG. 4 is a diagram of a typical tuner arrangement for use
with a live TV signal.
[0023] FIG. 5 is a diagram of a typical tuner arrangement for use
when transferring a signal to a storage device.
[0024] FIG. 6 shows an arrangement for when a user is watching a
show that has already been transferred to a storage device.
[0025] FIG. 7 shows an arrangement for when a user is watching a
show on the storage device while another show is being transferred
to the storage device.
[0026] FIG. 8 is a block diagram showing the components of a
scheduled show and its corresponding timeslots according to one
embodiment of the invention.
[0027] FIG. 9 is a flowchart showing how one embodiment of the
present invention manually resolves conflicts.
[0028] FIG. 10 is a flowchart showing how one embodiment of the
present invention automatically resolves conflicts.
[0029] FIG. 11 is a block diagram showing a process whereby an
embodiment of the present invention searches future guide data to
transfer, in order to solve a conflict.
[0030] FIG. 12 is another flowchart showing how an embodiment of
the present invention automatically resolves conflicts.
[0031] FIG. 13 is a block diagram showing how a conflict might
arise that requires a manual resolution simplification process.
[0032] FIG. 14 is a flowchart showing how an embodiment of the
present invention produces the results of a manual resolution
simplification process.
[0033] FIG. 15 is a flowchart showing the management of a conflict
according to one embodiment of the invention.
[0034] FIG. 16 is a flowchart showing the management of a conflict
according to one embodiment of the invention.
[0035] FIG. 17 is a block diagram showing the implementation of an
adjacent show list according to one embodiment of the
invention.
[0036] FIG. 18 is a flowchart showing how one embodiment of the
invention handles an adjacent show list.
[0037] FIG. 19 is a functional block diagram of a video recorder
according to an embodiment of the present invention.
DETAILED DESCRIPTION
[0038] The present invention is directed to a video recorder having
user extended and automatically extended time slots. A video
recorder as used herein refers to a device capable of transferring
one or more broadcast signals to a storage device and retrieving
the broadcast signals from the storage device. The terms video
recorder, personal video recorder (PVR), and digital video recorder
(DVR) are used herein interchangeably. Referring more specifically
to the drawings, for illustrative purposes an embodiment of a video
recorder is shown in the functional block diagram of FIG. 1.
Video Recorder
[0039] A video recorder 5 is an internal or external component of a
set top box 10. The video recorder 5 includes some or all of a
combination of software, hardware, and firmware. In one embodiment,
the video recorder 5 uses a storage device 6, such as a hard drive
that is internal or external to the set top box 10 where shows are
saved. The set top box 10 connects to an output device 20, which
facilitates the use of broadcast signals, such as live television
signals, video on demand broadcasts, downloads of Internet content,
viewing of web pages, and viewing of content previously transferred
to the storage device 6. In the example of FIG. 1, set top box 10
is shown as being external to output device 20. It should be
understood by someone having ordinary skill in the art, that set
top box 10 may be internal to output device 20 as well.
[0040] A GUI 7 that includes an IPG 8 is provided, which is
displayed on the output device 20. GUI 7 in conjunction with IPG 8
allows the user to control the video recorder 5, typically using a
remote control 60. For instance, the user may search the IPG 8 and
select shows which are then scheduled to be transferred to storage
device 6. The software or firmware that controls set top box 10 may
be installed locally or it may be downloaded from the Internet as
needed when configuring new set top boxes or when updating existing
ones.
[0041] Set top box 10 is connected to output device 20 via a
transmission line 30. Broadcast signals are received by the set top
box 10 via broadcast input source 40, which may be connected to
either an antenna, cable television outlet, or other suitable input
source. One or more tuner systems 45 are configured to allow the
system to utilize broadcast signals from multiple channels. The
video recorder component 5 includes a hard disk drive 6 in
conjunction with a volatile memory 46, such as a Random Access
Memory (RAM). Typically, the broadcast input along line 40 is
bandied by the tuner 45. The signal is temporarily resident in
memory 46 using a circular buffer or other cache before being
transferred more or less permanently to storage device 6. The tuner
system 45 works in conjunction with the storage device 6 so that
for each tuner in the system, each can simultaneously transfer
broadcast signals to the storage device 6, or display channels up
to the given number of tuners on output device 20.
[0042] Set top box 10 receives power through a line 50. Set top box
10 receives user input entered from a handheld remote control 60
over a wireless link 70. Wireless link 70 may be an infrared (IR)
link, a radio frequency (RF) link, or any other suitable type of
link. A bidirectional data path 80 is provided to set top box 10,
through which set top box 10 can access the Internet 90.
Transmission line 40 may provide data from a variety of input
sources including cable, satellite, or electromagnetic waves.
Tuner Management
[0043] In one embodiment of the present invention, the PVR uses
multiple tuners. Each of the tuners is normally associated with one
encoder and one cache, which may be a fixed or variable size cache
(for a live signal) or a fixed file in the case where the incoming
signal is merely transferred to the storage device. FIG. 2 shows
various configurations for one of the multiple tuners associated
with the PVR. Video stream 200 is provided to tuner 210, which
passes the signal to encoder 220, which transfers the data in a
cache 230. This configuration is used for analog use of a live TV
signal.
[0044] An alternate configuration includes a video stream 240,
which is then provided to tuner 245, which is then passed to
encoder 250 and then to fixed file block 260. This configuration is
useful for the analog transfer of a signal. For digital channels,
encoder blocks 220 and 250 are removed, since the signal has
already been digitized.
[0045] FIG. 3 shows a configuration for a single decoder. Cache 300
provides data to decoder 310, which outputs video signal 320. This
arrangement is useful for watching live TV. Alternatively, fixed
file block 330 provides data to decoder 340, which outputs a video
signal 350. This embodiment is useful for playing back a show that
has already been transferred to the storage device.
[0046] Each decoder shown in FIG. 3 is associated with a
tuner/encoder pair. For a live TV signal, FIG. 4 shows an example
of a typical arrangement, where video signal 400 is transmitted to
tuner 410 then to encoder 420 and to cache 430. After it leaves
cache 430 it is decoded in block 440 and the outgoing video signal
450 is displayed on the television, it should be noted that a delay
interval 460 of a given (x) number of seconds occurs between the
time the signal reaches encoder 420 and is output by decoder 440.
Therefore, a live TV signal is typically a signal that has been
delayed by (x) seconds. If a user is watching a program and is
currently transferring the program to a storage device as well, a
cache, as shown in block 430 of FIG. 4 is not used. Instead, a
fixed buffer 500, shown in FIG. 5 is used.
[0047] If the user is watching a show that has already been
transferred to the storage device, the decoder is decoupled from
the encoder (i.e., it reads from a different cache than the
encoder), which continues to encode and cache the live video
signal. This embodiment is shown in FIG. 6, where video signal 600
is tuned at block 605 and encoded at block 610 and stored in buffer
620. Fixed buffer 630 is used to provide data to decoder 640, which
provides the output signal 650.
[0048] Finally, if a user is watching a show that resides already
on the storage device while another show is currently being
transferred to the storage device, two different fixed buffers are
implemented. This embodiment of the present invention is shown in
FIG. 7, Video signal 700 is tuned at block 705 and encoded at block
710 and stored in a first fixed buffer 720. A second fixed buffer
730 is used to watch the previously saved show, by transmitting and
decoding the data at block 740 and displaying the output video
signal 750 on a television.
Show Scheduling
[0049] A user might schedule a show in a number of ways that could
potentially give rise to a conflict, in one scenario the user is
watching a television broadcast and presses a button on a remote
control intended to initiate a transfer of the current show to the
storage device. At the same time, another show is already being
transferred to the storage device on another channel and the system
cannot transfer both simultaneously. Alternatively, the user may
have scheduled a number of shows to automatically be transferred to
the storage device, for instance by accessing an IPG and selecting
shows and/or by setting up the automatic transfer of certain series
or specific programs (a series manager). If at some time that
number of shows scheduled to be transferred exceeds the number of
available tuners, a conflict arises.
[0050] Whenever a user schedules a show, the complete timeslot the
system needs to have a tuner available to transfer the show is
partitioned into its respective component timeslots. FIG. 8 gives
an example of some of the components in a typical complete
timeslot. Complete timeslot 800 has a start time 810 and an end
time 820. Between start time 810 and end time 820 is the complete
time slot. The timeslot 800 comprises automatically extended 830
and automatically extended trail time 840. Automatically extended
times 830 and 840 are typically only for a few minutes and may be
automatically added to every show scheduled by the user. User
extended lead time 850 and user extended trail time 860 are
timeslots the user has manually asked the system to append to the
actual show that comprises the core time 870 also referred to as
the body of the show. Each component of the partitioned timeslot
800 is given a different priority and each is handled as a separate
entity when the system attempts to resolve a conflict.
Conflict Resolution
[0051] An embodiment of the present invention is configured to
process conflicts. A conflict occurs when the number of shows (or
component timeslots) scheduled to be transferred to the storage
device exceed the number of available tuners. For the purposes of
this example, it is assumed for simplicity that the system has two
tuners, although the system may have any number of tuners. In one
scenario the user is watching a television broadcast and presses a
button on a remote control intended to initiate a transfer of the
current show to the storage device. The pressing of the button
generates an instruction to the video recorder which causes it to
schedule the show. At the same time, another show is already being
transferred to the storage device on another channel.
[0052] Alternatively, the user may have instructed the system to
schedule a number of shows to automatically be transferred to the
storage device, for instance by accessing an IPG and selecting
shows and/or by setting up the automatic transfer of certain series
or specific programs in the series manager, if at some time that
number of shows scheduled to be transferred exceeds the number of
available tuners, a conflict arises. Moreover, the user may have
automatically extended timeslots enabled on their system, if so,
the time slot either leading or trailing the show may extend into
the body of another show. If this event causes the number of
available tuners to be exceeded, then a conflict arises. Also, a
user may have extended a show either at the lead or trail end and
this manual extension may run into the body of another program and
cause a similar conflict.
[0053] When conflicts arise, the user will typically be given
notice and an opportunity to correct (solve) the conflict manually
before it occurs. However, if the user does not or is not available
to interact with the system, then the system automatically solves
the conflict. FIG. 9 is a flowchart giving an example of how one
embodiment of the present invention identifies and finds solutions
to conflicts manually.
[0054] At block 900 a user schedules shows (including user extended
and automatically extended timeslots) that they want to transfer to
the storage device, collectively this is called timeslot x. At
block 910 it is determined if the number of available tuners during
timeslot x is less than what is needed to completely transfer
timeslot x and any other shows that are scheduled during that
timeslot (i.e., there is a conflict). If there is no conflict, the
system transfers timeslot x at block 915 to the storage device, and
block 900 repeats.
[0055] If there is a conflict then at block 920, the system
provides the user with a manual resolution screen. An example of a
manual resolution screen includes various choices to manually
resolve the conflict. These include, for instance, cancel show A,
cancel show B, do not schedule timeslot x, or trim shows A and/or
B. Trimming the show includes, for instance, removing user extended
or automatically extended timeslots. At block 930, it is determined
if the user has solved the conflict manually by trimming or
canceling shows A and/or B. If so, then timeslot x is added to the
schedule queue at block 940 and flow proceeds to block 915.
Otherwise, the user does not wish to schedule timeslot x, so the
process is complete.
[0056] In another embodiment of the present invention, the
conflicts are resolved automatically. This embodiment is shown in
FIG. 10, where at block 1000 shows are automatically scheduled to
be transferred to a storage device (including user extended and
automatically extended timeslots), collectively this is called
timeslot z. Timeslot z may be scheduled for instance, by an
automated process (series manager) configured to transfer every
instance of a certain show, type of sporting event, genre, title,
timeslot, etc. At block 1010 it is determined if the number of
available tuners during timeslot 2 is less than what is needed to
completely transfer timeslot z and any other shows that are
scheduled during that timeslot (i.e., there is a conflict). If
there is no conflict, the system transfers timeslot z at block 1015
to the storage device, and block 1000 repeats.
[0057] If there is a conflict then at block 1020, the system
examines the priorities of the conflicting timeslots (including
timeslot z). At block 1030, it is determined if timeslot z is the
lowest priority timeslot. If so, then timeslot z is not scheduled
and the process is complete. Otherwise, timeslot 2 is added to the
schedule queue at block 1040 and block 1015 repeats.
[0058] In another embodiment of the present invention, shows that
are not transferred because of a conflict remain in a separate list
or queue waiting to be transferred later if an opportunity occurs.
For instance, the missed transfer may be broadcast again the next
day. The system will attempt to initiate the transfer automatically
the next day when the show occurs if it is possible. FIG. 11 shows
how this process works according to one embodiment of the present
invention.
[0059] Guide data 1110, which contains the information needed to
determine what shows are broadcast at certain times, is transferred
to the set top in portions over time. For instance, one day of
guide data may be downloaded at a time as first portion 1140. A
loop 1120 walks through the guide data by comparing each component
of the guide data to show A 1100, which has been entered in a queue
1160. It is assumed for the purposes of FIG. 11, that show B 1130
has been previously scheduled and that show B has a higher priority
than show A 1100. In this example, show A 1100 is not transferred
and show B 1130 is transferred when loop 1120 reaches first guide
data component 1105 of guide data 1110.
[0060] As a second portion 1170 of guide data 1110 is downloaded,
for instance the next day, the system continues walking through the
guide data 1110 using loop 1120. Eventually, the system matches
show A 1100 in queue 1160 with a repeated airing of show A 1150
when the loop 1120 reaches a second component of the guide data
1155. At this point the system is able to transfer repeated show A
1150 and the conflict is solved, since original show A 1100 is
transferred and show B 1130 was also transferred. From a user
perspective this is satisfactory, since they have stored both
broadcasts and if the user did not immediately try to watch
original show A, the whole process occurred transparently to the
user.
[0061] In one embodiment, queue 1160 described in connection with
FIG. 11 comprises multiple queues that are used together to resolve
conflict. Table I shows some of the queues used to resolve
conflicts:
TABLE-US-00001 TABLE 1 Name of Queue Purpose Saved Saved shows are
placed in the saved shows queue along with Show shows that are
actively being transferred to the storage device Queue Schedule
Shows that are scheduled to be transferred to the storage Queue
device in the future arc placed to this queue Series Each entry In
this queue comprises a template having data Manager about each
series that is automatically transferred to the Queue storage
device. This includes, for instance, the series title, genre, time,
etc. The data is used, for instance to find matches in guide data
entries when a loop walks the guide data. Manually This queue
contains shows the user has manually deleted from Deleted a series
manager or schedule queue. Queue Adjacent Contains entries about
shows adjacent (before and after) Shows shows in the schedule
queue. It is used to prevent the system Queue from transferring a
portion of a show (user or automatically extended timeslot) that
might have adult content.
[0062] FIG. 12 is a flowchart showing how the queues described with
respect to Table 1 are used when carrying out a process, such as
the process described in FIG. 10. At block 1200 a component of the
guide data representing a show is examined. At block 1210, it is
determined if the component of the block of guide data matches a
pattern of a show in the series manager queue (i.e., the user
intends to record this show every time it occurs). If not, block
1200 repeats on the next available component of the guide data. If
so, then at block 1220, it is determined if that component of the
guide data already resides in the saved show queue if it does, then
the show is not transferred, since it already has been saved, and
block 1200 repeats. Otherwise, it is determined if the guide data
component is already in the schedule queue at block 1230. If so,
then it is not acted upon and block 1200 repeats. Otherwise, it is
determined if the show is in the manually deleted queue at block
1240. If so, it is not acted upon since the user has decided
manually not to transfer the show anymore, so block 1200 repeats.
Otherwise, it is determined if there is a conflict at block 1250.
If not, the show is transferred to the storage device at block
1260. Otherwise, the conflict is resolved at block 1270.
Manual Resolution Simplification Process
[0063] When a PVR, DVR, or other video recording system has many
tuners, there may be an exponentially large number of potential
solutions that will solve a conflict. To simplify the interface
that is presented to the user to manually resolve the conflict, the
present invention typically selects one or two choices to present
to the user that are most satisfactory. FIG. 13 is a diagram
showing how multiple solutions may occur.
[0064] Assume the user has scheduled a long show 1300 for transfer
to the storage device. The long show may, for instance be a
sporting event or a movie. Within complete timeslot reserved for
long show 1300, short programs A 1320, B 1321, C 1322, D 1323, E
1324, and F 1325 are also scheduled. Assuming the system under
consideration has two tuners, three conflicts have arisen. There
are multiple solutions to this conflict. A first solution is to
choose A 1320, C 1322, E 1324, and long show 1300. A second
solution is to choose B 1321, C 1322, E 1324, and long show 1300.
There are a total of eight solutions to the present conflict.
Instead of presenting the user with all eight solutions, the
system, according to one embodiment, presents the user with only
one or two optimal choices that will resolve the conflict.
[0065] FIG. 14 is a flowchart describing the process of how an
embodiment of the present invention finds and presents a user with
a small amount of optimal choices to solve a conflict. The process
begins at block 1400 where all conflicting programs/timeslots are
obtained. At block 1410, all of the solutions are obtained and
added to a list. At block 1420, each timeslot in the solution has
its priority examined. At block 1430, a cumulative priority is
given to the entry in the list based on the priorities of all of
its timeslots involved in the solution. At block 1440, it is
determined if there are any more entries for solutions in the list.
If so, block 1420 repeats and the next solution entry in the list
is prioritized. After the entire list is examined, the system
presents the user at block 1450 with one or two of the lowest
priority solutions, so that the user may delete one of those
solutions to solve the conflict.
Show Priority
[0066] If there are instructions that cause a conflict for system
resources, which prevent all the desired content from being
transferred to the storage device, a prioritization system is used
to determine which content is more desirable. This system is also
used to determine undesirable content when deciding which shows to
suggest to the user to delete in order to avoid conflicts as shown
in FIG. 14. Each time slot to be saved, based on user instructions,
is handled as a type. A first type may be, for instance,
automatically extended time, while a second type may be a show's
body (or core time). Table 2 shows some examples of the various
typing of timeslots and the resulting priority, according to an
embodiment of the present invention:
TABLE-US-00002 TABLE 2 Type 1 Type 2 Priority Currently being
transferred to Other content Content 1 is given a higher the
storage device priority. Scheduled manually by the An episode
automatically Content 1 is given a higher user to be transferred to
the transferred to the storage priority storage device device by a
series manager Content automatically Content automatically The
content with the highest transferred to the storage transferred to
the storage series priority is chosen. The device by a series
manager device by a series manager series priority may be set
manually. One embodiment determines this by a position in a series
queue. Shows closer to the top are more desirable Equal priority as
content 2 Equal priority as content 1 The longer consent is given
priority. Automatically extended time Not automatically extended
The content that is not time automatically extended time is given a
higher priority User extended lead time that Other content The body
of content 2 is extends into the body of preserved, and the user
content 2 extended lead time is not recorded User extended trail
time that is Other content The body of content 2 is less than a
fixed interval and preserved and the user extends into the body of
extended trail time is not content 2 recorded. The fixed interval
may be, for instance, 5 minutes. User emended trail time that Other
content The extended trail time is is greater than a fixed interval
recorded and the body of and extends into the body of content 2 is
truncated. content 2 User extended trail time User extended lead
time User extended trail time is given a higher priority.
[0067] When the system finds one or more conflicts and priority is
needed to solve the conflict, the flowchart of FIG. 15 shows how
one embodiment of the present invention resolves the conflict. The
algorithm takes as input at block 1500 timeslots A and B, which are
in conflict. Timeslots A and B are, for instance, the body of a
show, user extended lead or trail time, or automatically extended
lead or trail time. At block 1510, it is determined if timeslot A
is automatically extended time. If timeslot A is automatically
extended time, then it is determined at block 1520 if timeslot B is
automatically extended time, if timeslot B is not automatically
extended time, then timeslot B is given higher priority and the
conflict is solved at block 1530.
[0068] If, however, at block 1510, timeslot A is not automatically
extended time. Then it is determined at block 1540 if timeslot B is
automatically extended time. If it is, then timeslot A is given a
higher priority and the conflict is solved at block 1550. If,
however, at block 1540, B is not automatically extended time or at
block 1520, B is automatically extended time (meaning either both
timeslots A and B are both automatically extended time or both are
not automatically extended time) then at block 1560, it is
determined if timeslot A is of a higher priority. If so then flow
proceeds to block 1550. Otherwise, flow proceeds to block 1530.
[0069] If a conflict cannot be solved by using automatically
extended time alone, then additional decision making algorithms are
employed. These steps are invoked, for instance, when block 1560 of
FIG. 15 is reached. FIG. 16 describes the steps that an embodiment
of the present invention takes when it reaches a situation such as
block 1560 of FIG. 15 when a conflict cannot be solved simply by
not transferring the automatically extended time to the storage
device. FIG. 16 assumes that timeslot A comprises user extended
time.
[0070] At block 1600 the algorithm takes as input a user extended
timeslot in timeslot A and other content, such as the body of a
show or user extended time in timeslot B. At block 1610, it is
determined if timeslot A is user extended lead time. If so, then at
block 1615, it is determined if timeslot B is the body of a show.
If so, then timeslot B is given priority at block 1620, and the
user extended lead time is not transferred to the storage
device.
[0071] If however, at block 1610, timeslot A is user extended trail
time, it is determined at block 1630, if the user extended trail
time is less than a fixed interval, five minutes, for instance. If
so, then it is determined at block 1615 if timeslot B is the body
of a show. If so, then flow proceeds to block 1620 and timeslot B
is transferred to the storage device if it is the body of a show.
Otherwise, the trail time exceeds the fixed interval, so at block
1640, timeslot A is given priority and transferred to the storage
device, while timeslot B is truncated. Returning to block 1615, if
timeslot B is not the body of a show, then the timeslot with the
highest priority is chosen at block 1650.
Adjacent Shows
[0072] In one embodiment of the present invention, a list is
maintained of shows that are adjacent to a show that has been
scheduled to be transferred to the storage device. This is useful,
for instance, for parental control reasons, it is used to prevent
an unauthorized user, such as a child, from misusing user extended
lead time and user extended trail time to extend a transfer into
the body of another show that might have objectionable content. The
adjacent show list contains metadata for each show that is adjacent
to a scheduled show.
[0073] FIG. 17 is a block diagram showing the lists that are used
by an embodiment of the present invention. Program guide 1700
contains all of the shows the user can currently schedule. Show A
1710 has been selected by the user. Show A 1710 is placed in
schedule list 1720. Shows X 1730 and Y 1740 are adjacent to show A
1710. Adjacent shows X 1730 and Y 1740 are placed in adjacent show
list 1750. One or more metadata columns 1760 are associated with
each entry. Currently a metadata entry 1770 is activated in
association with show Y 1740. This is one way in which a system is
able to identify show Y 1740 as being one that needs parental
control. For instance metadata column entry 1770 might indicate
that show Y 1740 is rated R. Similarly, it might indicate that show
Y 1740 is rated X or show Y 1740 has violent content, graphic
language, nudity, other objectionable rating information such as
being on a specific channel, a content advisory, etc. Since show Y
1740 has a metadata entry 1770 indicating that show Y 1740 violates
a system content control, a user who has scheduled show A 1710 will
not be able to enable user extended trail time to extend into the
body of show Y 1740, without the proper authentication, PIN, key,
or the like.
[0074] FIG. 18 is a flowchart showing the process of using an
adjacent show list according to one embodiment of the present
invention. At block 1800, a user schedules a show to be transferred
to the storage device. At block 1810, the system begins
transferring the show to the storage device. At block 1820, the
shows adjacent to the show currently being transferred are placed
in an adjacent show list. At block 1830, the metadata for the shows
in the adjacent show list is checked. At block 1840, it is
determined if the metadata indicates that either show in the
adjacent show list contains content that might be restricted
through parental controls. If so, the system blocks the show in the
adjacent show list at block 1860. Otherwise, the system unblocks
the show at block 1850.
[0075] After blocks 1850 or 1860, it is determined if the current
time is within the current metadata record at block 1870. This is
accomplished, for instance, by using a playback head that moves
sequentially in time as the current show is transferred. As the
playback head reaches the end of the current show and moves to the
next show in time, the system will discover that the metadata in
the adjacent show list is no longer current. At that point the
system updates the adjacent show list and block 1870 becomes false.
When block 1870 becomes false, block 1820 repeats. Otherwise the
system loops until block 1870 becomes false.
Overall System
[0076] FIG. 19 is a functional block diagram that illustrates the
components of an embodiment of the present invention. Note that
FIG. 19 is intended to be a conceptual diagram and does not
necessarily reflect the exact physical construction and
interconnections of these components, set top box 10 includes
processing and control circuitry 1900, which controls the overall
operation of the system. Coupled to the processing and control
circuitry 1900 are one or more TV tuners 1910, a storage device
1920, a communication device 1930, and a remote interface 1940.
[0077] Tuners 1910 receive broadcast signals on transmission line
1960, which may originate from an antenna, a cable television
outlet, a satellite connection, or another suitable broadcast input
source. Processing and control circuitry 1900 provides audio and
video output to device 170 via a line 1970. Remote interface 1940
receives signals from remote control 60 via wireless connection 70.
Communication device 1930 is used to transfer data between set tap
box 10 and one or more remote processing systems, such as a web
server 1980, via a data path 1990.
[0078] Processing and control circuitry 1900 may include one or
more of devices such as general purpose microprocessors, digital
signal processors, application specific integrated circuits,
various types of signal conditioning circuitry, including analog to
digital converters, digital to analog converters, input/output
buffers, etc. Storage device 1920 may include one or more physical
memory devices, which may include volatile storage devices,
nonvolatile storage devices, or both. For example, storage device
1920 may include both random access memory (RAM), read only memory
(ROM), hard disk drives, various forms of programmable and/or
erasable ROM, flash memory, or any combination of these
devices.
[0079] Communication device 1930 may be a conventional telephone
modem, an integrated Services Digital Network adapter, a Digital
Subscriber Line adapter, a cable television modem, or any other
suitable data communication device. Logic 1995 typically is
resident in storage device 1920. Logic 1995 controls the overall
functionality of the system, including the GUI, IPG, and may also
be used when the video recorder has been given conflicting
instructions to transfer more shows to storage device 1920 then
there are tuners 1910 available. For instance, an instruction might
be generated from remote control 70 handled by the user. The
instruction would be sent across line 70, through remote interface
1940, and to processing and control circuitry 1900 via logic 1995.
Logic 1995 interprets and determines the action needed to be taken
based on the instruction and might eventually store information in
storage device 1920 that would allow the system to act on the
instruction at the appropriate time.
[0080] One or more of the algorithms and processes described herein
to manually and/or automatically resolve conflicts are stored in
logic portion 1995. These algorithms and other codes in logic
portion 1995 are used, for instance, to recognize the existence of
conflicts and to prioritize the conflicting programs to find
solutions to the conflicts by using automatically extended time,
user extended time, and core time, as well as other factors in
assessing the priorities of conflicting timeslots.
[0081] Although the description above contains many specificities,
these should not be construed as limiting the scope of the
invention but as merely providing illustrations of some of the
presently preferred embodiments of this invention. Thus the scope
of this invention should be determined by the appended claims and
their legal equivalents.
* * * * *