Video recorder having user extended and automatically extended time slots
09848161 · 2017-12-19
Assignee
Inventors
- Haig H. Krakirian (Burbank, CA, US)
- James A. Bumgardner (Shadow Hills, CA, US)
- Daniel Thomas Ward (Los Angeles, CA, US)
- Geoffrey Z. Ombao (Pacific Palisades, CA, US)
Cpc classification
H04N5/775
ELECTRICITY
H04N5/765
ELECTRICITY
International classification
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. A dialog box is used when certain types of shows are selected that commonly require timeslot extensions at the end of the show.
Claims
1. A method for storing media on a storage device, the method comprising: scheduling, with control circuitry, a media asset to be stored in the storage device during a scheduled transmission time associated with the media asset, wherein the media asset has a given duration; and prior to any portion of the media asset being received: determining whether the media asset, scheduled to be stored, is of a genre that commonly extends beyond its scheduled transmission time, causing the given duration of the media asset to increase, based on a comparison of a word associated with the media asset with one or more data fields stored in a database, wherein the one or more data fields stored in the database correspond to media content of the genre that commonly extends beyond its scheduled transmission time; and alerting a user of the control circuitry of an opportunity to extend storage of the media asset beyond the associated scheduled transmission time based on the determination that the media asset is of the genre that commonly extends beyond its scheduled transmission time.
2. The method of claim 1, further comprising alerting a user of potential conflicts due to extending storage of the media asset beyond the associated scheduled transmission time.
3. The method of claim 1, further comprising receiving a user indication to extend storage of the media asset beyond the associated scheduled transmission time.
4. The method of claim 3, wherein said step of receiving a user indication further comprises, automatically extending storage of the media asset by a predetermined amount.
5. The method of claim 4, wherein the predetermined amount is a timeslot interval.
6. The method of claim 4, wherein the predetermined amount is based on the genre of the media asset.
7. The method of claim 4, wherein automatically extending storage of the media asset by a predetermined amount includes prioritizing potential conflicts.
8. The method of claim 4, wherein automatically extending storage of the media asset by a predetermined amount includes automatically extending storage of all media content of that genre.
9. The method of claim 1, wherein the word associated with the media asset is a word in at least one of a title and a description associated with the media asset.
10. The method of claim 1, wherein the word associated with the media asset is identified from a description of the media asset, and wherein the determining comprises: comparing the word with one or more keywords stored in the one or more data fields; and determining the media asset is of a genre that commonly extends beyond its scheduled transmission time in response to determining that the word matches a keyword associated with the genre.
11. A system for storing media, the system comprising: a storage device configured to receive a media asset; and control circuitry configured to: schedule a media asset to be stored in the storage device during a scheduled transmission time associated with the media asset, wherein the media asset has a given duration; and prior to any portion of the media asset being received: determine whether the media asset, scheduled to be stored, is of a genre that commonly extends beyond its scheduled transmission time, causing the given duration of the media asset to increase, based on a comparison of a word associated with the media asset with one or more data fields stored in a database, wherein the one or more data fields stored in the database correspond to media content of the genre that commonly extends beyond its scheduled transmission time; and alert a user of the control circuitry of an opportunity to extend storage of the media asset beyond the associated scheduled transmission time based on the determination that the media asset is of the genre that commonly extends beyond its scheduled transmission time.
12. The system of claim 11, wherein the control circuitry is further configured to alert a user of potential conflicts due to extending storage of the media asset beyond the associated scheduled transmission time.
13. The system of claim 11, wherein the control circuitry is further configured to receive a user indication to extend storage of the media asset beyond the associated scheduled transmission time.
14. The system of claim 13, wherein the control circuitry automatically extends storage of the media asset by a predetermined amount after receiving the user indication to extend storage of the media asset beyond the associated scheduled transmission time.
15. The system of claim 14, wherein the predetermined amount is a timeslot interval.
16. The system of claim 14, wherein the predetermined amount is based on the genre of the media asset.
17. The system of claim 14, wherein the control circuitry automatically extends storage of the media asset by a predetermined amount by prioritizing potential conflicts.
18. The system of claim 14, wherein the control circuitry automatically extends storage of the media asset by a predetermined amount by automatically extending storage of all media content of that genre.
19. The system of claim 11, wherein the word associated with the media asset is a word in at least one of a title and a description associated with the media asset.
20. The system of claim 11, wherein the word associated with the media asset is identified from a description of the media asset, and wherein the control circuitry is configured to determine whether the media asset is of the genre by being configured to: compare the word with one or more keywords stored in the one or more data fields; and determine the media asset is of a genre that commonly extends beyond its scheduled transmission time in response to determining that the word matches a keyword associated with the genre.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The invention will be more fully understood by reference to the following drawings, which are for illustrative purposes only:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
DETAILED DESCRIPTION OF THE INVENTION
(24) 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
(25) Video Recorder
(26) 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
(27) 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.
(28) 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 maybe 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 handled 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.
(29) 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 ah infrared (IR) link, a radio frequency (RF) link, or any other suitable type of link. A bi-directional 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 electro-magnetic waves.
(30) Tuner Management
(31) 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.
(32) 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.
(33)
(34) Each decoder shown in
(35) 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
(36) 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
(37) Show Scheduling
(38) 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.
(39) 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.
(40) Conflict Resolution
(41) 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.
(42) 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.
(43) 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 solve the conflict.
(44) 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.
(45) 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.
(46) In another embodiment of the present invention, the conflicts are resolved automatically. This embodiment is shown in
(47) 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 z is added to the schedule queue at block 1040 and block 1015 repeats.
(48) 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.
(49) 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
(50) 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.
(51) In one embodiment, queue 1160 described in connection with
(52) TABLE-US-00001 TABLE 1 Name of Queue Purpose Saved Saved shows are placed in the saved shows queue Show Queue along with shows that are actively being transferred to the storage device Schedule Shows that are scheduled to be transferred to Queue the storage device in the future are placed in this queue Series Each entry in this queue comprises a template Manager Queue having data about each series that is automatically transferred to the 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 Queue deleted from a series manager or schedule queue. Adjacent Contains entries about shows adjacent (before Shows Queue and after) shows in the schedule queue. It is used to prevent the system from transferring a portion of a show (user or automatically extended timeslot) that might have adult content.
(53)
(54) Manual Resolution Simplification Process
(55) 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.
(56) 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.
(57)
(58) Show Priority
(59) 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
(60) TABLE-US-00002 TABLE 2 Type 1 Type 2 Priority Currently being Other content Content 1 is given a transferred to higher priority. the storage device Scheduled manually by An episode Content 1 is given a the user to be automatically higher priority transferred to the transferred to the storage device storage device by a series manager Content automatically Content The content with the transferred to the automatically highest series priority storage device by a transferred to the is chosen. The series manager storage device by a series priority may be series manager set manually. One embodiment determines this by a position in a series queue. Shows closer to the top are more desirable Equal priority as Equal priority as The longer content is content 2 content 1 given priority. Automatically extended Not The content that is not time automatically automatically extended extended time time is given a higher priority User extended lead time Other content The body of content 2 that extends into the is preserved and the body of content 2 user extended lead time is not recorded User extended trail Other content The body of content 2 time that is less than is preserved and the a fixed interval and user extended trail extends into the body time is not recorded. of content 2 The fixed interval may be, for instance, 5 minutes. User extended trail Other content The extended trail time time that is greater is recorded and the than a fixed interval body of content 2 is and extends into the truncated. body of content 2 User extended trail User extended User extended trail time lead time time is given a higher priority.
(61) When the system finds one or more conflicts and priority is needed to solve the conflict, the flowchart of
(62) 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.
(63) 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
(64) 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.
(65) 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.
(66) Adjacent Shows
(67) 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 mat might have objectionable content. The adjacent show list contains meta-data for each show that is adjacent to a scheduled show.
(68)
(69)
(70) 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 meta-data 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.
(71) Overall System
(72)
(73) 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-top box 10 and one or more remote processing systems, such as a web server 1980, via a data path 1990.
(74) 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, non-volatile 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.
(75) 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 arid 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.
(76) 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.
(77) User Extended Timeslot
(78) A user extended timeslot is a timeslot that occurs before or after the core timeslot that covers the time period in which a show is being broadcast. If the user extended time slot is before the show it is called lead time and if it is after the show it is called trail time. When a user selects a show, either to record the show now or to schedule the show to be recorded later, the system determines whether the show is of a specific type. If the show is of a specific type, an additional dialog box is shown, wherein the additional dialog box allows the user to invoke a user extended trail time slot.
(79) Specific types of shows include sports shows, for instance, or any other show where it is more common for the body of the show to extend beyond the scheduled timeslot in the program guide data. In such cases, it allows the user to include a user extended trail time slot without having to navigate the system and invoke the user extended trail time slot manually. In other cases, it allows a user that has no familiarity with the system to carry out their intent in a simplified way.
(80) The specific type of show may be identified by the system in any number of ways. A first way is to examine the title field or description field in a database that relates to each show and to match keywords that are indicative of a sports show (or other type of show) in the title or description fields. A second way is to add a show type field to a database representing the program guide data and to invoke the user extended trail timeslot dialog box when elements in the show type field match the specific type that is of interest.
(81) The dialog box includes an input field which, when selected, allows the user to always invoice a user extended trail timeslot for this type of show, so that the dialog box does not subsequently appear on the screen and the user extended trail timeslot is invoked automatically in the future. The user may also set the length of the user extended trail timeslot, (i.e., 30 minutes) to save disk space. Alternatively, a default time period may be used.
(82)
(83)
(84) If the show is of a specific type at block 2110, then at block 2130 a dialog box is invoked that allows the user to add a user extended trail timeslot after the show is scheduled to end. At block 2140, it is determined if the user wants to add the timeslot. If not, the system performs the requested action at block 2120. Otherwise, the body of the show is scheduled along with the user extended trailing timeslot.
(85)
(86) If the show is of a specific type at block 2210, then at block 2230 it is determined whether the user has previously requested that all shows of this type have a user extended trailing timeslot automatically added. If so, then at block 2240 the show is scheduled along with a user extended trailing timeslot of the length that the user has designated. If not, a dialog box is invoked that allows the user to add a user extended trail timeslot after the show is scheduled to end at block 2250. At block 2260, it is determined if the user wants to add the timeslot. if not, the system performs the requested action at block 2220.
(87) Otherwise, it is determined if the user wants all shows of this type to be extended automatically in the future at block 2270. If so, the action is set as the default at block 2280 so that in the future when the system reaches decision block 2230, it will be true, thereby eliminating the need to invoke the dialog box. In either case, after blocks 2270 or 2280, the system proceeds to block 2240 where the show is scheduled along with a user extended trailing timeslot of the length that the user has designated, and the process repeats at block 2200.
(88) 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.