Channel buffering and display management system for multi-tuner set-top box
First Claim
1. A method for resourcing media content of multiple display channels, the method including the steps of:
- determining when resources are insufficient to receive media content of a newly requested display channel;
responsive to a determination of insufficient resources, determining the lowest priority display channel using at least one user configurable rule; and
discontinuing the receipt of media content of a display channel designated as having the lowest priority among a plurality of received display channels.
6 Assignments
0 Petitions
Accused Products
Abstract
A system is provided that resources media content of multiple display channels. The system includes a memory with logic, tuning resources to receive media content of a plurality of display channels, buffering resources for buffering the media content, display resources for displaying the media content from at least one of the display channels, and a processor configured with the logic to determine when the resources are unavailable to receive media content of a newly requested display channel. The processor is further configured with the logic to, responsive to a determination of insufficient resources, determine the lowest priority display channel using at least one user configurable rule, wherein the processor is further configured with the logic to effect discontinuing the receipt of media content of a display channel designated as having the lowest priority among a plurality of received display channels.
217 Citations
92 Claims
-
1. A method for resourcing media content of multiple display channels, the method including the steps of:
-
determining when resources are insufficient to receive media content of a newly requested display channel;
responsive to a determination of insufficient resources, determining the lowest priority display channel using at least one user configurable rule; and
discontinuing the receipt of media content of a display channel designated as having the lowest priority among a plurality of received display channels. - View Dependent Claims (2, 3, 4)
-
-
5. A method for managing the use of media client device resources when a user request for a new display channel occurs while the resources are fully utilized for resourcing other display channels, the method comprising the steps of:
-
receiving an input signal indicating a user request for a new display channel while tuning and buffering media content downloaded in response to the user previously selecting a first display channel and while tuning, buffering, and displaying media content downloaded in response to the user previously selecting a second display channel;
characterizing the media content downloads of the first and second display channels with input variables;
assigning values to the input variables;
inputting the input variables and the corresponding assigned values into a set of rules that determine a priority between the first and second display channels; and
tuning, buffering, and displaying media content downloaded from the new display channel using the resources associated with the display channel having the lowest determined priority. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for managing the use of media client device resources when a user request for a new display channel occurs while the resources are fully utilized for resourcing other display channels, the method comprising the steps of:
-
receiving an input signal indicating a user request for a new display channel while tuning and buffering media content downloaded in response to the user previously selecting a first display channel and while tuning, buffering, and displaying media content downloaded in response to the user previously selecting a second display channel;
characterizing the media content downloads of the first and second display channels with input variables;
assigning values to the input variables, wherein the step of assigning includes the step of relating the an input variables to a first threshold and a second threshold to effect a buffering behavior of the media content associated with the first and second display channels, wherein the first and second thresholds include default values that are user configurable, wherein the step of assigning includes the step of causing the input variables to exhibit a non-linear range of values when the input variables are input into the set of rules, wherein the step of assigning includes the step of relating a first threshold to a first input variable value, wherein if the first input variable value is below the first threshold, the first input variable value is assigned a value of no significance, wherein the step of assigning includes the step of relating a first threshold and a second threshold to a second input variable value, wherein if the second input variable value is at least equal to the first threshold but below the second threshold, the second input variable value is assigned its original value, wherein the step of assigning includes the step of relating a first threshold and a second threshold to a third input variable value, wherein if the third input variable value is greater than the first and the second threshold, the third input variable value is assigned a maximum value, wherein the step of assigning includes the step of assigning a fourth input variable value a value of no significance based on input of the user, wherein the step of assigning includes the step of assigning a fifth input variable value a value of no significance based on input of the user to configure at least one of a desired buffering, tuning and display behavior during a user configuration session, wherein the step of assigning includes the step of assigning a sixth input variable value a maximum value based on input of the user, wherein the step of assigning includes the step of assigning a seventh input variable value a maximum value based on input of the user to configure at least one of a desired buffering, tuning and display behavior during a user configuration session, wherein the step of assigning includes the step of relating at least one of the input variable values to a non-linear range of assigned values, wherein the step of assigning includes the step of weighting each of the assigned values of the input variables multiplicatively with a respective coefficient that relates to the priority of the respective input variables, wherein the step of assigning includes the step of pre-processing the input variables in a pre-processing module, wherein the step of pre-processing includes the steps of receiving at least one of the input variables from memory, comparing the input variable value to at least one of a pre-determined set of thresholds, assigning a new value to the input variable from a range of desired values, and multiplying the value by its respective weight coefficient for input to the set of controlling rules, wherein the step of inputting the weighted value of the one of the input variables to the set of the controlling rules includes the step of providing an outcome that effects a change to at least some of the resources used for the media content of the first and the second display channel to resource the media content of the new display channel, wherein the set of rules are programmable;
inputting the input variables and the corresponding assigned values into a set of rules that determine a priority between the first and second display channels, wherein the set of rules dynamically adjusts a multiplicative coefficient of the input variable associated with the time the buffered media content is displayed on the display device according to the viewing patterns of the user, such that different viewing patterns are weighted differently in the set of rules;
tuning, buffering, and displaying media content downloaded from the new display channel using the resources associated with the display channel having the lowest determined priority;
wherein the step of characterizing the media content downloads includes the step of characterizing the media content downloads as an input variable representing a length of contiguous time of buffering media content of at least one of the first and second display channels;
wherein the step of characterizing the media content downloads includes the step of characterizing the media content downloads as an input variable representing a length of total time of buffering a media content instance of at least one of the first and second display channels;
wherein the step of characterizing the media content downloads includes the step of characterizing the media content downloads as an input variable representing a length of time that the buffered media content of at least one of the first and second display channels is displayed on a display device;
wherein the step of characterizing the media content downloads includes the step of characterizing the media content downloads as an input variable representing a relationship between a length of time of buffering media content of the first display channel with a length of time of buffering media content of the second display channel;
wherein the step of characterizing the media content downloads includes the step of characterizing the media content downloads as an input variable representing a relationship between a length of time of buffering media content of at least one of the first and second display channel with a length of time of displaying the associated display channel media content on a display device; and
wherein the step of characterizing the media content downloads includes the step of characterizing the media content downloads as an input variable representing whether at least one of the first and second display channels buffering media content is included in a favorites channel list, further including the step of enabling the user to configure whether the favorites channel list will influence a rule set, further including the step of using a different set of rules when the favorites channel list is employed as an input variable such that the assigned value of the input variable is weighted in a manner that favors continued buffering of the media content associated with the favorites channel list.
-
-
31. A method for buffering media content of multiple display channels, the method including the steps of:
-
receiving media content of a plurality of display channels using a plurality of tuners; and
buffering the media content to a plurality of buffers, wherein each tuner has an associated buffer. - View Dependent Claims (32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
37. A method for buffering media content of multiple display channels, the method including the steps of:
-
receiving media content of a plurality of display channels using a plurality of tuners; and
buffering the media content to a plurality of buffers, wherein each tuner has an associated buffer, wherein the steps of receiving and buffering the media content of a plurality of display channels include the steps of buffering the media content of a first display channel to a first buffer associated with a first tuner, and buffering the media content of a second display channel to a second buffer associated with a second tuner, further including the step of associating the first buffer with a first filename and the second buffer with a second filename, wherein the first buffer and the second buffer are located in separate storage devices, further including the steps of recording the point in time in memory when one of the display channels is tuned and then copying the point in time to a data structure associated with an associated buffer space when a first buffering threshold duration has substantially elapsed, wherein the buffering threshold duration is user configurable, wherein the buffering resources include at least one of a storage device, a communications interface, a compression engine, compression engine memory, and system memory, further including the steps of receiving media content from an external device that is coupled to a communication port and buffering to a third buffer associated with the communication port.
-
-
38. A method for prioritizing multiple display channels, the method including the steps of:
-
determining the buffering durations for buffered media content of associated display channels;
prioritizing the buffering durations of a plurality of buffers; and
designating at least one display channel as having the lowest priority based on the prioritized buffering durations.
-
-
54. A method for prioritizing multiple display channels, the method including the steps of:
-
receiving media content of a plurality of display channels using tuning resources, wherein the tuning resources include at least a tuner system, an analog decoder, a demodulator, and a demultiplexer;
buffering the media content using buffering resources, wherein the buffering resources include at least one of a storage device, a communications interface, a compression engine, compression engine memory, and system memory;
receiving a request for a new display channel when all of the tuning resources and the buffering resources are unavailable to fulfill the request;
prioritizing the plurality of display channels;
discontinuing the receiving and buffering of the lowest priority display channel;
deleting the media content associated with the lowest priority display channel;
receiving the media content of the new display channel using the tuning resources associated with the lowest priority display channel;
buffering the media content of the new display channel using the buffering resources of the lowest priority display channel;
wherein the step of prioritizing includes the step of designating the display channels with buffering durations that fail to meet a minimum threshold buffering duration as the lowest priority display channels;
wherein the step of deleting includes the step of randomly deleting the buffered media content from the buffering resources associated with either of the display channels that have the lowest priority duration, and wherein the steps of receiving and buffering include receiving and buffering the media content of the new display channel using the tuning resources and the buffering resources associated with the buffering resources from which the media content was deleted;
wherein the step of deleting includes the step of providing a decision barker for a user to determine which display channel of the plurality of display channels designated as having the lowest priority should have the media content deleted, and wherein the steps of receiving and buffering include receiving and buffering the media content of the new display channel using the tuning resources and the buffering resources associated with the buffering resources from which the media content was deleted;
wherein the step of deleting includes the step of favoring the retention of media content associated with a favorites display channel when the favorites display channel is included among the display channels designated as having the lowest priority duration;
further comprising the step of providing a decision barker to enable a user to determine priority if the buffering duration to each of the buffers at least meet a minimum threshold buffering duration and the buffering duration to each of the buffers are of equal duration;
further comprising the step of favoring retention of media content associated with a favorites display channel when the favorites display channel is included among display channels that have buffering durations that at least meet the minimum threshold buffering duration and the buffering duration to each of the buffers are of equal duration;
further comprising the step of deleting the buffered media content having the shortest buffering duration if the buffering duration to each of the buffers at least meet the minimum threshold buffering duration;
further comprising the step of deleting the buffered media content having the shortest buffering duration if the buffering duration to each of the buffers at least meets a minimum threshold and the buffered media content with the shortest buffering duration has a buffering duration of less than a defined percentage of the buffering duration of the buffered media content having the longest buffering duration, wherein the defined percentage includes at least one of a default value and a user configurable value;
further including the step of providing a decision barker to enable a user to determine priority when the lowest buffering duration is a defined value in relation to the defined percentage;
further including the step of providing a user configuration screen to enable the user to determine when to provide the decision barker;
further including the step of providing a user configuration screen to enable the user to determine the defined value;
further including the step of providing a decision barker if the buffering duration to each of the buffers at least meets a minimum threshold and the buffered media content with the lowest buffering duration has a buffering duration of at least equal to a defined percentage of the buffering duration of the buffered media content having the highest buffering duration, wherein the defined percentage includes at least one of a default value and a user configurable value;
further including the step of providing a user configuration screen to enable the user to determine when to provide the decision barker;
wherein the step of prioritizing includes the step of providing a decision barker for a user to determine priority when the buffering durations that are compared are substantially similar, wherein the decision barker includes a description of the buffering resource conflict, suggestions as to how to resolve the conflict, titles of each media content instance buffered, the buffering duration for each buffered media content instance, the times each media content instance was buffered, the ability to permanently record buffered media content, and the ability to delete buffered media content; and
wherein the step of prioritizing includes the step of providing a decision barker for a user to determine priority when the buffering durations are within a defined percentage of a minimum threshold, further including the step of providing a user configurable minimum threshold buffering duration.
-
-
55. A method for resourcing media content of multiple display channels, the method including the steps of:
-
receiving media content of a plurality of display channels using tuning resources;
buffering the media content using buffering resources;
displaying the media content from at least one of the display channels using display resources;
receiving a request for a new display channel when all of the tuning resources, the buffering resources, and the display resources are unavailable to fulfill the request;
discontinuing the display of the media content from at least one of the display resources;
prioritizing the plurality of display channels;
discontinuing the receiving and buffering of the lowest priority display channel;
deleting the media content associated with the lowest priority display channel;
receiving the media content of the new display channel using the tuning resources associated with the lowest priority display channel;
buffering the media content of the new display channel using the buffering resources of the lowest priority display channel; and
displaying the media content of the new display channel using the previously discontinued display resources. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73)
-
-
74. A method for resourcing media content of multiple display channels, the method including the steps of:
-
receiving media content of a plurality of display channels using tuning resources;
buffering the media content using buffering resources;
displaying the media content from at least one of the display channels using display resources;
receiving a request for a new display channel when all of the tuning resources, the buffering resources, and the display resources are unavailable to fulfill the request;
discontinuing the display of the media content from at least one of the display resources;
prioritizing the plurality of display channels;
discontinuing the receiving and buffering of the lowest priority display channel;
deleting the media content associated with the lowest priority display channel;
receiving the media content of the new display channel using the tuning resources associated with the lowest priority display channel;
buffering the media content of the new display channel using the buffering resources of the lowest priority display channel;
displaying the media content of the new display channel using the previously discontinued display resources;
wherein the steps of discontinuing includes discontinuing the receiving, buffering, and displaying of the media content associated with one of the display channels sourced from a digital transmission signal, wherein the steps of receiving, buffering, and displaying include receiving, buffering, and displaying the media content associated with the new display channel sourced from an analog transmission signal;
wherein the steps of discontinuing includes discontinuing the receiving, buffering, and displaying of media content associated with one of the display channels sourced from a digital transmission signal, wherein the steps of receiving, buffering, and displaying include receiving, buffering, and displaying the media content associated with the new display channel sourced from a digital transmission signal;
wherein the steps of discontinuing includes discontinuing the receiving, buffering, and displaying of the media content associated with one of the display channels sourced from an analog transmission signal, wherein the steps of receiving, buffering, and displaying include receiving, buffering, and displaying the media content associated with the new display channel sourced from an analog transmission signal;
wherein the steps of discontinuing includes discontinuing the receiving, buffering, and displaying of the media content associated with one of the display channels sourced from an analog transmission signal, wherein the steps of receiving, buffering, and displaying include receiving, buffering, and displaying the media content associated with the new display channel sourced from a digital transmission signal;
wherein the step of discontinuing the display includes discontinuing the display of media content associated with a first display channel sourced from a digital transmission signal while retaining the buffering of the media content associated with the first display channel, wherein the step of discontinuing the receiving and buffering includes discontinuing the receiving and buffering of media content associated with a second display channel sourced from an analog transmission signal, wherein the steps of receiving, buffering, and displaying includes receiving, buffering, and displaying the media content of the new display channel sourced from an analog transmission signal;
wherein the step of discontinuing the display includes discontinuing the display of media content associated with a first display channel sourced from a digital transmission signal while retaining the buffering of the media content associated with the first display channel, wherein the step of discontinuing the receiving and buffering includes discontinuing the receiving and buffering of media content associated with a second display channel sourced from an analog transmission signal, wherein the steps of receiving, buffering, and displaying includes receiving, buffering, and displaying the media content of the new display channel sourced from a digital transmission signal;
wherein the step of discontinuing the display includes discontinuing the display of media content associated with a first display channel sourced from a digital transmission signal while retaining the buffering of the media content associated with the first display channel, wherein the step of discontinuing the receiving and buffering includes discontinuing the receiving and buffering of media content associated with a second display channel sourced from a digital transmission signal, wherein the steps of receiving, buffering, and displaying includes receiving, buffering, and displaying the media content of the new display channel sourced from an analog transmission signal;
wherein the step of discontinuing the display includes discontinuing the display of media content associated with a first display channel sourced from a digital transmission signal while retaining the buffering of the media content associated with the first display channel, wherein the step of discontinuing the receiving and buffering includes discontinuing the receiving and buffering of media content associated with a second display channel sourced from a digital transmission signal, wherein the steps of receiving, buffering, and displaying includes receiving, buffering, and displaying the media content of the new display channel sourced from a digital transmission signal;
wherein the step of discontinuing the display includes discontinuing the display of media content associated with a first display channel sourced from an analog transmission signal while retaining the buffering of the media content associated with the first display channel, wherein the step of discontinuing the receiving and buffering includes discontinuing the receiving and buffering of media content associated with a second display channel sourced from an analog transmission signal, wherein the steps of receiving, buffering, and displaying includes receiving, buffering, and displaying the media content of the new display channel sourced from an analog transmission signal;
wherein the step of discontinuing the display includes discontinuing the display of media content associated with a first display channel sourced from an analog transmission signal while retaining the buffering of the media content associated with the first display channel, wherein the step of discontinuing the receiving and buffering includes discontinuing the receiving and buffering of media content associated with a second display channel sourced from an analog transmission signal, wherein the steps of receiving, buffering, and displaying includes receiving, buffering, and displaying the media content of the new display channel sourced from a digital transmission signal;
wherein the step of discontinuing the display includes discontinuing the display of media content associated with a first display channel sourced from an analog transmission signal while retaining the buffering of the media content associated with the first display channel, wherein the step of discontinuing the receiving and buffering includes discontinuing the receiving and buffering of media content associated with a second display channel sourced from a digital transmission signal, wherein the steps of receiving, buffering, and displaying includes receiving, buffering, and displaying the media content of the new display channel sourced from an analog transmission signal; and
wherein the step of discontinuing the display includes discontinuing the display of media content associated with a first display channel sourced from an analog transmission signal while retaining the buffering of the media content associated with the first display channel, wherein the step of discontinuing the receiving and buffering includes discontinuing the receiving and buffering of media content associated with a second display channel sourced from a digital transmission signal, wherein the steps of receiving, buffering, and displaying includes receiving, buffering, and displaying the media content of the new display channel sourced from a digital transmission signal.
-
-
75. A method for of staging the resources used for resourcing media content of multiple display channels, the method including the steps of:
-
receiving a request for a new display channel;
then determining the availability of unemployed resources to receive, buffer, and display the media content of the new display channel, wherein the resources include tuners to receive the transmitted media content, a display device to display the media content of the new display channel, storage device capacity to buffer the media content of the new display channel, interface access capability for buffering and retrieving media content to and from the storage device, compression engines, and decompression engines, and memory;
then determining whether to discontinue a display channel that is currently receiving and buffering media content in order to repossess a resource that is to be used for the new display channel media content;
then upon determining whether to discontinue a display channel, selecting a display channel that is currently buffering to discontinue;
then upon determining the unavailability of a display device to display the media content of the new display channel, discontinuing the display of the media content of the selected display channel;
then discontinuing the buffering of the media content of the selected display channel while continuing the buffering of non-selected display channel media content;
then deleting the media content of the selected display channel;
then upon determining the unavailability of a tuner to receive the media content of the new display channel, discontinuing the receipt of the media content of the selected display channel at a tuner of the selected display channel, then receiving the media content of the new display channel using the tuner previously associated with the selected display channel;
buffering media content of the new display channel into a buffer previously associated with the selected display channel; and
displaying the media content of the new display channel using the display device previously associated with the selected display channel.
-
-
76. A system for resourcing media content of multiple display channels, the system comprising:
-
a memory with logic;
tuning resources to receive media content of a plurality of display channels;
buffering resources for buffering the media content;
display resources for displaying the media content from at least one of the display channels; and
a processor configured with the logic to determine when the resources are unavailable to receive media content of a newly requested display channel, wherein the processor is further configured with the logic to, responsive to a determination of insufficient resources, determine the lowest priority display channel using at least one user configurable rule, wherein the processor is further configured with the logic to effect discontinuing the receipt of media content of a display channel designated as having the lowest priority among a plurality of received display channels, wherein the processor is further configured with the logic to employ the resources previously used to receive the discontinued media content to receive the media content of the newly requested display channel, wherein the processor is further configured with the logic to effect using tuning, buffering, and display resources to tune, buffer, and display media content of the newly requested display channel, wherein the processor is further configured with the logic to effect deleting the media content associated with the display channel designated as having the lowest priority, wherein deleting includes at least one of configuring storage space as writeable and writing over the storage space, wherein the processor is further configured with the logic to determine priority using a plurality of user configurable rules, wherein the processor is further configured with the logic to input at least one input variable among a plurality of input variables into the user configurable rule and provide a priority determination as an outcome.
-
-
77. A system for managing the use of media client device resources when a user request for a new display channel occurs while the resources are fully utilized for resourcing other display channels, the system comprising:
-
a memory with logic;
tuning resources to receive media content of a plurality of display channels;
buffering resources for buffering the media content;
display resources for displaying the media content from at least one of the display channels; and
a processor configured with the logic to receive an input signal indicating a user request for a new display channel while effecting the tuning and buffering of media content downloaded in response to the user previously selecting a first display channel and while effecting the tuning, buffering, and displaying of media content downloaded in response to the user previously selecting a second display channel, wherein the processor is further configured with the logic to characterize the media content downloads of the first and second display channels with input variables, wherein the processor is further configured with the logic to assign values to the input variables, wherein the processor is further configured with the logic to input the input variables and the corresponding assigned values into a set of rules that determine a priority between the first and second display channels, wherein the processor is further configured with the logic to then effect the tuning, buffering, and displaying of media content downloaded from the new display channel using the resources associated with the display channel having the lowest determined priority. - View Dependent Claims (78, 79, 80, 81, 82, 83)
-
-
84. A system for buffering media content of multiple display channels, the system comprising:
-
a plurality of tuners for receiving media content of a plurality of display channels;
a plurality of buffers for buffering the media content;
a memory with logic; and
a processor configured with the logic to effect the tuning and buffering, wherein the processor is further configured with the logic to associate each of the buffers with an associated tuner, wherein the processor is further configured with the logic to effect buffering the media content to a plurality of buffers, wherein each tuner has an associated buffer, wherein the processor is further configured with the logic to effect buffering the media content of a first display channel to a first buffer associated with a first tuner, and effect buffering the media content of a second display channel to a second buffer associated with a second tuner, wherein the processor is further configured with the logic to associate the first buffer with a first filename and the second buffer with a second filename, wherein the first buffer and the second buffer are located in separate storage devices, wherein the processor is further configured with the logic to record the point in time in memory when one of the display channels is tuned and then effect copying the point in time to a data structure associated with an associated buffer space when a first buffering threshold duration has substantially elapsed, wherein the buffering threshold duration is user configurable, further including a communications interface, a compression engine, compression engine memory, and system memory, wherein the processor is further configured with the logic to effect receiving media content from an external device that is coupled to a communication port and buffering to a third buffer associated with the communication port.
-
-
85. A system for prioritizing multiple display channels, the system comprising:
-
a plurality of buffers for storing buffered media content;
a memory with logic; and
a processor configured with the logic to determine the buffering durations for buffered media content of associated display channels, wherein the processor is further configured with the logic to prioritize the buffering durations of the plurality of buffers, wherein the processor is further configured with the logic to designate at least one display channel as having the lowest priority based on the prioritized buffering durations. - View Dependent Claims (86, 87)
-
-
88. A system for resourcing media content of multiple display channels, the system comprising:
-
a memory with logic;
tuning resources to receive media content of a plurality of display channels;
buffering resources for buffering the media content;
display resources for displaying the media content from at least one of the display channels;
a processor configured with the logic to receive a request for a new display channel when all of the tuning resources, the buffering resources, and the display resources are unavailable to fulfill the request, wherein the processor is further configured with the 11 logic to effect the discontinuance of the display of the media content from at least one of the display resources, wherein the processor is further configured with the logic to prioritize the plurality of display channels, wherein the processor is further configured with the logic to effect the discontinuance of the receiving and buffering of the lowest priority display channel, wherein the processor is further configured with the logic to effect the deletion of the media content associated with the lowest priority display channel, wherein the processor is further configured with the logic to effect the receipt of the media content of the new display channel using the tuning resources associated with the lowest priority display channel, wherein the processor is further configured with the logic to effect the buffering of the media content of the new display channel using the buffering resources of the lowest priority display channel, wherein the processor is further configured with the logic to effect the displaying of the media content of the new display channel using the previously discontinued display resources. - View Dependent Claims (89, 90, 91, 92)
-
Specification