US20100316355A1 - Conflict manager for a video recorder - Google Patents
Conflict manager for a video recorder Download PDFInfo
- Publication number
- US20100316355A1 US20100316355A1 US12/820,772 US82077210A US2010316355A1 US 20100316355 A1 US20100316355 A1 US 20100316355A1 US 82077210 A US82077210 A US 82077210A US 2010316355 A1 US2010316355 A1 US 2010316355A1
- Authority
- US
- United States
- Prior art keywords
- show
- conflict
- block
- tuner
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000002452 interceptive effect Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 32
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 abstract description 40
- 239000000872 buffer Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4583—Automatically resolving scheduling conflicts, e.g. when a recording by reservation has been programmed for two programs in the same time slot
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/036—Insert-editing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/34—Indicating arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
- H04N21/4263—Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific tuning arrangements, e.g. two tuners
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4335—Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
- H04N21/44224—Monitoring of user activity on external systems, e.g. Internet browsing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47214—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4882—Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/21—Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
- G11B2220/215—Recordable discs
- G11B2220/218—Write-once discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2562—DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/40—Combinations of multiple record carriers
- G11B2220/45—Hierarchical combination of record carriers, e.g. HDD for fast access, optical discs for long term storage or tapes for backup
- G11B2220/455—Hierarchical combination of record carriers, e.g. HDD for fast access, optical discs for long term storage or tapes for backup said record carriers being in one device and being used as primary and secondary/backup media, e.g. HDD-DVD combo device, or as source and target media, e.g. PC and portable player
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/775—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/782—Television signal recording using magnetic recording on tape
Definitions
- the present invention relates generally to systems that transfer broadcast content to volatile and/or non-volatile storage devices.
- VHS tape a storage device
- VHS tape a storage device
- Other types of equipment have developed to perform similar functionality. These types of equipment include, for instance, DVD recorders (DVD-R) and set-top boxes that transfer the content to storage devices such as hard drives and buffer memory.
- DVD-R DVD recorders
- set-top boxes that transfer the content to storage devices such as hard drives and buffer memory.
- Both of these types of equipment are used in a manner that is similar to the manner in which VCRs are used.
- 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 show, multiple shows, or begins saving the show when the storage device is near a state of overflow, there is a chance that the show the user is trying to save will be lost if the device overflows. 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 in its simplest form comprises turning on a television set and pressing a record button on a VCR.
- VCRs, DVD recorders, set-top boxes with hard drives, and other storage devices include interfaces, which allow users to schedule the transfer of shows at a later date or time. Using this interface, the user is able to input to the device a time and a channel and when it is the right time the device tunes to the channel and begins saving the show. This is useful, for instance, when the user is away from home and wants to see the show later.
- Another modern interface allows the user to focus on a favorite show. 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. 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.
- a system is limited by the number of tuners it has.
- a one tuner system for instance can either be used to save a show 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, but there is no current technique whereby a conflict is resolved when a user inadvertently schedules two or more shows to be saved at the same or overlapping time slots and there are not enough available tuners to perform the function.
- the present invention is directed to a conflict manager for a video recorder.
- 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 can later be retrieved from the storage device for viewing.
- 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).
- GUI graphical user interface
- IPG interactive program guide
- 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.
- the GUI also allows the user to utilize a video recorder 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 assigns a priority to each future show that is going to be transferred to the storage device.
- the system determines when a conflict exists, for instance, when it is scheduled to transfer two programs at the same or an overlapping time slot.
- the system examines priorities assigned to each show and transfers only the highest priority show to the storage device.
- the system automatically assigns a priority to a show based on a number of pre-determined factors (including the length of the shows, the type of shows, and whether the shows were manually or automatically scheduled, for instance), and solves conflicts based on the automatically assigned priority.
- the system examines the IPG data and searches for future broadcasts of the same scheduled shows that are in conflict. This is accomplished, for instance, by searching the titles of all of the entries in the IPG and matching a title of a later broadcast to the title of the broadcast that is currently in conflict. If the system finds one of the conflicting shows later in the IPG, it delays the transfer of that show to the storage device until its later occurrence.
- a series manager is used.
- the series manager works with the shows that are repeatedly broadcast (e.g., Cheers or General Hospital).
- the system may be set by the user to transfer a series to the storage device every time it occurs. Each series may be given a priority either automatically or manually. When multiple series are scheduled to be transferred to the storage device at the same or an overlapping time, the system uses the priorities to determine which series to transfer to the storage device.
- the system determines whether a conflicting series is a first run or a repeat in the series manager. If a conflict exists between a first run and a repeat, the first run is chosen to be transferred to the storage device.
- Another embodiment of the present invention generate lists that are used to resolve conflicts.
- One algorithm generates a list of conflicts.
- Another algorithm generates a list of potential solutions to the conflict. At that point, the user may manually resolve the conflict or the system may employ another algorithm to automatically resolve the conflict.
- FIG. 1 is a functional block diagram of an embodiment of a set-top box.
- FIG. 2 is a diagram of a configuration for one of the multiple tuners associated with the video recorder.
- FIG. 3 shows a configuration for a single decoder.
- FIG. 4 is a diagram of a typical tuner arrangement for use with a live TV signal.
- FIG. 5 is a diagram of a typical tuner arrangement for use when transferring a signal to a storage device.
- FIG. 6 shows an arrangement for when a user is watching a show that has already been transferred to a storage device.
- 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.
- FIG. 8 is a flowchart showing a conflict management process according to one embodiment of the invention.
- FIG. 9 is a flowchart showing a conflict management process according to another embodiment of the invention.
- FIG. 10 is a flowchart showing a series manager according to one embodiment of the invention.
- FIG. 11 is a flowchart showing a series manager according to another embodiment of the invention.
- FIG. 12 is a flowchart showing a series manager according to another embodiment of the invention.
- FIG. 13 is a flowchart showing a scheduling manager according to one embodiment of the invention.
- FIG. 14 is a flowchart showing one example of an algorithm for returning a list of candidate shows.
- FIG. 15 is a flowchart showing one example of an algorithm for winnowing down a list of candidate shows to a list of candidate solutions.
- FIG. 16 is a flowchart showing one example of a tuner conflict resolution algorithm.
- FIG. 17 is a flowchart showing an example of a manual resolution of a tuner conflict.
- FIG. 18 is a flowchart showing an example of an automatic resolution of a tuner conflict.
- FIG. 19 is a functional block diagram of a video recorder according to an embodiment of the present invention.
- FIG. 20 is a block diagram of a conflict resolution process according to one embodiment of the present invention.
- FIG. 21 is a flowchart showing a prioritization scheme according to one embodiment of the present invention.
- a video recorder 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 .
- a video recorder is an internal or external component that works in conjunction with a set-top box that is used to watch television.
- the PVR includes some or all of a combination of software, hardware, and firmware.
- the PVR 5 uses a disk drive 6 that is internal to a set-top box 10 where broadcasts are transferred to the storage device.
- 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 transferred to the storage device.
- 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.
- a GUI 7 which includes an IPG 8 is provided and is selectively displayed on the output device 20 , for instance when a user presses a specific button on a remote control 60 .
- GUI 7 in conjunction with IPG 8 allows the user to control the PVR 5 .
- the software or firmware that controls set-top box 10 may be installed locally or it may be downloaded from the Internet 90 as needed when configuring new set-top boxes or when updating existing ones.
- 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 transmission line 40 , which may be connected to either an antenna, a cable television outlet, or a satellite connection.
- One or more tuner systems 45 are configured to allow the system to receive broadcast signals from multiple channels.
- a storage device is used, which can include a hard disk drive 6 in conjunction with a volatile memory 46 , such as a Random Access Memory (RAM).
- the tuner system 45 works in conjunction with the storage devices 6 and 46 so that for each tuner in the system, each can simultaneously transfer broadcast signals to the storage device 5 , or display channels up to the given number of tuners on output device 20 .
- Set-top box 10 receives power through a line 50 .
- Set-top box 10 receives user input entered from 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.
- IR infrared
- RF radio frequency
- 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.
- 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 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.
- Cache 230 may be any memory technique known to those skilled in the art.
- One embodiment implements a linked list in the cache wherein a live signal is added to the linked as individual frames and as the buffer fills the older frames at the end of the list are released from the list and re-allocated to a cache allocation system.
- 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.
- 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.
- 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.
- FIG. 3 Each decoder shown in FIG. 3 is associated with a tuner/encoder pair.
- 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.
- 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.
- a cache as shown in block 430 of FIG. 4 is not used. Instead, a fixed buffer 500 , shown in FIG. 5 is used.
- 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 .
- 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.
- a prioritization system is used to determine which shows are more desirable. This system is also used to determine undesirable shows when deciding which shows to suggest to the user to delete in order to avoid conflicts. Table 1 lists factors that are taken into account by an embodiment of the present invention when comparing two shows:
- FIG. 21 shows how one embodiment of the present invention determines priority.
- the process begins after the existence of a conflict is discovered by the system. For instance at block 820 of FIG. 8 the priorities of the conflicting shows are examined. Similarly, at block 1020 of FIG. 10 the priorities of the conflicting shows, which happen to both be episodes of a series, are examined. After either of these steps occur, flow proceeds to block 2100 where the algorithm receives as input shows A and B, which are in conflict. At block 2105 it is determined if show A is actively being transferred to the storage device. If it is, then it is determined if show B is actively being transferred to the storage device at block 2110 . If not, A is the higher priority and it is transferred at block 2115 .
- A's running time is longer at block 2120 . If so, then A is the higher priority and it is transferred at block 2115 . If, however, A's running time is not longer, than B is the higher priority and show B is transferred at block 2125 .
- A is not actively being transferred, then it is determined at block 2130 if B is actively being transferred. If so, then show B is of a higher priority and it is transferred at block 2125 . If not, it is determined at block 2135 if show A is from a series. If not, then at block 2140 it is determined if show B is from a series. If so, then show A is higher priority and it is transferred at block 2115 . Otherwise, at block 2145 it is determined if show A has a longer running time than show B. If so, then show A is transferred at block 2115 . Otherwise, show B is transferred at block 2125 .
- A is from a series
- show B is from a series. If not, then show A is a series and show B is not, so show B is a higher priority and it is transferred at block 2125 . Otherwise shows A and B are series, so at block 2155 it is determined if show A is higher up in the series manager list. Note that positions higher in the list mean a higher priority. If this is the case, than show A is transferred at block 2115 . Otherwise show B is transferred at block 2125 .
- FIG. 8 is a flowchart giving an example of how one embodiment processes conflicts.
- a user schedules shows that they want the PVR to later transfer to the storage device.
- it is determined if there is a conflict. If there is no conflict, the PVR transfers the shows at block 815 , and block 800 repeats. If a conflict arises at block 810 (i.e. there are two programs that are scheduled to be transferred to the storage device, at least partly at the same time) a conflict resolution process begins.
- the conflicting programs have their priorities examined and at block 830 , the program with the highest priority is transferred to the storage device. Again, the priorities may have been explicitly set by the user or the system may automatically prioritize them as shown in Table 1.
- FIG. 9 Another embodiment of the present invention resolves conflicts in the manner illustrated by FIG. 9 .
- a user schedules shows to be transferred to a storage device.
- the conflicting programs have their priorities examined.
- the IPG is searched for a future broadcast of the highest and lowest priority conflicting program.
- the highest priority conflicting program is transferred to the storage device first and the lowest priority conflicting program is transferred later. If, however, at block 940 the lowest priority program was not found later, it is determined if the highest priority program was found later at block 960 . If so, then at block 970 , the lowest priority conflicting program is transferred to the storage device first and the highest priority conflicting program is transferred later. If, however, block 960 is false (i.e., neither program is found later, then at block 980 the highest priority conflicting program is transferred to the storage device and the lowest priority conflicting program is not transferred.
- a program may be given such a high priority that it will always be transferred to the storage device regardless of conflicts in the schedule.
- One embodiment locates later broadcasts, for instance, by examining the title of the currently conflicting show and performing a title search of future cells in the IPG. If a match in title is found, then the show exists later in the broadcast schedule.
- the steps shown in this flowchart describe an algorithm having an outer and an inner loop, wherein the outer loop finds conflicts and a the inner loop searches for later broadcasts to solve the conflict.
- only a single loop is used.
- one show is transferred to the storage device while the other is not.
- the non-transferred show is saved in a list or queue and later is transferred if possible.
- FIG. 20 shows how this process works.
- Guide data 2010 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 2040 .
- a loop 2020 walks through the guide looking for show A 2000 , which has been scheduled. It is assumed for the purposes of FIG. 20 , that show B 2030 has previously been scheduled and that show B has a higher priority than show A. In this example, show A 2000 is not transferred and show B 2030 is transferred.
- this embodiment places show A in a queue 2060 .
- the system continues walking through the guide data 2010 using loop 2020 .
- the system matches an entry 2080 in queue 2060 with a repeated airing of show A 2050 .
- the system is able to transfer repeated show A 2050 and the conflict is solved, since original show A 2000 is transferred and show B 2030 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.
- a series manager allows a user to set the PVR to transfer a broadcast series to the storage device every time it occurs in the IPG.
- a series is a collection of shows which the user has requested to automatically be transferred to the storage device. Each series may be given a priority.
- the PVR uses the priorities to determine which series to transfer to the storage device.
- the PVR determines whether a conflicting series is a first run or a repeat in the series manager. If a conflict exists between a first run and a repeat, the first run is chosen to be transferred to the storage device.
- FIG. 10 is a flowchart that shows how one embodiment of the series manager operates.
- one or more series are scheduled to be transferred to a storage device.
- the conflicting series have their priorities examined and at block 1030 , the series with the highest priority is transferred to the storage device.
- FIG. 11 Another embodiment of the series manager is illustrated by FIG. 11 .
- one or more series are scheduled to be transferred to a storage device.
- the conflicting series have their priorities examined.
- the IPG is searched for a future broadcast of the highest and lowest priority episodes in the conflicting series.
- the highest priority conflicting series is transferred to the storage device first and the lowest priority conflicting series is transferred later to the storage device. If, however, at block 1140 the lowest priority series was not found later, it is determined if the highest priority series was found later at block 1160 . If so, then at block 1170 , the lowest priority conflicting series is transferred to the storage device first and the highest priority conflicting series is transferred to the storage device later. If, however, block 1160 is false (i.e., neither series is found later, then at block 1180 the highest priority conflicting series is transferred to the storage device and the lowest priority conflicting series is not transferred to the storage device.
- FIG. 12 Another embodiment of the series manager is illustrated by FIG. 12 .
- a user schedules one or more series to automatically be transferred to a storage device.
- the IPG is searched to determine if the first conflicting series is a first run. If the first conflicting series is a first run, then at block 1230 it is determined if the second conflicting series is a first run. If the second conflicting series is not a first run, meaning it is a repeat showing of a past episode in the series, then the first conflicting series is transferred to the storage device at block 1240 . If, however, the second conflicting series was a first run at block 1230 , then both conflicting series have their priorities examined at block 1250 and at block 1260 it is determined if the first conflicting series has a higher priority than the second conflicting series. If block 1260 is true, then the flow proceeds to block 1240 where the first conflicting series is transferred to the storage device. Otherwise, if block 1260 is false, then the second conflicting series is transferred at block 1270 , since it had a higher priority.
- One embodiment of the scheduling manager comprises a collection of algorithms for managing the scheduling of shows for use on a digital video recording system with one or more tuners and an interactive program guide (IPG).
- the scheduling manager operates by initiating an algorithm, which checks for the existence of a conflict which asks the PVR to transfer more shows to a storage device at a particular time than the PVR is able to transfer. If a conflict is found, another algorithm is initiated, which generates all of the possible solutions to the conflict. Then, the conflict is resolved either automatically or manually.
- FIG. 13 shows the general operation of the scheduling manager according to one embodiment of the present invention.
- it is determined if a new show has been scheduled to be transferred to the storage device. For instance, a user might request that a particular show in the IPG be added to a schedule queue.
- the schedule queue comprises a list of entries containing metadata about shows to be transferred to the storage device in the future. In one embodiment, shows closer to the bottom of this queue are further in the future.
- Block 1300 repeats until it is found that the user has requested a particular show in the IPG to be added to a schedule queue.
- block 1310 determines if a conflict exists, for instance, no additional tuner is available. If not, the show is scheduled to be transferred to the storage device at block 1320 and block 1300 repeats. Otherwise, at block 1330 an algorithm is initiated to determine the possible solutions to the conflict.
- block 1340 it is determined if an automatic resolution is needed. If so, then the conflict is automatically resolved at block 1350 and block 1300 repeats. Otherwise, the conflict is resolved manually at block 1360 (i.e., the user chooses the solution) and block 1300 repeats.
- One embodiment of the invention uses algorithms to check if there is a tuner conflict with a selected show (which the user intends to schedule).
- the algorithms function regardless of the number of tuners available. First a candidate list of shows is returned, which might be in conflict because they overlap in time. Then, the candidate list of shows is reduced to those cases where an actual conflict exists.
- FIG. 14 is one example of an algorithm for returning a list of candidate shows.
- the algorithm uses the scheduling queue and a transfer queue comprising a list of shows scheduled to be saved which have already been transferred, including shows being actively transferred.
- a show starts to be transferred to the storage device, it is moved from the top of the schedule queue to the top of the transfer queue. Shows closer to the bottom of the transfer queue are deleted first.
- the algorithm takes as input the target show for which a conflict needs to be checked for.
- any prior candidate list is cleared.
- for each show in the transfer queue if the show is actively being transferred to the storage device, and its timeslot overlaps the target show, it is added to the list of candidate shows.
- the list of candidate shows is returned.
- the algorithm takes as input the target show for which a conflict needs to be checked for and a list of candidate shows which overlap the time slot of the target show.
- a candidate show X whose leading edge overlaps the target show, is selected.
- N is set to the number of candidate shows whose timeslot overlaps X.
- it is determined if N> (the number of tuners). If so, then there is a conflict, and the show X is flagged as being in conflict at block 1540 .
- block 1550 it is determined if there is another candidate show X. If so, block 1510 repeats.
- M is set to the number of shows for which the leading edge of the target show overlaps.
- M> the number of tuners. If so, all shows M are marked as being in conflict as well, at block 1580 . After block 1580 or if block 1570 is false, all candidates which have been marked as being in conflict are placed in a ‘conflict list’ and returned at block 1590 .
- one embodiment of the invention is configured to generate a list of potential solutions for resolving the tuner conflict. It receives as input a target show, which the user wishes to transfer to the storage device, and a list of shows which are in conflict with the target show for tuners, this list is created for instance, as shown in FIG. 15 .
- the algorithm outputs a list of 0, 1 or 2 solution-lists to any tuner conflicts, each solution-list contains 1 or more shows from the conflicts list.
- Deleting all the shows in the solution-list will resolve all potential tuner conflicts for the target show. For the very common case of having 2 tuners, and exactly 2 shows in conflict, deleting either of the two shows to resolve the conflict. In this case a list of those two solutions is returned (show A and show B), and the remaining steps are skipped. For the situation where the number of conflicts is greater than some arbitrary limit, it is computationally expensive to do a brute force search for conflicts. In this case, one embodiment prunes the list of candidates by keeping only one show per timeslot. The longest available show for each time slot is kept, but since these shows are used as candidates for deletion, given multiple shows of the same length, shows the user has indicated are less desirable are chosen.
- every possible subset list of those candidate shows is generated, starting with the shortest lists (all the 1-show lists, followed by all the 2-show lists, and so on . . . ).
- Each list is a ‘candidate solution’.
- the solution is added to a list of saved-candidate-solutions. If at least one candidate solution of length N is generated, then longer length candidates are not generated.
- the list of saved-candidate solutions is sorted, putting more desirable solutions first. More desirable solutions contain more shows which are deemed to be less desirable. The first two saved-candidate solutions (if any) are returned to the user. The rest are thrown away.
- a target show and a list of shows which are in conflict with the target show are received.
- One embodiment of the present invention is configured to present a conflict to the user and allow them to resolve it manually. This occurs, for instance, when a user attempts to schedule a target show X for future transfer to the storage device, and there is a conflict. In this case, one embodiment uses the following method to resolve the conflict:
- a list of candidate solutions to the conflict is generated.
- the user is presented with choices for resolving the conflict.
- FIG. 17 shows how manual deletion is implemented by one embodiment of the present invention.
- a user schedules shows to be transferred to a storage device.
- block 1770 it is determined if the user wants to cancel all the scheduled shows in solution A from the schedule. If so, the conflict is solved at block 1740 . Otherwise block 1760 repeats, where the target show is not transferred to the storage device and the conflict is solved.
- one embodiment of the present invention is configured to resolve conflicts automatically without user intervention.
- a list of solutions to the conflict is generated and a course of action is chosen based on the available list of solutions. If all the shows in the first solution are lower in priority than the target show the first solution is bumped by canceling all its shows. Otherwise, if there is a second solution and all its shows are lower in priority than the target show, the second solution has all of its shows canceled. Otherwise, there are no desirable solutions to the conflict, so the target show is not transferred to the storage device, and it is marked as bumped.
- FIG. 18 shows how this embodiment of the present invention operates.
- the user or the series manager schedules shows to be transferred to the recording device.
- the candidate list of solutions it is determined if all the shows in the first solution are lower in priority than the target show at block 1850 . If so, the first solution is bumped by canceling all its shows at block 1860 . Otherwise, it is determined if there is a second solution at block 1870 . If so, it is determined if all its shows are lower in priority than the target show at block 1880 . If so, the second solution has all of its shows canceled at block 1890 . If, however, there is not a second solution, or if block 1880 is false, there are no desirable solutions to the conflict, so the target show is not transferred to the storage device, and it is marked as bumped at block 1895 .
- 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 .
- Tuners 1910 receive the television signals on transmission line 1960 , which may originate from an antenna or a cable television outlet.
- Processing and control circuitry 1900 provides audio and video output to output device 190 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 .
- Processing and control circuitry 1900 may include one or more of devices such as general-purpose microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), 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.
- 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 (e.g., PROM, EPOM, EEPROM, etc.), flash memory, or any combination of these devices.
- Communication device 1930 may be a conventional telephone (POTS) modem, an Integrated Services Digital Network (ISDN) adapter, a Digital Subscriber Line (xDSL) adapter, a cable television modem, or any other suitable data communication device.
- Logic 1995 typically couples to memory 1920 .
- Logic 1995 may be used when PVR 5 has been given conflicting instructions to transfer two or more programs to storage device 1920 simultaneously.
- One or more of the algorithms and processes described herein to manually and/or automatically resolve conflicts are stored in logic portion 1995 .
- logic portion 1995 may control the buffering portion 1999 by varying the size and amount of the buffered input signal, which is reproduced as the delayed live television signal.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
- This application claims priority to Provisional Patent Application No. 60/374,868 filed on Apr. 23, 2002
- 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.
- 1. Field of the Invention
- The present invention relates generally to systems that transfer broadcast content to volatile and/or non-volatile storage devices.
- 2. Background of the Invention
- The storage and retrieval of broadcast content gained major popularity with the advent of the VCR. A user was able to tune their television to a station that had a program that they wanted to save and they simply inserted a storage device (e.g., 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 (DVD-R) and set-top boxes that transfer the content to storage devices such as hard drives and buffer memory.
- Both of these types of equipment are used in a manner that is similar to the manner in which VCRs are used. 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 show, multiple shows, or begins saving the show when the storage device is near a state of overflow, there is a chance that the show the user is trying to save will be lost if the device overflows. 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
- Saving broadcast content in its simplest form comprises turning on a television set and pressing a record button on a VCR. More recently, VCRs, DVD recorders, set-top boxes with hard drives, and other storage devices include interfaces, which allow users to schedule the transfer of shows at a later date or time. Using this interface, the user is able to input to the device a time and a channel and when it is the right time the device tunes to the channel and begins saving the show. This is useful, for instance, when the user is away from home and wants to see the show later.
- Another modern interface allows the user to focus on a favorite show. 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. 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.
- Tuner Conflicts
- 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 show 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, but there is no current technique whereby a conflict is resolved when a user inadvertently schedules two or more shows to be saved at the same or overlapping time slots and there are not enough available tuners to perform the function.
- The present invention is directed to a conflict manager for a video recorder. 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 can later be retrieved from the storage device for viewing. 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 IPG displays a list of broadcasts that are available by tuning to different channels at different times.
- 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. The GUI also allows the user to utilize a video recorder 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.
- In one embodiment, the user assigns a priority to each future show that is going to be transferred to the storage device. The system determines when a conflict exists, for instance, when it is scheduled to transfer two programs at the same or an overlapping time slot. In one embodiment, the system examines priorities assigned to each show and transfers only the highest priority show to the storage device. In another embodiment, the system automatically assigns a priority to a show based on a number of pre-determined factors (including the length of the shows, the type of shows, and whether the shows were manually or automatically scheduled, for instance), and solves conflicts based on the automatically assigned priority.
- In another embodiment, the system examines the IPG data and searches for future broadcasts of the same scheduled shows that are in conflict. This is accomplished, for instance, by searching the titles of all of the entries in the IPG and matching a title of a later broadcast to the title of the broadcast that is currently in conflict. If the system finds one of the conflicting shows later in the IPG, it delays the transfer of that show to the storage device until its later occurrence.
- In another embodiment, a series manager is used. The series manager works with the shows that are repeatedly broadcast (e.g., Cheers or General Hospital). The system may be set by the user to transfer a series to the storage device every time it occurs. Each series may be given a priority either automatically or manually. When multiple series are scheduled to be transferred to the storage device at the same or an overlapping time, the system uses the priorities to determine which series to transfer to the storage device. In another embodiment, the system determines whether a conflicting series is a first run or a repeat in the series manager. If a conflict exists between a first run and a repeat, the first run is chosen to be transferred to the storage device.
- Other embodiments of the present invention generate lists that are used to resolve conflicts. One algorithm generates a list of conflicts. Another algorithm generates a list of potential solutions to the conflict. At that point, the user may manually resolve the conflict or the system may employ another algorithm to automatically resolve the conflict.
- The invention will be more fully understood by reference to the following drawings, which are for illustrative purposes only:
-
FIG. 1 is a functional block diagram of an embodiment of a set-top box. -
FIG. 2 is a diagram of a configuration for one of the multiple tuners associated with the video recorder. -
FIG. 3 shows a configuration for a single decoder. -
FIG. 4 is a diagram of a typical tuner arrangement for use with a live TV signal. -
FIG. 5 is a diagram of a typical tuner arrangement for use when transferring a signal to a storage device. -
FIG. 6 shows an arrangement for when a user is watching a show that has already been transferred to a storage device. -
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. -
FIG. 8 is a flowchart showing a conflict management process according to one embodiment of the invention. -
FIG. 9 is a flowchart showing a conflict management process according to another embodiment of the invention. -
FIG. 10 is a flowchart showing a series manager according to one embodiment of the invention. -
FIG. 11 is a flowchart showing a series manager according to another embodiment of the invention. -
FIG. 12 is a flowchart showing a series manager according to another embodiment of the invention. -
FIG. 13 is a flowchart showing a scheduling manager according to one embodiment of the invention. -
FIG. 14 is a flowchart showing one example of an algorithm for returning a list of candidate shows. -
FIG. 15 is a flowchart showing one example of an algorithm for winnowing down a list of candidate shows to a list of candidate solutions. -
FIG. 16 is a flowchart showing one example of a tuner conflict resolution algorithm. -
FIG. 17 is a flowchart showing an example of a manual resolution of a tuner conflict. -
FIG. 18 is a flowchart showing an example of an automatic resolution of a tuner conflict. -
FIG. 19 is a functional block diagram of a video recorder according to an embodiment of the present invention. -
FIG. 20 is a block diagram of a conflict resolution process according to one embodiment of the present invention. -
FIG. 21 is a flowchart showing a prioritization scheme according to one embodiment of the present invention. - The present invention is directed to conflict resolution schemes for a video recorder. 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
- A video recorder (or PVR), is an internal or external component that works in conjunction with a set-top box that is used to watch television. The PVR includes some or all of a combination of software, hardware, and firmware. In one embodiment, the
PVR 5 uses adisk drive 6 that is internal to a set-top box 10 where broadcasts are transferred to the storage device. The set-top box 10 connects to anoutput 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 transferred to the storage device. In the example ofFIG. 1 , set-top box 10 is shown as being external tooutput device 20. It should be understood by someone having ordinary skill in the art, that set-top box 10 may be internal tooutput device 20 as well. - A
GUI 7 which includes anIPG 8 is provided and is selectively displayed on theoutput device 20, for instance when a user presses a specific button on aremote control 60.GUI 7 in conjunction withIPG 8 allows the user to control thePVR 5. The software or firmware that controls set-top box 10 may be installed locally or it may be downloaded from theInternet 90 as needed when configuring new set-top boxes or when updating existing ones. - Set-
top box 10 is connected tooutput device 20 via atransmission line 30. Broadcast signals are received by the set-top box 10 viatransmission line 40, which may be connected to either an antenna, a cable television outlet, or a satellite connection. One ormore tuner systems 45 are configured to allow the system to receive broadcast signals from multiple channels. A storage device is used, which can include ahard disk drive 6 in conjunction with avolatile memory 46, such as a Random Access Memory (RAM). Thetuner system 45 works in conjunction with thestorage devices storage device 5, or display channels up to the given number of tuners onoutput device 20. - Set-
top box 10 receives power through aline 50. Set-top box 10 receives user input entered from handheldremote control 60 over awireless link 70.Wireless link 70 may be an infrared (IR) link, a radio frequency (RF) link, or any other suitable type of link. Abi-directional data path 80 is provided to set-top box 10, through which set-top box 10 can access theInternet 90.Transmission line 40 may provide data from a variety of input sources including cable, satellite, or electro-magnetic waves. - Tuner Management
- 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 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 totuner 210, which passes the signal toencoder 220, which transfers the data in acache 230. This configuration is used for analog use of a live TV signal.Cache 230 may be any memory technique known to those skilled in the art. One embodiment implements a linked list in the cache wherein a live signal is added to the linked as individual frames and as the buffer fills the older frames at the end of the list are released from the list and re-allocated to a cache allocation system. - An alternate configuration includes a
video stream 240, which is then provided totuner 245, which is then passed to encoder 250 and then to fixedfile 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. -
FIG. 3 shows a configuration for a single decoder.Cache 300 provides data todecoder 310, which outputsvideo signal 320. This arrangement is useful for watching live TV. Alternatively, fixedfile block 330 provides data todecoder 340, which outputs avideo signal 350. This embodiment is useful for playing back a show that has already been transferred to the storage device. - 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, wherevideo signal 400 is transmitted totuner 410 then to encoder 420 and tocache 430. After it leavescache 430 it is decoded inblock 440 and theoutgoing video signal 450 is displayed on the television. It should be noted that adelay interval 460 of a given (x) number of seconds occurs between the time the signal reachesencoder 420 and is output bydecoder 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 inblock 430 ofFIG. 4 is not used. Instead, a fixedbuffer 500, shown inFIG. 5 is used. - 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 , wherevideo signal 600 is tuned atblock 605 and encoded atblock 610 and stored inbuffer 620.Fixed buffer 630 is used to provide data todecoder 640, which provides theoutput signal 650. - 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 atblock 705 and encoded atblock 710 and stored in a first fixedbuffer 720. A second fixedbuffer 730 is used to watch the previously saved show, by transmitting and decoding the data atblock 740 and displaying theoutput video signal 750 on a television. - Show Priority
- If there is a conflict for system resources that prevents all the desired shows from being transferred to the storage device, a prioritization system is used to determine which shows are more desirable. This system is also used to determine undesirable shows when deciding which shows to suggest to the user to delete in order to avoid conflicts. Table 1 lists factors that are taken into account by an embodiment of the present invention when comparing two shows:
-
TABLE 1 [t1] Show 1 Show 2 Priority Currently being transferred to Other shows Show 1 is given a higher the storage device priority. Scheduled manually by the An episode automatically Show 1 is given a higher user to be transferred to the transferred to the storago priority storage device device by a series manager An episode automatically An episode automatically The show with the highest transferred to the storage transferred to the storage series priority is chosen. device by a series manager device by a series manager The 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 show 2 Equal priority as show 1 The longer show is given priority.
When the system reaches a step in its logic where a conflict has been found and priority must be used to solve the conflict, the flowchart ofFIG. 21 shows how one embodiment of the present invention determines priority. The process begins after the existence of a conflict is discovered by the system. For instance atblock 820 ofFIG. 8 the priorities of the conflicting shows are examined. Similarly, atblock 1020 ofFIG. 10 the priorities of the conflicting shows, which happen to both be episodes of a series, are examined. After either of these steps occur, flow proceeds to block 2100 where the algorithm receives as input shows A and B, which are in conflict. Atblock 2105 it is determined if show A is actively being transferred to the storage device. If it is, then it is determined if show B is actively being transferred to the storage device atblock 2110. If not, A is the higher priority and it is transferred atblock 2115. If, however, B is also actively recording, then it is determined if A's running time is longer atblock 2120. If so, then A is the higher priority and it is transferred atblock 2115. If, however, A's running time is not longer, than B is the higher priority and show B is transferred atblock 2125. - Returning to block 2105, if A is not actively being transferred, then it is determined at
block 2130 if B is actively being transferred. If so, then show B is of a higher priority and it is transferred atblock 2125. If not, it is determined atblock 2135 if show A is from a series. If not, then atblock 2140 it is determined if show B is from a series. If so, then show A is higher priority and it is transferred atblock 2115. Otherwise, atblock 2145 it is determined if show A has a longer running time than show B. If so, then show A is transferred atblock 2115. Otherwise, show B is transferred atblock 2125. - Returning to block 2135, if A is from a series, then it is determined at
block 2150 if show B is from a series. If not, then show A is a series and show B is not, so show B is a higher priority and it is transferred atblock 2125. Otherwise shows A and B are series, so atblock 2155 it is determined if show A is higher up in the series manager list. Note that positions higher in the list mean a higher priority. If this is the case, than show A is transferred atblock 2115. Otherwise show B is transferred atblock 2125. - Conflict Resolution
- An embodiment of the present invention is configured to process conflicts in an optimal manner.
FIG. 8 is a flowchart giving an example of how one embodiment processes conflicts. At block 800 a user schedules shows that they want the PVR to later transfer to the storage device. Atblock 810 it is determined if there is a conflict. If there is no conflict, the PVR transfers the shows atblock 815, and block 800 repeats. If a conflict arises at block 810 (i.e. there are two programs that are scheduled to be transferred to the storage device, at least partly at the same time) a conflict resolution process begins. Atblock 820, the conflicting programs have their priorities examined and atblock 830, the program with the highest priority is transferred to the storage device. Again, the priorities may have been explicitly set by the user or the system may automatically prioritize them as shown in Table 1. - Another embodiment of the present invention resolves conflicts in the manner illustrated by
FIG. 9 . Atblock 900, a user schedules shows to be transferred to a storage device. Atblock 910 it is determined if there is a conflict. If there is no conflict, the system transfers the shows to the storage device atblock 915, and block 900 repeats. If a conflict arises at block 910 (i.e., there are two programs that are scheduled to be transferred to the storage device, at least partly at the same time) a conflict resolution process begins. - At
block 920, the conflicting programs have their priorities examined. Atblock 930, the IPG is searched for a future broadcast of the highest and lowest priority conflicting program. Atblock 940 it is determined if the lowest priority program was found later in the IPG. If so, then atblock 950, the highest priority conflicting program is transferred to the storage device first and the lowest priority conflicting program is transferred later. If, however, atblock 940 the lowest priority program was not found later, it is determined if the highest priority program was found later atblock 960. If so, then atblock 970, the lowest priority conflicting program is transferred to the storage device first and the highest priority conflicting program is transferred later. If, however, block 960 is false (i.e., neither program is found later, then atblock 980 the highest priority conflicting program is transferred to the storage device and the lowest priority conflicting program is not transferred. - It should be noted with regard to the above scheme, that if only a portion of the two programs conflicts, then the steps taken in
FIG. 9 may be applied only to the overlapping portions. This also applies to time slots that might be extended by the user at the beginning and ends of a show and also to an automatic extension (slop time) process that a PVR/DVR system might employ. For instance, a user might extend a recording for five minutes before and after a show. In that case, the extended time alone might cause a conflict and that extended time might be handled separately from the actual show to resolve the conflict. Similarly, a slop time or automatic extension might be enabled which might give rise to a conflict for only a few minutes before or after a show. In this case the slop time might be handled to resolve a conflict. Alternatively, a program may be given such a high priority that it will always be transferred to the storage device regardless of conflicts in the schedule. One embodiment locates later broadcasts, for instance, by examining the title of the currently conflicting show and performing a title search of future cells in the IPG. If a match in title is found, then the show exists later in the broadcast schedule. - Single Loop Conflict Resolver
- With regard to
FIG. 9 , the steps shown in this flowchart describe an algorithm having an outer and an inner loop, wherein the outer loop finds conflicts and a the inner loop searches for later broadcasts to solve the conflict. In another embodiment of the present invention, only a single loop is used. In this embodiment when a conflict is found, one show is transferred to the storage device while the other is not. The non-transferred show is saved in a list or queue and later is transferred if possible. -
FIG. 20 shows how this process works.Guide data 2010, 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 asfirst portion 2040. Aloop 2020 walks through the guide looking for show A 2000, which has been scheduled. It is assumed for the purposes ofFIG. 20 , that showB 2030 has previously been scheduled and that show B has a higher priority than show A. In this example, show A 2000 is not transferred and showB 2030 is transferred. - Unlike
FIG. 9 , where a solution is sought immediately via an inner loop, this embodiment places show A in aqueue 2060. As asecond portion 2070 ofguide data 2010 is downloaded, for instance the next day, the system continues walking through theguide data 2010 usingloop 2020. Eventually, the system matches anentry 2080 inqueue 2060 with a repeated airing ofshow A 2050. At this point the system is able to transfer repeatedshow A 2050 and the conflict is solved, since original show A 2000 is transferred and showB 2030 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. - Series Manager
- In another embodiment, a series manager allows a user to set the PVR to transfer a broadcast series to the storage device every time it occurs in the IPG. A series is a collection of shows which the user has requested to automatically be transferred to the storage device. Each series may be given a priority. When multiple series are scheduled to be transferred at the same time, the PVR uses the priorities to determine which series to transfer to the storage device. In another embodiment, the PVR determines whether a conflicting series is a first run or a repeat in the series manager. If a conflict exists between a first run and a repeat, the first run is chosen to be transferred to the storage device.
-
FIG. 10 is a flowchart that shows how one embodiment of the series manager operates. Atblock 1000 one or more series are scheduled to be transferred to a storage device. Atblock 1010, it is determined if there is a conflict, for instance if two series are scheduled to be transferred to the storage device at overlapping times. If there is no conflict, the system proceeds normally by transferring the series to the storage device at block 101S. Then block 1000 repeats. If a conflict arises at block 1010 a conflict resolution process begins. Atblock 1020, the conflicting series have their priorities examined and atblock 1030, the series with the highest priority is transferred to the storage device. - Another embodiment of the series manager is illustrated by
FIG. 11 . Atblock 1100 one or more series are scheduled to be transferred to a storage device. Atblock 1110, it is determined if there is a conflict. If there is no conflict, the system transfers the series to the storage device atblock 1115 and block 1110 repeats. If a conflict arises at block 1110 (i.e., there are two series that are scheduled to be transferred to the storage device, at least partly at the same time) a conflict resolution process begins. - At
block 1120, the conflicting series have their priorities examined. Atblock 1130, the IPG is searched for a future broadcast of the highest and lowest priority episodes in the conflicting series. Atblock 1140 it is determined if the lowest priority series was found later in the IPG. If so, then atblock 1150, the highest priority conflicting series is transferred to the storage device first and the lowest priority conflicting series is transferred later to the storage device. If, however, atblock 1140 the lowest priority series was not found later, it is determined if the highest priority series was found later atblock 1160. If so, then atblock 1170, the lowest priority conflicting series is transferred to the storage device first and the highest priority conflicting series is transferred to the storage device later. If, however, block 1160 is false (i.e., neither series is found later, then atblock 1180 the highest priority conflicting series is transferred to the storage device and the lowest priority conflicting series is not transferred to the storage device. - Another embodiment of the series manager is illustrated by
FIG. 12 . At block 1200 a user schedules one or more series to automatically be transferred to a storage device. Atblock 1210 it is determined if there is a conflict. If there is no conflict, the system proceeds normally by transferring the series atblock 1215, and block 1200 repeats. If a conflict arises at block 1210 (i.e., there are two series that are scheduled to be transferred to the storage device, at least partly at the same time) a conflict resolution process begins. - At
block 1220, the IPG is searched to determine if the first conflicting series is a first run. If the first conflicting series is a first run, then atblock 1230 it is determined if the second conflicting series is a first run. If the second conflicting series is not a first run, meaning it is a repeat showing of a past episode in the series, then the first conflicting series is transferred to the storage device atblock 1240. If, however, the second conflicting series was a first run atblock 1230, then both conflicting series have their priorities examined atblock 1250 and at block 1260 it is determined if the first conflicting series has a higher priority than the second conflicting series. If block 1260 is true, then the flow proceeds to block 1240 where the first conflicting series is transferred to the storage device. Otherwise, if block 1260 is false, then the second conflicting series is transferred atblock 1270, since it had a higher priority. - Returning to block 1220, if the first conflicting series was not a first run, then at
block 1280 it is determined if the second conflicting series is a first run. If so, flow proceeds to block 1270 where the second conflicting series is transferred to the storage device. Otherwise,block 1280 is false, so flow proceeds to block 1250 and the priority examination process continues. - Scheduling Manager
- One embodiment of the scheduling manager comprises a collection of algorithms for managing the scheduling of shows for use on a digital video recording system with one or more tuners and an interactive program guide (IPG). In general, the scheduling manager operates by initiating an algorithm, which checks for the existence of a conflict which asks the PVR to transfer more shows to a storage device at a particular time than the PVR is able to transfer. If a conflict is found, another algorithm is initiated, which generates all of the possible solutions to the conflict. Then, the conflict is resolved either automatically or manually.
-
FIG. 13 shows the general operation of the scheduling manager according to one embodiment of the present invention. Atblock 1300, it is determined if a new show has been scheduled to be transferred to the storage device. For instance, a user might request that a particular show in the IPG be added to a schedule queue. The schedule queue comprises a list of entries containing metadata about shows to be transferred to the storage device in the future. In one embodiment, shows closer to the bottom of this queue are further in the future. -
Block 1300 repeats until it is found that the user has requested a particular show in the IPG to be added to a schedule queue. When it is true,block 1310 determines if a conflict exists, for instance, no additional tuner is available. If not, the show is scheduled to be transferred to the storage device atblock 1320 and block 1300 repeats. Otherwise, atblock 1330 an algorithm is initiated to determine the possible solutions to the conflict. Atblock 1340 it is determined if an automatic resolution is needed. If so, then the conflict is automatically resolved atblock 1350 and block 1300 repeats. Otherwise, the conflict is resolved manually at block 1360 (i.e., the user chooses the solution) andblock 1300 repeats. - Tuner Conflict Check Algorithms
- One embodiment of the invention uses algorithms to check if there is a tuner conflict with a selected show (which the user intends to schedule). The algorithms function regardless of the number of tuners available. First a candidate list of shows is returned, which might be in conflict because they overlap in time. Then, the candidate list of shows is reduced to those cases where an actual conflict exists.
-
FIG. 14 is one example of an algorithm for returning a list of candidate shows. The algorithm uses the scheduling queue and a transfer queue comprising a list of shows scheduled to be saved which have already been transferred, including shows being actively transferred. When a show starts to be transferred to the storage device, it is moved from the top of the schedule queue to the top of the transfer queue. Shows closer to the bottom of the transfer queue are deleted first. - First, at
block 1400 the algorithm takes as input the target show for which a conflict needs to be checked for. Atblock 1410 any prior candidate list is cleared. Atblock 1420, for each show in the transfer queue, if the show is actively being transferred to the storage device, and its timeslot overlaps the target show, it is added to the list of candidate shows. Once each show in the transfer queue is examined, then atblock 1440, for each show in the schedule queue, if the show's timeslot overlaps the target show, it is added to the list of candidate shows. Atblock 1470 the list of candidate shows is returned. - Once a list of candidate shows, that might conflict is returned as shown in
FIG. 14 , an algorithm is implemented, which returns a list of shows which are in actual conflict for tuners. This algorithm is used to winnow down the list returned by the embodiment shown inFIG. 14 , to exactly those shows which are in conflict for the available tuners. This embodiment is shown inFIG. 15 . - First, at
block 1500 the algorithm takes as input the target show for which a conflict needs to be checked for and a list of candidate shows which overlap the time slot of the target show. Atblock 1510, a candidate show X, whose leading edge overlaps the target show, is selected. Atblock 1520, N is set to the number of candidate shows whose timeslot overlaps X. Atblock 1530, it is determined if N>=(the number of tuners). If so, then there is a conflict, and the show X is flagged as being in conflict atblock 1540. Afterblock 1540, or if there is no conflict atblock 1530, then atblock 1550 it is determined if there is another candidate show X. If so, block 1510 repeats. - When all candidate shows have been selected, then at block 1560 M is set to the number of shows for which the leading edge of the target show overlaps. At
block 1570, it is determined if M>=the number of tuners. If so, all shows M are marked as being in conflict as well, atblock 1580. Afterblock 1580 or ifblock 1570 is false, all candidates which have been marked as being in conflict are placed in a ‘conflict list’ and returned atblock 1590. - Tuner Conflict Resolution Algorithms
- Once tuner conflicts are identified, one embodiment of the invention is configured to generate a list of potential solutions for resolving the tuner conflict. It receives as input a target show, which the user wishes to transfer to the storage device, and a list of shows which are in conflict with the target show for tuners, this list is created for instance, as shown in
FIG. 15 . The algorithm outputs a list of 0, 1 or 2 solution-lists to any tuner conflicts, each solution-list contains 1 or more shows from the conflicts list. - Deleting all the shows in the solution-list will resolve all potential tuner conflicts for the target show. For the very common case of having 2 tuners, and exactly 2 shows in conflict, deleting either of the two shows to resolve the conflict. In this case a list of those two solutions is returned (show A and show B), and the remaining steps are skipped. For the situation where the number of conflicts is greater than some arbitrary limit, it is computationally expensive to do a brute force search for conflicts. In this case, one embodiment prunes the list of candidates by keeping only one show per timeslot. The longest available show for each time slot is kept, but since these shows are used as candidates for deletion, given multiple shows of the same length, shows the user has indicated are less desirable are chosen.
- Then, every possible subset list of those candidate shows is generated, starting with the shortest lists (all the 1-show lists, followed by all the 2-show lists, and so on . . . ). Each list is a ‘candidate solution’. As each candidate solution is generated, it is tested to see if it fixes the problem. This is accomplished by making a copy of the conflicts list, and removing the candidate-solution shows from the conflict list, and then checking to see if any of the remaining shows are still in conflict.
- If no conflicts remain, then the solution is added to a list of saved-candidate-solutions. If at least one candidate solution of length N is generated, then longer length candidates are not generated. The list of saved-candidate solutions is sorted, putting more desirable solutions first. More desirable solutions contain more shows which are deemed to be less desirable. The first two saved-candidate solutions (if any) are returned to the user. The rest are thrown away.
- This process is described in
FIG. 16 . Atblock 1600, a target show and a list of shows which are in conflict with the target show are received. Atblock 1610, it is determined if the number of conflicts is greater than the number of available tuners. If not, then the number of conflicts is less than or equal to the number of tuners, so the list of solutions is returned atblock 1620. Otherwise, afterblock 1610 the conflict list is pruned by keeping only one show per timeslot atblock 1640. Then, the candidate solutions are tested and generated atblock 1650. Atblock 1660, it is determined if any conflicts remain. If so, then atblock 1665 one of the conflicts is removed and block 1650 repeats. Once no conflicts remain, the candidate solution is added to the list of saved candidate solutions atblock 1670. - Manual Resolution of Tuner Conflicts
- One embodiment of the present invention is configured to present a conflict to the user and allow them to resolve it manually. This occurs, for instance, when a user attempts to schedule a target show X for future transfer to the storage device, and there is a conflict. In this case, one embodiment uses the following method to resolve the conflict:
- A list of candidate solutions to the conflict is generated; and
- The user is presented with choices for resolving the conflict.
- In the most common case, in which there are exactly 2 solutions, each of which involves deleting only 1 scheduled show, the user is presented with three choices:
- Cancel the show in solution A from the schedule;
- Cancel the show in solution B from the schedule; or
- Do not transfer the target show X to the storage device.
- Otherwise, the user is presented with only 2 choices:
- Cancel all the scheduled shows in solution A from the schedule (however many there are); or
- Do not transfer the target show to the storage device.
-
FIG. 17 shows how manual deletion is implemented by one embodiment of the present invention. At block 1700 a user schedules shows to be transferred to a storage device. Atblock 1710 it is determined if there is a conflict in a show the user has scheduled to be transferred to the storage device. If not, the show is transferred atblock 1715 and block 1700 repeats. When a conflict arises, a list of candidate solutions is generated atblock 1710. - At
block 1720, it is determined if there are exactly two solutions, each of which can be resolved by deleting only one show. If so, then atblock 1730, it is determined if the user wants to cancel the show in solution A from the schedule. If so, the conflict is solved atblock 1740. Otherwise, afterblock 1730 it is determined if the user wants to cancel the show in solution B from the schedule. If so, it is canceled atblock 1750 and the conflict is solved atblock 1740. Otherwise, the target show X is not transferred to the storage device atblock 1760 and the conflict is solved atblock 1740. - If however, at
block 1720, there are not exactly two solutions, then atblock 1770, it is determined if the user wants to cancel all the scheduled shows in solution A from the schedule. If so, the conflict is solved atblock 1740. Otherwise block 1760 repeats, where the target show is not transferred to the storage device and the conflict is solved. - Automatic Resolution of Tuner Conflicts
- When the series scheduler attempts to automatically schedule a target show X for future transfer to the storage device, and a conflict arises, one embodiment of the present invention is configured to resolve conflicts automatically without user intervention. In this scenario, a list of solutions to the conflict is generated and a course of action is chosen based on the available list of solutions. If all the shows in the first solution are lower in priority than the target show the first solution is bumped by canceling all its shows. Otherwise, if there is a second solution and all its shows are lower in priority than the target show, the second solution has all of its shows canceled. Otherwise, there are no desirable solutions to the conflict, so the target show is not transferred to the storage device, and it is marked as bumped.
-
FIG. 18 shows how this embodiment of the present invention operates. Atblock 1800 the user or the series manager schedules shows to be transferred to the recording device. Atblock 1805 it is determined if there is a conflict in a show the user or a series manager has scheduled to be transferred to the storage device. If not, the shows are transferred at block 1810 and block 1800 repeats. When a conflict arises, it is determined atblock 1815 if a manual resolution is going to be used. If so, the conflict is manually resolved atblock 1820. Otherwise, the conflict is to be handled by an automatic resolution process atblock 1830 and to that end a list of candidate solutions is generated atblock 1840. - From the candidate list of solutions, it is determined if all the shows in the first solution are lower in priority than the target show at
block 1850. If so, the first solution is bumped by canceling all its shows atblock 1860. Otherwise, it is determined if there is a second solution atblock 1870. If so, it is determined if all its shows are lower in priority than the target show atblock 1880. If so, the second solution has all of its shows canceled atblock 1890. If, however, there is not a second solution, or ifblock 1880 is false, there are no desirable solutions to the conflict, so the target show is not transferred to the storage device, and it is marked as bumped atblock 1895. - Overall System
-
FIG. 19 is a functional block diagram that illustrates the components of an embodiment of the present invention. Note thatFIG. 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 andcontrol circuitry 1900, which controls the overall operation of the system. Coupled to the processing andcontrol circuitry 1900 are one ormore TV tuners 1910, astorage device 1920, acommunication device 1930, and aremote interface 1940. -
Tuners 1910 receive the television signals ontransmission line 1960, which may originate from an antenna or a cable television outlet. Processing andcontrol circuitry 1900 provides audio and video output tooutput device 190 via aline 1970.Remote interface 1940 receives signals fromremote control 60 viawireless connection 70.Communication device 1930 is used to transfer data between set-top box 10 and one or more remote processing systems, such as aweb server 1980, via adata path 1990. - Processing and
control circuitry 1900 may include one or more of devices such as general-purpose microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), 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 (e.g., PROM, EPOM, EEPROM, etc.), flash memory, or any combination of these devices. -
Communication device 1930 may be a conventional telephone (POTS) modem, an Integrated Services Digital Network (ISDN) adapter, a Digital Subscriber Line (xDSL) adapter, a cable television modem, or any other suitable data communication device.Logic 1995 typically couples tomemory 1920.Logic 1995 may be used whenPVR 5 has been given conflicting instructions to transfer two or more programs tostorage device 1920 simultaneously. One or more of the algorithms and processes described herein to manually and/or automatically resolve conflicts are stored inlogic portion 1995. For instance,logic portion 1995 may control thebuffering portion 1999 by varying the size and amount of the buffered input signal, which is reproduced as the delayed live television signal. - 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.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/820,772 US20100316355A1 (en) | 2002-04-23 | 2010-06-22 | Conflict manager for a video recorder |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37486802P | 2002-04-23 | 2002-04-23 | |
US10/248,699 US7774816B2 (en) | 2002-04-23 | 2003-02-10 | Conflict manager for a video recorder |
US12/820,772 US20100316355A1 (en) | 2002-04-23 | 2010-06-22 | Conflict manager for a video recorder |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/248,699 Continuation US7774816B2 (en) | 2002-04-23 | 2003-02-10 | Conflict manager for a video recorder |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100316355A1 true US20100316355A1 (en) | 2010-12-16 |
Family
ID=29218521
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/248,699 Active 2026-03-25 US7774816B2 (en) | 2002-04-23 | 2003-02-10 | Conflict manager for a video recorder |
US12/820,772 Abandoned US20100316355A1 (en) | 2002-04-23 | 2010-06-22 | Conflict manager for a video recorder |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/248,699 Active 2026-03-25 US7774816B2 (en) | 2002-04-23 | 2003-02-10 | Conflict manager for a video recorder |
Country Status (1)
Country | Link |
---|---|
US (2) | US7774816B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080196065A1 (en) * | 2002-04-24 | 2008-08-14 | Microsoft Corporation | Managing record events |
US20130067549A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Cloud-Based Broker Service for Digital Assistants |
US20140025645A1 (en) * | 2012-07-23 | 2014-01-23 | International Business Machines Corporation | Resolving Database Integration Conflicts Using Data Provenance |
US9137482B2 (en) | 2010-03-31 | 2015-09-15 | Verizon Patent And Licensing Inc. | Methods and systems for resolution-based modification of recording instructions associated with a scheduled recording of a media content instance |
US20180176626A1 (en) * | 2002-01-04 | 2018-06-21 | Rovi Technologies Corporation | Method and apparatus for selecting among multiple tuners |
US11284152B2 (en) | 2017-06-07 | 2022-03-22 | Sports Direct, Inc. | Computing system with timing prediction and media program retrieval and output feature |
US11477530B2 (en) * | 2017-06-07 | 2022-10-18 | Sports Direct, Inc. | Computing system with timing prediction and electronic program guide feature |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
WO1994021081A2 (en) | 1993-03-05 | 1994-09-15 | Mankovitz Roy J | Apparatus and method using compressed codes for television program record scheduling |
US6769128B1 (en) | 1995-06-07 | 2004-07-27 | United Video Properties, Inc. | Electronic television program guide schedule system and method with data feed access |
US5801787A (en) | 1996-06-14 | 1998-09-01 | Starsight Telecast, Inc. | Television schedule system and method of operation for multiple program occurrences |
DK1036466T3 (en) | 1997-07-21 | 2003-07-14 | Guide E Inc | Steps to navigate a TV listings with creatives |
CN1867068A (en) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | Client-server based interactive television program guide system with remote server recording |
AR020608A1 (en) | 1998-07-17 | 2002-05-22 | United Video Properties Inc | A METHOD AND A PROVISION TO SUPPLY A USER REMOTE ACCESS TO AN INTERACTIVE PROGRAMMING GUIDE BY A REMOTE ACCESS LINK |
CA2730344C (en) | 1998-07-17 | 2014-10-21 | United Video Properties, Inc. | Interactive television program guide system having multiple devices within a household |
US6505348B1 (en) | 1998-07-29 | 2003-01-07 | Starsight Telecast, Inc. | Multiple interactive electronic program guide system and methods |
US6898762B2 (en) | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
ATE406618T1 (en) | 2000-10-11 | 2008-09-15 | United Video Properties Inc | SYSTEMS AND METHODS FOR PROVIDING DATA STORAGE IN SERVERS IN A MEDIA ON-DEMAND DELIVERY SYSTEM |
EP1936981A3 (en) | 2001-02-21 | 2010-12-29 | United Video Properties, Inc. | Systems and method for interactive program guides with personal video recording features |
US20030206719A1 (en) * | 2002-04-23 | 2003-11-06 | Jim Bumgardner | Storage Management for a Video Recorder |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
US8116611B2 (en) * | 2003-02-10 | 2012-02-14 | Aptiv Digital, Inc. | Tuner sharing video recorder system architecture |
JP4189804B2 (en) * | 2003-04-09 | 2008-12-03 | スズキ株式会社 | Seat back hinge structure |
US20080303959A1 (en) * | 2003-12-23 | 2008-12-11 | Mark Gilmore Mears | Method and Apparatus for Changing Channels in a System Operating in a Recording Mode |
JP2005197925A (en) * | 2004-01-06 | 2005-07-21 | Pioneer Electronic Corp | Device and method for record editing, computer program, and server for record content editing |
US20050240963A1 (en) * | 2004-04-21 | 2005-10-27 | Showtime Networks, Inc. | Interactive gateway |
US8677429B2 (en) * | 2004-05-06 | 2014-03-18 | Cisco Technology Inc. | Resource conflict resolution for multiple television |
JP2006019888A (en) * | 2004-06-30 | 2006-01-19 | Toshiba Corp | Recorder and recording control method |
US20090228466A1 (en) * | 2004-08-11 | 2009-09-10 | Koninklijke Philips Electronics, N.V. | Method of and device for searching for relevant content in a network |
US7743398B2 (en) * | 2004-08-13 | 2010-06-22 | Microsoft Corporation | Video recording conflict management and user interface |
US8806533B1 (en) | 2004-10-08 | 2014-08-12 | United Video Properties, Inc. | System and method for using television information codes |
KR20060066270A (en) * | 2004-12-13 | 2006-06-16 | 엘지전자 주식회사 | Digital TV and Reservation Recording Method |
US20060136966A1 (en) * | 2004-12-22 | 2006-06-22 | Folk Robert H Ii | Digital video recorder for recording missed program episodes and for resolving scheduling conflicts between programs to be recorded |
US8229283B2 (en) | 2005-04-01 | 2012-07-24 | Rovi Guides, Inc. | System and method for quality marking of a recording |
US8249429B2 (en) | 2005-04-27 | 2012-08-21 | Panasonic Corporation | Digital broadcasting receiving system, digital broadcasting receiver, and mobile communication device |
US7571454B2 (en) | 2005-05-04 | 2009-08-04 | Microsoft Corporation | Strategies for updating schedules |
US7584497B2 (en) * | 2005-05-24 | 2009-09-01 | Microsoft Corporation | Strategies for scheduling bandwidth-consuming media events |
KR100677609B1 (en) * | 2005-08-25 | 2007-02-02 | 삼성전자주식회사 | Method and apparatus for managing tuners for broadcast service in home network |
US7570870B2 (en) * | 2005-09-27 | 2009-08-04 | Guideworks, Llc | Systems and methods for recording programs of lesser interest when convenient |
US7646962B1 (en) | 2005-09-30 | 2010-01-12 | Guideworks, Llc | System and methods for recording and playing back programs having desirable recording attributes |
CN101288129B (en) * | 2005-10-17 | 2011-07-13 | 夏普株式会社 | Recording device, recording device and control method |
US7765235B2 (en) * | 2005-12-29 | 2010-07-27 | Rovi Guides, Inc. | Systems and methods for resolving conflicts and managing system resources in multimedia delivery systems |
US8214869B2 (en) * | 2005-12-29 | 2012-07-03 | Rovi Guides, Inc. | Systems and methods for managing a status change of a multimedia asset in multimedia delivery systems |
JP2007213772A (en) * | 2006-01-11 | 2007-08-23 | Sony Corp | Recording/transferring program, recording/transferring apparatus, and recording/transferring method |
US20070183745A1 (en) * | 2006-02-08 | 2007-08-09 | Sbc Knowledge Ventures, L.P. | Method and system to control recording of a digital program |
US20070204118A1 (en) * | 2006-02-28 | 2007-08-30 | Sbc Knowledge Ventures ,L.P. | System and method of managing the memory content of a device |
US8380726B2 (en) | 2006-03-06 | 2013-02-19 | Veveo, Inc. | Methods and systems for selecting and presenting content based on a comparison of preference signatures from multiple users |
US8316394B2 (en) | 2006-03-24 | 2012-11-20 | United Video Properties, Inc. | Interactive media guidance application with intelligent navigation and display features |
US20080075423A1 (en) * | 2006-09-26 | 2008-03-27 | Debie Tod A | Automatic resolution of viewing and recording conflicts in digital video recorders |
JP2008084057A (en) * | 2006-09-28 | 2008-04-10 | Brother Ind Ltd | Content management apparatus and content management program |
US8832742B2 (en) | 2006-10-06 | 2014-09-09 | United Video Properties, Inc. | Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications |
US20080134252A1 (en) * | 2006-12-05 | 2008-06-05 | Bhogal Kulvir S | Recording video broadcasts that end at a time different than the originally scheduled time |
US7801888B2 (en) | 2007-03-09 | 2010-09-21 | Microsoft Corporation | Media content search results ranked by popularity |
US8418206B2 (en) | 2007-03-22 | 2013-04-09 | United Video Properties, Inc. | User defined rules for assigning destinations of content |
US8087047B2 (en) | 2007-04-20 | 2011-12-27 | United Video Properties, Inc. | Systems and methods for providing remote access to interactive media guidance applications |
KR101391757B1 (en) * | 2007-07-06 | 2014-05-07 | 삼성전자 주식회사 | Broadcast receiving apparatus and control method thereof |
US8327403B1 (en) | 2007-09-07 | 2012-12-04 | United Video Properties, Inc. | Systems and methods for providing remote program ordering on a user device via a web server |
US20090094661A1 (en) * | 2007-10-03 | 2009-04-09 | Gateway Inc. | Networked personal video recorder backup system |
JP4568323B2 (en) * | 2007-12-07 | 2010-10-27 | 富士通株式会社 | Broadcast program recording device |
AU2009215193A1 (en) * | 2008-02-12 | 2009-08-20 | Pacific Biosciences Of California, Inc. | Compositions and methods for use in analytical reactions |
US8989561B1 (en) | 2008-05-29 | 2015-03-24 | Rovi Guides, Inc. | Systems and methods for alerting users of the postponed recording of programs |
US8601526B2 (en) | 2008-06-13 | 2013-12-03 | United Video Properties, Inc. | Systems and methods for displaying media content and media guidance information |
US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
US9032444B2 (en) * | 2008-12-31 | 2015-05-12 | Verizon Patent And Licensing Inc. | Systems, methods, and apparatuses for resolving media content recording conflicts |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US9014546B2 (en) | 2009-09-23 | 2015-04-21 | Rovi Guides, Inc. | Systems and methods for automatically detecting users within detection regions of media devices |
US9113127B2 (en) * | 2010-02-08 | 2015-08-18 | Echostar Technologies L.L.C. | Systems and methods for automatically scheduling recordings of programming events |
US9204193B2 (en) | 2010-05-14 | 2015-12-01 | Rovi Guides, Inc. | Systems and methods for media detection and filtering using a parental control logging application |
US10908794B2 (en) * | 2010-08-16 | 2021-02-02 | Iheartmedia Management Services, Inc. | Automated scheduling of multimedia content avoiding adjacency conflicts |
US9736524B2 (en) | 2011-01-06 | 2017-08-15 | Veveo, Inc. | Methods of and systems for content search based on environment sampling |
US20120224834A1 (en) * | 2011-03-01 | 2012-09-06 | Echostar Technologies L.L.C. | Apparatus And Methods For Dynamically Optimizing Recording Schedules |
GB2491344B (en) * | 2011-05-23 | 2015-07-29 | Samsung Electronics Co Ltd | Record list management |
WO2013016626A1 (en) * | 2011-07-27 | 2013-01-31 | Thomson Licensing | Variable real time buffer and apparatus |
EP2759143B8 (en) | 2011-09-22 | 2017-08-02 | Thomson Licensing DTV | Method and apparatus for processing requests for recording content |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
US8898694B2 (en) * | 2012-04-27 | 2014-11-25 | United Video Properties, Inc. | Systems and methods for indicating media asset access conflicts using a time bar |
US9253262B2 (en) | 2013-01-24 | 2016-02-02 | Rovi Guides, Inc. | Systems and methods for connecting media devices through web sockets |
TWI499301B (en) * | 2013-10-08 | 2015-09-01 | Wistron Corp | Controlling method for recording digital television programs |
CN105260194B (en) * | 2015-11-06 | 2018-08-21 | 中冶南方(武汉)信息技术工程有限公司 | A kind of chemical industrial park comprehensive monitoring system fast construction platform |
CN106792113B (en) * | 2016-12-06 | 2020-09-22 | 深圳Tcl新技术有限公司 | Method and device for prompting conflict of recording time and smart television |
US10694251B2 (en) | 2017-02-23 | 2020-06-23 | The Directv Group, Inc. | Preventing inadvertent viewing of media content |
US10271102B2 (en) * | 2017-07-24 | 2019-04-23 | Rovi Guides, Inc. | Systems and methods for conflict detection based on user preferences |
WO2024179712A1 (en) * | 2023-02-27 | 2024-09-06 | Vidaa (Netherlands) International Holdings B.V | Display apparatus and recording method |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6100376A (en) * | 1988-11-08 | 2000-08-08 | Hoechst Aktiengesellschaft | A21, B30, modified insulin derivatives having an altered action profile |
US6185360B1 (en) * | 1996-10-08 | 2001-02-06 | Matsushita Electric Industrial Co., Ltd. | Information receiving system and method |
US6601237B1 (en) * | 1998-12-23 | 2003-07-29 | Koninklijke Philips Electronics N.V. | Apparatus and method for rescheduling program conflicts in a virtual channel scheduling gap |
US6721954B1 (en) * | 1999-06-23 | 2004-04-13 | Gateway, Inc. | Personal preferred viewing using electronic program guide |
US6757906B1 (en) * | 1999-03-30 | 2004-06-29 | Tivo, Inc. | Television viewer interface system |
US20050097619A1 (en) * | 1994-08-02 | 2005-05-05 | Haddad Joseph C. | Interactive audiovisual distribution system |
US7088910B2 (en) * | 2001-02-09 | 2006-08-08 | Microsoft Corporation | Optimizing use of storage space in a video data recording system |
US7356246B1 (en) * | 2000-10-01 | 2008-04-08 | Digital Networks North America, Inc. | Method and system for extending recording |
Family Cites Families (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4264924A (en) * | 1978-03-03 | 1981-04-28 | Freeman Michael J | Dedicated channel interactive cable television system |
US4264925A (en) * | 1979-08-13 | 1981-04-28 | Michael J. Freeman | Interactive cable television system |
US5508815A (en) * | 1981-12-14 | 1996-04-16 | Smart Vcr Limited Partnership | Schedule display system for video recorder programming |
US4573072A (en) * | 1984-03-21 | 1986-02-25 | Actv Inc. | Method for expanding interactive CATV displayable choices for a given channel capacity |
US4706121B1 (en) * | 1985-07-12 | 1993-12-14 | Insight Telecast, Inc. | Tv schedule system and process |
US4945563A (en) * | 1986-11-05 | 1990-07-31 | Satellite Technology Services, Inc. | Video system and method for controlled viewing and videotaping |
EP0300562B1 (en) * | 1987-07-20 | 1997-11-05 | Philips Electronics Uk Limited | Television transmission system |
USRE34340E (en) | 1987-10-26 | 1993-08-10 | Actv, Inc. | Closed circuit television system having seamless interactive television programming and expandable user participation |
US5012409A (en) * | 1988-03-10 | 1991-04-30 | Fletcher Mitchell S | Operating system for a multi-tasking operating environment |
US4977455B1 (en) * | 1988-07-15 | 1993-04-13 | System and process for vcr scheduling | |
US5187589A (en) * | 1988-07-28 | 1993-02-16 | Pioneer Electronic Corporation | Multiprogram video tape recording and reproducing device |
GB8824090D0 (en) | 1988-10-14 | 1988-11-23 | Tindall A P | Video recording control device |
US5974222A (en) * | 1988-12-23 | 1999-10-26 | Gemstar Development Corporation | Apparatus and method using compressed codes for scheduling broadcast information recording |
JPH02264586A (en) * | 1989-04-04 | 1990-10-29 | Pioneer Electron Corp | Catv system and catv terminal equipment |
US5253066C1 (en) * | 1989-06-01 | 2001-05-22 | United Video Properties Inc | Tv recording and viewing control system |
US5047867A (en) * | 1989-06-08 | 1991-09-10 | North American Philips Corporation | Interface for a TV-VCR system |
US5038211A (en) * | 1989-07-05 | 1991-08-06 | The Superguide Corporation | Method and apparatus for transmitting and receiving television program information |
EP0500680B1 (en) * | 1989-10-30 | 2002-01-23 | Starsight Telecast, Inc. | Cable television decoder to television accessory interfacing |
US5353121A (en) * | 1989-10-30 | 1994-10-04 | Starsight Telecast, Inc. | Television schedule system |
US5727060A (en) * | 1989-10-30 | 1998-03-10 | Starsight Telecast, Inc. | Television schedule system |
US5068733A (en) * | 1990-03-20 | 1991-11-26 | Bennett Richard H | Multiple access television |
JP2811887B2 (en) * | 1990-03-27 | 1998-10-15 | ソニー株式会社 | Receiver |
US5808608A (en) * | 1990-09-10 | 1998-09-15 | Starsight Telecast, Inc. | Background television schedule system |
US5619274A (en) * | 1990-09-10 | 1997-04-08 | Starsight Telecast, Inc. | Television schedule information transmission and utilization system and process |
US5790198A (en) * | 1990-09-10 | 1998-08-04 | Starsight Telecast, Inc. | Television schedule information transmission and utilization system and process |
EP0969662B1 (en) * | 1990-09-10 | 2002-07-03 | Starsight Telecast, Inc. | A television schedule system |
KR0178536B1 (en) * | 1991-03-11 | 1999-04-15 | 강진구 | Channel selecting method of relative program |
US5210611A (en) * | 1991-08-12 | 1993-05-11 | Keen Y. Yee | Automatic tuning radio/TV using filtered seek |
US5416508A (en) * | 1991-10-22 | 1995-05-16 | Pioneer Electronic Corporation | CATV system with transmission of program schedules, linked program broadcasts, and permissive ordering periods |
JP3004105B2 (en) * | 1991-11-15 | 2000-01-31 | 株式会社東芝 | Television receiver |
US5724091A (en) * | 1991-11-25 | 1998-03-03 | Actv, Inc. | Compressed digital data interactive program system |
US5223924A (en) * | 1992-05-27 | 1993-06-29 | North American Philips Corporation | System and method for automatically correlating user preferences with a T.V. program information database |
US5371551A (en) | 1992-10-29 | 1994-12-06 | Logan; James | Time delayed digital video system using concurrent recording and playback |
US5657414A (en) * | 1992-12-01 | 1997-08-12 | Scientific-Atlanta, Inc. | Auxiliary device control for a subscriber terminal |
US5592551A (en) * | 1992-12-01 | 1997-01-07 | Scientific-Atlanta, Inc. | Method and apparatus for providing interactive electronic programming guide |
US5631995A (en) * | 1993-04-01 | 1997-05-20 | U.S. Philips Corporation | Video recorder having circuitry for causing the tuner therein to tune to the same received signal as the tuner in a television receiver connected to the video recorder |
US5812937B1 (en) * | 1993-04-08 | 2000-09-19 | Digital Dj Inc | Broadcast data system with multiple-tuner receiver |
US5589892A (en) * | 1993-09-09 | 1996-12-31 | Knee; Robert A. | Electronic television program guide schedule system and method with data feed access |
US6275268B1 (en) | 1993-09-09 | 2001-08-14 | United Video Properties, Inc. | Electronic television program guide with remote product ordering |
US5410344A (en) * | 1993-09-22 | 1995-04-25 | Arrowsmith Technologies, Inc. | Apparatus and method of selecting video programs based on viewers' preferences |
US5537141A (en) * | 1994-04-15 | 1996-07-16 | Actv, Inc. | Distance learning system providing individual television participation, audio responses and memory for every student |
US5485219A (en) * | 1994-04-18 | 1996-01-16 | Depromax Limited | Electric service to record transmissions without recording commercials |
US5539822A (en) * | 1994-04-19 | 1996-07-23 | Scientific-Atlanta, Inc. | System and method for subscriber interactivity in a television system |
US5812205A (en) * | 1994-05-04 | 1998-09-22 | Starsight Telecast Incorporated | Automatic time set in a television system |
KR100348915B1 (en) | 1994-05-12 | 2002-12-26 | 마이크로소프트 코포레이션 | TV program selection method and system |
US5632007A (en) * | 1994-09-23 | 1997-05-20 | Actv, Inc. | Interactive system and method for offering expert based interactive programs |
US5576755A (en) * | 1994-10-28 | 1996-11-19 | Davis; Bruce | System and method for verification of electronic television program guide data |
US5534911A (en) * | 1994-11-02 | 1996-07-09 | Levitan; Gutman | Virtual personal channel in a television system |
US5629733A (en) * | 1994-11-29 | 1997-05-13 | News America Publications, Inc. | Electronic television program guide schedule system and method with display and search of program listings by title |
US5758257A (en) * | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5751338A (en) * | 1994-12-30 | 1998-05-12 | Visionary Corporate Technologies | Methods and systems for multimedia communications via public telephone networks |
US5880768A (en) * | 1995-04-06 | 1999-03-09 | Prevue Networks, Inc. | Interactive program guide systems and processes |
US5828945A (en) * | 1995-04-17 | 1998-10-27 | Starsight Telecast, Inc. | Merging multi-source information in a television system |
US5550576A (en) * | 1995-04-17 | 1996-08-27 | Starsight Telecast Incorporated | Method and apparatus for merging television program schedule information received from multiple television schedule information sources |
US5699107A (en) * | 1995-05-05 | 1997-12-16 | Microsoft Corporation | Program reminder system |
US5585838A (en) * | 1995-05-05 | 1996-12-17 | Microsoft Corporation | Program time guide |
US5805763A (en) * | 1995-05-05 | 1998-09-08 | Microsoft Corporation | System and method for automatically recording programs in an interactive viewing system |
US5721829A (en) * | 1995-05-05 | 1998-02-24 | Microsoft Corporation | System for automatic pause/resume of content delivered on a channel in response to switching to and from that channel and resuming so that a portion of the content is repeated |
MY112755A (en) * | 1995-06-06 | 2001-08-30 | Sony Corp | Information data reproducing system, reproducing apparatus, reproducing method, data forming apparatus and data record medium |
FR2736783B1 (en) * | 1995-07-13 | 1997-08-14 | Thomson Multimedia Sa | METHOD AND APPARATUS FOR RECORDING AND PLAYBACK WITH LARGE CAPACITY RECORDING MEDIUM |
US6157413A (en) * | 1995-11-20 | 2000-12-05 | United Video Properties, Inc. | Interactive special events video signal navigation system |
US6195501B1 (en) * | 1996-03-28 | 2001-02-27 | Intel Corporation | Computer control of a video cassette recorder using wireless communication and a vertical blanking interval triggering |
US5969748A (en) * | 1996-05-29 | 1999-10-19 | Starsight Telecast, Inc. | Television schedule system with access control |
US5801787A (en) * | 1996-06-14 | 1998-09-01 | Starsight Telecast, Inc. | Television schedule system and method of operation for multiple program occurrences |
US5940572A (en) * | 1996-11-27 | 1999-08-17 | Daewoo Electronics Co. Ltd. | Integrated television and video cassette recorder system |
US6177931B1 (en) * | 1996-12-19 | 2001-01-23 | Index Systems, Inc. | Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information |
US6163316A (en) | 1997-01-03 | 2000-12-19 | Texas Instruments Incorporated | Electronic programming system and method |
US5850218A (en) * | 1997-02-19 | 1998-12-15 | Time Warner Entertainment Company L.P. | Inter-active program guide with default selection control |
US6208799B1 (en) * | 1997-04-29 | 2001-03-27 | Time Warner Entertainment Company L.P. | VCR recording timeslot adjustment |
US6141488A (en) * | 1997-09-05 | 2000-10-31 | United Video Properties, Inc. | Program guide system for recording television programs |
US6327418B1 (en) * | 1997-10-10 | 2001-12-04 | Tivo Inc. | Method and apparatus implementing random access and time-based functions on a continuous stream of formatted digital data |
US6154771A (en) * | 1998-06-01 | 2000-11-28 | Mediastra, Inc. | Real-time receipt, decompression and play of compressed streaming video/hypervideo; with thumbnail display of past scenes and with replay, hyperlinking and/or recording permissively intiated retrospectively |
US20050204388A1 (en) * | 1998-06-11 | 2005-09-15 | Knudson Edward B. | Series reminders and series recording from an interactive television program guide |
US6614987B1 (en) * | 1998-06-12 | 2003-09-02 | Metabyte, Inc. | Television program recording with user preference determination |
AR018677A1 (en) * | 1998-06-16 | 2001-11-28 | United Video Properties Inc | A METHOD FOR USING AN INTERACTIVE TELEVISION PROGRAMMING GUIDE IMPLEMENTED IN A TELEVISION EQUIPMENT AND AN INTERACTIVE TELEVISION DEPROGRAMATION GUIDANCE PROVISION FOR EXECUTING SUCH METHOD |
CN1867068A (en) * | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | Client-server based interactive television program guide system with remote server recording |
AR020608A1 (en) * | 1998-07-17 | 2002-05-22 | United Video Properties Inc | A METHOD AND A PROVISION TO SUPPLY A USER REMOTE ACCESS TO AN INTERACTIVE PROGRAMMING GUIDE BY A REMOTE ACCESS LINK |
CA2730344C (en) * | 1998-07-17 | 2014-10-21 | United Video Properties, Inc. | Interactive television program guide system having multiple devices within a household |
US7889964B1 (en) | 1998-07-30 | 2011-02-15 | Tivo Inc. | Closed caption tagging system |
US6233389B1 (en) * | 1998-07-30 | 2001-05-15 | Tivo, Inc. | Multimedia time warping system |
US20040210932A1 (en) * | 1998-11-05 | 2004-10-21 | Toshiaki Mori | Program preselecting/recording apparatus for searching an electronic program guide for programs according to predetermined search criteria |
US6564005B1 (en) | 1999-01-28 | 2003-05-13 | International Business Machines Corporation | Multi-user video hard disk recorder |
WO2001042940A1 (en) * | 1999-12-10 | 2001-06-14 | Diva Systems Corporation | Method and apparatus of load sharing and improving fault tolerance in an interactive video distribution system |
US20010034237A1 (en) | 2000-03-01 | 2001-10-25 | Masood Garahi | Interactive wagering system with control of unauthorized wagering |
US6681396B1 (en) * | 2000-02-11 | 2004-01-20 | International Business Machines Corporation | Automated detection/resumption of interrupted television programs |
JP2001285729A (en) * | 2000-03-29 | 2001-10-12 | Canon Inc | Receiver, digital broadcasting receiver, digital broadcasting reception method and method therefor |
BR0109597A (en) | 2000-03-31 | 2003-02-04 | United Video Proerties Inc | System and methods for reducing program recording cuts |
CA2404866A1 (en) | 2000-04-05 | 2001-10-18 | Ods Properties, Inc. | Interactive wagering systems and methods for restricting wagering access |
US6837791B1 (en) | 2000-04-05 | 2005-01-04 | Ods Properties, Inc. | Interactive wagering system with totalisator selection |
US6771886B1 (en) * | 2000-05-25 | 2004-08-03 | Koninklijke Philips Electronics N.V. | Method and apparatus to adaptively program a recording device |
FR2819137A1 (en) * | 2000-12-28 | 2002-07-05 | Thomson Multimedia Sa | METHOD FOR MANAGING RECORDINGS OF AUDIOVISUAL PROGRAMS AND ASSOCIATED DEVICES |
EP1936981A3 (en) * | 2001-02-21 | 2010-12-29 | United Video Properties, Inc. | Systems and method for interactive program guides with personal video recording features |
EP2597867A1 (en) * | 2001-03-22 | 2013-05-29 | United Video Properties, Inc. | Personal video recorder systems and methods |
US20020144279A1 (en) * | 2001-03-30 | 2002-10-03 | Guojun Zhou | Method and apparatus for providing custom television channels to viewers |
US20030009766A1 (en) * | 2001-07-06 | 2003-01-09 | Koninklijke Philips Electronics N.V. | Person-to-person scheduling and notification of automatic program recording for personalized television |
AR037425A1 (en) * | 2001-11-26 | 2004-11-10 | United Video Properties Inc | INTERACTIVE TV PROGRAM GUIDE TO RECORD IMPROVED VIDEO CONTENT |
US20030206719A1 (en) * | 2002-04-23 | 2003-11-06 | Jim Bumgardner | Storage Management for a Video Recorder |
US7369750B2 (en) * | 2002-04-24 | 2008-05-06 | Microsoft Corporation | Managing record events |
US20040103434A1 (en) * | 2002-11-25 | 2004-05-27 | United Video Properties, Inc. | Interactive television systems with conflict management capabilities |
-
2003
- 2003-02-10 US US10/248,699 patent/US7774816B2/en active Active
-
2010
- 2010-06-22 US US12/820,772 patent/US20100316355A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6100376A (en) * | 1988-11-08 | 2000-08-08 | Hoechst Aktiengesellschaft | A21, B30, modified insulin derivatives having an altered action profile |
US20050097619A1 (en) * | 1994-08-02 | 2005-05-05 | Haddad Joseph C. | Interactive audiovisual distribution system |
US6185360B1 (en) * | 1996-10-08 | 2001-02-06 | Matsushita Electric Industrial Co., Ltd. | Information receiving system and method |
US6601237B1 (en) * | 1998-12-23 | 2003-07-29 | Koninklijke Philips Electronics N.V. | Apparatus and method for rescheduling program conflicts in a virtual channel scheduling gap |
US6757906B1 (en) * | 1999-03-30 | 2004-06-29 | Tivo, Inc. | Television viewer interface system |
US6721954B1 (en) * | 1999-06-23 | 2004-04-13 | Gateway, Inc. | Personal preferred viewing using electronic program guide |
US7356246B1 (en) * | 2000-10-01 | 2008-04-08 | Digital Networks North America, Inc. | Method and system for extending recording |
US7088910B2 (en) * | 2001-02-09 | 2006-08-08 | Microsoft Corporation | Optimizing use of storage space in a video data recording system |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180176626A1 (en) * | 2002-01-04 | 2018-06-21 | Rovi Technologies Corporation | Method and apparatus for selecting among multiple tuners |
US11412288B2 (en) | 2002-01-04 | 2022-08-09 | Rovi Technologies Corporation | Method and apparatus for selecting among multiple tuners |
US10757465B2 (en) * | 2002-01-04 | 2020-08-25 | Rovi Technologies Corporation | Method and apparatus for selecting among multiple tuners |
US20080196065A1 (en) * | 2002-04-24 | 2008-08-14 | Microsoft Corporation | Managing record events |
US9137482B2 (en) | 2010-03-31 | 2015-09-15 | Verizon Patent And Licensing Inc. | Methods and systems for resolution-based modification of recording instructions associated with a scheduled recording of a media content instance |
US9195968B2 (en) * | 2011-09-09 | 2015-11-24 | Microsoft Technology Licensing, Llc | Cloud-based broker service for digital assistants |
US20160078405A1 (en) * | 2011-09-09 | 2016-03-17 | Microsoft Technology Licensing, Llc | Cloud-based broker service for digital assistants |
US9842316B2 (en) * | 2011-09-09 | 2017-12-12 | Microsoft Technology Licensing, Llc | Cloud-based broker service for digital assistants |
US20130067549A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Cloud-Based Broker Service for Digital Assistants |
US9195725B2 (en) * | 2012-07-23 | 2015-11-24 | International Business Machines Corporation | Resolving database integration conflicts using data provenance |
US20140025645A1 (en) * | 2012-07-23 | 2014-01-23 | International Business Machines Corporation | Resolving Database Integration Conflicts Using Data Provenance |
US11284152B2 (en) | 2017-06-07 | 2022-03-22 | Sports Direct, Inc. | Computing system with timing prediction and media program retrieval and output feature |
US11477530B2 (en) * | 2017-06-07 | 2022-10-18 | Sports Direct, Inc. | Computing system with timing prediction and electronic program guide feature |
Also Published As
Publication number | Publication date |
---|---|
US20030198462A1 (en) | 2003-10-23 |
US7774816B2 (en) | 2010-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7774816B2 (en) | Conflict manager for a video recorder | |
US8116611B2 (en) | Tuner sharing video recorder system architecture | |
US8176516B2 (en) | Video recorder having user extended and automatically extended time slots | |
US6760538B1 (en) | Video recorder having user extended and automatically extended time slots | |
KR100912610B1 (en) | Optimizing use of storage space in a video data recording system | |
US8209610B2 (en) | Information processing apparatus, information processing method, and computer program | |
JP3501645B2 (en) | Broadcast video recorder | |
US8528015B2 (en) | Resource sharing system of set-top boxes | |
CA2602327C (en) | System and method for quality marking of a recording | |
US20060136966A1 (en) | Digital video recorder for recording missed program episodes and for resolving scheduling conflicts between programs to be recorded | |
US7965976B2 (en) | Information processing apparatus and method and computer program | |
US7512318B2 (en) | Apparatus and method which enables fully recording a fragmented program even with an operation after initial few airings | |
US20030206719A1 (en) | Storage Management for a Video Recorder | |
US20020110360A1 (en) | Systems and methods for recording fragmented programs | |
JPH0970020A (en) | Receiver for isdb | |
JP2004220696A (en) | Device, method and program for recording | |
US7519269B2 (en) | Video recording/reproducing apparatus and method based on program information | |
US20060147180A1 (en) | Data processor apparatus | |
KR20100054048A (en) | Method and apparatus for scanning channel in digital broadcating receiver | |
US20060026625A1 (en) | Search engine for a video recorder | |
KR101253638B1 (en) | Apparatus and method for recording of automated reservation in Digital TV | |
JP3810380B2 (en) | Broadcast video recording device | |
JP3810379B2 (en) | Broadcast video recording device | |
KR20040110639A (en) | Method for removing broadcasting program of the personal video recorder | |
JP2007520953A (en) | Multi-page teletext decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: PIONEER DIGITAL TECHNOLOGIES, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BUMGARDNER, JIM;KRAKIRIAN, HAIG H.;SIGNING DATES FROM 20030130 TO 20030131;REEL/FRAME:024590/0717 Owner name: APTIV DIGITAL, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:PDT INTERACTIVE, INC.;REEL/FRAME:024591/0936 Effective date: 20050811 Owner name: PDT INTERACTIVE, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:PIONEER DIGITAL TECHNOLOGIES, INC.;REEL/FRAME:024591/0953 Effective date: 20050427 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, NE Free format text: SECURITY INTEREST;ASSIGNORS:APTIV DIGITAL, INC., A DELAWARE CORPORATION;GEMSTAR DEVELOPMENT CORPORATION, A CALIFORNIA CORPORATION;INDEX SYSTEMS INC, A BRITISH VIRGIN ISLANDS COMPANY;AND OTHERS;REEL/FRAME:027039/0168 Effective date: 20110913 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT, MARYLAND Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:APTIV DIGITAL, INC.;GEMSTAR DEVELOPMENT CORPORATION;INDEX SYSTEMS INC.;AND OTHERS;REEL/FRAME:033407/0035 Effective date: 20140702 Owner name: APTIV DIGITAL, INC., CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: ROVI SOLUTIONS CORPORATION, CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: INDEX SYSTEMS INC., CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: UNITED VIDEO PROPERTIES, INC., CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: STARSIGHT TELECAST, INC., CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:APTIV DIGITAL, INC.;GEMSTAR DEVELOPMENT CORPORATION;INDEX SYSTEMS INC.;AND OTHERS;REEL/FRAME:033407/0035 Effective date: 20140702 Owner name: ROVI TECHNOLOGIES CORPORATION, CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: ROVI GUIDES, INC., CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: TV GUIDE INTERNATIONAL, INC., CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: GEMSTAR DEVELOPMENT CORPORATION, CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: ALL MEDIA GUIDE, LLC, CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 Owner name: ROVI CORPORATION, CALIFORNIA Free format text: PATENT RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:033396/0001 Effective date: 20140702 |
|
AS | Assignment |
Owner name: ROVI GUIDES, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:APTIV DIGITAL, INC.;REEL/FRAME:034289/0937 Effective date: 20141125 Owner name: ROVI GUIDES, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GEMSTAR DEVELOPMENT CORPORATION;REEL/FRAME:034501/0207 Effective date: 20141125 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: ROVI TECHNOLOGIES CORPORATION, CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: INDEX SYSTEMS INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: UNITED VIDEO PROPERTIES, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: APTIV DIGITAL INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: ROVI GUIDES, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: VEVEO, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: SONIC SOLUTIONS LLC, CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: GEMSTAR DEVELOPMENT CORPORATION, CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: STARSIGHT TELECAST, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 Owner name: ROVI SOLUTIONS CORPORATION, CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051145/0090 Effective date: 20191122 |