The present invention relates to the creation and use of a user configurable custom channel for viewing selected content.
In multicast and broadcast applications, data are transmitted from a server to multiple receivers over wired and/or wireless networks. A multicast system as used herein is a system in which a server transmits the same data to multiple receivers simultaneously, where the receivers form a subset of all the receivers up to and including all of the receivers. A broadcast system is a system in which a server transmits the same data to all of the receivers simultaneously. That is, a multicast system by definition can include a broadcast system.
Current streaming media services seem to be limited to an on-demand content selection mechanism. The user is not able to select a lineup that includes multiple different programs and then to view episodes of those programs in a time linear fashion. The approach of the present invention brings a content scheduling mechanism to the usual on-demand streaming service environment. The user is also not able to view information about upcoming programs in the lineup and further to adjust the user channel to change the upcoming programs. Further, the user of conventional streaming services is not able to change the direction of the viewing by selecting to continue with the user configurable custom channel schedule or to continue with viewing more episodes of the same program series.
Streaming services such as Netflix and Hulu allow for selection of individual episode from a program series, or even the selection of an entire program series for viewing. Further the concept of scheduling the viewing of content is well known from the broadcast television space (a show is available at a particular time slot). The present invention goes further to take some properties from the scheduling of shows and superimpose them into the on-demand streaming service environment. The present invention also includes providing a program guide for the shows, into the on-demand streaming service environment. Streaming services like Netflix and Hulu also provide recommendations, but only as a set of selections which must be individually selected for viewing. Further, the recommendations of service providers such as Hulu and Netflix are not presented as “trailers” of the currently viewed content. Services such as Netflix and Hulu typically direct the user to “view the next episode” as an option at the end of viewing the current program. The present invention gives the user the option to continue with the channel lineup as originally created, or to continue with viewing the next episode of the currently viewed program series, or further to view trailers for recommendations for other content to view.
Bandwidth utilization in the network is more difficult to optimize because content is purely on-demand in conventional systems. No expectations are typically known or made about future viewing conditions. The present invention allows for some management and optimization of network utilization through local storage of content for expected future viewing.
Further, recommendations provided by a conventional service provider (distributor) are presented as pictures with no further inputs. The recommendations also may not be as timely as delivering them for viewing at the end of the currently viewed program. It would be advantageous to provide trailers for the recommendations at the end of the currently viewed program in the user configurable custom channel lineup.
The present invention is a mechanism to create and operate a custom user configurable program channel in media service based on user inputs. Instead of selecting individual episodes of programs, the user creates a channel containing a set of programs and views the programs' episodes in a time linear fashion, much like viewing live or broadcast television. The user may also create multiple user configurable custom channels and episodes that are viewed in one channel may be removed or changed if present as duplicates in other user configurable custom channels. The present invention also includes a “guest” feature that allows a second person to view the channel lineup without changing the state of the user configurable custom channel lineup for the original user. The concept of a guest user can be extended to consider a parent configuring a user configurable custom channel for one or more children, where the child(ren) are then considered guest users and the parent may grant modification privileges to one or more of the children. The present invention further extends operation to multiple users and multiple channels and monitoring the users and channels.
Further, a program guide for the user configurable channel is created and available to the user while viewing the content. The guide and configurable channel may be interactive in that the channel configuration may be changed based on viewing the guide information.
The streaming service can more efficiently utilize bandwidth by pre-queueing, delivering, and storing future content at the user device based on the user channel. Further described is a mechanism to insert additional “trailer” content for viewing by the user between the programs in the channel lineup as the programs in the user configurable custom channel lineup are shown. The “trailer” content may be advertisements or portions of programs similar to the programs in the user configurable custom channel lineup and may be provided through a recommendation engine.
Further, upon completion of a viewed program, the user is presented with a choice of how to continue, either viewing the next program or viewing the next episode for the current program.
Further, the user configurable custom channel(s) may be supplemented with recordings of content from live broadcasts and the recorded live content incorporated as part of the user configurable custom channel.
A method for creating and using a user configurable custom channel in a communications device is described including accessing a list of available content from a service provider, selecting a first unit of available content, selecting a second unit of available content, selecting a first time slot for rendering the selected first unit of available content, selecting a second time slot for rendering the selected second unit of available content, scheduling the selected first unit of available content during the first selected time slot and the selected second unit of available content during the selected second time slot and creating the user configurable custom channel for rendering the selected first unit of available content during the first selected time slot and for rendering the selected second unit of available content during the second selected time slot based on the scheduling.
The present invention is best understood from the following detailed description when read in conjunction with the accompanying drawings. The drawings include the following figures briefly described below:
In the receiving device 200 shown in
The decoded output signal is provided to an input stream processor 204. The input stream processor 204 performs the final signal selection and processing, and includes separation of video content from audio content for the content stream. The audio content is provided to an audio processor 206 for conversion from the received format, such as compressed digital signal, to an analog waveform signal. The analog waveform signal is provided to an audio interface 208 and further to the display device or audio amplifier. Alternatively, the audio interface 208 may provide a digital signal to an audio output device or display device using a High-Definition Multimedia Interface (HDMI) cable or alternate audio interface such as via a Sony/Philips Digital Interconnect Format (SPDIF). The audio interface may also include amplifiers for driving one more sets of speakers. The audio processor 206 also performs any necessary conversion for the storage of the audio signals.
The video output from the input stream processor 204 is provided to a video processor 210. The video signal may be one of several formats. The video processor 210 provides, as necessary a conversion of the video content, based on the input signal format. The video processor 210 also performs any necessary conversion for the storage of the video signals.
A storage device 212 stores audio and video content received at the input. The storage device 212 allows later retrieval and playback of the content under the control of a controller 214 and also based on commands, e.g., navigation instructions such as fast-forward (FF) and rewind (REW), received from a user interface 216 and/or touch panel interface 222. The storage device 212 may be a hard disk drive, one or more large capacity integrated electronic memories, such as static RAM (SRAM), or dynamic RAM (DRAM), or may be an interchangeable optical disk storage system such as a compact disk (CD) drive or digital video disk (DVD) drive.
The converted video signal, from the video processor 210, either originating from the input or from the storage device 212, is provided to the display interface 218. The display interface 218 further provides the display signal to a display device of the type described above. The display interface 218 may be an analog signal interface such as red-green-blue (RGB) or may be a digital interface such as HDMI. It is to be appreciated that the display interface 218 will generate the various screens for presenting the search results in a three dimensional grid as will be described in more detail below. In the event that the user is visually impaired (not blind) the display device may be a very large display screen. The visually impaired user may use a very large print format for viewing the choices (selection options) or the user interface may allow a visually impaired user to receive and make choices (selections) via an audio format.
The controller 214 is interconnected via a bus to several of the components of the receiving device 200, including the input stream processor 202, audio processor 206, video processor 210, storage device 212, and a user interface 216. The controller 214 manages the conversion process for converting the input stream signal into a signal for storage on the storage device or for display. The controller 214 also manages the retrieval and playback of stored content. Furthermore, as will be described below, the controller 214 performs searching of content and the creation and adjusting of the grid display representing the content, either stored or to be delivered via the delivery networks, described above.
The controller 214 is further coupled to control memory 220 (e.g., volatile or non-volatile memory, including RAM, SRAM, DRAM, ROM, programmable ROM (PROM), flash memory, electronically programmable ROM (EPROM), electronically erasable programmable ROM (EEPROM), etc.) for storing information and instruction code for controller 214. Control memory 220 may store instructions for controller 214. Control memory may also store a database of elements, such as graphic elements containing content. The database may be stored as a pattern of graphic elements. Alternatively, the memory may store the graphic elements in identified or grouped memory locations and use an access or location table to identify the memory locations for the various portions of information related to the graphic elements. Additional details related to the storage of the graphic elements will be described below. Further, the implementation of the control memory 220 may include several possible embodiments, such as a single memory device or, alternatively, more than one memory circuit communicatively connected or coupled together to form a shared or common memory. Still further, the memory may be included with other circuitry, such as portions of bus communications circuitry, in a larger circuit.
The operation of the invention in the set top box (or other home device) may be embedded in a controller circuit or may be implemented as a software program (either resident or cloud based) that runs using the controller circuit and memory in the set top box.
A user is presented with an entry screen, similar to an on-demand screen. From this screen the user may select a plurality of programs from the available program list. Either from this screen, or from a separate screen, the user builds a viewing order for the programs selected. An option may exist to directly select the viewing order, or allow the viewing order to be random. The user may also be able to select the order of the episodes viewed in the viewing order (selections may be order oldest to newest, newest to oldest, random, etc.).
The user may also build a program list based on “canned” selections, such as shows in a genre (crime, etc.) or shows from a network, or even shows in order from a particular original lineup (The Tuesday night 8 PM to 11 PM lineup on CBS). The user also has the option to name and save this “channel” (e.g., mychannel, CBStuesday, etc).
Any number of programs may be included in the channel and the options for episode selection may be further expanded to link the programs by season, or episode, etc. Additionally, the lineup may include multiple instances of the same program, allowing an viewing order such as program A, program B, program A (different episode), program C, program A (different episode), program D, etc.
Programs to add to the channel may also be recommended to the user based on user habits, much like the recommendations provided today in the streaming services.
Once the “channel” is created, recalling or selecting the “channel” begins the playback for viewing, in the order as chosen by the user. As an example, the following may be an order of playback based on a CBS Tuesday night lineup with random episode selection:
NCIS Season 1, Episode 1
NCIS LA Season 2, Episode 5
Vegas Season 1, Episode 3
NCIS Season 3, Episode 8
NCIS LA Season 1, Episode 7
Vegas Season 1, Episode 6 and so on.
Note that the playback order of the series continues based on the order selected. Each succeeding program starts when the previous program ends. Viewing of the channel may be paused or stopped. Re-starting the viewing of the channel may include options to resume from the last ending point, or resume at the beginning of the current program or resume at the start of the next program. The re-start point may also be changed to the start of any of the other programs in the channel lineup.
As a further advantage, given the orderly nature of playback, the streaming service may advantageously take advantage of available bandwidth and available content storage capacity in the user device and queue up the next program for viewing ahead of the viewing time. As a result, one or more programs (episodes) in a channel lineup may be queued up and available ahead of the viewing time based on the lineup.
A distinct advantage of the above channel and its use is that it allows on-demand type viewing while removing the extra work of constantly selecting the next on-demand program to view.
In addition to creating and viewing programs based on a created channel lineup, a program guide may also be generated, based on the created channel lineup. Essentially, the queue for the media programs to be displayed (in viewing order) may be presented to the user in a user interface display.
Additionally, the user can re-order the channel lineup based on the program guide. Within the guide, the following options may exist:
Place a different episode into the location for the program (random or chosen)
Remove an episode
Remove a program (series)
Add an episode (random or chosen) and place into the lineup (program guide) before or after highlighted entry
The updates that affect the channel lineup are then re-displayed as new entries in the program guide. The user may pause, rewind, fast-forward, or slow-motion while viewing a program, changing the finish time of a program. The changes in finish time adjust the start times of other programs in the lineup. The guide is then re-generated with the updates.
More than one user channel may be generated and maintained (using different identification or channel names) and each one of these channels may have a program guide associated with it. Each of the channels' program guide information may be incorporated into a common display (broadcast guide) showing the channel along with the relative start/stop times for the programs in each user channel. The user channel identifier can be shown as the channel name in the guide.
As mentioned above, the presence of local storage, such as a hard drive, that can store media content for viewing, in combination with channel programming and some expectation of future viewing allows for some potential streaming service network bandwidth optimizations.
In a first approach, the streaming service can provide to the home device a number (for instance, the next 10) of programs in the channel lineup. These may be delivered and stored locally at any time that bandwidth to the customer premises (e.g., home or business) becomes available (e.g., in the middle of the night) based on the channel lineup. Additionally, the service may provide the next number (for instance 3) of episodes for each of the next couple of programs in anticipation of the user selecting these as an alternative to the current channel lineup. Playback would initiate from the local storage rather than from the network, thus freeing up bandwidth for other activities.
Local storage management can include reviewing the progress periodically (for instance once a day) in terms of the current point in the channel lineup (how many programs have been viewed, which programs deleted, etc.) and which shows stored in anticipation of a program or a program change are no longer relevant. As an example, using the example above:
NCIS Season 1, Episode 1 (download and store, plus episodes 2, 3, and 4)
NCIS LA Season 2, Episode 5 (download and store, plus episodes 6, 7, and 8)
Vegas Season 1, Episode 3 (download and store, plus episodes 4, 5, and 6)
NCIS Season 3, Episode 8 (download and store, plus episodes 9, 10, and 11)
NCIS LA Season 1, Episode 7 (download and store, plus episodes 8, 9, and 10)
Vegas Season 1, Episode 6 (download and store episodes 7, 8, and 9 assuming 6 was previously downloaded)
Further, viewed episodes may be, automatically deleted after viewing, maintained after viewing for a period of time or stored until deleted by the user (e.g., “save as favorite”).
A priority to the delivery and storage of anticipated programs may also be assigned. In the example above, the content associated with each episode is downloaded sequentially from most current to furthest in future. In another approach, each primary program (the program in the channel lineup) is delivered and stored, followed by the first anticipated alternate program for each primary program and so on. In this manner, the system may remain in the best condition to have the program to be viewed by the user already stored in local storage.
That is, the content for the user configurable custom channel is stored in a storage device remote from the user for streaming the selected content to the user via the network.
New episodes for the programs in the custom channel lineup that become available (e.g., through a broadcast or on the streaming service) may be incorporated into the lineup based on the parameters chosen by the user. Below is one approach to incorporating the new episodes.
A monitoring step may include a query to the service provider (distributor) to determine updates. Updates may be based on a network website (many programs can be streamed or downloaded from the network website for a period of time chosen by the network), or may be part of a supplemental system that includes recording the episode off of a broadcast network and making it available in the lineup. Determination steps identify whether the user is “caught up” on viewing the episodes in sequential order based on viewing history. This may be important for the user to remain in sequence so it is not appropriate to push this new episode to first in line.
The program guide information for the user configured custom channel, stored as data related to the various programs may be incorporated as part of the view for a broadcast program guide (e.g., the DirecTV EPG or any cable system guide). In one embodiment, the program guide for the user configured custom channel is inserted as an entry (e.g., a column or a row in a grid guide) at the current time in the broadcast guide so that the content (currently viewed program) from the service provider (distributor) by the user is either exactly or approximately (depending on the resolution of time in the broadcast guide) accurate to the time in the broadcast guide. The future programs for the user configured custom channel are then lined up (exactly or approximately) with the future time slots in the broadcast guide.
The user may be presented with one or more “trailers” prior to the start of the next program in the channel lineup of the user configurable custom channel. These trailers may be an actual trailer (e.g., advertisement) or may be a portion (e.g., first couple of minutes of the first episode or program content) for a movie or other program (TV show, etc.) that is similar (e.g., similar genre, same producer, same actors, etc.) to the program that was just viewed by the user. These trailers may also be program content that is based on a recommendation engine and recommendation system that is used by the service provider. One or more of these trailers may be shown in successive fashion prior to the start of the next program in the channel lineup of the user configurable custom channel.
An option may also be given to the user to skip through the trailer once it begins or to skip viewing trailers altogether. An option may also exist to allow for the user to insert the new program (series, etc.) in the channel lineup of the user configurable custom channel based on the viewing of a trailer. The addition of the new program may also include options, as above, for deciding how episodes are placed into the lineup for viewing. The new program may also be placed at the front of the queue becoming the next program to be viewed.
Another option may exist to present a choice of trailers to view as a display grid of tiles or icons, allowing the user to click on one or more to begin playing the trailer. An option may also exist for the service or program to keep track of which trailers have been viewed and to avoid repeating the trailers within a certain period of time (including viewing time).
At the conclusion of viewing of a program in the user configurable custom channel, the user may be presented with a selection screen on the user interface. Alternatively, a selection screen may be pulled up (such as by using a menu or other key on a remote control device). This selection screen provides the user with some options regarding how to continue viewing content. In one embodiment, the following may be provided:
CONTINUE WITH NEXT PROGRAM FOR CHANNEL
CONTINUE WITH NEXT EPISODE IN SERIES FOR CURRENT PROGRAM
VIEW TRAILERS FOR RECOMMENDED PROGRAMS
The user may select an option, essentially altering the direction of the viewing as desired.
The same screen is available at the completion of each viewed program. If the user had previously selected option 2 above (next episode) and now selects option 1 above (next program), then the program lineup resumes from the point at which the deviation from the channel lineup had occurred. One particular use for this mechanism would be viewing all parts of a multi-episode program storyline (e.g., view part 2 after viewing part 1).
The option to select the next content (program) to be viewed is enabled (available) at any time (responsive to activation of a particular button (key) on a remote control device) and further to allow changing to viewing a previous episode of the current program, in order to begin by viewing the first episode in a multi-episode program storyline.
It should be noted that the selection screen may be replaced with audio communications in the event that the user is visually impaired.
At 1105 the user configurable custom channel is accessed. At 1110 the next program (unit of selected content) in the lineup of the user configurable custom channel lineup is retrieved and rendered for the user to view. At 1115 a determination is made as to whether the viewed program is done (over, completed). If the viewed program is not finished (is not done, is not over, has not completed) then processing proceed to 1110. If the viewed program is finished (is done, is over, has completed) then a determination is made at 1120 if the user wishes to continue with the next program in the user configurable custom channel lineup. If the user wishes to continue with the next program in the user configurable custom channel lineup then processing proceeds to 1110 and the next program is retrieved and rendered for the user. If the user does not wish to continue with the next program in the user configurable custom channel lineup and the viewed program is done (over, has completed, has finished) then at 1125 a determination is made whether the user wishes to view the next episode in the series (of the viewed program). If the user does not wish to continue with the next program in the user configurable custom channel lineup and the viewed program is done (over, has completed, has finished) and the user does not wish to view the next episode in the series then at 1130 it is assumed that the user wants to view trailer recommendations of other programs to watch (view). At 1130 the recommendation trailers are retrieved and the user configurable custom channel is updated and the program guide for the user configurable custom channel is also updated. Processing proceeds to 1110. If the user does not wish to continue with the next program in the user configurable custom channel lineup and the viewed program is done (over, has completed, has finished) and the user wishes to watch (view) the next episode in the series, then at 1135 the next episode is retrieved and the user configurable custom channel is updated and the program guide for the user configurable custom channel is also updated. Processing proceeds to 1110.
Multiple custom channels may be created by a user (or multiple users). The approach described above would still apply and the user(s) may assign separate names to the channels. In addition, “user profiles” or “custom channel profiles” may be created and the custom channels that are created may be assigned to these profiles. These profiles may be created and maintained either by the service account with the provider or as part of the user device (e.g., set top box, etc.).
One feature of maintaining these profiles is that the lineups in the user configurable custom channels may be altered or changed based on what is viewed and what may be present as duplicate programs or episodes between the user configurable custom channels. In one scenario, when an episode for program series is viewed while using one user configurable custom channel created by the user, duplicates of this episode that appear in the lineup on other user configurable custom channels created by the (same) user are deleted or changed. If the user has selected random episode viewing for that particular user configurable custom channel, a new episode may be randomly inserted in place (the episode may be changed if it was in the lineup to viewed in the next x number of episodes, where x could be settable and reasonable, like 6 episodes in the lineup) of the duplicate program or episode. If the user has selected sequential viewing, the next episode may be inserted in place (e.g., the episode number is incremented for that and other channel lineups).
That is, programs that are redundant across multiple user configurable custom channels are deleted from all user configurable custom channels (for this user) once viewed on one user configurable custom channel of this user. Programs (content) of one or more user configurable custom channels (for this user) is modified (adjusted) responsive to what is viewed by this user. If random viewing or viewing preferences have been selected for a user configurable custom channel in which automatic deletion of content (programs) occurs following viewing then another program (alternative content) can be inserted in the time period (slot) of the deleted content wherein the insertion occurs responsive to user preferences or a user profile associated. A random episode is selected for insertion if random viewing has been specified and the next episode is selected for insertion if sequential viewing has been specified. A user may have a single profile or the user may have multiple profiles associated with each created user configurable custom channel.
Another feature of the present invention includes the ability to include a “guest” account for the user configurable custom channel created by a user. In this manner, a viewer (someone other than the person who created the user configurable custom channel) may view the programs/episodes in the user configurable custom channel program lineup when the user who created the channel is not present. To initiate the system, the device or service may include a prompt to login (allowing a login as guest) and then may allow access to one or more available user configurable custom channels. A prompt may also confirm that the user or creator of the custom channel is not present (e.g., USER NOT PRESENT?). The receiving device may also include some detection mechanism (e.g., a camera with facial recognition, fingerprint recognition etc.) instead of requiring a login process.
The guest viewer (user) may proceed through the programs/episodes in the user configurable custom channel program lineup, having all of the features and settings described herein for the created user configurable custom channel or in other related disclosures (follow episodes, change lineup, etc.).
Once the “session” or viewing is completed (e.g., based on logging out or timing out), the user configurable custom channel lineup “state” returns to the state when the guest session was started. Any changes to the user configurable custom channel lineup (deletions, additions, etc.) made by the guest user are reversed and removed. As a result, the guest user can benefit from the user configurable custom channel lineup and the original user (creator) of the channel does not lose the condition or “state” that he/she stopped viewing the user configurable custom channel lineup.
The guest login feature of the present invention requires a guest to login and verifies that the original user (creator) of the user configurable custom channel(s) is not present (available) by query, fingerprinting, facial recognition or any other reasonable means. If the primary user (original user, creator) is not present then when the guest user logs off (or times out) then the condition (state) of the user configurable custom channel(s) is/are returned to their original state (condition). In some instances certain guests (previously authorized by the original user, creator) are permitted to modify the user configurable custom channel(s). The guest login may perhaps be extendible to parental controls. That is, the parent could configure a custom channel for a child or children and the children could be considered guests. The parent may then accord one or more children modification privileges for certain of the user configurable custom channels.
An additional feature of the present invention includes incorporating recordings of live broadcast content or programs into the material available for the user configurable custom channel. For example, the user may choose to record content from a broadcast (e.g., on a PVR). In a menu, the user is prompted with the following:
PLACE IN CUSTOM CHANNEL (followed by a list of available user configurable custom channel(s) with check boxes)
ASSIGN A VIEWER PROFILE (followed by a list of available profiles, or new viewer profile with check boxes)
If nothing is selected, the recording is not included or available for user configurable custom channel use. Selecting a box under PLACE IN CUSTOM CHANNEL, places the recorded live content into the selected user configurable custom channel after the program is recorded and either at the top of the queue for the channel lineup or at some point in the future (e.g., at the end of the sequential episodes, or randomly). Any related guide information is also updated. Selecting a box under ASSIGN A VIEWER PROFILE allows the recording to be used in a future created user configurable custom channel based on its profile. The profile may also allow it to be used in a recommendation (e.g., viewing as a trailer).
Additionally, since this is not a program that was streamed, the user may be presented (either at time of recording or at time of viewing) with a user prompt to “save” or “delete” after viewing.
Multiple custom channels may be created by a user (or multiple users). The approach described above still applies and the user(s) may assign separate names to the channels. In addition, “user profiles” or “custom channel profiles” may be created and the custom channels that are created may be assigned to these profiles. These profiles may be created and maintained either by the service account with the provider or as part of the user device (e.g., set top box, etc.).
The concept can be further extended to multiple viewers or multiple users (e.g., users who have created independent custom channels) viewing programs together or merging custom channel lists or viewing the same program/episode at the same time.
The first feature of this concept is to determine the viewers. This may be done through a menu entry (e.g., “More than one viewer” “identify viewers”) or alternately a detection system may be used (e.g., camera facial recognition, fingerprinting or any other biometric screening mechanism, possibly with a menu entry to confirm, etc.). A confirmation may be performed, to confirm the presence and further to acknowledge the feature as described below.
If the feature is enabled, one option would be to identify common content in channel lineups for each user/viewer. For example, if user 1 and user 2 are both present to view a program together, the custom channels for user 1 and user 2 are compared and a common program/episode present in both custom channels may be queued for viewing.
In another approach, an additional menu choice may be added during the custom channel creation that indicates that a program/episode may also be viewed as part of the channel lineup if both user 1 and user 2 are present for viewing. In this manner, a couple may watch “Game of Thrones” episodes only when both are present.
Further, the “paired viewing” described herein may be such that the viewing of a program/episode under these conditions will not influence changes to the custom channel lineup beyond the viewed program/episode. In this manner, the “paired viewing” may remain independent of other (e.g., single) viewing conditions.
Managing multiple users (viewers) includes merging multiple users (viewers) and multiple user configurable custom channels. The merger management includes identification of the users (viewers) by one of a menu for entry of user (viewer) identification, a user query and any form of biometric screening such as a camera and facial recognition, fingerprinting and the like. Once user identification is complete then the common content between the user configurable channels for each of the identified users (viewers) is identified and accessed. Users (viewers) are provided with an option during channel creation to specify multiple users. That is a user configurable channel may only be viewed if all of the identified users (viewers) are present.
If the multiple user feature is enabled, then the lineups in the user configurable custom channels (for each user/viewer) may be altered or changed based on what is viewed and what may be present as duplicate programs or episodes between the user configurable custom channels. In one scenario, when an episode for a program series is viewed while using one custom channel created by a user, duplicates of this episode that appear in the lineup on other custom channels (for the same or other users) created by a user are deleted or changed. If any user has selected random episode viewing for that channel, a new episode may be randomly inserted in place (the episode may be changed if it was in the lineup to viewed in the next x number of episodes, where x could be settable and reasonable, for example, 6 episodes in the lineup). If any user has selected sequential viewing, the next episode may be inserted in place (e.g., the episode number is incremented for that and other channel lineups). That is, program lineups in multiple user configurable custom channels associated with multiple users may be modified based on what content has been viewed. Content that has been viewed may be deleted in the user configurable custom channels of the multiple users. Content in the user configurable custom channels that has already been viewed may be replaced in accordance with user preferences or user profiles associated with each user (viewer) or channel. The content in the user configurable custom channels that has already been viewed will be replaced with random content if the user (viewer) preference/profile specifies “random”. The content in the user configurable custom channels that has already been viewed will be replaced with sequential content if the user (viewer) preference/profile specifies “sequential”.
Special purpose processors may include application specific integrated circuits (ASICs), reduced instruction set computers (RISCs) and/or field programmable gate arrays (FPGAs). Preferably, the present invention is implemented as a combination of hardware and software. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage device. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (CPU), a random access memory (RAM), and input/output (I/O) interface(s). The computer platform also includes an operating system and microinstruction code. The various processes and functions described herein may either be part of the microinstruction code or part of the application program (or a combination thereof), which is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
It is to be further understood that, because some of the constituent system components and method steps depicted in the accompanying figures are preferably implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.